...

Source file src/google.golang.org/api/displayvideo/v2/displayvideo-gen.go

Documentation: google.golang.org/api/displayvideo/v2

     1  // Copyright 2024 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  // # Library status
    12  //
    13  // These client libraries are officially supported by Google. However, this
    14  // library is considered complete and is in maintenance mode. This means
    15  // that we will address critical bugs and security issues but will not add
    16  // any new features.
    17  //
    18  // When possible, we recommend using our newer
    19  // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
    20  // that are still actively being worked and iterated on.
    21  //
    22  // # Creating a client
    23  //
    24  // Usage example:
    25  //
    26  //	import "google.golang.org/api/displayvideo/v2"
    27  //	...
    28  //	ctx := context.Background()
    29  //	displayvideoService, err := displayvideo.NewService(ctx)
    30  //
    31  // In this example, Google Application Default Credentials are used for
    32  // authentication. For information on how to create and obtain Application
    33  // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    34  //
    35  // # Other authentication options
    36  //
    37  // By default, all available scopes (see "Constants") are used to authenticate.
    38  // To restrict scopes, use [google.golang.org/api/option.WithScopes]:
    39  //
    40  //	displayvideoService, err := displayvideo.NewService(ctx, option.WithScopes(displayvideo.DoubleclickbidmanagerScope))
    41  //
    42  // To use an API key for authentication (note: some APIs do not support API
    43  // keys), use [google.golang.org/api/option.WithAPIKey]:
    44  //
    45  //	displayvideoService, err := displayvideo.NewService(ctx, option.WithAPIKey("AIza..."))
    46  //
    47  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth
    48  // flow, use [google.golang.org/api/option.WithTokenSource]:
    49  //
    50  //	config := &oauth2.Config{...}
    51  //	// ...
    52  //	token, err := config.Exchange(ctx, ...)
    53  //	displayvideoService, err := displayvideo.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    54  //
    55  // See [google.golang.org/api/option.ClientOption] for details on options.
    56  package displayvideo // import "google.golang.org/api/displayvideo/v2"
    57  
    58  import (
    59  	"bytes"
    60  	"context"
    61  	"encoding/json"
    62  	"errors"
    63  	"fmt"
    64  	"io"
    65  	"net/http"
    66  	"net/url"
    67  	"strconv"
    68  	"strings"
    69  
    70  	googleapi "google.golang.org/api/googleapi"
    71  	internal "google.golang.org/api/internal"
    72  	gensupport "google.golang.org/api/internal/gensupport"
    73  	option "google.golang.org/api/option"
    74  	internaloption "google.golang.org/api/option/internaloption"
    75  	htransport "google.golang.org/api/transport/http"
    76  )
    77  
    78  // Always reference these packages, just in case the auto-generated code
    79  // below doesn't.
    80  var _ = bytes.NewBuffer
    81  var _ = strconv.Itoa
    82  var _ = fmt.Sprintf
    83  var _ = json.NewDecoder
    84  var _ = io.Copy
    85  var _ = url.Parse
    86  var _ = gensupport.MarshalJSON
    87  var _ = googleapi.Version
    88  var _ = errors.New
    89  var _ = strings.Replace
    90  var _ = context.Canceled
    91  var _ = internaloption.WithDefaultEndpoint
    92  var _ = internal.Version
    93  
    94  const apiId = "displayvideo:v2"
    95  const apiName = "displayvideo"
    96  const apiVersion = "v2"
    97  const basePath = "https://displayvideo.googleapis.com/"
    98  const basePathTemplate = "https://displayvideo.UNIVERSE_DOMAIN/"
    99  const mtlsBasePath = "https://displayvideo.mtls.googleapis.com/"
   100  
   101  // OAuth2 scopes used by this API.
   102  const (
   103  	// Create, see, edit, and permanently delete your Display & Video 360 entities
   104  	// and reports
   105  	DisplayVideoScope = "https://www.googleapis.com/auth/display-video"
   106  
   107  	// Create, see, and edit Display & Video 360 Campaign entities and see billing
   108  	// invoices
   109  	DisplayVideoMediaplanningScope = "https://www.googleapis.com/auth/display-video-mediaplanning"
   110  
   111  	// Private Service:
   112  	// https://www.googleapis.com/auth/display-video-user-management
   113  	DisplayVideoUserManagementScope = "https://www.googleapis.com/auth/display-video-user-management"
   114  
   115  	// View and manage your reports in DoubleClick Bid Manager
   116  	DoubleclickbidmanagerScope = "https://www.googleapis.com/auth/doubleclickbidmanager"
   117  )
   118  
   119  // NewService creates a new Service.
   120  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   121  	scopesOption := internaloption.WithDefaultScopes(
   122  		"https://www.googleapis.com/auth/display-video",
   123  		"https://www.googleapis.com/auth/display-video-mediaplanning",
   124  		"https://www.googleapis.com/auth/display-video-user-management",
   125  		"https://www.googleapis.com/auth/doubleclickbidmanager",
   126  	)
   127  	// NOTE: prepend, so we don't override user-specified scopes.
   128  	opts = append([]option.ClientOption{scopesOption}, opts...)
   129  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   130  	opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate))
   131  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   132  	opts = append(opts, internaloption.EnableNewAuthLibrary())
   133  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   134  	if err != nil {
   135  		return nil, err
   136  	}
   137  	s, err := New(client)
   138  	if err != nil {
   139  		return nil, err
   140  	}
   141  	if endpoint != "" {
   142  		s.BasePath = endpoint
   143  	}
   144  	return s, nil
   145  }
   146  
   147  // New creates a new Service. It uses the provided http.Client for requests.
   148  //
   149  // Deprecated: please use NewService instead.
   150  // To provide a custom HTTP client, use option.WithHTTPClient.
   151  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   152  func New(client *http.Client) (*Service, error) {
   153  	if client == nil {
   154  		return nil, errors.New("client is nil")
   155  	}
   156  	s := &Service{client: client, BasePath: basePath}
   157  	s.Advertisers = NewAdvertisersService(s)
   158  	s.CombinedAudiences = NewCombinedAudiencesService(s)
   159  	s.CustomBiddingAlgorithms = NewCustomBiddingAlgorithmsService(s)
   160  	s.CustomLists = NewCustomListsService(s)
   161  	s.FirstAndThirdPartyAudiences = NewFirstAndThirdPartyAudiencesService(s)
   162  	s.FloodlightGroups = NewFloodlightGroupsService(s)
   163  	s.GoogleAudiences = NewGoogleAudiencesService(s)
   164  	s.GuaranteedOrders = NewGuaranteedOrdersService(s)
   165  	s.InventorySourceGroups = NewInventorySourceGroupsService(s)
   166  	s.InventorySources = NewInventorySourcesService(s)
   167  	s.Media = NewMediaService(s)
   168  	s.Partners = NewPartnersService(s)
   169  	s.Sdfdownloadtasks = NewSdfdownloadtasksService(s)
   170  	s.TargetingTypes = NewTargetingTypesService(s)
   171  	s.Users = NewUsersService(s)
   172  	return s, nil
   173  }
   174  
   175  type Service struct {
   176  	client    *http.Client
   177  	BasePath  string // API endpoint base URL
   178  	UserAgent string // optional additional User-Agent fragment
   179  
   180  	Advertisers *AdvertisersService
   181  
   182  	CombinedAudiences *CombinedAudiencesService
   183  
   184  	CustomBiddingAlgorithms *CustomBiddingAlgorithmsService
   185  
   186  	CustomLists *CustomListsService
   187  
   188  	FirstAndThirdPartyAudiences *FirstAndThirdPartyAudiencesService
   189  
   190  	FloodlightGroups *FloodlightGroupsService
   191  
   192  	GoogleAudiences *GoogleAudiencesService
   193  
   194  	GuaranteedOrders *GuaranteedOrdersService
   195  
   196  	InventorySourceGroups *InventorySourceGroupsService
   197  
   198  	InventorySources *InventorySourcesService
   199  
   200  	Media *MediaService
   201  
   202  	Partners *PartnersService
   203  
   204  	Sdfdownloadtasks *SdfdownloadtasksService
   205  
   206  	TargetingTypes *TargetingTypesService
   207  
   208  	Users *UsersService
   209  }
   210  
   211  func (s *Service) userAgent() string {
   212  	if s.UserAgent == "" {
   213  		return googleapi.UserAgent
   214  	}
   215  	return googleapi.UserAgent + " " + s.UserAgent
   216  }
   217  
   218  func NewAdvertisersService(s *Service) *AdvertisersService {
   219  	rs := &AdvertisersService{s: s}
   220  	rs.Assets = NewAdvertisersAssetsService(s)
   221  	rs.Campaigns = NewAdvertisersCampaignsService(s)
   222  	rs.Channels = NewAdvertisersChannelsService(s)
   223  	rs.Creatives = NewAdvertisersCreativesService(s)
   224  	rs.InsertionOrders = NewAdvertisersInsertionOrdersService(s)
   225  	rs.Invoices = NewAdvertisersInvoicesService(s)
   226  	rs.LineItems = NewAdvertisersLineItemsService(s)
   227  	rs.LocationLists = NewAdvertisersLocationListsService(s)
   228  	rs.ManualTriggers = NewAdvertisersManualTriggersService(s)
   229  	rs.NegativeKeywordLists = NewAdvertisersNegativeKeywordListsService(s)
   230  	rs.TargetingTypes = NewAdvertisersTargetingTypesService(s)
   231  	rs.YoutubeAdGroupAds = NewAdvertisersYoutubeAdGroupAdsService(s)
   232  	rs.YoutubeAdGroups = NewAdvertisersYoutubeAdGroupsService(s)
   233  	return rs
   234  }
   235  
   236  type AdvertisersService struct {
   237  	s *Service
   238  
   239  	Assets *AdvertisersAssetsService
   240  
   241  	Campaigns *AdvertisersCampaignsService
   242  
   243  	Channels *AdvertisersChannelsService
   244  
   245  	Creatives *AdvertisersCreativesService
   246  
   247  	InsertionOrders *AdvertisersInsertionOrdersService
   248  
   249  	Invoices *AdvertisersInvoicesService
   250  
   251  	LineItems *AdvertisersLineItemsService
   252  
   253  	LocationLists *AdvertisersLocationListsService
   254  
   255  	ManualTriggers *AdvertisersManualTriggersService
   256  
   257  	NegativeKeywordLists *AdvertisersNegativeKeywordListsService
   258  
   259  	TargetingTypes *AdvertisersTargetingTypesService
   260  
   261  	YoutubeAdGroupAds *AdvertisersYoutubeAdGroupAdsService
   262  
   263  	YoutubeAdGroups *AdvertisersYoutubeAdGroupsService
   264  }
   265  
   266  func NewAdvertisersAssetsService(s *Service) *AdvertisersAssetsService {
   267  	rs := &AdvertisersAssetsService{s: s}
   268  	return rs
   269  }
   270  
   271  type AdvertisersAssetsService struct {
   272  	s *Service
   273  }
   274  
   275  func NewAdvertisersCampaignsService(s *Service) *AdvertisersCampaignsService {
   276  	rs := &AdvertisersCampaignsService{s: s}
   277  	rs.TargetingTypes = NewAdvertisersCampaignsTargetingTypesService(s)
   278  	return rs
   279  }
   280  
   281  type AdvertisersCampaignsService struct {
   282  	s *Service
   283  
   284  	TargetingTypes *AdvertisersCampaignsTargetingTypesService
   285  }
   286  
   287  func NewAdvertisersCampaignsTargetingTypesService(s *Service) *AdvertisersCampaignsTargetingTypesService {
   288  	rs := &AdvertisersCampaignsTargetingTypesService{s: s}
   289  	rs.AssignedTargetingOptions = NewAdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService(s)
   290  	return rs
   291  }
   292  
   293  type AdvertisersCampaignsTargetingTypesService struct {
   294  	s *Service
   295  
   296  	AssignedTargetingOptions *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService
   297  }
   298  
   299  func NewAdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService {
   300  	rs := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService{s: s}
   301  	return rs
   302  }
   303  
   304  type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService struct {
   305  	s *Service
   306  }
   307  
   308  func NewAdvertisersChannelsService(s *Service) *AdvertisersChannelsService {
   309  	rs := &AdvertisersChannelsService{s: s}
   310  	rs.Sites = NewAdvertisersChannelsSitesService(s)
   311  	return rs
   312  }
   313  
   314  type AdvertisersChannelsService struct {
   315  	s *Service
   316  
   317  	Sites *AdvertisersChannelsSitesService
   318  }
   319  
   320  func NewAdvertisersChannelsSitesService(s *Service) *AdvertisersChannelsSitesService {
   321  	rs := &AdvertisersChannelsSitesService{s: s}
   322  	return rs
   323  }
   324  
   325  type AdvertisersChannelsSitesService struct {
   326  	s *Service
   327  }
   328  
   329  func NewAdvertisersCreativesService(s *Service) *AdvertisersCreativesService {
   330  	rs := &AdvertisersCreativesService{s: s}
   331  	return rs
   332  }
   333  
   334  type AdvertisersCreativesService struct {
   335  	s *Service
   336  }
   337  
   338  func NewAdvertisersInsertionOrdersService(s *Service) *AdvertisersInsertionOrdersService {
   339  	rs := &AdvertisersInsertionOrdersService{s: s}
   340  	rs.TargetingTypes = NewAdvertisersInsertionOrdersTargetingTypesService(s)
   341  	return rs
   342  }
   343  
   344  type AdvertisersInsertionOrdersService struct {
   345  	s *Service
   346  
   347  	TargetingTypes *AdvertisersInsertionOrdersTargetingTypesService
   348  }
   349  
   350  func NewAdvertisersInsertionOrdersTargetingTypesService(s *Service) *AdvertisersInsertionOrdersTargetingTypesService {
   351  	rs := &AdvertisersInsertionOrdersTargetingTypesService{s: s}
   352  	rs.AssignedTargetingOptions = NewAdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService(s)
   353  	return rs
   354  }
   355  
   356  type AdvertisersInsertionOrdersTargetingTypesService struct {
   357  	s *Service
   358  
   359  	AssignedTargetingOptions *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService
   360  }
   361  
   362  func NewAdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService {
   363  	rs := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService{s: s}
   364  	return rs
   365  }
   366  
   367  type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService struct {
   368  	s *Service
   369  }
   370  
   371  func NewAdvertisersInvoicesService(s *Service) *AdvertisersInvoicesService {
   372  	rs := &AdvertisersInvoicesService{s: s}
   373  	return rs
   374  }
   375  
   376  type AdvertisersInvoicesService struct {
   377  	s *Service
   378  }
   379  
   380  func NewAdvertisersLineItemsService(s *Service) *AdvertisersLineItemsService {
   381  	rs := &AdvertisersLineItemsService{s: s}
   382  	rs.TargetingTypes = NewAdvertisersLineItemsTargetingTypesService(s)
   383  	return rs
   384  }
   385  
   386  type AdvertisersLineItemsService struct {
   387  	s *Service
   388  
   389  	TargetingTypes *AdvertisersLineItemsTargetingTypesService
   390  }
   391  
   392  func NewAdvertisersLineItemsTargetingTypesService(s *Service) *AdvertisersLineItemsTargetingTypesService {
   393  	rs := &AdvertisersLineItemsTargetingTypesService{s: s}
   394  	rs.AssignedTargetingOptions = NewAdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService(s)
   395  	return rs
   396  }
   397  
   398  type AdvertisersLineItemsTargetingTypesService struct {
   399  	s *Service
   400  
   401  	AssignedTargetingOptions *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService
   402  }
   403  
   404  func NewAdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService {
   405  	rs := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService{s: s}
   406  	return rs
   407  }
   408  
   409  type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService struct {
   410  	s *Service
   411  }
   412  
   413  func NewAdvertisersLocationListsService(s *Service) *AdvertisersLocationListsService {
   414  	rs := &AdvertisersLocationListsService{s: s}
   415  	rs.AssignedLocations = NewAdvertisersLocationListsAssignedLocationsService(s)
   416  	return rs
   417  }
   418  
   419  type AdvertisersLocationListsService struct {
   420  	s *Service
   421  
   422  	AssignedLocations *AdvertisersLocationListsAssignedLocationsService
   423  }
   424  
   425  func NewAdvertisersLocationListsAssignedLocationsService(s *Service) *AdvertisersLocationListsAssignedLocationsService {
   426  	rs := &AdvertisersLocationListsAssignedLocationsService{s: s}
   427  	return rs
   428  }
   429  
   430  type AdvertisersLocationListsAssignedLocationsService struct {
   431  	s *Service
   432  }
   433  
   434  func NewAdvertisersManualTriggersService(s *Service) *AdvertisersManualTriggersService {
   435  	rs := &AdvertisersManualTriggersService{s: s}
   436  	return rs
   437  }
   438  
   439  type AdvertisersManualTriggersService struct {
   440  	s *Service
   441  }
   442  
   443  func NewAdvertisersNegativeKeywordListsService(s *Service) *AdvertisersNegativeKeywordListsService {
   444  	rs := &AdvertisersNegativeKeywordListsService{s: s}
   445  	rs.NegativeKeywords = NewAdvertisersNegativeKeywordListsNegativeKeywordsService(s)
   446  	return rs
   447  }
   448  
   449  type AdvertisersNegativeKeywordListsService struct {
   450  	s *Service
   451  
   452  	NegativeKeywords *AdvertisersNegativeKeywordListsNegativeKeywordsService
   453  }
   454  
   455  func NewAdvertisersNegativeKeywordListsNegativeKeywordsService(s *Service) *AdvertisersNegativeKeywordListsNegativeKeywordsService {
   456  	rs := &AdvertisersNegativeKeywordListsNegativeKeywordsService{s: s}
   457  	return rs
   458  }
   459  
   460  type AdvertisersNegativeKeywordListsNegativeKeywordsService struct {
   461  	s *Service
   462  }
   463  
   464  func NewAdvertisersTargetingTypesService(s *Service) *AdvertisersTargetingTypesService {
   465  	rs := &AdvertisersTargetingTypesService{s: s}
   466  	rs.AssignedTargetingOptions = NewAdvertisersTargetingTypesAssignedTargetingOptionsService(s)
   467  	return rs
   468  }
   469  
   470  type AdvertisersTargetingTypesService struct {
   471  	s *Service
   472  
   473  	AssignedTargetingOptions *AdvertisersTargetingTypesAssignedTargetingOptionsService
   474  }
   475  
   476  func NewAdvertisersTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersTargetingTypesAssignedTargetingOptionsService {
   477  	rs := &AdvertisersTargetingTypesAssignedTargetingOptionsService{s: s}
   478  	return rs
   479  }
   480  
   481  type AdvertisersTargetingTypesAssignedTargetingOptionsService struct {
   482  	s *Service
   483  }
   484  
   485  func NewAdvertisersYoutubeAdGroupAdsService(s *Service) *AdvertisersYoutubeAdGroupAdsService {
   486  	rs := &AdvertisersYoutubeAdGroupAdsService{s: s}
   487  	return rs
   488  }
   489  
   490  type AdvertisersYoutubeAdGroupAdsService struct {
   491  	s *Service
   492  }
   493  
   494  func NewAdvertisersYoutubeAdGroupsService(s *Service) *AdvertisersYoutubeAdGroupsService {
   495  	rs := &AdvertisersYoutubeAdGroupsService{s: s}
   496  	rs.TargetingTypes = NewAdvertisersYoutubeAdGroupsTargetingTypesService(s)
   497  	return rs
   498  }
   499  
   500  type AdvertisersYoutubeAdGroupsService struct {
   501  	s *Service
   502  
   503  	TargetingTypes *AdvertisersYoutubeAdGroupsTargetingTypesService
   504  }
   505  
   506  func NewAdvertisersYoutubeAdGroupsTargetingTypesService(s *Service) *AdvertisersYoutubeAdGroupsTargetingTypesService {
   507  	rs := &AdvertisersYoutubeAdGroupsTargetingTypesService{s: s}
   508  	rs.AssignedTargetingOptions = NewAdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService(s)
   509  	return rs
   510  }
   511  
   512  type AdvertisersYoutubeAdGroupsTargetingTypesService struct {
   513  	s *Service
   514  
   515  	AssignedTargetingOptions *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService
   516  }
   517  
   518  func NewAdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService {
   519  	rs := &AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService{s: s}
   520  	return rs
   521  }
   522  
   523  type AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService struct {
   524  	s *Service
   525  }
   526  
   527  func NewCombinedAudiencesService(s *Service) *CombinedAudiencesService {
   528  	rs := &CombinedAudiencesService{s: s}
   529  	return rs
   530  }
   531  
   532  type CombinedAudiencesService struct {
   533  	s *Service
   534  }
   535  
   536  func NewCustomBiddingAlgorithmsService(s *Service) *CustomBiddingAlgorithmsService {
   537  	rs := &CustomBiddingAlgorithmsService{s: s}
   538  	rs.Scripts = NewCustomBiddingAlgorithmsScriptsService(s)
   539  	return rs
   540  }
   541  
   542  type CustomBiddingAlgorithmsService struct {
   543  	s *Service
   544  
   545  	Scripts *CustomBiddingAlgorithmsScriptsService
   546  }
   547  
   548  func NewCustomBiddingAlgorithmsScriptsService(s *Service) *CustomBiddingAlgorithmsScriptsService {
   549  	rs := &CustomBiddingAlgorithmsScriptsService{s: s}
   550  	return rs
   551  }
   552  
   553  type CustomBiddingAlgorithmsScriptsService struct {
   554  	s *Service
   555  }
   556  
   557  func NewCustomListsService(s *Service) *CustomListsService {
   558  	rs := &CustomListsService{s: s}
   559  	return rs
   560  }
   561  
   562  type CustomListsService struct {
   563  	s *Service
   564  }
   565  
   566  func NewFirstAndThirdPartyAudiencesService(s *Service) *FirstAndThirdPartyAudiencesService {
   567  	rs := &FirstAndThirdPartyAudiencesService{s: s}
   568  	return rs
   569  }
   570  
   571  type FirstAndThirdPartyAudiencesService struct {
   572  	s *Service
   573  }
   574  
   575  func NewFloodlightGroupsService(s *Service) *FloodlightGroupsService {
   576  	rs := &FloodlightGroupsService{s: s}
   577  	rs.FloodlightActivities = NewFloodlightGroupsFloodlightActivitiesService(s)
   578  	return rs
   579  }
   580  
   581  type FloodlightGroupsService struct {
   582  	s *Service
   583  
   584  	FloodlightActivities *FloodlightGroupsFloodlightActivitiesService
   585  }
   586  
   587  func NewFloodlightGroupsFloodlightActivitiesService(s *Service) *FloodlightGroupsFloodlightActivitiesService {
   588  	rs := &FloodlightGroupsFloodlightActivitiesService{s: s}
   589  	return rs
   590  }
   591  
   592  type FloodlightGroupsFloodlightActivitiesService struct {
   593  	s *Service
   594  }
   595  
   596  func NewGoogleAudiencesService(s *Service) *GoogleAudiencesService {
   597  	rs := &GoogleAudiencesService{s: s}
   598  	return rs
   599  }
   600  
   601  type GoogleAudiencesService struct {
   602  	s *Service
   603  }
   604  
   605  func NewGuaranteedOrdersService(s *Service) *GuaranteedOrdersService {
   606  	rs := &GuaranteedOrdersService{s: s}
   607  	return rs
   608  }
   609  
   610  type GuaranteedOrdersService struct {
   611  	s *Service
   612  }
   613  
   614  func NewInventorySourceGroupsService(s *Service) *InventorySourceGroupsService {
   615  	rs := &InventorySourceGroupsService{s: s}
   616  	rs.AssignedInventorySources = NewInventorySourceGroupsAssignedInventorySourcesService(s)
   617  	return rs
   618  }
   619  
   620  type InventorySourceGroupsService struct {
   621  	s *Service
   622  
   623  	AssignedInventorySources *InventorySourceGroupsAssignedInventorySourcesService
   624  }
   625  
   626  func NewInventorySourceGroupsAssignedInventorySourcesService(s *Service) *InventorySourceGroupsAssignedInventorySourcesService {
   627  	rs := &InventorySourceGroupsAssignedInventorySourcesService{s: s}
   628  	return rs
   629  }
   630  
   631  type InventorySourceGroupsAssignedInventorySourcesService struct {
   632  	s *Service
   633  }
   634  
   635  func NewInventorySourcesService(s *Service) *InventorySourcesService {
   636  	rs := &InventorySourcesService{s: s}
   637  	return rs
   638  }
   639  
   640  type InventorySourcesService struct {
   641  	s *Service
   642  }
   643  
   644  func NewMediaService(s *Service) *MediaService {
   645  	rs := &MediaService{s: s}
   646  	return rs
   647  }
   648  
   649  type MediaService struct {
   650  	s *Service
   651  }
   652  
   653  func NewPartnersService(s *Service) *PartnersService {
   654  	rs := &PartnersService{s: s}
   655  	rs.Channels = NewPartnersChannelsService(s)
   656  	rs.TargetingTypes = NewPartnersTargetingTypesService(s)
   657  	return rs
   658  }
   659  
   660  type PartnersService struct {
   661  	s *Service
   662  
   663  	Channels *PartnersChannelsService
   664  
   665  	TargetingTypes *PartnersTargetingTypesService
   666  }
   667  
   668  func NewPartnersChannelsService(s *Service) *PartnersChannelsService {
   669  	rs := &PartnersChannelsService{s: s}
   670  	rs.Sites = NewPartnersChannelsSitesService(s)
   671  	return rs
   672  }
   673  
   674  type PartnersChannelsService struct {
   675  	s *Service
   676  
   677  	Sites *PartnersChannelsSitesService
   678  }
   679  
   680  func NewPartnersChannelsSitesService(s *Service) *PartnersChannelsSitesService {
   681  	rs := &PartnersChannelsSitesService{s: s}
   682  	return rs
   683  }
   684  
   685  type PartnersChannelsSitesService struct {
   686  	s *Service
   687  }
   688  
   689  func NewPartnersTargetingTypesService(s *Service) *PartnersTargetingTypesService {
   690  	rs := &PartnersTargetingTypesService{s: s}
   691  	rs.AssignedTargetingOptions = NewPartnersTargetingTypesAssignedTargetingOptionsService(s)
   692  	return rs
   693  }
   694  
   695  type PartnersTargetingTypesService struct {
   696  	s *Service
   697  
   698  	AssignedTargetingOptions *PartnersTargetingTypesAssignedTargetingOptionsService
   699  }
   700  
   701  func NewPartnersTargetingTypesAssignedTargetingOptionsService(s *Service) *PartnersTargetingTypesAssignedTargetingOptionsService {
   702  	rs := &PartnersTargetingTypesAssignedTargetingOptionsService{s: s}
   703  	return rs
   704  }
   705  
   706  type PartnersTargetingTypesAssignedTargetingOptionsService struct {
   707  	s *Service
   708  }
   709  
   710  func NewSdfdownloadtasksService(s *Service) *SdfdownloadtasksService {
   711  	rs := &SdfdownloadtasksService{s: s}
   712  	rs.Operations = NewSdfdownloadtasksOperationsService(s)
   713  	return rs
   714  }
   715  
   716  type SdfdownloadtasksService struct {
   717  	s *Service
   718  
   719  	Operations *SdfdownloadtasksOperationsService
   720  }
   721  
   722  func NewSdfdownloadtasksOperationsService(s *Service) *SdfdownloadtasksOperationsService {
   723  	rs := &SdfdownloadtasksOperationsService{s: s}
   724  	return rs
   725  }
   726  
   727  type SdfdownloadtasksOperationsService struct {
   728  	s *Service
   729  }
   730  
   731  func NewTargetingTypesService(s *Service) *TargetingTypesService {
   732  	rs := &TargetingTypesService{s: s}
   733  	rs.TargetingOptions = NewTargetingTypesTargetingOptionsService(s)
   734  	return rs
   735  }
   736  
   737  type TargetingTypesService struct {
   738  	s *Service
   739  
   740  	TargetingOptions *TargetingTypesTargetingOptionsService
   741  }
   742  
   743  func NewTargetingTypesTargetingOptionsService(s *Service) *TargetingTypesTargetingOptionsService {
   744  	rs := &TargetingTypesTargetingOptionsService{s: s}
   745  	return rs
   746  }
   747  
   748  type TargetingTypesTargetingOptionsService struct {
   749  	s *Service
   750  }
   751  
   752  func NewUsersService(s *Service) *UsersService {
   753  	rs := &UsersService{s: s}
   754  	return rs
   755  }
   756  
   757  type UsersService struct {
   758  	s *Service
   759  }
   760  
   761  // ActivateManualTriggerRequest: Request message for
   762  // ManualTriggerService.ActivateManualTrigger.
   763  type ActivateManualTriggerRequest struct {
   764  }
   765  
   766  // ActiveViewVideoViewabilityMetricConfig: Configuration for custom Active View
   767  // video viewability metrics.
   768  type ActiveViewVideoViewabilityMetricConfig struct {
   769  	// DisplayName: Required. The display name of the custom metric.
   770  	DisplayName string `json:"displayName,omitempty"`
   771  	// MinimumDuration: The minimum visible video duration required (in seconds) in
   772  	// order for an impression to be recorded. You must specify minimum_duration,
   773  	// minimum_quartile or both. If both are specified, an impression meets the
   774  	// metric criteria if either requirement is met (whichever happens first).
   775  	//
   776  	// Possible values:
   777  	//   "VIDEO_DURATION_UNSPECIFIED" - Value is not specified or is unknown in
   778  	// this version.
   779  	//   "VIDEO_DURATION_SECONDS_NONE" - No duration value.
   780  	//   "VIDEO_DURATION_SECONDS_0" - 0 seconds.
   781  	//   "VIDEO_DURATION_SECONDS_1" - 1 second.
   782  	//   "VIDEO_DURATION_SECONDS_2" - 2 seconds.
   783  	//   "VIDEO_DURATION_SECONDS_3" - 3 seconds.
   784  	//   "VIDEO_DURATION_SECONDS_4" - 4 seconds.
   785  	//   "VIDEO_DURATION_SECONDS_5" - 5 seconds.
   786  	//   "VIDEO_DURATION_SECONDS_6" - 6 seconds.
   787  	//   "VIDEO_DURATION_SECONDS_7" - 7 seconds.
   788  	//   "VIDEO_DURATION_SECONDS_8" - 8 seconds.
   789  	//   "VIDEO_DURATION_SECONDS_9" - 9 seconds.
   790  	//   "VIDEO_DURATION_SECONDS_10" - 10 seconds.
   791  	//   "VIDEO_DURATION_SECONDS_11" - 11 seconds.
   792  	//   "VIDEO_DURATION_SECONDS_12" - 12 seconds.
   793  	//   "VIDEO_DURATION_SECONDS_13" - 13 seconds.
   794  	//   "VIDEO_DURATION_SECONDS_14" - 14 seconds.
   795  	//   "VIDEO_DURATION_SECONDS_15" - 15 seconds.
   796  	//   "VIDEO_DURATION_SECONDS_30" - 30 seconds.
   797  	//   "VIDEO_DURATION_SECONDS_45" - 45 seconds.
   798  	//   "VIDEO_DURATION_SECONDS_60" - 60 seconds.
   799  	MinimumDuration string `json:"minimumDuration,omitempty"`
   800  	// MinimumQuartile: The minimum visible video duration required, based on the
   801  	// video quartiles, in order for an impression to be recorded. You must specify
   802  	// minimum_duration, minimum_quartile or both. If both are specified, an
   803  	// impression meets the metric criteria if either requirement is met (whichever
   804  	// happens first).
   805  	//
   806  	// Possible values:
   807  	//   "VIDEO_DURATION_QUARTILE_UNSPECIFIED" - Value is not specified or is
   808  	// unknown in this version.
   809  	//   "VIDEO_DURATION_QUARTILE_NONE" - No quartile value.
   810  	//   "VIDEO_DURATION_QUARTILE_FIRST" - First quartile.
   811  	//   "VIDEO_DURATION_QUARTILE_SECOND" - Second quartile (midpoint).
   812  	//   "VIDEO_DURATION_QUARTILE_THIRD" - Third quartile.
   813  	//   "VIDEO_DURATION_QUARTILE_FOURTH" - Fourth quartile (completion).
   814  	MinimumQuartile string `json:"minimumQuartile,omitempty"`
   815  	// MinimumViewability: Required. The minimum percentage of the video ad's
   816  	// pixels visible on the screen in order for an impression to be recorded.
   817  	//
   818  	// Possible values:
   819  	//   "VIEWABILITY_PERCENT_UNSPECIFIED" - Value is not specified or is unknown
   820  	// in this version.
   821  	//   "VIEWABILITY_PERCENT_0" - 0% viewable.
   822  	//   "VIEWABILITY_PERCENT_25" - 25% viewable.
   823  	//   "VIEWABILITY_PERCENT_50" - 50% viewable.
   824  	//   "VIEWABILITY_PERCENT_75" - 75% viewable.
   825  	//   "VIEWABILITY_PERCENT_100" - 100% viewable.
   826  	MinimumViewability string `json:"minimumViewability,omitempty"`
   827  	// MinimumVolume: Required. The minimum percentage of the video ad's volume
   828  	// required in order for an impression to be recorded.
   829  	//
   830  	// Possible values:
   831  	//   "VIDEO_VOLUME_PERCENT_UNSPECIFIED" - Value is not specified or is unknown
   832  	// in this version.
   833  	//   "VIDEO_VOLUME_PERCENT_0" - 0% volume.
   834  	//   "VIDEO_VOLUME_PERCENT_10" - 10% volume.
   835  	MinimumVolume string `json:"minimumVolume,omitempty"`
   836  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
   837  	// unconditionally include in API requests. By default, fields with empty or
   838  	// default values are omitted from API requests. See
   839  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   840  	// details.
   841  	ForceSendFields []string `json:"-"`
   842  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
   843  	// requests with the JSON null value. By default, fields with empty values are
   844  	// omitted from API requests. See
   845  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   846  	NullFields []string `json:"-"`
   847  }
   848  
   849  func (s *ActiveViewVideoViewabilityMetricConfig) MarshalJSON() ([]byte, error) {
   850  	type NoMethod ActiveViewVideoViewabilityMetricConfig
   851  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   852  }
   853  
   854  // AdUrl: Additional URLs related to the ad, including beacons.
   855  type AdUrl struct {
   856  	// Type: The type of the Ad URL.
   857  	//
   858  	// Possible values:
   859  	//   "AD_URL_TYPE_UNSPECIFIED" - Unknown or unspecified.
   860  	//   "AD_URL_TYPE_BEACON_IMPRESSION" - A 1x1 tracking pixel to ping when an
   861  	// impression of a creative is delivered.
   862  	//   "AD_URL_TYPE_BEACON_EXPANDABLE_DCM_IMPRESSION" - Expandable DCM impression
   863  	// beacon. At serving time, it is expanded to several beacons.
   864  	//   "AD_URL_TYPE_BEACON_CLICK" - Tracking URL to ping when the click event is
   865  	// triggered.
   866  	//   "AD_URL_TYPE_BEACON_SKIP" - Tracking URL to ping when the skip event is
   867  	// triggered.
   868  	Type string `json:"type,omitempty"`
   869  	// Url: The URL string value.
   870  	Url string `json:"url,omitempty"`
   871  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
   872  	// include in API requests. By default, fields with empty or default values are
   873  	// omitted from API requests. See
   874  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   875  	// details.
   876  	ForceSendFields []string `json:"-"`
   877  	// NullFields is a list of field names (e.g. "Type") to include in API requests
   878  	// with the JSON null value. By default, fields with empty values are omitted
   879  	// from API requests. See
   880  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   881  	NullFields []string `json:"-"`
   882  }
   883  
   884  func (s *AdUrl) MarshalJSON() ([]byte, error) {
   885  	type NoMethod AdUrl
   886  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   887  }
   888  
   889  // Adloox: Details of Adloox settings.
   890  type Adloox struct {
   891  	// ExcludedAdlooxCategories: Adloox's brand safety settings.
   892  	//
   893  	// Possible values:
   894  	//   "ADLOOX_UNSPECIFIED" - This enum is only a placeholder and it doesn't
   895  	// specify any Adloox option.
   896  	//   "ADULT_CONTENT_HARD" - Adult content (hard).
   897  	//   "ADULT_CONTENT_SOFT" - Adult content (soft).
   898  	//   "ILLEGAL_CONTENT" - Illegal content.
   899  	//   "BORDERLINE_CONTENT" - Borderline content.
   900  	//   "DISCRIMINATORY_CONTENT" - Discriminatory content.
   901  	//   "VIOLENT_CONTENT_WEAPONS" - Violent content & weapons.
   902  	//   "LOW_VIEWABILITY_DOMAINS" - Low viewability domains.
   903  	//   "FRAUD" - Fraud.
   904  	ExcludedAdlooxCategories []string `json:"excludedAdlooxCategories,omitempty"`
   905  	// ForceSendFields is a list of field names (e.g. "ExcludedAdlooxCategories")
   906  	// to unconditionally include in API requests. By default, fields with empty or
   907  	// default values are omitted from API requests. See
   908  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   909  	// details.
   910  	ForceSendFields []string `json:"-"`
   911  	// NullFields is a list of field names (e.g. "ExcludedAdlooxCategories") to
   912  	// include in API requests with the JSON null value. By default, fields with
   913  	// empty values are omitted from API requests. See
   914  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   915  	NullFields []string `json:"-"`
   916  }
   917  
   918  func (s *Adloox) MarshalJSON() ([]byte, error) {
   919  	type NoMethod Adloox
   920  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   921  }
   922  
   923  // Advertiser: A single advertiser in Display & Video 360 (DV360).
   924  type Advertiser struct {
   925  	// AdServerConfig: Required. Immutable. Ad server related settings of the
   926  	// advertiser.
   927  	AdServerConfig *AdvertiserAdServerConfig `json:"adServerConfig,omitempty"`
   928  	// AdvertiserId: Output only. The unique ID of the advertiser. Assigned by the
   929  	// system.
   930  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
   931  	// BillingConfig: Optional. Required. Billing related settings of the
   932  	// advertiser.
   933  	BillingConfig *AdvertiserBillingConfig `json:"billingConfig,omitempty"`
   934  	// CreativeConfig: Required. Creative related settings of the advertiser.
   935  	CreativeConfig *AdvertiserCreativeConfig `json:"creativeConfig,omitempty"`
   936  	// DataAccessConfig: Settings that control how advertiser data may be accessed.
   937  	DataAccessConfig *AdvertiserDataAccessConfig `json:"dataAccessConfig,omitempty"`
   938  	// DisplayName: Required. The display name of the advertiser. Must be UTF-8
   939  	// encoded with a maximum size of 240 bytes.
   940  	DisplayName string `json:"displayName,omitempty"`
   941  	// EntityStatus: Required. Controls whether or not insertion orders and line
   942  	// items of the advertiser can spend their budgets and bid on inventory. *
   943  	// Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_PAUSED` and
   944  	// `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to
   945  	// `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30
   946  	// days from when it was first scheduled for deletion.
   947  	//
   948  	// Possible values:
   949  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
   950  	// or is unknown in this version.
   951  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
   952  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
   953  	// spending are disabled. An entity can be deleted after archived. Deleted
   954  	// entities cannot be retrieved.
   955  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
   956  	// spending are disabled.
   957  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
   958  	// entity.
   959  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
   960  	// deletion.
   961  	EntityStatus string `json:"entityStatus,omitempty"`
   962  	// GeneralConfig: Required. General settings of the advertiser.
   963  	GeneralConfig *AdvertiserGeneralConfig `json:"generalConfig,omitempty"`
   964  	// IntegrationDetails: Integration details of the advertiser. Only
   965  	// integrationCode is currently applicable to advertiser. Other fields of
   966  	// IntegrationDetails are not supported and will be ignored if provided.
   967  	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
   968  	// Name: Output only. The resource name of the advertiser.
   969  	Name string `json:"name,omitempty"`
   970  	// PartnerId: Required. Immutable. The unique ID of the partner that the
   971  	// advertiser belongs to.
   972  	PartnerId int64 `json:"partnerId,omitempty,string"`
   973  	// PrismaEnabled: Whether integration with Mediaocean (Prisma) is enabled. By
   974  	// enabling this, you agree to the following: On behalf of my company, I
   975  	// authorize Mediaocean (Prisma) to send budget segment plans to Google, and I
   976  	// authorize Google to send corresponding reporting and invoices from DV360 to
   977  	// Mediaocean for the purposes of budget planning, billing, and reconciliation
   978  	// for this advertiser.
   979  	PrismaEnabled bool `json:"prismaEnabled,omitempty"`
   980  	// ServingConfig: Targeting settings related to ad serving of the advertiser.
   981  	ServingConfig *AdvertiserTargetingConfig `json:"servingConfig,omitempty"`
   982  	// UpdateTime: Output only. The timestamp when the advertiser was last updated.
   983  	// Assigned by the system.
   984  	UpdateTime string `json:"updateTime,omitempty"`
   985  
   986  	// ServerResponse contains the HTTP response code and headers from the server.
   987  	googleapi.ServerResponse `json:"-"`
   988  	// ForceSendFields is a list of field names (e.g. "AdServerConfig") to
   989  	// unconditionally include in API requests. By default, fields with empty or
   990  	// default values are omitted from API requests. See
   991  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   992  	// details.
   993  	ForceSendFields []string `json:"-"`
   994  	// NullFields is a list of field names (e.g. "AdServerConfig") to include in
   995  	// API requests with the JSON null value. By default, fields with empty values
   996  	// are omitted from API requests. See
   997  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   998  	NullFields []string `json:"-"`
   999  }
  1000  
  1001  func (s *Advertiser) MarshalJSON() ([]byte, error) {
  1002  	type NoMethod Advertiser
  1003  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1004  }
  1005  
  1006  // AdvertiserAdServerConfig: Ad server related settings of an advertiser.
  1007  type AdvertiserAdServerConfig struct {
  1008  	// CmHybridConfig: The configuration for advertisers that use both Campaign
  1009  	// Manager 360 (CM360) and third-party ad servers.
  1010  	CmHybridConfig *CmHybridConfig `json:"cmHybridConfig,omitempty"`
  1011  	// ThirdPartyOnlyConfig: The configuration for advertisers that use third-party
  1012  	// ad servers only.
  1013  	ThirdPartyOnlyConfig *ThirdPartyOnlyConfig `json:"thirdPartyOnlyConfig,omitempty"`
  1014  	// ForceSendFields is a list of field names (e.g. "CmHybridConfig") to
  1015  	// unconditionally include in API requests. By default, fields with empty or
  1016  	// default values are omitted from API requests. See
  1017  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1018  	// details.
  1019  	ForceSendFields []string `json:"-"`
  1020  	// NullFields is a list of field names (e.g. "CmHybridConfig") to include in
  1021  	// API requests with the JSON null value. By default, fields with empty values
  1022  	// are omitted from API requests. See
  1023  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1024  	NullFields []string `json:"-"`
  1025  }
  1026  
  1027  func (s *AdvertiserAdServerConfig) MarshalJSON() ([]byte, error) {
  1028  	type NoMethod AdvertiserAdServerConfig
  1029  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1030  }
  1031  
  1032  // AdvertiserBillingConfig: Billing related settings of an advertiser.
  1033  type AdvertiserBillingConfig struct {
  1034  	// BillingProfileId: Optional. The ID of a billing profile assigned to the
  1035  	// advertiser.
  1036  	BillingProfileId int64 `json:"billingProfileId,omitempty,string"`
  1037  	// ForceSendFields is a list of field names (e.g. "BillingProfileId") to
  1038  	// unconditionally include in API requests. By default, fields with empty or
  1039  	// default values are omitted from API requests. See
  1040  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1041  	// details.
  1042  	ForceSendFields []string `json:"-"`
  1043  	// NullFields is a list of field names (e.g. "BillingProfileId") to include in
  1044  	// API requests with the JSON null value. By default, fields with empty values
  1045  	// are omitted from API requests. See
  1046  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1047  	NullFields []string `json:"-"`
  1048  }
  1049  
  1050  func (s *AdvertiserBillingConfig) MarshalJSON() ([]byte, error) {
  1051  	type NoMethod AdvertiserBillingConfig
  1052  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1053  }
  1054  
  1055  // AdvertiserCreativeConfig: Creatives related settings of an advertiser.
  1056  type AdvertiserCreativeConfig struct {
  1057  	// DynamicCreativeEnabled: Whether or not the advertiser is enabled for dynamic
  1058  	// creatives.
  1059  	DynamicCreativeEnabled bool `json:"dynamicCreativeEnabled,omitempty"`
  1060  	// IasClientId: An ID for configuring campaign monitoring provided by Integral
  1061  	// Ad Service (IAS). The DV360 system will append an IAS "Campaign Monitor" tag
  1062  	// containing this ID to the creative tag.
  1063  	IasClientId int64 `json:"iasClientId,omitempty,string"`
  1064  	// ObaComplianceDisabled: Whether or not to disable Google's About this Ad
  1065  	// feature that adds badging (to identify the content as an ad) and
  1066  	// transparency information (on interaction with About this Ad) to your ads for
  1067  	// Online Behavioral Advertising (OBA) and regulatory requirements. About this
  1068  	// Ad gives users greater control over the ads they see and helps you explain
  1069  	// why they're seeing your ad. Learn more
  1070  	// (//support.google.com/displayvideo/answer/14315795). If you choose to set
  1071  	// this field to `true`, note that ads served through Display & Video 360 must
  1072  	// comply to the following: * Be Online Behavioral Advertising (OBA) compliant,
  1073  	// as per your contract with Google Marketing Platform. * In the European
  1074  	// Economic Area (EEA), include transparency information and a mechanism for
  1075  	// users to report illegal content in ads. If using an alternative ad badging,
  1076  	// transparency, and reporting solution, you must ensure it includes the
  1077  	// required transparency information and illegal content flagging mechanism and
  1078  	// that you notify Google of any illegal content reports using the appropriate
  1079  	// form
  1080  	// (//support.google.com/legal/troubleshooter/1114905?sjid=6787484030557261960-E
  1081  	// U#ts=2981967%2C2982031%2C12980091).
  1082  	ObaComplianceDisabled bool `json:"obaComplianceDisabled,omitempty"`
  1083  	// VideoCreativeDataSharingAuthorized: By setting this field to `true`, you, on
  1084  	// behalf of your company, authorize Google to use video creatives associated
  1085  	// with this Display & Video 360 advertiser to provide reporting and features
  1086  	// related to the advertiser's television campaigns. Applicable only when the
  1087  	// advertiser has a CM360 hybrid ad server configuration.
  1088  	VideoCreativeDataSharingAuthorized bool `json:"videoCreativeDataSharingAuthorized,omitempty"`
  1089  	// ForceSendFields is a list of field names (e.g. "DynamicCreativeEnabled") to
  1090  	// unconditionally include in API requests. By default, fields with empty or
  1091  	// default values are omitted from API requests. See
  1092  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1093  	// details.
  1094  	ForceSendFields []string `json:"-"`
  1095  	// NullFields is a list of field names (e.g. "DynamicCreativeEnabled") to
  1096  	// include in API requests with the JSON null value. By default, fields with
  1097  	// empty values are omitted from API requests. See
  1098  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1099  	NullFields []string `json:"-"`
  1100  }
  1101  
  1102  func (s *AdvertiserCreativeConfig) MarshalJSON() ([]byte, error) {
  1103  	type NoMethod AdvertiserCreativeConfig
  1104  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1105  }
  1106  
  1107  // AdvertiserDataAccessConfig: Settings that control how advertiser related
  1108  // data may be accessed.
  1109  type AdvertiserDataAccessConfig struct {
  1110  	// SdfConfig: Structured Data Files (SDF) settings for the advertiser. If not
  1111  	// specified, the SDF settings of the parent partner are used.
  1112  	SdfConfig *AdvertiserSdfConfig `json:"sdfConfig,omitempty"`
  1113  	// ForceSendFields is a list of field names (e.g. "SdfConfig") to
  1114  	// unconditionally include in API requests. By default, fields with empty or
  1115  	// default values are omitted from API requests. See
  1116  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1117  	// details.
  1118  	ForceSendFields []string `json:"-"`
  1119  	// NullFields is a list of field names (e.g. "SdfConfig") to include in API
  1120  	// requests with the JSON null value. By default, fields with empty values are
  1121  	// omitted from API requests. See
  1122  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1123  	NullFields []string `json:"-"`
  1124  }
  1125  
  1126  func (s *AdvertiserDataAccessConfig) MarshalJSON() ([]byte, error) {
  1127  	type NoMethod AdvertiserDataAccessConfig
  1128  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1129  }
  1130  
  1131  // AdvertiserGeneralConfig: General settings of an advertiser.
  1132  type AdvertiserGeneralConfig struct {
  1133  	// CurrencyCode: Required. Immutable. Advertiser's currency in ISO 4217 format.
  1134  	// Accepted codes and the currencies they represent are: Currency Code :
  1135  	// Currency Name * `ARS` : Argentine Peso * `AUD` : Australian Dollar * `BRL` :
  1136  	// Brazilian Real * `CAD` : Canadian Dollar * `CHF` : Swiss Franc * `CLP` :
  1137  	// Chilean Peso * `CNY` : Chinese Yuan * `COP` : Colombian Peso * `CZK` : Czech
  1138  	// Koruna * `DKK` : Danish Krone * `EGP` : Egyption Pound * `EUR` : Euro *
  1139  	// `GBP` : British Pound * `HKD` : Hong Kong Dollar * `HUF` : Hungarian Forint
  1140  	// * `IDR` : Indonesian Rupiah * `ILS` : Israeli Shekel * `INR` : Indian Rupee
  1141  	// * `JPY` : Japanese Yen * `KRW` : South Korean Won * `MXN` : Mexican Pesos *
  1142  	// `MYR` : Malaysian Ringgit * `NGN` : Nigerian Naira * `NOK` : Norwegian Krone
  1143  	// * `NZD` : New Zealand Dollar * `PEN` : Peruvian Nuevo Sol * `PLN` : Polish
  1144  	// Zloty * `RON` : New Romanian Leu * `RUB` : Russian Ruble * `SEK` : Swedish
  1145  	// Krona * `TRY` : Turkish Lira * `TWD` : New Taiwan Dollar * `USD` : US Dollar
  1146  	// * `ZAR` : South African Rand
  1147  	CurrencyCode string `json:"currencyCode,omitempty"`
  1148  	// DomainUrl: Required. The domain URL of the advertiser's primary website. The
  1149  	// system will send this information to publishers that require website URL to
  1150  	// associate a campaign with an advertiser. Provide a URL with no path or query
  1151  	// string, beginning with `http:` or `https:`. For example,
  1152  	// http://www.example.com
  1153  	DomainUrl string `json:"domainUrl,omitempty"`
  1154  	// TimeZone: Output only. The standard TZ database name of the advertiser's
  1155  	// time zone. For example, `America/New_York`. See more at:
  1156  	// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones For CM360
  1157  	// hybrid advertisers, the time zone is the same as that of the associated
  1158  	// CM360 account; for third-party only advertisers, the time zone is the same
  1159  	// as that of the parent partner.
  1160  	TimeZone string `json:"timeZone,omitempty"`
  1161  	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
  1162  	// unconditionally include in API requests. By default, fields with empty or
  1163  	// default values are omitted from API requests. See
  1164  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1165  	// details.
  1166  	ForceSendFields []string `json:"-"`
  1167  	// NullFields is a list of field names (e.g. "CurrencyCode") to include in API
  1168  	// requests with the JSON null value. By default, fields with empty values are
  1169  	// omitted from API requests. See
  1170  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1171  	NullFields []string `json:"-"`
  1172  }
  1173  
  1174  func (s *AdvertiserGeneralConfig) MarshalJSON() ([]byte, error) {
  1175  	type NoMethod AdvertiserGeneralConfig
  1176  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1177  }
  1178  
  1179  // AdvertiserSdfConfig: Structured Data Files (SDF) settings of an advertiser.
  1180  type AdvertiserSdfConfig struct {
  1181  	// OverridePartnerSdfConfig: Whether or not this advertiser overrides the SDF
  1182  	// configuration of its parent partner. By default, an advertiser inherits the
  1183  	// SDF configuration from the parent partner. To override the partner
  1184  	// configuration, set this field to `true` and provide the new configuration in
  1185  	// sdfConfig.
  1186  	OverridePartnerSdfConfig bool `json:"overridePartnerSdfConfig,omitempty"`
  1187  	// SdfConfig: The SDF configuration for the advertiser. * Required when
  1188  	// overridePartnerSdfConfig is `true`. * Output only when
  1189  	// overridePartnerSdfConfig is `false`.
  1190  	SdfConfig *SdfConfig `json:"sdfConfig,omitempty"`
  1191  	// ForceSendFields is a list of field names (e.g. "OverridePartnerSdfConfig")
  1192  	// to unconditionally include in API requests. By default, fields with empty or
  1193  	// default values are omitted from API requests. See
  1194  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1195  	// details.
  1196  	ForceSendFields []string `json:"-"`
  1197  	// NullFields is a list of field names (e.g. "OverridePartnerSdfConfig") to
  1198  	// include in API requests with the JSON null value. By default, fields with
  1199  	// empty values are omitted from API requests. See
  1200  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1201  	NullFields []string `json:"-"`
  1202  }
  1203  
  1204  func (s *AdvertiserSdfConfig) MarshalJSON() ([]byte, error) {
  1205  	type NoMethod AdvertiserSdfConfig
  1206  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1207  }
  1208  
  1209  // AdvertiserTargetingConfig: Targeting settings related to ad serving of an
  1210  // advertiser.
  1211  type AdvertiserTargetingConfig struct {
  1212  	// ExemptTvFromViewabilityTargeting: Whether or not connected TV devices are
  1213  	// exempt from viewability targeting for all video line items under the
  1214  	// advertiser.
  1215  	ExemptTvFromViewabilityTargeting bool `json:"exemptTvFromViewabilityTargeting,omitempty"`
  1216  	// ForceSendFields is a list of field names (e.g.
  1217  	// "ExemptTvFromViewabilityTargeting") to unconditionally include in API
  1218  	// requests. By default, fields with empty or default values are omitted from
  1219  	// API requests. See
  1220  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1221  	// details.
  1222  	ForceSendFields []string `json:"-"`
  1223  	// NullFields is a list of field names (e.g.
  1224  	// "ExemptTvFromViewabilityTargeting") to include in API requests with the JSON
  1225  	// null value. By default, fields with empty values are omitted from API
  1226  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
  1227  	// more details.
  1228  	NullFields []string `json:"-"`
  1229  }
  1230  
  1231  func (s *AdvertiserTargetingConfig) MarshalJSON() ([]byte, error) {
  1232  	type NoMethod AdvertiserTargetingConfig
  1233  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1234  }
  1235  
  1236  // AgeRangeAssignedTargetingOptionDetails: Represents a targetable age range.
  1237  // This will be populated in the details field of an AssignedTargetingOption
  1238  // when targeting_type is `TARGETING_TYPE_AGE_RANGE`.
  1239  type AgeRangeAssignedTargetingOptionDetails struct {
  1240  	// AgeRange: Required. The age range of an audience. We only support targeting
  1241  	// a continuous age range of an audience. Thus, the age range represented in
  1242  	// this field can be 1) targeted solely, or, 2) part of a larger continuous age
  1243  	// range. The reach of a continuous age range targeting can be expanded by also
  1244  	// targeting an audience of an unknown age.
  1245  	//
  1246  	// Possible values:
  1247  	//   "AGE_RANGE_UNSPECIFIED" - Default value when age range is not specified in
  1248  	// this version. This enum is a placeholder for default value and does not
  1249  	// represent a real age range option.
  1250  	//   "AGE_RANGE_18_24" - The age range of the audience is 18 to 24.
  1251  	//   "AGE_RANGE_25_34" - The age range of the audience is 25 to 34.
  1252  	//   "AGE_RANGE_35_44" - The age range of the audience is 35 to 44.
  1253  	//   "AGE_RANGE_45_54" - The age range of the audience is 45 to 54.
  1254  	//   "AGE_RANGE_55_64" - The age range of the audience is 55 to 64.
  1255  	//   "AGE_RANGE_65_PLUS" - The age range of the audience is 65 and up.
  1256  	//   "AGE_RANGE_UNKNOWN" - The age range of the audience is unknown.
  1257  	//   "AGE_RANGE_18_20" - The age range of the audience is 18 to 20, only
  1258  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1259  	//   "AGE_RANGE_21_24" - The age range of the audience is 21 to 24, only
  1260  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1261  	//   "AGE_RANGE_25_29" - The age range of the audience is 25 to 29, only
  1262  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1263  	//   "AGE_RANGE_30_34" - The age range of the audience is 30 to 34, only
  1264  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1265  	//   "AGE_RANGE_35_39" - The age range of the audience is 35 to 39, only
  1266  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1267  	//   "AGE_RANGE_40_44" - The age range of the audience is 40 to 44, only
  1268  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1269  	//   "AGE_RANGE_45_49" - The age range of the audience is 45 to 49, only
  1270  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1271  	//   "AGE_RANGE_50_54" - The age range of the audience is 50 to 54, only
  1272  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1273  	//   "AGE_RANGE_55_59" - The age range of the audience is 55 to 59, only
  1274  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1275  	//   "AGE_RANGE_60_64" - The age range of the audience is 60 to 64, only
  1276  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1277  	AgeRange string `json:"ageRange,omitempty"`
  1278  	// ForceSendFields is a list of field names (e.g. "AgeRange") to
  1279  	// unconditionally include in API requests. By default, fields with empty or
  1280  	// default values are omitted from API requests. See
  1281  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1282  	// details.
  1283  	ForceSendFields []string `json:"-"`
  1284  	// NullFields is a list of field names (e.g. "AgeRange") to include in API
  1285  	// requests with the JSON null value. By default, fields with empty values are
  1286  	// omitted from API requests. See
  1287  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1288  	NullFields []string `json:"-"`
  1289  }
  1290  
  1291  func (s *AgeRangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  1292  	type NoMethod AgeRangeAssignedTargetingOptionDetails
  1293  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1294  }
  1295  
  1296  // AgeRangeTargetingOptionDetails: Represents a targetable age range. This will
  1297  // be populated in the age_range_details field when targeting_type is
  1298  // `TARGETING_TYPE_AGE_RANGE`.
  1299  type AgeRangeTargetingOptionDetails struct {
  1300  	// AgeRange: Output only. The age range of an audience.
  1301  	//
  1302  	// Possible values:
  1303  	//   "AGE_RANGE_UNSPECIFIED" - Default value when age range is not specified in
  1304  	// this version. This enum is a placeholder for default value and does not
  1305  	// represent a real age range option.
  1306  	//   "AGE_RANGE_18_24" - The age range of the audience is 18 to 24.
  1307  	//   "AGE_RANGE_25_34" - The age range of the audience is 25 to 34.
  1308  	//   "AGE_RANGE_35_44" - The age range of the audience is 35 to 44.
  1309  	//   "AGE_RANGE_45_54" - The age range of the audience is 45 to 54.
  1310  	//   "AGE_RANGE_55_64" - The age range of the audience is 55 to 64.
  1311  	//   "AGE_RANGE_65_PLUS" - The age range of the audience is 65 and up.
  1312  	//   "AGE_RANGE_UNKNOWN" - The age range of the audience is unknown.
  1313  	//   "AGE_RANGE_18_20" - The age range of the audience is 18 to 20, only
  1314  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1315  	//   "AGE_RANGE_21_24" - The age range of the audience is 21 to 24, only
  1316  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1317  	//   "AGE_RANGE_25_29" - The age range of the audience is 25 to 29, only
  1318  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1319  	//   "AGE_RANGE_30_34" - The age range of the audience is 30 to 34, only
  1320  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1321  	//   "AGE_RANGE_35_39" - The age range of the audience is 35 to 39, only
  1322  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1323  	//   "AGE_RANGE_40_44" - The age range of the audience is 40 to 44, only
  1324  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1325  	//   "AGE_RANGE_45_49" - The age range of the audience is 45 to 49, only
  1326  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1327  	//   "AGE_RANGE_50_54" - The age range of the audience is 50 to 54, only
  1328  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1329  	//   "AGE_RANGE_55_59" - The age range of the audience is 55 to 59, only
  1330  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1331  	//   "AGE_RANGE_60_64" - The age range of the audience is 60 to 64, only
  1332  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1333  	AgeRange string `json:"ageRange,omitempty"`
  1334  	// ForceSendFields is a list of field names (e.g. "AgeRange") to
  1335  	// unconditionally include in API requests. By default, fields with empty or
  1336  	// default values are omitted from API requests. See
  1337  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1338  	// details.
  1339  	ForceSendFields []string `json:"-"`
  1340  	// NullFields is a list of field names (e.g. "AgeRange") to include in API
  1341  	// requests with the JSON null value. By default, fields with empty values are
  1342  	// omitted from API requests. See
  1343  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1344  	NullFields []string `json:"-"`
  1345  }
  1346  
  1347  func (s *AgeRangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  1348  	type NoMethod AgeRangeTargetingOptionDetails
  1349  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1350  }
  1351  
  1352  // AppAssignedTargetingOptionDetails: Details for assigned app targeting
  1353  // option. This will be populated in the details field of an
  1354  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`.
  1355  type AppAssignedTargetingOptionDetails struct {
  1356  	// AppId: Required. The ID of the app. Android's Play store app uses bundle ID,
  1357  	// for example `com.google.android.gm`. Apple's App store app ID uses 9 digit
  1358  	// string, for example `422689480`.
  1359  	AppId string `json:"appId,omitempty"`
  1360  	// AppPlatform: Indicates the platform of the targeted app. If this field is
  1361  	// not specified, the app platform will be assumed to be mobile (i.e., Android
  1362  	// or iOS), and we will derive the appropriate mobile platform from the app ID.
  1363  	//
  1364  	// Possible values:
  1365  	//   "APP_PLATFORM_UNSPECIFIED" - Default value when app platform is not
  1366  	// specified in this version. This enum is a placeholder for default value and
  1367  	// does not represent a real platform option.
  1368  	//   "APP_PLATFORM_IOS" - The app platform is iOS.
  1369  	//   "APP_PLATFORM_ANDROID" - The app platform is Android.
  1370  	//   "APP_PLATFORM_ROKU" - The app platform is Roku.
  1371  	//   "APP_PLATFORM_AMAZON_FIRETV" - The app platform is Amazon FireTV.
  1372  	//   "APP_PLATFORM_PLAYSTATION" - The app platform is Playstation.
  1373  	//   "APP_PLATFORM_APPLE_TV" - The app platform is Apple TV.
  1374  	//   "APP_PLATFORM_XBOX" - The app platform is Xbox.
  1375  	//   "APP_PLATFORM_SAMSUNG_TV" - The app platform is Samsung TV.
  1376  	//   "APP_PLATFORM_ANDROID_TV" - The app platform is Android TV.
  1377  	//   "APP_PLATFORM_GENERIC_CTV" - The app platform is a CTV platform that is
  1378  	// not explicitly listed elsewhere.
  1379  	//   "APP_PLATFORM_LG_TV" - The app platform is LG TV.
  1380  	//   "APP_PLATFORM_VIZIO_TV" - The app platform is VIZIO TV.
  1381  	AppPlatform string `json:"appPlatform,omitempty"`
  1382  	// DisplayName: Output only. The display name of the app.
  1383  	DisplayName string `json:"displayName,omitempty"`
  1384  	// Negative: Indicates if this option is being negatively targeted.
  1385  	Negative bool `json:"negative,omitempty"`
  1386  	// ForceSendFields is a list of field names (e.g. "AppId") to unconditionally
  1387  	// include in API requests. By default, fields with empty or default values are
  1388  	// omitted from API requests. See
  1389  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1390  	// details.
  1391  	ForceSendFields []string `json:"-"`
  1392  	// NullFields is a list of field names (e.g. "AppId") to include in API
  1393  	// requests with the JSON null value. By default, fields with empty values are
  1394  	// omitted from API requests. See
  1395  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1396  	NullFields []string `json:"-"`
  1397  }
  1398  
  1399  func (s *AppAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  1400  	type NoMethod AppAssignedTargetingOptionDetails
  1401  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1402  }
  1403  
  1404  // AppCategoryAssignedTargetingOptionDetails: Details for assigned app category
  1405  // targeting option. This will be populated in the app_category_details field
  1406  // of an AssignedTargetingOption when targeting_type is
  1407  // `TARGETING_TYPE_APP_CATEGORY`.
  1408  type AppCategoryAssignedTargetingOptionDetails struct {
  1409  	// DisplayName: Output only. The display name of the app category.
  1410  	DisplayName string `json:"displayName,omitempty"`
  1411  	// Negative: Indicates if this option is being negatively targeted.
  1412  	Negative bool `json:"negative,omitempty"`
  1413  	// TargetingOptionId: Required. The targeting_option_id field when
  1414  	// targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
  1415  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  1416  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  1417  	// unconditionally include in API requests. By default, fields with empty or
  1418  	// default values are omitted from API requests. See
  1419  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1420  	// details.
  1421  	ForceSendFields []string `json:"-"`
  1422  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  1423  	// requests with the JSON null value. By default, fields with empty values are
  1424  	// omitted from API requests. See
  1425  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1426  	NullFields []string `json:"-"`
  1427  }
  1428  
  1429  func (s *AppCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  1430  	type NoMethod AppCategoryAssignedTargetingOptionDetails
  1431  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1432  }
  1433  
  1434  // AppCategoryTargetingOptionDetails: Represents a targetable collection of
  1435  // apps. A collection lets you target dynamic groups of related apps that are
  1436  // maintained by the platform, for example `All Apps/Google Play/Games`. This
  1437  // will be populated in the app_category_details field when targeting_type is
  1438  // `TARGETING_TYPE_APP_CATEGORY`.
  1439  type AppCategoryTargetingOptionDetails struct {
  1440  	// DisplayName: Output only. The name of the app collection.
  1441  	DisplayName string `json:"displayName,omitempty"`
  1442  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  1443  	// unconditionally include in API requests. By default, fields with empty or
  1444  	// default values are omitted from API requests. See
  1445  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1446  	// details.
  1447  	ForceSendFields []string `json:"-"`
  1448  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  1449  	// requests with the JSON null value. By default, fields with empty values are
  1450  	// omitted from API requests. See
  1451  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1452  	NullFields []string `json:"-"`
  1453  }
  1454  
  1455  func (s *AppCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  1456  	type NoMethod AppCategoryTargetingOptionDetails
  1457  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1458  }
  1459  
  1460  // Asset: A single asset.
  1461  type Asset struct {
  1462  	// Content: The asset content. For uploaded assets, the content is the serving
  1463  	// path.
  1464  	Content string `json:"content,omitempty"`
  1465  	// MediaId: Media ID of the uploaded asset. This is a unique identifier for the
  1466  	// asset. This ID can be passed to other API calls, e.g. CreateCreative to
  1467  	// associate the asset with a creative. The Media ID space updated on **April
  1468  	// 5, 2023**. Update media IDs cached before **April 5, 2023** by retrieving
  1469  	// the new media ID from associated creative resources or re-uploading the
  1470  	// asset.
  1471  	MediaId int64 `json:"mediaId,omitempty,string"`
  1472  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  1473  	// include in API requests. By default, fields with empty or default values are
  1474  	// omitted from API requests. See
  1475  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1476  	// details.
  1477  	ForceSendFields []string `json:"-"`
  1478  	// NullFields is a list of field names (e.g. "Content") to include in API
  1479  	// requests with the JSON null value. By default, fields with empty values are
  1480  	// omitted from API requests. See
  1481  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1482  	NullFields []string `json:"-"`
  1483  }
  1484  
  1485  func (s *Asset) MarshalJSON() ([]byte, error) {
  1486  	type NoMethod Asset
  1487  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1488  }
  1489  
  1490  // AssetAssociation: Asset association for the creative.
  1491  type AssetAssociation struct {
  1492  	// Asset: The associated asset.
  1493  	Asset *Asset `json:"asset,omitempty"`
  1494  	// Role: The role of this asset for the creative.
  1495  	//
  1496  	// Possible values:
  1497  	//   "ASSET_ROLE_UNSPECIFIED" - Asset role is not specified or is unknown in
  1498  	// this version.
  1499  	//   "ASSET_ROLE_MAIN" - The asset is the main asset of the creative.
  1500  	//   "ASSET_ROLE_BACKUP" - The asset is a backup asset of the creative.
  1501  	//   "ASSET_ROLE_POLITE_LOAD" - The asset is a polite load asset of the
  1502  	// creative.
  1503  	//   "ASSET_ROLE_HEADLINE" - Headline of a native creative. The content must be
  1504  	// UTF-8 encoded with a length of no more than 25 characters. This role is only
  1505  	// supported in following creative_type: * `CREATIVE_TYPE_NATIVE` *
  1506  	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`
  1507  	//   "ASSET_ROLE_LONG_HEADLINE" - Long headline of a native creative. The
  1508  	// content must be UTF-8 encoded with a length of no more than 50 characters.
  1509  	// This role is only supported in following creative_type: *
  1510  	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
  1511  	// `CREATIVE_TYPE_NATIVE_VIDEO`
  1512  	//   "ASSET_ROLE_BODY" - Body text of a native creative. The content must be
  1513  	// UTF-8 encoded with a length of no more than 90 characters. This role is only
  1514  	// supported in following creative_type: * `CREATIVE_TYPE_NATIVE` *
  1515  	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`
  1516  	//   "ASSET_ROLE_LONG_BODY" - Long body text of a native creative. The content
  1517  	// must be UTF-8 encoded with a length of no more than 150 characters. This
  1518  	// role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE`
  1519  	// * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`
  1520  	//   "ASSET_ROLE_CAPTION_URL" - A short, friendly version of the landing page
  1521  	// URL to show in the creative. This URL gives people an idea of where they'll
  1522  	// arrive after they click on the creative. The content must be UTF-8 encoded
  1523  	// with a length of no more than 30 characters. For example, if the landing
  1524  	// page URL is 'http://www.example.com/page', the caption URL can be
  1525  	// 'example.com'. The protocol (http://) is optional, but the URL can't contain
  1526  	// spaces or special characters. This role is only supported in following
  1527  	// creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`
  1528  	// * `CREATIVE_TYPE_NATIVE_VIDEO`
  1529  	//   "ASSET_ROLE_CALL_TO_ACTION" - The text to use on the call-to-action button
  1530  	// of a native creative. The content must be UTF-8 encoded with a length of no
  1531  	// more than 15 characters. This role is only supported in following
  1532  	// creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`
  1533  	// * `CREATIVE_TYPE_NATIVE_VIDEO`
  1534  	//   "ASSET_ROLE_ADVERTISER_NAME" - The text that identifies the advertiser or
  1535  	// brand name. The content must be UTF-8 encoded with a length of no more than
  1536  	// 25 characters. This role is only supported in following creative_type: *
  1537  	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
  1538  	// `CREATIVE_TYPE_NATIVE_VIDEO`
  1539  	//   "ASSET_ROLE_PRICE" - The purchase price of your app in the Google play
  1540  	// store or iOS app store (for example, $5.99). Note that this value is not
  1541  	// automatically synced with the actual value listed in the store. It will
  1542  	// always be the one provided when save the creative. The content must be UTF-8
  1543  	// encoded with a length of no more than 15 characters. Assets of this role are
  1544  	// read-only.
  1545  	//   "ASSET_ROLE_ANDROID_APP_ID" - The ID of an Android app in the Google play
  1546  	// store. You can find this ID in the App’s Google Play Store URL after
  1547  	// ‘id’. For example, in
  1548  	// https://play.google.com/store/apps/details?id=com.company.appname the
  1549  	// identifier is com.company.appname. Assets of this role are read-only.
  1550  	//   "ASSET_ROLE_IOS_APP_ID" - The ID of an iOS app in the Apple app store.
  1551  	// This ID number can be found in the Apple App Store URL as the string of
  1552  	// numbers directly after "id". For example, in
  1553  	// https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is
  1554  	// 422689480. Assets of this role are read-only.
  1555  	//   "ASSET_ROLE_RATING" - The rating of an app in the Google play store or iOS
  1556  	// app store. Note that this value is not automatically synced with the actual
  1557  	// rating in the store. It will always be the one provided when save the
  1558  	// creative. Assets of this role are read-only.
  1559  	//   "ASSET_ROLE_ICON" - The icon of a creative. This role is only supported
  1560  	// and required in following creative_type: * `CREATIVE_TYPE_NATIVE` *
  1561  	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE`
  1562  	//   "ASSET_ROLE_COVER_IMAGE" - The cover image of a native video creative.
  1563  	// This role is only supported and required in following creative_type: *
  1564  	// `CREATIVE_TYPE_VIDEO`
  1565  	Role string `json:"role,omitempty"`
  1566  	// ForceSendFields is a list of field names (e.g. "Asset") to unconditionally
  1567  	// include in API requests. By default, fields with empty or default values are
  1568  	// omitted from API requests. See
  1569  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1570  	// details.
  1571  	ForceSendFields []string `json:"-"`
  1572  	// NullFields is a list of field names (e.g. "Asset") to include in API
  1573  	// requests with the JSON null value. By default, fields with empty values are
  1574  	// omitted from API requests. See
  1575  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1576  	NullFields []string `json:"-"`
  1577  }
  1578  
  1579  func (s *AssetAssociation) MarshalJSON() ([]byte, error) {
  1580  	type NoMethod AssetAssociation
  1581  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1582  }
  1583  
  1584  // AssignedInventorySource: An assignment between a targetable inventory source
  1585  // and an inventory source group.
  1586  type AssignedInventorySource struct {
  1587  	// AssignedInventorySourceId: Output only. The unique ID of the assigned
  1588  	// inventory source. The ID is only unique within a given inventory source
  1589  	// group. It may be reused in other contexts.
  1590  	AssignedInventorySourceId int64 `json:"assignedInventorySourceId,omitempty,string"`
  1591  	// InventorySourceId: Required. The ID of the inventory source entity being
  1592  	// targeted.
  1593  	InventorySourceId string `json:"inventorySourceId,omitempty"`
  1594  	// Name: Output only. The resource name of the assigned inventory source.
  1595  	Name string `json:"name,omitempty"`
  1596  
  1597  	// ServerResponse contains the HTTP response code and headers from the server.
  1598  	googleapi.ServerResponse `json:"-"`
  1599  	// ForceSendFields is a list of field names (e.g. "AssignedInventorySourceId")
  1600  	// to unconditionally include in API requests. By default, fields with empty or
  1601  	// default values are omitted from API requests. See
  1602  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1603  	// details.
  1604  	ForceSendFields []string `json:"-"`
  1605  	// NullFields is a list of field names (e.g. "AssignedInventorySourceId") to
  1606  	// include in API requests with the JSON null value. By default, fields with
  1607  	// empty values are omitted from API requests. See
  1608  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1609  	NullFields []string `json:"-"`
  1610  }
  1611  
  1612  func (s *AssignedInventorySource) MarshalJSON() ([]byte, error) {
  1613  	type NoMethod AssignedInventorySource
  1614  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1615  }
  1616  
  1617  // AssignedLocation: An assignment between a location list and a relevant
  1618  // targeting option.
  1619  type AssignedLocation struct {
  1620  	// AssignedLocationId: Output only. The unique ID of the assigned location. The
  1621  	// ID is only unique within a location list. It may be reused in other
  1622  	// contexts.
  1623  	AssignedLocationId int64 `json:"assignedLocationId,omitempty,string"`
  1624  	// Name: Output only. The resource name of the assigned location.
  1625  	Name string `json:"name,omitempty"`
  1626  	// TargetingOptionId: Required. The ID of the targeting option assigned to the
  1627  	// location list.
  1628  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  1629  
  1630  	// ServerResponse contains the HTTP response code and headers from the server.
  1631  	googleapi.ServerResponse `json:"-"`
  1632  	// ForceSendFields is a list of field names (e.g. "AssignedLocationId") to
  1633  	// unconditionally include in API requests. By default, fields with empty or
  1634  	// default values are omitted from API requests. See
  1635  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1636  	// details.
  1637  	ForceSendFields []string `json:"-"`
  1638  	// NullFields is a list of field names (e.g. "AssignedLocationId") to include
  1639  	// in API requests with the JSON null value. By default, fields with empty
  1640  	// values are omitted from API requests. See
  1641  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1642  	NullFields []string `json:"-"`
  1643  }
  1644  
  1645  func (s *AssignedLocation) MarshalJSON() ([]byte, error) {
  1646  	type NoMethod AssignedLocation
  1647  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1648  }
  1649  
  1650  // AssignedTargetingOption: A single assigned targeting option, which defines
  1651  // the state of a targeting option for an entity with targeting settings.
  1652  type AssignedTargetingOption struct {
  1653  	// AgeRangeDetails: Age range details. This field will be populated when the
  1654  	// targeting_type is `TARGETING_TYPE_AGE_RANGE`.
  1655  	AgeRangeDetails *AgeRangeAssignedTargetingOptionDetails `json:"ageRangeDetails,omitempty"`
  1656  	// AppCategoryDetails: App category details. This field will be populated when
  1657  	// the targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
  1658  	AppCategoryDetails *AppCategoryAssignedTargetingOptionDetails `json:"appCategoryDetails,omitempty"`
  1659  	// AppDetails: App details. This field will be populated when the
  1660  	// targeting_type is `TARGETING_TYPE_APP`.
  1661  	AppDetails *AppAssignedTargetingOptionDetails `json:"appDetails,omitempty"`
  1662  	// AssignedTargetingOptionId: Output only. The unique ID of the assigned
  1663  	// targeting option. The ID is only unique within a given resource and
  1664  	// targeting type. It may be reused in other contexts.
  1665  	AssignedTargetingOptionId string `json:"assignedTargetingOptionId,omitempty"`
  1666  	// AssignedTargetingOptionIdAlias: Output only. An alias for the
  1667  	// assigned_targeting_option_id. This value can be used in place of
  1668  	// `assignedTargetingOptionId` when retrieving or deleting existing targeting.
  1669  	// This field will only be supported for all assigned targeting options of the
  1670  	// following targeting types: * `TARGETING_TYPE_AGE_RANGE` *
  1671  	// `TARGETING_TYPE_DEVICE_TYPE` *
  1672  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
  1673  	// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
  1674  	// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` *
  1675  	// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` *
  1676  	// `TARGETING_TYPE_PARENTAL_STATUS` *
  1677  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
  1678  	// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` This field
  1679  	// is also supported for line item assigned targeting options of the following
  1680  	// targeting types: * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
  1681  	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`
  1682  	AssignedTargetingOptionIdAlias string `json:"assignedTargetingOptionIdAlias,omitempty"`
  1683  	// AudienceGroupDetails: Audience targeting details. This field will be
  1684  	// populated when the targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. You
  1685  	// can only target one audience group option per resource.
  1686  	AudienceGroupDetails *AudienceGroupAssignedTargetingOptionDetails `json:"audienceGroupDetails,omitempty"`
  1687  	// AudioContentTypeDetails: Audio content type details. This field will be
  1688  	// populated when the targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.
  1689  	AudioContentTypeDetails *AudioContentTypeAssignedTargetingOptionDetails `json:"audioContentTypeDetails,omitempty"`
  1690  	// AuthorizedSellerStatusDetails: Authorized seller status details. This field
  1691  	// will be populated when the targeting_type is
  1692  	// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one
  1693  	// authorized seller status option per resource. If a resource doesn't have an
  1694  	// authorized seller status option, all authorized sellers indicated as DIRECT
  1695  	// or RESELLER in the ads.txt file are targeted by default.
  1696  	AuthorizedSellerStatusDetails *AuthorizedSellerStatusAssignedTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"`
  1697  	// BrowserDetails: Browser details. This field will be populated when the
  1698  	// targeting_type is `TARGETING_TYPE_BROWSER`.
  1699  	BrowserDetails *BrowserAssignedTargetingOptionDetails `json:"browserDetails,omitempty"`
  1700  	// BusinessChainDetails: Business chain details. This field will be populated
  1701  	// when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
  1702  	BusinessChainDetails *BusinessChainAssignedTargetingOptionDetails `json:"businessChainDetails,omitempty"`
  1703  	// CarrierAndIspDetails: Carrier and ISP details. This field will be populated
  1704  	// when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
  1705  	CarrierAndIspDetails *CarrierAndIspAssignedTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"`
  1706  	// CategoryDetails: Category details. This field will be populated when the
  1707  	// targeting_type is `TARGETING_TYPE_CATEGORY`. Targeting a category will also
  1708  	// target its subcategories. If a category is excluded from targeting and a
  1709  	// subcategory is included, the exclusion will take precedence.
  1710  	CategoryDetails *CategoryAssignedTargetingOptionDetails `json:"categoryDetails,omitempty"`
  1711  	// ChannelDetails: Channel details. This field will be populated when the
  1712  	// targeting_type is `TARGETING_TYPE_CHANNEL`.
  1713  	ChannelDetails *ChannelAssignedTargetingOptionDetails `json:"channelDetails,omitempty"`
  1714  	// ContentDurationDetails: Content duration details. This field will be
  1715  	// populated when the targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.
  1716  	ContentDurationDetails *ContentDurationAssignedTargetingOptionDetails `json:"contentDurationDetails,omitempty"`
  1717  	// ContentGenreDetails: Content genre details. This field will be populated
  1718  	// when the targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.
  1719  	ContentGenreDetails *ContentGenreAssignedTargetingOptionDetails `json:"contentGenreDetails,omitempty"`
  1720  	// ContentInstreamPositionDetails: Content instream position details. This
  1721  	// field will be populated when the targeting_type is
  1722  	// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
  1723  	ContentInstreamPositionDetails *ContentInstreamPositionAssignedTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"`
  1724  	// ContentOutstreamPositionDetails: Content outstream position details. This
  1725  	// field will be populated when the targeting_type is
  1726  	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
  1727  	ContentOutstreamPositionDetails *ContentOutstreamPositionAssignedTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"`
  1728  	// ContentStreamTypeDetails: Content duration details. This field will be
  1729  	// populated when the TargetingType is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.
  1730  	ContentStreamTypeDetails *ContentStreamTypeAssignedTargetingOptionDetails `json:"contentStreamTypeDetails,omitempty"`
  1731  	// DayAndTimeDetails: Day and time details. This field will be populated when
  1732  	// the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`.
  1733  	DayAndTimeDetails *DayAndTimeAssignedTargetingOptionDetails `json:"dayAndTimeDetails,omitempty"`
  1734  	// DeviceMakeModelDetails: Device make and model details. This field will be
  1735  	// populated when the targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
  1736  	DeviceMakeModelDetails *DeviceMakeModelAssignedTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"`
  1737  	// DeviceTypeDetails: Device Type details. This field will be populated when
  1738  	// the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
  1739  	DeviceTypeDetails *DeviceTypeAssignedTargetingOptionDetails `json:"deviceTypeDetails,omitempty"`
  1740  	// DigitalContentLabelExclusionDetails: Digital content label details. This
  1741  	// field will be populated when the targeting_type is
  1742  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content labels are
  1743  	// targeting exclusions. Advertiser level digital content label exclusions, if
  1744  	// set, are always applied in serving (even though they aren't visible in
  1745  	// resource settings). Resource settings can exclude content labels in addition
  1746  	// to advertiser exclusions, but can't override them. A line item won't serve
  1747  	// if all the digital content labels are excluded.
  1748  	DigitalContentLabelExclusionDetails *DigitalContentLabelAssignedTargetingOptionDetails `json:"digitalContentLabelExclusionDetails,omitempty"`
  1749  	// EnvironmentDetails: Environment details. This field will be populated when
  1750  	// the targeting_type is `TARGETING_TYPE_ENVIRONMENT`.
  1751  	EnvironmentDetails *EnvironmentAssignedTargetingOptionDetails `json:"environmentDetails,omitempty"`
  1752  	// ExchangeDetails: Exchange details. This field will be populated when the
  1753  	// targeting_type is `TARGETING_TYPE_EXCHANGE`.
  1754  	ExchangeDetails *ExchangeAssignedTargetingOptionDetails `json:"exchangeDetails,omitempty"`
  1755  	// GenderDetails: Gender details. This field will be populated when the
  1756  	// targeting_type is `TARGETING_TYPE_GENDER`.
  1757  	GenderDetails *GenderAssignedTargetingOptionDetails `json:"genderDetails,omitempty"`
  1758  	// GeoRegionDetails: Geographic region details. This field will be populated
  1759  	// when the targeting_type is `TARGETING_TYPE_GEO_REGION`.
  1760  	GeoRegionDetails *GeoRegionAssignedTargetingOptionDetails `json:"geoRegionDetails,omitempty"`
  1761  	// HouseholdIncomeDetails: Household income details. This field will be
  1762  	// populated when the targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.
  1763  	HouseholdIncomeDetails *HouseholdIncomeAssignedTargetingOptionDetails `json:"householdIncomeDetails,omitempty"`
  1764  	// Inheritance: Output only. The inheritance status of the assigned targeting
  1765  	// option.
  1766  	//
  1767  	// Possible values:
  1768  	//   "INHERITANCE_UNSPECIFIED" - The inheritance is unspecified or unknown.
  1769  	//   "NOT_INHERITED" - The assigned targeting option is not inherited from
  1770  	// higher level entity.
  1771  	//   "INHERITED_FROM_PARTNER" - The assigned targeting option is inherited from
  1772  	// partner targeting settings.
  1773  	//   "INHERITED_FROM_ADVERTISER" - The assigned targeting option is inherited
  1774  	// from advertiser targeting settings.
  1775  	Inheritance string `json:"inheritance,omitempty"`
  1776  	// InventorySourceDetails: Inventory source details. This field will be
  1777  	// populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`.
  1778  	InventorySourceDetails *InventorySourceAssignedTargetingOptionDetails `json:"inventorySourceDetails,omitempty"`
  1779  	// InventorySourceGroupDetails: Inventory source group details. This field will
  1780  	// be populated when the targeting_type is
  1781  	// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
  1782  	InventorySourceGroupDetails *InventorySourceGroupAssignedTargetingOptionDetails `json:"inventorySourceGroupDetails,omitempty"`
  1783  	// KeywordDetails: Keyword details. This field will be populated when the
  1784  	// targeting_type is `TARGETING_TYPE_KEYWORD`. A maximum of 5000 direct
  1785  	// negative keywords can be assigned to a resource. No limit on number of
  1786  	// positive keywords that can be assigned.
  1787  	KeywordDetails *KeywordAssignedTargetingOptionDetails `json:"keywordDetails,omitempty"`
  1788  	// LanguageDetails: Language details. This field will be populated when the
  1789  	// targeting_type is `TARGETING_TYPE_LANGUAGE`.
  1790  	LanguageDetails *LanguageAssignedTargetingOptionDetails `json:"languageDetails,omitempty"`
  1791  	// Name: Output only. The resource name for this assigned targeting option.
  1792  	Name string `json:"name,omitempty"`
  1793  	// NativeContentPositionDetails: Native content position details. This field
  1794  	// will be populated when the targeting_type is
  1795  	// `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
  1796  	NativeContentPositionDetails *NativeContentPositionAssignedTargetingOptionDetails `json:"nativeContentPositionDetails,omitempty"`
  1797  	// NegativeKeywordListDetails: Keyword details. This field will be populated
  1798  	// when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum
  1799  	// of 4 negative keyword lists can be assigned to a resource.
  1800  	NegativeKeywordListDetails *NegativeKeywordListAssignedTargetingOptionDetails `json:"negativeKeywordListDetails,omitempty"`
  1801  	// OmidDetails: Open Measurement enabled inventory details. This field will be
  1802  	// populated when the targeting_type is `TARGETING_TYPE_OMID`.
  1803  	OmidDetails *OmidAssignedTargetingOptionDetails `json:"omidDetails,omitempty"`
  1804  	// OnScreenPositionDetails: On screen position details. This field will be
  1805  	// populated when the targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
  1806  	OnScreenPositionDetails *OnScreenPositionAssignedTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"`
  1807  	// OperatingSystemDetails: Operating system details. This field will be
  1808  	// populated when the targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
  1809  	OperatingSystemDetails *OperatingSystemAssignedTargetingOptionDetails `json:"operatingSystemDetails,omitempty"`
  1810  	// ParentalStatusDetails: Parental status details. This field will be populated
  1811  	// when the targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.
  1812  	ParentalStatusDetails *ParentalStatusAssignedTargetingOptionDetails `json:"parentalStatusDetails,omitempty"`
  1813  	// PoiDetails: POI details. This field will be populated when the
  1814  	// targeting_type is `TARGETING_TYPE_POI`.
  1815  	PoiDetails *PoiAssignedTargetingOptionDetails `json:"poiDetails,omitempty"`
  1816  	// ProximityLocationListDetails: Proximity location list details. This field
  1817  	// will be populated when the targeting_type is
  1818  	// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
  1819  	ProximityLocationListDetails *ProximityLocationListAssignedTargetingOptionDetails `json:"proximityLocationListDetails,omitempty"`
  1820  	// RegionalLocationListDetails: Regional location list details. This field will
  1821  	// be populated when the targeting_type is
  1822  	// `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
  1823  	RegionalLocationListDetails *RegionalLocationListAssignedTargetingOptionDetails `json:"regionalLocationListDetails,omitempty"`
  1824  	// SensitiveCategoryExclusionDetails: Sensitive category details. This field
  1825  	// will be populated when the targeting_type is
  1826  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories are
  1827  	// targeting exclusions. Advertiser level sensitive category exclusions, if
  1828  	// set, are always applied in serving (even though they aren't visible in
  1829  	// resource settings). Resource settings can exclude sensitive categories in
  1830  	// addition to advertiser exclusions, but can't override them.
  1831  	SensitiveCategoryExclusionDetails *SensitiveCategoryAssignedTargetingOptionDetails `json:"sensitiveCategoryExclusionDetails,omitempty"`
  1832  	// SessionPositionDetails: Session position details. This field will be
  1833  	// populated when the targeting_type is `TARGETING_TYPE_SESSION_POSITION`.
  1834  	SessionPositionDetails *SessionPositionAssignedTargetingOptionDetails `json:"sessionPositionDetails,omitempty"`
  1835  	// SubExchangeDetails: Sub-exchange details. This field will be populated when
  1836  	// the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.
  1837  	SubExchangeDetails *SubExchangeAssignedTargetingOptionDetails `json:"subExchangeDetails,omitempty"`
  1838  	// TargetingType: Output only. Identifies the type of this assigned targeting
  1839  	// option.
  1840  	//
  1841  	// Possible values:
  1842  	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or
  1843  	// is unknown in this version.
  1844  	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related
  1845  	// websites or apps).
  1846  	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example,
  1847  	// education or puzzle games).
  1848  	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds).
  1849  	//   "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com).
  1850  	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on
  1851  	// a specific day.
  1852  	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for
  1853  	// example, 18-24).
  1854  	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified
  1855  	// regions on a regional location list.
  1856  	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified
  1857  	// points of interest on a proximity location list.
  1858  	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example,
  1859  	// female or male).
  1860  	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size
  1861  	// for video ads.
  1862  	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for
  1863  	// video ads.
  1864  	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental
  1865  	// status (for example, parent or not a parent).
  1866  	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in
  1867  	// a specific content instream position (for example, pre-roll, mid-roll, or
  1868  	// post-roll).
  1869  	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific
  1870  	// content outstream position.
  1871  	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for
  1872  	// example, tablet or connected TV).
  1873  	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of
  1874  	// audiences. Singleton field, at most one can exist on a single Lineitem at a
  1875  	// time.
  1876  	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
  1877  	// example, Chrome).
  1878  	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household
  1879  	// income range (for example, top 10%).
  1880  	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen
  1881  	// position.
  1882  	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third
  1883  	// party verification (for example, IAS or DoubleVerify).
  1884  	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by
  1885  	// specific digital content label ratings (for example, DL-MA: suitable only
  1886  	// for mature audiences).
  1887  	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by
  1888  	// sensitive categories (for example, adult).
  1889  	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for
  1890  	// example, web or app).
  1891  	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
  1892  	// carrier or internet service provider (ISP) (for example, Comcast or Orange).
  1893  	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating
  1894  	// system (for example, macOS).
  1895  	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make
  1896  	// or model (for example, Roku or Samsung).
  1897  	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example,
  1898  	// dog or retriever).
  1899  	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative
  1900  	// keyword list.
  1901  	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for
  1902  	// example, 80% viewable).
  1903  	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for
  1904  	// example, arts & entertainment).
  1905  	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific
  1906  	// deals and auction packages.
  1907  	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
  1908  	// example, English or Japanese).
  1909  	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
  1910  	// authorized sellers. If no targeting option of this type is assigned, the
  1911  	// resource uses the "Authorized Direct Sellers and Resellers" option by
  1912  	// default.
  1913  	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location
  1914  	// (for example, a city or state).
  1915  	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a
  1916  	// group of deals and auction packages.
  1917  	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges.
  1918  	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
  1919  	// sub-exchanges.
  1920  	//   "TARGETING_TYPE_POI" - Target ads around a specific point of interest,
  1921  	// such as a notable building, a street address, or latitude/longitude
  1922  	// coordinates.
  1923  	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
  1924  	// business chain within a specific geo region.
  1925  	//   "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content
  1926  	// duration.
  1927  	//   "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video
  1928  	// content stream type.
  1929  	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native
  1930  	// content position.
  1931  	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
  1932  	// inventory.
  1933  	//   "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio
  1934  	// content type.
  1935  	//   "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre.
  1936  	//   "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video.
  1937  	// Targeting of this type cannot be created or updated using the API. Although
  1938  	// this targeting is inherited by child resources, **inherited targeting of
  1939  	// this type will not be retrieveable**.
  1940  	//   "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube
  1941  	// channel. Targeting of this type cannot be created or updated using the API.
  1942  	// Although this targeting is inherited by child resources, **inherited
  1943  	// targeting of this type will not be retrieveable**.
  1944  	//   "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain
  1945  	// position of a session. Only supported for Ad Group resources under YouTube
  1946  	// Programmatic Reservation line items. Targeting of this type cannot be
  1947  	// created or updated using the API.
  1948  	TargetingType string `json:"targetingType,omitempty"`
  1949  	// ThirdPartyVerifierDetails: Third party verification details. This field will
  1950  	// be populated when the targeting_type is
  1951  	// `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
  1952  	ThirdPartyVerifierDetails *ThirdPartyVerifierAssignedTargetingOptionDetails `json:"thirdPartyVerifierDetails,omitempty"`
  1953  	// UrlDetails: URL details. This field will be populated when the
  1954  	// targeting_type is `TARGETING_TYPE_URL`.
  1955  	UrlDetails *UrlAssignedTargetingOptionDetails `json:"urlDetails,omitempty"`
  1956  	// UserRewardedContentDetails: User rewarded content details. This field will
  1957  	// be populated when the targeting_type is
  1958  	// `TARGETING_TYPE_USER_REWARDED_CONTENT`.
  1959  	UserRewardedContentDetails *UserRewardedContentAssignedTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"`
  1960  	// VideoPlayerSizeDetails: Video player size details. This field will be
  1961  	// populated when the targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
  1962  	VideoPlayerSizeDetails *VideoPlayerSizeAssignedTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"`
  1963  	// ViewabilityDetails: Viewability details. This field will be populated when
  1964  	// the targeting_type is `TARGETING_TYPE_VIEWABILITY`. You can only target one
  1965  	// viewability option per resource.
  1966  	ViewabilityDetails *ViewabilityAssignedTargetingOptionDetails `json:"viewabilityDetails,omitempty"`
  1967  	// YoutubeChannelDetails: YouTube channel details. This field will be populated
  1968  	// when the targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`.
  1969  	YoutubeChannelDetails *YoutubeChannelAssignedTargetingOptionDetails `json:"youtubeChannelDetails,omitempty"`
  1970  	// YoutubeVideoDetails: YouTube video details. This field will be populated
  1971  	// when the targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`.
  1972  	YoutubeVideoDetails *YoutubeVideoAssignedTargetingOptionDetails `json:"youtubeVideoDetails,omitempty"`
  1973  
  1974  	// ServerResponse contains the HTTP response code and headers from the server.
  1975  	googleapi.ServerResponse `json:"-"`
  1976  	// ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to
  1977  	// unconditionally include in API requests. By default, fields with empty or
  1978  	// default values are omitted from API requests. See
  1979  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1980  	// details.
  1981  	ForceSendFields []string `json:"-"`
  1982  	// NullFields is a list of field names (e.g. "AgeRangeDetails") to include in
  1983  	// API requests with the JSON null value. By default, fields with empty values
  1984  	// are omitted from API requests. See
  1985  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1986  	NullFields []string `json:"-"`
  1987  }
  1988  
  1989  func (s *AssignedTargetingOption) MarshalJSON() ([]byte, error) {
  1990  	type NoMethod AssignedTargetingOption
  1991  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1992  }
  1993  
  1994  // AssignedUserRole: A single assigned user role, which defines a user's
  1995  // authorized interaction with a specified partner or advertiser.
  1996  type AssignedUserRole struct {
  1997  	// AdvertiserId: The ID of the advertiser that the assigend user role applies
  1998  	// to.
  1999  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  2000  	// AssignedUserRoleId: Output only. The ID of the assigned user role.
  2001  	AssignedUserRoleId string `json:"assignedUserRoleId,omitempty"`
  2002  	// PartnerId: The ID of the partner that the assigned user role applies to.
  2003  	PartnerId int64 `json:"partnerId,omitempty,string"`
  2004  	// UserRole: Required. The user role to assign to a user for the entity.
  2005  	//
  2006  	// Possible values:
  2007  	//   "USER_ROLE_UNSPECIFIED" - Default value when the user role is not
  2008  	// specified or is unknown in this version.
  2009  	//   "ADMIN" - The user can manage campaigns, creatives, insertion orders, line
  2010  	// items, and reports for the entity. They can view and edit billing
  2011  	// information, create or modify users, and enable or disable exchanges. This
  2012  	// role can only be assigned for a partner entity.
  2013  	//   "ADMIN_PARTNER_CLIENT" - The user can manage campaigns, creatives,
  2014  	// insertion orders, line items, and reports for the entity. They can create
  2015  	// and modify other `ADMIN_PARTNER_CLIENT` users and view billing information.
  2016  	// They cannot view revenue models, markups, or any other reseller-sensitive
  2017  	// fields. This role can only be assigned for a partner entity.
  2018  	//   "STANDARD" - The user can manage campaigns, creatives, insertion orders,
  2019  	// line items, and reports for the entity. They cannot create and modify users
  2020  	// or view billing information.
  2021  	//   "STANDARD_PLANNER" - The user can view all campaigns, creatives, insertion
  2022  	// orders, line items, and reports for the entity, including all cost data.
  2023  	// They can create and modify planning-related features, including plans and
  2024  	// inventory.
  2025  	//   "STANDARD_PLANNER_LIMITED" - The user can view all campaigns, creatives,
  2026  	// insertion orders, line items, and reports for the entity. They can create or
  2027  	// modify planning-related features, including plans and inventory. They have
  2028  	// no access to cost data and cannot start, accept, or negotiate deals.
  2029  	//   "STANDARD_PARTNER_CLIENT" - The user can manage campaigns, creatives,
  2030  	// insertion orders, line items, and reports for the entity. They cannot create
  2031  	// or modify other users or view billing information. They cannot view revenue
  2032  	// models, markups, or any other reseller-sensitive fields. This role can only
  2033  	// be assigned for an advertiser entity.
  2034  	//   "READ_ONLY" - The user can only build reports and view data for the
  2035  	// entity.
  2036  	//   "REPORTING_ONLY" - The user can only create and manage reports.
  2037  	//   "LIMITED_REPORTING_ONLY" - The user can only create and manage the
  2038  	// following client-safe reports: General, Audience Performance, Cross-Partner,
  2039  	// Keyword, Order ID, Category, and Third-Party Data Provider.
  2040  	//   "CREATIVE" - The user can view media plan information they need to
  2041  	// collaborate, but can't view cost-related data or Marketplace.
  2042  	//   "CREATIVE_ADMIN" - The user can view media plan information they need to
  2043  	// collaborate, but can't view cost-related data or Marketplace. In addition,
  2044  	// they can add other creative admins or creative users to the entity.
  2045  	UserRole string `json:"userRole,omitempty"`
  2046  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  2047  	// unconditionally include in API requests. By default, fields with empty or
  2048  	// default values are omitted from API requests. See
  2049  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2050  	// details.
  2051  	ForceSendFields []string `json:"-"`
  2052  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  2053  	// requests with the JSON null value. By default, fields with empty values are
  2054  	// omitted from API requests. See
  2055  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2056  	NullFields []string `json:"-"`
  2057  }
  2058  
  2059  func (s *AssignedUserRole) MarshalJSON() ([]byte, error) {
  2060  	type NoMethod AssignedUserRole
  2061  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2062  }
  2063  
  2064  // AudienceGroupAssignedTargetingOptionDetails: Assigned audience group
  2065  // targeting option details. This will be populated in the details field of an
  2066  // AssignedTargetingOption when targeting_type is
  2067  // `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION,
  2068  // except for excluded_first_and_third_party_audience_group and
  2069  // excluded_google_audience_group, of which COMPLEMENT is used as an
  2070  // INTERSECTION with other groups.
  2071  type AudienceGroupAssignedTargetingOptionDetails struct {
  2072  	// ExcludedFirstAndThirdPartyAudienceGroup: The first and third party audience
  2073  	// ids and recencies of the excluded first and third party audience group. Used
  2074  	// for negative targeting. The COMPLEMENT of the UNION of this group and other
  2075  	// excluded audience groups is used as an INTERSECTION to any positive audience
  2076  	// targeting. All items are logically ‘OR’ of each other.
  2077  	ExcludedFirstAndThirdPartyAudienceGroup *FirstAndThirdPartyAudienceGroup `json:"excludedFirstAndThirdPartyAudienceGroup,omitempty"`
  2078  	// ExcludedGoogleAudienceGroup: The Google audience ids of the excluded Google
  2079  	// audience group. Used for negative targeting. The COMPLEMENT of the UNION of
  2080  	// this group and other excluded audience groups is used as an INTERSECTION to
  2081  	// any positive audience targeting. Only contains Affinity, In-market and
  2082  	// Installed-apps type Google audiences. All items are logically ‘OR’ of
  2083  	// each other.
  2084  	ExcludedGoogleAudienceGroup *GoogleAudienceGroup `json:"excludedGoogleAudienceGroup,omitempty"`
  2085  	// IncludedCombinedAudienceGroup: The combined audience ids of the included
  2086  	// combined audience group. Contains combined audience ids only.
  2087  	IncludedCombinedAudienceGroup *CombinedAudienceGroup `json:"includedCombinedAudienceGroup,omitempty"`
  2088  	// IncludedCustomListGroup: The custom list ids of the included custom list
  2089  	// group. Contains custom list ids only.
  2090  	IncludedCustomListGroup *CustomListGroup `json:"includedCustomListGroup,omitempty"`
  2091  	// IncludedFirstAndThirdPartyAudienceGroups: The first and third party audience
  2092  	// ids and recencies of included first and third party audience groups. Each
  2093  	// first and third party audience group contains first and third party audience
  2094  	// ids only. The relation between each first and third party audience group is
  2095  	// INTERSECTION, and the result is UNION'ed with other audience groups.
  2096  	// Repeated groups with same settings will be ignored.
  2097  	IncludedFirstAndThirdPartyAudienceGroups []*FirstAndThirdPartyAudienceGroup `json:"includedFirstAndThirdPartyAudienceGroups,omitempty"`
  2098  	// IncludedGoogleAudienceGroup: The Google audience ids of the included Google
  2099  	// audience group. Contains Google audience ids only.
  2100  	IncludedGoogleAudienceGroup *GoogleAudienceGroup `json:"includedGoogleAudienceGroup,omitempty"`
  2101  	// ForceSendFields is a list of field names (e.g.
  2102  	// "ExcludedFirstAndThirdPartyAudienceGroup") to unconditionally include in API
  2103  	// requests. By default, fields with empty or default values are omitted from
  2104  	// API requests. See
  2105  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2106  	// details.
  2107  	ForceSendFields []string `json:"-"`
  2108  	// NullFields is a list of field names (e.g.
  2109  	// "ExcludedFirstAndThirdPartyAudienceGroup") to include in API requests with
  2110  	// the JSON null value. By default, fields with empty values are omitted from
  2111  	// API requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields
  2112  	// for more details.
  2113  	NullFields []string `json:"-"`
  2114  }
  2115  
  2116  func (s *AudienceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2117  	type NoMethod AudienceGroupAssignedTargetingOptionDetails
  2118  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2119  }
  2120  
  2121  // AudioAd: Details for an audio ad.
  2122  type AudioAd struct {
  2123  	// DisplayUrl: The webpage address that appears with the ad.
  2124  	DisplayUrl string `json:"displayUrl,omitempty"`
  2125  	// FinalUrl: The URL address of the webpage that people reach after they click
  2126  	// the ad.
  2127  	FinalUrl string `json:"finalUrl,omitempty"`
  2128  	// TrackingUrl: The URL address loaded in the background for tracking purposes.
  2129  	TrackingUrl string `json:"trackingUrl,omitempty"`
  2130  	// Video: The YouTube video of the ad.
  2131  	Video *YoutubeVideoDetails `json:"video,omitempty"`
  2132  	// ForceSendFields is a list of field names (e.g. "DisplayUrl") to
  2133  	// unconditionally include in API requests. By default, fields with empty or
  2134  	// default values are omitted from API requests. See
  2135  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2136  	// details.
  2137  	ForceSendFields []string `json:"-"`
  2138  	// NullFields is a list of field names (e.g. "DisplayUrl") to include in API
  2139  	// requests with the JSON null value. By default, fields with empty values are
  2140  	// omitted from API requests. See
  2141  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2142  	NullFields []string `json:"-"`
  2143  }
  2144  
  2145  func (s *AudioAd) MarshalJSON() ([]byte, error) {
  2146  	type NoMethod AudioAd
  2147  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2148  }
  2149  
  2150  // AudioContentTypeAssignedTargetingOptionDetails: Details for audio content
  2151  // type assigned targeting option. This will be populated in the
  2152  // audio_content_type_details field when targeting_type is
  2153  // `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. Explicitly targeting all options is not
  2154  // supported. Remove all audio content type targeting options to achieve this
  2155  // effect.
  2156  type AudioContentTypeAssignedTargetingOptionDetails struct {
  2157  	// AudioContentType: Required. The audio content type.
  2158  	//
  2159  	// Possible values:
  2160  	//   "AUDIO_CONTENT_TYPE_UNSPECIFIED" - Audio content type is not specified in
  2161  	// this version. This enum is a place holder for a default value and does not
  2162  	// represent a real content stream type.
  2163  	//   "AUDIO_CONTENT_TYPE_UNKNOWN" - The audio content type is unknown.
  2164  	//   "AUDIO_CONTENT_TYPE_MUSIC" - The audio content type is music.
  2165  	//   "AUDIO_CONTENT_TYPE_BROADCAST" - The audio content type is broadcast.
  2166  	//   "AUDIO_CONTENT_TYPE_PODCAST" - The audio content type is podcast.
  2167  	AudioContentType string `json:"audioContentType,omitempty"`
  2168  	// ForceSendFields is a list of field names (e.g. "AudioContentType") to
  2169  	// unconditionally include in API requests. By default, fields with empty or
  2170  	// default values are omitted from API requests. See
  2171  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2172  	// details.
  2173  	ForceSendFields []string `json:"-"`
  2174  	// NullFields is a list of field names (e.g. "AudioContentType") to include in
  2175  	// API requests with the JSON null value. By default, fields with empty values
  2176  	// are omitted from API requests. See
  2177  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2178  	NullFields []string `json:"-"`
  2179  }
  2180  
  2181  func (s *AudioContentTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2182  	type NoMethod AudioContentTypeAssignedTargetingOptionDetails
  2183  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2184  }
  2185  
  2186  // AudioContentTypeTargetingOptionDetails: Represents a targetable audio
  2187  // content type. This will be populated in the audio_content_type_details field
  2188  // when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.
  2189  type AudioContentTypeTargetingOptionDetails struct {
  2190  	// AudioContentType: Output only. The audio content type.
  2191  	//
  2192  	// Possible values:
  2193  	//   "AUDIO_CONTENT_TYPE_UNSPECIFIED" - Audio content type is not specified in
  2194  	// this version. This enum is a place holder for a default value and does not
  2195  	// represent a real content stream type.
  2196  	//   "AUDIO_CONTENT_TYPE_UNKNOWN" - The audio content type is unknown.
  2197  	//   "AUDIO_CONTENT_TYPE_MUSIC" - The audio content type is music.
  2198  	//   "AUDIO_CONTENT_TYPE_BROADCAST" - The audio content type is broadcast.
  2199  	//   "AUDIO_CONTENT_TYPE_PODCAST" - The audio content type is podcast.
  2200  	AudioContentType string `json:"audioContentType,omitempty"`
  2201  	// ForceSendFields is a list of field names (e.g. "AudioContentType") to
  2202  	// unconditionally include in API requests. By default, fields with empty or
  2203  	// default values are omitted from API requests. See
  2204  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2205  	// details.
  2206  	ForceSendFields []string `json:"-"`
  2207  	// NullFields is a list of field names (e.g. "AudioContentType") to include in
  2208  	// API requests with the JSON null value. By default, fields with empty values
  2209  	// are omitted from API requests. See
  2210  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2211  	NullFields []string `json:"-"`
  2212  }
  2213  
  2214  func (s *AudioContentTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2215  	type NoMethod AudioContentTypeTargetingOptionDetails
  2216  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2217  }
  2218  
  2219  // AudioVideoOffset: The length an audio or a video has been played.
  2220  type AudioVideoOffset struct {
  2221  	// Percentage: The offset in percentage of the audio or video duration.
  2222  	Percentage int64 `json:"percentage,omitempty,string"`
  2223  	// Seconds: The offset in seconds from the start of the audio or video.
  2224  	Seconds int64 `json:"seconds,omitempty,string"`
  2225  	// ForceSendFields is a list of field names (e.g. "Percentage") to
  2226  	// unconditionally include in API requests. By default, fields with empty or
  2227  	// default values are omitted from API requests. See
  2228  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2229  	// details.
  2230  	ForceSendFields []string `json:"-"`
  2231  	// NullFields is a list of field names (e.g. "Percentage") to include in API
  2232  	// requests with the JSON null value. By default, fields with empty values are
  2233  	// omitted from API requests. See
  2234  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2235  	NullFields []string `json:"-"`
  2236  }
  2237  
  2238  func (s *AudioVideoOffset) MarshalJSON() ([]byte, error) {
  2239  	type NoMethod AudioVideoOffset
  2240  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2241  }
  2242  
  2243  // AuditAdvertiserResponse: Response message for
  2244  // AdvertiserService.AuditAdvertiser.
  2245  type AuditAdvertiserResponse struct {
  2246  	// AdGroupCriteriaCount: The number of individual targeting options from the
  2247  	// following targeting types that are assigned to a line item under this
  2248  	// advertiser. These individual targeting options count towards the limit of
  2249  	// 4500000 ad group targeting options per advertiser. Qualifying Targeting
  2250  	// types: * Channels, URLs, apps, and collections * Demographic * Google
  2251  	// Audiences, including Affinity, Custom Affinity, and In-market audiences *
  2252  	// Inventory source * Keyword * Mobile app category * User lists * Video
  2253  	// targeting * Viewability
  2254  	AdGroupCriteriaCount int64 `json:"adGroupCriteriaCount,omitempty,string"`
  2255  	// CampaignCriteriaCount: The number of individual targeting options from the
  2256  	// following targeting types that are assigned to a line item under this
  2257  	// advertiser. These individual targeting options count towards the limit of
  2258  	// 900000 campaign targeting options per advertiser. Qualifying Targeting
  2259  	// types: * Position * Browser * Connection speed * Day and time * Device and
  2260  	// operating system * Digital content label * Sensitive categories *
  2261  	// Environment * Geography, including business chains and proximity * ISP *
  2262  	// Language * Third-party verification
  2263  	CampaignCriteriaCount int64 `json:"campaignCriteriaCount,omitempty,string"`
  2264  	// ChannelsCount: The number of channels created under this advertiser. These
  2265  	// channels count towards the limit of 1000 channels per advertiser.
  2266  	ChannelsCount int64 `json:"channelsCount,omitempty,string"`
  2267  	// NegativeKeywordListsCount: The number of negative keyword lists created
  2268  	// under this advertiser. These negative keyword lists count towards the limit
  2269  	// of 20 negative keyword lists per advertiser.
  2270  	NegativeKeywordListsCount int64 `json:"negativeKeywordListsCount,omitempty,string"`
  2271  	// NegativelyTargetedChannelsCount: The number of negatively targeted channels
  2272  	// created under this advertiser. These negatively targeted channels count
  2273  	// towards the limit of 5 negatively targeted channels per advertiser.
  2274  	NegativelyTargetedChannelsCount int64 `json:"negativelyTargetedChannelsCount,omitempty,string"`
  2275  	// UsedCampaignsCount: The number of ACTIVE and PAUSED campaigns under this
  2276  	// advertiser. These campaigns count towards the limit of 9999 campaigns per
  2277  	// advertiser.
  2278  	UsedCampaignsCount int64 `json:"usedCampaignsCount,omitempty,string"`
  2279  	// UsedInsertionOrdersCount: The number of ACTIVE, PAUSED and DRAFT insertion
  2280  	// orders under this advertiser. These insertion orders count towards the limit
  2281  	// of 9999 insertion orders per advertiser.
  2282  	UsedInsertionOrdersCount int64 `json:"usedInsertionOrdersCount,omitempty,string"`
  2283  	// UsedLineItemsCount: The number of ACTIVE, PAUSED, and DRAFT line items under
  2284  	// this advertiser. These line items count towards the limit of 9999 line items
  2285  	// per advertiser.
  2286  	UsedLineItemsCount int64 `json:"usedLineItemsCount,omitempty,string"`
  2287  
  2288  	// ServerResponse contains the HTTP response code and headers from the server.
  2289  	googleapi.ServerResponse `json:"-"`
  2290  	// ForceSendFields is a list of field names (e.g. "AdGroupCriteriaCount") to
  2291  	// unconditionally include in API requests. By default, fields with empty or
  2292  	// default values are omitted from API requests. See
  2293  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2294  	// details.
  2295  	ForceSendFields []string `json:"-"`
  2296  	// NullFields is a list of field names (e.g. "AdGroupCriteriaCount") to include
  2297  	// in API requests with the JSON null value. By default, fields with empty
  2298  	// values are omitted from API requests. See
  2299  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2300  	NullFields []string `json:"-"`
  2301  }
  2302  
  2303  func (s *AuditAdvertiserResponse) MarshalJSON() ([]byte, error) {
  2304  	type NoMethod AuditAdvertiserResponse
  2305  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2306  }
  2307  
  2308  // AuthorizedSellerStatusAssignedTargetingOptionDetails: Represents an assigned
  2309  // authorized seller status. This will be populated in the details field of an
  2310  // AssignedTargetingOption when targeting_type is
  2311  // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. If a resource does not have an
  2312  // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` assigned targeting option, it is
  2313  // using the "Authorized Direct Sellers and Resellers" option.
  2314  type AuthorizedSellerStatusAssignedTargetingOptionDetails struct {
  2315  	// AuthorizedSellerStatus: Output only. The authorized seller status to target.
  2316  	//
  2317  	// Possible values:
  2318  	//   "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when authorized
  2319  	// seller status is not specified in this version. This enum is a placeholder
  2320  	// for the default value, or "Authorized Direct Sellers and Resellers" in the
  2321  	// UI.
  2322  	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only
  2323  	// authorized sellers that directly own the inventory being monetized, as
  2324  	// indicated by a DIRECT declaration in the ads.txt file. This value is
  2325  	// equivalent to "Authorized Direct Sellers" in the UI.
  2326  	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" -
  2327  	// All authorized sellers, including publishers that have not posted an ads.txt
  2328  	// file. Display & Video 360 automatically disallows unauthorized sellers. This
  2329  	// value is equivalent to "Authorized and Non-Participating Publishers" in the
  2330  	// UI.
  2331  	AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"`
  2332  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  2333  	// type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
  2334  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  2335  	// ForceSendFields is a list of field names (e.g. "AuthorizedSellerStatus") to
  2336  	// unconditionally include in API requests. By default, fields with empty or
  2337  	// default values are omitted from API requests. See
  2338  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2339  	// details.
  2340  	ForceSendFields []string `json:"-"`
  2341  	// NullFields is a list of field names (e.g. "AuthorizedSellerStatus") to
  2342  	// include in API requests with the JSON null value. By default, fields with
  2343  	// empty values are omitted from API requests. See
  2344  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2345  	NullFields []string `json:"-"`
  2346  }
  2347  
  2348  func (s *AuthorizedSellerStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2349  	type NoMethod AuthorizedSellerStatusAssignedTargetingOptionDetails
  2350  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2351  }
  2352  
  2353  // AuthorizedSellerStatusTargetingOptionDetails: Represents a targetable
  2354  // authorized seller status. This will be populated in the
  2355  // authorized_seller_status_details field when targeting_type is
  2356  // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
  2357  type AuthorizedSellerStatusTargetingOptionDetails struct {
  2358  	// AuthorizedSellerStatus: Output only. The authorized seller status.
  2359  	//
  2360  	// Possible values:
  2361  	//   "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when authorized
  2362  	// seller status is not specified in this version. This enum is a placeholder
  2363  	// for the default value, or "Authorized Direct Sellers and Resellers" in the
  2364  	// UI.
  2365  	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only
  2366  	// authorized sellers that directly own the inventory being monetized, as
  2367  	// indicated by a DIRECT declaration in the ads.txt file. This value is
  2368  	// equivalent to "Authorized Direct Sellers" in the UI.
  2369  	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" -
  2370  	// All authorized sellers, including publishers that have not posted an ads.txt
  2371  	// file. Display & Video 360 automatically disallows unauthorized sellers. This
  2372  	// value is equivalent to "Authorized and Non-Participating Publishers" in the
  2373  	// UI.
  2374  	AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"`
  2375  	// ForceSendFields is a list of field names (e.g. "AuthorizedSellerStatus") to
  2376  	// unconditionally include in API requests. By default, fields with empty or
  2377  	// default values are omitted from API requests. See
  2378  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2379  	// details.
  2380  	ForceSendFields []string `json:"-"`
  2381  	// NullFields is a list of field names (e.g. "AuthorizedSellerStatus") to
  2382  	// include in API requests with the JSON null value. By default, fields with
  2383  	// empty values are omitted from API requests. See
  2384  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2385  	NullFields []string `json:"-"`
  2386  }
  2387  
  2388  func (s *AuthorizedSellerStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2389  	type NoMethod AuthorizedSellerStatusTargetingOptionDetails
  2390  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2391  }
  2392  
  2393  // BiddingStrategy: Settings that control the bid strategy. Bid strategy
  2394  // determines the bid price.
  2395  type BiddingStrategy struct {
  2396  	// FixedBid: A strategy that uses a fixed bid price.
  2397  	FixedBid *FixedBidStrategy `json:"fixedBid,omitempty"`
  2398  	// MaximizeSpendAutoBid: A strategy that automatically adjusts the bid to
  2399  	// optimize to your performance goal while spending the full budget. At
  2400  	// insertion order level, the markup_type of line items cannot be set to
  2401  	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when
  2402  	// performance_goal_type is one of: *
  2403  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` *
  2404  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` *
  2405  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the line_item_type of
  2406  	// the insertion order line items must be either: *
  2407  	// `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` , and when
  2408  	// performance_goal_type is either: *
  2409  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` *
  2410  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type of the
  2411  	// insertion order line items must be `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
  2412  	MaximizeSpendAutoBid *MaximizeSpendBidStrategy `json:"maximizeSpendAutoBid,omitempty"`
  2413  	// PerformanceGoalAutoBid: A strategy that automatically adjusts the bid to
  2414  	// meet or beat a specified performance goal. It is to be used only for a line
  2415  	// item entity.
  2416  	PerformanceGoalAutoBid *PerformanceGoalBidStrategy `json:"performanceGoalAutoBid,omitempty"`
  2417  	// ForceSendFields is a list of field names (e.g. "FixedBid") to
  2418  	// unconditionally include in API requests. By default, fields with empty or
  2419  	// default values are omitted from API requests. See
  2420  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2421  	// details.
  2422  	ForceSendFields []string `json:"-"`
  2423  	// NullFields is a list of field names (e.g. "FixedBid") to include in API
  2424  	// requests with the JSON null value. By default, fields with empty values are
  2425  	// omitted from API requests. See
  2426  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2427  	NullFields []string `json:"-"`
  2428  }
  2429  
  2430  func (s *BiddingStrategy) MarshalJSON() ([]byte, error) {
  2431  	type NoMethod BiddingStrategy
  2432  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2433  }
  2434  
  2435  // BrowserAssignedTargetingOptionDetails: Details for assigned browser
  2436  // targeting option. This will be populated in the details field of an
  2437  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BROWSER`.
  2438  type BrowserAssignedTargetingOptionDetails struct {
  2439  	// DisplayName: Output only. The display name of the browser.
  2440  	DisplayName string `json:"displayName,omitempty"`
  2441  	// Negative: Indicates if this option is being negatively targeted. All
  2442  	// assigned browser targeting options on the same resource must have the same
  2443  	// value for this field.
  2444  	Negative bool `json:"negative,omitempty"`
  2445  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  2446  	// type `TARGETING_TYPE_BROWSER`.
  2447  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  2448  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  2449  	// unconditionally include in API requests. By default, fields with empty or
  2450  	// default values are omitted from API requests. See
  2451  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2452  	// details.
  2453  	ForceSendFields []string `json:"-"`
  2454  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  2455  	// requests with the JSON null value. By default, fields with empty values are
  2456  	// omitted from API requests. See
  2457  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2458  	NullFields []string `json:"-"`
  2459  }
  2460  
  2461  func (s *BrowserAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2462  	type NoMethod BrowserAssignedTargetingOptionDetails
  2463  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2464  }
  2465  
  2466  // BrowserTargetingOptionDetails: Represents a targetable browser. This will be
  2467  // populated in the browser_details field when targeting_type is
  2468  // `TARGETING_TYPE_BROWSER`.
  2469  type BrowserTargetingOptionDetails struct {
  2470  	// DisplayName: Output only. The display name of the browser.
  2471  	DisplayName string `json:"displayName,omitempty"`
  2472  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  2473  	// unconditionally include in API requests. By default, fields with empty or
  2474  	// default values are omitted from API requests. See
  2475  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2476  	// details.
  2477  	ForceSendFields []string `json:"-"`
  2478  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  2479  	// requests with the JSON null value. By default, fields with empty values are
  2480  	// omitted from API requests. See
  2481  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2482  	NullFields []string `json:"-"`
  2483  }
  2484  
  2485  func (s *BrowserTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2486  	type NoMethod BrowserTargetingOptionDetails
  2487  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2488  }
  2489  
  2490  // BudgetSummary: Summarized information of an individual campaign budget.
  2491  type BudgetSummary struct {
  2492  	// ExternalBudgetId: Corresponds to the external_budget_id of a campaign
  2493  	// budget. If the value is not set in the campaign budget, this field will be
  2494  	// empty.
  2495  	ExternalBudgetId string `json:"externalBudgetId,omitempty"`
  2496  	// PreTaxAmountMicros: The sum of charges made under this budget before taxes,
  2497  	// in micros of the invoice's currency. For example, if currency_code is `USD`,
  2498  	// then 1000000 represents one US dollar.
  2499  	PreTaxAmountMicros int64 `json:"preTaxAmountMicros,omitempty,string"`
  2500  	// PrismaCpeCode: Relevant client, product, and estimate codes from the
  2501  	// Mediaocean Prisma tool. Only applicable for campaign budgets with an
  2502  	// external_budget_source of EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN.
  2503  	PrismaCpeCode *PrismaCpeCode `json:"prismaCpeCode,omitempty"`
  2504  	// TaxAmountMicros: The amount of tax applied to charges under this budget, in
  2505  	// micros of the invoice's currency. For example, if currency_code is `USD`,
  2506  	// then 1000000 represents one US dollar.
  2507  	TaxAmountMicros int64 `json:"taxAmountMicros,omitempty,string"`
  2508  	// TotalAmountMicros: The total sum of charges made under this budget,
  2509  	// including tax, in micros of the invoice's currency. For example, if
  2510  	// currency_code is `USD`, then 1000000 represents one US dollar.
  2511  	TotalAmountMicros int64 `json:"totalAmountMicros,omitempty,string"`
  2512  	// ForceSendFields is a list of field names (e.g. "ExternalBudgetId") to
  2513  	// unconditionally include in API requests. By default, fields with empty or
  2514  	// default values are omitted from API requests. See
  2515  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2516  	// details.
  2517  	ForceSendFields []string `json:"-"`
  2518  	// NullFields is a list of field names (e.g. "ExternalBudgetId") to include in
  2519  	// API requests with the JSON null value. By default, fields with empty values
  2520  	// are omitted from API requests. See
  2521  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2522  	NullFields []string `json:"-"`
  2523  }
  2524  
  2525  func (s *BudgetSummary) MarshalJSON() ([]byte, error) {
  2526  	type NoMethod BudgetSummary
  2527  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2528  }
  2529  
  2530  // BulkEditAdvertiserAssignedTargetingOptionsRequest: Request message for
  2531  // BulkEditAdvertiserAssignedTargetingOptions.
  2532  type BulkEditAdvertiserAssignedTargetingOptionsRequest struct {
  2533  	// CreateRequests: The assigned targeting options to create in batch, specified
  2534  	// as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting
  2535  	// types: * `TARGETING_TYPE_CHANNEL` *
  2536  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
  2537  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`
  2538  	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
  2539  	// DeleteRequests: The assigned targeting options to delete in batch, specified
  2540  	// as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting
  2541  	// types: * `TARGETING_TYPE_CHANNEL` *
  2542  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
  2543  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`
  2544  	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
  2545  	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
  2546  	// unconditionally include in API requests. By default, fields with empty or
  2547  	// default values are omitted from API requests. See
  2548  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2549  	// details.
  2550  	ForceSendFields []string `json:"-"`
  2551  	// NullFields is a list of field names (e.g. "CreateRequests") to include in
  2552  	// API requests with the JSON null value. By default, fields with empty values
  2553  	// are omitted from API requests. See
  2554  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2555  	NullFields []string `json:"-"`
  2556  }
  2557  
  2558  func (s *BulkEditAdvertiserAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
  2559  	type NoMethod BulkEditAdvertiserAssignedTargetingOptionsRequest
  2560  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2561  }
  2562  
  2563  type BulkEditAdvertiserAssignedTargetingOptionsResponse struct {
  2564  	// CreatedAssignedTargetingOptions: The list of assigned targeting options that
  2565  	// have been successfully created. This list will be absent if empty.
  2566  	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
  2567  
  2568  	// ServerResponse contains the HTTP response code and headers from the server.
  2569  	googleapi.ServerResponse `json:"-"`
  2570  	// ForceSendFields is a list of field names (e.g.
  2571  	// "CreatedAssignedTargetingOptions") to unconditionally include in API
  2572  	// requests. By default, fields with empty or default values are omitted from
  2573  	// API requests. See
  2574  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2575  	// details.
  2576  	ForceSendFields []string `json:"-"`
  2577  	// NullFields is a list of field names (e.g. "CreatedAssignedTargetingOptions")
  2578  	// to include in API requests with the JSON null value. By default, fields with
  2579  	// empty values are omitted from API requests. See
  2580  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2581  	NullFields []string `json:"-"`
  2582  }
  2583  
  2584  func (s *BulkEditAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  2585  	type NoMethod BulkEditAdvertiserAssignedTargetingOptionsResponse
  2586  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2587  }
  2588  
  2589  // BulkEditAssignedInventorySourcesRequest: Request message for
  2590  // AssignedInventorySourceService.BulkEdit.
  2591  type BulkEditAssignedInventorySourcesRequest struct {
  2592  	// AdvertiserId: The ID of the advertiser that owns the parent inventory source
  2593  	// group. The parent partner does not have access to these assigned inventory
  2594  	// sources.
  2595  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  2596  	// CreatedAssignedInventorySources: The assigned inventory sources to create in
  2597  	// bulk, specified as a list of AssignedInventorySources.
  2598  	CreatedAssignedInventorySources []*AssignedInventorySource `json:"createdAssignedInventorySources,omitempty"`
  2599  	// DeletedAssignedInventorySources: The IDs of the assigned inventory sources
  2600  	// to delete in bulk, specified as a list of assigned_inventory_source_ids.
  2601  	DeletedAssignedInventorySources googleapi.Int64s `json:"deletedAssignedInventorySources,omitempty"`
  2602  	// PartnerId: The ID of the partner that owns the inventory source group. Only
  2603  	// this partner has write access to these assigned inventory sources.
  2604  	PartnerId int64 `json:"partnerId,omitempty,string"`
  2605  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  2606  	// unconditionally include in API requests. By default, fields with empty or
  2607  	// default values are omitted from API requests. See
  2608  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2609  	// details.
  2610  	ForceSendFields []string `json:"-"`
  2611  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  2612  	// requests with the JSON null value. By default, fields with empty values are
  2613  	// omitted from API requests. See
  2614  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2615  	NullFields []string `json:"-"`
  2616  }
  2617  
  2618  func (s *BulkEditAssignedInventorySourcesRequest) MarshalJSON() ([]byte, error) {
  2619  	type NoMethod BulkEditAssignedInventorySourcesRequest
  2620  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2621  }
  2622  
  2623  // BulkEditAssignedInventorySourcesResponse: Response message for
  2624  // AssignedInventorySourceService.BulkEdit.
  2625  type BulkEditAssignedInventorySourcesResponse struct {
  2626  	// AssignedInventorySources: The list of assigned inventory sources that have
  2627  	// been successfully created. This list will be absent if empty.
  2628  	AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"`
  2629  
  2630  	// ServerResponse contains the HTTP response code and headers from the server.
  2631  	googleapi.ServerResponse `json:"-"`
  2632  	// ForceSendFields is a list of field names (e.g. "AssignedInventorySources")
  2633  	// to unconditionally include in API requests. By default, fields with empty or
  2634  	// default values are omitted from API requests. See
  2635  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2636  	// details.
  2637  	ForceSendFields []string `json:"-"`
  2638  	// NullFields is a list of field names (e.g. "AssignedInventorySources") to
  2639  	// include in API requests with the JSON null value. By default, fields with
  2640  	// empty values are omitted from API requests. See
  2641  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2642  	NullFields []string `json:"-"`
  2643  }
  2644  
  2645  func (s *BulkEditAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) {
  2646  	type NoMethod BulkEditAssignedInventorySourcesResponse
  2647  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2648  }
  2649  
  2650  // BulkEditAssignedLocationsRequest: Request message for
  2651  // AssignedLocationService.BulkEditAssignedLocations.
  2652  type BulkEditAssignedLocationsRequest struct {
  2653  	// CreatedAssignedLocations: The assigned locations to create in bulk,
  2654  	// specified as a list of AssignedLocation resources.
  2655  	CreatedAssignedLocations []*AssignedLocation `json:"createdAssignedLocations,omitempty"`
  2656  	// DeletedAssignedLocations: The IDs of the assigned locations to delete in
  2657  	// bulk, specified as a list of assignedLocationId values.
  2658  	DeletedAssignedLocations googleapi.Int64s `json:"deletedAssignedLocations,omitempty"`
  2659  	// ForceSendFields is a list of field names (e.g. "CreatedAssignedLocations")
  2660  	// to unconditionally include in API requests. By default, fields with empty or
  2661  	// default values are omitted from API requests. See
  2662  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2663  	// details.
  2664  	ForceSendFields []string `json:"-"`
  2665  	// NullFields is a list of field names (e.g. "CreatedAssignedLocations") to
  2666  	// include in API requests with the JSON null value. By default, fields with
  2667  	// empty values are omitted from API requests. See
  2668  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2669  	NullFields []string `json:"-"`
  2670  }
  2671  
  2672  func (s *BulkEditAssignedLocationsRequest) MarshalJSON() ([]byte, error) {
  2673  	type NoMethod BulkEditAssignedLocationsRequest
  2674  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2675  }
  2676  
  2677  type BulkEditAssignedLocationsResponse struct {
  2678  	// AssignedLocations: The list of assigned locations that have been
  2679  	// successfully created. This list will be absent if empty.
  2680  	AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"`
  2681  
  2682  	// ServerResponse contains the HTTP response code and headers from the server.
  2683  	googleapi.ServerResponse `json:"-"`
  2684  	// ForceSendFields is a list of field names (e.g. "AssignedLocations") to
  2685  	// unconditionally include in API requests. By default, fields with empty or
  2686  	// default values are omitted from API requests. See
  2687  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2688  	// details.
  2689  	ForceSendFields []string `json:"-"`
  2690  	// NullFields is a list of field names (e.g. "AssignedLocations") to include in
  2691  	// API requests with the JSON null value. By default, fields with empty values
  2692  	// are omitted from API requests. See
  2693  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2694  	NullFields []string `json:"-"`
  2695  }
  2696  
  2697  func (s *BulkEditAssignedLocationsResponse) MarshalJSON() ([]byte, error) {
  2698  	type NoMethod BulkEditAssignedLocationsResponse
  2699  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2700  }
  2701  
  2702  // BulkEditAssignedTargetingOptionsRequest: Request message for
  2703  // BulkEditLineItemsAssignedTargetingOptions.
  2704  type BulkEditAssignedTargetingOptionsRequest struct {
  2705  	// CreateRequests: The assigned targeting options to create in batch, specified
  2706  	// as a list of CreateAssignedTargetingOptionsRequest. Supported targeting
  2707  	// types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` *
  2708  	// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` *
  2709  	// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
  2710  	// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
  2711  	// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
  2712  	// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
  2713  	// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
  2714  	// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
  2715  	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
  2716  	// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
  2717  	// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
  2718  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
  2719  	// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
  2720  	// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
  2721  	// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
  2722  	// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
  2723  	// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
  2724  	// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
  2725  	// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
  2726  	// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
  2727  	// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
  2728  	// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
  2729  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
  2730  	// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
  2731  	// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
  2732  	// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`
  2733  	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
  2734  	// DeleteRequests: The assigned targeting options to delete in batch, specified
  2735  	// as a list of DeleteAssignedTargetingOptionsRequest. Supported targeting
  2736  	// types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` *
  2737  	// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` *
  2738  	// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
  2739  	// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
  2740  	// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
  2741  	// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
  2742  	// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
  2743  	// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
  2744  	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
  2745  	// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
  2746  	// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
  2747  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
  2748  	// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
  2749  	// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
  2750  	// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
  2751  	// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
  2752  	// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
  2753  	// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
  2754  	// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
  2755  	// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
  2756  	// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
  2757  	// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
  2758  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
  2759  	// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
  2760  	// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
  2761  	// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`
  2762  	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
  2763  	// LineItemIds: Required. The ID of the line items whose targeting is being
  2764  	// updated.
  2765  	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
  2766  	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
  2767  	// unconditionally include in API requests. By default, fields with empty or
  2768  	// default values are omitted from API requests. See
  2769  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2770  	// details.
  2771  	ForceSendFields []string `json:"-"`
  2772  	// NullFields is a list of field names (e.g. "CreateRequests") to include in
  2773  	// API requests with the JSON null value. By default, fields with empty values
  2774  	// are omitted from API requests. See
  2775  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2776  	NullFields []string `json:"-"`
  2777  }
  2778  
  2779  func (s *BulkEditAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
  2780  	type NoMethod BulkEditAssignedTargetingOptionsRequest
  2781  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2782  }
  2783  
  2784  type BulkEditAssignedTargetingOptionsResponse struct {
  2785  	// Errors: The error information for each line item that failed to update.
  2786  	Errors []*Status `json:"errors,omitempty"`
  2787  	// FailedLineItemIds: Output only. The IDs of the line items which failed.
  2788  	FailedLineItemIds googleapi.Int64s `json:"failedLineItemIds,omitempty"`
  2789  	// UpdatedLineItemIds: Output only. The IDs of the line items which
  2790  	// successfully updated.
  2791  	UpdatedLineItemIds googleapi.Int64s `json:"updatedLineItemIds,omitempty"`
  2792  
  2793  	// ServerResponse contains the HTTP response code and headers from the server.
  2794  	googleapi.ServerResponse `json:"-"`
  2795  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  2796  	// include in API requests. By default, fields with empty or default values are
  2797  	// omitted from API requests. See
  2798  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2799  	// details.
  2800  	ForceSendFields []string `json:"-"`
  2801  	// NullFields is a list of field names (e.g. "Errors") to include in API
  2802  	// requests with the JSON null value. By default, fields with empty values are
  2803  	// omitted from API requests. See
  2804  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2805  	NullFields []string `json:"-"`
  2806  }
  2807  
  2808  func (s *BulkEditAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  2809  	type NoMethod BulkEditAssignedTargetingOptionsResponse
  2810  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2811  }
  2812  
  2813  // BulkEditAssignedUserRolesRequest: Request message for
  2814  // BulkEditAssignedUserRoles.
  2815  type BulkEditAssignedUserRolesRequest struct {
  2816  	// CreatedAssignedUserRoles: The assigned user roles to create in batch,
  2817  	// specified as a list of AssignedUserRoles.
  2818  	CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"`
  2819  	// DeletedAssignedUserRoles: The assigned user roles to delete in batch,
  2820  	// specified as a list of assigned_user_role_ids. The format of
  2821  	// assigned_user_role_id is `entityType-entityid`, for example `partner-123`.
  2822  	DeletedAssignedUserRoles []string `json:"deletedAssignedUserRoles,omitempty"`
  2823  	// ForceSendFields is a list of field names (e.g. "CreatedAssignedUserRoles")
  2824  	// to unconditionally include in API requests. By default, fields with empty or
  2825  	// default values are omitted from API requests. See
  2826  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2827  	// details.
  2828  	ForceSendFields []string `json:"-"`
  2829  	// NullFields is a list of field names (e.g. "CreatedAssignedUserRoles") to
  2830  	// include in API requests with the JSON null value. By default, fields with
  2831  	// empty values are omitted from API requests. See
  2832  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2833  	NullFields []string `json:"-"`
  2834  }
  2835  
  2836  func (s *BulkEditAssignedUserRolesRequest) MarshalJSON() ([]byte, error) {
  2837  	type NoMethod BulkEditAssignedUserRolesRequest
  2838  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2839  }
  2840  
  2841  type BulkEditAssignedUserRolesResponse struct {
  2842  	// CreatedAssignedUserRoles: The list of assigned user roles that have been
  2843  	// successfully created. This list will be absent if empty.
  2844  	CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"`
  2845  
  2846  	// ServerResponse contains the HTTP response code and headers from the server.
  2847  	googleapi.ServerResponse `json:"-"`
  2848  	// ForceSendFields is a list of field names (e.g. "CreatedAssignedUserRoles")
  2849  	// to unconditionally include in API requests. By default, fields with empty or
  2850  	// default values are omitted from API requests. See
  2851  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2852  	// details.
  2853  	ForceSendFields []string `json:"-"`
  2854  	// NullFields is a list of field names (e.g. "CreatedAssignedUserRoles") to
  2855  	// include in API requests with the JSON null value. By default, fields with
  2856  	// empty values are omitted from API requests. See
  2857  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2858  	NullFields []string `json:"-"`
  2859  }
  2860  
  2861  func (s *BulkEditAssignedUserRolesResponse) MarshalJSON() ([]byte, error) {
  2862  	type NoMethod BulkEditAssignedUserRolesResponse
  2863  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2864  }
  2865  
  2866  // BulkEditNegativeKeywordsRequest: Request message for
  2867  // NegativeKeywordService.BulkEditNegativeKeywords.
  2868  type BulkEditNegativeKeywordsRequest struct {
  2869  	// CreatedNegativeKeywords: The negative keywords to create in batch, specified
  2870  	// as a list of NegativeKeywords.
  2871  	CreatedNegativeKeywords []*NegativeKeyword `json:"createdNegativeKeywords,omitempty"`
  2872  	// DeletedNegativeKeywords: The negative keywords to delete in batch, specified
  2873  	// as a list of keyword_values.
  2874  	DeletedNegativeKeywords []string `json:"deletedNegativeKeywords,omitempty"`
  2875  	// ForceSendFields is a list of field names (e.g. "CreatedNegativeKeywords") to
  2876  	// unconditionally include in API requests. By default, fields with empty or
  2877  	// default values are omitted from API requests. See
  2878  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2879  	// details.
  2880  	ForceSendFields []string `json:"-"`
  2881  	// NullFields is a list of field names (e.g. "CreatedNegativeKeywords") to
  2882  	// include in API requests with the JSON null value. By default, fields with
  2883  	// empty values are omitted from API requests. See
  2884  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2885  	NullFields []string `json:"-"`
  2886  }
  2887  
  2888  func (s *BulkEditNegativeKeywordsRequest) MarshalJSON() ([]byte, error) {
  2889  	type NoMethod BulkEditNegativeKeywordsRequest
  2890  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2891  }
  2892  
  2893  // BulkEditNegativeKeywordsResponse: Response message for
  2894  // NegativeKeywordService.BulkEditNegativeKeywords.
  2895  type BulkEditNegativeKeywordsResponse struct {
  2896  	// NegativeKeywords: The list of negative keywords that have been successfully
  2897  	// created. This list will be absent if empty.
  2898  	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
  2899  
  2900  	// ServerResponse contains the HTTP response code and headers from the server.
  2901  	googleapi.ServerResponse `json:"-"`
  2902  	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
  2903  	// unconditionally include in API requests. By default, fields with empty or
  2904  	// default values are omitted from API requests. See
  2905  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2906  	// details.
  2907  	ForceSendFields []string `json:"-"`
  2908  	// NullFields is a list of field names (e.g. "NegativeKeywords") to include in
  2909  	// API requests with the JSON null value. By default, fields with empty values
  2910  	// are omitted from API requests. See
  2911  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2912  	NullFields []string `json:"-"`
  2913  }
  2914  
  2915  func (s *BulkEditNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
  2916  	type NoMethod BulkEditNegativeKeywordsResponse
  2917  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2918  }
  2919  
  2920  // BulkEditPartnerAssignedTargetingOptionsRequest: Request message for
  2921  // BulkEditPartnerAssignedTargetingOptions.
  2922  type BulkEditPartnerAssignedTargetingOptionsRequest struct {
  2923  	// CreateRequests: The assigned targeting options to create in batch, specified
  2924  	// as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting
  2925  	// types: * `TARGETING_TYPE_CHANNEL`
  2926  	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
  2927  	// DeleteRequests: The assigned targeting options to delete in batch, specified
  2928  	// as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting
  2929  	// types: * `TARGETING_TYPE_CHANNEL`
  2930  	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
  2931  	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
  2932  	// unconditionally include in API requests. By default, fields with empty or
  2933  	// default values are omitted from API requests. See
  2934  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2935  	// details.
  2936  	ForceSendFields []string `json:"-"`
  2937  	// NullFields is a list of field names (e.g. "CreateRequests") to include in
  2938  	// API requests with the JSON null value. By default, fields with empty values
  2939  	// are omitted from API requests. See
  2940  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2941  	NullFields []string `json:"-"`
  2942  }
  2943  
  2944  func (s *BulkEditPartnerAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
  2945  	type NoMethod BulkEditPartnerAssignedTargetingOptionsRequest
  2946  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2947  }
  2948  
  2949  type BulkEditPartnerAssignedTargetingOptionsResponse struct {
  2950  	// CreatedAssignedTargetingOptions: The list of assigned targeting options that
  2951  	// have been successfully created. This list will be absent if empty.
  2952  	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
  2953  
  2954  	// ServerResponse contains the HTTP response code and headers from the server.
  2955  	googleapi.ServerResponse `json:"-"`
  2956  	// ForceSendFields is a list of field names (e.g.
  2957  	// "CreatedAssignedTargetingOptions") to unconditionally include in API
  2958  	// requests. By default, fields with empty or default values are omitted from
  2959  	// API requests. See
  2960  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2961  	// details.
  2962  	ForceSendFields []string `json:"-"`
  2963  	// NullFields is a list of field names (e.g. "CreatedAssignedTargetingOptions")
  2964  	// to include in API requests with the JSON null value. By default, fields with
  2965  	// empty values are omitted from API requests. See
  2966  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2967  	NullFields []string `json:"-"`
  2968  }
  2969  
  2970  func (s *BulkEditPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  2971  	type NoMethod BulkEditPartnerAssignedTargetingOptionsResponse
  2972  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2973  }
  2974  
  2975  // BulkEditSitesRequest: Request message for SiteService.BulkEditSites.
  2976  type BulkEditSitesRequest struct {
  2977  	// AdvertiserId: The ID of the advertiser that owns the parent channel.
  2978  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  2979  	// CreatedSites: The sites to create in batch, specified as a list of Sites.
  2980  	CreatedSites []*Site `json:"createdSites,omitempty"`
  2981  	// DeletedSites: The sites to delete in batch, specified as a list of site
  2982  	// url_or_app_ids.
  2983  	DeletedSites []string `json:"deletedSites,omitempty"`
  2984  	// PartnerId: The ID of the partner that owns the parent channel.
  2985  	PartnerId int64 `json:"partnerId,omitempty,string"`
  2986  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  2987  	// unconditionally include in API requests. By default, fields with empty or
  2988  	// default values are omitted from API requests. See
  2989  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2990  	// details.
  2991  	ForceSendFields []string `json:"-"`
  2992  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  2993  	// requests with the JSON null value. By default, fields with empty values are
  2994  	// omitted from API requests. See
  2995  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2996  	NullFields []string `json:"-"`
  2997  }
  2998  
  2999  func (s *BulkEditSitesRequest) MarshalJSON() ([]byte, error) {
  3000  	type NoMethod BulkEditSitesRequest
  3001  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3002  }
  3003  
  3004  // BulkEditSitesResponse: Response message for SiteService.BulkEditSites.
  3005  type BulkEditSitesResponse struct {
  3006  	// Sites: The list of sites that have been successfully created. This list will
  3007  	// be absent if empty.
  3008  	Sites []*Site `json:"sites,omitempty"`
  3009  
  3010  	// ServerResponse contains the HTTP response code and headers from the server.
  3011  	googleapi.ServerResponse `json:"-"`
  3012  	// ForceSendFields is a list of field names (e.g. "Sites") to unconditionally
  3013  	// include in API requests. By default, fields with empty or default values are
  3014  	// omitted from API requests. See
  3015  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3016  	// details.
  3017  	ForceSendFields []string `json:"-"`
  3018  	// NullFields is a list of field names (e.g. "Sites") to include in API
  3019  	// requests with the JSON null value. By default, fields with empty values are
  3020  	// omitted from API requests. See
  3021  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3022  	NullFields []string `json:"-"`
  3023  }
  3024  
  3025  func (s *BulkEditSitesResponse) MarshalJSON() ([]byte, error) {
  3026  	type NoMethod BulkEditSitesResponse
  3027  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3028  }
  3029  
  3030  type BulkListAdGroupAssignedTargetingOptionsResponse struct {
  3031  	// NextPageToken: A token identifying the next page of results. This value
  3032  	// should be specified as the pageToken in a subsequent call to
  3033  	// `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results.
  3034  	// This token will be absent if there are no more
  3035  	// AdGroupAssignedTargetingOption resources to return.
  3036  	NextPageToken string `json:"nextPageToken,omitempty"`
  3037  	// YoutubeAdGroupAssignedTargetingOptions: The list of wrapper objects, each
  3038  	// providing an assigned targeting option and the youtube ad group it is
  3039  	// assigned to. This list will be absent if empty.
  3040  	YoutubeAdGroupAssignedTargetingOptions []*YoutubeAdGroupAssignedTargetingOption `json:"youtubeAdGroupAssignedTargetingOptions,omitempty"`
  3041  
  3042  	// ServerResponse contains the HTTP response code and headers from the server.
  3043  	googleapi.ServerResponse `json:"-"`
  3044  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
  3045  	// unconditionally include in API requests. By default, fields with empty or
  3046  	// default values are omitted from API requests. See
  3047  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3048  	// details.
  3049  	ForceSendFields []string `json:"-"`
  3050  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
  3051  	// requests with the JSON null value. By default, fields with empty values are
  3052  	// omitted from API requests. See
  3053  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3054  	NullFields []string `json:"-"`
  3055  }
  3056  
  3057  func (s *BulkListAdGroupAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3058  	type NoMethod BulkListAdGroupAssignedTargetingOptionsResponse
  3059  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3060  }
  3061  
  3062  type BulkListAdvertiserAssignedTargetingOptionsResponse struct {
  3063  	// AssignedTargetingOptions: The list of assigned targeting options. This list
  3064  	// will be absent if empty.
  3065  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
  3066  	// NextPageToken: A token identifying the next page of results. This value
  3067  	// should be specified as the pageToken in a subsequent
  3068  	// BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of
  3069  	// results. This token will be absent if there are no more
  3070  	// assigned_targeting_options to return.
  3071  	NextPageToken string `json:"nextPageToken,omitempty"`
  3072  
  3073  	// ServerResponse contains the HTTP response code and headers from the server.
  3074  	googleapi.ServerResponse `json:"-"`
  3075  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
  3076  	// to unconditionally include in API requests. By default, fields with empty or
  3077  	// default values are omitted from API requests. See
  3078  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3079  	// details.
  3080  	ForceSendFields []string `json:"-"`
  3081  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
  3082  	// include in API requests with the JSON null value. By default, fields with
  3083  	// empty values are omitted from API requests. See
  3084  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3085  	NullFields []string `json:"-"`
  3086  }
  3087  
  3088  func (s *BulkListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3089  	type NoMethod BulkListAdvertiserAssignedTargetingOptionsResponse
  3090  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3091  }
  3092  
  3093  type BulkListAssignedTargetingOptionsResponse struct {
  3094  	// LineItemAssignedTargetingOptions: The list of wrapper objects, each
  3095  	// providing an assigned targeting option and the line item it is assigned to.
  3096  	// This list will be absent if empty.
  3097  	LineItemAssignedTargetingOptions []*LineItemAssignedTargetingOption `json:"lineItemAssignedTargetingOptions,omitempty"`
  3098  	// NextPageToken: A token identifying the next page of results. This value
  3099  	// should be specified as the pageToken in a subsequent call to
  3100  	// `BulkListAssignedTargetingOptions` to fetch the next page of results. This
  3101  	// token will be absent if there are no more
  3102  	// line_item_assigned_targeting_options to return.
  3103  	NextPageToken string `json:"nextPageToken,omitempty"`
  3104  
  3105  	// ServerResponse contains the HTTP response code and headers from the server.
  3106  	googleapi.ServerResponse `json:"-"`
  3107  	// ForceSendFields is a list of field names (e.g.
  3108  	// "LineItemAssignedTargetingOptions") to unconditionally include in API
  3109  	// requests. By default, fields with empty or default values are omitted from
  3110  	// API requests. See
  3111  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3112  	// details.
  3113  	ForceSendFields []string `json:"-"`
  3114  	// NullFields is a list of field names (e.g.
  3115  	// "LineItemAssignedTargetingOptions") to include in API requests with the JSON
  3116  	// null value. By default, fields with empty values are omitted from API
  3117  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
  3118  	// more details.
  3119  	NullFields []string `json:"-"`
  3120  }
  3121  
  3122  func (s *BulkListAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3123  	type NoMethod BulkListAssignedTargetingOptionsResponse
  3124  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3125  }
  3126  
  3127  type BulkListCampaignAssignedTargetingOptionsResponse struct {
  3128  	// AssignedTargetingOptions: The list of assigned targeting options. This list
  3129  	// will be absent if empty.
  3130  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
  3131  	// NextPageToken: A token identifying the next page of results. This value
  3132  	// should be specified as the pageToken in a subsequent
  3133  	// BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of
  3134  	// results. This token will be absent if there are no more
  3135  	// assigned_targeting_options to return.
  3136  	NextPageToken string `json:"nextPageToken,omitempty"`
  3137  
  3138  	// ServerResponse contains the HTTP response code and headers from the server.
  3139  	googleapi.ServerResponse `json:"-"`
  3140  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
  3141  	// to unconditionally include in API requests. By default, fields with empty or
  3142  	// default values are omitted from API requests. See
  3143  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3144  	// details.
  3145  	ForceSendFields []string `json:"-"`
  3146  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
  3147  	// include in API requests with the JSON null value. By default, fields with
  3148  	// empty values are omitted from API requests. See
  3149  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3150  	NullFields []string `json:"-"`
  3151  }
  3152  
  3153  func (s *BulkListCampaignAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3154  	type NoMethod BulkListCampaignAssignedTargetingOptionsResponse
  3155  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3156  }
  3157  
  3158  type BulkListInsertionOrderAssignedTargetingOptionsResponse struct {
  3159  	// AssignedTargetingOptions: The list of assigned targeting options. This list
  3160  	// will be absent if empty.
  3161  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
  3162  	// NextPageToken: A token identifying the next page of results. This value
  3163  	// should be specified as the pageToken in a subsequent
  3164  	// BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page
  3165  	// of results. This token will be absent if there are no more
  3166  	// assigned_targeting_options to return.
  3167  	NextPageToken string `json:"nextPageToken,omitempty"`
  3168  
  3169  	// ServerResponse contains the HTTP response code and headers from the server.
  3170  	googleapi.ServerResponse `json:"-"`
  3171  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
  3172  	// to unconditionally include in API requests. By default, fields with empty or
  3173  	// default values are omitted from API requests. See
  3174  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3175  	// details.
  3176  	ForceSendFields []string `json:"-"`
  3177  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
  3178  	// include in API requests with the JSON null value. By default, fields with
  3179  	// empty values are omitted from API requests. See
  3180  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3181  	NullFields []string `json:"-"`
  3182  }
  3183  
  3184  func (s *BulkListInsertionOrderAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3185  	type NoMethod BulkListInsertionOrderAssignedTargetingOptionsResponse
  3186  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3187  }
  3188  
  3189  // BulkUpdateLineItemsRequest: Request message for
  3190  // LineItemService.BulkUpdateLineItems.
  3191  type BulkUpdateLineItemsRequest struct {
  3192  	// LineItemIds: Required. IDs of line items to update.
  3193  	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
  3194  	// TargetLineItem: Required. A line item object containing the fields to be
  3195  	// updated and the new values to assign to all line items specified in
  3196  	// line_item_ids."
  3197  	TargetLineItem *LineItem `json:"targetLineItem,omitempty"`
  3198  	// UpdateMask: Required. A field mask identifying which fields to update. Only
  3199  	// the following fields are currently supported: * entityStatus
  3200  	UpdateMask string `json:"updateMask,omitempty"`
  3201  	// ForceSendFields is a list of field names (e.g. "LineItemIds") to
  3202  	// unconditionally include in API requests. By default, fields with empty or
  3203  	// default values are omitted from API requests. See
  3204  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3205  	// details.
  3206  	ForceSendFields []string `json:"-"`
  3207  	// NullFields is a list of field names (e.g. "LineItemIds") to include in API
  3208  	// requests with the JSON null value. By default, fields with empty values are
  3209  	// omitted from API requests. See
  3210  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3211  	NullFields []string `json:"-"`
  3212  }
  3213  
  3214  func (s *BulkUpdateLineItemsRequest) MarshalJSON() ([]byte, error) {
  3215  	type NoMethod BulkUpdateLineItemsRequest
  3216  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3217  }
  3218  
  3219  // BulkUpdateLineItemsResponse: Response message for
  3220  // LineItemService.BulkUpdateLineItems.
  3221  type BulkUpdateLineItemsResponse struct {
  3222  	// Errors: Errors returned by line items that failed to update.
  3223  	Errors []*Status `json:"errors,omitempty"`
  3224  	// FailedLineItemIds: The IDs of line items that failed to update.
  3225  	FailedLineItemIds googleapi.Int64s `json:"failedLineItemIds,omitempty"`
  3226  	// SkippedLineItemIds: The IDs of line items that are skipped for updates. For
  3227  	// example, unnecessary mutates that will result in effectively no changes to
  3228  	// line items will be skipped and corresponding line item IDs can be tracked
  3229  	// here.
  3230  	SkippedLineItemIds googleapi.Int64s `json:"skippedLineItemIds,omitempty"`
  3231  	// UpdatedLineItemIds: The IDs of successfully updated line items.
  3232  	UpdatedLineItemIds googleapi.Int64s `json:"updatedLineItemIds,omitempty"`
  3233  
  3234  	// ServerResponse contains the HTTP response code and headers from the server.
  3235  	googleapi.ServerResponse `json:"-"`
  3236  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  3237  	// include in API requests. By default, fields with empty or default values are
  3238  	// omitted from API requests. See
  3239  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3240  	// details.
  3241  	ForceSendFields []string `json:"-"`
  3242  	// NullFields is a list of field names (e.g. "Errors") to include in API
  3243  	// requests with the JSON null value. By default, fields with empty values are
  3244  	// omitted from API requests. See
  3245  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3246  	NullFields []string `json:"-"`
  3247  }
  3248  
  3249  func (s *BulkUpdateLineItemsResponse) MarshalJSON() ([]byte, error) {
  3250  	type NoMethod BulkUpdateLineItemsResponse
  3251  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3252  }
  3253  
  3254  // BumperAd: Details for a bumper ad.
  3255  type BumperAd struct {
  3256  	// CommonInStreamAttribute: Common ad attributes.
  3257  	CommonInStreamAttribute *CommonInStreamAttribute `json:"commonInStreamAttribute,omitempty"`
  3258  	// ForceSendFields is a list of field names (e.g. "CommonInStreamAttribute") to
  3259  	// unconditionally include in API requests. By default, fields with empty or
  3260  	// default values are omitted from API requests. See
  3261  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3262  	// details.
  3263  	ForceSendFields []string `json:"-"`
  3264  	// NullFields is a list of field names (e.g. "CommonInStreamAttribute") to
  3265  	// include in API requests with the JSON null value. By default, fields with
  3266  	// empty values are omitted from API requests. See
  3267  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3268  	NullFields []string `json:"-"`
  3269  }
  3270  
  3271  func (s *BumperAd) MarshalJSON() ([]byte, error) {
  3272  	type NoMethod BumperAd
  3273  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3274  }
  3275  
  3276  // BusinessChainAssignedTargetingOptionDetails: Details for assigned Business
  3277  // chain targeting option. This will be populated in the details field of an
  3278  // AssignedTargetingOption when targeting_type is
  3279  // `TARGETING_TYPE_BUSINESS_CHAIN`.
  3280  type BusinessChainAssignedTargetingOptionDetails struct {
  3281  	// DisplayName: Output only. The display name of a business chain, e.g. "KFC",
  3282  	// "Chase Bank".
  3283  	DisplayName string `json:"displayName,omitempty"`
  3284  	// ProximityRadiusAmount: Required. The radius of the area around the business
  3285  	// chain that will be targeted. The units of the radius are specified by
  3286  	// proximity_radius_unit. Must be 1 to 800 if unit is
  3287  	// `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
  3288  	// The minimum increment for both cases is 0.1. Inputs will be rounded to the
  3289  	// nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
  3290  	ProximityRadiusAmount float64 `json:"proximityRadiusAmount,omitempty"`
  3291  	// ProximityRadiusUnit: Required. The unit of distance by which the targeting
  3292  	// radius is measured.
  3293  	//
  3294  	// Possible values:
  3295  	//   "DISTANCE_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in
  3296  	// this version.
  3297  	//   "DISTANCE_UNIT_MILES" - Miles.
  3298  	//   "DISTANCE_UNIT_KILOMETERS" - Kilometers.
  3299  	ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"`
  3300  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  3301  	// type `TARGETING_TYPE_BUSINESS_CHAIN`. Accepted business chain targeting
  3302  	// option IDs can be retrieved using SearchTargetingOptions.
  3303  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  3304  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3305  	// unconditionally include in API requests. By default, fields with empty or
  3306  	// default values are omitted from API requests. See
  3307  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3308  	// details.
  3309  	ForceSendFields []string `json:"-"`
  3310  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3311  	// requests with the JSON null value. By default, fields with empty values are
  3312  	// omitted from API requests. See
  3313  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3314  	NullFields []string `json:"-"`
  3315  }
  3316  
  3317  func (s *BusinessChainAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  3318  	type NoMethod BusinessChainAssignedTargetingOptionDetails
  3319  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3320  }
  3321  
  3322  func (s *BusinessChainAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error {
  3323  	type NoMethod BusinessChainAssignedTargetingOptionDetails
  3324  	var s1 struct {
  3325  		ProximityRadiusAmount gensupport.JSONFloat64 `json:"proximityRadiusAmount"`
  3326  		*NoMethod
  3327  	}
  3328  	s1.NoMethod = (*NoMethod)(s)
  3329  	if err := json.Unmarshal(data, &s1); err != nil {
  3330  		return err
  3331  	}
  3332  	s.ProximityRadiusAmount = float64(s1.ProximityRadiusAmount)
  3333  	return nil
  3334  }
  3335  
  3336  // BusinessChainSearchTerms: Search terms for Business Chain targeting options.
  3337  // At least one of the field should be populated.
  3338  type BusinessChainSearchTerms struct {
  3339  	// BusinessChainQuery: The search query for the desired business chain. The
  3340  	// query must be the full name of the business, e.g. "KFC", "mercedes-benz".
  3341  	BusinessChainQuery string `json:"businessChainQuery,omitempty"`
  3342  	// RegionQuery: The search query for the desired geo region, e.g. "Seattle",
  3343  	// "United State".
  3344  	RegionQuery string `json:"regionQuery,omitempty"`
  3345  	// ForceSendFields is a list of field names (e.g. "BusinessChainQuery") to
  3346  	// unconditionally include in API requests. By default, fields with empty or
  3347  	// default values are omitted from API requests. See
  3348  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3349  	// details.
  3350  	ForceSendFields []string `json:"-"`
  3351  	// NullFields is a list of field names (e.g. "BusinessChainQuery") to include
  3352  	// in API requests with the JSON null value. By default, fields with empty
  3353  	// values are omitted from API requests. See
  3354  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3355  	NullFields []string `json:"-"`
  3356  }
  3357  
  3358  func (s *BusinessChainSearchTerms) MarshalJSON() ([]byte, error) {
  3359  	type NoMethod BusinessChainSearchTerms
  3360  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3361  }
  3362  
  3363  // BusinessChainTargetingOptionDetails: Represents a targetable business chain
  3364  // within a geo region. This will be populated in the business_chain_details
  3365  // field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
  3366  type BusinessChainTargetingOptionDetails struct {
  3367  	// BusinessChain: Output only. The display name of the business chain, e.g.
  3368  	// "KFC", "Chase Bank".
  3369  	BusinessChain string `json:"businessChain,omitempty"`
  3370  	// GeoRegion: Output only. The display name of the geographic region, e.g.
  3371  	// "Ontario, Canada".
  3372  	GeoRegion string `json:"geoRegion,omitempty"`
  3373  	// GeoRegionType: Output only. The type of the geographic region.
  3374  	//
  3375  	// Possible values:
  3376  	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
  3377  	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
  3378  	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
  3379  	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
  3380  	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
  3381  	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
  3382  	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
  3383  	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a prefecture.
  3384  	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a governorate.
  3385  	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
  3386  	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a union
  3387  	// territory.
  3388  	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is an
  3389  	// autonomous community.
  3390  	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a designated
  3391  	// market area (DMA) region.
  3392  	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
  3393  	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is a
  3394  	// congressional district.
  3395  	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
  3396  	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a municipality.
  3397  	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
  3398  	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting type is
  3399  	// postal code.
  3400  	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type is
  3401  	// department.
  3402  	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
  3403  	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
  3404  	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
  3405  	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
  3406  	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city region.
  3407  	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
  3408  	// arrondissement.
  3409  	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a neighborhood.
  3410  	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a university.
  3411  	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
  3412  	GeoRegionType string `json:"geoRegionType,omitempty"`
  3413  	// ForceSendFields is a list of field names (e.g. "BusinessChain") to
  3414  	// unconditionally include in API requests. By default, fields with empty or
  3415  	// default values are omitted from API requests. See
  3416  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3417  	// details.
  3418  	ForceSendFields []string `json:"-"`
  3419  	// NullFields is a list of field names (e.g. "BusinessChain") to include in API
  3420  	// requests with the JSON null value. By default, fields with empty values are
  3421  	// omitted from API requests. See
  3422  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3423  	NullFields []string `json:"-"`
  3424  }
  3425  
  3426  func (s *BusinessChainTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  3427  	type NoMethod BusinessChainTargetingOptionDetails
  3428  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3429  }
  3430  
  3431  // Campaign: A single campaign.
  3432  type Campaign struct {
  3433  	// AdvertiserId: Output only. The unique ID of the advertiser the campaign
  3434  	// belongs to.
  3435  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  3436  	// CampaignBudgets: The list of budgets available to this campaign. If this
  3437  	// field is not set, the campaign uses an unlimited budget.
  3438  	CampaignBudgets []*CampaignBudget `json:"campaignBudgets,omitempty"`
  3439  	// CampaignFlight: Required. The planned spend and duration of the campaign.
  3440  	CampaignFlight *CampaignFlight `json:"campaignFlight,omitempty"`
  3441  	// CampaignGoal: Required. The goal of the campaign.
  3442  	CampaignGoal *CampaignGoal `json:"campaignGoal,omitempty"`
  3443  	// CampaignId: Output only. The unique ID of the campaign. Assigned by the
  3444  	// system.
  3445  	CampaignId int64 `json:"campaignId,omitempty,string"`
  3446  	// DisplayName: Required. The display name of the campaign. Must be UTF-8
  3447  	// encoded with a maximum size of 240 bytes.
  3448  	DisplayName string `json:"displayName,omitempty"`
  3449  	// EntityStatus: Required. Controls whether or not the insertion orders under
  3450  	// this campaign can spend their budgets and bid on inventory. * Accepted
  3451  	// values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and
  3452  	// `ENTITY_STATUS_PAUSED`. * For CreateCampaign method,
  3453  	// `ENTITY_STATUS_ARCHIVED` is not allowed.
  3454  	//
  3455  	// Possible values:
  3456  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  3457  	// or is unknown in this version.
  3458  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  3459  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  3460  	// spending are disabled. An entity can be deleted after archived. Deleted
  3461  	// entities cannot be retrieved.
  3462  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  3463  	// spending are disabled.
  3464  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  3465  	// entity.
  3466  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  3467  	// deletion.
  3468  	EntityStatus string `json:"entityStatus,omitempty"`
  3469  	// FrequencyCap: Required. The frequency cap setting of the campaign.
  3470  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  3471  	// Name: Output only. The resource name of the campaign.
  3472  	Name string `json:"name,omitempty"`
  3473  	// UpdateTime: Output only. The timestamp when the campaign was last updated.
  3474  	// Assigned by the system.
  3475  	UpdateTime string `json:"updateTime,omitempty"`
  3476  
  3477  	// ServerResponse contains the HTTP response code and headers from the server.
  3478  	googleapi.ServerResponse `json:"-"`
  3479  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  3480  	// unconditionally include in API requests. By default, fields with empty or
  3481  	// default values are omitted from API requests. See
  3482  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3483  	// details.
  3484  	ForceSendFields []string `json:"-"`
  3485  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  3486  	// requests with the JSON null value. By default, fields with empty values are
  3487  	// omitted from API requests. See
  3488  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3489  	NullFields []string `json:"-"`
  3490  }
  3491  
  3492  func (s *Campaign) MarshalJSON() ([]byte, error) {
  3493  	type NoMethod Campaign
  3494  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3495  }
  3496  
  3497  // CampaignBudget: Settings that control how the campaign budget is allocated.
  3498  type CampaignBudget struct {
  3499  	// BudgetAmountMicros: Required. The total amount the linked insertion order
  3500  	// segments can budget. The amount is in micros. Must be greater than 0. For
  3501  	// example, 500000000 represents 500 standard units of the currency.
  3502  	BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"`
  3503  	// BudgetId: The unique ID of the campaign budget. Assigned by the system. Do
  3504  	// not set for new budgets. Must be included when updating or adding budgets to
  3505  	// campaign_budgets. Otherwise, a new ID will be generated and assigned.
  3506  	BudgetId int64 `json:"budgetId,omitempty,string"`
  3507  	// BudgetUnit: Required. Immutable. Specifies whether the budget is measured in
  3508  	// currency or impressions.
  3509  	//
  3510  	// Possible values:
  3511  	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in
  3512  	// this version.
  3513  	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
  3514  	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
  3515  	BudgetUnit string `json:"budgetUnit,omitempty"`
  3516  	// DateRange: Required. The date range for the campaign budget. Linked budget
  3517  	// segments may have a different date range. They are resolved relative to the
  3518  	// parent advertiser's time zone. Both `start_date` and `end_date` must be
  3519  	// before the year 2037.
  3520  	DateRange *DateRange `json:"dateRange,omitempty"`
  3521  	// DisplayName: Required. The display name of the budget. Must be UTF-8 encoded
  3522  	// with a maximum size of 240 bytes.
  3523  	DisplayName string `json:"displayName,omitempty"`
  3524  	// ExternalBudgetId: Immutable. The ID identifying this budget to the external
  3525  	// source. If this field is set and the invoice detail level of the
  3526  	// corresponding billing profile is set to "Budget level PO", all impressions
  3527  	// served against this budget will include this ID on the invoice. Must be
  3528  	// unique under the campaign.
  3529  	ExternalBudgetId string `json:"externalBudgetId,omitempty"`
  3530  	// ExternalBudgetSource: Required. The external source of the budget.
  3531  	//
  3532  	// Possible values:
  3533  	//   "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED" - External budget source value is not
  3534  	// specified or unknown in this version.
  3535  	//   "EXTERNAL_BUDGET_SOURCE_NONE" - Budget has no external source.
  3536  	//   "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" - Budget source is Mediaocean.
  3537  	ExternalBudgetSource string `json:"externalBudgetSource,omitempty"`
  3538  	// InvoiceGroupingId: Immutable. The ID used to group budgets to be included
  3539  	// the same invoice. If this field is set and the invoice level of the
  3540  	// corresponding billing profile is set to "Budget invoice grouping ID", all
  3541  	// external_budget_id sharing the same invoice_grouping_id will be grouped in
  3542  	// the same invoice.
  3543  	InvoiceGroupingId string `json:"invoiceGroupingId,omitempty"`
  3544  	// PrismaConfig: Additional metadata for use by the Mediaocean Prisma tool.
  3545  	// Required for Mediaocean budgets. Only applicable to prisma_enabled
  3546  	// advertisers.
  3547  	PrismaConfig *PrismaConfig `json:"prismaConfig,omitempty"`
  3548  	// ForceSendFields is a list of field names (e.g. "BudgetAmountMicros") to
  3549  	// unconditionally include in API requests. By default, fields with empty or
  3550  	// default values are omitted from API requests. See
  3551  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3552  	// details.
  3553  	ForceSendFields []string `json:"-"`
  3554  	// NullFields is a list of field names (e.g. "BudgetAmountMicros") to include
  3555  	// in API requests with the JSON null value. By default, fields with empty
  3556  	// values are omitted from API requests. See
  3557  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3558  	NullFields []string `json:"-"`
  3559  }
  3560  
  3561  func (s *CampaignBudget) MarshalJSON() ([]byte, error) {
  3562  	type NoMethod CampaignBudget
  3563  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3564  }
  3565  
  3566  // CampaignFlight: Settings that track the planned spend and duration of a
  3567  // campaign.
  3568  type CampaignFlight struct {
  3569  	// PlannedDates: Required. The dates that the campaign is expected to run. They
  3570  	// are resolved relative to the parent advertiser's time zone. * The dates
  3571  	// specified here will not affect serving. They are used to generate alerts and
  3572  	// warnings. For example, if the flight date of any child insertion order is
  3573  	// outside the range of these dates, the user interface will show a warning. *
  3574  	// `start_date` is required and must be the current date or later. * `end_date`
  3575  	// is optional. If specified, it must be the `start_date` or later. * Any
  3576  	// specified date must be before the year 2037.
  3577  	PlannedDates *DateRange `json:"plannedDates,omitempty"`
  3578  	// PlannedSpendAmountMicros: The amount the campaign is expected to spend for
  3579  	// its given planned_dates. This will not limit serving, but will be used for
  3580  	// tracking spend in the DV360 UI. The amount is in micros. Must be greater
  3581  	// than or equal to 0. For example, 500000000 represents 500 standard units of
  3582  	// the currency.
  3583  	PlannedSpendAmountMicros int64 `json:"plannedSpendAmountMicros,omitempty,string"`
  3584  	// ForceSendFields is a list of field names (e.g. "PlannedDates") to
  3585  	// unconditionally include in API requests. By default, fields with empty or
  3586  	// default values are omitted from API requests. See
  3587  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3588  	// details.
  3589  	ForceSendFields []string `json:"-"`
  3590  	// NullFields is a list of field names (e.g. "PlannedDates") to include in API
  3591  	// requests with the JSON null value. By default, fields with empty values are
  3592  	// omitted from API requests. See
  3593  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3594  	NullFields []string `json:"-"`
  3595  }
  3596  
  3597  func (s *CampaignFlight) MarshalJSON() ([]byte, error) {
  3598  	type NoMethod CampaignFlight
  3599  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3600  }
  3601  
  3602  // CampaignGoal: Settings that control the goal of a campaign.
  3603  type CampaignGoal struct {
  3604  	// CampaignGoalType: Required. The type of the campaign goal.
  3605  	//
  3606  	// Possible values:
  3607  	//   "CAMPAIGN_GOAL_TYPE_UNSPECIFIED" - Goal value is not specified or unknown
  3608  	// in this version.
  3609  	//   "CAMPAIGN_GOAL_TYPE_APP_INSTALL" - Drive app installs or engagements.
  3610  	//   "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS" - Raise awareness of a brand or
  3611  	// product.
  3612  	//   "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION" - Drive offline or in-store sales.
  3613  	//   "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" - Drive online action or visits.
  3614  	CampaignGoalType string `json:"campaignGoalType,omitempty"`
  3615  	// PerformanceGoal: Required. The performance goal of the campaign. Acceptable
  3616  	// values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` *
  3617  	// `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` *
  3618  	// `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` *
  3619  	// `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER`
  3620  	PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"`
  3621  	// ForceSendFields is a list of field names (e.g. "CampaignGoalType") to
  3622  	// unconditionally include in API requests. By default, fields with empty or
  3623  	// default values are omitted from API requests. See
  3624  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3625  	// details.
  3626  	ForceSendFields []string `json:"-"`
  3627  	// NullFields is a list of field names (e.g. "CampaignGoalType") to include in
  3628  	// API requests with the JSON null value. By default, fields with empty values
  3629  	// are omitted from API requests. See
  3630  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3631  	NullFields []string `json:"-"`
  3632  }
  3633  
  3634  func (s *CampaignGoal) MarshalJSON() ([]byte, error) {
  3635  	type NoMethod CampaignGoal
  3636  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3637  }
  3638  
  3639  // CarrierAndIspAssignedTargetingOptionDetails: Details for assigned carrier
  3640  // and ISP targeting option. This will be populated in the details field of an
  3641  // AssignedTargetingOption when targeting_type is
  3642  // `TARGETING_TYPE_CARRIER_AND_ISP`.
  3643  type CarrierAndIspAssignedTargetingOptionDetails struct {
  3644  	// DisplayName: Output only. The display name of the carrier or ISP.
  3645  	DisplayName string `json:"displayName,omitempty"`
  3646  	// Negative: Indicates if this option is being negatively targeted. All
  3647  	// assigned carrier and ISP targeting options on the same resource must have
  3648  	// the same value for this field.
  3649  	Negative bool `json:"negative,omitempty"`
  3650  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  3651  	// type `TARGETING_TYPE_CARRIER_AND_ISP`.
  3652  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  3653  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3654  	// unconditionally include in API requests. By default, fields with empty or
  3655  	// default values are omitted from API requests. See
  3656  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3657  	// details.
  3658  	ForceSendFields []string `json:"-"`
  3659  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3660  	// requests with the JSON null value. By default, fields with empty values are
  3661  	// omitted from API requests. See
  3662  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3663  	NullFields []string `json:"-"`
  3664  }
  3665  
  3666  func (s *CarrierAndIspAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  3667  	type NoMethod CarrierAndIspAssignedTargetingOptionDetails
  3668  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3669  }
  3670  
  3671  // CarrierAndIspTargetingOptionDetails: Represents a targetable carrier or ISP.
  3672  // This will be populated in the carrier_and_isp_details field of a
  3673  // TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
  3674  type CarrierAndIspTargetingOptionDetails struct {
  3675  	// DisplayName: Output only. The display name of the carrier or ISP.
  3676  	DisplayName string `json:"displayName,omitempty"`
  3677  	// Type: Output only. The type indicating if it's carrier or ISP.
  3678  	//
  3679  	// Possible values:
  3680  	//   "CARRIER_AND_ISP_TYPE_UNSPECIFIED" - Default value when type is not
  3681  	// specified or is unknown in this version.
  3682  	//   "CARRIER_AND_ISP_TYPE_ISP" - Indicates this targeting resource refers to
  3683  	// an ISP.
  3684  	//   "CARRIER_AND_ISP_TYPE_CARRIER" - Indicates this targeting resource refers
  3685  	// to a mobile carrier.
  3686  	Type string `json:"type,omitempty"`
  3687  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3688  	// unconditionally include in API requests. By default, fields with empty or
  3689  	// default values are omitted from API requests. See
  3690  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3691  	// details.
  3692  	ForceSendFields []string `json:"-"`
  3693  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3694  	// requests with the JSON null value. By default, fields with empty values are
  3695  	// omitted from API requests. See
  3696  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3697  	NullFields []string `json:"-"`
  3698  }
  3699  
  3700  func (s *CarrierAndIspTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  3701  	type NoMethod CarrierAndIspTargetingOptionDetails
  3702  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3703  }
  3704  
  3705  // CategoryAssignedTargetingOptionDetails: Assigned category targeting option
  3706  // details. This will be populated in the category_details field when
  3707  // targeting_type is `TARGETING_TYPE_CATEGORY`.
  3708  type CategoryAssignedTargetingOptionDetails struct {
  3709  	// DisplayName: Output only. The display name of the category.
  3710  	DisplayName string `json:"displayName,omitempty"`
  3711  	// Negative: Indicates if this option is being negatively targeted.
  3712  	Negative bool `json:"negative,omitempty"`
  3713  	// TargetingOptionId: Required. The targeting_option_id field when
  3714  	// targeting_type is `TARGETING_TYPE_CATEGORY`.
  3715  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  3716  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3717  	// unconditionally include in API requests. By default, fields with empty or
  3718  	// default values are omitted from API requests. See
  3719  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3720  	// details.
  3721  	ForceSendFields []string `json:"-"`
  3722  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3723  	// requests with the JSON null value. By default, fields with empty values are
  3724  	// omitted from API requests. See
  3725  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3726  	NullFields []string `json:"-"`
  3727  }
  3728  
  3729  func (s *CategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  3730  	type NoMethod CategoryAssignedTargetingOptionDetails
  3731  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3732  }
  3733  
  3734  // CategoryTargetingOptionDetails: Represents a targetable category. This will
  3735  // be populated in the category_details field of a TargetingOption when
  3736  // targeting_type is `TARGETING_TYPE_CATEGORY`.
  3737  type CategoryTargetingOptionDetails struct {
  3738  	// DisplayName: Output only. The display name of the category.
  3739  	DisplayName string `json:"displayName,omitempty"`
  3740  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3741  	// unconditionally include in API requests. By default, fields with empty or
  3742  	// default values are omitted from API requests. See
  3743  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3744  	// details.
  3745  	ForceSendFields []string `json:"-"`
  3746  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3747  	// requests with the JSON null value. By default, fields with empty values are
  3748  	// omitted from API requests. See
  3749  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3750  	NullFields []string `json:"-"`
  3751  }
  3752  
  3753  func (s *CategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  3754  	type NoMethod CategoryTargetingOptionDetails
  3755  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3756  }
  3757  
  3758  // Channel: A single channel. Channels are custom groups of related websites
  3759  // and apps.
  3760  type Channel struct {
  3761  	// AdvertiserId: The ID of the advertiser that owns the channel.
  3762  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  3763  	// ChannelId: Output only. The unique ID of the channel. Assigned by the
  3764  	// system.
  3765  	ChannelId int64 `json:"channelId,omitempty,string"`
  3766  	// DisplayName: Required. The display name of the channel. Must be UTF-8
  3767  	// encoded with a maximum length of 240 bytes.
  3768  	DisplayName string `json:"displayName,omitempty"`
  3769  	// Name: Output only. The resource name of the channel.
  3770  	Name string `json:"name,omitempty"`
  3771  	// NegativelyTargetedLineItemCount: Output only. Number of line items that are
  3772  	// directly targeting this channel negatively.
  3773  	NegativelyTargetedLineItemCount int64 `json:"negativelyTargetedLineItemCount,omitempty,string"`
  3774  	// PartnerId: The ID of the partner that owns the channel.
  3775  	PartnerId int64 `json:"partnerId,omitempty,string"`
  3776  	// PositivelyTargetedLineItemCount: Output only. Number of line items that are
  3777  	// directly targeting this channel positively.
  3778  	PositivelyTargetedLineItemCount int64 `json:"positivelyTargetedLineItemCount,omitempty,string"`
  3779  
  3780  	// ServerResponse contains the HTTP response code and headers from the server.
  3781  	googleapi.ServerResponse `json:"-"`
  3782  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  3783  	// unconditionally include in API requests. By default, fields with empty or
  3784  	// default values are omitted from API requests. See
  3785  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3786  	// details.
  3787  	ForceSendFields []string `json:"-"`
  3788  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  3789  	// requests with the JSON null value. By default, fields with empty values are
  3790  	// omitted from API requests. See
  3791  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3792  	NullFields []string `json:"-"`
  3793  }
  3794  
  3795  func (s *Channel) MarshalJSON() ([]byte, error) {
  3796  	type NoMethod Channel
  3797  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3798  }
  3799  
  3800  // ChannelAssignedTargetingOptionDetails: Details for assigned channel
  3801  // targeting option. This will be populated in the details field of an
  3802  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CHANNEL`.
  3803  type ChannelAssignedTargetingOptionDetails struct {
  3804  	// ChannelId: Required. ID of the channel. Should refer to the channel ID field
  3805  	// on a Partner-owned channel (partners.channels#Channel.FIELDS.channel_id) or
  3806  	// advertiser-owned channel (advertisers.channels#Channel.FIELDS.channel_id)
  3807  	// resource.
  3808  	ChannelId int64 `json:"channelId,omitempty,string"`
  3809  	// Negative: Indicates if this option is being negatively targeted. For
  3810  	// advertiser level assigned targeting option, this field must be true.
  3811  	Negative bool `json:"negative,omitempty"`
  3812  	// ForceSendFields is a list of field names (e.g. "ChannelId") to
  3813  	// unconditionally include in API requests. By default, fields with empty or
  3814  	// default values are omitted from API requests. See
  3815  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3816  	// details.
  3817  	ForceSendFields []string `json:"-"`
  3818  	// NullFields is a list of field names (e.g. "ChannelId") to include in API
  3819  	// requests with the JSON null value. By default, fields with empty values are
  3820  	// omitted from API requests. See
  3821  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3822  	NullFields []string `json:"-"`
  3823  }
  3824  
  3825  func (s *ChannelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  3826  	type NoMethod ChannelAssignedTargetingOptionDetails
  3827  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3828  }
  3829  
  3830  // CmHybridConfig: Settings for advertisers that use both Campaign Manager 360
  3831  // (CM360) and third-party ad servers.
  3832  type CmHybridConfig struct {
  3833  	// CmAccountId: Required. Immutable. Account ID of the CM360 Floodlight
  3834  	// configuration linked with the DV360 advertiser.
  3835  	CmAccountId int64 `json:"cmAccountId,omitempty,string"`
  3836  	// CmAdvertiserIds: Output only. The set of CM360 Advertiser IDs sharing the
  3837  	// CM360 Floodlight configuration.
  3838  	CmAdvertiserIds googleapi.Int64s `json:"cmAdvertiserIds,omitempty"`
  3839  	// CmFloodlightConfigId: Required. Immutable. ID of the CM360 Floodlight
  3840  	// configuration linked with the DV360 advertiser.
  3841  	CmFloodlightConfigId int64 `json:"cmFloodlightConfigId,omitempty,string"`
  3842  	// CmFloodlightLinkingAuthorized: Required. Immutable. By setting this field to
  3843  	// `true`, you, on behalf of your company, authorize the sharing of information
  3844  	// from the given Floodlight configuration to this Display & Video 360
  3845  	// advertiser.
  3846  	CmFloodlightLinkingAuthorized bool `json:"cmFloodlightLinkingAuthorized,omitempty"`
  3847  	// CmSyncableSiteIds: A list of CM360 sites whose placements will be synced to
  3848  	// DV360 as creatives. If absent or empty in CreateAdvertiser method, the
  3849  	// system will automatically create a CM360 site. Removing sites from this list
  3850  	// may cause DV360 creatives synced from CM360 to be deleted. At least one site
  3851  	// must be specified.
  3852  	CmSyncableSiteIds googleapi.Int64s `json:"cmSyncableSiteIds,omitempty"`
  3853  	// Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to CM360.
  3854  	Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"`
  3855  	// Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in CM360
  3856  	// data transfer reports.
  3857  	Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"`
  3858  	// ForceSendFields is a list of field names (e.g. "CmAccountId") to
  3859  	// unconditionally include in API requests. By default, fields with empty or
  3860  	// default values are omitted from API requests. See
  3861  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3862  	// details.
  3863  	ForceSendFields []string `json:"-"`
  3864  	// NullFields is a list of field names (e.g. "CmAccountId") to include in API
  3865  	// requests with the JSON null value. By default, fields with empty values are
  3866  	// omitted from API requests. See
  3867  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3868  	NullFields []string `json:"-"`
  3869  }
  3870  
  3871  func (s *CmHybridConfig) MarshalJSON() ([]byte, error) {
  3872  	type NoMethod CmHybridConfig
  3873  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3874  }
  3875  
  3876  // CmTrackingAd: A Campaign Manager 360 tracking ad.
  3877  type CmTrackingAd struct {
  3878  	// CmAdId: The ad ID of the campaign manager 360 tracking Ad.
  3879  	CmAdId int64 `json:"cmAdId,omitempty,string"`
  3880  	// CmCreativeId: The creative ID of the campaign manager 360 tracking Ad.
  3881  	CmCreativeId int64 `json:"cmCreativeId,omitempty,string"`
  3882  	// CmPlacementId: The placement ID of the campaign manager 360 tracking Ad.
  3883  	CmPlacementId int64 `json:"cmPlacementId,omitempty,string"`
  3884  	// ForceSendFields is a list of field names (e.g. "CmAdId") to unconditionally
  3885  	// include in API requests. By default, fields with empty or default values are
  3886  	// omitted from API requests. See
  3887  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3888  	// details.
  3889  	ForceSendFields []string `json:"-"`
  3890  	// NullFields is a list of field names (e.g. "CmAdId") to include in API
  3891  	// requests with the JSON null value. By default, fields with empty values are
  3892  	// omitted from API requests. See
  3893  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3894  	NullFields []string `json:"-"`
  3895  }
  3896  
  3897  func (s *CmTrackingAd) MarshalJSON() ([]byte, error) {
  3898  	type NoMethod CmTrackingAd
  3899  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3900  }
  3901  
  3902  // CombinedAudience: Describes a combined audience resource.
  3903  type CombinedAudience struct {
  3904  	// CombinedAudienceId: Output only. The unique ID of the combined audience.
  3905  	// Assigned by the system.
  3906  	CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"`
  3907  	// DisplayName: Output only. The display name of the combined audience. .
  3908  	DisplayName string `json:"displayName,omitempty"`
  3909  	// Name: Output only. The resource name of the combined audience.
  3910  	Name string `json:"name,omitempty"`
  3911  
  3912  	// ServerResponse contains the HTTP response code and headers from the server.
  3913  	googleapi.ServerResponse `json:"-"`
  3914  	// ForceSendFields is a list of field names (e.g. "CombinedAudienceId") to
  3915  	// unconditionally include in API requests. By default, fields with empty or
  3916  	// default values are omitted from API requests. See
  3917  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3918  	// details.
  3919  	ForceSendFields []string `json:"-"`
  3920  	// NullFields is a list of field names (e.g. "CombinedAudienceId") to include
  3921  	// in API requests with the JSON null value. By default, fields with empty
  3922  	// values are omitted from API requests. See
  3923  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3924  	NullFields []string `json:"-"`
  3925  }
  3926  
  3927  func (s *CombinedAudience) MarshalJSON() ([]byte, error) {
  3928  	type NoMethod CombinedAudience
  3929  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3930  }
  3931  
  3932  // CombinedAudienceGroup: Details of combined audience group. All combined
  3933  // audience targeting settings are logically ‘OR’ of each other.
  3934  type CombinedAudienceGroup struct {
  3935  	// Settings: Required. All combined audience targeting settings in combined
  3936  	// audience group. Repeated settings with same id will be ignored. The number
  3937  	// of combined audience settings should be no more than five, error will be
  3938  	// thrown otherwise.
  3939  	Settings []*CombinedAudienceTargetingSetting `json:"settings,omitempty"`
  3940  	// ForceSendFields is a list of field names (e.g. "Settings") to
  3941  	// unconditionally include in API requests. By default, fields with empty or
  3942  	// default values are omitted from API requests. See
  3943  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3944  	// details.
  3945  	ForceSendFields []string `json:"-"`
  3946  	// NullFields is a list of field names (e.g. "Settings") to include in API
  3947  	// requests with the JSON null value. By default, fields with empty values are
  3948  	// omitted from API requests. See
  3949  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3950  	NullFields []string `json:"-"`
  3951  }
  3952  
  3953  func (s *CombinedAudienceGroup) MarshalJSON() ([]byte, error) {
  3954  	type NoMethod CombinedAudienceGroup
  3955  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3956  }
  3957  
  3958  // CombinedAudienceTargetingSetting: Details of combined audience targeting
  3959  // setting.
  3960  type CombinedAudienceTargetingSetting struct {
  3961  	// CombinedAudienceId: Required. Combined audience id of combined audience
  3962  	// targeting setting. This id is combined_audience_id.
  3963  	CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"`
  3964  	// ForceSendFields is a list of field names (e.g. "CombinedAudienceId") to
  3965  	// unconditionally include in API requests. By default, fields with empty or
  3966  	// default values are omitted from API requests. See
  3967  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3968  	// details.
  3969  	ForceSendFields []string `json:"-"`
  3970  	// NullFields is a list of field names (e.g. "CombinedAudienceId") to include
  3971  	// in API requests with the JSON null value. By default, fields with empty
  3972  	// values are omitted from API requests. See
  3973  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3974  	NullFields []string `json:"-"`
  3975  }
  3976  
  3977  func (s *CombinedAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
  3978  	type NoMethod CombinedAudienceTargetingSetting
  3979  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3980  }
  3981  
  3982  // CommonInStreamAttribute: Common attributes for in-stream, non-skippable and
  3983  // bumper ads.
  3984  type CommonInStreamAttribute struct {
  3985  	// ActionButtonLabel: The text on the call-to-action button.
  3986  	ActionButtonLabel string `json:"actionButtonLabel,omitempty"`
  3987  	// ActionHeadline: The headline of the call-to-action banner.
  3988  	ActionHeadline string `json:"actionHeadline,omitempty"`
  3989  	// CompanionBanner: The image which shows next to the video ad.
  3990  	CompanionBanner *ImageAsset `json:"companionBanner,omitempty"`
  3991  	// DisplayUrl: The webpage address that appears with the ad.
  3992  	DisplayUrl string `json:"displayUrl,omitempty"`
  3993  	// FinalUrl: The URL address of the webpage that people reach after they click
  3994  	// the ad.
  3995  	FinalUrl string `json:"finalUrl,omitempty"`
  3996  	// TrackingUrl: The URL address loaded in the background for tracking purposes.
  3997  	TrackingUrl string `json:"trackingUrl,omitempty"`
  3998  	// Video: The YouTube video of the ad.
  3999  	Video *YoutubeVideoDetails `json:"video,omitempty"`
  4000  	// ForceSendFields is a list of field names (e.g. "ActionButtonLabel") to
  4001  	// unconditionally include in API requests. By default, fields with empty or
  4002  	// default values are omitted from API requests. See
  4003  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4004  	// details.
  4005  	ForceSendFields []string `json:"-"`
  4006  	// NullFields is a list of field names (e.g. "ActionButtonLabel") to include in
  4007  	// API requests with the JSON null value. By default, fields with empty values
  4008  	// are omitted from API requests. See
  4009  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4010  	NullFields []string `json:"-"`
  4011  }
  4012  
  4013  func (s *CommonInStreamAttribute) MarshalJSON() ([]byte, error) {
  4014  	type NoMethod CommonInStreamAttribute
  4015  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4016  }
  4017  
  4018  // Consent: User consent status.
  4019  type Consent struct {
  4020  	// AdPersonalization: Represents consent for ad personalization.
  4021  	//
  4022  	// Possible values:
  4023  	//   "CONSENT_STATUS_UNSPECIFIED" - Type value is not specified or is unknown
  4024  	// in this version.
  4025  	//   "CONSENT_STATUS_GRANTED" - Consent is granted.
  4026  	//   "CONSENT_STATUS_DENIED" - Consent is denied.
  4027  	AdPersonalization string `json:"adPersonalization,omitempty"`
  4028  	// AdUserData: Represents consent for ad user data.
  4029  	//
  4030  	// Possible values:
  4031  	//   "CONSENT_STATUS_UNSPECIFIED" - Type value is not specified or is unknown
  4032  	// in this version.
  4033  	//   "CONSENT_STATUS_GRANTED" - Consent is granted.
  4034  	//   "CONSENT_STATUS_DENIED" - Consent is denied.
  4035  	AdUserData string `json:"adUserData,omitempty"`
  4036  	// ForceSendFields is a list of field names (e.g. "AdPersonalization") to
  4037  	// unconditionally include in API requests. By default, fields with empty or
  4038  	// default values are omitted from API requests. See
  4039  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4040  	// details.
  4041  	ForceSendFields []string `json:"-"`
  4042  	// NullFields is a list of field names (e.g. "AdPersonalization") to include in
  4043  	// API requests with the JSON null value. By default, fields with empty values
  4044  	// are omitted from API requests. See
  4045  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4046  	NullFields []string `json:"-"`
  4047  }
  4048  
  4049  func (s *Consent) MarshalJSON() ([]byte, error) {
  4050  	type NoMethod Consent
  4051  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4052  }
  4053  
  4054  // ContactInfo: Contact information defining a Customer Match audience member.
  4055  type ContactInfo struct {
  4056  	// CountryCode: Country code of the member. Must also be set with the following
  4057  	// fields: * hashed_first_name * hashed_last_name * zip_codes
  4058  	CountryCode string `json:"countryCode,omitempty"`
  4059  	// HashedEmails: A list of SHA256 hashed email of the member. Before hashing,
  4060  	// remove all whitespace and make sure the string is all lowercase.
  4061  	HashedEmails []string `json:"hashedEmails,omitempty"`
  4062  	// HashedFirstName: SHA256 hashed first name of the member. Before hashing,
  4063  	// remove all whitespace and make sure the string is all lowercase. Must also
  4064  	// be set with the following fields: * country_code * hashed_last_name *
  4065  	// zip_codes
  4066  	HashedFirstName string `json:"hashedFirstName,omitempty"`
  4067  	// HashedLastName: SHA256 hashed last name of the member. Before hashing,
  4068  	// remove all whitespace and make sure the string is all lowercase. Must also
  4069  	// be set with the following fields: * country_code * hashed_first_name *
  4070  	// zip_codes
  4071  	HashedLastName string `json:"hashedLastName,omitempty"`
  4072  	// HashedPhoneNumbers: A list of SHA256 hashed phone numbers of the member.
  4073  	// Before hashing, all phone numbers must be formatted using the E.164 format
  4074  	// (//en.wikipedia.org/wiki/E.164) and include the country calling code.
  4075  	HashedPhoneNumbers []string `json:"hashedPhoneNumbers,omitempty"`
  4076  	// ZipCodes: A list of zip codes of the member. Must also be set with the
  4077  	// following fields: * country_code * hashed_first_name * hashed_last_name
  4078  	ZipCodes []string `json:"zipCodes,omitempty"`
  4079  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  4080  	// unconditionally include in API requests. By default, fields with empty or
  4081  	// default values are omitted from API requests. See
  4082  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4083  	// details.
  4084  	ForceSendFields []string `json:"-"`
  4085  	// NullFields is a list of field names (e.g. "CountryCode") to include in API
  4086  	// requests with the JSON null value. By default, fields with empty values are
  4087  	// omitted from API requests. See
  4088  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4089  	NullFields []string `json:"-"`
  4090  }
  4091  
  4092  func (s *ContactInfo) MarshalJSON() ([]byte, error) {
  4093  	type NoMethod ContactInfo
  4094  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4095  }
  4096  
  4097  // ContactInfoList: Wrapper message for a list of contact information defining
  4098  // Customer Match audience members.
  4099  type ContactInfoList struct {
  4100  	// Consent: Input only. The consent setting for the users in contact_infos.
  4101  	// Leaving this field unset indicates that consent is not specified. If
  4102  	// ad_user_data or ad_personalization fields are set to
  4103  	// `CONSENT_STATUS_DENIED`, the request will return an error.
  4104  	Consent *Consent `json:"consent,omitempty"`
  4105  	// ContactInfos: A list of ContactInfo objects defining Customer Match audience
  4106  	// members. The size of members after splitting the contact_infos mustn't be
  4107  	// greater than 500,000.
  4108  	ContactInfos []*ContactInfo `json:"contactInfos,omitempty"`
  4109  	// ForceSendFields is a list of field names (e.g. "Consent") to unconditionally
  4110  	// include in API requests. By default, fields with empty or default values are
  4111  	// omitted from API requests. See
  4112  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4113  	// details.
  4114  	ForceSendFields []string `json:"-"`
  4115  	// NullFields is a list of field names (e.g. "Consent") to include in API
  4116  	// requests with the JSON null value. By default, fields with empty values are
  4117  	// omitted from API requests. See
  4118  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4119  	NullFields []string `json:"-"`
  4120  }
  4121  
  4122  func (s *ContactInfoList) MarshalJSON() ([]byte, error) {
  4123  	type NoMethod ContactInfoList
  4124  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4125  }
  4126  
  4127  // ContentDurationAssignedTargetingOptionDetails: Details for content duration
  4128  // assigned targeting option. This will be populated in the
  4129  // content_duration_details field when targeting_type is
  4130  // `TARGETING_TYPE_CONTENT_DURATION`. Explicitly targeting all options is not
  4131  // supported. Remove all content duration targeting options to achieve this
  4132  // effect.
  4133  type ContentDurationAssignedTargetingOptionDetails struct {
  4134  	// ContentDuration: Output only. The content duration.
  4135  	//
  4136  	// Possible values:
  4137  	//   "CONTENT_DURATION_UNSPECIFIED" - Content duration is not specified in this
  4138  	// version. This enum is a place holder for a default value and does not
  4139  	// represent a real content duration.
  4140  	//   "CONTENT_DURATION_UNKNOWN" - The content duration is unknown.
  4141  	//   "CONTENT_DURATION_0_TO_1_MIN" - Content is 0-1 minute long.
  4142  	//   "CONTENT_DURATION_1_TO_5_MIN" - Content is 1-5 minutes long.
  4143  	//   "CONTENT_DURATION_5_TO_15_MIN" - Content is 5-15 minutes long.
  4144  	//   "CONTENT_DURATION_15_TO_30_MIN" - Content is 15-30 minutes long.
  4145  	//   "CONTENT_DURATION_30_TO_60_MIN" - Content is 30-60 minutes long.
  4146  	//   "CONTENT_DURATION_OVER_60_MIN" - Content is over 60 minutes long.
  4147  	ContentDuration string `json:"contentDuration,omitempty"`
  4148  	// TargetingOptionId: Required. The targeting_option_id field when
  4149  	// targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.
  4150  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  4151  	// ForceSendFields is a list of field names (e.g. "ContentDuration") to
  4152  	// unconditionally include in API requests. By default, fields with empty or
  4153  	// default values are omitted from API requests. See
  4154  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4155  	// details.
  4156  	ForceSendFields []string `json:"-"`
  4157  	// NullFields is a list of field names (e.g. "ContentDuration") to include in
  4158  	// API requests with the JSON null value. By default, fields with empty values
  4159  	// are omitted from API requests. See
  4160  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4161  	NullFields []string `json:"-"`
  4162  }
  4163  
  4164  func (s *ContentDurationAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4165  	type NoMethod ContentDurationAssignedTargetingOptionDetails
  4166  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4167  }
  4168  
  4169  // ContentDurationTargetingOptionDetails: Represents a targetable content
  4170  // duration. This will be populated in the content_duration_details field when
  4171  // targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.
  4172  type ContentDurationTargetingOptionDetails struct {
  4173  	// ContentDuration: Output only. The content duration.
  4174  	//
  4175  	// Possible values:
  4176  	//   "CONTENT_DURATION_UNSPECIFIED" - Content duration is not specified in this
  4177  	// version. This enum is a place holder for a default value and does not
  4178  	// represent a real content duration.
  4179  	//   "CONTENT_DURATION_UNKNOWN" - The content duration is unknown.
  4180  	//   "CONTENT_DURATION_0_TO_1_MIN" - Content is 0-1 minute long.
  4181  	//   "CONTENT_DURATION_1_TO_5_MIN" - Content is 1-5 minutes long.
  4182  	//   "CONTENT_DURATION_5_TO_15_MIN" - Content is 5-15 minutes long.
  4183  	//   "CONTENT_DURATION_15_TO_30_MIN" - Content is 15-30 minutes long.
  4184  	//   "CONTENT_DURATION_30_TO_60_MIN" - Content is 30-60 minutes long.
  4185  	//   "CONTENT_DURATION_OVER_60_MIN" - Content is over 60 minutes long.
  4186  	ContentDuration string `json:"contentDuration,omitempty"`
  4187  	// ForceSendFields is a list of field names (e.g. "ContentDuration") to
  4188  	// unconditionally include in API requests. By default, fields with empty or
  4189  	// default values are omitted from API requests. See
  4190  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4191  	// details.
  4192  	ForceSendFields []string `json:"-"`
  4193  	// NullFields is a list of field names (e.g. "ContentDuration") to include in
  4194  	// API requests with the JSON null value. By default, fields with empty values
  4195  	// are omitted from API requests. See
  4196  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4197  	NullFields []string `json:"-"`
  4198  }
  4199  
  4200  func (s *ContentDurationTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4201  	type NoMethod ContentDurationTargetingOptionDetails
  4202  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4203  }
  4204  
  4205  // ContentGenreAssignedTargetingOptionDetails: Details for content genre
  4206  // assigned targeting option. This will be populated in the
  4207  // content_genre_details field when targeting_type is
  4208  // `TARGETING_TYPE_CONTENT_GENRE`. Explicitly targeting all options is not
  4209  // supported. Remove all content genre targeting options to achieve this
  4210  // effect.
  4211  type ContentGenreAssignedTargetingOptionDetails struct {
  4212  	// DisplayName: Output only. The display name of the content genre.
  4213  	DisplayName string `json:"displayName,omitempty"`
  4214  	// Negative: Indicates if this option is being negatively targeted.
  4215  	Negative bool `json:"negative,omitempty"`
  4216  	// TargetingOptionId: Required. The targeting_option_id field when
  4217  	// targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.
  4218  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  4219  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4220  	// unconditionally include in API requests. By default, fields with empty or
  4221  	// default values are omitted from API requests. See
  4222  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4223  	// details.
  4224  	ForceSendFields []string `json:"-"`
  4225  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4226  	// requests with the JSON null value. By default, fields with empty values are
  4227  	// omitted from API requests. See
  4228  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4229  	NullFields []string `json:"-"`
  4230  }
  4231  
  4232  func (s *ContentGenreAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4233  	type NoMethod ContentGenreAssignedTargetingOptionDetails
  4234  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4235  }
  4236  
  4237  // ContentGenreTargetingOptionDetails: Represents a targetable content genre.
  4238  // This will be populated in the content_genre_details field when
  4239  // targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.
  4240  type ContentGenreTargetingOptionDetails struct {
  4241  	// DisplayName: Output only. The display name of the content genre
  4242  	DisplayName string `json:"displayName,omitempty"`
  4243  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4244  	// unconditionally include in API requests. By default, fields with empty or
  4245  	// default values are omitted from API requests. See
  4246  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4247  	// details.
  4248  	ForceSendFields []string `json:"-"`
  4249  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4250  	// requests with the JSON null value. By default, fields with empty values are
  4251  	// omitted from API requests. See
  4252  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4253  	NullFields []string `json:"-"`
  4254  }
  4255  
  4256  func (s *ContentGenreTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4257  	type NoMethod ContentGenreTargetingOptionDetails
  4258  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4259  }
  4260  
  4261  // ContentInstreamPositionAssignedTargetingOptionDetails: Assigned content
  4262  // instream position targeting option details. This will be populated in the
  4263  // content_instream_position_details field when targeting_type is
  4264  // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
  4265  type ContentInstreamPositionAssignedTargetingOptionDetails struct {
  4266  	// AdType: Output only. The ad type to target. Only applicable to insertion
  4267  	// order targeting and new line items supporting the specified ad type will
  4268  	// inherit this targeting option by default. Possible values are: *
  4269  	// `AD_TYPE_VIDEO`, the setting will be inherited by new line item when
  4270  	// line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`. * `AD_TYPE_AUDIO`, the
  4271  	// setting will be inherited by new line item when line_item_type is
  4272  	// `LINE_ITEM_TYPE_AUDIO_DEFAULT`.
  4273  	//
  4274  	// Possible values:
  4275  	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in this
  4276  	// version.
  4277  	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
  4278  	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
  4279  	// streaming content in video players.
  4280  	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during audio
  4281  	// content.
  4282  	AdType string `json:"adType,omitempty"`
  4283  	// ContentInstreamPosition: Required. The content instream position for video
  4284  	// or audio ads.
  4285  	//
  4286  	// Possible values:
  4287  	//   "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position is not
  4288  	// specified in this version. This enum is a place holder for a default value
  4289  	// and does not represent a real in stream ad position.
  4290  	//   "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before streaming
  4291  	// content.
  4292  	//   "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the beginning
  4293  	// and end of streaming content.
  4294  	//   "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of
  4295  	// streaming content.
  4296  	//   "CONTENT_INSTREAM_POSITION_UNKNOWN" - Ads instream position is unknown.
  4297  	ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"`
  4298  	// ForceSendFields is a list of field names (e.g. "AdType") to unconditionally
  4299  	// include in API requests. By default, fields with empty or default values are
  4300  	// omitted from API requests. See
  4301  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4302  	// details.
  4303  	ForceSendFields []string `json:"-"`
  4304  	// NullFields is a list of field names (e.g. "AdType") to include in API
  4305  	// requests with the JSON null value. By default, fields with empty values are
  4306  	// omitted from API requests. See
  4307  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4308  	NullFields []string `json:"-"`
  4309  }
  4310  
  4311  func (s *ContentInstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4312  	type NoMethod ContentInstreamPositionAssignedTargetingOptionDetails
  4313  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4314  }
  4315  
  4316  // ContentInstreamPositionTargetingOptionDetails: Represents a targetable
  4317  // content instream position, which could be used by video and audio ads. This
  4318  // will be populated in the content_instream_position_details field when
  4319  // targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
  4320  type ContentInstreamPositionTargetingOptionDetails struct {
  4321  	// ContentInstreamPosition: Output only. The content instream position.
  4322  	//
  4323  	// Possible values:
  4324  	//   "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position is not
  4325  	// specified in this version. This enum is a place holder for a default value
  4326  	// and does not represent a real in stream ad position.
  4327  	//   "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before streaming
  4328  	// content.
  4329  	//   "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the beginning
  4330  	// and end of streaming content.
  4331  	//   "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of
  4332  	// streaming content.
  4333  	//   "CONTENT_INSTREAM_POSITION_UNKNOWN" - Ads instream position is unknown.
  4334  	ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"`
  4335  	// ForceSendFields is a list of field names (e.g. "ContentInstreamPosition") to
  4336  	// unconditionally include in API requests. By default, fields with empty or
  4337  	// default values are omitted from API requests. See
  4338  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4339  	// details.
  4340  	ForceSendFields []string `json:"-"`
  4341  	// NullFields is a list of field names (e.g. "ContentInstreamPosition") to
  4342  	// include in API requests with the JSON null value. By default, fields with
  4343  	// empty values are omitted from API requests. See
  4344  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4345  	NullFields []string `json:"-"`
  4346  }
  4347  
  4348  func (s *ContentInstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4349  	type NoMethod ContentInstreamPositionTargetingOptionDetails
  4350  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4351  }
  4352  
  4353  // ContentOutstreamPositionAssignedTargetingOptionDetails: Assigned content
  4354  // outstream position targeting option details. This will be populated in the
  4355  // content_outstream_position_details field when targeting_type is
  4356  // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
  4357  type ContentOutstreamPositionAssignedTargetingOptionDetails struct {
  4358  	// AdType: Output only. The ad type to target. Only applicable to insertion
  4359  	// order targeting and new line items supporting the specified ad type will
  4360  	// inherit this targeting option by default. Possible values are: *
  4361  	// `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when
  4362  	// line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the
  4363  	// setting will be inherited by new line item when line_item_type is
  4364  	// `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
  4365  	//
  4366  	// Possible values:
  4367  	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in this
  4368  	// version.
  4369  	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
  4370  	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
  4371  	// streaming content in video players.
  4372  	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during audio
  4373  	// content.
  4374  	AdType string `json:"adType,omitempty"`
  4375  	// ContentOutstreamPosition: Required. The content outstream position.
  4376  	//
  4377  	// Possible values:
  4378  	//   "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream position is
  4379  	// not specified in this version. This enum is a place holder for a default
  4380  	// value and does not represent a real content outstream position.
  4381  	//   "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown in the
  4382  	// content outstream.
  4383  	//   "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between the
  4384  	// paragraphs of your pages.
  4385  	//   "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the top and
  4386  	// the sides of a page.
  4387  	//   "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a scrollable
  4388  	// stream of content. A feed is typically editorial (e.g. a list of articles or
  4389  	// news) or listings (e.g. a list of products or services).
  4390  	//   "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or between
  4391  	// content loads.
  4392  	ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"`
  4393  	// ForceSendFields is a list of field names (e.g. "AdType") to unconditionally
  4394  	// include in API requests. By default, fields with empty or default values are
  4395  	// omitted from API requests. See
  4396  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4397  	// details.
  4398  	ForceSendFields []string `json:"-"`
  4399  	// NullFields is a list of field names (e.g. "AdType") to include in API
  4400  	// requests with the JSON null value. By default, fields with empty values are
  4401  	// omitted from API requests. See
  4402  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4403  	NullFields []string `json:"-"`
  4404  }
  4405  
  4406  func (s *ContentOutstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4407  	type NoMethod ContentOutstreamPositionAssignedTargetingOptionDetails
  4408  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4409  }
  4410  
  4411  // ContentOutstreamPositionTargetingOptionDetails: Represents a targetable
  4412  // content outstream position, which could be used by display and video ads.
  4413  // This will be populated in the content_outstream_position_details field when
  4414  // targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
  4415  type ContentOutstreamPositionTargetingOptionDetails struct {
  4416  	// ContentOutstreamPosition: Output only. The content outstream position.
  4417  	//
  4418  	// Possible values:
  4419  	//   "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream position is
  4420  	// not specified in this version. This enum is a place holder for a default
  4421  	// value and does not represent a real content outstream position.
  4422  	//   "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown in the
  4423  	// content outstream.
  4424  	//   "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between the
  4425  	// paragraphs of your pages.
  4426  	//   "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the top and
  4427  	// the sides of a page.
  4428  	//   "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a scrollable
  4429  	// stream of content. A feed is typically editorial (e.g. a list of articles or
  4430  	// news) or listings (e.g. a list of products or services).
  4431  	//   "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or between
  4432  	// content loads.
  4433  	ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"`
  4434  	// ForceSendFields is a list of field names (e.g. "ContentOutstreamPosition")
  4435  	// to unconditionally include in API requests. By default, fields with empty or
  4436  	// default values are omitted from API requests. See
  4437  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4438  	// details.
  4439  	ForceSendFields []string `json:"-"`
  4440  	// NullFields is a list of field names (e.g. "ContentOutstreamPosition") to
  4441  	// include in API requests with the JSON null value. By default, fields with
  4442  	// empty values are omitted from API requests. See
  4443  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4444  	NullFields []string `json:"-"`
  4445  }
  4446  
  4447  func (s *ContentOutstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4448  	type NoMethod ContentOutstreamPositionTargetingOptionDetails
  4449  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4450  }
  4451  
  4452  // ContentStreamTypeAssignedTargetingOptionDetails: Details for content stream
  4453  // type assigned targeting option. This will be populated in the
  4454  // content_stream_type_details field when targeting_type is
  4455  // `TARGETING_TYPE_CONTENT_STREAM_TYPE`. Explicitly targeting all options is
  4456  // not supported. Remove all content stream type targeting options to achieve
  4457  // this effect.
  4458  type ContentStreamTypeAssignedTargetingOptionDetails struct {
  4459  	// ContentStreamType: Output only. The content stream type.
  4460  	//
  4461  	// Possible values:
  4462  	//   "CONTENT_STREAM_TYPE_UNSPECIFIED" - Content stream type is not specified
  4463  	// in this version. This enum is a place holder for a default value and does
  4464  	// not represent a real content stream type.
  4465  	//   "CONTENT_LIVE_STREAM" - The content is being live-streamed.
  4466  	//   "CONTENT_ON_DEMAND" - The content is viewed on-demand.
  4467  	ContentStreamType string `json:"contentStreamType,omitempty"`
  4468  	// TargetingOptionId: Required. The targeting_option_id field when
  4469  	// targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.
  4470  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  4471  	// ForceSendFields is a list of field names (e.g. "ContentStreamType") to
  4472  	// unconditionally include in API requests. By default, fields with empty or
  4473  	// default values are omitted from API requests. See
  4474  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4475  	// details.
  4476  	ForceSendFields []string `json:"-"`
  4477  	// NullFields is a list of field names (e.g. "ContentStreamType") to include in
  4478  	// API requests with the JSON null value. By default, fields with empty values
  4479  	// are omitted from API requests. See
  4480  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4481  	NullFields []string `json:"-"`
  4482  }
  4483  
  4484  func (s *ContentStreamTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4485  	type NoMethod ContentStreamTypeAssignedTargetingOptionDetails
  4486  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4487  }
  4488  
  4489  // ContentStreamTypeTargetingOptionDetails: Represents a targetable content
  4490  // stream type. This will be populated in the content_stream_type_details field
  4491  // when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.
  4492  type ContentStreamTypeTargetingOptionDetails struct {
  4493  	// ContentStreamType: Output only. The content stream type.
  4494  	//
  4495  	// Possible values:
  4496  	//   "CONTENT_STREAM_TYPE_UNSPECIFIED" - Content stream type is not specified
  4497  	// in this version. This enum is a place holder for a default value and does
  4498  	// not represent a real content stream type.
  4499  	//   "CONTENT_LIVE_STREAM" - The content is being live-streamed.
  4500  	//   "CONTENT_ON_DEMAND" - The content is viewed on-demand.
  4501  	ContentStreamType string `json:"contentStreamType,omitempty"`
  4502  	// ForceSendFields is a list of field names (e.g. "ContentStreamType") to
  4503  	// unconditionally include in API requests. By default, fields with empty or
  4504  	// default values are omitted from API requests. See
  4505  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4506  	// details.
  4507  	ForceSendFields []string `json:"-"`
  4508  	// NullFields is a list of field names (e.g. "ContentStreamType") to include in
  4509  	// API requests with the JSON null value. By default, fields with empty values
  4510  	// are omitted from API requests. See
  4511  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4512  	NullFields []string `json:"-"`
  4513  }
  4514  
  4515  func (s *ContentStreamTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4516  	type NoMethod ContentStreamTypeTargetingOptionDetails
  4517  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4518  }
  4519  
  4520  // ConversionCountingConfig: Settings that control how conversions are counted.
  4521  // All post-click conversions will be counted. A percentage value can be set
  4522  // for post-view conversions counting.
  4523  type ConversionCountingConfig struct {
  4524  	// FloodlightActivityConfigs: The Floodlight activity configs used to track
  4525  	// conversions. The number of conversions counted is the sum of all of the
  4526  	// conversions counted by all of the Floodlight activity IDs specified in this
  4527  	// field.
  4528  	FloodlightActivityConfigs []*TrackingFloodlightActivityConfig `json:"floodlightActivityConfigs,omitempty"`
  4529  	// PostViewCountPercentageMillis: The percentage of post-view conversions to
  4530  	// count, in millis (1/1000 of a percent). Must be between 0 and 100000
  4531  	// inclusive. For example, to track 50% of the post-click conversions, set a
  4532  	// value of 50000.
  4533  	PostViewCountPercentageMillis int64 `json:"postViewCountPercentageMillis,omitempty,string"`
  4534  	// ForceSendFields is a list of field names (e.g. "FloodlightActivityConfigs")
  4535  	// to unconditionally include in API requests. By default, fields with empty or
  4536  	// default values are omitted from API requests. See
  4537  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4538  	// details.
  4539  	ForceSendFields []string `json:"-"`
  4540  	// NullFields is a list of field names (e.g. "FloodlightActivityConfigs") to
  4541  	// include in API requests with the JSON null value. By default, fields with
  4542  	// empty values are omitted from API requests. See
  4543  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4544  	NullFields []string `json:"-"`
  4545  }
  4546  
  4547  func (s *ConversionCountingConfig) MarshalJSON() ([]byte, error) {
  4548  	type NoMethod ConversionCountingConfig
  4549  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4550  }
  4551  
  4552  // CounterEvent: Counter event of the creative.
  4553  type CounterEvent struct {
  4554  	// Name: Required. The name of the counter event.
  4555  	Name string `json:"name,omitempty"`
  4556  	// ReportingName: Required. The name used to identify this counter event in
  4557  	// reports.
  4558  	ReportingName string `json:"reportingName,omitempty"`
  4559  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  4560  	// include in API requests. By default, fields with empty or default values are
  4561  	// omitted from API requests. See
  4562  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4563  	// details.
  4564  	ForceSendFields []string `json:"-"`
  4565  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  4566  	// with the JSON null value. By default, fields with empty values are omitted
  4567  	// from API requests. See
  4568  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4569  	NullFields []string `json:"-"`
  4570  }
  4571  
  4572  func (s *CounterEvent) MarshalJSON() ([]byte, error) {
  4573  	type NoMethod CounterEvent
  4574  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4575  }
  4576  
  4577  // CreateAssetRequest: A request message for CreateAsset.
  4578  type CreateAssetRequest struct {
  4579  	// Filename: Required. The filename of the asset, including the file extension.
  4580  	// The filename must be UTF-8 encoded with a maximum size of 240 bytes.
  4581  	Filename string `json:"filename,omitempty"`
  4582  	// ForceSendFields is a list of field names (e.g. "Filename") to
  4583  	// unconditionally include in API requests. By default, fields with empty or
  4584  	// default values are omitted from API requests. See
  4585  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4586  	// details.
  4587  	ForceSendFields []string `json:"-"`
  4588  	// NullFields is a list of field names (e.g. "Filename") to include in API
  4589  	// requests with the JSON null value. By default, fields with empty values are
  4590  	// omitted from API requests. See
  4591  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4592  	NullFields []string `json:"-"`
  4593  }
  4594  
  4595  func (s *CreateAssetRequest) MarshalJSON() ([]byte, error) {
  4596  	type NoMethod CreateAssetRequest
  4597  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4598  }
  4599  
  4600  // CreateAssetResponse: A response message for CreateAsset.
  4601  type CreateAssetResponse struct {
  4602  	// Asset: The uploaded asset, if successful.
  4603  	Asset *Asset `json:"asset,omitempty"`
  4604  
  4605  	// ServerResponse contains the HTTP response code and headers from the server.
  4606  	googleapi.ServerResponse `json:"-"`
  4607  	// ForceSendFields is a list of field names (e.g. "Asset") to unconditionally
  4608  	// include in API requests. By default, fields with empty or default values are
  4609  	// omitted from API requests. See
  4610  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4611  	// details.
  4612  	ForceSendFields []string `json:"-"`
  4613  	// NullFields is a list of field names (e.g. "Asset") to include in API
  4614  	// requests with the JSON null value. By default, fields with empty values are
  4615  	// omitted from API requests. See
  4616  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4617  	NullFields []string `json:"-"`
  4618  }
  4619  
  4620  func (s *CreateAssetResponse) MarshalJSON() ([]byte, error) {
  4621  	type NoMethod CreateAssetResponse
  4622  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4623  }
  4624  
  4625  // CreateAssignedTargetingOptionsRequest: A request listing which assigned
  4626  // targeting options of a given targeting type should be created and added.
  4627  type CreateAssignedTargetingOptionsRequest struct {
  4628  	// AssignedTargetingOptions: Required. The assigned targeting options to create
  4629  	// and add.
  4630  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
  4631  	// TargetingType: Required. Identifies the type of this assigned targeting
  4632  	// option.
  4633  	//
  4634  	// Possible values:
  4635  	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or
  4636  	// is unknown in this version.
  4637  	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related
  4638  	// websites or apps).
  4639  	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example,
  4640  	// education or puzzle games).
  4641  	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds).
  4642  	//   "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com).
  4643  	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on
  4644  	// a specific day.
  4645  	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for
  4646  	// example, 18-24).
  4647  	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified
  4648  	// regions on a regional location list.
  4649  	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified
  4650  	// points of interest on a proximity location list.
  4651  	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example,
  4652  	// female or male).
  4653  	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size
  4654  	// for video ads.
  4655  	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for
  4656  	// video ads.
  4657  	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental
  4658  	// status (for example, parent or not a parent).
  4659  	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in
  4660  	// a specific content instream position (for example, pre-roll, mid-roll, or
  4661  	// post-roll).
  4662  	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific
  4663  	// content outstream position.
  4664  	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for
  4665  	// example, tablet or connected TV).
  4666  	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of
  4667  	// audiences. Singleton field, at most one can exist on a single Lineitem at a
  4668  	// time.
  4669  	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
  4670  	// example, Chrome).
  4671  	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household
  4672  	// income range (for example, top 10%).
  4673  	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen
  4674  	// position.
  4675  	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third
  4676  	// party verification (for example, IAS or DoubleVerify).
  4677  	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by
  4678  	// specific digital content label ratings (for example, DL-MA: suitable only
  4679  	// for mature audiences).
  4680  	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by
  4681  	// sensitive categories (for example, adult).
  4682  	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for
  4683  	// example, web or app).
  4684  	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
  4685  	// carrier or internet service provider (ISP) (for example, Comcast or Orange).
  4686  	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating
  4687  	// system (for example, macOS).
  4688  	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make
  4689  	// or model (for example, Roku or Samsung).
  4690  	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example,
  4691  	// dog or retriever).
  4692  	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative
  4693  	// keyword list.
  4694  	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for
  4695  	// example, 80% viewable).
  4696  	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for
  4697  	// example, arts & entertainment).
  4698  	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific
  4699  	// deals and auction packages.
  4700  	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
  4701  	// example, English or Japanese).
  4702  	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
  4703  	// authorized sellers. If no targeting option of this type is assigned, the
  4704  	// resource uses the "Authorized Direct Sellers and Resellers" option by
  4705  	// default.
  4706  	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location
  4707  	// (for example, a city or state).
  4708  	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a
  4709  	// group of deals and auction packages.
  4710  	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges.
  4711  	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
  4712  	// sub-exchanges.
  4713  	//   "TARGETING_TYPE_POI" - Target ads around a specific point of interest,
  4714  	// such as a notable building, a street address, or latitude/longitude
  4715  	// coordinates.
  4716  	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
  4717  	// business chain within a specific geo region.
  4718  	//   "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content
  4719  	// duration.
  4720  	//   "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video
  4721  	// content stream type.
  4722  	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native
  4723  	// content position.
  4724  	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
  4725  	// inventory.
  4726  	//   "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio
  4727  	// content type.
  4728  	//   "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre.
  4729  	//   "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video.
  4730  	// Targeting of this type cannot be created or updated using the API. Although
  4731  	// this targeting is inherited by child resources, **inherited targeting of
  4732  	// this type will not be retrieveable**.
  4733  	//   "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube
  4734  	// channel. Targeting of this type cannot be created or updated using the API.
  4735  	// Although this targeting is inherited by child resources, **inherited
  4736  	// targeting of this type will not be retrieveable**.
  4737  	//   "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain
  4738  	// position of a session. Only supported for Ad Group resources under YouTube
  4739  	// Programmatic Reservation line items. Targeting of this type cannot be
  4740  	// created or updated using the API.
  4741  	TargetingType string `json:"targetingType,omitempty"`
  4742  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
  4743  	// to unconditionally include in API requests. By default, fields with empty or
  4744  	// default values are omitted from API requests. See
  4745  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4746  	// details.
  4747  	ForceSendFields []string `json:"-"`
  4748  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
  4749  	// include in API requests with the JSON null value. By default, fields with
  4750  	// empty values are omitted from API requests. See
  4751  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4752  	NullFields []string `json:"-"`
  4753  }
  4754  
  4755  func (s *CreateAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
  4756  	type NoMethod CreateAssignedTargetingOptionsRequest
  4757  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4758  }
  4759  
  4760  // CreateSdfDownloadTaskRequest: Request message for
  4761  // [SdfDownloadTaskService.CreateSdfDownloadTask].
  4762  type CreateSdfDownloadTaskRequest struct {
  4763  	// AdvertiserId: The ID of the advertiser to download SDF for.
  4764  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  4765  	// IdFilter: Filters on entities by their entity IDs.
  4766  	IdFilter *IdFilter `json:"idFilter,omitempty"`
  4767  	// InventorySourceFilter: Filters on Inventory Sources by their IDs.
  4768  	InventorySourceFilter *InventorySourceFilter `json:"inventorySourceFilter,omitempty"`
  4769  	// ParentEntityFilter: Filters on selected file types. The entities in each
  4770  	// file are filtered by a chosen set of filter entities. The filter entities
  4771  	// must be the same type as, or a parent type of, the selected file types.
  4772  	ParentEntityFilter *ParentEntityFilter `json:"parentEntityFilter,omitempty"`
  4773  	// PartnerId: The ID of the partner to download SDF for.
  4774  	PartnerId int64 `json:"partnerId,omitempty,string"`
  4775  	// Version: Required. The SDF version of the downloaded file. If set to
  4776  	// `SDF_VERSION_UNSPECIFIED`, this will default to the version specified by the
  4777  	// advertiser or partner identified by `root_id`. An advertiser inherits its
  4778  	// SDF version from its partner unless configured otherwise.
  4779  	//
  4780  	// Possible values:
  4781  	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or is
  4782  	// unknown in this version.
  4783  	//   "SDF_VERSION_3_1" - SDF version 3.1
  4784  	//   "SDF_VERSION_4" - SDF version 4
  4785  	//   "SDF_VERSION_4_1" - SDF version 4.1
  4786  	//   "SDF_VERSION_4_2" - SDF version 4.2
  4787  	//   "SDF_VERSION_5" - SDF version 5.
  4788  	//   "SDF_VERSION_5_1" - SDF version 5.1
  4789  	//   "SDF_VERSION_5_2" - SDF version 5.2
  4790  	//   "SDF_VERSION_5_3" - SDF version 5.3
  4791  	//   "SDF_VERSION_5_4" - SDF version 5.4
  4792  	//   "SDF_VERSION_5_5" - SDF version 5.5
  4793  	//   "SDF_VERSION_6" - SDF version 6
  4794  	//   "SDF_VERSION_7" - SDF version 7. Read the [v7 migration
  4795  	// guide](/display-video/api/structured-data-file/v7-migration-guide) before
  4796  	// migrating to this version.
  4797  	Version string `json:"version,omitempty"`
  4798  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  4799  	// unconditionally include in API requests. By default, fields with empty or
  4800  	// default values are omitted from API requests. See
  4801  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4802  	// details.
  4803  	ForceSendFields []string `json:"-"`
  4804  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  4805  	// requests with the JSON null value. By default, fields with empty values are
  4806  	// omitted from API requests. See
  4807  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4808  	NullFields []string `json:"-"`
  4809  }
  4810  
  4811  func (s *CreateSdfDownloadTaskRequest) MarshalJSON() ([]byte, error) {
  4812  	type NoMethod CreateSdfDownloadTaskRequest
  4813  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4814  }
  4815  
  4816  // Creative: A single Creative.
  4817  type Creative struct {
  4818  	// AdditionalDimensions: Additional dimensions. Applicable when creative_type
  4819  	// is one of: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` *
  4820  	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
  4821  	// `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is
  4822  	// specified, width_pixels and height_pixels are both required and must be
  4823  	// greater than or equal to 0.
  4824  	AdditionalDimensions []*Dimensions `json:"additionalDimensions,omitempty"`
  4825  	// AdvertiserId: Output only. The unique ID of the advertiser the creative
  4826  	// belongs to.
  4827  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  4828  	// AppendedTag: Third-party HTML tracking tag to be appended to the creative
  4829  	// tag.
  4830  	AppendedTag string `json:"appendedTag,omitempty"`
  4831  	// Assets: Required. Assets associated to this creative.
  4832  	Assets []*AssetAssociation `json:"assets,omitempty"`
  4833  	// CmPlacementId: Output only. The unique ID of the Campaign Manager 360
  4834  	// placement associated with the creative. This field is only applicable for
  4835  	// creatives that are synced from Campaign Manager.
  4836  	CmPlacementId int64 `json:"cmPlacementId,omitempty,string"`
  4837  	// CmTrackingAd: The Campaign Manager 360 tracking ad associated with the
  4838  	// creative. Optional for the following creative_type when created by an
  4839  	// advertiser that uses both Campaign Manager 360 and third-party ad serving: *
  4840  	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for
  4841  	// other cases.
  4842  	CmTrackingAd *CmTrackingAd `json:"cmTrackingAd,omitempty"`
  4843  	// CompanionCreativeIds: The IDs of companion creatives for a video creative.
  4844  	// You can assign existing display creatives (with image or HTML5 assets) to
  4845  	// serve surrounding the publisher's video player. Companions display around
  4846  	// the video player while the video is playing and remain after the video has
  4847  	// completed. Creatives contain additional dimensions can not be companion
  4848  	// creatives. This field is only supported for following creative_type: *
  4849  	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`
  4850  	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
  4851  	// CounterEvents: Counter events for a rich media creative. Counters track the
  4852  	// number of times that a user interacts with any part of a rich media creative
  4853  	// in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading,
  4854  	// keyboard entries, etc.). Any event that can be captured in the creative can
  4855  	// be recorded as a counter. Leave it empty or unset for creatives containing
  4856  	// image assets only.
  4857  	CounterEvents []*CounterEvent `json:"counterEvents,omitempty"`
  4858  	// CreateTime: Output only. The timestamp when the creative was created.
  4859  	// Assigned by the system.
  4860  	CreateTime string `json:"createTime,omitempty"`
  4861  	// CreativeAttributes: Output only. A list of attributes of the creative that
  4862  	// is generated by the system.
  4863  	//
  4864  	// Possible values:
  4865  	//   "CREATIVE_ATTRIBUTE_UNSPECIFIED" - The creative attribute is not specified
  4866  	// or is unknown in this version.
  4867  	//   "CREATIVE_ATTRIBUTE_VAST" - The creative is a VAST creative.
  4868  	//   "CREATIVE_ATTRIBUTE_VPAID_LINEAR" - The creative is a linear VPAID
  4869  	// creative.
  4870  	//   "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR" - The creative is a non-linear VPAID
  4871  	// creative.
  4872  	CreativeAttributes []string `json:"creativeAttributes,omitempty"`
  4873  	// CreativeId: Output only. The unique ID of the creative. Assigned by the
  4874  	// system.
  4875  	CreativeId int64 `json:"creativeId,omitempty,string"`
  4876  	// CreativeType: Required. Immutable. The type of the creative.
  4877  	//
  4878  	// Possible values:
  4879  	//   "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is unknown in
  4880  	// this version.
  4881  	//   "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and update
  4882  	// methods are supported for this creative type if the hosting_source is one of
  4883  	// the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`
  4884  	//   "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update
  4885  	// methods are supported for this creative type if the hosting_source is
  4886  	// `HOSTING_SOURCE_THIRD_PARTY`
  4887  	//   "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods are
  4888  	// supported for this creative type if the hosting_source is one of the
  4889  	// following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`
  4890  	//   "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers with
  4891  	// assets from advertiser. Create and update methods are supported for this
  4892  	// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`
  4893  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install mobile
  4894  	// creative (banner). Create and update methods are **not** supported for this
  4895  	// creative type.
  4896  	//   "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create and
  4897  	// update methods are supported for this creative type if the hosting_source is
  4898  	// `HOSTING_SOURCE_HOSTED`
  4899  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial creative
  4900  	// including both display and video. Create and update methods are **not**
  4901  	// supported for this creative type.
  4902  	//   "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox creative.
  4903  	// Create and update methods are **not** supported for this creative type.
  4904  	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative. Create
  4905  	// and update methods are **not** supported for this creative type.
  4906  	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app install
  4907  	// creative. Create and update methods are **not** supported for this creative
  4908  	// type.
  4909  	//   "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods are
  4910  	// supported for this creative type if the hosting_source is
  4911  	// `HOSTING_SOURCE_HOSTED`
  4912  	//   "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative. Create and
  4913  	// update methods are **not** supported for this creative type.
  4914  	//   "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and update
  4915  	// methods are supported for this creative type if the hosting_source is
  4916  	// `HOSTING_SOURCE_HOSTED`
  4917  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install mobile
  4918  	// video creative. Create and update methods are **not** supported for this
  4919  	// creative type.
  4920  	CreativeType string `json:"creativeType,omitempty"`
  4921  	// Dimensions: Required. Primary dimensions of the creative. Applicable to all
  4922  	// creative types. The value of width_pixels and height_pixels defaults to `0`
  4923  	// when creative_type is one of: * `CREATIVE_TYPE_VIDEO` *
  4924  	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO`
  4925  	Dimensions *Dimensions `json:"dimensions,omitempty"`
  4926  	// DisplayName: Required. The display name of the creative. Must be UTF-8
  4927  	// encoded with a maximum size of 240 bytes.
  4928  	DisplayName string `json:"displayName,omitempty"`
  4929  	// Dynamic: Output only. Indicates whether the creative is dynamic.
  4930  	Dynamic bool `json:"dynamic,omitempty"`
  4931  	// EntityStatus: Required. Controls whether or not the creative can serve.
  4932  	// Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED` *
  4933  	// `ENTITY_STATUS_PAUSED`
  4934  	//
  4935  	// Possible values:
  4936  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  4937  	// or is unknown in this version.
  4938  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  4939  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  4940  	// spending are disabled. An entity can be deleted after archived. Deleted
  4941  	// entities cannot be retrieved.
  4942  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  4943  	// spending are disabled.
  4944  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  4945  	// entity.
  4946  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  4947  	// deletion.
  4948  	EntityStatus string `json:"entityStatus,omitempty"`
  4949  	// ExitEvents: Required. Exit events for this creative. An exit (also known as
  4950  	// a click tag) is any area in your creative that someone can click or tap to
  4951  	// open an advertiser's landing page. Every creative must include at least one
  4952  	// exit. You can add an exit to your creative in any of the following ways: *
  4953  	// Use Google Web Designer's tap area. * Define a JavaScript variable called
  4954  	// "clickTag". * Use the Enabler (Enabler.exit()) to track exits in rich media
  4955  	// formats.
  4956  	ExitEvents []*ExitEvent `json:"exitEvents,omitempty"`
  4957  	// ExpandOnHover: Optional. Indicates the creative will automatically expand on
  4958  	// hover. Optional and only valid for third-party expandable creatives.
  4959  	// Third-party expandable creatives are creatives with following hosting
  4960  	// source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following
  4961  	// creative_type: * `CREATIVE_TYPE_EXPANDABLE`
  4962  	ExpandOnHover bool `json:"expandOnHover,omitempty"`
  4963  	// ExpandingDirection: Optional. Specifies the expanding direction of the
  4964  	// creative. Required and only valid for third-party expandable creatives.
  4965  	// Third-party expandable creatives are creatives with following hosting
  4966  	// source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following
  4967  	// creative_type: * `CREATIVE_TYPE_EXPANDABLE`
  4968  	//
  4969  	// Possible values:
  4970  	//   "EXPANDING_DIRECTION_UNSPECIFIED" - The expanding direction is not
  4971  	// specified.
  4972  	//   "EXPANDING_DIRECTION_NONE" - Does not expand in any direction.
  4973  	//   "EXPANDING_DIRECTION_UP" - Expands up.
  4974  	//   "EXPANDING_DIRECTION_DOWN" - Expands down.
  4975  	//   "EXPANDING_DIRECTION_LEFT" - Expands left.
  4976  	//   "EXPANDING_DIRECTION_RIGHT" - Expands right.
  4977  	//   "EXPANDING_DIRECTION_UP_AND_LEFT" - Expands up and to the left side.
  4978  	//   "EXPANDING_DIRECTION_UP_AND_RIGHT" - Expands up and to the right side.
  4979  	//   "EXPANDING_DIRECTION_DOWN_AND_LEFT" - Expands down and to the left side.
  4980  	//   "EXPANDING_DIRECTION_DOWN_AND_RIGHT" - Expands down and to the right side.
  4981  	//   "EXPANDING_DIRECTION_UP_OR_DOWN" - Expands either up or down.
  4982  	//   "EXPANDING_DIRECTION_LEFT_OR_RIGHT" - Expands to either the left or the
  4983  	// right side.
  4984  	//   "EXPANDING_DIRECTION_ANY_DIAGONAL" - Can expand in any diagonal direction.
  4985  	ExpandingDirection string `json:"expandingDirection,omitempty"`
  4986  	// HostingSource: Required. Indicates where the creative is hosted.
  4987  	//
  4988  	// Possible values:
  4989  	//   "HOSTING_SOURCE_UNSPECIFIED" - Hosting source is not specified or is
  4990  	// unknown in this version.
  4991  	//   "HOSTING_SOURCE_CM" - A creative synced from Campaign Manager 360. Create
  4992  	// and update methods are **not** supported for this hosting type.
  4993  	//   "HOSTING_SOURCE_THIRD_PARTY" - A creative hosted by a third-party ad
  4994  	// server (3PAS). Create and update methods are supported for this hosting type
  4995  	// if the creative_type is one of the following: * `CREATIVE_TYPE_AUDIO` *
  4996  	// `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_STANDARD` *
  4997  	// `CREATIVE_TYPE_VIDEO`
  4998  	//   "HOSTING_SOURCE_HOSTED" - A creative created in DV360 and hosted by
  4999  	// Campaign Manager 360. Create and update methods are supported for this
  5000  	// hosting type if the creative_type is one of the following: *
  5001  	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE` *
  5002  	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` *
  5003  	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`
  5004  	//   "HOSTING_SOURCE_RICH_MEDIA" - A rich media creative created in Studio and
  5005  	// hosted by Campaign Manager 360. Create and update methods are **not**
  5006  	// supported for this hosting type.
  5007  	HostingSource string `json:"hostingSource,omitempty"`
  5008  	// Html5Video: Output only. Indicates the third-party VAST tag creative
  5009  	// requires HTML5 Video support. Output only and only valid for third-party
  5010  	// VAST tag creatives. Third-party VAST tag creatives are creatives with
  5011  	// following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
  5012  	// following creative_type: * `CREATIVE_TYPE_VIDEO`
  5013  	Html5Video bool `json:"html5Video,omitempty"`
  5014  	// IasCampaignMonitoring: Indicates whether Integral Ad Science (IAS) campaign
  5015  	// monitoring is enabled. To enable this for the creative, make sure the
  5016  	// Advertiser.creative_config.ias_client_id has been set to your IAS client ID.
  5017  	IasCampaignMonitoring bool `json:"iasCampaignMonitoring,omitempty"`
  5018  	// IntegrationCode: ID information used to link this creative to an external
  5019  	// system. Must be UTF-8 encoded with a length of no more than 10,000
  5020  	// characters.
  5021  	IntegrationCode string `json:"integrationCode,omitempty"`
  5022  	// JsTrackerUrl: JavaScript measurement URL from supported third-party
  5023  	// verification providers (ComScore, DoubleVerify, IAS, Moat). HTML script tags
  5024  	// are not supported. This field is only writeable in following creative_type:
  5025  	// * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
  5026  	// `CREATIVE_TYPE_NATIVE_VIDEO`
  5027  	JsTrackerUrl string `json:"jsTrackerUrl,omitempty"`
  5028  	// LineItemIds: Output only. The IDs of the line items this creative is
  5029  	// associated with. To associate a creative to a line item, use
  5030  	// LineItem.creative_ids instead.
  5031  	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
  5032  	// MediaDuration: Output only. Media duration of the creative. Applicable when
  5033  	// creative_type is one of: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` *
  5034  	// `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_PUBLISHER_HOSTED`
  5035  	MediaDuration string `json:"mediaDuration,omitempty"`
  5036  	// Mp3Audio: Output only. Indicates the third-party audio creative supports
  5037  	// MP3. Output only and only valid for third-party audio creatives. Third-party
  5038  	// audio creatives are creatives with following hosting_source: *
  5039  	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
  5040  	// `CREATIVE_TYPE_AUDIO`
  5041  	Mp3Audio bool `json:"mp3Audio,omitempty"`
  5042  	// Name: Output only. The resource name of the creative.
  5043  	Name string `json:"name,omitempty"`
  5044  	// Notes: User notes for this creative. Must be UTF-8 encoded with a length of
  5045  	// no more than 20,000 characters.
  5046  	Notes string `json:"notes,omitempty"`
  5047  	// ObaIcon: Specifies the OBA icon for a video creative. This field is only
  5048  	// supported in following creative_type: * `CREATIVE_TYPE_VIDEO`
  5049  	ObaIcon *ObaIcon `json:"obaIcon,omitempty"`
  5050  	// OggAudio: Output only. Indicates the third-party audio creative supports
  5051  	// OGG. Output only and only valid for third-party audio creatives. Third-party
  5052  	// audio creatives are creatives with following hosting_source: *
  5053  	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
  5054  	// `CREATIVE_TYPE_AUDIO`
  5055  	OggAudio bool `json:"oggAudio,omitempty"`
  5056  	// ProgressOffset: Amount of time to play the video before counting a view.
  5057  	// This field is required when skippable is true. This field is only supported
  5058  	// for the following creative_type: * `CREATIVE_TYPE_VIDEO`
  5059  	ProgressOffset *AudioVideoOffset `json:"progressOffset,omitempty"`
  5060  	// RequireHtml5: Optional. Indicates that the creative relies on HTML5 to
  5061  	// render properly. Optional and only valid for third-party tag creatives.
  5062  	// Third-party tag creatives are creatives with following hosting_source: *
  5063  	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
  5064  	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`
  5065  	RequireHtml5 bool `json:"requireHtml5,omitempty"`
  5066  	// RequireMraid: Optional. Indicates that the creative requires MRAID (Mobile
  5067  	// Rich Media Ad Interface Definitions system). Set this if the creative relies
  5068  	// on mobile gestures for interactivity, such as swiping or tapping. Optional
  5069  	// and only valid for third-party tag creatives. Third-party tag creatives are
  5070  	// creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY`
  5071  	// combined with following creative_type: * `CREATIVE_TYPE_STANDARD` *
  5072  	// `CREATIVE_TYPE_EXPANDABLE`
  5073  	RequireMraid bool `json:"requireMraid,omitempty"`
  5074  	// RequirePingForAttribution: Optional. Indicates that the creative will wait
  5075  	// for a return ping for attribution. Only valid when using a Campaign Manager
  5076  	// 360 tracking ad with a third-party ad server parameter and the
  5077  	// ${DC_DBM_TOKEN} macro. Optional and only valid for third-party tag creatives
  5078  	// or third-party VAST tag creatives. Third-party tag creatives are creatives
  5079  	// with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
  5080  	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
  5081  	// `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag creatives are creatives with
  5082  	// following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
  5083  	// following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`
  5084  	RequirePingForAttribution bool `json:"requirePingForAttribution,omitempty"`
  5085  	// ReviewStatus: Output only. The current status of the creative review
  5086  	// process.
  5087  	ReviewStatus *ReviewStatusInfo `json:"reviewStatus,omitempty"`
  5088  	// SkipOffset: Amount of time to play the video before the skip button appears.
  5089  	// This field is required when skippable is true. This field is only supported
  5090  	// for the following creative_type: * `CREATIVE_TYPE_VIDEO`
  5091  	SkipOffset *AudioVideoOffset `json:"skipOffset,omitempty"`
  5092  	// Skippable: Whether the user can choose to skip a video creative. This field
  5093  	// is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`
  5094  	Skippable bool `json:"skippable,omitempty"`
  5095  	// ThirdPartyTag: Optional. The original third-party tag used for the creative.
  5096  	// Required and only valid for third-party tag creatives. Third-party tag
  5097  	// creatives are creatives with following hosting_source: *
  5098  	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
  5099  	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`
  5100  	ThirdPartyTag string `json:"thirdPartyTag,omitempty"`
  5101  	// ThirdPartyUrls: Tracking URLs from third parties to track interactions with
  5102  	// a video creative. This field is only supported for the following
  5103  	// creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` *
  5104  	// `CREATIVE_TYPE_NATIVE_VIDEO`
  5105  	ThirdPartyUrls []*ThirdPartyUrl `json:"thirdPartyUrls,omitempty"`
  5106  	// TimerEvents: Timer custom events for a rich media creative. Timers track the
  5107  	// time during which a user views and interacts with a specified part of a rich
  5108  	// media creative. A creative can have multiple timer events, each timed
  5109  	// independently. Leave it empty or unset for creatives containing image assets
  5110  	// only.
  5111  	TimerEvents []*TimerEvent `json:"timerEvents,omitempty"`
  5112  	// TrackerUrls: Tracking URLs for analytics providers or third-party ad
  5113  	// technology vendors. The URLs must start with https (except on inventory that
  5114  	// doesn't require SSL compliance). If using macros in your URL, use only
  5115  	// macros supported by Display & Video 360. Standard URLs only, no IMG or
  5116  	// SCRIPT tags. This field is only writeable in following creative_type: *
  5117  	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
  5118  	// `CREATIVE_TYPE_NATIVE_VIDEO`
  5119  	TrackerUrls []string `json:"trackerUrls,omitempty"`
  5120  	// Transcodes: Output only. Audio/Video transcodes. Display & Video 360
  5121  	// transcodes the main asset into a number of alternative versions that use
  5122  	// different file formats or have different properties (resolution, audio bit
  5123  	// rate, and video bit rate), each designed for specific video players or
  5124  	// bandwidths. These transcodes give a publisher's system more options to
  5125  	// choose from for each impression on your video and ensures that the
  5126  	// appropriate file serves based on the viewer’s connection and screen size.
  5127  	// This field is only supported in following creative_type: *
  5128  	// `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO`
  5129  	Transcodes []*Transcode `json:"transcodes,omitempty"`
  5130  	// UniversalAdId: Optional. An optional creative identifier provided by a
  5131  	// registry that is unique across all platforms. Universal Ad ID is part of the
  5132  	// VAST 4.0 standard. It can be modified after the creative is created. This
  5133  	// field is only supported for the following creative_type: *
  5134  	// `CREATIVE_TYPE_VIDEO`
  5135  	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
  5136  	// UpdateTime: Output only. The timestamp when the creative was last updated,
  5137  	// either by the user or system (e.g. creative review). Assigned by the system.
  5138  	UpdateTime string `json:"updateTime,omitempty"`
  5139  	// VastTagUrl: Optional. The URL of the VAST tag for a third-party VAST tag
  5140  	// creative. Required and only valid for third-party VAST tag creatives.
  5141  	// Third-party VAST tag creatives are creatives with following hosting_source:
  5142  	// * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
  5143  	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`
  5144  	VastTagUrl string `json:"vastTagUrl,omitempty"`
  5145  	// Vpaid: Output only. Indicates the third-party VAST tag creative requires
  5146  	// VPAID (Digital Video Player-Ad Interface). Output only and only valid for
  5147  	// third-party VAST tag creatives. Third-party VAST tag creatives are creatives
  5148  	// with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
  5149  	// following creative_type: * `CREATIVE_TYPE_VIDEO`
  5150  	Vpaid bool `json:"vpaid,omitempty"`
  5151  
  5152  	// ServerResponse contains the HTTP response code and headers from the server.
  5153  	googleapi.ServerResponse `json:"-"`
  5154  	// ForceSendFields is a list of field names (e.g. "AdditionalDimensions") to
  5155  	// unconditionally include in API requests. By default, fields with empty or
  5156  	// default values are omitted from API requests. See
  5157  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5158  	// details.
  5159  	ForceSendFields []string `json:"-"`
  5160  	// NullFields is a list of field names (e.g. "AdditionalDimensions") to include
  5161  	// in API requests with the JSON null value. By default, fields with empty
  5162  	// values are omitted from API requests. See
  5163  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5164  	NullFields []string `json:"-"`
  5165  }
  5166  
  5167  func (s *Creative) MarshalJSON() ([]byte, error) {
  5168  	type NoMethod Creative
  5169  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5170  }
  5171  
  5172  // CreativeConfig: Creative requirements configuration for the inventory
  5173  // source.
  5174  type CreativeConfig struct {
  5175  	// CreativeType: The type of creative that can be assigned to the inventory
  5176  	// source. Only the following types are supported: * `CREATIVE_TYPE_STANDARD` *
  5177  	// `CREATIVE_TYPE_VIDEO`
  5178  	//
  5179  	// Possible values:
  5180  	//   "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is unknown in
  5181  	// this version.
  5182  	//   "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and update
  5183  	// methods are supported for this creative type if the hosting_source is one of
  5184  	// the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`
  5185  	//   "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update
  5186  	// methods are supported for this creative type if the hosting_source is
  5187  	// `HOSTING_SOURCE_THIRD_PARTY`
  5188  	//   "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods are
  5189  	// supported for this creative type if the hosting_source is one of the
  5190  	// following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`
  5191  	//   "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers with
  5192  	// assets from advertiser. Create and update methods are supported for this
  5193  	// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`
  5194  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install mobile
  5195  	// creative (banner). Create and update methods are **not** supported for this
  5196  	// creative type.
  5197  	//   "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create and
  5198  	// update methods are supported for this creative type if the hosting_source is
  5199  	// `HOSTING_SOURCE_HOSTED`
  5200  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial creative
  5201  	// including both display and video. Create and update methods are **not**
  5202  	// supported for this creative type.
  5203  	//   "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox creative.
  5204  	// Create and update methods are **not** supported for this creative type.
  5205  	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative. Create
  5206  	// and update methods are **not** supported for this creative type.
  5207  	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app install
  5208  	// creative. Create and update methods are **not** supported for this creative
  5209  	// type.
  5210  	//   "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods are
  5211  	// supported for this creative type if the hosting_source is
  5212  	// `HOSTING_SOURCE_HOSTED`
  5213  	//   "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative. Create and
  5214  	// update methods are **not** supported for this creative type.
  5215  	//   "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and update
  5216  	// methods are supported for this creative type if the hosting_source is
  5217  	// `HOSTING_SOURCE_HOSTED`
  5218  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install mobile
  5219  	// video creative. Create and update methods are **not** supported for this
  5220  	// creative type.
  5221  	CreativeType string `json:"creativeType,omitempty"`
  5222  	// DisplayCreativeConfig: The configuration for display creatives. Applicable
  5223  	// when creative_type is `CREATIVE_TYPE_STANDARD`.
  5224  	DisplayCreativeConfig *InventorySourceDisplayCreativeConfig `json:"displayCreativeConfig,omitempty"`
  5225  	// VideoCreativeConfig: The configuration for video creatives. Applicable when
  5226  	// creative_type is `CREATIVE_TYPE_VIDEO`.
  5227  	VideoCreativeConfig *InventorySourceVideoCreativeConfig `json:"videoCreativeConfig,omitempty"`
  5228  	// ForceSendFields is a list of field names (e.g. "CreativeType") to
  5229  	// unconditionally include in API requests. By default, fields with empty or
  5230  	// default values are omitted from API requests. See
  5231  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5232  	// details.
  5233  	ForceSendFields []string `json:"-"`
  5234  	// NullFields is a list of field names (e.g. "CreativeType") to include in API
  5235  	// requests with the JSON null value. By default, fields with empty values are
  5236  	// omitted from API requests. See
  5237  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5238  	NullFields []string `json:"-"`
  5239  }
  5240  
  5241  func (s *CreativeConfig) MarshalJSON() ([]byte, error) {
  5242  	type NoMethod CreativeConfig
  5243  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5244  }
  5245  
  5246  // CustomBiddingAlgorithm: A single custom bidding algorithm.
  5247  type CustomBiddingAlgorithm struct {
  5248  	// AdvertiserId: Immutable. The unique ID of the advertiser that owns the
  5249  	// custom bidding algorithm.
  5250  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5251  	// CustomBiddingAlgorithmId: Output only. The unique ID of the custom bidding
  5252  	// algorithm. Assigned by the system.
  5253  	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
  5254  	// CustomBiddingAlgorithmType: Required. Immutable. The type of custom bidding
  5255  	// algorithm.
  5256  	//
  5257  	// Possible values:
  5258  	//   "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED" - Algorithm type is not
  5259  	// specified or is unknown in this version.
  5260  	//   "SCRIPT_BASED" - Algorithm generated through customer-uploaded custom
  5261  	// bidding script files.
  5262  	//   "ADS_DATA_HUB_BASED" - Algorithm created through Ads Data Hub product.
  5263  	//   "GOAL_BUILDER_BASED" - Algorithm created through goal builder in DV3 UI.
  5264  	CustomBiddingAlgorithmType string `json:"customBiddingAlgorithmType,omitempty"`
  5265  	// DisplayName: Required. The display name of the custom bidding algorithm.
  5266  	// Must be UTF-8 encoded with a maximum size of 240 bytes.
  5267  	DisplayName string `json:"displayName,omitempty"`
  5268  	// EntityStatus: Controls whether or not the custom bidding algorithm can be
  5269  	// used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` *
  5270  	// `ENTITY_STATUS_ARCHIVED`
  5271  	//
  5272  	// Possible values:
  5273  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  5274  	// or is unknown in this version.
  5275  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  5276  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  5277  	// spending are disabled. An entity can be deleted after archived. Deleted
  5278  	// entities cannot be retrieved.
  5279  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  5280  	// spending are disabled.
  5281  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  5282  	// entity.
  5283  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  5284  	// deletion.
  5285  	EntityStatus string `json:"entityStatus,omitempty"`
  5286  	// ModelDetails: Output only. The details of custom bidding models for each
  5287  	// advertiser who has access. This field may only include the details of the
  5288  	// queried advertiser if the algorithm `owner`
  5289  	// (/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAl
  5290  	// gorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an
  5291  	// advertiser `accessor`
  5292  	// (/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY
  5293  	// _PARAMETERS.oneof_accessor).
  5294  	ModelDetails []*CustomBiddingModelDetails `json:"modelDetails,omitempty"`
  5295  	// Name: Output only. The resource name of the custom bidding algorithm.
  5296  	Name string `json:"name,omitempty"`
  5297  	// PartnerId: Immutable. The unique ID of the partner that owns the custom
  5298  	// bidding algorithm.
  5299  	PartnerId int64 `json:"partnerId,omitempty,string"`
  5300  	// SharedAdvertiserIds: The IDs of the advertisers who have access to this
  5301  	// algorithm. If advertiser_id is set, this field will only consist of that
  5302  	// value. This field will not be set if the algorithm `owner`
  5303  	// (/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAl
  5304  	// gorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an
  5305  	// advertiser `accessor`
  5306  	// (/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY
  5307  	// _PARAMETERS.oneof_accessor).
  5308  	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
  5309  
  5310  	// ServerResponse contains the HTTP response code and headers from the server.
  5311  	googleapi.ServerResponse `json:"-"`
  5312  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  5313  	// unconditionally include in API requests. By default, fields with empty or
  5314  	// default values are omitted from API requests. See
  5315  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5316  	// details.
  5317  	ForceSendFields []string `json:"-"`
  5318  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  5319  	// requests with the JSON null value. By default, fields with empty values are
  5320  	// omitted from API requests. See
  5321  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5322  	NullFields []string `json:"-"`
  5323  }
  5324  
  5325  func (s *CustomBiddingAlgorithm) MarshalJSON() ([]byte, error) {
  5326  	type NoMethod CustomBiddingAlgorithm
  5327  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5328  }
  5329  
  5330  // CustomBiddingModelDetails: The details of a custom bidding algorithm model
  5331  // for a single shared advertiser.
  5332  type CustomBiddingModelDetails struct {
  5333  	// AdvertiserId: The unique ID of the relevant advertiser.
  5334  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5335  	// ReadinessState: The readiness state of custom bidding model.
  5336  	//
  5337  	// Possible values:
  5338  	//   "READINESS_STATE_UNSPECIFIED" - State is not specified or is unknown in
  5339  	// this version.
  5340  	//   "READINESS_STATE_ACTIVE" - The model is trained and ready for serving.
  5341  	//   "READINESS_STATE_INSUFFICIENT_DATA" - There is not enough data to train
  5342  	// the serving model.
  5343  	//   "READINESS_STATE_TRAINING" - The model is training and not ready for
  5344  	// serving.
  5345  	//   "READINESS_STATE_NO_VALID_SCRIPT" - A valid custom bidding script has not
  5346  	// been provided with which to train the model. This state will only be applied
  5347  	// to algorithms whose `custom_bidding_algorithm_type` is `SCRIPT_BASED`.
  5348  	ReadinessState string `json:"readinessState,omitempty"`
  5349  	// SuspensionState: Output only. The suspension state of custom bidding model.
  5350  	//
  5351  	// Possible values:
  5352  	//   "SUSPENSION_STATE_UNSPECIFIED" - State is not specified or is unknown in
  5353  	// this version.
  5354  	//   "SUSPENSION_STATE_ENABLED" - Model is enabled, either recently used,
  5355  	// currently used or scheduled to be used. The algorithm is actively scoring
  5356  	// impressions for this advertiser.
  5357  	//   "SUSPENSION_STATE_DORMANT" - Model has not been used recently. Although
  5358  	// the model still acts as `ENABLED`, it will eventually be suspended if not
  5359  	// used.
  5360  	//   "SUSPENSION_STATE_SUSPENDED" - Model is suspended from scoring impressions
  5361  	// and cannot serve. If the algorithm is assigned to a line item under this
  5362  	// advertiser or otherwise updated, it will switch back to the `ENABLED` state
  5363  	// and require time to prepare the serving model again.
  5364  	SuspensionState string `json:"suspensionState,omitempty"`
  5365  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  5366  	// unconditionally include in API requests. By default, fields with empty or
  5367  	// default values are omitted from API requests. See
  5368  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5369  	// details.
  5370  	ForceSendFields []string `json:"-"`
  5371  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  5372  	// requests with the JSON null value. By default, fields with empty values are
  5373  	// omitted from API requests. See
  5374  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5375  	NullFields []string `json:"-"`
  5376  }
  5377  
  5378  func (s *CustomBiddingModelDetails) MarshalJSON() ([]byte, error) {
  5379  	type NoMethod CustomBiddingModelDetails
  5380  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5381  }
  5382  
  5383  // CustomBiddingScript: A single custom bidding script.
  5384  type CustomBiddingScript struct {
  5385  	// Active: Output only. Whether the script is currently being used for scoring
  5386  	// by the parent algorithm.
  5387  	Active bool `json:"active,omitempty"`
  5388  	// CreateTime: Output only. The time when the script was created.
  5389  	CreateTime string `json:"createTime,omitempty"`
  5390  	// CustomBiddingAlgorithmId: Output only. The unique ID of the custom bidding
  5391  	// algorithm the script belongs to.
  5392  	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
  5393  	// CustomBiddingScriptId: Output only. The unique ID of the custom bidding
  5394  	// script.
  5395  	CustomBiddingScriptId int64 `json:"customBiddingScriptId,omitempty,string"`
  5396  	// Errors: Output only. Error details of a rejected custom bidding script. This
  5397  	// field will only be populated when state is REJECTED.
  5398  	Errors []*ScriptError `json:"errors,omitempty"`
  5399  	// Name: Output only. The resource name of the custom bidding script.
  5400  	Name string `json:"name,omitempty"`
  5401  	// Script: The reference to the uploaded script file.
  5402  	Script *CustomBiddingScriptRef `json:"script,omitempty"`
  5403  	// State: Output only. The state of the custom bidding script.
  5404  	//
  5405  	// Possible values:
  5406  	//   "STATE_UNSPECIFIED" - The script state is not specified or is unknown in
  5407  	// this version.
  5408  	//   "ACCEPTED" - The script has been accepted for scoring impressions.
  5409  	//   "REJECTED" - The script has been rejected by backend pipelines. It may
  5410  	// have errors.
  5411  	//   "PENDING" - The script is being processed for backend pipelines.
  5412  	State string `json:"state,omitempty"`
  5413  
  5414  	// ServerResponse contains the HTTP response code and headers from the server.
  5415  	googleapi.ServerResponse `json:"-"`
  5416  	// ForceSendFields is a list of field names (e.g. "Active") to unconditionally
  5417  	// include in API requests. By default, fields with empty or default values are
  5418  	// omitted from API requests. See
  5419  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5420  	// details.
  5421  	ForceSendFields []string `json:"-"`
  5422  	// NullFields is a list of field names (e.g. "Active") to include in API
  5423  	// requests with the JSON null value. By default, fields with empty values are
  5424  	// omitted from API requests. See
  5425  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5426  	NullFields []string `json:"-"`
  5427  }
  5428  
  5429  func (s *CustomBiddingScript) MarshalJSON() ([]byte, error) {
  5430  	type NoMethod CustomBiddingScript
  5431  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5432  }
  5433  
  5434  // CustomBiddingScriptRef: The reference to the uploaded custom bidding script
  5435  // file.
  5436  type CustomBiddingScriptRef struct {
  5437  	// ResourceName: A resource name to be used in media.download to Download the
  5438  	// script files. Or media.upload to Upload the script files. Resource names
  5439  	// have the format
  5440  	// `customBiddingAlgorithms/{custom_bidding_algorithm_id}/scriptRef/{ref_id}`.
  5441  	ResourceName string `json:"resourceName,omitempty"`
  5442  
  5443  	// ServerResponse contains the HTTP response code and headers from the server.
  5444  	googleapi.ServerResponse `json:"-"`
  5445  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  5446  	// unconditionally include in API requests. By default, fields with empty or
  5447  	// default values are omitted from API requests. See
  5448  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5449  	// details.
  5450  	ForceSendFields []string `json:"-"`
  5451  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  5452  	// requests with the JSON null value. By default, fields with empty values are
  5453  	// omitted from API requests. See
  5454  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5455  	NullFields []string `json:"-"`
  5456  }
  5457  
  5458  func (s *CustomBiddingScriptRef) MarshalJSON() ([]byte, error) {
  5459  	type NoMethod CustomBiddingScriptRef
  5460  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5461  }
  5462  
  5463  // CustomLabel: The key and value of a custom label.
  5464  type CustomLabel struct {
  5465  	// Key: The key of the label.
  5466  	//
  5467  	// Possible values:
  5468  	//   "CUSTOM_LABEL_KEY_UNSPECIFIED" - Not specified or unknown.
  5469  	//   "CUSTOM_LABEL_KEY_0" - Key index 0.
  5470  	//   "CUSTOM_LABEL_KEY_1" - Key index 1.
  5471  	//   "CUSTOM_LABEL_KEY_2" - Key index 2.
  5472  	//   "CUSTOM_LABEL_KEY_3" - Key index 3.
  5473  	//   "CUSTOM_LABEL_KEY_4" - Key index 4.
  5474  	Key string `json:"key,omitempty"`
  5475  	// Value: The value of the label.
  5476  	Value string `json:"value,omitempty"`
  5477  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  5478  	// include in API requests. By default, fields with empty or default values are
  5479  	// omitted from API requests. See
  5480  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5481  	// details.
  5482  	ForceSendFields []string `json:"-"`
  5483  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  5484  	// with the JSON null value. By default, fields with empty values are omitted
  5485  	// from API requests. See
  5486  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5487  	NullFields []string `json:"-"`
  5488  }
  5489  
  5490  func (s *CustomLabel) MarshalJSON() ([]byte, error) {
  5491  	type NoMethod CustomLabel
  5492  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5493  }
  5494  
  5495  // CustomList: Describes a custom list entity, such as a custom affinity or
  5496  // custom intent audience list.
  5497  type CustomList struct {
  5498  	// CustomListId: Output only. The unique ID of the custom list. Assigned by the
  5499  	// system.
  5500  	CustomListId int64 `json:"customListId,omitempty,string"`
  5501  	// DisplayName: Output only. The display name of the custom list. .
  5502  	DisplayName string `json:"displayName,omitempty"`
  5503  	// Name: Output only. The resource name of the custom list.
  5504  	Name string `json:"name,omitempty"`
  5505  
  5506  	// ServerResponse contains the HTTP response code and headers from the server.
  5507  	googleapi.ServerResponse `json:"-"`
  5508  	// ForceSendFields is a list of field names (e.g. "CustomListId") to
  5509  	// unconditionally include in API requests. By default, fields with empty or
  5510  	// default values are omitted from API requests. See
  5511  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5512  	// details.
  5513  	ForceSendFields []string `json:"-"`
  5514  	// NullFields is a list of field names (e.g. "CustomListId") to include in API
  5515  	// requests with the JSON null value. By default, fields with empty values are
  5516  	// omitted from API requests. See
  5517  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5518  	NullFields []string `json:"-"`
  5519  }
  5520  
  5521  func (s *CustomList) MarshalJSON() ([]byte, error) {
  5522  	type NoMethod CustomList
  5523  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5524  }
  5525  
  5526  // CustomListGroup: Details of custom list group. All custom list targeting
  5527  // settings are logically ‘OR’ of each other.
  5528  type CustomListGroup struct {
  5529  	// Settings: Required. All custom list targeting settings in custom list group.
  5530  	// Repeated settings with same id will be ignored.
  5531  	Settings []*CustomListTargetingSetting `json:"settings,omitempty"`
  5532  	// ForceSendFields is a list of field names (e.g. "Settings") to
  5533  	// unconditionally include in API requests. By default, fields with empty or
  5534  	// default values are omitted from API requests. See
  5535  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5536  	// details.
  5537  	ForceSendFields []string `json:"-"`
  5538  	// NullFields is a list of field names (e.g. "Settings") to include in API
  5539  	// requests with the JSON null value. By default, fields with empty values are
  5540  	// omitted from API requests. See
  5541  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5542  	NullFields []string `json:"-"`
  5543  }
  5544  
  5545  func (s *CustomListGroup) MarshalJSON() ([]byte, error) {
  5546  	type NoMethod CustomListGroup
  5547  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5548  }
  5549  
  5550  // CustomListTargetingSetting: Details of custom list targeting setting.
  5551  type CustomListTargetingSetting struct {
  5552  	// CustomListId: Required. Custom id of custom list targeting setting. This id
  5553  	// is custom_list_id.
  5554  	CustomListId int64 `json:"customListId,omitempty,string"`
  5555  	// ForceSendFields is a list of field names (e.g. "CustomListId") to
  5556  	// unconditionally include in API requests. By default, fields with empty or
  5557  	// default values are omitted from API requests. See
  5558  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5559  	// details.
  5560  	ForceSendFields []string `json:"-"`
  5561  	// NullFields is a list of field names (e.g. "CustomListId") to include in API
  5562  	// requests with the JSON null value. By default, fields with empty values are
  5563  	// omitted from API requests. See
  5564  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5565  	NullFields []string `json:"-"`
  5566  }
  5567  
  5568  func (s *CustomListTargetingSetting) MarshalJSON() ([]byte, error) {
  5569  	type NoMethod CustomListTargetingSetting
  5570  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5571  }
  5572  
  5573  // Date: Represents a whole or partial calendar date, such as a birthday. The
  5574  // time of day and time zone are either specified elsewhere or are
  5575  // insignificant. The date is relative to the Gregorian Calendar. This can
  5576  // represent one of the following: * A full date, with non-zero year, month,
  5577  // and day values. * A month and day, with a zero year (for example, an
  5578  // anniversary). * A year on its own, with a zero month and a zero day. * A
  5579  // year and month, with a zero day (for example, a credit card expiration
  5580  // date). Related types: * google.type.TimeOfDay * google.type.DateTime *
  5581  // google.protobuf.Timestamp
  5582  type Date struct {
  5583  	// Day: Day of a month. Must be from 1 to 31 and valid for the year and month,
  5584  	// or 0 to specify a year by itself or a year and month where the day isn't
  5585  	// significant.
  5586  	Day int64 `json:"day,omitempty"`
  5587  	// Month: Month of a year. Must be from 1 to 12, or 0 to specify a year without
  5588  	// a month and day.
  5589  	Month int64 `json:"month,omitempty"`
  5590  	// Year: Year of the date. Must be from 1 to 9999, or 0 to specify a date
  5591  	// without a year.
  5592  	Year int64 `json:"year,omitempty"`
  5593  	// ForceSendFields is a list of field names (e.g. "Day") to unconditionally
  5594  	// include in API requests. By default, fields with empty or default values are
  5595  	// omitted from API requests. See
  5596  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5597  	// details.
  5598  	ForceSendFields []string `json:"-"`
  5599  	// NullFields is a list of field names (e.g. "Day") to include in API requests
  5600  	// with the JSON null value. By default, fields with empty values are omitted
  5601  	// from API requests. See
  5602  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5603  	NullFields []string `json:"-"`
  5604  }
  5605  
  5606  func (s *Date) MarshalJSON() ([]byte, error) {
  5607  	type NoMethod Date
  5608  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5609  }
  5610  
  5611  // DateRange: A date range.
  5612  type DateRange struct {
  5613  	// EndDate: The upper bound of the date range, inclusive. Must specify a
  5614  	// positive value for `year`, `month`, and `day`.
  5615  	EndDate *Date `json:"endDate,omitempty"`
  5616  	// StartDate: The lower bound of the date range, inclusive. Must specify a
  5617  	// positive value for `year`, `month`, and `day`.
  5618  	StartDate *Date `json:"startDate,omitempty"`
  5619  	// ForceSendFields is a list of field names (e.g. "EndDate") to unconditionally
  5620  	// include in API requests. By default, fields with empty or default values are
  5621  	// omitted from API requests. See
  5622  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5623  	// details.
  5624  	ForceSendFields []string `json:"-"`
  5625  	// NullFields is a list of field names (e.g. "EndDate") to include in API
  5626  	// requests with the JSON null value. By default, fields with empty values are
  5627  	// omitted from API requests. See
  5628  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5629  	NullFields []string `json:"-"`
  5630  }
  5631  
  5632  func (s *DateRange) MarshalJSON() ([]byte, error) {
  5633  	type NoMethod DateRange
  5634  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5635  }
  5636  
  5637  // DayAndTimeAssignedTargetingOptionDetails: Representation of a segment of
  5638  // time defined on a specific day of the week and with a start and end time.
  5639  // The time represented by `start_hour` must be before the time represented by
  5640  // `end_hour`.
  5641  type DayAndTimeAssignedTargetingOptionDetails struct {
  5642  	// DayOfWeek: Required. The day of the week for this day and time targeting
  5643  	// setting.
  5644  	//
  5645  	// Possible values:
  5646  	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
  5647  	//   "MONDAY" - Monday
  5648  	//   "TUESDAY" - Tuesday
  5649  	//   "WEDNESDAY" - Wednesday
  5650  	//   "THURSDAY" - Thursday
  5651  	//   "FRIDAY" - Friday
  5652  	//   "SATURDAY" - Saturday
  5653  	//   "SUNDAY" - Sunday
  5654  	DayOfWeek string `json:"dayOfWeek,omitempty"`
  5655  	// EndHour: Required. The end hour for day and time targeting. Must be between
  5656  	// 1 (1 hour after start of day) and 24 (end of day).
  5657  	EndHour int64 `json:"endHour,omitempty"`
  5658  	// StartHour: Required. The start hour for day and time targeting. Must be
  5659  	// between 0 (start of day) and 23 (1 hour before end of day).
  5660  	StartHour int64 `json:"startHour,omitempty"`
  5661  	// TimeZoneResolution: Required. The mechanism used to determine which timezone
  5662  	// to use for this day and time targeting setting.
  5663  	//
  5664  	// Possible values:
  5665  	//   "TIME_ZONE_RESOLUTION_UNSPECIFIED" - Time zone resolution is either
  5666  	// unspecific or unknown.
  5667  	//   "TIME_ZONE_RESOLUTION_END_USER" - Times are resolved in the time zone of
  5668  	// the user that saw the ad.
  5669  	//   "TIME_ZONE_RESOLUTION_ADVERTISER" - Times are resolved in the time zone of
  5670  	// the advertiser that served the ad.
  5671  	TimeZoneResolution string `json:"timeZoneResolution,omitempty"`
  5672  	// ForceSendFields is a list of field names (e.g. "DayOfWeek") to
  5673  	// unconditionally include in API requests. By default, fields with empty or
  5674  	// default values are omitted from API requests. See
  5675  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5676  	// details.
  5677  	ForceSendFields []string `json:"-"`
  5678  	// NullFields is a list of field names (e.g. "DayOfWeek") to include in API
  5679  	// requests with the JSON null value. By default, fields with empty values are
  5680  	// omitted from API requests. See
  5681  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5682  	NullFields []string `json:"-"`
  5683  }
  5684  
  5685  func (s *DayAndTimeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  5686  	type NoMethod DayAndTimeAssignedTargetingOptionDetails
  5687  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5688  }
  5689  
  5690  // DeactivateManualTriggerRequest: Request message for
  5691  // ManualTriggerService.DeactivateManualTrigger.
  5692  type DeactivateManualTriggerRequest struct {
  5693  }
  5694  
  5695  // DeleteAssignedTargetingOptionsRequest: A request listing which assigned
  5696  // targeting options of a given targeting type should be deleted.
  5697  type DeleteAssignedTargetingOptionsRequest struct {
  5698  	// AssignedTargetingOptionIds: Required. The assigned targeting option IDs to
  5699  	// delete.
  5700  	AssignedTargetingOptionIds []string `json:"assignedTargetingOptionIds,omitempty"`
  5701  	// TargetingType: Required. Identifies the type of this assigned targeting
  5702  	// option.
  5703  	//
  5704  	// Possible values:
  5705  	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or
  5706  	// is unknown in this version.
  5707  	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related
  5708  	// websites or apps).
  5709  	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example,
  5710  	// education or puzzle games).
  5711  	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds).
  5712  	//   "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com).
  5713  	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on
  5714  	// a specific day.
  5715  	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for
  5716  	// example, 18-24).
  5717  	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified
  5718  	// regions on a regional location list.
  5719  	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified
  5720  	// points of interest on a proximity location list.
  5721  	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example,
  5722  	// female or male).
  5723  	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size
  5724  	// for video ads.
  5725  	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for
  5726  	// video ads.
  5727  	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental
  5728  	// status (for example, parent or not a parent).
  5729  	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in
  5730  	// a specific content instream position (for example, pre-roll, mid-roll, or
  5731  	// post-roll).
  5732  	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific
  5733  	// content outstream position.
  5734  	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for
  5735  	// example, tablet or connected TV).
  5736  	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of
  5737  	// audiences. Singleton field, at most one can exist on a single Lineitem at a
  5738  	// time.
  5739  	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
  5740  	// example, Chrome).
  5741  	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household
  5742  	// income range (for example, top 10%).
  5743  	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen
  5744  	// position.
  5745  	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third
  5746  	// party verification (for example, IAS or DoubleVerify).
  5747  	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by
  5748  	// specific digital content label ratings (for example, DL-MA: suitable only
  5749  	// for mature audiences).
  5750  	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by
  5751  	// sensitive categories (for example, adult).
  5752  	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for
  5753  	// example, web or app).
  5754  	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
  5755  	// carrier or internet service provider (ISP) (for example, Comcast or Orange).
  5756  	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating
  5757  	// system (for example, macOS).
  5758  	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make
  5759  	// or model (for example, Roku or Samsung).
  5760  	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example,
  5761  	// dog or retriever).
  5762  	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative
  5763  	// keyword list.
  5764  	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for
  5765  	// example, 80% viewable).
  5766  	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for
  5767  	// example, arts & entertainment).
  5768  	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific
  5769  	// deals and auction packages.
  5770  	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
  5771  	// example, English or Japanese).
  5772  	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
  5773  	// authorized sellers. If no targeting option of this type is assigned, the
  5774  	// resource uses the "Authorized Direct Sellers and Resellers" option by
  5775  	// default.
  5776  	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location
  5777  	// (for example, a city or state).
  5778  	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a
  5779  	// group of deals and auction packages.
  5780  	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges.
  5781  	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
  5782  	// sub-exchanges.
  5783  	//   "TARGETING_TYPE_POI" - Target ads around a specific point of interest,
  5784  	// such as a notable building, a street address, or latitude/longitude
  5785  	// coordinates.
  5786  	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
  5787  	// business chain within a specific geo region.
  5788  	//   "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content
  5789  	// duration.
  5790  	//   "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video
  5791  	// content stream type.
  5792  	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native
  5793  	// content position.
  5794  	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
  5795  	// inventory.
  5796  	//   "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio
  5797  	// content type.
  5798  	//   "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre.
  5799  	//   "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video.
  5800  	// Targeting of this type cannot be created or updated using the API. Although
  5801  	// this targeting is inherited by child resources, **inherited targeting of
  5802  	// this type will not be retrieveable**.
  5803  	//   "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube
  5804  	// channel. Targeting of this type cannot be created or updated using the API.
  5805  	// Although this targeting is inherited by child resources, **inherited
  5806  	// targeting of this type will not be retrieveable**.
  5807  	//   "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain
  5808  	// position of a session. Only supported for Ad Group resources under YouTube
  5809  	// Programmatic Reservation line items. Targeting of this type cannot be
  5810  	// created or updated using the API.
  5811  	TargetingType string `json:"targetingType,omitempty"`
  5812  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptionIds")
  5813  	// to unconditionally include in API requests. By default, fields with empty or
  5814  	// default values are omitted from API requests. See
  5815  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5816  	// details.
  5817  	ForceSendFields []string `json:"-"`
  5818  	// NullFields is a list of field names (e.g. "AssignedTargetingOptionIds") to
  5819  	// include in API requests with the JSON null value. By default, fields with
  5820  	// empty values are omitted from API requests. See
  5821  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5822  	NullFields []string `json:"-"`
  5823  }
  5824  
  5825  func (s *DeleteAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
  5826  	type NoMethod DeleteAssignedTargetingOptionsRequest
  5827  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5828  }
  5829  
  5830  // DeviceMakeModelAssignedTargetingOptionDetails: Assigned device make and
  5831  // model targeting option details. This will be populated in the
  5832  // device_make_model_details field when targeting_type is
  5833  // `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
  5834  type DeviceMakeModelAssignedTargetingOptionDetails struct {
  5835  	// DisplayName: Output only. The display name of the device make and model.
  5836  	DisplayName string `json:"displayName,omitempty"`
  5837  	// Negative: Indicates if this option is being negatively targeted.
  5838  	Negative bool `json:"negative,omitempty"`
  5839  	// TargetingOptionId: Required. The targeting_option_id field when
  5840  	// targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
  5841  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  5842  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  5843  	// unconditionally include in API requests. By default, fields with empty or
  5844  	// default values are omitted from API requests. See
  5845  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5846  	// details.
  5847  	ForceSendFields []string `json:"-"`
  5848  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  5849  	// requests with the JSON null value. By default, fields with empty values are
  5850  	// omitted from API requests. See
  5851  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5852  	NullFields []string `json:"-"`
  5853  }
  5854  
  5855  func (s *DeviceMakeModelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  5856  	type NoMethod DeviceMakeModelAssignedTargetingOptionDetails
  5857  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5858  }
  5859  
  5860  // DeviceMakeModelTargetingOptionDetails: Represents a targetable device make
  5861  // and model. This will be populated in the device_make_model_details field of
  5862  // a TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
  5863  type DeviceMakeModelTargetingOptionDetails struct {
  5864  	// DisplayName: Output only. The display name of the device make and model.
  5865  	DisplayName string `json:"displayName,omitempty"`
  5866  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  5867  	// unconditionally include in API requests. By default, fields with empty or
  5868  	// default values are omitted from API requests. See
  5869  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5870  	// details.
  5871  	ForceSendFields []string `json:"-"`
  5872  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  5873  	// requests with the JSON null value. By default, fields with empty values are
  5874  	// omitted from API requests. See
  5875  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5876  	NullFields []string `json:"-"`
  5877  }
  5878  
  5879  func (s *DeviceMakeModelTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  5880  	type NoMethod DeviceMakeModelTargetingOptionDetails
  5881  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5882  }
  5883  
  5884  // DeviceTypeAssignedTargetingOptionDetails: Targeting details for device type.
  5885  // This will be populated in the details field of an AssignedTargetingOption
  5886  // when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
  5887  type DeviceTypeAssignedTargetingOptionDetails struct {
  5888  	// DeviceType: Required. The display name of the device type.
  5889  	//
  5890  	// Possible values:
  5891  	//   "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
  5892  	// specified in this version. This enum is a placeholder for default value and
  5893  	// does not represent a real device type option.
  5894  	//   "DEVICE_TYPE_COMPUTER" - Computer.
  5895  	//   "DEVICE_TYPE_CONNECTED_TV" - Connected TV.
  5896  	//   "DEVICE_TYPE_SMART_PHONE" - Smart phone.
  5897  	//   "DEVICE_TYPE_TABLET" - Tablet.
  5898  	DeviceType string `json:"deviceType,omitempty"`
  5899  	// YoutubeAndPartnersBidMultiplier: Output only. Bid multiplier allows you to
  5900  	// show your ads more or less frequently based on the device type. It will
  5901  	// apply a multiplier on the original bid price. When this field is 0, it
  5902  	// indicates this field is not applicable instead of multiplying 0 on the
  5903  	// original bid price. For example, if the bid price without multiplier is
  5904  	// $10.0 and the multiplier is 1.5 for Tablet, the resulting bid price for
  5905  	// Tablet will be $15.0. Only applicable to YouTube and Partners line items.
  5906  	YoutubeAndPartnersBidMultiplier float64 `json:"youtubeAndPartnersBidMultiplier,omitempty"`
  5907  	// ForceSendFields is a list of field names (e.g. "DeviceType") to
  5908  	// unconditionally include in API requests. By default, fields with empty or
  5909  	// default values are omitted from API requests. See
  5910  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5911  	// details.
  5912  	ForceSendFields []string `json:"-"`
  5913  	// NullFields is a list of field names (e.g. "DeviceType") to include in API
  5914  	// requests with the JSON null value. By default, fields with empty values are
  5915  	// omitted from API requests. See
  5916  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5917  	NullFields []string `json:"-"`
  5918  }
  5919  
  5920  func (s *DeviceTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  5921  	type NoMethod DeviceTypeAssignedTargetingOptionDetails
  5922  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5923  }
  5924  
  5925  func (s *DeviceTypeAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error {
  5926  	type NoMethod DeviceTypeAssignedTargetingOptionDetails
  5927  	var s1 struct {
  5928  		YoutubeAndPartnersBidMultiplier gensupport.JSONFloat64 `json:"youtubeAndPartnersBidMultiplier"`
  5929  		*NoMethod
  5930  	}
  5931  	s1.NoMethod = (*NoMethod)(s)
  5932  	if err := json.Unmarshal(data, &s1); err != nil {
  5933  		return err
  5934  	}
  5935  	s.YoutubeAndPartnersBidMultiplier = float64(s1.YoutubeAndPartnersBidMultiplier)
  5936  	return nil
  5937  }
  5938  
  5939  // DeviceTypeTargetingOptionDetails: Represents a targetable device type. This
  5940  // will be populated in the device_type_details field of a TargetingOption when
  5941  // targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
  5942  type DeviceTypeTargetingOptionDetails struct {
  5943  	// DeviceType: Output only. The device type that is used to be targeted.
  5944  	//
  5945  	// Possible values:
  5946  	//   "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
  5947  	// specified in this version. This enum is a placeholder for default value and
  5948  	// does not represent a real device type option.
  5949  	//   "DEVICE_TYPE_COMPUTER" - Computer.
  5950  	//   "DEVICE_TYPE_CONNECTED_TV" - Connected TV.
  5951  	//   "DEVICE_TYPE_SMART_PHONE" - Smart phone.
  5952  	//   "DEVICE_TYPE_TABLET" - Tablet.
  5953  	DeviceType string `json:"deviceType,omitempty"`
  5954  	// ForceSendFields is a list of field names (e.g. "DeviceType") to
  5955  	// unconditionally include in API requests. By default, fields with empty or
  5956  	// default values are omitted from API requests. See
  5957  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5958  	// details.
  5959  	ForceSendFields []string `json:"-"`
  5960  	// NullFields is a list of field names (e.g. "DeviceType") to include in API
  5961  	// requests with the JSON null value. By default, fields with empty values are
  5962  	// omitted from API requests. See
  5963  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5964  	NullFields []string `json:"-"`
  5965  }
  5966  
  5967  func (s *DeviceTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  5968  	type NoMethod DeviceTypeTargetingOptionDetails
  5969  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5970  }
  5971  
  5972  // DigitalContentLabelAssignedTargetingOptionDetails: Targeting details for
  5973  // digital content label. This will be populated in the details field of an
  5974  // AssignedTargetingOption when targeting_type is
  5975  // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
  5976  type DigitalContentLabelAssignedTargetingOptionDetails struct {
  5977  	// ExcludedContentRatingTier: Required. The display name of the digital content
  5978  	// label rating tier to be EXCLUDED.
  5979  	//
  5980  	// Possible values:
  5981  	//   "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified in this
  5982  	// version. This enum is a place holder for a default value and does not
  5983  	// represent a real content rating.
  5984  	//   "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled.
  5985  	//   "CONTENT_RATING_TIER_GENERAL" - Content suitable for general audiences.
  5986  	//   "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most
  5987  	// audiences with parental guidance.
  5988  	//   "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older
  5989  	// audiences.
  5990  	//   "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature audiences.
  5991  	//   "CONTENT_RATING_TIER_FAMILIES" - Content suitable for family audiences. It
  5992  	// is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and
  5993  	// Partners line items.
  5994  	ExcludedContentRatingTier string `json:"excludedContentRatingTier,omitempty"`
  5995  	// ForceSendFields is a list of field names (e.g. "ExcludedContentRatingTier")
  5996  	// to unconditionally include in API requests. By default, fields with empty or
  5997  	// default values are omitted from API requests. See
  5998  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5999  	// details.
  6000  	ForceSendFields []string `json:"-"`
  6001  	// NullFields is a list of field names (e.g. "ExcludedContentRatingTier") to
  6002  	// include in API requests with the JSON null value. By default, fields with
  6003  	// empty values are omitted from API requests. See
  6004  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6005  	NullFields []string `json:"-"`
  6006  }
  6007  
  6008  func (s *DigitalContentLabelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6009  	type NoMethod DigitalContentLabelAssignedTargetingOptionDetails
  6010  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6011  }
  6012  
  6013  // DigitalContentLabelTargetingOptionDetails: Represents a targetable digital
  6014  // content label rating tier. This will be populated in the
  6015  // digital_content_label_details field of the TargetingOption when
  6016  // targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
  6017  type DigitalContentLabelTargetingOptionDetails struct {
  6018  	// ContentRatingTier: Output only. An enum for the content label brand safety
  6019  	// tiers.
  6020  	//
  6021  	// Possible values:
  6022  	//   "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified in this
  6023  	// version. This enum is a place holder for a default value and does not
  6024  	// represent a real content rating.
  6025  	//   "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled.
  6026  	//   "CONTENT_RATING_TIER_GENERAL" - Content suitable for general audiences.
  6027  	//   "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most
  6028  	// audiences with parental guidance.
  6029  	//   "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older
  6030  	// audiences.
  6031  	//   "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature audiences.
  6032  	//   "CONTENT_RATING_TIER_FAMILIES" - Content suitable for family audiences. It
  6033  	// is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and
  6034  	// Partners line items.
  6035  	ContentRatingTier string `json:"contentRatingTier,omitempty"`
  6036  	// ForceSendFields is a list of field names (e.g. "ContentRatingTier") to
  6037  	// unconditionally include in API requests. By default, fields with empty or
  6038  	// default values are omitted from API requests. See
  6039  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6040  	// details.
  6041  	ForceSendFields []string `json:"-"`
  6042  	// NullFields is a list of field names (e.g. "ContentRatingTier") to include in
  6043  	// API requests with the JSON null value. By default, fields with empty values
  6044  	// are omitted from API requests. See
  6045  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6046  	NullFields []string `json:"-"`
  6047  }
  6048  
  6049  func (s *DigitalContentLabelTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6050  	type NoMethod DigitalContentLabelTargetingOptionDetails
  6051  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6052  }
  6053  
  6054  // Dimensions: Dimensions.
  6055  type Dimensions struct {
  6056  	// HeightPixels: The height in pixels.
  6057  	HeightPixels int64 `json:"heightPixels,omitempty"`
  6058  	// WidthPixels: The width in pixels.
  6059  	WidthPixels int64 `json:"widthPixels,omitempty"`
  6060  	// ForceSendFields is a list of field names (e.g. "HeightPixels") to
  6061  	// unconditionally include in API requests. By default, fields with empty or
  6062  	// default values are omitted from API requests. See
  6063  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6064  	// details.
  6065  	ForceSendFields []string `json:"-"`
  6066  	// NullFields is a list of field names (e.g. "HeightPixels") to include in API
  6067  	// requests with the JSON null value. By default, fields with empty values are
  6068  	// omitted from API requests. See
  6069  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6070  	NullFields []string `json:"-"`
  6071  }
  6072  
  6073  func (s *Dimensions) MarshalJSON() ([]byte, error) {
  6074  	type NoMethod Dimensions
  6075  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6076  }
  6077  
  6078  // DisplayVideoSourceAd: The ad sourced from a DV360 creative.
  6079  type DisplayVideoSourceAd struct {
  6080  	// CreativeId: The ID of the source creative.
  6081  	CreativeId int64 `json:"creativeId,omitempty,string"`
  6082  	// ForceSendFields is a list of field names (e.g. "CreativeId") to
  6083  	// unconditionally include in API requests. By default, fields with empty or
  6084  	// default values are omitted from API requests. See
  6085  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6086  	// details.
  6087  	ForceSendFields []string `json:"-"`
  6088  	// NullFields is a list of field names (e.g. "CreativeId") to include in API
  6089  	// requests with the JSON null value. By default, fields with empty values are
  6090  	// omitted from API requests. See
  6091  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6092  	NullFields []string `json:"-"`
  6093  }
  6094  
  6095  func (s *DisplayVideoSourceAd) MarshalJSON() ([]byte, error) {
  6096  	type NoMethod DisplayVideoSourceAd
  6097  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6098  }
  6099  
  6100  // DoubleVerify: Details of DoubleVerify settings.
  6101  type DoubleVerify struct {
  6102  	// AppStarRating: Avoid bidding on apps with the star ratings.
  6103  	AppStarRating *DoubleVerifyAppStarRating `json:"appStarRating,omitempty"`
  6104  	// AvoidedAgeRatings: Avoid bidding on apps with the age rating.
  6105  	//
  6106  	// Possible values:
  6107  	//   "AGE_RATING_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  6108  	// specify any age rating options.
  6109  	//   "APP_AGE_RATE_UNKNOWN" - Apps with unknown age rating.
  6110  	//   "APP_AGE_RATE_4_PLUS" - Apps rated for Everyone (4+).
  6111  	//   "APP_AGE_RATE_9_PLUS" - Apps rated for Everyone (9+).
  6112  	//   "APP_AGE_RATE_12_PLUS" - Apps rated for Teens (12+).
  6113  	//   "APP_AGE_RATE_17_PLUS" - Apps rated for Mature (17+).
  6114  	//   "APP_AGE_RATE_18_PLUS" - Apps rated for Adults Only (18+).
  6115  	AvoidedAgeRatings []string `json:"avoidedAgeRatings,omitempty"`
  6116  	// BrandSafetyCategories: DV Brand Safety Controls.
  6117  	BrandSafetyCategories *DoubleVerifyBrandSafetyCategories `json:"brandSafetyCategories,omitempty"`
  6118  	// CustomSegmentId: The custom segment ID provided by DoubleVerify. The ID must
  6119  	// start with "51" and consist of eight digits. Custom segment ID cannot be
  6120  	// specified along with any of the following fields: * brand_safety_categories
  6121  	// * avoided_age_ratings * app_star_rating * fraud_invalid_traffic
  6122  	CustomSegmentId int64 `json:"customSegmentId,omitempty,string"`
  6123  	// DisplayViewability: Display viewability settings (applicable to display line
  6124  	// items only).
  6125  	DisplayViewability *DoubleVerifyDisplayViewability `json:"displayViewability,omitempty"`
  6126  	// FraudInvalidTraffic: Avoid Sites and Apps with historical Fraud & IVT Rates.
  6127  	FraudInvalidTraffic *DoubleVerifyFraudInvalidTraffic `json:"fraudInvalidTraffic,omitempty"`
  6128  	// VideoViewability: Video viewability settings (applicable to video line items
  6129  	// only).
  6130  	VideoViewability *DoubleVerifyVideoViewability `json:"videoViewability,omitempty"`
  6131  	// ForceSendFields is a list of field names (e.g. "AppStarRating") to
  6132  	// unconditionally include in API requests. By default, fields with empty or
  6133  	// default values are omitted from API requests. See
  6134  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6135  	// details.
  6136  	ForceSendFields []string `json:"-"`
  6137  	// NullFields is a list of field names (e.g. "AppStarRating") to include in API
  6138  	// requests with the JSON null value. By default, fields with empty values are
  6139  	// omitted from API requests. See
  6140  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6141  	NullFields []string `json:"-"`
  6142  }
  6143  
  6144  func (s *DoubleVerify) MarshalJSON() ([]byte, error) {
  6145  	type NoMethod DoubleVerify
  6146  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6147  }
  6148  
  6149  // DoubleVerifyAppStarRating: Details of DoubleVerify star ratings settings.
  6150  type DoubleVerifyAppStarRating struct {
  6151  	// AvoidInsufficientStarRating: Avoid bidding on apps with insufficient star
  6152  	// ratings.
  6153  	AvoidInsufficientStarRating bool `json:"avoidInsufficientStarRating,omitempty"`
  6154  	// AvoidedStarRating: Avoid bidding on apps with the star ratings.
  6155  	//
  6156  	// Possible values:
  6157  	//   "APP_STAR_RATE_UNSPECIFIED" - This enum is only a placeholder and it
  6158  	// doesn't specify any app star rating options.
  6159  	//   "APP_STAR_RATE_1_POINT_5_LESS" - Official Apps with rating < 1.5 Stars.
  6160  	//   "APP_STAR_RATE_2_LESS" - Official Apps with rating < 2 Stars.
  6161  	//   "APP_STAR_RATE_2_POINT_5_LESS" - Official Apps with rating < 2.5 Stars.
  6162  	//   "APP_STAR_RATE_3_LESS" - Official Apps with rating < 3 Stars.
  6163  	//   "APP_STAR_RATE_3_POINT_5_LESS" - Official Apps with rating < 3.5 Stars.
  6164  	//   "APP_STAR_RATE_4_LESS" - Official Apps with rating < 4 Stars.
  6165  	//   "APP_STAR_RATE_4_POINT_5_LESS" - Official Apps with rating < 4.5 Stars.
  6166  	AvoidedStarRating string `json:"avoidedStarRating,omitempty"`
  6167  	// ForceSendFields is a list of field names (e.g.
  6168  	// "AvoidInsufficientStarRating") to unconditionally include in API requests.
  6169  	// By default, fields with empty or default values are omitted from API
  6170  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  6171  	// for more details.
  6172  	ForceSendFields []string `json:"-"`
  6173  	// NullFields is a list of field names (e.g. "AvoidInsufficientStarRating") to
  6174  	// include in API requests with the JSON null value. By default, fields with
  6175  	// empty values are omitted from API requests. See
  6176  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6177  	NullFields []string `json:"-"`
  6178  }
  6179  
  6180  func (s *DoubleVerifyAppStarRating) MarshalJSON() ([]byte, error) {
  6181  	type NoMethod DoubleVerifyAppStarRating
  6182  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6183  }
  6184  
  6185  // DoubleVerifyBrandSafetyCategories: Settings for brand safety controls.
  6186  type DoubleVerifyBrandSafetyCategories struct {
  6187  	// AvoidUnknownBrandSafetyCategory: Unknown or unrateable.
  6188  	AvoidUnknownBrandSafetyCategory bool `json:"avoidUnknownBrandSafetyCategory,omitempty"`
  6189  	// AvoidedHighSeverityCategories: Brand safety high severity avoidance
  6190  	// categories.
  6191  	//
  6192  	// Possible values:
  6193  	//   "HIGHER_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and it
  6194  	// doesn't specify any high severity categories.
  6195  	//   "ADULT_CONTENT_PORNOGRAPHY" - Adult Content: Pornography, Mature Topics &
  6196  	// Nudity.
  6197  	//   "COPYRIGHT_INFRINGEMENT" - Copyright Infringement.
  6198  	//   "SUBSTANCE_ABUSE" - Drugs/Alcohol/Controlled Substances: Substance Abuse.
  6199  	//   "GRAPHIC_VIOLENCE_WEAPONS" - Extreme Graphic/Explicit Violence/Weapons.
  6200  	//   "HATE_PROFANITY" - Hate/Profanity.
  6201  	//   "CRIMINAL_SKILLS" - Illegal Activities: Criminal Skills.
  6202  	//   "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" - Incentivized/Malware/Clutter.
  6203  	AvoidedHighSeverityCategories []string `json:"avoidedHighSeverityCategories,omitempty"`
  6204  	// AvoidedMediumSeverityCategories: Brand safety medium severity avoidance
  6205  	// categories.
  6206  	//
  6207  	// Possible values:
  6208  	//   "MEDIUM_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and it
  6209  	// doesn't specify any medium severity categories.
  6210  	//   "AD_SERVERS" - Ad Servers.
  6211  	//   "ADULT_CONTENT_SWIMSUIT" - Adult Content: Swimsuit.
  6212  	//   "ALTERNATIVE_LIFESTYLES" - Controversial Subjects: Alternative Lifestyles.
  6213  	//   "CELEBRITY_GOSSIP" - Controversial Subjects: Celebrity Gossip.
  6214  	//   "GAMBLING" - Controversial Subjects: Gambling.
  6215  	//   "OCCULT" - Controversial Subjects: Occult.
  6216  	//   "SEX_EDUCATION" - Controversial Subjects: Sex Education.
  6217  	//   "DISASTER_AVIATION" - Disaster: Aviation.
  6218  	//   "DISASTER_MAN_MADE" - Disaster: Man-made.
  6219  	//   "DISASTER_NATURAL" - Disaster: Natural.
  6220  	//   "DISASTER_TERRORIST_EVENTS" - Disaster: Terrorist Events.
  6221  	//   "DISASTER_VEHICLE" - Disaster: Vehicle.
  6222  	//   "ALCOHOL" - Drugs/Alcohol/Controlled Substances: Alcohol.
  6223  	//   "SMOKING" - Drugs/Alcohol/Controlled Substances: Smoking.
  6224  	//   "NEGATIVE_NEWS_FINANCIAL" - Negative News: Financial.
  6225  	//   "NON_ENGLISH" - Non-Std Content: Non-English.
  6226  	//   "PARKING_PAGE" - Non-Std Content: Parking Page.
  6227  	//   "UNMODERATED_UGC" - Unmoderated UGC: Forums, Images & Video.
  6228  	//   "INFLAMMATORY_POLITICS_AND_NEWS" - Controversial Subjects: Inflammatory
  6229  	// Politics and News.
  6230  	//   "NEGATIVE_NEWS_PHARMACEUTICAL" - Negative News: Pharmaceutical.
  6231  	AvoidedMediumSeverityCategories []string `json:"avoidedMediumSeverityCategories,omitempty"`
  6232  	// ForceSendFields is a list of field names (e.g.
  6233  	// "AvoidUnknownBrandSafetyCategory") to unconditionally include in API
  6234  	// requests. By default, fields with empty or default values are omitted from
  6235  	// API requests. See
  6236  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6237  	// details.
  6238  	ForceSendFields []string `json:"-"`
  6239  	// NullFields is a list of field names (e.g. "AvoidUnknownBrandSafetyCategory")
  6240  	// to include in API requests with the JSON null value. By default, fields with
  6241  	// empty values are omitted from API requests. See
  6242  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6243  	NullFields []string `json:"-"`
  6244  }
  6245  
  6246  func (s *DoubleVerifyBrandSafetyCategories) MarshalJSON() ([]byte, error) {
  6247  	type NoMethod DoubleVerifyBrandSafetyCategories
  6248  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6249  }
  6250  
  6251  // DoubleVerifyDisplayViewability: Details of DoubleVerify display viewability
  6252  // settings.
  6253  type DoubleVerifyDisplayViewability struct {
  6254  	// Iab: Target web and app inventory to maximize IAB viewable rate.
  6255  	//
  6256  	// Possible values:
  6257  	//   "IAB_VIEWED_RATE_UNSPECIFIED" - This enum is only a placeholder and it
  6258  	// doesn't specify any IAB viewed rate options.
  6259  	//   "IAB_VIEWED_RATE_80_PERCENT_HIGHER" - Target web and app inventory to
  6260  	// maximize IAB viewable rate 80% or higher.
  6261  	//   "IAB_VIEWED_RATE_75_PERCENT_HIGHER" - Target web and app inventory to
  6262  	// maximize IAB viewable rate 75% or higher.
  6263  	//   "IAB_VIEWED_RATE_70_PERCENT_HIGHER" - Target web and app inventory to
  6264  	// maximize IAB viewable rate 70% or higher.
  6265  	//   "IAB_VIEWED_RATE_65_PERCENT_HIGHER" - Target web and app inventory to
  6266  	// maximize IAB viewable rate 65% or higher.
  6267  	//   "IAB_VIEWED_RATE_60_PERCENT_HIGHER" - Target web and app inventory to
  6268  	// maximize IAB viewable rate 60% or higher.
  6269  	//   "IAB_VIEWED_RATE_55_PERCENT_HIGHER" - Target web and app inventory to
  6270  	// maximize IAB viewable rate 55% or higher.
  6271  	//   "IAB_VIEWED_RATE_50_PERCENT_HIGHER" - Target web and app inventory to
  6272  	// maximize IAB viewable rate 50% or higher.
  6273  	//   "IAB_VIEWED_RATE_40_PERCENT_HIGHER" - Target web and app inventory to
  6274  	// maximize IAB viewable rate 40% or higher.
  6275  	//   "IAB_VIEWED_RATE_30_PERCENT_HIGHER" - Target web and app inventory to
  6276  	// maximize IAB viewable rate 30% or higher.
  6277  	Iab string `json:"iab,omitempty"`
  6278  	// ViewableDuring: Target web and app inventory to maximize 100% viewable
  6279  	// duration.
  6280  	//
  6281  	// Possible values:
  6282  	//   "AVERAGE_VIEW_DURATION_UNSPECIFIED" - This enum is only a placeholder and
  6283  	// it doesn't specify any average view duration options.
  6284  	//   "AVERAGE_VIEW_DURATION_5_SEC" - Target web and app inventory to maximize
  6285  	// 100% viewable duration 5 seconds or more.
  6286  	//   "AVERAGE_VIEW_DURATION_10_SEC" - Target web and app inventory to maximize
  6287  	// 100% viewable duration 10 seconds or more.
  6288  	//   "AVERAGE_VIEW_DURATION_15_SEC" - Target web and app inventory to maximize
  6289  	// 100% viewable duration 15 seconds or more.
  6290  	ViewableDuring string `json:"viewableDuring,omitempty"`
  6291  	// ForceSendFields is a list of field names (e.g. "Iab") to unconditionally
  6292  	// include in API requests. By default, fields with empty or default values are
  6293  	// omitted from API requests. See
  6294  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6295  	// details.
  6296  	ForceSendFields []string `json:"-"`
  6297  	// NullFields is a list of field names (e.g. "Iab") to include in API requests
  6298  	// with the JSON null value. By default, fields with empty values are omitted
  6299  	// from API requests. See
  6300  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6301  	NullFields []string `json:"-"`
  6302  }
  6303  
  6304  func (s *DoubleVerifyDisplayViewability) MarshalJSON() ([]byte, error) {
  6305  	type NoMethod DoubleVerifyDisplayViewability
  6306  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6307  }
  6308  
  6309  // DoubleVerifyFraudInvalidTraffic: DoubleVerify Fraud & Invalid Traffic
  6310  // settings.
  6311  type DoubleVerifyFraudInvalidTraffic struct {
  6312  	// AvoidInsufficientOption: Insufficient Historical Fraud & IVT Stats.
  6313  	AvoidInsufficientOption bool `json:"avoidInsufficientOption,omitempty"`
  6314  	// AvoidedFraudOption: Avoid Sites and Apps with historical Fraud & IVT.
  6315  	//
  6316  	// Possible values:
  6317  	//   "FRAUD_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  6318  	// specify any fraud and invalid traffic options.
  6319  	//   "AD_IMPRESSION_FRAUD_100" - 100% Fraud & IVT.
  6320  	//   "AD_IMPRESSION_FRAUD_50" - 50% or Higher Fraud & IVT.
  6321  	//   "AD_IMPRESSION_FRAUD_25" - 25% or Higher Fraud & IVT.
  6322  	//   "AD_IMPRESSION_FRAUD_10" - 10% or Higher Fraud & IVT.
  6323  	//   "AD_IMPRESSION_FRAUD_8" - 8% or Higher Fraud & IVT.
  6324  	//   "AD_IMPRESSION_FRAUD_6" - 6% or Higher Fraud & IVT.
  6325  	//   "AD_IMPRESSION_FRAUD_4" - 4% or Higher Fraud & IVT.
  6326  	//   "AD_IMPRESSION_FRAUD_2" - 2% or Higher Fraud & IVT.
  6327  	AvoidedFraudOption string `json:"avoidedFraudOption,omitempty"`
  6328  	// ForceSendFields is a list of field names (e.g. "AvoidInsufficientOption") to
  6329  	// unconditionally include in API requests. By default, fields with empty or
  6330  	// default values are omitted from API requests. See
  6331  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6332  	// details.
  6333  	ForceSendFields []string `json:"-"`
  6334  	// NullFields is a list of field names (e.g. "AvoidInsufficientOption") to
  6335  	// include in API requests with the JSON null value. By default, fields with
  6336  	// empty values are omitted from API requests. See
  6337  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6338  	NullFields []string `json:"-"`
  6339  }
  6340  
  6341  func (s *DoubleVerifyFraudInvalidTraffic) MarshalJSON() ([]byte, error) {
  6342  	type NoMethod DoubleVerifyFraudInvalidTraffic
  6343  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6344  }
  6345  
  6346  // DoubleVerifyVideoViewability: Details of DoubleVerify video viewability
  6347  // settings.
  6348  type DoubleVerifyVideoViewability struct {
  6349  	// PlayerImpressionRate: Target inventory to maximize impressions with 400x300
  6350  	// or greater player size.
  6351  	//
  6352  	// Possible values:
  6353  	//   "PLAYER_SIZE_400X300_UNSPECIFIED" - This enum is only a placeholder and it
  6354  	// doesn't specify any impressions options.
  6355  	//   "PLAYER_SIZE_400X300_95" - Sites with 95%+ of impressions.
  6356  	//   "PLAYER_SIZE_400X300_70" - Sites with 70%+ of impressions.
  6357  	//   "PLAYER_SIZE_400X300_25" - Sites with 25%+ of impressions.
  6358  	//   "PLAYER_SIZE_400X300_5" - Sites with 5%+ of impressions.
  6359  	PlayerImpressionRate string `json:"playerImpressionRate,omitempty"`
  6360  	// VideoIab: Target web inventory to maximize IAB viewable rate.
  6361  	//
  6362  	// Possible values:
  6363  	//   "VIDEO_IAB_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  6364  	// specify any video IAB viewable rate options.
  6365  	//   "IAB_VIEWABILITY_80_PERCENT_HIGHER" - Target web and app inventory to
  6366  	// maximize IAB viewable rate 80% or higher.
  6367  	//   "IAB_VIEWABILITY_75_PERCENT_HIGHER" - Target web and app inventory to
  6368  	// maximize IAB viewable rate 75% or higher.
  6369  	//   "IAB_VIEWABILITY_70_PERCENT_HIGHER" - Target web and app inventory to
  6370  	// maximize IAB viewable rate 70% or higher.
  6371  	//   "IAB_VIEWABILITY_65_PERCENT_HIHGER" - Target web and app inventory to
  6372  	// maximize IAB viewable rate 65% or higher.
  6373  	//   "IAB_VIEWABILITY_60_PERCENT_HIGHER" - Target web and app inventory to
  6374  	// maximize IAB viewable rate 60% or higher.
  6375  	//   "IAB_VIEWABILITY_55_PERCENT_HIHGER" - Target web and app inventory to
  6376  	// maximize IAB viewable rate 55% or higher.
  6377  	//   "IAB_VIEWABILITY_50_PERCENT_HIGHER" - Target web and app inventory to
  6378  	// maximize IAB viewable rate 50% or higher.
  6379  	//   "IAB_VIEWABILITY_40_PERCENT_HIHGER" - Target web and app inventory to
  6380  	// maximize IAB viewable rate 40% or higher.
  6381  	//   "IAB_VIEWABILITY_30_PERCENT_HIHGER" - Target web and app inventory to
  6382  	// maximize IAB viewable rate 30% or higher.
  6383  	VideoIab string `json:"videoIab,omitempty"`
  6384  	// VideoViewableRate: Target web inventory to maximize fully viewable rate.
  6385  	//
  6386  	// Possible values:
  6387  	//   "VIDEO_VIEWABLE_RATE_UNSPECIFIED" - This enum is only a placeholder and it
  6388  	// doesn't specify any video viewable rate options.
  6389  	//   "VIEWED_PERFORMANCE_40_PERCENT_HIGHER" - Target web inventory to maximize
  6390  	// fully viewable rate 40% or higher.
  6391  	//   "VIEWED_PERFORMANCE_35_PERCENT_HIGHER" - Target web inventory to maximize
  6392  	// fully viewable rate 35% or higher.
  6393  	//   "VIEWED_PERFORMANCE_30_PERCENT_HIGHER" - Target web inventory to maximize
  6394  	// fully viewable rate 30% or higher.
  6395  	//   "VIEWED_PERFORMANCE_25_PERCENT_HIGHER" - Target web inventory to maximize
  6396  	// fully viewable rate 25% or higher.
  6397  	//   "VIEWED_PERFORMANCE_20_PERCENT_HIGHER" - Target web inventory to maximize
  6398  	// fully viewable rate 20% or higher.
  6399  	//   "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" - Target web inventory to maximize
  6400  	// fully viewable rate 10% or higher.
  6401  	VideoViewableRate string `json:"videoViewableRate,omitempty"`
  6402  	// ForceSendFields is a list of field names (e.g. "PlayerImpressionRate") to
  6403  	// unconditionally include in API requests. By default, fields with empty or
  6404  	// default values are omitted from API requests. See
  6405  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6406  	// details.
  6407  	ForceSendFields []string `json:"-"`
  6408  	// NullFields is a list of field names (e.g. "PlayerImpressionRate") to include
  6409  	// in API requests with the JSON null value. By default, fields with empty
  6410  	// values are omitted from API requests. See
  6411  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6412  	NullFields []string `json:"-"`
  6413  }
  6414  
  6415  func (s *DoubleVerifyVideoViewability) MarshalJSON() ([]byte, error) {
  6416  	type NoMethod DoubleVerifyVideoViewability
  6417  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6418  }
  6419  
  6420  // DuplicateLineItemRequest: Request message for
  6421  // LineItemService.DuplicateLineItem.
  6422  type DuplicateLineItemRequest struct {
  6423  	// TargetDisplayName: The display name of the new line item. Must be UTF-8
  6424  	// encoded with a maximum size of 240 bytes.
  6425  	TargetDisplayName string `json:"targetDisplayName,omitempty"`
  6426  	// ForceSendFields is a list of field names (e.g. "TargetDisplayName") to
  6427  	// unconditionally include in API requests. By default, fields with empty or
  6428  	// default values are omitted from API requests. See
  6429  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6430  	// details.
  6431  	ForceSendFields []string `json:"-"`
  6432  	// NullFields is a list of field names (e.g. "TargetDisplayName") to include in
  6433  	// API requests with the JSON null value. By default, fields with empty values
  6434  	// are omitted from API requests. See
  6435  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6436  	NullFields []string `json:"-"`
  6437  }
  6438  
  6439  func (s *DuplicateLineItemRequest) MarshalJSON() ([]byte, error) {
  6440  	type NoMethod DuplicateLineItemRequest
  6441  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6442  }
  6443  
  6444  type DuplicateLineItemResponse struct {
  6445  	// DuplicateLineItemId: The ID of the created line item.
  6446  	DuplicateLineItemId int64 `json:"duplicateLineItemId,omitempty,string"`
  6447  
  6448  	// ServerResponse contains the HTTP response code and headers from the server.
  6449  	googleapi.ServerResponse `json:"-"`
  6450  	// ForceSendFields is a list of field names (e.g. "DuplicateLineItemId") to
  6451  	// unconditionally include in API requests. By default, fields with empty or
  6452  	// default values are omitted from API requests. See
  6453  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6454  	// details.
  6455  	ForceSendFields []string `json:"-"`
  6456  	// NullFields is a list of field names (e.g. "DuplicateLineItemId") to include
  6457  	// in API requests with the JSON null value. By default, fields with empty
  6458  	// values are omitted from API requests. See
  6459  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6460  	NullFields []string `json:"-"`
  6461  }
  6462  
  6463  func (s *DuplicateLineItemResponse) MarshalJSON() ([]byte, error) {
  6464  	type NoMethod DuplicateLineItemResponse
  6465  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6466  }
  6467  
  6468  // EditCustomerMatchMembersRequest: Request message for
  6469  // FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.
  6470  type EditCustomerMatchMembersRequest struct {
  6471  	// AddedContactInfoList: Input only. A list of contact information to define
  6472  	// the members to be added.
  6473  	AddedContactInfoList *ContactInfoList `json:"addedContactInfoList,omitempty"`
  6474  	// AddedMobileDeviceIdList: Input only. A list of mobile device IDs to define
  6475  	// the members to be added.
  6476  	AddedMobileDeviceIdList *MobileDeviceIdList `json:"addedMobileDeviceIdList,omitempty"`
  6477  	// AdvertiserId: Required. The ID of the owner advertiser of the updated
  6478  	// Customer Match FirstAndThirdPartyAudience.
  6479  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  6480  	// RemovedContactInfoList: Input only. A list of contact information to define
  6481  	// the members to be removed.
  6482  	RemovedContactInfoList *ContactInfoList `json:"removedContactInfoList,omitempty"`
  6483  	// RemovedMobileDeviceIdList: Input only. A list of mobile device IDs to define
  6484  	// the members to be removed.
  6485  	RemovedMobileDeviceIdList *MobileDeviceIdList `json:"removedMobileDeviceIdList,omitempty"`
  6486  	// ForceSendFields is a list of field names (e.g. "AddedContactInfoList") to
  6487  	// unconditionally include in API requests. By default, fields with empty or
  6488  	// default values are omitted from API requests. See
  6489  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6490  	// details.
  6491  	ForceSendFields []string `json:"-"`
  6492  	// NullFields is a list of field names (e.g. "AddedContactInfoList") to include
  6493  	// in API requests with the JSON null value. By default, fields with empty
  6494  	// values are omitted from API requests. See
  6495  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6496  	NullFields []string `json:"-"`
  6497  }
  6498  
  6499  func (s *EditCustomerMatchMembersRequest) MarshalJSON() ([]byte, error) {
  6500  	type NoMethod EditCustomerMatchMembersRequest
  6501  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6502  }
  6503  
  6504  // EditCustomerMatchMembersResponse: The response of
  6505  // FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.
  6506  type EditCustomerMatchMembersResponse struct {
  6507  	// FirstAndThirdPartyAudienceId: Required. The ID of the updated Customer Match
  6508  	// FirstAndThirdPartyAudience.
  6509  	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
  6510  
  6511  	// ServerResponse contains the HTTP response code and headers from the server.
  6512  	googleapi.ServerResponse `json:"-"`
  6513  	// ForceSendFields is a list of field names (e.g.
  6514  	// "FirstAndThirdPartyAudienceId") to unconditionally include in API requests.
  6515  	// By default, fields with empty or default values are omitted from API
  6516  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  6517  	// for more details.
  6518  	ForceSendFields []string `json:"-"`
  6519  	// NullFields is a list of field names (e.g. "FirstAndThirdPartyAudienceId") to
  6520  	// include in API requests with the JSON null value. By default, fields with
  6521  	// empty values are omitted from API requests. See
  6522  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6523  	NullFields []string `json:"-"`
  6524  }
  6525  
  6526  func (s *EditCustomerMatchMembersResponse) MarshalJSON() ([]byte, error) {
  6527  	type NoMethod EditCustomerMatchMembersResponse
  6528  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6529  }
  6530  
  6531  // EditGuaranteedOrderReadAccessorsRequest: Request message for
  6532  // GuaranteedOrderService.EditGuaranteedOrderReadAccessors.
  6533  type EditGuaranteedOrderReadAccessorsRequest struct {
  6534  	// AddedAdvertisers: The advertisers to add as read accessors to the guaranteed
  6535  	// order.
  6536  	AddedAdvertisers googleapi.Int64s `json:"addedAdvertisers,omitempty"`
  6537  	// PartnerId: Required. The partner context in which the change is being made.
  6538  	PartnerId int64 `json:"partnerId,omitempty,string"`
  6539  	// ReadAccessInherited: Whether to give all advertisers of the read/write
  6540  	// accessor partner read access to the guaranteed order. Only applicable if
  6541  	// read_write_partner_id is set in the guaranteed order.
  6542  	ReadAccessInherited bool `json:"readAccessInherited,omitempty"`
  6543  	// RemovedAdvertisers: The advertisers to remove as read accessors to the
  6544  	// guaranteed order.
  6545  	RemovedAdvertisers googleapi.Int64s `json:"removedAdvertisers,omitempty"`
  6546  	// ForceSendFields is a list of field names (e.g. "AddedAdvertisers") to
  6547  	// unconditionally include in API requests. By default, fields with empty or
  6548  	// default values are omitted from API requests. See
  6549  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6550  	// details.
  6551  	ForceSendFields []string `json:"-"`
  6552  	// NullFields is a list of field names (e.g. "AddedAdvertisers") to include in
  6553  	// API requests with the JSON null value. By default, fields with empty values
  6554  	// are omitted from API requests. See
  6555  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6556  	NullFields []string `json:"-"`
  6557  }
  6558  
  6559  func (s *EditGuaranteedOrderReadAccessorsRequest) MarshalJSON() ([]byte, error) {
  6560  	type NoMethod EditGuaranteedOrderReadAccessorsRequest
  6561  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6562  }
  6563  
  6564  type EditGuaranteedOrderReadAccessorsResponse struct {
  6565  	// ReadAccessInherited: Whether all advertisers of read_write_partner_id have
  6566  	// read access to the guaranteed order.
  6567  	ReadAccessInherited bool `json:"readAccessInherited,omitempty"`
  6568  	// ReadAdvertiserIds: The IDs of advertisers with read access to the guaranteed
  6569  	// order.
  6570  	ReadAdvertiserIds googleapi.Int64s `json:"readAdvertiserIds,omitempty"`
  6571  
  6572  	// ServerResponse contains the HTTP response code and headers from the server.
  6573  	googleapi.ServerResponse `json:"-"`
  6574  	// ForceSendFields is a list of field names (e.g. "ReadAccessInherited") to
  6575  	// unconditionally include in API requests. By default, fields with empty or
  6576  	// default values are omitted from API requests. See
  6577  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6578  	// details.
  6579  	ForceSendFields []string `json:"-"`
  6580  	// NullFields is a list of field names (e.g. "ReadAccessInherited") to include
  6581  	// in API requests with the JSON null value. By default, fields with empty
  6582  	// values are omitted from API requests. See
  6583  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6584  	NullFields []string `json:"-"`
  6585  }
  6586  
  6587  func (s *EditGuaranteedOrderReadAccessorsResponse) MarshalJSON() ([]byte, error) {
  6588  	type NoMethod EditGuaranteedOrderReadAccessorsResponse
  6589  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6590  }
  6591  
  6592  // EditInventorySourceReadWriteAccessorsRequest: Request message for
  6593  // InventorySourceService.EditInventorySourceReadWriteAccessors.
  6594  type EditInventorySourceReadWriteAccessorsRequest struct {
  6595  	// AdvertisersUpdate: The advertisers to add or remove from the list of
  6596  	// advertisers that have read/write access to the inventory source. This change
  6597  	// will remove an existing partner read/write accessor.
  6598  	AdvertisersUpdate *EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate `json:"advertisersUpdate,omitempty"`
  6599  	// AssignPartner: Set the partner context as read/write accessor of the
  6600  	// inventory source. This will remove all other current read/write advertiser
  6601  	// accessors.
  6602  	AssignPartner bool `json:"assignPartner,omitempty"`
  6603  	// PartnerId: Required. The partner context by which the accessors change is
  6604  	// being made.
  6605  	PartnerId int64 `json:"partnerId,omitempty,string"`
  6606  	// ForceSendFields is a list of field names (e.g. "AdvertisersUpdate") to
  6607  	// unconditionally include in API requests. By default, fields with empty or
  6608  	// default values are omitted from API requests. See
  6609  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6610  	// details.
  6611  	ForceSendFields []string `json:"-"`
  6612  	// NullFields is a list of field names (e.g. "AdvertisersUpdate") to include in
  6613  	// API requests with the JSON null value. By default, fields with empty values
  6614  	// are omitted from API requests. See
  6615  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6616  	NullFields []string `json:"-"`
  6617  }
  6618  
  6619  func (s *EditInventorySourceReadWriteAccessorsRequest) MarshalJSON() ([]byte, error) {
  6620  	type NoMethod EditInventorySourceReadWriteAccessorsRequest
  6621  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6622  }
  6623  
  6624  // EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate: Update to the
  6625  // list of advertisers with read/write access to the inventory source.
  6626  type EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate struct {
  6627  	// AddedAdvertisers: The advertisers to add.
  6628  	AddedAdvertisers googleapi.Int64s `json:"addedAdvertisers,omitempty"`
  6629  	// RemovedAdvertisers: The advertisers to remove.
  6630  	RemovedAdvertisers googleapi.Int64s `json:"removedAdvertisers,omitempty"`
  6631  	// ForceSendFields is a list of field names (e.g. "AddedAdvertisers") to
  6632  	// unconditionally include in API requests. By default, fields with empty or
  6633  	// default values are omitted from API requests. See
  6634  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6635  	// details.
  6636  	ForceSendFields []string `json:"-"`
  6637  	// NullFields is a list of field names (e.g. "AddedAdvertisers") to include in
  6638  	// API requests with the JSON null value. By default, fields with empty values
  6639  	// are omitted from API requests. See
  6640  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6641  	NullFields []string `json:"-"`
  6642  }
  6643  
  6644  func (s *EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate) MarshalJSON() ([]byte, error) {
  6645  	type NoMethod EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate
  6646  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6647  }
  6648  
  6649  // Empty: A generic empty message that you can re-use to avoid defining
  6650  // duplicated empty messages in your APIs. A typical example is to use it as
  6651  // the request or the response type of an API method. For instance: service Foo
  6652  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  6653  type Empty struct {
  6654  	// ServerResponse contains the HTTP response code and headers from the server.
  6655  	googleapi.ServerResponse `json:"-"`
  6656  }
  6657  
  6658  // EnvironmentAssignedTargetingOptionDetails: Assigned environment targeting
  6659  // option details. This will be populated in the details field of an
  6660  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`.
  6661  type EnvironmentAssignedTargetingOptionDetails struct {
  6662  	// Environment: Required. The serving environment.
  6663  	//
  6664  	// Possible values:
  6665  	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
  6666  	// specified in this version. This enum is a placeholder for default value and
  6667  	// does not represent a real environment option.
  6668  	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in browsers. This
  6669  	// includes inventory that was designed for the device it was viewed on, such
  6670  	// as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED,
  6671  	// if targeted, should be deleted prior to the deletion of this targeting
  6672  	// option.
  6673  	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in browsers.
  6674  	// This includes inventory that was not designed for the device but viewed on
  6675  	// it, such as websites optimized for desktop but viewed on a mobile device.
  6676  	// ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this
  6677  	// targeting option.
  6678  	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
  6679  	Environment string `json:"environment,omitempty"`
  6680  	// ForceSendFields is a list of field names (e.g. "Environment") to
  6681  	// unconditionally include in API requests. By default, fields with empty or
  6682  	// default values are omitted from API requests. See
  6683  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6684  	// details.
  6685  	ForceSendFields []string `json:"-"`
  6686  	// NullFields is a list of field names (e.g. "Environment") to include in API
  6687  	// requests with the JSON null value. By default, fields with empty values are
  6688  	// omitted from API requests. See
  6689  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6690  	NullFields []string `json:"-"`
  6691  }
  6692  
  6693  func (s *EnvironmentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6694  	type NoMethod EnvironmentAssignedTargetingOptionDetails
  6695  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6696  }
  6697  
  6698  // EnvironmentTargetingOptionDetails: Represents a targetable environment. This
  6699  // will be populated in the environment_details field of a TargetingOption when
  6700  // targeting_type is `TARGETING_TYPE_ENVIRONMENT`.
  6701  type EnvironmentTargetingOptionDetails struct {
  6702  	// Environment: Output only. The serving environment.
  6703  	//
  6704  	// Possible values:
  6705  	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
  6706  	// specified in this version. This enum is a placeholder for default value and
  6707  	// does not represent a real environment option.
  6708  	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in browsers. This
  6709  	// includes inventory that was designed for the device it was viewed on, such
  6710  	// as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED,
  6711  	// if targeted, should be deleted prior to the deletion of this targeting
  6712  	// option.
  6713  	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in browsers.
  6714  	// This includes inventory that was not designed for the device but viewed on
  6715  	// it, such as websites optimized for desktop but viewed on a mobile device.
  6716  	// ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this
  6717  	// targeting option.
  6718  	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
  6719  	Environment string `json:"environment,omitempty"`
  6720  	// ForceSendFields is a list of field names (e.g. "Environment") to
  6721  	// unconditionally include in API requests. By default, fields with empty or
  6722  	// default values are omitted from API requests. See
  6723  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6724  	// details.
  6725  	ForceSendFields []string `json:"-"`
  6726  	// NullFields is a list of field names (e.g. "Environment") to include in API
  6727  	// requests with the JSON null value. By default, fields with empty values are
  6728  	// omitted from API requests. See
  6729  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6730  	NullFields []string `json:"-"`
  6731  }
  6732  
  6733  func (s *EnvironmentTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6734  	type NoMethod EnvironmentTargetingOptionDetails
  6735  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6736  }
  6737  
  6738  // ExchangeAssignedTargetingOptionDetails: Details for assigned exchange
  6739  // targeting option. This will be populated in the details field of an
  6740  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`.
  6741  type ExchangeAssignedTargetingOptionDetails struct {
  6742  	// Exchange: Required. The enum value for the exchange.
  6743  	//
  6744  	// Possible values:
  6745  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  6746  	// version.
  6747  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  6748  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  6749  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  6750  	//   "EXCHANGE_ADFORM" - Adform.
  6751  	//   "EXCHANGE_ADMETA" - Admeta.
  6752  	//   "EXCHANGE_ADMIXER" - Admixer.
  6753  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  6754  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  6755  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  6756  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  6757  	// Yahoo!.
  6758  	//   "EXCHANGE_CADREON" - Cadreon.
  6759  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  6760  	//   "EXCHANGE_FIVE" - Five.
  6761  	//   "EXCHANGE_FLUCT" - Fluct.
  6762  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  6763  	//   "EXCHANGE_GENIEE" - Geniee.
  6764  	//   "EXCHANGE_GUMGUM" - GumGum.
  6765  	//   "EXCHANGE_IMOBILE" - i-mobile.
  6766  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  6767  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  6768  	//   "EXCHANGE_INDEX" - Index Exchange.
  6769  	//   "EXCHANGE_KARGO" - Kargo.
  6770  	//   "EXCHANGE_MICROAD" - MicroAd.
  6771  	//   "EXCHANGE_MOPUB" - MoPub.
  6772  	//   "EXCHANGE_NEND" - Nend.
  6773  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  6774  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  6775  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  6776  	//   "EXCHANGE_OOYALA" - Ooyala.
  6777  	//   "EXCHANGE_OPENX" - OpenX.
  6778  	//   "EXCHANGE_PERMODO" - Permodo.
  6779  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  6780  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  6781  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  6782  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  6783  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  6784  	//   "EXCHANGE_RUBICON" - Rubicon.
  6785  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  6786  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  6787  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  6788  	//   "EXCHANGE_SOVRN" - Sovrn.
  6789  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  6790  	//   "EXCHANGE_STROER" - Ströer SSP.
  6791  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  6792  	//   "EXCHANGE_TELARIA" - Telaria.
  6793  	//   "EXCHANGE_TVN" - TVN.
  6794  	//   "EXCHANGE_UNITED" - United.
  6795  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  6796  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  6797  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  6798  	//   "EXCHANGE_OPEN8" - Open8.
  6799  	//   "EXCHANGE_TRITON" - Triton.
  6800  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  6801  	//   "EXCHANGE_TABOOLA" - Taboola.
  6802  	//   "EXCHANGE_INMOBI" - InMobi.
  6803  	//   "EXCHANGE_SMAATO" - Smaato.
  6804  	//   "EXCHANGE_AJA" - Aja.
  6805  	//   "EXCHANGE_SUPERSHIP" - Supership.
  6806  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  6807  	//   "EXCHANGE_WAZE" - Waze.
  6808  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  6809  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  6810  	//   "EXCHANGE_FYBER" - Fyber.
  6811  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  6812  	//   "EXCHANGE_MEDIANET" - Media.net.
  6813  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  6814  	//   "EXCHANGE_VISTAR" - Vistar.
  6815  	//   "EXCHANGE_DAX" - DAX.
  6816  	//   "EXCHANGE_JCD" - JCD.
  6817  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  6818  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  6819  	//   "EXCHANGE_CONNATIX" - Connatix.
  6820  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  6821  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  6822  	//   "EXCHANGE_DRAX" - Drax.
  6823  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  6824  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  6825  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  6826  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  6827  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  6828  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  6829  	Exchange string `json:"exchange,omitempty"`
  6830  	// ForceSendFields is a list of field names (e.g. "Exchange") to
  6831  	// unconditionally include in API requests. By default, fields with empty or
  6832  	// default values are omitted from API requests. See
  6833  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6834  	// details.
  6835  	ForceSendFields []string `json:"-"`
  6836  	// NullFields is a list of field names (e.g. "Exchange") to include in API
  6837  	// requests with the JSON null value. By default, fields with empty values are
  6838  	// omitted from API requests. See
  6839  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6840  	NullFields []string `json:"-"`
  6841  }
  6842  
  6843  func (s *ExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6844  	type NoMethod ExchangeAssignedTargetingOptionDetails
  6845  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6846  }
  6847  
  6848  // ExchangeConfig: Settings that control which exchanges are enabled for a
  6849  // partner.
  6850  type ExchangeConfig struct {
  6851  	// EnabledExchanges: All enabled exchanges in the partner. Duplicate enabled
  6852  	// exchanges will be ignored.
  6853  	EnabledExchanges []*ExchangeConfigEnabledExchange `json:"enabledExchanges,omitempty"`
  6854  	// ForceSendFields is a list of field names (e.g. "EnabledExchanges") to
  6855  	// unconditionally include in API requests. By default, fields with empty or
  6856  	// default values are omitted from API requests. See
  6857  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6858  	// details.
  6859  	ForceSendFields []string `json:"-"`
  6860  	// NullFields is a list of field names (e.g. "EnabledExchanges") to include in
  6861  	// API requests with the JSON null value. By default, fields with empty values
  6862  	// are omitted from API requests. See
  6863  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6864  	NullFields []string `json:"-"`
  6865  }
  6866  
  6867  func (s *ExchangeConfig) MarshalJSON() ([]byte, error) {
  6868  	type NoMethod ExchangeConfig
  6869  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6870  }
  6871  
  6872  // ExchangeConfigEnabledExchange: An enabled exchange in the partner.
  6873  type ExchangeConfigEnabledExchange struct {
  6874  	// Exchange: The enabled exchange.
  6875  	//
  6876  	// Possible values:
  6877  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  6878  	// version.
  6879  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  6880  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  6881  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  6882  	//   "EXCHANGE_ADFORM" - Adform.
  6883  	//   "EXCHANGE_ADMETA" - Admeta.
  6884  	//   "EXCHANGE_ADMIXER" - Admixer.
  6885  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  6886  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  6887  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  6888  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  6889  	// Yahoo!.
  6890  	//   "EXCHANGE_CADREON" - Cadreon.
  6891  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  6892  	//   "EXCHANGE_FIVE" - Five.
  6893  	//   "EXCHANGE_FLUCT" - Fluct.
  6894  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  6895  	//   "EXCHANGE_GENIEE" - Geniee.
  6896  	//   "EXCHANGE_GUMGUM" - GumGum.
  6897  	//   "EXCHANGE_IMOBILE" - i-mobile.
  6898  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  6899  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  6900  	//   "EXCHANGE_INDEX" - Index Exchange.
  6901  	//   "EXCHANGE_KARGO" - Kargo.
  6902  	//   "EXCHANGE_MICROAD" - MicroAd.
  6903  	//   "EXCHANGE_MOPUB" - MoPub.
  6904  	//   "EXCHANGE_NEND" - Nend.
  6905  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  6906  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  6907  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  6908  	//   "EXCHANGE_OOYALA" - Ooyala.
  6909  	//   "EXCHANGE_OPENX" - OpenX.
  6910  	//   "EXCHANGE_PERMODO" - Permodo.
  6911  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  6912  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  6913  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  6914  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  6915  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  6916  	//   "EXCHANGE_RUBICON" - Rubicon.
  6917  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  6918  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  6919  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  6920  	//   "EXCHANGE_SOVRN" - Sovrn.
  6921  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  6922  	//   "EXCHANGE_STROER" - Ströer SSP.
  6923  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  6924  	//   "EXCHANGE_TELARIA" - Telaria.
  6925  	//   "EXCHANGE_TVN" - TVN.
  6926  	//   "EXCHANGE_UNITED" - United.
  6927  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  6928  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  6929  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  6930  	//   "EXCHANGE_OPEN8" - Open8.
  6931  	//   "EXCHANGE_TRITON" - Triton.
  6932  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  6933  	//   "EXCHANGE_TABOOLA" - Taboola.
  6934  	//   "EXCHANGE_INMOBI" - InMobi.
  6935  	//   "EXCHANGE_SMAATO" - Smaato.
  6936  	//   "EXCHANGE_AJA" - Aja.
  6937  	//   "EXCHANGE_SUPERSHIP" - Supership.
  6938  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  6939  	//   "EXCHANGE_WAZE" - Waze.
  6940  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  6941  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  6942  	//   "EXCHANGE_FYBER" - Fyber.
  6943  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  6944  	//   "EXCHANGE_MEDIANET" - Media.net.
  6945  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  6946  	//   "EXCHANGE_VISTAR" - Vistar.
  6947  	//   "EXCHANGE_DAX" - DAX.
  6948  	//   "EXCHANGE_JCD" - JCD.
  6949  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  6950  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  6951  	//   "EXCHANGE_CONNATIX" - Connatix.
  6952  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  6953  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  6954  	//   "EXCHANGE_DRAX" - Drax.
  6955  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  6956  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  6957  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  6958  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  6959  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  6960  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  6961  	Exchange string `json:"exchange,omitempty"`
  6962  	// GoogleAdManagerAgencyId: Output only. Agency ID of Google Ad Manager. The
  6963  	// field is only relevant when Google Ad Manager is the enabled exchange.
  6964  	GoogleAdManagerAgencyId string `json:"googleAdManagerAgencyId,omitempty"`
  6965  	// GoogleAdManagerBuyerNetworkId: Output only. Network ID of Google Ad Manager.
  6966  	// The field is only relevant when Google Ad Manager is the enabled exchange.
  6967  	GoogleAdManagerBuyerNetworkId string `json:"googleAdManagerBuyerNetworkId,omitempty"`
  6968  	// SeatId: Output only. Seat ID of the enabled exchange.
  6969  	SeatId string `json:"seatId,omitempty"`
  6970  	// ForceSendFields is a list of field names (e.g. "Exchange") to
  6971  	// unconditionally include in API requests. By default, fields with empty or
  6972  	// default values are omitted from API requests. See
  6973  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6974  	// details.
  6975  	ForceSendFields []string `json:"-"`
  6976  	// NullFields is a list of field names (e.g. "Exchange") to include in API
  6977  	// requests with the JSON null value. By default, fields with empty values are
  6978  	// omitted from API requests. See
  6979  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6980  	NullFields []string `json:"-"`
  6981  }
  6982  
  6983  func (s *ExchangeConfigEnabledExchange) MarshalJSON() ([]byte, error) {
  6984  	type NoMethod ExchangeConfigEnabledExchange
  6985  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6986  }
  6987  
  6988  // ExchangeReviewStatus: Exchange review status for the creative.
  6989  type ExchangeReviewStatus struct {
  6990  	// Exchange: The exchange reviewing the creative.
  6991  	//
  6992  	// Possible values:
  6993  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  6994  	// version.
  6995  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  6996  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  6997  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  6998  	//   "EXCHANGE_ADFORM" - Adform.
  6999  	//   "EXCHANGE_ADMETA" - Admeta.
  7000  	//   "EXCHANGE_ADMIXER" - Admixer.
  7001  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  7002  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  7003  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  7004  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  7005  	// Yahoo!.
  7006  	//   "EXCHANGE_CADREON" - Cadreon.
  7007  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  7008  	//   "EXCHANGE_FIVE" - Five.
  7009  	//   "EXCHANGE_FLUCT" - Fluct.
  7010  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  7011  	//   "EXCHANGE_GENIEE" - Geniee.
  7012  	//   "EXCHANGE_GUMGUM" - GumGum.
  7013  	//   "EXCHANGE_IMOBILE" - i-mobile.
  7014  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  7015  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  7016  	//   "EXCHANGE_INDEX" - Index Exchange.
  7017  	//   "EXCHANGE_KARGO" - Kargo.
  7018  	//   "EXCHANGE_MICROAD" - MicroAd.
  7019  	//   "EXCHANGE_MOPUB" - MoPub.
  7020  	//   "EXCHANGE_NEND" - Nend.
  7021  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  7022  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  7023  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  7024  	//   "EXCHANGE_OOYALA" - Ooyala.
  7025  	//   "EXCHANGE_OPENX" - OpenX.
  7026  	//   "EXCHANGE_PERMODO" - Permodo.
  7027  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  7028  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  7029  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  7030  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  7031  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  7032  	//   "EXCHANGE_RUBICON" - Rubicon.
  7033  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  7034  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  7035  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  7036  	//   "EXCHANGE_SOVRN" - Sovrn.
  7037  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  7038  	//   "EXCHANGE_STROER" - Ströer SSP.
  7039  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  7040  	//   "EXCHANGE_TELARIA" - Telaria.
  7041  	//   "EXCHANGE_TVN" - TVN.
  7042  	//   "EXCHANGE_UNITED" - United.
  7043  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  7044  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  7045  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  7046  	//   "EXCHANGE_OPEN8" - Open8.
  7047  	//   "EXCHANGE_TRITON" - Triton.
  7048  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  7049  	//   "EXCHANGE_TABOOLA" - Taboola.
  7050  	//   "EXCHANGE_INMOBI" - InMobi.
  7051  	//   "EXCHANGE_SMAATO" - Smaato.
  7052  	//   "EXCHANGE_AJA" - Aja.
  7053  	//   "EXCHANGE_SUPERSHIP" - Supership.
  7054  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  7055  	//   "EXCHANGE_WAZE" - Waze.
  7056  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  7057  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  7058  	//   "EXCHANGE_FYBER" - Fyber.
  7059  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  7060  	//   "EXCHANGE_MEDIANET" - Media.net.
  7061  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  7062  	//   "EXCHANGE_VISTAR" - Vistar.
  7063  	//   "EXCHANGE_DAX" - DAX.
  7064  	//   "EXCHANGE_JCD" - JCD.
  7065  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  7066  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  7067  	//   "EXCHANGE_CONNATIX" - Connatix.
  7068  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  7069  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  7070  	//   "EXCHANGE_DRAX" - Drax.
  7071  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  7072  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  7073  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  7074  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  7075  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  7076  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  7077  	Exchange string `json:"exchange,omitempty"`
  7078  	// Status: Status of the exchange review.
  7079  	//
  7080  	// Possible values:
  7081  	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in
  7082  	// this version.
  7083  	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
  7084  	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
  7085  	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
  7086  	Status string `json:"status,omitempty"`
  7087  	// ForceSendFields is a list of field names (e.g. "Exchange") to
  7088  	// unconditionally include in API requests. By default, fields with empty or
  7089  	// default values are omitted from API requests. See
  7090  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7091  	// details.
  7092  	ForceSendFields []string `json:"-"`
  7093  	// NullFields is a list of field names (e.g. "Exchange") to include in API
  7094  	// requests with the JSON null value. By default, fields with empty values are
  7095  	// omitted from API requests. See
  7096  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7097  	NullFields []string `json:"-"`
  7098  }
  7099  
  7100  func (s *ExchangeReviewStatus) MarshalJSON() ([]byte, error) {
  7101  	type NoMethod ExchangeReviewStatus
  7102  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7103  }
  7104  
  7105  // ExchangeTargetingOptionDetails: Represents a targetable exchange. This will
  7106  // be populated in the exchange_details field of a TargetingOption when
  7107  // targeting_type is `TARGETING_TYPE_EXCHANGE`.
  7108  type ExchangeTargetingOptionDetails struct {
  7109  	// Exchange: Output only. The type of exchange.
  7110  	//
  7111  	// Possible values:
  7112  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  7113  	// version.
  7114  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  7115  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  7116  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  7117  	//   "EXCHANGE_ADFORM" - Adform.
  7118  	//   "EXCHANGE_ADMETA" - Admeta.
  7119  	//   "EXCHANGE_ADMIXER" - Admixer.
  7120  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  7121  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  7122  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  7123  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  7124  	// Yahoo!.
  7125  	//   "EXCHANGE_CADREON" - Cadreon.
  7126  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  7127  	//   "EXCHANGE_FIVE" - Five.
  7128  	//   "EXCHANGE_FLUCT" - Fluct.
  7129  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  7130  	//   "EXCHANGE_GENIEE" - Geniee.
  7131  	//   "EXCHANGE_GUMGUM" - GumGum.
  7132  	//   "EXCHANGE_IMOBILE" - i-mobile.
  7133  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  7134  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  7135  	//   "EXCHANGE_INDEX" - Index Exchange.
  7136  	//   "EXCHANGE_KARGO" - Kargo.
  7137  	//   "EXCHANGE_MICROAD" - MicroAd.
  7138  	//   "EXCHANGE_MOPUB" - MoPub.
  7139  	//   "EXCHANGE_NEND" - Nend.
  7140  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  7141  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  7142  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  7143  	//   "EXCHANGE_OOYALA" - Ooyala.
  7144  	//   "EXCHANGE_OPENX" - OpenX.
  7145  	//   "EXCHANGE_PERMODO" - Permodo.
  7146  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  7147  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  7148  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  7149  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  7150  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  7151  	//   "EXCHANGE_RUBICON" - Rubicon.
  7152  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  7153  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  7154  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  7155  	//   "EXCHANGE_SOVRN" - Sovrn.
  7156  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  7157  	//   "EXCHANGE_STROER" - Ströer SSP.
  7158  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  7159  	//   "EXCHANGE_TELARIA" - Telaria.
  7160  	//   "EXCHANGE_TVN" - TVN.
  7161  	//   "EXCHANGE_UNITED" - United.
  7162  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  7163  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  7164  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  7165  	//   "EXCHANGE_OPEN8" - Open8.
  7166  	//   "EXCHANGE_TRITON" - Triton.
  7167  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  7168  	//   "EXCHANGE_TABOOLA" - Taboola.
  7169  	//   "EXCHANGE_INMOBI" - InMobi.
  7170  	//   "EXCHANGE_SMAATO" - Smaato.
  7171  	//   "EXCHANGE_AJA" - Aja.
  7172  	//   "EXCHANGE_SUPERSHIP" - Supership.
  7173  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  7174  	//   "EXCHANGE_WAZE" - Waze.
  7175  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  7176  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  7177  	//   "EXCHANGE_FYBER" - Fyber.
  7178  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  7179  	//   "EXCHANGE_MEDIANET" - Media.net.
  7180  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  7181  	//   "EXCHANGE_VISTAR" - Vistar.
  7182  	//   "EXCHANGE_DAX" - DAX.
  7183  	//   "EXCHANGE_JCD" - JCD.
  7184  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  7185  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  7186  	//   "EXCHANGE_CONNATIX" - Connatix.
  7187  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  7188  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  7189  	//   "EXCHANGE_DRAX" - Drax.
  7190  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  7191  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  7192  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  7193  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  7194  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  7195  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  7196  	Exchange string `json:"exchange,omitempty"`
  7197  	// ForceSendFields is a list of field names (e.g. "Exchange") to
  7198  	// unconditionally include in API requests. By default, fields with empty or
  7199  	// default values are omitted from API requests. See
  7200  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7201  	// details.
  7202  	ForceSendFields []string `json:"-"`
  7203  	// NullFields is a list of field names (e.g. "Exchange") to include in API
  7204  	// requests with the JSON null value. By default, fields with empty values are
  7205  	// omitted from API requests. See
  7206  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7207  	NullFields []string `json:"-"`
  7208  }
  7209  
  7210  func (s *ExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  7211  	type NoMethod ExchangeTargetingOptionDetails
  7212  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7213  }
  7214  
  7215  // ExitEvent: Exit event of the creative.
  7216  type ExitEvent struct {
  7217  	// Name: The name of the click tag of the exit event. The name must be unique
  7218  	// within one creative. Leave it empty or unset for creatives containing image
  7219  	// assets only.
  7220  	Name string `json:"name,omitempty"`
  7221  	// ReportingName: The name used to identify this event in reports. Leave it
  7222  	// empty or unset for creatives containing image assets only.
  7223  	ReportingName string `json:"reportingName,omitempty"`
  7224  	// Type: Required. The type of the exit event.
  7225  	//
  7226  	// Possible values:
  7227  	//   "EXIT_EVENT_TYPE_UNSPECIFIED" - Exit event type is not specified or is
  7228  	// unknown in this version.
  7229  	//   "EXIT_EVENT_TYPE_DEFAULT" - The exit event is the default one.
  7230  	//   "EXIT_EVENT_TYPE_BACKUP" - The exit event is a backup exit event. There
  7231  	// could be multiple backup exit events in a creative.
  7232  	Type string `json:"type,omitempty"`
  7233  	// Url: Required. The click through URL of the exit event. This is required
  7234  	// when type is: * `EXIT_EVENT_TYPE_DEFAULT` * `EXIT_EVENT_TYPE_BACKUP`
  7235  	Url string `json:"url,omitempty"`
  7236  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  7237  	// include in API requests. By default, fields with empty or default values are
  7238  	// omitted from API requests. See
  7239  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7240  	// details.
  7241  	ForceSendFields []string `json:"-"`
  7242  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  7243  	// with the JSON null value. By default, fields with empty values are omitted
  7244  	// from API requests. See
  7245  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7246  	NullFields []string `json:"-"`
  7247  }
  7248  
  7249  func (s *ExitEvent) MarshalJSON() ([]byte, error) {
  7250  	type NoMethod ExitEvent
  7251  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7252  }
  7253  
  7254  // FirstAndThirdPartyAudience: Describes a first or third party audience list
  7255  // used for targeting. First party audiences are created via usage of client
  7256  // data. Third party audiences are provided by Third Party data providers and
  7257  // can only be licensed to customers.
  7258  type FirstAndThirdPartyAudience struct {
  7259  	// ActiveDisplayAudienceSize: Output only. The estimated audience size for the
  7260  	// Display network in the past month. If the size is less than 1000, the number
  7261  	// will be hidden and 0 will be returned due to privacy reasons. Otherwise, the
  7262  	// number will be rounded off to two significant digits. Only returned in GET
  7263  	// request.
  7264  	ActiveDisplayAudienceSize int64 `json:"activeDisplayAudienceSize,omitempty,string"`
  7265  	// AppId: The app_id matches with the type of the mobile_device_ids being
  7266  	// uploaded. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID`
  7267  	AppId string `json:"appId,omitempty"`
  7268  	// AudienceSource: Output only. The source of the audience.
  7269  	//
  7270  	// Possible values:
  7271  	//   "AUDIENCE_SOURCE_UNSPECIFIED" - Default value when audience source is not
  7272  	// specified or is unknown.
  7273  	//   "DISPLAY_VIDEO_360" - Originated from Display & Video 360.
  7274  	//   "CAMPAIGN_MANAGER" - Originated from Campaign Manager 360.
  7275  	//   "AD_MANAGER" - Originated from Google Ad Manager.
  7276  	//   "SEARCH_ADS_360" - Originated from Search Ads 360.
  7277  	//   "YOUTUBE" - Originated from Youtube.
  7278  	//   "ADS_DATA_HUB" - Originated from Ads Data Hub.
  7279  	AudienceSource string `json:"audienceSource,omitempty"`
  7280  	// AudienceType: The type of the audience.
  7281  	//
  7282  	// Possible values:
  7283  	//   "AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not specified or
  7284  	// is unknown.
  7285  	//   "CUSTOMER_MATCH_CONTACT_INFO" - Audience was generated through matching
  7286  	// customers to known contact information.
  7287  	//   "CUSTOMER_MATCH_DEVICE_ID" - Audience was generated through matching
  7288  	// customers to known Mobile device IDs.
  7289  	//   "CUSTOMER_MATCH_USER_ID" - Audience was generated through matching
  7290  	// customers to known User IDs.
  7291  	//   "ACTIVITY_BASED" - Audience was created based on campaign activity.
  7292  	//   "FREQUENCY_CAP" - Audience was created based on excluding the number of
  7293  	// impressions they were served.
  7294  	//   "TAG_BASED" - Audience was created based on custom variables attached to
  7295  	// pixel.
  7296  	//   "YOUTUBE_USERS" - Audience was created based on past interactions with
  7297  	// videos, YouTube ads, or YouTube channel.
  7298  	//   "LICENSED" - Subtype of third party audience type.
  7299  	AudienceType string `json:"audienceType,omitempty"`
  7300  	// ContactInfoList: Input only. A list of contact information to define the
  7301  	// initial audience members. Only applicable to audience_type
  7302  	// `CUSTOMER_MATCH_CONTACT_INFO`
  7303  	ContactInfoList *ContactInfoList `json:"contactInfoList,omitempty"`
  7304  	// Description: The user-provided description of the audience. Only applicable
  7305  	// to first party audiences.
  7306  	Description string `json:"description,omitempty"`
  7307  	// DisplayAudienceSize: Output only. The estimated audience size for the
  7308  	// Display network. If the size is less than 1000, the number will be hidden
  7309  	// and 0 will be returned due to privacy reasons. Otherwise, the number will be
  7310  	// rounded off to two significant digits. Only returned in GET request.
  7311  	DisplayAudienceSize int64 `json:"displayAudienceSize,omitempty,string"`
  7312  	// DisplayDesktopAudienceSize: Output only. The estimated desktop audience size
  7313  	// in Display network. If the size is less than 1000, the number will be hidden
  7314  	// and 0 will be returned due to privacy reasons. Otherwise, the number will be
  7315  	// rounded off to two significant digits. Only applicable to first party
  7316  	// audiences. Only returned in GET request.
  7317  	DisplayDesktopAudienceSize int64 `json:"displayDesktopAudienceSize,omitempty,string"`
  7318  	// DisplayMobileAppAudienceSize: Output only. The estimated mobile app audience
  7319  	// size in Display network. If the size is less than 1000, the number will be
  7320  	// hidden and 0 will be returned due to privacy reasons. Otherwise, the number
  7321  	// will be rounded off to two significant digits. Only applicable to first
  7322  	// party audiences. Only returned in GET request.
  7323  	DisplayMobileAppAudienceSize int64 `json:"displayMobileAppAudienceSize,omitempty,string"`
  7324  	// DisplayMobileWebAudienceSize: Output only. The estimated mobile web audience
  7325  	// size in Display network. If the size is less than 1000, the number will be
  7326  	// hidden and 0 will be returned due to privacy reasons. Otherwise, the number
  7327  	// will be rounded off to two significant digits. Only applicable to first
  7328  	// party audiences. Only returned in GET request.
  7329  	DisplayMobileWebAudienceSize int64 `json:"displayMobileWebAudienceSize,omitempty,string"`
  7330  	// DisplayName: The display name of the first and third party audience.
  7331  	DisplayName string `json:"displayName,omitempty"`
  7332  	// FirstAndThirdPartyAudienceId: Output only. The unique ID of the first and
  7333  	// third party audience. Assigned by the system.
  7334  	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
  7335  	// FirstAndThirdPartyAudienceType: Whether the audience is a first or third
  7336  	// party audience.
  7337  	//
  7338  	// Possible values:
  7339  	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED" - Default value when
  7340  	// type is not specified or is unknown.
  7341  	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY" - Audience that is
  7342  	// created via usage of client data.
  7343  	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" - Audience that is
  7344  	// provided by Third Party data providers.
  7345  	FirstAndThirdPartyAudienceType string `json:"firstAndThirdPartyAudienceType,omitempty"`
  7346  	// GmailAudienceSize: Output only. The estimated audience size for Gmail
  7347  	// network. If the size is less than 1000, the number will be hidden and 0 will
  7348  	// be returned due to privacy reasons. Otherwise, the number will be rounded
  7349  	// off to two significant digits. Only applicable to first party audiences.
  7350  	// Only returned in GET request.
  7351  	GmailAudienceSize int64 `json:"gmailAudienceSize,omitempty,string"`
  7352  	// MembershipDurationDays: The duration in days that an entry remains in the
  7353  	// audience after the qualifying event. If the audience has no expiration, set
  7354  	// the value of this field to 10000. Otherwise, the set value must be greater
  7355  	// than 0 and less than or equal to 540. Only applicable to first party
  7356  	// audiences. This field is required if one of the following audience_type is
  7357  	// used: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`
  7358  	MembershipDurationDays int64 `json:"membershipDurationDays,omitempty,string"`
  7359  	// MobileDeviceIdList: Input only. A list of mobile device IDs to define the
  7360  	// initial audience members. Only applicable to audience_type
  7361  	// `CUSTOMER_MATCH_DEVICE_ID`
  7362  	MobileDeviceIdList *MobileDeviceIdList `json:"mobileDeviceIdList,omitempty"`
  7363  	// Name: Output only. The resource name of the first and third party audience.
  7364  	Name string `json:"name,omitempty"`
  7365  	// YoutubeAudienceSize: Output only. The estimated audience size for YouTube
  7366  	// network. If the size is less than 1000, the number will be hidden and 0 will
  7367  	// be returned due to privacy reasons. Otherwise, the number will be rounded
  7368  	// off to two significant digits. Only applicable to first party audiences.
  7369  	// Only returned in GET request.
  7370  	YoutubeAudienceSize int64 `json:"youtubeAudienceSize,omitempty,string"`
  7371  
  7372  	// ServerResponse contains the HTTP response code and headers from the server.
  7373  	googleapi.ServerResponse `json:"-"`
  7374  	// ForceSendFields is a list of field names (e.g. "ActiveDisplayAudienceSize")
  7375  	// to unconditionally include in API requests. By default, fields with empty or
  7376  	// default values are omitted from API requests. See
  7377  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7378  	// details.
  7379  	ForceSendFields []string `json:"-"`
  7380  	// NullFields is a list of field names (e.g. "ActiveDisplayAudienceSize") to
  7381  	// include in API requests with the JSON null value. By default, fields with
  7382  	// empty values are omitted from API requests. See
  7383  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7384  	NullFields []string `json:"-"`
  7385  }
  7386  
  7387  func (s *FirstAndThirdPartyAudience) MarshalJSON() ([]byte, error) {
  7388  	type NoMethod FirstAndThirdPartyAudience
  7389  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7390  }
  7391  
  7392  // FirstAndThirdPartyAudienceGroup: Details of first and third party audience
  7393  // group. All first and third party audience targeting settings are logically
  7394  // ‘OR’ of each other.
  7395  type FirstAndThirdPartyAudienceGroup struct {
  7396  	// Settings: Required. All first and third party audience targeting settings in
  7397  	// first and third party audience group. Repeated settings with same id are not
  7398  	// allowed.
  7399  	Settings []*FirstAndThirdPartyAudienceTargetingSetting `json:"settings,omitempty"`
  7400  	// ForceSendFields is a list of field names (e.g. "Settings") to
  7401  	// unconditionally include in API requests. By default, fields with empty or
  7402  	// default values are omitted from API requests. See
  7403  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7404  	// details.
  7405  	ForceSendFields []string `json:"-"`
  7406  	// NullFields is a list of field names (e.g. "Settings") to include in API
  7407  	// requests with the JSON null value. By default, fields with empty values are
  7408  	// omitted from API requests. See
  7409  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7410  	NullFields []string `json:"-"`
  7411  }
  7412  
  7413  func (s *FirstAndThirdPartyAudienceGroup) MarshalJSON() ([]byte, error) {
  7414  	type NoMethod FirstAndThirdPartyAudienceGroup
  7415  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7416  }
  7417  
  7418  // FirstAndThirdPartyAudienceTargetingSetting: Details of first and third party
  7419  // audience targeting setting.
  7420  type FirstAndThirdPartyAudienceTargetingSetting struct {
  7421  	// FirstAndThirdPartyAudienceId: Required. First and third party audience id of
  7422  	// the first and third party audience targeting setting. This id is
  7423  	// first_and_third_party_audience_id.
  7424  	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
  7425  	// Recency: The recency of the first and third party audience targeting
  7426  	// setting. Only applicable to first party audiences, otherwise will be
  7427  	// ignored. For more info, refer to
  7428  	// https://support.google.com/displayvideo/answer/2949947#recency When
  7429  	// unspecified, no recency limit will be used.
  7430  	//
  7431  	// Possible values:
  7432  	//   "RECENCY_NO_LIMIT" - No limit of recency.
  7433  	//   "RECENCY_1_MINUTE" - Recency is 1 minute.
  7434  	//   "RECENCY_5_MINUTES" - Recency is 5 minutes.
  7435  	//   "RECENCY_10_MINUTES" - Recency is 10 minutes.
  7436  	//   "RECENCY_15_MINUTES" - Recency is 15 minutes.
  7437  	//   "RECENCY_30_MINUTES" - Recency is 30 minutes.
  7438  	//   "RECENCY_1_HOUR" - Recency is 1 hour.
  7439  	//   "RECENCY_2_HOURS" - Recency is 2 hours.
  7440  	//   "RECENCY_3_HOURS" - Recency is 3 hours.
  7441  	//   "RECENCY_6_HOURS" - Recency is 6 hours.
  7442  	//   "RECENCY_12_HOURS" - Recency is 12 hours.
  7443  	//   "RECENCY_1_DAY" - Recency is 1 day.
  7444  	//   "RECENCY_2_DAYS" - Recency is 2 days.
  7445  	//   "RECENCY_3_DAYS" - Recency is 3 days.
  7446  	//   "RECENCY_5_DAYS" - Recency is 5 days.
  7447  	//   "RECENCY_7_DAYS" - Recency is 7 days.
  7448  	//   "RECENCY_10_DAYS" - Recency is 10 days.
  7449  	//   "RECENCY_14_DAYS" - Recency is 14 days.
  7450  	//   "RECENCY_15_DAYS" - Recency is 15 days.
  7451  	//   "RECENCY_21_DAYS" - Recency is 21 days.
  7452  	//   "RECENCY_28_DAYS" - Recency is 28 days.
  7453  	//   "RECENCY_30_DAYS" - Recency is 30 days.
  7454  	//   "RECENCY_40_DAYS" - Recency is 40 days.
  7455  	//   "RECENCY_45_DAYS" - Recency is 45 days.
  7456  	//   "RECENCY_60_DAYS" - Recency is 60 days.
  7457  	//   "RECENCY_90_DAYS" - Recency is 90 days.
  7458  	//   "RECENCY_120_DAYS" - Recency is 120 days.
  7459  	//   "RECENCY_180_DAYS" - Recency is 180 days.
  7460  	//   "RECENCY_270_DAYS" - Recency is 270 days.
  7461  	//   "RECENCY_365_DAYS" - Recency is 365 days.
  7462  	Recency string `json:"recency,omitempty"`
  7463  	// ForceSendFields is a list of field names (e.g.
  7464  	// "FirstAndThirdPartyAudienceId") to unconditionally include in API requests.
  7465  	// By default, fields with empty or default values are omitted from API
  7466  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  7467  	// for more details.
  7468  	ForceSendFields []string `json:"-"`
  7469  	// NullFields is a list of field names (e.g. "FirstAndThirdPartyAudienceId") to
  7470  	// include in API requests with the JSON null value. By default, fields with
  7471  	// empty values are omitted from API requests. See
  7472  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7473  	NullFields []string `json:"-"`
  7474  }
  7475  
  7476  func (s *FirstAndThirdPartyAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
  7477  	type NoMethod FirstAndThirdPartyAudienceTargetingSetting
  7478  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7479  }
  7480  
  7481  // FixedBidStrategy: A strategy that uses a fixed bidding price.
  7482  type FixedBidStrategy struct {
  7483  	// BidAmountMicros: The fixed bid amount, in micros of the advertiser's
  7484  	// currency. For insertion order entity, bid_amount_micros should be set as 0.
  7485  	// For line item entity, bid_amount_micros must be greater than or equal to
  7486  	// billable unit of the given currency and smaller than or equal to the upper
  7487  	// limit 1000000000. For example, 1500000 represents 1.5 standard units of the
  7488  	// currency.
  7489  	BidAmountMicros int64 `json:"bidAmountMicros,omitempty,string"`
  7490  	// ForceSendFields is a list of field names (e.g. "BidAmountMicros") to
  7491  	// unconditionally include in API requests. By default, fields with empty or
  7492  	// default values are omitted from API requests. See
  7493  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7494  	// details.
  7495  	ForceSendFields []string `json:"-"`
  7496  	// NullFields is a list of field names (e.g. "BidAmountMicros") to include in
  7497  	// API requests with the JSON null value. By default, fields with empty values
  7498  	// are omitted from API requests. See
  7499  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7500  	NullFields []string `json:"-"`
  7501  }
  7502  
  7503  func (s *FixedBidStrategy) MarshalJSON() ([]byte, error) {
  7504  	type NoMethod FixedBidStrategy
  7505  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7506  }
  7507  
  7508  // FloodlightActivity: A single Floodlight activity.
  7509  type FloodlightActivity struct {
  7510  	// AdvertiserIds: Output only. IDs of the advertisers that have access to the
  7511  	// parent Floodlight group. Only advertisers under the provided partner ID will
  7512  	// be listed in this field.
  7513  	AdvertiserIds googleapi.Int64s `json:"advertiserIds,omitempty"`
  7514  	// DisplayName: Required. The display name of the Floodlight activity.
  7515  	DisplayName string `json:"displayName,omitempty"`
  7516  	// FloodlightActivityId: Output only. The unique ID of the Floodlight activity.
  7517  	// Assigned by the system.
  7518  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  7519  	// FloodlightGroupId: Required. Immutable. The ID of the parent Floodlight
  7520  	// group.
  7521  	FloodlightGroupId int64 `json:"floodlightGroupId,omitempty,string"`
  7522  	// Name: Output only. The resource name of the Floodlight activity.
  7523  	Name string `json:"name,omitempty"`
  7524  	// RemarketingConfigs: Output only. A list of configuration objects designating
  7525  	// whether remarketing for this Floodlight Activity is enabled and available
  7526  	// for a specifc advertiser. If enabled, this Floodlight Activity generates a
  7527  	// remarketing user list that is able to be used in targeting under the
  7528  	// advertiser.
  7529  	RemarketingConfigs []*RemarketingConfig `json:"remarketingConfigs,omitempty"`
  7530  	// ServingStatus: Optional. Whether the Floodlight activity is served.
  7531  	//
  7532  	// Possible values:
  7533  	//   "FLOODLIGHT_ACTIVITY_SERVING_STATUS_UNSPECIFIED" - Type value is not
  7534  	// specified or is unknown in this version.
  7535  	//   "FLOODLIGHT_ACTIVITY_SERVING_STATUS_ENABLED" - Enabled.
  7536  	//   "FLOODLIGHT_ACTIVITY_SERVING_STATUS_DISABLED" - Disabled.
  7537  	ServingStatus string `json:"servingStatus,omitempty"`
  7538  	// SslRequired: Output only. Whether tags are required to be compliant.
  7539  	SslRequired bool `json:"sslRequired,omitempty"`
  7540  
  7541  	// ServerResponse contains the HTTP response code and headers from the server.
  7542  	googleapi.ServerResponse `json:"-"`
  7543  	// ForceSendFields is a list of field names (e.g. "AdvertiserIds") to
  7544  	// unconditionally include in API requests. By default, fields with empty or
  7545  	// default values are omitted from API requests. See
  7546  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7547  	// details.
  7548  	ForceSendFields []string `json:"-"`
  7549  	// NullFields is a list of field names (e.g. "AdvertiserIds") to include in API
  7550  	// requests with the JSON null value. By default, fields with empty values are
  7551  	// omitted from API requests. See
  7552  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7553  	NullFields []string `json:"-"`
  7554  }
  7555  
  7556  func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
  7557  	type NoMethod FloodlightActivity
  7558  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7559  }
  7560  
  7561  // FloodlightGroup: A single Floodlight group.
  7562  type FloodlightGroup struct {
  7563  	// ActiveViewConfig: The Active View video viewability metric configuration for
  7564  	// the Floodlight group.
  7565  	ActiveViewConfig *ActiveViewVideoViewabilityMetricConfig `json:"activeViewConfig,omitempty"`
  7566  	// CustomVariables: User-defined custom variables owned by the Floodlight
  7567  	// group. Use custom Floodlight variables to create reporting data that is
  7568  	// tailored to your unique business needs. Custom Floodlight variables use the
  7569  	// keys `U1=`, `U2=`, and so on, and can take any values that you choose to
  7570  	// pass to them. You can use them to track virtually any type of data that you
  7571  	// collect about your customers, such as the genre of movie that a customer
  7572  	// purchases, the country to which the item is shipped, and so on. Custom
  7573  	// Floodlight variables may not be used to pass any data that could be used or
  7574  	// recognized as personally identifiable information (PII). Example:
  7575  	// `custom_variables { fields { "U1": value { number_value: 123.4 }, "U2":
  7576  	// value { string_value: "MyVariable2" }, "U3": value { string_value:
  7577  	// "MyVariable3" } } }` Acceptable values for keys are "U1" through "U100",
  7578  	// inclusive. String values must be less than 64 characters long, and cannot
  7579  	// contain the following characters: "<>`.
  7580  	CustomVariables googleapi.RawMessage `json:"customVariables,omitempty"`
  7581  	// DisplayName: Required. The display name of the Floodlight group.
  7582  	DisplayName string `json:"displayName,omitempty"`
  7583  	// FloodlightGroupId: Output only. The unique ID of the Floodlight group.
  7584  	// Assigned by the system.
  7585  	FloodlightGroupId int64 `json:"floodlightGroupId,omitempty,string"`
  7586  	// LookbackWindow: Required. The lookback window for the Floodlight group. Both
  7587  	// click_days and impression_days are required. Acceptable values for both are
  7588  	// `0` to `90`, inclusive.
  7589  	LookbackWindow *LookbackWindow `json:"lookbackWindow,omitempty"`
  7590  	// Name: Output only. The resource name of the Floodlight group.
  7591  	Name string `json:"name,omitempty"`
  7592  	// WebTagType: Required. The web tag type enabled for the Floodlight group.
  7593  	//
  7594  	// Possible values:
  7595  	//   "WEB_TAG_TYPE_UNSPECIFIED" - Type value is not specified or is unknown in
  7596  	// this version.
  7597  	//   "WEB_TAG_TYPE_NONE" - No tag type.
  7598  	//   "WEB_TAG_TYPE_IMAGE" - Image tag.
  7599  	//   "WEB_TAG_TYPE_DYNAMIC" - Dynamic tag.
  7600  	WebTagType string `json:"webTagType,omitempty"`
  7601  
  7602  	// ServerResponse contains the HTTP response code and headers from the server.
  7603  	googleapi.ServerResponse `json:"-"`
  7604  	// ForceSendFields is a list of field names (e.g. "ActiveViewConfig") to
  7605  	// unconditionally include in API requests. By default, fields with empty or
  7606  	// default values are omitted from API requests. See
  7607  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7608  	// details.
  7609  	ForceSendFields []string `json:"-"`
  7610  	// NullFields is a list of field names (e.g. "ActiveViewConfig") to include in
  7611  	// API requests with the JSON null value. By default, fields with empty values
  7612  	// are omitted from API requests. See
  7613  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7614  	NullFields []string `json:"-"`
  7615  }
  7616  
  7617  func (s *FloodlightGroup) MarshalJSON() ([]byte, error) {
  7618  	type NoMethod FloodlightGroup
  7619  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7620  }
  7621  
  7622  // FrequencyCap: Settings that control the number of times a user may be shown
  7623  // with the same ad during a given time period.
  7624  type FrequencyCap struct {
  7625  	// MaxImpressions: The maximum number of times a user may be shown the same ad
  7626  	// during this period. Must be greater than 0. Required when unlimited is
  7627  	// `false` and max_views is not set.
  7628  	MaxImpressions int64 `json:"maxImpressions,omitempty"`
  7629  	// MaxViews: Optional. The maximum number of times a user may click-through or
  7630  	// fully view an ad during this period until it is no longer served to them.
  7631  	// Must be greater than 0. Only applicable to YouTube and Partners resources.
  7632  	// Required when unlimited is `false` and max_impressions is not set.
  7633  	MaxViews int64 `json:"maxViews,omitempty"`
  7634  	// TimeUnit: The time unit in which the frequency cap will be applied. Required
  7635  	// when unlimited is `false`.
  7636  	//
  7637  	// Possible values:
  7638  	//   "TIME_UNIT_UNSPECIFIED" - Time unit value is not specified or is unknown
  7639  	// in this version.
  7640  	//   "TIME_UNIT_LIFETIME" - The frequency cap will be applied to the whole life
  7641  	// time of the line item.
  7642  	//   "TIME_UNIT_MONTHS" - The frequency cap will be applied to a number of
  7643  	// months.
  7644  	//   "TIME_UNIT_WEEKS" - The frequency cap will be applied to a number of
  7645  	// weeks.
  7646  	//   "TIME_UNIT_DAYS" - The frequency cap will be applied to a number of days.
  7647  	//   "TIME_UNIT_HOURS" - The frequency cap will be applied to a number of
  7648  	// hours.
  7649  	//   "TIME_UNIT_MINUTES" - The frequency cap will be applied to a number of
  7650  	// minutes.
  7651  	TimeUnit string `json:"timeUnit,omitempty"`
  7652  	// TimeUnitCount: The number of time_unit the frequency cap will last. Required
  7653  	// when unlimited is `false`. The following restrictions apply based on the
  7654  	// value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and
  7655  	// will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 *
  7656  	// `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be
  7657  	// between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 *
  7658  	// `TIME_UNIT_MINUTES` - must be between 1 and 59
  7659  	TimeUnitCount int64 `json:"timeUnitCount,omitempty"`
  7660  	// Unlimited: Whether unlimited frequency capping is applied. When this field
  7661  	// is set to `true`, the remaining frequency cap fields are not applicable.
  7662  	Unlimited bool `json:"unlimited,omitempty"`
  7663  	// ForceSendFields is a list of field names (e.g. "MaxImpressions") to
  7664  	// unconditionally include in API requests. By default, fields with empty or
  7665  	// default values are omitted from API requests. See
  7666  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7667  	// details.
  7668  	ForceSendFields []string `json:"-"`
  7669  	// NullFields is a list of field names (e.g. "MaxImpressions") to include in
  7670  	// API requests with the JSON null value. By default, fields with empty values
  7671  	// are omitted from API requests. See
  7672  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7673  	NullFields []string `json:"-"`
  7674  }
  7675  
  7676  func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
  7677  	type NoMethod FrequencyCap
  7678  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7679  }
  7680  
  7681  // GenderAssignedTargetingOptionDetails: Details for assigned gender targeting
  7682  // option. This will be populated in the details field of an
  7683  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.
  7684  type GenderAssignedTargetingOptionDetails struct {
  7685  	// Gender: Required. The gender of the audience.
  7686  	//
  7687  	// Possible values:
  7688  	//   "GENDER_UNSPECIFIED" - Default value when gender is not specified in this
  7689  	// version. This enum is a place holder for default value and does not
  7690  	// represent a real gender option.
  7691  	//   "GENDER_MALE" - The audience gender is male.
  7692  	//   "GENDER_FEMALE" - The audience gender is female.
  7693  	//   "GENDER_UNKNOWN" - The audience gender is unknown.
  7694  	Gender string `json:"gender,omitempty"`
  7695  	// ForceSendFields is a list of field names (e.g. "Gender") to unconditionally
  7696  	// include in API requests. By default, fields with empty or default values are
  7697  	// omitted from API requests. See
  7698  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7699  	// details.
  7700  	ForceSendFields []string `json:"-"`
  7701  	// NullFields is a list of field names (e.g. "Gender") to include in API
  7702  	// requests with the JSON null value. By default, fields with empty values are
  7703  	// omitted from API requests. See
  7704  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7705  	NullFields []string `json:"-"`
  7706  }
  7707  
  7708  func (s *GenderAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  7709  	type NoMethod GenderAssignedTargetingOptionDetails
  7710  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7711  }
  7712  
  7713  // GenderTargetingOptionDetails: Represents a targetable gender. This will be
  7714  // populated in the gender_details field of a TargetingOption when
  7715  // targeting_type is `TARGETING_TYPE_GENDER`.
  7716  type GenderTargetingOptionDetails struct {
  7717  	// Gender: Output only. The gender of an audience.
  7718  	//
  7719  	// Possible values:
  7720  	//   "GENDER_UNSPECIFIED" - Default value when gender is not specified in this
  7721  	// version. This enum is a place holder for default value and does not
  7722  	// represent a real gender option.
  7723  	//   "GENDER_MALE" - The audience gender is male.
  7724  	//   "GENDER_FEMALE" - The audience gender is female.
  7725  	//   "GENDER_UNKNOWN" - The audience gender is unknown.
  7726  	Gender string `json:"gender,omitempty"`
  7727  	// ForceSendFields is a list of field names (e.g. "Gender") to unconditionally
  7728  	// include in API requests. By default, fields with empty or default values are
  7729  	// omitted from API requests. See
  7730  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7731  	// details.
  7732  	ForceSendFields []string `json:"-"`
  7733  	// NullFields is a list of field names (e.g. "Gender") to include in API
  7734  	// requests with the JSON null value. By default, fields with empty values are
  7735  	// omitted from API requests. See
  7736  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7737  	NullFields []string `json:"-"`
  7738  }
  7739  
  7740  func (s *GenderTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  7741  	type NoMethod GenderTargetingOptionDetails
  7742  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7743  }
  7744  
  7745  // GenerateDefaultLineItemRequest: Request message for
  7746  // LineItemService.GenerateDefaultLineItem.
  7747  type GenerateDefaultLineItemRequest struct {
  7748  	// DisplayName: Required. The display name of the line item. Must be UTF-8
  7749  	// encoded with a maximum size of 240 bytes.
  7750  	DisplayName string `json:"displayName,omitempty"`
  7751  	// InsertionOrderId: Required. The unique ID of the insertion order that the
  7752  	// line item belongs to.
  7753  	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
  7754  	// LineItemType: Required. The type of the line item.
  7755  	//
  7756  	// Possible values:
  7757  	//   "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is unknown
  7758  	// in this version. Line items of this type and their targeting cannot be
  7759  	// created or updated using the API.
  7760  	//   "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich media
  7761  	// ads.
  7762  	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that drive
  7763  	// installs of an app.
  7764  	//   "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for a
  7765  	// variety of environments.
  7766  	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive installs
  7767  	// of an app.
  7768  	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served on
  7769  	// mobile app inventory. Line items of this type and their targeting cannot be
  7770  	// created or updated using the API.
  7771  	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on mobile
  7772  	// app inventory. Line items of this type and their targeting cannot be created
  7773  	// or updated using the API.
  7774  	//   "LINE_ITEM_TYPE_AUDIO_DEFAULT" - RTB Audio ads sold for a variety of
  7775  	// environments.
  7776  	//   "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over-the-top ads present in OTT
  7777  	// insertion orders. This type is only applicable to line items with an
  7778  	// insertion order of insertion_order_type `OVER_THE_TOP`.
  7779  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION" - YouTube video ads that
  7780  	// promote conversions. Line items of this type and their targeting cannot be
  7781  	// created or updated using the API.
  7782  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE" - YouTube video ads
  7783  	// (up to 15 seconds) that cannot be skipped. Line items of this type and their
  7784  	// targeting cannot be created or updated using the API.
  7785  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE" - YouTube video ads
  7786  	// that show a story in a particular sequence using a mix of formats. Line
  7787  	// items of this type and their targeting cannot be created or updated using
  7788  	// the API.
  7789  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO" - YouTube audio ads. Line
  7790  	// items of this type and their targeting cannot be created or updated using
  7791  	// the API.
  7792  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH" - YouTube video ads that
  7793  	// optimize reaching more unique users at lower cost. May include bumper ads,
  7794  	// skippable in-stream ads, or a mix of types. Line items of this type and
  7795  	// their targeting cannot be created or updated using the API.
  7796  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE" - Default YouTube video ads.
  7797  	// Line items of this type and their targeting cannot be created or updated
  7798  	// using the API.
  7799  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP" -
  7800  	// Connected TV youTube video ads (up to 15 seconds) that cannot be skipped.
  7801  	// Line items of this type and their targeting cannot be created or updated
  7802  	// using the API.
  7803  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP" - Connected TV
  7804  	// youTube video ads that optimize reaching more unique users at lower cost.
  7805  	// May include bumper ads, skippable in-stream ads, or a mix of types. Line
  7806  	// items of this type and their targeting cannot be created or updated using
  7807  	// the API.
  7808  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP" - Connected TV
  7809  	// default YouTube video ads. Only include in-stream ad-format. Line items of
  7810  	// this type and their targeting cannot be created or updated using the API.
  7811  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY" - The goal of this
  7812  	// line item type is to show the YouTube ads target number of times to the same
  7813  	// person in a certain period of time. Line items of this type and their
  7814  	// targeting cannot be created or updated using the API.
  7815  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW" - YouTube video ads that aim to
  7816  	// get more views with a variety of ad formats. Line items of this type and
  7817  	// their targeting cannot be created or updated using the API.
  7818  	//   "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME" - Display ads served on
  7819  	// digital-out-of-home inventory. Line items of this type and their targeting
  7820  	// cannot be created or updated using the API.
  7821  	//   "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" - Video ads served on
  7822  	// digital-out-of-home inventory. Line items of this type and their targeting
  7823  	// cannot be created or updated using the API.
  7824  	LineItemType string `json:"lineItemType,omitempty"`
  7825  	// MobileApp: The mobile app promoted by the line item. This is applicable only
  7826  	// when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or
  7827  	// `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`.
  7828  	MobileApp *MobileApp `json:"mobileApp,omitempty"`
  7829  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  7830  	// unconditionally include in API requests. By default, fields with empty or
  7831  	// default values are omitted from API requests. See
  7832  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7833  	// details.
  7834  	ForceSendFields []string `json:"-"`
  7835  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  7836  	// requests with the JSON null value. By default, fields with empty values are
  7837  	// omitted from API requests. See
  7838  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7839  	NullFields []string `json:"-"`
  7840  }
  7841  
  7842  func (s *GenerateDefaultLineItemRequest) MarshalJSON() ([]byte, error) {
  7843  	type NoMethod GenerateDefaultLineItemRequest
  7844  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7845  }
  7846  
  7847  // GeoRegionAssignedTargetingOptionDetails: Details for assigned geographic
  7848  // region targeting option. This will be populated in the details field of an
  7849  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GEO_REGION`.
  7850  type GeoRegionAssignedTargetingOptionDetails struct {
  7851  	// DisplayName: Output only. The display name of the geographic region (e.g.,
  7852  	// "Ontario, Canada").
  7853  	DisplayName string `json:"displayName,omitempty"`
  7854  	// GeoRegionType: Output only. The type of geographic region targeting.
  7855  	//
  7856  	// Possible values:
  7857  	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
  7858  	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
  7859  	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
  7860  	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
  7861  	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
  7862  	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
  7863  	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
  7864  	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a prefecture.
  7865  	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a governorate.
  7866  	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
  7867  	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a union
  7868  	// territory.
  7869  	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is an
  7870  	// autonomous community.
  7871  	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a designated
  7872  	// market area (DMA) region.
  7873  	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
  7874  	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is a
  7875  	// congressional district.
  7876  	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
  7877  	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a municipality.
  7878  	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
  7879  	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting type is
  7880  	// postal code.
  7881  	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type is
  7882  	// department.
  7883  	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
  7884  	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
  7885  	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
  7886  	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
  7887  	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city region.
  7888  	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
  7889  	// arrondissement.
  7890  	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a neighborhood.
  7891  	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a university.
  7892  	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
  7893  	GeoRegionType string `json:"geoRegionType,omitempty"`
  7894  	// Negative: Indicates if this option is being negatively targeted.
  7895  	Negative bool `json:"negative,omitempty"`
  7896  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  7897  	// type `TARGETING_TYPE_GEO_REGION`.
  7898  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  7899  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  7900  	// unconditionally include in API requests. By default, fields with empty or
  7901  	// default values are omitted from API requests. See
  7902  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7903  	// details.
  7904  	ForceSendFields []string `json:"-"`
  7905  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  7906  	// requests with the JSON null value. By default, fields with empty values are
  7907  	// omitted from API requests. See
  7908  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7909  	NullFields []string `json:"-"`
  7910  }
  7911  
  7912  func (s *GeoRegionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  7913  	type NoMethod GeoRegionAssignedTargetingOptionDetails
  7914  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7915  }
  7916  
  7917  // GeoRegionSearchTerms: Search terms for geo region targeting options.
  7918  type GeoRegionSearchTerms struct {
  7919  	// GeoRegionQuery: The search query for the desired geo region. The query can
  7920  	// be a prefix, e.g. "New Yor", "Seattle", "USA", etc.
  7921  	GeoRegionQuery string `json:"geoRegionQuery,omitempty"`
  7922  	// ForceSendFields is a list of field names (e.g. "GeoRegionQuery") to
  7923  	// unconditionally include in API requests. By default, fields with empty or
  7924  	// default values are omitted from API requests. See
  7925  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7926  	// details.
  7927  	ForceSendFields []string `json:"-"`
  7928  	// NullFields is a list of field names (e.g. "GeoRegionQuery") to include in
  7929  	// API requests with the JSON null value. By default, fields with empty values
  7930  	// are omitted from API requests. See
  7931  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7932  	NullFields []string `json:"-"`
  7933  }
  7934  
  7935  func (s *GeoRegionSearchTerms) MarshalJSON() ([]byte, error) {
  7936  	type NoMethod GeoRegionSearchTerms
  7937  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7938  }
  7939  
  7940  // GeoRegionTargetingOptionDetails: Represents a targetable geographic region.
  7941  // This will be populated in the geo_region_details field when targeting_type
  7942  // is `TARGETING_TYPE_GEO_REGION`.
  7943  type GeoRegionTargetingOptionDetails struct {
  7944  	// DisplayName: Output only. The display name of the geographic region (e.g.,
  7945  	// "Ontario, Canada").
  7946  	DisplayName string `json:"displayName,omitempty"`
  7947  	// GeoRegionType: Output only. The type of geographic region targeting.
  7948  	//
  7949  	// Possible values:
  7950  	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
  7951  	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
  7952  	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
  7953  	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
  7954  	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
  7955  	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
  7956  	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
  7957  	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a prefecture.
  7958  	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a governorate.
  7959  	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
  7960  	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a union
  7961  	// territory.
  7962  	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is an
  7963  	// autonomous community.
  7964  	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a designated
  7965  	// market area (DMA) region.
  7966  	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
  7967  	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is a
  7968  	// congressional district.
  7969  	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
  7970  	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a municipality.
  7971  	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
  7972  	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting type is
  7973  	// postal code.
  7974  	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type is
  7975  	// department.
  7976  	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
  7977  	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
  7978  	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
  7979  	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
  7980  	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city region.
  7981  	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
  7982  	// arrondissement.
  7983  	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a neighborhood.
  7984  	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a university.
  7985  	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
  7986  	GeoRegionType string `json:"geoRegionType,omitempty"`
  7987  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  7988  	// unconditionally include in API requests. By default, fields with empty or
  7989  	// default values are omitted from API requests. See
  7990  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7991  	// details.
  7992  	ForceSendFields []string `json:"-"`
  7993  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  7994  	// requests with the JSON null value. By default, fields with empty values are
  7995  	// omitted from API requests. See
  7996  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7997  	NullFields []string `json:"-"`
  7998  }
  7999  
  8000  func (s *GeoRegionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  8001  	type NoMethod GeoRegionTargetingOptionDetails
  8002  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8003  }
  8004  
  8005  // GoogleAudience: Describes a Google audience resource. Includes Google
  8006  // audience lists.
  8007  type GoogleAudience struct {
  8008  	// DisplayName: Output only. The display name of the Google audience. .
  8009  	DisplayName string `json:"displayName,omitempty"`
  8010  	// GoogleAudienceId: Output only. The unique ID of the Google audience.
  8011  	// Assigned by the system.
  8012  	GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"`
  8013  	// GoogleAudienceType: Output only. The type of Google audience. .
  8014  	//
  8015  	// Possible values:
  8016  	//   "GOOGLE_AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not
  8017  	// specified or is unknown.
  8018  	//   "GOOGLE_AUDIENCE_TYPE_AFFINITY" - Affinity type Google audience.
  8019  	//   "GOOGLE_AUDIENCE_TYPE_IN_MARKET" - In-Market type Google audience.
  8020  	//   "GOOGLE_AUDIENCE_TYPE_INSTALLED_APPS" - Installed-Apps type Google
  8021  	// audience.
  8022  	//   "GOOGLE_AUDIENCE_TYPE_NEW_MOBILE_DEVICES" - New-Mobile-Devices type Google
  8023  	// audience.
  8024  	//   "GOOGLE_AUDIENCE_TYPE_LIFE_EVENT" - Life-Event type Google audience.
  8025  	//   "GOOGLE_AUDIENCE_TYPE_EXTENDED_DEMOGRAPHIC" - Extended-Demographic type
  8026  	// Google audience.
  8027  	GoogleAudienceType string `json:"googleAudienceType,omitempty"`
  8028  	// Name: Output only. The resource name of the google audience.
  8029  	Name string `json:"name,omitempty"`
  8030  
  8031  	// ServerResponse contains the HTTP response code and headers from the server.
  8032  	googleapi.ServerResponse `json:"-"`
  8033  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  8034  	// unconditionally include in API requests. By default, fields with empty or
  8035  	// default values are omitted from API requests. See
  8036  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8037  	// details.
  8038  	ForceSendFields []string `json:"-"`
  8039  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  8040  	// requests with the JSON null value. By default, fields with empty values are
  8041  	// omitted from API requests. See
  8042  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8043  	NullFields []string `json:"-"`
  8044  }
  8045  
  8046  func (s *GoogleAudience) MarshalJSON() ([]byte, error) {
  8047  	type NoMethod GoogleAudience
  8048  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8049  }
  8050  
  8051  // GoogleAudienceGroup: Details of Google audience group. All Google audience
  8052  // targeting settings are logically ‘OR’ of each other.
  8053  type GoogleAudienceGroup struct {
  8054  	// Settings: Required. All Google audience targeting settings in Google
  8055  	// audience group. Repeated settings with same id will be ignored.
  8056  	Settings []*GoogleAudienceTargetingSetting `json:"settings,omitempty"`
  8057  	// ForceSendFields is a list of field names (e.g. "Settings") to
  8058  	// unconditionally include in API requests. By default, fields with empty or
  8059  	// default values are omitted from API requests. See
  8060  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8061  	// details.
  8062  	ForceSendFields []string `json:"-"`
  8063  	// NullFields is a list of field names (e.g. "Settings") to include in API
  8064  	// requests with the JSON null value. By default, fields with empty values are
  8065  	// omitted from API requests. See
  8066  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8067  	NullFields []string `json:"-"`
  8068  }
  8069  
  8070  func (s *GoogleAudienceGroup) MarshalJSON() ([]byte, error) {
  8071  	type NoMethod GoogleAudienceGroup
  8072  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8073  }
  8074  
  8075  // GoogleAudienceTargetingSetting: Details of Google audience targeting
  8076  // setting.
  8077  type GoogleAudienceTargetingSetting struct {
  8078  	// GoogleAudienceId: Required. Google audience id of the Google audience
  8079  	// targeting setting. This id is google_audience_id.
  8080  	GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"`
  8081  	// ForceSendFields is a list of field names (e.g. "GoogleAudienceId") to
  8082  	// unconditionally include in API requests. By default, fields with empty or
  8083  	// default values are omitted from API requests. See
  8084  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8085  	// details.
  8086  	ForceSendFields []string `json:"-"`
  8087  	// NullFields is a list of field names (e.g. "GoogleAudienceId") to include in
  8088  	// API requests with the JSON null value. By default, fields with empty values
  8089  	// are omitted from API requests. See
  8090  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8091  	NullFields []string `json:"-"`
  8092  }
  8093  
  8094  func (s *GoogleAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
  8095  	type NoMethod GoogleAudienceTargetingSetting
  8096  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8097  }
  8098  
  8099  // GoogleBytestreamMedia: Media resource.
  8100  type GoogleBytestreamMedia struct {
  8101  	// ResourceName: Name of the media resource.
  8102  	ResourceName string `json:"resourceName,omitempty"`
  8103  
  8104  	// ServerResponse contains the HTTP response code and headers from the server.
  8105  	googleapi.ServerResponse `json:"-"`
  8106  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  8107  	// unconditionally include in API requests. By default, fields with empty or
  8108  	// default values are omitted from API requests. See
  8109  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8110  	// details.
  8111  	ForceSendFields []string `json:"-"`
  8112  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  8113  	// requests with the JSON null value. By default, fields with empty values are
  8114  	// omitted from API requests. See
  8115  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8116  	NullFields []string `json:"-"`
  8117  }
  8118  
  8119  func (s *GoogleBytestreamMedia) MarshalJSON() ([]byte, error) {
  8120  	type NoMethod GoogleBytestreamMedia
  8121  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8122  }
  8123  
  8124  // GuaranteedOrder: A guaranteed order. Guaranteed orders are parent entity of
  8125  // guaranteed inventory sources. When creating a guaranteed inventory source, a
  8126  // guaranteed order ID must be assigned to the inventory source.
  8127  type GuaranteedOrder struct {
  8128  	// DefaultAdvertiserId: Output only. The ID of default advertiser of the
  8129  	// guaranteed order. The default advertiser is either the
  8130  	// read_write_advertiser_id or, if that is not set, the first advertiser listed
  8131  	// in read_advertiser_ids. Otherwise, there is no default advertiser.
  8132  	DefaultAdvertiserId int64 `json:"defaultAdvertiserId,omitempty,string"`
  8133  	// DefaultCampaignId: The ID of the default campaign that is assigned to the
  8134  	// guaranteed order. The default campaign must belong to the default
  8135  	// advertiser.
  8136  	DefaultCampaignId int64 `json:"defaultCampaignId,omitempty,string"`
  8137  	// DisplayName: Required. The display name of the guaranteed order. Must be
  8138  	// UTF-8 encoded with a maximum size of 240 bytes.
  8139  	DisplayName string `json:"displayName,omitempty"`
  8140  	// Exchange: Required. Immutable. The exchange where the guaranteed order
  8141  	// originated.
  8142  	//
  8143  	// Possible values:
  8144  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  8145  	// version.
  8146  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  8147  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  8148  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  8149  	//   "EXCHANGE_ADFORM" - Adform.
  8150  	//   "EXCHANGE_ADMETA" - Admeta.
  8151  	//   "EXCHANGE_ADMIXER" - Admixer.
  8152  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  8153  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  8154  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  8155  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  8156  	// Yahoo!.
  8157  	//   "EXCHANGE_CADREON" - Cadreon.
  8158  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  8159  	//   "EXCHANGE_FIVE" - Five.
  8160  	//   "EXCHANGE_FLUCT" - Fluct.
  8161  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  8162  	//   "EXCHANGE_GENIEE" - Geniee.
  8163  	//   "EXCHANGE_GUMGUM" - GumGum.
  8164  	//   "EXCHANGE_IMOBILE" - i-mobile.
  8165  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  8166  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  8167  	//   "EXCHANGE_INDEX" - Index Exchange.
  8168  	//   "EXCHANGE_KARGO" - Kargo.
  8169  	//   "EXCHANGE_MICROAD" - MicroAd.
  8170  	//   "EXCHANGE_MOPUB" - MoPub.
  8171  	//   "EXCHANGE_NEND" - Nend.
  8172  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  8173  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  8174  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  8175  	//   "EXCHANGE_OOYALA" - Ooyala.
  8176  	//   "EXCHANGE_OPENX" - OpenX.
  8177  	//   "EXCHANGE_PERMODO" - Permodo.
  8178  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  8179  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  8180  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  8181  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  8182  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  8183  	//   "EXCHANGE_RUBICON" - Rubicon.
  8184  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  8185  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  8186  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  8187  	//   "EXCHANGE_SOVRN" - Sovrn.
  8188  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  8189  	//   "EXCHANGE_STROER" - Ströer SSP.
  8190  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  8191  	//   "EXCHANGE_TELARIA" - Telaria.
  8192  	//   "EXCHANGE_TVN" - TVN.
  8193  	//   "EXCHANGE_UNITED" - United.
  8194  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  8195  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  8196  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  8197  	//   "EXCHANGE_OPEN8" - Open8.
  8198  	//   "EXCHANGE_TRITON" - Triton.
  8199  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  8200  	//   "EXCHANGE_TABOOLA" - Taboola.
  8201  	//   "EXCHANGE_INMOBI" - InMobi.
  8202  	//   "EXCHANGE_SMAATO" - Smaato.
  8203  	//   "EXCHANGE_AJA" - Aja.
  8204  	//   "EXCHANGE_SUPERSHIP" - Supership.
  8205  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  8206  	//   "EXCHANGE_WAZE" - Waze.
  8207  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  8208  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  8209  	//   "EXCHANGE_FYBER" - Fyber.
  8210  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  8211  	//   "EXCHANGE_MEDIANET" - Media.net.
  8212  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  8213  	//   "EXCHANGE_VISTAR" - Vistar.
  8214  	//   "EXCHANGE_DAX" - DAX.
  8215  	//   "EXCHANGE_JCD" - JCD.
  8216  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  8217  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  8218  	//   "EXCHANGE_CONNATIX" - Connatix.
  8219  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  8220  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  8221  	//   "EXCHANGE_DRAX" - Drax.
  8222  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  8223  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  8224  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  8225  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  8226  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  8227  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  8228  	Exchange string `json:"exchange,omitempty"`
  8229  	// GuaranteedOrderId: Output only. The unique identifier of the guaranteed
  8230  	// order. The guaranteed order IDs have the format
  8231  	// `{exchange}-{legacy_guaranteed_order_id}`.
  8232  	GuaranteedOrderId string `json:"guaranteedOrderId,omitempty"`
  8233  	// LegacyGuaranteedOrderId: Output only. The legacy ID of the guaranteed order.
  8234  	// Assigned by the original exchange. The legacy ID is unique within one
  8235  	// exchange, but is not guaranteed to be unique across all guaranteed orders.
  8236  	// This ID is used in SDF and UI.
  8237  	LegacyGuaranteedOrderId string `json:"legacyGuaranteedOrderId,omitempty"`
  8238  	// Name: Output only. The resource name of the guaranteed order.
  8239  	Name string `json:"name,omitempty"`
  8240  	// PublisherName: Required. The publisher name of the guaranteed order. Must be
  8241  	// UTF-8 encoded with a maximum size of 240 bytes.
  8242  	PublisherName string `json:"publisherName,omitempty"`
  8243  	// ReadAccessInherited: Whether all advertisers of read_write_partner_id have
  8244  	// read access to the guaranteed order. Only applicable if
  8245  	// read_write_partner_id is set. If True, overrides read_advertiser_ids.
  8246  	ReadAccessInherited bool `json:"readAccessInherited,omitempty"`
  8247  	// ReadAdvertiserIds: The IDs of advertisers with read access to the guaranteed
  8248  	// order. This field must not include the advertiser assigned to
  8249  	// read_write_advertiser_id if it is set. All advertisers in this field must
  8250  	// belong to read_write_partner_id or the same partner as
  8251  	// read_write_advertiser_id.
  8252  	ReadAdvertiserIds googleapi.Int64s `json:"readAdvertiserIds,omitempty"`
  8253  	// ReadWriteAdvertiserId: The advertiser with read/write access to the
  8254  	// guaranteed order. This is also the default advertiser of the guaranteed
  8255  	// order.
  8256  	ReadWriteAdvertiserId int64 `json:"readWriteAdvertiserId,omitempty,string"`
  8257  	// ReadWritePartnerId: The partner with read/write access to the guaranteed
  8258  	// order.
  8259  	ReadWritePartnerId int64 `json:"readWritePartnerId,omitempty,string"`
  8260  	// Status: The status settings of the guaranteed order.
  8261  	Status *GuaranteedOrderStatus `json:"status,omitempty"`
  8262  	// UpdateTime: Output only. The timestamp when the guaranteed order was last
  8263  	// updated. Assigned by the system.
  8264  	UpdateTime string `json:"updateTime,omitempty"`
  8265  
  8266  	// ServerResponse contains the HTTP response code and headers from the server.
  8267  	googleapi.ServerResponse `json:"-"`
  8268  	// ForceSendFields is a list of field names (e.g. "DefaultAdvertiserId") to
  8269  	// unconditionally include in API requests. By default, fields with empty or
  8270  	// default values are omitted from API requests. See
  8271  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8272  	// details.
  8273  	ForceSendFields []string `json:"-"`
  8274  	// NullFields is a list of field names (e.g. "DefaultAdvertiserId") to include
  8275  	// in API requests with the JSON null value. By default, fields with empty
  8276  	// values are omitted from API requests. See
  8277  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8278  	NullFields []string `json:"-"`
  8279  }
  8280  
  8281  func (s *GuaranteedOrder) MarshalJSON() ([]byte, error) {
  8282  	type NoMethod GuaranteedOrder
  8283  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8284  }
  8285  
  8286  // GuaranteedOrderStatus: The status settings of the guaranteed order.
  8287  type GuaranteedOrderStatus struct {
  8288  	// ConfigStatus: Output only. The configuration status of the guaranteed order.
  8289  	// Acceptable values are `PENDING` and `COMPLETED`. A guaranteed order must be
  8290  	// configured (fill in the required fields, choose creatives, and select a
  8291  	// default campaign) before it can serve. Currently the configuration action
  8292  	// can only be performed via UI.
  8293  	//
  8294  	// Possible values:
  8295  	//   "GUARANTEED_ORDER_CONFIG_STATUS_UNSPECIFIED" - The approval status is not
  8296  	// specified or is unknown in this version.
  8297  	//   "PENDING" - The beginning state of a guaranteed order. The guaranteed
  8298  	// order in this state needs to be configured before it can serve.
  8299  	//   "COMPLETED" - The state after the buyer configures a guaranteed order.
  8300  	ConfigStatus string `json:"configStatus,omitempty"`
  8301  	// EntityPauseReason: The user-provided reason for pausing this guaranteed
  8302  	// order. Must be UTF-8 encoded with a maximum length of 100 bytes. Only
  8303  	// applicable when entity_status is set to `ENTITY_STATUS_PAUSED`.
  8304  	EntityPauseReason string `json:"entityPauseReason,omitempty"`
  8305  	// EntityStatus: Whether or not the guaranteed order is servable. Acceptable
  8306  	// values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and
  8307  	// `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`.
  8308  	//
  8309  	// Possible values:
  8310  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  8311  	// or is unknown in this version.
  8312  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  8313  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  8314  	// spending are disabled. An entity can be deleted after archived. Deleted
  8315  	// entities cannot be retrieved.
  8316  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  8317  	// spending are disabled.
  8318  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  8319  	// entity.
  8320  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  8321  	// deletion.
  8322  	EntityStatus string `json:"entityStatus,omitempty"`
  8323  	// ForceSendFields is a list of field names (e.g. "ConfigStatus") to
  8324  	// unconditionally include in API requests. By default, fields with empty or
  8325  	// default values are omitted from API requests. See
  8326  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8327  	// details.
  8328  	ForceSendFields []string `json:"-"`
  8329  	// NullFields is a list of field names (e.g. "ConfigStatus") to include in API
  8330  	// requests with the JSON null value. By default, fields with empty values are
  8331  	// omitted from API requests. See
  8332  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8333  	NullFields []string `json:"-"`
  8334  }
  8335  
  8336  func (s *GuaranteedOrderStatus) MarshalJSON() ([]byte, error) {
  8337  	type NoMethod GuaranteedOrderStatus
  8338  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8339  }
  8340  
  8341  // HouseholdIncomeAssignedTargetingOptionDetails: Details for assigned
  8342  // household income targeting option. This will be populated in the details
  8343  // field of an AssignedTargetingOption when targeting_type is
  8344  // `TARGETING_TYPE_HOUSEHOLD_INCOME`.
  8345  type HouseholdIncomeAssignedTargetingOptionDetails struct {
  8346  	// HouseholdIncome: Required. The household income of the audience.
  8347  	//
  8348  	// Possible values:
  8349  	//   "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household income is
  8350  	// not specified in this version. This enum is a placeholder for default value
  8351  	// and does not represent a real household income option.
  8352  	//   "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience is
  8353  	// unknown.
  8354  	//   "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower 50% of
  8355  	// U.S. household incomes.
  8356  	//   "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the top
  8357  	// 41-50% of U.S. household incomes.
  8358  	//   "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the top
  8359  	// 31-40% of U.S. household incomes.
  8360  	//   "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the top
  8361  	// 21-30% of U.S. household incomes.
  8362  	//   "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the top
  8363  	// 11-20% of U.S. household incomes.
  8364  	//   "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10% of U.S.
  8365  	// household incomes.
  8366  	HouseholdIncome string `json:"householdIncome,omitempty"`
  8367  	// ForceSendFields is a list of field names (e.g. "HouseholdIncome") to
  8368  	// unconditionally include in API requests. By default, fields with empty or
  8369  	// default values are omitted from API requests. See
  8370  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8371  	// details.
  8372  	ForceSendFields []string `json:"-"`
  8373  	// NullFields is a list of field names (e.g. "HouseholdIncome") to include in
  8374  	// API requests with the JSON null value. By default, fields with empty values
  8375  	// are omitted from API requests. See
  8376  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8377  	NullFields []string `json:"-"`
  8378  }
  8379  
  8380  func (s *HouseholdIncomeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  8381  	type NoMethod HouseholdIncomeAssignedTargetingOptionDetails
  8382  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8383  }
  8384  
  8385  // HouseholdIncomeTargetingOptionDetails: Represents a targetable household
  8386  // income. This will be populated in the household_income_details field of a
  8387  // TargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.
  8388  type HouseholdIncomeTargetingOptionDetails struct {
  8389  	// HouseholdIncome: Output only. The household income of an audience.
  8390  	//
  8391  	// Possible values:
  8392  	//   "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household income is
  8393  	// not specified in this version. This enum is a placeholder for default value
  8394  	// and does not represent a real household income option.
  8395  	//   "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience is
  8396  	// unknown.
  8397  	//   "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower 50% of
  8398  	// U.S. household incomes.
  8399  	//   "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the top
  8400  	// 41-50% of U.S. household incomes.
  8401  	//   "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the top
  8402  	// 31-40% of U.S. household incomes.
  8403  	//   "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the top
  8404  	// 21-30% of U.S. household incomes.
  8405  	//   "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the top
  8406  	// 11-20% of U.S. household incomes.
  8407  	//   "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10% of U.S.
  8408  	// household incomes.
  8409  	HouseholdIncome string `json:"householdIncome,omitempty"`
  8410  	// ForceSendFields is a list of field names (e.g. "HouseholdIncome") to
  8411  	// unconditionally include in API requests. By default, fields with empty or
  8412  	// default values are omitted from API requests. See
  8413  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8414  	// details.
  8415  	ForceSendFields []string `json:"-"`
  8416  	// NullFields is a list of field names (e.g. "HouseholdIncome") to include in
  8417  	// API requests with the JSON null value. By default, fields with empty values
  8418  	// are omitted from API requests. See
  8419  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8420  	NullFields []string `json:"-"`
  8421  }
  8422  
  8423  func (s *HouseholdIncomeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  8424  	type NoMethod HouseholdIncomeTargetingOptionDetails
  8425  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8426  }
  8427  
  8428  // IdFilter: A filtering option that filters entities by their entity IDs.
  8429  type IdFilter struct {
  8430  	// AdGroupAdIds: YouTube Ads to download by ID. All IDs must belong to the same
  8431  	// Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  8432  	AdGroupAdIds googleapi.Int64s `json:"adGroupAdIds,omitempty"`
  8433  	// AdGroupIds: YouTube Ad Groups to download by ID. All IDs must belong to the
  8434  	// same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  8435  	AdGroupIds googleapi.Int64s `json:"adGroupIds,omitempty"`
  8436  	// CampaignIds: Campaigns to download by ID. All IDs must belong to the same
  8437  	// Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  8438  	CampaignIds googleapi.Int64s `json:"campaignIds,omitempty"`
  8439  	// InsertionOrderIds: Insertion Orders to download by ID. All IDs must belong
  8440  	// to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  8441  	InsertionOrderIds googleapi.Int64s `json:"insertionOrderIds,omitempty"`
  8442  	// LineItemIds: Line Items to download by ID. All IDs must belong to the same
  8443  	// Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  8444  	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
  8445  	// MediaProductIds: Media Products to download by ID. All IDs must belong to
  8446  	// the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  8447  	MediaProductIds googleapi.Int64s `json:"mediaProductIds,omitempty"`
  8448  	// ForceSendFields is a list of field names (e.g. "AdGroupAdIds") to
  8449  	// unconditionally include in API requests. By default, fields with empty or
  8450  	// default values are omitted from API requests. See
  8451  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8452  	// details.
  8453  	ForceSendFields []string `json:"-"`
  8454  	// NullFields is a list of field names (e.g. "AdGroupAdIds") to include in API
  8455  	// requests with the JSON null value. By default, fields with empty values are
  8456  	// omitted from API requests. See
  8457  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8458  	NullFields []string `json:"-"`
  8459  }
  8460  
  8461  func (s *IdFilter) MarshalJSON() ([]byte, error) {
  8462  	type NoMethod IdFilter
  8463  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8464  }
  8465  
  8466  // ImageAsset: Meta data of an image asset.
  8467  type ImageAsset struct {
  8468  	// FileSize: File size of the image asset in bytes.
  8469  	FileSize int64 `json:"fileSize,omitempty,string"`
  8470  	// FullSize: Metadata for this image at its original size.
  8471  	FullSize *Dimensions `json:"fullSize,omitempty"`
  8472  	// MimeType: MIME type of the image asset.
  8473  	MimeType string `json:"mimeType,omitempty"`
  8474  	// ForceSendFields is a list of field names (e.g. "FileSize") to
  8475  	// unconditionally include in API requests. By default, fields with empty or
  8476  	// default values are omitted from API requests. See
  8477  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8478  	// details.
  8479  	ForceSendFields []string `json:"-"`
  8480  	// NullFields is a list of field names (e.g. "FileSize") to include in API
  8481  	// requests with the JSON null value. By default, fields with empty values are
  8482  	// omitted from API requests. See
  8483  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8484  	NullFields []string `json:"-"`
  8485  }
  8486  
  8487  func (s *ImageAsset) MarshalJSON() ([]byte, error) {
  8488  	type NoMethod ImageAsset
  8489  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8490  }
  8491  
  8492  // InStreamAd: Details for an in-stream ad.
  8493  type InStreamAd struct {
  8494  	// CommonInStreamAttribute: Common ad attributes.
  8495  	CommonInStreamAttribute *CommonInStreamAttribute `json:"commonInStreamAttribute,omitempty"`
  8496  	// CustomParameters: The custom parameters to pass custom values to tracking
  8497  	// URL template.
  8498  	CustomParameters map[string]string `json:"customParameters,omitempty"`
  8499  	// ForceSendFields is a list of field names (e.g. "CommonInStreamAttribute") to
  8500  	// unconditionally include in API requests. By default, fields with empty or
  8501  	// default values are omitted from API requests. See
  8502  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8503  	// details.
  8504  	ForceSendFields []string `json:"-"`
  8505  	// NullFields is a list of field names (e.g. "CommonInStreamAttribute") to
  8506  	// include in API requests with the JSON null value. By default, fields with
  8507  	// empty values are omitted from API requests. See
  8508  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8509  	NullFields []string `json:"-"`
  8510  }
  8511  
  8512  func (s *InStreamAd) MarshalJSON() ([]byte, error) {
  8513  	type NoMethod InStreamAd
  8514  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8515  }
  8516  
  8517  // InsertionOrder: A single insertion order.
  8518  type InsertionOrder struct {
  8519  	// AdvertiserId: Output only. The unique ID of the advertiser the insertion
  8520  	// order belongs to.
  8521  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8522  	// BidStrategy: The bidding strategy of the insertion order. By default,
  8523  	// fixed_bid is set.
  8524  	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
  8525  	// BillableOutcome: Immutable. The billable outcome of the insertion order.
  8526  	// Outcome based buying is deprecated. `BILLABLE_OUTCOME_PAY_PER_IMPRESSION` is
  8527  	// the only valid value.
  8528  	//
  8529  	// Possible values:
  8530  	//   "BILLABLE_OUTCOME_UNSPECIFIED" - Unspecified billable outcome.
  8531  	//   "BILLABLE_OUTCOME_PAY_PER_IMPRESSION" - Pay per impressions.
  8532  	//   "BILLABLE_OUTCOME_PAY_PER_CLICK" - Pay per click.
  8533  	//   "BILLABLE_OUTCOME_PAY_PER_VIEWABLE_IMPRESSION" - Pay per active view.
  8534  	BillableOutcome string `json:"billableOutcome,omitempty"`
  8535  	// Budget: Required. The budget allocation settings of the insertion order.
  8536  	Budget *InsertionOrderBudget `json:"budget,omitempty"`
  8537  	// CampaignId: Required. Immutable. The unique ID of the campaign that the
  8538  	// insertion order belongs to.
  8539  	CampaignId int64 `json:"campaignId,omitempty,string"`
  8540  	// DisplayName: Required. The display name of the insertion order. Must be
  8541  	// UTF-8 encoded with a maximum size of 240 bytes.
  8542  	DisplayName string `json:"displayName,omitempty"`
  8543  	// EntityStatus: Required. Controls whether or not the insertion order can
  8544  	// spend its budget and bid on inventory. * For CreateInsertionOrder method,
  8545  	// only `ENTITY_STATUS_DRAFT` is allowed. To activate an insertion order, use
  8546  	// UpdateInsertionOrder method and update the status to `ENTITY_STATUS_ACTIVE`
  8547  	// after creation. * An insertion order cannot be changed back to
  8548  	// `ENTITY_STATUS_DRAFT` status from any other status. * An insertion order
  8549  	// cannot be set to `ENTITY_STATUS_ACTIVE` if its parent campaign is not
  8550  	// active.
  8551  	//
  8552  	// Possible values:
  8553  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  8554  	// or is unknown in this version.
  8555  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  8556  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  8557  	// spending are disabled. An entity can be deleted after archived. Deleted
  8558  	// entities cannot be retrieved.
  8559  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  8560  	// spending are disabled.
  8561  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  8562  	// entity.
  8563  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  8564  	// deletion.
  8565  	EntityStatus string `json:"entityStatus,omitempty"`
  8566  	// FrequencyCap: Required. The frequency capping setting of the insertion
  8567  	// order.
  8568  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  8569  	// InsertionOrderId: Output only. The unique ID of the insertion order.
  8570  	// Assigned by the system.
  8571  	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
  8572  	// InsertionOrderType: The type of insertion order. If this field is
  8573  	// unspecified in creation, the value defaults to `RTB`.
  8574  	//
  8575  	// Possible values:
  8576  	//   "INSERTION_ORDER_TYPE_UNSPECIFIED" - Insertion order type is not specified
  8577  	// or is unknown.
  8578  	//   "RTB" - Real-time bidding.
  8579  	//   "OVER_THE_TOP" - Over-the-top.
  8580  	InsertionOrderType string `json:"insertionOrderType,omitempty"`
  8581  	// IntegrationDetails: Additional integration details of the insertion order.
  8582  	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
  8583  	// Name: Output only. The resource name of the insertion order.
  8584  	Name string `json:"name,omitempty"`
  8585  	// Pacing: Required. The budget spending speed setting of the insertion order.
  8586  	Pacing *Pacing `json:"pacing,omitempty"`
  8587  	// PartnerCosts: The partner costs associated with the insertion order. If
  8588  	// absent or empty in CreateInsertionOrder method, the newly created insertion
  8589  	// order will inherit partner costs from the partner settings.
  8590  	PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"`
  8591  	// PerformanceGoal: Required. Performance goal of the insertion order.
  8592  	PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"`
  8593  	// ReservationType: Output only. The reservation type of the insertion order.
  8594  	//
  8595  	// Possible values:
  8596  	//   "RESERVATION_TYPE_UNSPECIFIED" - Reservation type value is not specified
  8597  	// or is unknown in this version.
  8598  	//   "RESERVATION_TYPE_NOT_GUARANTEED" - Not created through a guaranteed
  8599  	// inventory source.
  8600  	//   "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED" - Created through a
  8601  	// programmatic guaranteed inventory source.
  8602  	//   "RESERVATION_TYPE_TAG_GUARANTEED" - Created through a tag guaranteed
  8603  	// inventory source.
  8604  	//   "RESERVATION_TYPE_PETRA_VIRAL" - Created through a Petra inventory source.
  8605  	// Only applicable to YouTube and Partners line items.
  8606  	//   "RESERVATION_TYPE_INSTANT_RESERVE" - Created with an instant quote. Only
  8607  	// applicable to YouTube and partners line items.
  8608  	ReservationType string `json:"reservationType,omitempty"`
  8609  	// UpdateTime: Output only. The timestamp when the insertion order was last
  8610  	// updated. Assigned by the system.
  8611  	UpdateTime string `json:"updateTime,omitempty"`
  8612  
  8613  	// ServerResponse contains the HTTP response code and headers from the server.
  8614  	googleapi.ServerResponse `json:"-"`
  8615  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  8616  	// unconditionally include in API requests. By default, fields with empty or
  8617  	// default values are omitted from API requests. See
  8618  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8619  	// details.
  8620  	ForceSendFields []string `json:"-"`
  8621  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  8622  	// requests with the JSON null value. By default, fields with empty values are
  8623  	// omitted from API requests. See
  8624  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8625  	NullFields []string `json:"-"`
  8626  }
  8627  
  8628  func (s *InsertionOrder) MarshalJSON() ([]byte, error) {
  8629  	type NoMethod InsertionOrder
  8630  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8631  }
  8632  
  8633  // InsertionOrderBudget: Settings that control how insertion order budget is
  8634  // allocated.
  8635  type InsertionOrderBudget struct {
  8636  	// AutomationType: The type of automation used to manage bid and budget for the
  8637  	// insertion order. If this field is unspecified in creation, the value
  8638  	// defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.
  8639  	//
  8640  	// Possible values:
  8641  	//   "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED" - Insertion order automation
  8642  	// option is not specified or is unknown in this version.
  8643  	//   "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET" - Automatic budget allocation.
  8644  	// Allow the system to automatically shift budget to owning line items to
  8645  	// optimize performance defined by kpi. No automation on bid settings.
  8646  	//   "INSERTION_ORDER_AUTOMATION_TYPE_NONE" - No automation of bid or budget on
  8647  	// insertion order level. Bid and budget must be manually configured at the
  8648  	// line item level.
  8649  	//   "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" - Allow the system to
  8650  	// automatically adjust bids and shift budget to owning line items to optimize
  8651  	// performance defined by kpi.
  8652  	AutomationType string `json:"automationType,omitempty"`
  8653  	// BudgetSegments: Required. The list of budget segments. Use a budget segment
  8654  	// to specify a specific budget for a given period of time an insertion order
  8655  	// is running.
  8656  	BudgetSegments []*InsertionOrderBudgetSegment `json:"budgetSegments,omitempty"`
  8657  	// BudgetUnit: Required. Immutable. The budget unit specifies whether the
  8658  	// budget is currency based or impression based.
  8659  	//
  8660  	// Possible values:
  8661  	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in
  8662  	// this version.
  8663  	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
  8664  	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
  8665  	BudgetUnit string `json:"budgetUnit,omitempty"`
  8666  	// ForceSendFields is a list of field names (e.g. "AutomationType") to
  8667  	// unconditionally include in API requests. By default, fields with empty or
  8668  	// default values are omitted from API requests. See
  8669  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8670  	// details.
  8671  	ForceSendFields []string `json:"-"`
  8672  	// NullFields is a list of field names (e.g. "AutomationType") to include in
  8673  	// API requests with the JSON null value. By default, fields with empty values
  8674  	// are omitted from API requests. See
  8675  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8676  	NullFields []string `json:"-"`
  8677  }
  8678  
  8679  func (s *InsertionOrderBudget) MarshalJSON() ([]byte, error) {
  8680  	type NoMethod InsertionOrderBudget
  8681  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8682  }
  8683  
  8684  // InsertionOrderBudgetSegment: Settings that control the budget of a single
  8685  // budget segment.
  8686  type InsertionOrderBudgetSegment struct {
  8687  	// BudgetAmountMicros: Required. The budget amount the insertion order will
  8688  	// spend for the given date_range. The amount is in micros. Must be greater
  8689  	// than 0. For example, 500000000 represents 500 standard units of the
  8690  	// currency.
  8691  	BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"`
  8692  	// CampaignBudgetId: The budget_id of the campaign budget that this insertion
  8693  	// order budget segment is a part of.
  8694  	CampaignBudgetId int64 `json:"campaignBudgetId,omitempty,string"`
  8695  	// DateRange: Required. The start and end date settings of the budget segment.
  8696  	// They are resolved relative to the parent advertiser's time zone. * When
  8697  	// creating a new budget segment, both `start_date` and `end_date` must be in
  8698  	// the future. * An existing budget segment with a `start_date` in the past has
  8699  	// a mutable `end_date` but an immutable `start_date`. * `end_date` must be the
  8700  	// `start_date` or later, both before the year 2037.
  8701  	DateRange *DateRange `json:"dateRange,omitempty"`
  8702  	// Description: The budget segment description. It can be used to enter
  8703  	// Purchase Order information for each budget segment and have that information
  8704  	// printed on the invoices. Must be UTF-8 encoded.
  8705  	Description string `json:"description,omitempty"`
  8706  	// ForceSendFields is a list of field names (e.g. "BudgetAmountMicros") to
  8707  	// unconditionally include in API requests. By default, fields with empty or
  8708  	// default values are omitted from API requests. See
  8709  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8710  	// details.
  8711  	ForceSendFields []string `json:"-"`
  8712  	// NullFields is a list of field names (e.g. "BudgetAmountMicros") to include
  8713  	// in API requests with the JSON null value. By default, fields with empty
  8714  	// values are omitted from API requests. See
  8715  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8716  	NullFields []string `json:"-"`
  8717  }
  8718  
  8719  func (s *InsertionOrderBudgetSegment) MarshalJSON() ([]byte, error) {
  8720  	type NoMethod InsertionOrderBudgetSegment
  8721  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8722  }
  8723  
  8724  // IntegralAdScience: Details of Integral Ad Science settings.
  8725  type IntegralAdScience struct {
  8726  	// CustomSegmentId: The custom segment ID provided by Integral Ad Science. The
  8727  	// ID must be between `1000001` and `1999999`, inclusive.
  8728  	CustomSegmentId googleapi.Int64s `json:"customSegmentId,omitempty"`
  8729  	// DisplayViewability: Display Viewability section (applicable to display line
  8730  	// items only).
  8731  	//
  8732  	// Possible values:
  8733  	//   "PERFORMANCE_VIEWABILITY_UNSPECIFIED" - This enum is only a placeholder
  8734  	// and it doesn't specify any display viewability options.
  8735  	//   "PERFORMANCE_VIEWABILITY_40" - Target 40% Viewability or Higher.
  8736  	//   "PERFORMANCE_VIEWABILITY_50" - Target 50% Viewability or Higher.
  8737  	//   "PERFORMANCE_VIEWABILITY_60" - Target 60% Viewability or Higher.
  8738  	//   "PERFORMANCE_VIEWABILITY_70" - Target 70% Viewability or Higher.
  8739  	DisplayViewability string `json:"displayViewability,omitempty"`
  8740  	// ExcludeUnrateable: Brand Safety - **Unrateable**.
  8741  	ExcludeUnrateable bool `json:"excludeUnrateable,omitempty"`
  8742  	// ExcludedAdFraudRisk: Ad Fraud settings.
  8743  	//
  8744  	// Possible values:
  8745  	//   "SUSPICIOUS_ACTIVITY_UNSPECIFIED" - This enum is only a placeholder and it
  8746  	// doesn't specify any ad fraud prevention options.
  8747  	//   "SUSPICIOUS_ACTIVITY_HR" - Ad Fraud - Exclude High Risk.
  8748  	//   "SUSPICIOUS_ACTIVITY_HMR" - Ad Fraud - Exclude High and Moderate Risk.
  8749  	ExcludedAdFraudRisk string `json:"excludedAdFraudRisk,omitempty"`
  8750  	// ExcludedAdultRisk: Brand Safety - **Adult content**.
  8751  	//
  8752  	// Possible values:
  8753  	//   "ADULT_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  8754  	// specify any adult options.
  8755  	//   "ADULT_HR" - Adult - Exclude High Risk.
  8756  	//   "ADULT_HMR" - Adult - Exclude High and Moderate Risk.
  8757  	ExcludedAdultRisk string `json:"excludedAdultRisk,omitempty"`
  8758  	// ExcludedAlcoholRisk: Brand Safety - **Alcohol**.
  8759  	//
  8760  	// Possible values:
  8761  	//   "ALCOHOL_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  8762  	// specify any alcohol options.
  8763  	//   "ALCOHOL_HR" - Alcohol - Exclude High Risk.
  8764  	//   "ALCOHOL_HMR" - Alcohol - Exclude High and Moderate Risk.
  8765  	ExcludedAlcoholRisk string `json:"excludedAlcoholRisk,omitempty"`
  8766  	// ExcludedDrugsRisk: Brand Safety - **Drugs**.
  8767  	//
  8768  	// Possible values:
  8769  	//   "DRUGS_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  8770  	// specify any drugs options.
  8771  	//   "DRUGS_HR" - Drugs - Exclude High Risk.
  8772  	//   "DRUGS_HMR" - Drugs - Exclude High and Moderate Risk.
  8773  	ExcludedDrugsRisk string `json:"excludedDrugsRisk,omitempty"`
  8774  	// ExcludedGamblingRisk: Brand Safety - **Gambling**.
  8775  	//
  8776  	// Possible values:
  8777  	//   "GAMBLING_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  8778  	// specify any gambling options.
  8779  	//   "GAMBLING_HR" - Gambling - Exclude High Risk.
  8780  	//   "GAMBLING_HMR" - Gambling - Exclude High and Moderate Risk.
  8781  	ExcludedGamblingRisk string `json:"excludedGamblingRisk,omitempty"`
  8782  	// ExcludedHateSpeechRisk: Brand Safety - **Hate speech**.
  8783  	//
  8784  	// Possible values:
  8785  	//   "HATE_SPEECH_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  8786  	// specify any hate speech options.
  8787  	//   "HATE_SPEECH_HR" - Hate Speech - Exclude High Risk.
  8788  	//   "HATE_SPEECH_HMR" - Hate Speech - Exclude High and Moderate Risk.
  8789  	ExcludedHateSpeechRisk string `json:"excludedHateSpeechRisk,omitempty"`
  8790  	// ExcludedIllegalDownloadsRisk: Brand Safety - **Illegal downloads**.
  8791  	//
  8792  	// Possible values:
  8793  	//   "ILLEGAL_DOWNLOADS_UNSPECIFIED" - This enum is only a placeholder and it
  8794  	// doesn't specify any illegal downloads options.
  8795  	//   "ILLEGAL_DOWNLOADS_HR" - Illegal Downloads - Exclude High Risk.
  8796  	//   "ILLEGAL_DOWNLOADS_HMR" - Illegal Downloads - Exclude High and Moderate
  8797  	// Risk.
  8798  	ExcludedIllegalDownloadsRisk string `json:"excludedIllegalDownloadsRisk,omitempty"`
  8799  	// ExcludedOffensiveLanguageRisk: Brand Safety - **Offensive language**.
  8800  	//
  8801  	// Possible values:
  8802  	//   "OFFENSIVE_LANGUAGE_UNSPECIFIED" - This enum is only a placeholder and it
  8803  	// doesn't specify any language options.
  8804  	//   "OFFENSIVE_LANGUAGE_HR" - Offensive Language - Exclude High Risk.
  8805  	//   "OFFENSIVE_LANGUAGE_HMR" - Offensive Language - Exclude High and Moderate
  8806  	// Risk.
  8807  	ExcludedOffensiveLanguageRisk string `json:"excludedOffensiveLanguageRisk,omitempty"`
  8808  	// ExcludedViolenceRisk: Brand Safety - **Violence**.
  8809  	//
  8810  	// Possible values:
  8811  	//   "VIOLENCE_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  8812  	// specify any violence options.
  8813  	//   "VIOLENCE_HR" - Violence - Exclude High Risk.
  8814  	//   "VIOLENCE_HMR" - Violence - Exclude High and Moderate Risk.
  8815  	ExcludedViolenceRisk string `json:"excludedViolenceRisk,omitempty"`
  8816  	// TraqScoreOption: True advertising quality (applicable to Display line items
  8817  	// only).
  8818  	//
  8819  	// Possible values:
  8820  	//   "TRAQ_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  8821  	// specify any true advertising quality scores.
  8822  	//   "TRAQ_250" - TRAQ score 250-1000.
  8823  	//   "TRAQ_500" - TRAQ score 500-1000.
  8824  	//   "TRAQ_600" - TRAQ score 600-1000.
  8825  	//   "TRAQ_700" - TRAQ score 700-1000.
  8826  	//   "TRAQ_750" - TRAQ score 750-1000.
  8827  	//   "TRAQ_875" - TRAQ score 875-1000.
  8828  	//   "TRAQ_1000" - TRAQ score 1000.
  8829  	TraqScoreOption string `json:"traqScoreOption,omitempty"`
  8830  	// VideoViewability: Video Viewability Section (applicable to video line items
  8831  	// only).
  8832  	//
  8833  	// Possible values:
  8834  	//   "VIDEO_VIEWABILITY_UNSPECIFIED" - This enum is only a placeholder and it
  8835  	// doesn't specify any video viewability options.
  8836  	//   "VIDEO_VIEWABILITY_40" - 40%+ in view (IAB video viewability standard).
  8837  	//   "VIDEO_VIEWABILITY_50" - 50%+ in view (IAB video viewability standard).
  8838  	//   "VIDEO_VIEWABILITY_60" - 60%+ in view (IAB video viewability standard).
  8839  	//   "VIDEO_VIEWABILITY_70" - 70%+ in view (IAB video viewability standard).
  8840  	VideoViewability string `json:"videoViewability,omitempty"`
  8841  	// ForceSendFields is a list of field names (e.g. "CustomSegmentId") to
  8842  	// unconditionally include in API requests. By default, fields with empty or
  8843  	// default values are omitted from API requests. See
  8844  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8845  	// details.
  8846  	ForceSendFields []string `json:"-"`
  8847  	// NullFields is a list of field names (e.g. "CustomSegmentId") to include in
  8848  	// API requests with the JSON null value. By default, fields with empty values
  8849  	// are omitted from API requests. See
  8850  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8851  	NullFields []string `json:"-"`
  8852  }
  8853  
  8854  func (s *IntegralAdScience) MarshalJSON() ([]byte, error) {
  8855  	type NoMethod IntegralAdScience
  8856  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8857  }
  8858  
  8859  // IntegrationDetails: Integration details of an entry.
  8860  type IntegrationDetails struct {
  8861  	// Details: Additional details of the entry in string format. Must be UTF-8
  8862  	// encoded with a length of no more than 1000 characters.
  8863  	Details string `json:"details,omitempty"`
  8864  	// IntegrationCode: An external identifier to be associated with the entry. The
  8865  	// integration code will show up together with the entry in many places in the
  8866  	// system, for example, reporting. Must be UTF-8 encoded with a length of no
  8867  	// more than 500 characters.
  8868  	IntegrationCode string `json:"integrationCode,omitempty"`
  8869  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  8870  	// include in API requests. By default, fields with empty or default values are
  8871  	// omitted from API requests. See
  8872  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8873  	// details.
  8874  	ForceSendFields []string `json:"-"`
  8875  	// NullFields is a list of field names (e.g. "Details") to include in API
  8876  	// requests with the JSON null value. By default, fields with empty values are
  8877  	// omitted from API requests. See
  8878  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8879  	NullFields []string `json:"-"`
  8880  }
  8881  
  8882  func (s *IntegrationDetails) MarshalJSON() ([]byte, error) {
  8883  	type NoMethod IntegrationDetails
  8884  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8885  }
  8886  
  8887  // InventorySource: An inventory source.
  8888  type InventorySource struct {
  8889  	// Commitment: Whether the inventory source has a guaranteed or non-guaranteed
  8890  	// delivery.
  8891  	//
  8892  	// Possible values:
  8893  	//   "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED" - The commitment is not
  8894  	// specified or is unknown in this version.
  8895  	//   "INVENTORY_SOURCE_COMMITMENT_GUARANTEED" - The commitment is guaranteed
  8896  	// delivery.
  8897  	//   "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" - The commitment is
  8898  	// non-guaranteed delivery.
  8899  	Commitment string `json:"commitment,omitempty"`
  8900  	// CreativeConfigs: The creative requirements of the inventory source. Not
  8901  	// applicable for auction packages.
  8902  	CreativeConfigs []*CreativeConfig `json:"creativeConfigs,omitempty"`
  8903  	// DealId: The ID in the exchange space that uniquely identifies the inventory
  8904  	// source. Must be unique across buyers within each exchange but not
  8905  	// necessarily unique across exchanges.
  8906  	DealId string `json:"dealId,omitempty"`
  8907  	// DeliveryMethod: The delivery method of the inventory source. * For
  8908  	// non-guaranteed inventory sources, the only acceptable value is
  8909  	// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed inventory
  8910  	// sources, acceptable values are `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and
  8911  	// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`.
  8912  	//
  8913  	// Possible values:
  8914  	//   "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED" - The delivery method is
  8915  	// not specified or is unknown in this version.
  8916  	//   "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC" - The delivery method is
  8917  	// programmatic.
  8918  	//   "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" - The delivery method is tag.
  8919  	DeliveryMethod string `json:"deliveryMethod,omitempty"`
  8920  	// DisplayName: The display name of the inventory source. Must be UTF-8 encoded
  8921  	// with a maximum size of 240 bytes.
  8922  	DisplayName string `json:"displayName,omitempty"`
  8923  	// Exchange: The exchange to which the inventory source belongs.
  8924  	//
  8925  	// Possible values:
  8926  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  8927  	// version.
  8928  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  8929  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  8930  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  8931  	//   "EXCHANGE_ADFORM" - Adform.
  8932  	//   "EXCHANGE_ADMETA" - Admeta.
  8933  	//   "EXCHANGE_ADMIXER" - Admixer.
  8934  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  8935  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  8936  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  8937  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  8938  	// Yahoo!.
  8939  	//   "EXCHANGE_CADREON" - Cadreon.
  8940  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  8941  	//   "EXCHANGE_FIVE" - Five.
  8942  	//   "EXCHANGE_FLUCT" - Fluct.
  8943  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  8944  	//   "EXCHANGE_GENIEE" - Geniee.
  8945  	//   "EXCHANGE_GUMGUM" - GumGum.
  8946  	//   "EXCHANGE_IMOBILE" - i-mobile.
  8947  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  8948  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  8949  	//   "EXCHANGE_INDEX" - Index Exchange.
  8950  	//   "EXCHANGE_KARGO" - Kargo.
  8951  	//   "EXCHANGE_MICROAD" - MicroAd.
  8952  	//   "EXCHANGE_MOPUB" - MoPub.
  8953  	//   "EXCHANGE_NEND" - Nend.
  8954  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  8955  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  8956  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  8957  	//   "EXCHANGE_OOYALA" - Ooyala.
  8958  	//   "EXCHANGE_OPENX" - OpenX.
  8959  	//   "EXCHANGE_PERMODO" - Permodo.
  8960  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  8961  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  8962  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  8963  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  8964  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  8965  	//   "EXCHANGE_RUBICON" - Rubicon.
  8966  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  8967  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  8968  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  8969  	//   "EXCHANGE_SOVRN" - Sovrn.
  8970  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  8971  	//   "EXCHANGE_STROER" - Ströer SSP.
  8972  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  8973  	//   "EXCHANGE_TELARIA" - Telaria.
  8974  	//   "EXCHANGE_TVN" - TVN.
  8975  	//   "EXCHANGE_UNITED" - United.
  8976  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  8977  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  8978  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  8979  	//   "EXCHANGE_OPEN8" - Open8.
  8980  	//   "EXCHANGE_TRITON" - Triton.
  8981  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  8982  	//   "EXCHANGE_TABOOLA" - Taboola.
  8983  	//   "EXCHANGE_INMOBI" - InMobi.
  8984  	//   "EXCHANGE_SMAATO" - Smaato.
  8985  	//   "EXCHANGE_AJA" - Aja.
  8986  	//   "EXCHANGE_SUPERSHIP" - Supership.
  8987  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  8988  	//   "EXCHANGE_WAZE" - Waze.
  8989  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  8990  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  8991  	//   "EXCHANGE_FYBER" - Fyber.
  8992  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  8993  	//   "EXCHANGE_MEDIANET" - Media.net.
  8994  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  8995  	//   "EXCHANGE_VISTAR" - Vistar.
  8996  	//   "EXCHANGE_DAX" - DAX.
  8997  	//   "EXCHANGE_JCD" - JCD.
  8998  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  8999  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  9000  	//   "EXCHANGE_CONNATIX" - Connatix.
  9001  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  9002  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  9003  	//   "EXCHANGE_DRAX" - Drax.
  9004  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  9005  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  9006  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  9007  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  9008  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  9009  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  9010  	Exchange string `json:"exchange,omitempty"`
  9011  	// GuaranteedOrderId: Immutable. The ID of the guaranteed order that this
  9012  	// inventory source belongs to. Only applicable when commitment is
  9013  	// `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`.
  9014  	GuaranteedOrderId string `json:"guaranteedOrderId,omitempty"`
  9015  	// InventorySourceId: Output only. The unique ID of the inventory source.
  9016  	// Assigned by the system.
  9017  	InventorySourceId int64 `json:"inventorySourceId,omitempty,string"`
  9018  	// InventorySourceProductType: Output only. The product type of the inventory
  9019  	// source, denoting the way through which it sells inventory.
  9020  	//
  9021  	// Possible values:
  9022  	//   "INVENTORY_SOURCE_PRODUCT_TYPE_UNSPECIFIED" - The product type is not
  9023  	// specified or is unknown in this version. Modifying inventory sources of this
  9024  	// product type are not supported via API.
  9025  	//   "PREFERRED_DEAL" - The inventory source sells inventory through Preferred
  9026  	// Deal.
  9027  	//   "PRIVATE_AUCTION" - The inventory source sells inventory through Private
  9028  	// Auction.
  9029  	//   "PROGRAMMATIC_GUARANTEED" - The inventory source sells inventory through
  9030  	// Programmatic Guaranteed.
  9031  	//   "TAG_GUARANTEED" - The inventory source sells inventory through Tag
  9032  	// Guaranteed.
  9033  	//   "YOUTUBE_RESERVE" - The inventory source sells inventory through YouTube
  9034  	// Reserve.
  9035  	//   "INSTANT_RESERVE" - The inventory source sells inventory through Instant
  9036  	// Reserve. Modifying inventory sources of this product type are not supported
  9037  	// via API.
  9038  	//   "GUARANTEED_PACKAGE" - The inventory source sells inventory through
  9039  	// Guaranteed Package. Modifying inventory sources of this product type are not
  9040  	// supported via API.
  9041  	//   "PROGRAMMATIC_TV" - The inventory source sells inventory through
  9042  	// Programmtic TV. Modifying inventory sources of this product type are not
  9043  	// supported via API.
  9044  	//   "AUCTION_PACKAGE" - The inventory source sells inventory through Auction
  9045  	// Package. Modifying inventory sources of this product type are not supported
  9046  	// via API.
  9047  	InventorySourceProductType string `json:"inventorySourceProductType,omitempty"`
  9048  	// InventorySourceType: Denotes the type of the inventory source.
  9049  	//
  9050  	// Possible values:
  9051  	//   "INVENTORY_SOURCE_TYPE_UNSPECIFIED" - The inventory source type is not
  9052  	// specified or is unknown in this version.
  9053  	//   "INVENTORY_SOURCE_TYPE_PRIVATE" - Private inventory source.
  9054  	//   "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" - Auction package.
  9055  	InventorySourceType string `json:"inventorySourceType,omitempty"`
  9056  	// Name: Output only. The resource name of the inventory source.
  9057  	Name string `json:"name,omitempty"`
  9058  	// PublisherName: The publisher/seller name of the inventory source.
  9059  	PublisherName string `json:"publisherName,omitempty"`
  9060  	// RateDetails: Required. The rate details of the inventory source.
  9061  	RateDetails *RateDetails `json:"rateDetails,omitempty"`
  9062  	// ReadAdvertiserIds: Output only. The IDs of advertisers with read-only access
  9063  	// to the inventory source.
  9064  	ReadAdvertiserIds googleapi.Int64s `json:"readAdvertiserIds,omitempty"`
  9065  	// ReadPartnerIds: Output only. The IDs of partners with read-only access to
  9066  	// the inventory source. All advertisers of partners in this field inherit
  9067  	// read-only access to the inventory source.
  9068  	ReadPartnerIds googleapi.Int64s `json:"readPartnerIds,omitempty"`
  9069  	// ReadWriteAccessors: The partner or advertisers that have read/write access
  9070  	// to the inventory source. Output only when commitment is
  9071  	// `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`, in which case the read/write
  9072  	// accessors are inherited from the parent guaranteed order. Required when
  9073  	// commitment is `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED`. If commitment is
  9074  	// `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED` and a partner is set in this
  9075  	// field, all advertisers under this partner will automatically have read-only
  9076  	// access to the inventory source. These advertisers will not be included in
  9077  	// read_advertiser_ids.
  9078  	ReadWriteAccessors *InventorySourceAccessors `json:"readWriteAccessors,omitempty"`
  9079  	// Status: The status settings of the inventory source.
  9080  	Status *InventorySourceStatus `json:"status,omitempty"`
  9081  	// TimeRange: The time range when this inventory source starts and stops
  9082  	// serving.
  9083  	TimeRange *TimeRange `json:"timeRange,omitempty"`
  9084  	// UpdateTime: Output only. The timestamp when the inventory source was last
  9085  	// updated. Assigned by the system.
  9086  	UpdateTime string `json:"updateTime,omitempty"`
  9087  
  9088  	// ServerResponse contains the HTTP response code and headers from the server.
  9089  	googleapi.ServerResponse `json:"-"`
  9090  	// ForceSendFields is a list of field names (e.g. "Commitment") to
  9091  	// unconditionally include in API requests. By default, fields with empty or
  9092  	// default values are omitted from API requests. See
  9093  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9094  	// details.
  9095  	ForceSendFields []string `json:"-"`
  9096  	// NullFields is a list of field names (e.g. "Commitment") to include in API
  9097  	// requests with the JSON null value. By default, fields with empty values are
  9098  	// omitted from API requests. See
  9099  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9100  	NullFields []string `json:"-"`
  9101  }
  9102  
  9103  func (s *InventorySource) MarshalJSON() ([]byte, error) {
  9104  	type NoMethod InventorySource
  9105  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9106  }
  9107  
  9108  // InventorySourceAccessors: The partner or advertisers with access to the
  9109  // inventory source.
  9110  type InventorySourceAccessors struct {
  9111  	// Advertisers: The advertisers with access to the inventory source. All
  9112  	// advertisers must belong to the same partner.
  9113  	Advertisers *InventorySourceAccessorsAdvertiserAccessors `json:"advertisers,omitempty"`
  9114  	// Partner: The partner with access to the inventory source.
  9115  	Partner *InventorySourceAccessorsPartnerAccessor `json:"partner,omitempty"`
  9116  
  9117  	// ServerResponse contains the HTTP response code and headers from the server.
  9118  	googleapi.ServerResponse `json:"-"`
  9119  	// ForceSendFields is a list of field names (e.g. "Advertisers") to
  9120  	// unconditionally include in API requests. By default, fields with empty or
  9121  	// default values are omitted from API requests. See
  9122  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9123  	// details.
  9124  	ForceSendFields []string `json:"-"`
  9125  	// NullFields is a list of field names (e.g. "Advertisers") to include in API
  9126  	// requests with the JSON null value. By default, fields with empty values are
  9127  	// omitted from API requests. See
  9128  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9129  	NullFields []string `json:"-"`
  9130  }
  9131  
  9132  func (s *InventorySourceAccessors) MarshalJSON() ([]byte, error) {
  9133  	type NoMethod InventorySourceAccessors
  9134  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9135  }
  9136  
  9137  // InventorySourceAccessorsAdvertiserAccessors: The advertisers with access to
  9138  // the inventory source.
  9139  type InventorySourceAccessorsAdvertiserAccessors struct {
  9140  	// AdvertiserIds: The IDs of the advertisers.
  9141  	AdvertiserIds googleapi.Int64s `json:"advertiserIds,omitempty"`
  9142  	// ForceSendFields is a list of field names (e.g. "AdvertiserIds") to
  9143  	// unconditionally include in API requests. By default, fields with empty or
  9144  	// default values are omitted from API requests. See
  9145  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9146  	// details.
  9147  	ForceSendFields []string `json:"-"`
  9148  	// NullFields is a list of field names (e.g. "AdvertiserIds") to include in API
  9149  	// requests with the JSON null value. By default, fields with empty values are
  9150  	// omitted from API requests. See
  9151  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9152  	NullFields []string `json:"-"`
  9153  }
  9154  
  9155  func (s *InventorySourceAccessorsAdvertiserAccessors) MarshalJSON() ([]byte, error) {
  9156  	type NoMethod InventorySourceAccessorsAdvertiserAccessors
  9157  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9158  }
  9159  
  9160  // InventorySourceAccessorsPartnerAccessor: The partner with access to the
  9161  // inventory source.
  9162  type InventorySourceAccessorsPartnerAccessor struct {
  9163  	// PartnerId: The ID of the partner.
  9164  	PartnerId int64 `json:"partnerId,omitempty,string"`
  9165  	// ForceSendFields is a list of field names (e.g. "PartnerId") to
  9166  	// unconditionally include in API requests. By default, fields with empty or
  9167  	// default values are omitted from API requests. See
  9168  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9169  	// details.
  9170  	ForceSendFields []string `json:"-"`
  9171  	// NullFields is a list of field names (e.g. "PartnerId") to include in API
  9172  	// requests with the JSON null value. By default, fields with empty values are
  9173  	// omitted from API requests. See
  9174  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9175  	NullFields []string `json:"-"`
  9176  }
  9177  
  9178  func (s *InventorySourceAccessorsPartnerAccessor) MarshalJSON() ([]byte, error) {
  9179  	type NoMethod InventorySourceAccessorsPartnerAccessor
  9180  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9181  }
  9182  
  9183  // InventorySourceAssignedTargetingOptionDetails: Targeting details for
  9184  // inventory source. This will be populated in the details field of an
  9185  // AssignedTargetingOption when targeting_type is
  9186  // `TARGETING_TYPE_INVENTORY_SOURCE`.
  9187  type InventorySourceAssignedTargetingOptionDetails struct {
  9188  	// InventorySourceId: Required. ID of the inventory source. Should refer to the
  9189  	// inventory_source_id field of an InventorySource resource.
  9190  	InventorySourceId int64 `json:"inventorySourceId,omitempty,string"`
  9191  	// ForceSendFields is a list of field names (e.g. "InventorySourceId") to
  9192  	// unconditionally include in API requests. By default, fields with empty or
  9193  	// default values are omitted from API requests. See
  9194  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9195  	// details.
  9196  	ForceSendFields []string `json:"-"`
  9197  	// NullFields is a list of field names (e.g. "InventorySourceId") to include in
  9198  	// API requests with the JSON null value. By default, fields with empty values
  9199  	// are omitted from API requests. See
  9200  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9201  	NullFields []string `json:"-"`
  9202  }
  9203  
  9204  func (s *InventorySourceAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  9205  	type NoMethod InventorySourceAssignedTargetingOptionDetails
  9206  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9207  }
  9208  
  9209  // InventorySourceDisplayCreativeConfig: The configuration for display
  9210  // creatives.
  9211  type InventorySourceDisplayCreativeConfig struct {
  9212  	// CreativeSize: The size requirements for display creatives that can be
  9213  	// assigned to the inventory source.
  9214  	CreativeSize *Dimensions `json:"creativeSize,omitempty"`
  9215  	// ForceSendFields is a list of field names (e.g. "CreativeSize") to
  9216  	// unconditionally include in API requests. By default, fields with empty or
  9217  	// default values are omitted from API requests. See
  9218  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9219  	// details.
  9220  	ForceSendFields []string `json:"-"`
  9221  	// NullFields is a list of field names (e.g. "CreativeSize") to include in API
  9222  	// requests with the JSON null value. By default, fields with empty values are
  9223  	// omitted from API requests. See
  9224  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9225  	NullFields []string `json:"-"`
  9226  }
  9227  
  9228  func (s *InventorySourceDisplayCreativeConfig) MarshalJSON() ([]byte, error) {
  9229  	type NoMethod InventorySourceDisplayCreativeConfig
  9230  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9231  }
  9232  
  9233  // InventorySourceFilter: A filtering option for filtering on Inventory Source
  9234  // entities.
  9235  type InventorySourceFilter struct {
  9236  	// InventorySourceIds: Inventory Sources to download by ID. All IDs must belong
  9237  	// to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  9238  	// Leave empty to download all Inventory Sources for the selected Advertiser or
  9239  	// Partner.
  9240  	InventorySourceIds googleapi.Int64s `json:"inventorySourceIds,omitempty"`
  9241  	// ForceSendFields is a list of field names (e.g. "InventorySourceIds") to
  9242  	// unconditionally include in API requests. By default, fields with empty or
  9243  	// default values are omitted from API requests. See
  9244  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9245  	// details.
  9246  	ForceSendFields []string `json:"-"`
  9247  	// NullFields is a list of field names (e.g. "InventorySourceIds") to include
  9248  	// in API requests with the JSON null value. By default, fields with empty
  9249  	// values are omitted from API requests. See
  9250  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9251  	NullFields []string `json:"-"`
  9252  }
  9253  
  9254  func (s *InventorySourceFilter) MarshalJSON() ([]byte, error) {
  9255  	type NoMethod InventorySourceFilter
  9256  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9257  }
  9258  
  9259  // InventorySourceGroup: A collection of targetable inventory sources.
  9260  type InventorySourceGroup struct {
  9261  	// DisplayName: Required. The display name of the inventory source group. Must
  9262  	// be UTF-8 encoded with a maximum size of 240 bytes.
  9263  	DisplayName string `json:"displayName,omitempty"`
  9264  	// InventorySourceGroupId: Output only. The unique ID of the inventory source
  9265  	// group. Assigned by the system.
  9266  	InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"`
  9267  	// Name: Output only. The resource name of the inventory source group.
  9268  	Name string `json:"name,omitempty"`
  9269  
  9270  	// ServerResponse contains the HTTP response code and headers from the server.
  9271  	googleapi.ServerResponse `json:"-"`
  9272  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  9273  	// unconditionally include in API requests. By default, fields with empty or
  9274  	// default values are omitted from API requests. See
  9275  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9276  	// details.
  9277  	ForceSendFields []string `json:"-"`
  9278  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  9279  	// requests with the JSON null value. By default, fields with empty values are
  9280  	// omitted from API requests. See
  9281  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9282  	NullFields []string `json:"-"`
  9283  }
  9284  
  9285  func (s *InventorySourceGroup) MarshalJSON() ([]byte, error) {
  9286  	type NoMethod InventorySourceGroup
  9287  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9288  }
  9289  
  9290  // InventorySourceGroupAssignedTargetingOptionDetails: Targeting details for
  9291  // inventory source group. This will be populated in the details field of an
  9292  // AssignedTargetingOption when targeting_type is
  9293  // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
  9294  type InventorySourceGroupAssignedTargetingOptionDetails struct {
  9295  	// InventorySourceGroupId: Required. ID of the inventory source group. Should
  9296  	// refer to the inventory_source_group_id field of an InventorySourceGroup
  9297  	// resource.
  9298  	InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"`
  9299  	// ForceSendFields is a list of field names (e.g. "InventorySourceGroupId") to
  9300  	// unconditionally include in API requests. By default, fields with empty or
  9301  	// default values are omitted from API requests. See
  9302  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9303  	// details.
  9304  	ForceSendFields []string `json:"-"`
  9305  	// NullFields is a list of field names (e.g. "InventorySourceGroupId") to
  9306  	// include in API requests with the JSON null value. By default, fields with
  9307  	// empty values are omitted from API requests. See
  9308  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9309  	NullFields []string `json:"-"`
  9310  }
  9311  
  9312  func (s *InventorySourceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  9313  	type NoMethod InventorySourceGroupAssignedTargetingOptionDetails
  9314  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9315  }
  9316  
  9317  // InventorySourceStatus: The status related settings of the inventory source.
  9318  type InventorySourceStatus struct {
  9319  	// ConfigStatus: Output only. The configuration status of the inventory source.
  9320  	// Only applicable for guaranteed inventory sources. Acceptable values are
  9321  	// `INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and
  9322  	// `INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`. An inventory source must be
  9323  	// configured (fill in the required fields, choose creatives, and select a
  9324  	// default campaign) before it can serve.
  9325  	//
  9326  	// Possible values:
  9327  	//   "INVENTORY_SOURCE_CONFIG_STATUS_UNSPECIFIED" - The approval status is not
  9328  	// specified or is unknown in this version.
  9329  	//   "INVENTORY_SOURCE_CONFIG_STATUS_PENDING" - The beginning state of a
  9330  	// guaranteed inventory source. The inventory source in this state needs to be
  9331  	// configured.
  9332  	//   "INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED" - The state after the buyer
  9333  	// configures a guaranteed inventory source.
  9334  	ConfigStatus string `json:"configStatus,omitempty"`
  9335  	// EntityPauseReason: The user-provided reason for pausing this inventory
  9336  	// source. Must not exceed 100 characters. Only applicable when entity_status
  9337  	// is set to `ENTITY_STATUS_PAUSED`.
  9338  	EntityPauseReason string `json:"entityPauseReason,omitempty"`
  9339  	// EntityStatus: Whether or not the inventory source is servable. Acceptable
  9340  	// values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and
  9341  	// `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`.
  9342  	//
  9343  	// Possible values:
  9344  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  9345  	// or is unknown in this version.
  9346  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  9347  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  9348  	// spending are disabled. An entity can be deleted after archived. Deleted
  9349  	// entities cannot be retrieved.
  9350  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  9351  	// spending are disabled.
  9352  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  9353  	// entity.
  9354  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  9355  	// deletion.
  9356  	EntityStatus string `json:"entityStatus,omitempty"`
  9357  	// SellerPauseReason: Output only. The seller-provided reason for pausing this
  9358  	// inventory source. Only applicable for inventory sources synced directly from
  9359  	// the publishers and when seller_status is set to `ENTITY_STATUS_PAUSED`.
  9360  	SellerPauseReason string `json:"sellerPauseReason,omitempty"`
  9361  	// SellerStatus: Output only. The status set by the seller for the inventory
  9362  	// source. Only applicable for inventory sources synced directly from the
  9363  	// publishers. Acceptable values are `ENTITY_STATUS_ACTIVE` and
  9364  	// `ENTITY_STATUS_PAUSED`.
  9365  	//
  9366  	// Possible values:
  9367  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  9368  	// or is unknown in this version.
  9369  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  9370  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  9371  	// spending are disabled. An entity can be deleted after archived. Deleted
  9372  	// entities cannot be retrieved.
  9373  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  9374  	// spending are disabled.
  9375  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  9376  	// entity.
  9377  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  9378  	// deletion.
  9379  	SellerStatus string `json:"sellerStatus,omitempty"`
  9380  	// ForceSendFields is a list of field names (e.g. "ConfigStatus") to
  9381  	// unconditionally include in API requests. By default, fields with empty or
  9382  	// default values are omitted from API requests. See
  9383  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9384  	// details.
  9385  	ForceSendFields []string `json:"-"`
  9386  	// NullFields is a list of field names (e.g. "ConfigStatus") to include in API
  9387  	// requests with the JSON null value. By default, fields with empty values are
  9388  	// omitted from API requests. See
  9389  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9390  	NullFields []string `json:"-"`
  9391  }
  9392  
  9393  func (s *InventorySourceStatus) MarshalJSON() ([]byte, error) {
  9394  	type NoMethod InventorySourceStatus
  9395  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9396  }
  9397  
  9398  // InventorySourceVideoCreativeConfig: The configuration for video creatives.
  9399  type InventorySourceVideoCreativeConfig struct {
  9400  	// Duration: The duration requirements for the video creatives that can be
  9401  	// assigned to the inventory source.
  9402  	Duration string `json:"duration,omitempty"`
  9403  	// ForceSendFields is a list of field names (e.g. "Duration") to
  9404  	// unconditionally include in API requests. By default, fields with empty or
  9405  	// default values are omitted from API requests. See
  9406  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9407  	// details.
  9408  	ForceSendFields []string `json:"-"`
  9409  	// NullFields is a list of field names (e.g. "Duration") to include in API
  9410  	// requests with the JSON null value. By default, fields with empty values are
  9411  	// omitted from API requests. See
  9412  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9413  	NullFields []string `json:"-"`
  9414  }
  9415  
  9416  func (s *InventorySourceVideoCreativeConfig) MarshalJSON() ([]byte, error) {
  9417  	type NoMethod InventorySourceVideoCreativeConfig
  9418  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9419  }
  9420  
  9421  // Invoice: A single invoice.
  9422  type Invoice struct {
  9423  	// BudgetInvoiceGroupingId: The budget grouping ID for this invoice. This field
  9424  	// will only be set if the invoice level of the corresponding billing profile
  9425  	// was set to "Budget invoice grouping ID".
  9426  	BudgetInvoiceGroupingId string `json:"budgetInvoiceGroupingId,omitempty"`
  9427  	// BudgetSummaries: The list of summarized information for each budget
  9428  	// associated with this invoice. This field will only be set if the invoice
  9429  	// detail level of the corresponding billing profile was set to "Budget level
  9430  	// PO".
  9431  	BudgetSummaries []*BudgetSummary `json:"budgetSummaries,omitempty"`
  9432  	// CorrectedInvoiceId: The ID of the original invoice being adjusted by this
  9433  	// invoice, if applicable. May appear on the invoice PDF as `Reference invoice
  9434  	// number`. If replaced_invoice_ids is set, this field will be empty.
  9435  	CorrectedInvoiceId string `json:"correctedInvoiceId,omitempty"`
  9436  	// CurrencyCode: The currency used in the invoice in ISO 4217 format.
  9437  	CurrencyCode string `json:"currencyCode,omitempty"`
  9438  	// DisplayName: The display name of the invoice.
  9439  	DisplayName string `json:"displayName,omitempty"`
  9440  	// DueDate: The date when the invoice is due.
  9441  	DueDate *Date `json:"dueDate,omitempty"`
  9442  	// InvoiceId: The unique ID of the invoice.
  9443  	InvoiceId string `json:"invoiceId,omitempty"`
  9444  	// InvoiceType: The type of invoice document.
  9445  	//
  9446  	// Possible values:
  9447  	//   "INVOICE_TYPE_UNSPECIFIED" - Not specified or is unknown in this version.
  9448  	//   "INVOICE_TYPE_CREDIT" - The invoice has a negative amount.
  9449  	//   "INVOICE_TYPE_INVOICE" - The invoice has a positive amount.
  9450  	InvoiceType string `json:"invoiceType,omitempty"`
  9451  	// IssueDate: The date when the invoice was issued.
  9452  	IssueDate *Date `json:"issueDate,omitempty"`
  9453  	// Name: The resource name of the invoice.
  9454  	Name string `json:"name,omitempty"`
  9455  	// NonBudgetMicros: The total amount of costs or adjustments not tied to a
  9456  	// particular budget, in micros of the invoice's currency. For example, if
  9457  	// currency_code is `USD`, then 1000000 represents one US dollar.
  9458  	NonBudgetMicros int64 `json:"nonBudgetMicros,omitempty,string"`
  9459  	// PaymentsAccountId: The ID of the payments account the invoice belongs to.
  9460  	// Appears on the invoice PDF as `Billing Account Number`.
  9461  	PaymentsAccountId string `json:"paymentsAccountId,omitempty"`
  9462  	// PaymentsProfileId: The ID of the payments profile the invoice belongs to.
  9463  	// Appears on the invoice PDF as `Billing ID`.
  9464  	PaymentsProfileId string `json:"paymentsProfileId,omitempty"`
  9465  	// PdfUrl: The URL to download a PDF copy of the invoice. This URL is user
  9466  	// specific and requires a valid OAuth 2.0 access token to access. The access
  9467  	// token must be provided in an `Authorization: Bearer` HTTP header and be
  9468  	// authorized for one of the following scopes: *
  9469  	// `https://www.googleapis.com/auth/display-video-mediaplanning` *
  9470  	// `https://www.googleapis.com/auth/display-video` The URL will be valid for 7
  9471  	// days after retrieval of this invoice object or until this invoice is
  9472  	// retrieved again.
  9473  	PdfUrl string `json:"pdfUrl,omitempty"`
  9474  	// PurchaseOrderNumber: Purchase order number associated with the invoice.
  9475  	PurchaseOrderNumber string `json:"purchaseOrderNumber,omitempty"`
  9476  	// ReplacedInvoiceIds: The ID(s) of any originally issued invoice that is being
  9477  	// cancelled by this invoice, if applicable. Multiple invoices may be listed if
  9478  	// those invoices are being consolidated into a single invoice. May appear on
  9479  	// invoice PDF as `Replaced invoice numbers`. If corrected_invoice_id is set,
  9480  	// this field will be empty.
  9481  	ReplacedInvoiceIds []string `json:"replacedInvoiceIds,omitempty"`
  9482  	// ServiceDateRange: The service start and end dates which are covered by this
  9483  	// invoice.
  9484  	ServiceDateRange *DateRange `json:"serviceDateRange,omitempty"`
  9485  	// SubtotalAmountMicros: The pre-tax subtotal amount, in micros of the
  9486  	// invoice's currency. For example, if currency_code is `USD`, then 1000000
  9487  	// represents one US dollar.
  9488  	SubtotalAmountMicros int64 `json:"subtotalAmountMicros,omitempty,string"`
  9489  	// TotalAmountMicros: The invoice total amount, in micros of the invoice's
  9490  	// currency. For example, if currency_code is `USD`, then 1000000 represents
  9491  	// one US dollar.
  9492  	TotalAmountMicros int64 `json:"totalAmountMicros,omitempty,string"`
  9493  	// TotalTaxAmountMicros: The sum of all taxes in invoice, in micros of the
  9494  	// invoice's currency. For example, if currency_code is `USD`, then 1000000
  9495  	// represents one US dollar.
  9496  	TotalTaxAmountMicros int64 `json:"totalTaxAmountMicros,omitempty,string"`
  9497  	// ForceSendFields is a list of field names (e.g. "BudgetInvoiceGroupingId") to
  9498  	// unconditionally include in API requests. By default, fields with empty or
  9499  	// default values are omitted from API requests. See
  9500  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9501  	// details.
  9502  	ForceSendFields []string `json:"-"`
  9503  	// NullFields is a list of field names (e.g. "BudgetInvoiceGroupingId") to
  9504  	// include in API requests with the JSON null value. By default, fields with
  9505  	// empty values are omitted from API requests. See
  9506  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9507  	NullFields []string `json:"-"`
  9508  }
  9509  
  9510  func (s *Invoice) MarshalJSON() ([]byte, error) {
  9511  	type NoMethod Invoice
  9512  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9513  }
  9514  
  9515  // KeywordAssignedTargetingOptionDetails: Details for assigned keyword
  9516  // targeting option. This will be populated in the details field of an
  9517  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_KEYWORD`.
  9518  type KeywordAssignedTargetingOptionDetails struct {
  9519  	// Keyword: Required. The keyword, for example `car insurance`. Positive
  9520  	// keyword cannot be offensive word. Must be UTF-8 encoded with a maximum size
  9521  	// of 255 bytes. Maximum number of characters is 80. Maximum number of words is
  9522  	// 10.
  9523  	Keyword string `json:"keyword,omitempty"`
  9524  	// Negative: Indicates if this option is being negatively targeted.
  9525  	Negative bool `json:"negative,omitempty"`
  9526  	// ForceSendFields is a list of field names (e.g. "Keyword") to unconditionally
  9527  	// include in API requests. By default, fields with empty or default values are
  9528  	// omitted from API requests. See
  9529  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9530  	// details.
  9531  	ForceSendFields []string `json:"-"`
  9532  	// NullFields is a list of field names (e.g. "Keyword") to include in API
  9533  	// requests with the JSON null value. By default, fields with empty values are
  9534  	// omitted from API requests. See
  9535  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9536  	NullFields []string `json:"-"`
  9537  }
  9538  
  9539  func (s *KeywordAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  9540  	type NoMethod KeywordAssignedTargetingOptionDetails
  9541  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9542  }
  9543  
  9544  // LanguageAssignedTargetingOptionDetails: Details for assigned language
  9545  // targeting option. This will be populated in the details field of an
  9546  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_LANGUAGE`.
  9547  type LanguageAssignedTargetingOptionDetails struct {
  9548  	// DisplayName: Output only. The display name of the language (e.g., "French").
  9549  	DisplayName string `json:"displayName,omitempty"`
  9550  	// Negative: Indicates if this option is being negatively targeted. All
  9551  	// assigned language targeting options on the same resource must have the same
  9552  	// value for this field.
  9553  	Negative bool `json:"negative,omitempty"`
  9554  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  9555  	// type `TARGETING_TYPE_LANGUAGE`.
  9556  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  9557  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  9558  	// unconditionally include in API requests. By default, fields with empty or
  9559  	// default values are omitted from API requests. See
  9560  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9561  	// details.
  9562  	ForceSendFields []string `json:"-"`
  9563  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  9564  	// requests with the JSON null value. By default, fields with empty values are
  9565  	// omitted from API requests. See
  9566  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9567  	NullFields []string `json:"-"`
  9568  }
  9569  
  9570  func (s *LanguageAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  9571  	type NoMethod LanguageAssignedTargetingOptionDetails
  9572  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9573  }
  9574  
  9575  // LanguageTargetingOptionDetails: Represents a targetable language. This will
  9576  // be populated in the language_details field when targeting_type is
  9577  // `TARGETING_TYPE_LANGUAGE`.
  9578  type LanguageTargetingOptionDetails struct {
  9579  	// DisplayName: Output only. The display name of the language (e.g., "French").
  9580  	DisplayName string `json:"displayName,omitempty"`
  9581  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  9582  	// unconditionally include in API requests. By default, fields with empty or
  9583  	// default values are omitted from API requests. See
  9584  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9585  	// details.
  9586  	ForceSendFields []string `json:"-"`
  9587  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  9588  	// requests with the JSON null value. By default, fields with empty values are
  9589  	// omitted from API requests. See
  9590  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9591  	NullFields []string `json:"-"`
  9592  }
  9593  
  9594  func (s *LanguageTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  9595  	type NoMethod LanguageTargetingOptionDetails
  9596  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9597  }
  9598  
  9599  // LineItem: A single line item.
  9600  type LineItem struct {
  9601  	// AdvertiserId: Output only. The unique ID of the advertiser the line item
  9602  	// belongs to.
  9603  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9604  	// BidStrategy: Required. The bidding strategy of the line item.
  9605  	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
  9606  	// Budget: Required. The budget allocation setting of the line item.
  9607  	Budget *LineItemBudget `json:"budget,omitempty"`
  9608  	// CampaignId: Output only. The unique ID of the campaign that the line item
  9609  	// belongs to.
  9610  	CampaignId int64 `json:"campaignId,omitempty,string"`
  9611  	// ConversionCounting: The conversion tracking setting of the line item.
  9612  	ConversionCounting *ConversionCountingConfig `json:"conversionCounting,omitempty"`
  9613  	// CreativeIds: The IDs of the creatives associated with the line item.
  9614  	CreativeIds googleapi.Int64s `json:"creativeIds,omitempty"`
  9615  	// DisplayName: Required. The display name of the line item. Must be UTF-8
  9616  	// encoded with a maximum size of 240 bytes.
  9617  	DisplayName string `json:"displayName,omitempty"`
  9618  	// EntityStatus: Required. Controls whether or not the line item can spend its
  9619  	// budget and bid on inventory. * For CreateLineItem method, only
  9620  	// `ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use
  9621  	// UpdateLineItem method and update the status to `ENTITY_STATUS_ACTIVE` after
  9622  	// creation. * A line item cannot be changed back to `ENTITY_STATUS_DRAFT`
  9623  	// status from any other status. * If the line item's parent insertion order is
  9624  	// not active, the line item can't spend its budget even if its own status is
  9625  	// `ENTITY_STATUS_ACTIVE`.
  9626  	//
  9627  	// Possible values:
  9628  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  9629  	// or is unknown in this version.
  9630  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  9631  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  9632  	// spending are disabled. An entity can be deleted after archived. Deleted
  9633  	// entities cannot be retrieved.
  9634  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  9635  	// spending are disabled.
  9636  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  9637  	// entity.
  9638  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  9639  	// deletion.
  9640  	EntityStatus string `json:"entityStatus,omitempty"`
  9641  	// ExcludeNewExchanges: Whether to exclude new exchanges from automatically
  9642  	// being targeted by the line item. This field is false by default.
  9643  	ExcludeNewExchanges bool `json:"excludeNewExchanges,omitempty"`
  9644  	// Flight: Required. The start and end time of the line item's flight.
  9645  	Flight *LineItemFlight `json:"flight,omitempty"`
  9646  	// FrequencyCap: Required. The impression frequency cap settings of the line
  9647  	// item. The max_impressions field in this settings object must be used if
  9648  	// assigning a limited cap.
  9649  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  9650  	// InsertionOrderId: Required. Immutable. The unique ID of the insertion order
  9651  	// that the line item belongs to.
  9652  	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
  9653  	// IntegrationDetails: Integration details of the line item.
  9654  	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
  9655  	// LineItemId: Output only. The unique ID of the line item. Assigned by the
  9656  	// system.
  9657  	LineItemId int64 `json:"lineItemId,omitempty,string"`
  9658  	// LineItemType: Required. Immutable. The type of the line item.
  9659  	//
  9660  	// Possible values:
  9661  	//   "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is unknown
  9662  	// in this version. Line items of this type and their targeting cannot be
  9663  	// created or updated using the API.
  9664  	//   "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich media
  9665  	// ads.
  9666  	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that drive
  9667  	// installs of an app.
  9668  	//   "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for a
  9669  	// variety of environments.
  9670  	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive installs
  9671  	// of an app.
  9672  	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served on
  9673  	// mobile app inventory. Line items of this type and their targeting cannot be
  9674  	// created or updated using the API.
  9675  	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on mobile
  9676  	// app inventory. Line items of this type and their targeting cannot be created
  9677  	// or updated using the API.
  9678  	//   "LINE_ITEM_TYPE_AUDIO_DEFAULT" - RTB Audio ads sold for a variety of
  9679  	// environments.
  9680  	//   "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over-the-top ads present in OTT
  9681  	// insertion orders. This type is only applicable to line items with an
  9682  	// insertion order of insertion_order_type `OVER_THE_TOP`.
  9683  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION" - YouTube video ads that
  9684  	// promote conversions. Line items of this type and their targeting cannot be
  9685  	// created or updated using the API.
  9686  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE" - YouTube video ads
  9687  	// (up to 15 seconds) that cannot be skipped. Line items of this type and their
  9688  	// targeting cannot be created or updated using the API.
  9689  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE" - YouTube video ads
  9690  	// that show a story in a particular sequence using a mix of formats. Line
  9691  	// items of this type and their targeting cannot be created or updated using
  9692  	// the API.
  9693  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO" - YouTube audio ads. Line
  9694  	// items of this type and their targeting cannot be created or updated using
  9695  	// the API.
  9696  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH" - YouTube video ads that
  9697  	// optimize reaching more unique users at lower cost. May include bumper ads,
  9698  	// skippable in-stream ads, or a mix of types. Line items of this type and
  9699  	// their targeting cannot be created or updated using the API.
  9700  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE" - Default YouTube video ads.
  9701  	// Line items of this type and their targeting cannot be created or updated
  9702  	// using the API.
  9703  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP" -
  9704  	// Connected TV youTube video ads (up to 15 seconds) that cannot be skipped.
  9705  	// Line items of this type and their targeting cannot be created or updated
  9706  	// using the API.
  9707  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP" - Connected TV
  9708  	// youTube video ads that optimize reaching more unique users at lower cost.
  9709  	// May include bumper ads, skippable in-stream ads, or a mix of types. Line
  9710  	// items of this type and their targeting cannot be created or updated using
  9711  	// the API.
  9712  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP" - Connected TV
  9713  	// default YouTube video ads. Only include in-stream ad-format. Line items of
  9714  	// this type and their targeting cannot be created or updated using the API.
  9715  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY" - The goal of this
  9716  	// line item type is to show the YouTube ads target number of times to the same
  9717  	// person in a certain period of time. Line items of this type and their
  9718  	// targeting cannot be created or updated using the API.
  9719  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW" - YouTube video ads that aim to
  9720  	// get more views with a variety of ad formats. Line items of this type and
  9721  	// their targeting cannot be created or updated using the API.
  9722  	//   "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME" - Display ads served on
  9723  	// digital-out-of-home inventory. Line items of this type and their targeting
  9724  	// cannot be created or updated using the API.
  9725  	//   "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" - Video ads served on
  9726  	// digital-out-of-home inventory. Line items of this type and their targeting
  9727  	// cannot be created or updated using the API.
  9728  	LineItemType string `json:"lineItemType,omitempty"`
  9729  	// MobileApp: The mobile app promoted by the line item. This is applicable only
  9730  	// when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or
  9731  	// `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`.
  9732  	MobileApp *MobileApp `json:"mobileApp,omitempty"`
  9733  	// Name: Output only. The resource name of the line item.
  9734  	Name string `json:"name,omitempty"`
  9735  	// Pacing: Required. The budget spending speed setting of the line item.
  9736  	Pacing *Pacing `json:"pacing,omitempty"`
  9737  	// PartnerCosts: The partner costs associated with the line item. If absent or
  9738  	// empty in CreateLineItem method, the newly created line item will inherit
  9739  	// partner costs from its parent insertion order.
  9740  	PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"`
  9741  	// PartnerRevenueModel: Required. The partner revenue model setting of the line
  9742  	// item.
  9743  	PartnerRevenueModel *PartnerRevenueModel `json:"partnerRevenueModel,omitempty"`
  9744  	// ReservationType: Output only. The reservation type of the line item.
  9745  	//
  9746  	// Possible values:
  9747  	//   "RESERVATION_TYPE_UNSPECIFIED" - Reservation type value is not specified
  9748  	// or is unknown in this version.
  9749  	//   "RESERVATION_TYPE_NOT_GUARANTEED" - Not created through a guaranteed
  9750  	// inventory source.
  9751  	//   "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED" - Created through a
  9752  	// programmatic guaranteed inventory source.
  9753  	//   "RESERVATION_TYPE_TAG_GUARANTEED" - Created through a tag guaranteed
  9754  	// inventory source.
  9755  	//   "RESERVATION_TYPE_PETRA_VIRAL" - Created through a Petra inventory source.
  9756  	// Only applicable to YouTube and Partners line items.
  9757  	//   "RESERVATION_TYPE_INSTANT_RESERVE" - Created with an instant quote. Only
  9758  	// applicable to YouTube and partners line items.
  9759  	ReservationType string `json:"reservationType,omitempty"`
  9760  	// TargetingExpansion: The optimized targeting
  9761  	// (//support.google.com/displayvideo/answer/12060859) settings of the line
  9762  	// item. This config is only applicable for display, video, or audio line items
  9763  	// that use automated bidding and positively target eligible audience lists.
  9764  	TargetingExpansion *TargetingExpansionConfig `json:"targetingExpansion,omitempty"`
  9765  	// UpdateTime: Output only. The timestamp when the line item was last updated.
  9766  	// Assigned by the system.
  9767  	UpdateTime string `json:"updateTime,omitempty"`
  9768  	// WarningMessages: Output only. The warning messages generated by the line
  9769  	// item. These warnings do not block saving the line item, but some may block
  9770  	// the line item from running.
  9771  	//
  9772  	// Possible values:
  9773  	//   "LINE_ITEM_WARNING_MESSAGE_UNSPECIFIED" - Not specified or is unknown.
  9774  	//   "INVALID_FLIGHT_DATES" - This line item has invalid flight dates. The line
  9775  	// item will not run.
  9776  	//   "EXPIRED" - This line item's end date is in the past.
  9777  	//   "PENDING_FLIGHT" - This line item will begin running in the future.
  9778  	//   "ALL_PARTNER_ENABLED_EXCHANGES_NEGATIVELY_TARGETED" - All partner enabled
  9779  	// exchanges are negatively targeted. The line item will not run.
  9780  	//   "INVALID_INVENTORY_SOURCE" - No active inventory sources are being
  9781  	// targeted. The line item will not run.
  9782  	//   "APP_INVENTORY_INVALID_SITE_TARGETING" - This line item's Apps & URLs
  9783  	// targeting doesn't include any mobile apps. This line item's type requires
  9784  	// you to include mobile apps in your channel, sitelist, or apps targeting. The
  9785  	// line item will not run.
  9786  	//   "APP_INVENTORY_INVALID_AUDIENCE_LISTS" - This line item isn't targeting
  9787  	// any mobile users. This line item's type requires you to target a user list
  9788  	// with mobile users. The line item will not run.
  9789  	//   "NO_VALID_CREATIVE" - This line item does not contain any valid creative.
  9790  	// The line item will not run.
  9791  	//   "PARENT_INSERTION_ORDER_PAUSED" - The insertion order of this line item is
  9792  	// paused. The line item will not run.
  9793  	//   "PARENT_INSERTION_ORDER_EXPIRED" - The insertion order of this line item
  9794  	// has its end date set in the past. The line item will not run.
  9795  	//   "DEPRECATED_FIRST_PARTY_AUDIENCE_EXCLUSION" - This line item uses the
  9796  	// exclude_first_party_audience setting, which is deprecated and scheduled to
  9797  	// sunset after **March 25, 2023**. Update your API integration to directly
  9798  	// exclude any first-party audiences using audience targeting before **March
  9799  	// 25, 2023** to account for the sunset of the exclude_first_party_audience
  9800  	// field.
  9801  	WarningMessages []string `json:"warningMessages,omitempty"`
  9802  	// YoutubeAndPartnersSettings: Output only. Settings specific to YouTube and
  9803  	// Partners line items.
  9804  	YoutubeAndPartnersSettings *YoutubeAndPartnersSettings `json:"youtubeAndPartnersSettings,omitempty"`
  9805  
  9806  	// ServerResponse contains the HTTP response code and headers from the server.
  9807  	googleapi.ServerResponse `json:"-"`
  9808  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  9809  	// unconditionally include in API requests. By default, fields with empty or
  9810  	// default values are omitted from API requests. See
  9811  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9812  	// details.
  9813  	ForceSendFields []string `json:"-"`
  9814  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  9815  	// requests with the JSON null value. By default, fields with empty values are
  9816  	// omitted from API requests. See
  9817  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9818  	NullFields []string `json:"-"`
  9819  }
  9820  
  9821  func (s *LineItem) MarshalJSON() ([]byte, error) {
  9822  	type NoMethod LineItem
  9823  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9824  }
  9825  
  9826  // LineItemAssignedTargetingOption: Wrapper object associating an
  9827  // assigned_targeting_option resource and the line item it is assigned to.
  9828  type LineItemAssignedTargetingOption struct {
  9829  	// AssignedTargetingOption: The assigned targeting option resource.
  9830  	AssignedTargetingOption *AssignedTargetingOption `json:"assignedTargetingOption,omitempty"`
  9831  	// LineItemId: The ID of the line item the assigned targeting option is
  9832  	// assigned to.
  9833  	LineItemId int64 `json:"lineItemId,omitempty,string"`
  9834  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOption") to
  9835  	// unconditionally include in API requests. By default, fields with empty or
  9836  	// default values are omitted from API requests. See
  9837  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9838  	// details.
  9839  	ForceSendFields []string `json:"-"`
  9840  	// NullFields is a list of field names (e.g. "AssignedTargetingOption") to
  9841  	// include in API requests with the JSON null value. By default, fields with
  9842  	// empty values are omitted from API requests. See
  9843  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9844  	NullFields []string `json:"-"`
  9845  }
  9846  
  9847  func (s *LineItemAssignedTargetingOption) MarshalJSON() ([]byte, error) {
  9848  	type NoMethod LineItemAssignedTargetingOption
  9849  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9850  }
  9851  
  9852  // LineItemBudget: Settings that control how budget is allocated.
  9853  type LineItemBudget struct {
  9854  	// BudgetAllocationType: Required. The type of the budget allocation.
  9855  	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when
  9856  	// automatic budget allocation is enabled for the parent insertion order.
  9857  	//
  9858  	// Possible values:
  9859  	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED" - Type value is not
  9860  	// specified or is unknown in this version.
  9861  	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC" - Automatic budget allocation
  9862  	// is enabled for the line item.
  9863  	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED" - A fixed max budget amount is
  9864  	// allocated for the line item.
  9865  	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" - No budget limit is applied
  9866  	// to the line item.
  9867  	BudgetAllocationType string `json:"budgetAllocationType,omitempty"`
  9868  	// BudgetUnit: Output only. The budget unit specifies whether the budget is
  9869  	// currency based or impression based. This value is inherited from the parent
  9870  	// insertion order.
  9871  	//
  9872  	// Possible values:
  9873  	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in
  9874  	// this version.
  9875  	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
  9876  	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
  9877  	BudgetUnit string `json:"budgetUnit,omitempty"`
  9878  	// MaxAmount: The maximum budget amount the line item will spend. Must be
  9879  	// greater than 0. When budget_allocation_type is: *
  9880  	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable and is
  9881  	// set by the system. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`, if
  9882  	// budget_unit is: - `BUDGET_UNIT_CURRENCY`, this field represents maximum
  9883  	// budget amount to spend, in micros of the advertiser's currency. For example,
  9884  	// 1500000 represents 1.5 standard units of the currency. -
  9885  	// `BUDGET_UNIT_IMPRESSIONS`, this field represents the maximum number of
  9886  	// impressions to serve. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this
  9887  	// field is not applicable and will be ignored by the system.
  9888  	MaxAmount int64 `json:"maxAmount,omitempty,string"`
  9889  	// ForceSendFields is a list of field names (e.g. "BudgetAllocationType") to
  9890  	// unconditionally include in API requests. By default, fields with empty or
  9891  	// default values are omitted from API requests. See
  9892  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9893  	// details.
  9894  	ForceSendFields []string `json:"-"`
  9895  	// NullFields is a list of field names (e.g. "BudgetAllocationType") to include
  9896  	// in API requests with the JSON null value. By default, fields with empty
  9897  	// values are omitted from API requests. See
  9898  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9899  	NullFields []string `json:"-"`
  9900  }
  9901  
  9902  func (s *LineItemBudget) MarshalJSON() ([]byte, error) {
  9903  	type NoMethod LineItemBudget
  9904  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9905  }
  9906  
  9907  // LineItemFlight: Settings that control the active duration of a line item.
  9908  type LineItemFlight struct {
  9909  	// DateRange: The flight start and end dates of the line item. They are
  9910  	// resolved relative to the parent advertiser's time zone. * Required when
  9911  	// flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output only
  9912  	// otherwise. * When creating a new flight, both `start_date` and `end_date`
  9913  	// must be in the future. * An existing flight with a `start_date` in the past
  9914  	// has a mutable `end_date` but an immutable `start_date`. * `end_date` must be
  9915  	// the `start_date` or later, both before the year 2037.
  9916  	DateRange *DateRange `json:"dateRange,omitempty"`
  9917  	// FlightDateType: Required. The type of the line item's flight dates.
  9918  	//
  9919  	// Possible values:
  9920  	//   "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED" - Type value is not specified or
  9921  	// is unknown in this version.
  9922  	//   "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED" - The line item's flight dates are
  9923  	// inherited from its parent insertion order.
  9924  	//   "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" - The line item uses its own custom
  9925  	// flight dates.
  9926  	FlightDateType string `json:"flightDateType,omitempty"`
  9927  	// ForceSendFields is a list of field names (e.g. "DateRange") to
  9928  	// unconditionally include in API requests. By default, fields with empty or
  9929  	// default values are omitted from API requests. See
  9930  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9931  	// details.
  9932  	ForceSendFields []string `json:"-"`
  9933  	// NullFields is a list of field names (e.g. "DateRange") to include in API
  9934  	// requests with the JSON null value. By default, fields with empty values are
  9935  	// omitted from API requests. See
  9936  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9937  	NullFields []string `json:"-"`
  9938  }
  9939  
  9940  func (s *LineItemFlight) MarshalJSON() ([]byte, error) {
  9941  	type NoMethod LineItemFlight
  9942  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9943  }
  9944  
  9945  // ListAdvertiserAssignedTargetingOptionsResponse: Response message for
  9946  // ListAdvertiserAssignedTargetingOptions.
  9947  type ListAdvertiserAssignedTargetingOptionsResponse struct {
  9948  	// AssignedTargetingOptions: The list of assigned targeting options. This list
  9949  	// will be absent if empty.
  9950  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
  9951  	// NextPageToken: A token identifying the next page of results. This value
  9952  	// should be specified as the pageToken in a subsequent
  9953  	// ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of
  9954  	// results. This token will be absent if there are no more
  9955  	// assigned_targeting_options to return.
  9956  	NextPageToken string `json:"nextPageToken,omitempty"`
  9957  
  9958  	// ServerResponse contains the HTTP response code and headers from the server.
  9959  	googleapi.ServerResponse `json:"-"`
  9960  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
  9961  	// to unconditionally include in API requests. By default, fields with empty or
  9962  	// default values are omitted from API requests. See
  9963  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9964  	// details.
  9965  	ForceSendFields []string `json:"-"`
  9966  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
  9967  	// include in API requests with the JSON null value. By default, fields with
  9968  	// empty values are omitted from API requests. See
  9969  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9970  	NullFields []string `json:"-"`
  9971  }
  9972  
  9973  func (s *ListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  9974  	type NoMethod ListAdvertiserAssignedTargetingOptionsResponse
  9975  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9976  }
  9977  
  9978  type ListAdvertisersResponse struct {
  9979  	// Advertisers: The list of advertisers. This list will be absent if empty.
  9980  	Advertisers []*Advertiser `json:"advertisers,omitempty"`
  9981  	// NextPageToken: A token to retrieve the next page of results. Pass this value
  9982  	// in the page_token field in the subsequent call to `ListAdvertisers` method
  9983  	// to retrieve the next page of results.
  9984  	NextPageToken string `json:"nextPageToken,omitempty"`
  9985  
  9986  	// ServerResponse contains the HTTP response code and headers from the server.
  9987  	googleapi.ServerResponse `json:"-"`
  9988  	// ForceSendFields is a list of field names (e.g. "Advertisers") to
  9989  	// unconditionally include in API requests. By default, fields with empty or
  9990  	// default values are omitted from API requests. See
  9991  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9992  	// details.
  9993  	ForceSendFields []string `json:"-"`
  9994  	// NullFields is a list of field names (e.g. "Advertisers") to include in API
  9995  	// requests with the JSON null value. By default, fields with empty values are
  9996  	// omitted from API requests. See
  9997  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9998  	NullFields []string `json:"-"`
  9999  }
 10000  
 10001  func (s *ListAdvertisersResponse) MarshalJSON() ([]byte, error) {
 10002  	type NoMethod ListAdvertisersResponse
 10003  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10004  }
 10005  
 10006  // ListAssignedInventorySourcesResponse: Response message for
 10007  // AssignedInventorySourceService.ListAssignedInventorySources.
 10008  type ListAssignedInventorySourcesResponse struct {
 10009  	// AssignedInventorySources: The list of assigned inventory sources. This list
 10010  	// will be absent if empty.
 10011  	AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"`
 10012  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10013  	// in the page_token field in the subsequent call to
 10014  	// `ListAssignedInventorySources` method to retrieve the next page of results.
 10015  	NextPageToken string `json:"nextPageToken,omitempty"`
 10016  
 10017  	// ServerResponse contains the HTTP response code and headers from the server.
 10018  	googleapi.ServerResponse `json:"-"`
 10019  	// ForceSendFields is a list of field names (e.g. "AssignedInventorySources")
 10020  	// to unconditionally include in API requests. By default, fields with empty or
 10021  	// default values are omitted from API requests. See
 10022  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10023  	// details.
 10024  	ForceSendFields []string `json:"-"`
 10025  	// NullFields is a list of field names (e.g. "AssignedInventorySources") to
 10026  	// include in API requests with the JSON null value. By default, fields with
 10027  	// empty values are omitted from API requests. See
 10028  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10029  	NullFields []string `json:"-"`
 10030  }
 10031  
 10032  func (s *ListAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) {
 10033  	type NoMethod ListAssignedInventorySourcesResponse
 10034  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10035  }
 10036  
 10037  // ListAssignedLocationsResponse: Response message for
 10038  // AssignedLocationService.ListAssignedLocations.
 10039  type ListAssignedLocationsResponse struct {
 10040  	// AssignedLocations: The list of assigned locations. This list will be absent
 10041  	// if empty.
 10042  	AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"`
 10043  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10044  	// in the page_token field in the subsequent call to `ListAssignedLocations`
 10045  	// method to retrieve the next page of results.
 10046  	NextPageToken string `json:"nextPageToken,omitempty"`
 10047  
 10048  	// ServerResponse contains the HTTP response code and headers from the server.
 10049  	googleapi.ServerResponse `json:"-"`
 10050  	// ForceSendFields is a list of field names (e.g. "AssignedLocations") to
 10051  	// unconditionally include in API requests. By default, fields with empty or
 10052  	// default values are omitted from API requests. See
 10053  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10054  	// details.
 10055  	ForceSendFields []string `json:"-"`
 10056  	// NullFields is a list of field names (e.g. "AssignedLocations") to include in
 10057  	// API requests with the JSON null value. By default, fields with empty values
 10058  	// are omitted from API requests. See
 10059  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10060  	NullFields []string `json:"-"`
 10061  }
 10062  
 10063  func (s *ListAssignedLocationsResponse) MarshalJSON() ([]byte, error) {
 10064  	type NoMethod ListAssignedLocationsResponse
 10065  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10066  }
 10067  
 10068  // ListCampaignAssignedTargetingOptionsResponse: Response message for
 10069  // ListCampaignAssignedTargetingOptions.
 10070  type ListCampaignAssignedTargetingOptionsResponse struct {
 10071  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 10072  	// will be absent if empty.
 10073  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 10074  	// NextPageToken: A token identifying the next page of results. This value
 10075  	// should be specified as the pageToken in a subsequent
 10076  	// ListCampaignAssignedTargetingOptionsRequest to fetch the next page of
 10077  	// results. This token will be absent if there are no more
 10078  	// assigned_targeting_options to return.
 10079  	NextPageToken string `json:"nextPageToken,omitempty"`
 10080  
 10081  	// ServerResponse contains the HTTP response code and headers from the server.
 10082  	googleapi.ServerResponse `json:"-"`
 10083  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 10084  	// to unconditionally include in API requests. By default, fields with empty or
 10085  	// default values are omitted from API requests. See
 10086  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10087  	// details.
 10088  	ForceSendFields []string `json:"-"`
 10089  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 10090  	// include in API requests with the JSON null value. By default, fields with
 10091  	// empty values are omitted from API requests. See
 10092  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10093  	NullFields []string `json:"-"`
 10094  }
 10095  
 10096  func (s *ListCampaignAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 10097  	type NoMethod ListCampaignAssignedTargetingOptionsResponse
 10098  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10099  }
 10100  
 10101  type ListCampaignsResponse struct {
 10102  	// Campaigns: The list of campaigns. This list will be absent if empty.
 10103  	Campaigns []*Campaign `json:"campaigns,omitempty"`
 10104  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10105  	// in the page_token field in the subsequent call to `ListCampaigns` method to
 10106  	// retrieve the next page of results.
 10107  	NextPageToken string `json:"nextPageToken,omitempty"`
 10108  
 10109  	// ServerResponse contains the HTTP response code and headers from the server.
 10110  	googleapi.ServerResponse `json:"-"`
 10111  	// ForceSendFields is a list of field names (e.g. "Campaigns") to
 10112  	// unconditionally include in API requests. By default, fields with empty or
 10113  	// default values are omitted from API requests. See
 10114  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10115  	// details.
 10116  	ForceSendFields []string `json:"-"`
 10117  	// NullFields is a list of field names (e.g. "Campaigns") to include in API
 10118  	// requests with the JSON null value. By default, fields with empty values are
 10119  	// omitted from API requests. See
 10120  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10121  	NullFields []string `json:"-"`
 10122  }
 10123  
 10124  func (s *ListCampaignsResponse) MarshalJSON() ([]byte, error) {
 10125  	type NoMethod ListCampaignsResponse
 10126  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10127  }
 10128  
 10129  type ListChannelsResponse struct {
 10130  	// Channels: The list of channels. This list will be absent if empty.
 10131  	Channels []*Channel `json:"channels,omitempty"`
 10132  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10133  	// in the page_token field in the subsequent call to `ListChannels` method to
 10134  	// retrieve the next page of results.
 10135  	NextPageToken string `json:"nextPageToken,omitempty"`
 10136  
 10137  	// ServerResponse contains the HTTP response code and headers from the server.
 10138  	googleapi.ServerResponse `json:"-"`
 10139  	// ForceSendFields is a list of field names (e.g. "Channels") to
 10140  	// unconditionally include in API requests. By default, fields with empty or
 10141  	// default values are omitted from API requests. See
 10142  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10143  	// details.
 10144  	ForceSendFields []string `json:"-"`
 10145  	// NullFields is a list of field names (e.g. "Channels") to include in API
 10146  	// requests with the JSON null value. By default, fields with empty values are
 10147  	// omitted from API requests. See
 10148  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10149  	NullFields []string `json:"-"`
 10150  }
 10151  
 10152  func (s *ListChannelsResponse) MarshalJSON() ([]byte, error) {
 10153  	type NoMethod ListChannelsResponse
 10154  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10155  }
 10156  
 10157  type ListCombinedAudiencesResponse struct {
 10158  	// CombinedAudiences: The list of combined audiences. This list will be absent
 10159  	// if empty.
 10160  	CombinedAudiences []*CombinedAudience `json:"combinedAudiences,omitempty"`
 10161  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10162  	// in the page_token field in the subsequent call to `ListCombinedAudiences`
 10163  	// method to retrieve the next page of results.
 10164  	NextPageToken string `json:"nextPageToken,omitempty"`
 10165  
 10166  	// ServerResponse contains the HTTP response code and headers from the server.
 10167  	googleapi.ServerResponse `json:"-"`
 10168  	// ForceSendFields is a list of field names (e.g. "CombinedAudiences") to
 10169  	// unconditionally include in API requests. By default, fields with empty or
 10170  	// default values are omitted from API requests. See
 10171  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10172  	// details.
 10173  	ForceSendFields []string `json:"-"`
 10174  	// NullFields is a list of field names (e.g. "CombinedAudiences") to include in
 10175  	// API requests with the JSON null value. By default, fields with empty values
 10176  	// are omitted from API requests. See
 10177  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10178  	NullFields []string `json:"-"`
 10179  }
 10180  
 10181  func (s *ListCombinedAudiencesResponse) MarshalJSON() ([]byte, error) {
 10182  	type NoMethod ListCombinedAudiencesResponse
 10183  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10184  }
 10185  
 10186  type ListCreativesResponse struct {
 10187  	// Creatives: The list of creatives. This list will be absent if empty.
 10188  	Creatives []*Creative `json:"creatives,omitempty"`
 10189  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10190  	// in the page_token field in the subsequent call to `ListCreativesRequest`
 10191  	// method to retrieve the next page of results. If this field is null, it means
 10192  	// this is the last page.
 10193  	NextPageToken string `json:"nextPageToken,omitempty"`
 10194  
 10195  	// ServerResponse contains the HTTP response code and headers from the server.
 10196  	googleapi.ServerResponse `json:"-"`
 10197  	// ForceSendFields is a list of field names (e.g. "Creatives") to
 10198  	// unconditionally include in API requests. By default, fields with empty or
 10199  	// default values are omitted from API requests. See
 10200  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10201  	// details.
 10202  	ForceSendFields []string `json:"-"`
 10203  	// NullFields is a list of field names (e.g. "Creatives") to include in API
 10204  	// requests with the JSON null value. By default, fields with empty values are
 10205  	// omitted from API requests. See
 10206  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10207  	NullFields []string `json:"-"`
 10208  }
 10209  
 10210  func (s *ListCreativesResponse) MarshalJSON() ([]byte, error) {
 10211  	type NoMethod ListCreativesResponse
 10212  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10213  }
 10214  
 10215  type ListCustomBiddingAlgorithmsResponse struct {
 10216  	// CustomBiddingAlgorithms: The list of custom bidding algorithms. This list
 10217  	// will be absent if empty.
 10218  	CustomBiddingAlgorithms []*CustomBiddingAlgorithm `json:"customBiddingAlgorithms,omitempty"`
 10219  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10220  	// in the page_token field in the subsequent call to
 10221  	// `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page of
 10222  	// results. If this field is null, it means this is the last page.
 10223  	NextPageToken string `json:"nextPageToken,omitempty"`
 10224  
 10225  	// ServerResponse contains the HTTP response code and headers from the server.
 10226  	googleapi.ServerResponse `json:"-"`
 10227  	// ForceSendFields is a list of field names (e.g. "CustomBiddingAlgorithms") to
 10228  	// unconditionally include in API requests. By default, fields with empty or
 10229  	// default values are omitted from API requests. See
 10230  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10231  	// details.
 10232  	ForceSendFields []string `json:"-"`
 10233  	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithms") to
 10234  	// include in API requests with the JSON null value. By default, fields with
 10235  	// empty values are omitted from API requests. See
 10236  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10237  	NullFields []string `json:"-"`
 10238  }
 10239  
 10240  func (s *ListCustomBiddingAlgorithmsResponse) MarshalJSON() ([]byte, error) {
 10241  	type NoMethod ListCustomBiddingAlgorithmsResponse
 10242  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10243  }
 10244  
 10245  type ListCustomBiddingScriptsResponse struct {
 10246  	// CustomBiddingScripts: The list of custom bidding scripts. This list will be
 10247  	// absent if empty.
 10248  	CustomBiddingScripts []*CustomBiddingScript `json:"customBiddingScripts,omitempty"`
 10249  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10250  	// in the page_token field in the subsequent call to
 10251  	// `ListCustomBiddingScriptsRequest` method to retrieve the next page of
 10252  	// results. If this field is null, it means this is the last page.
 10253  	NextPageToken string `json:"nextPageToken,omitempty"`
 10254  
 10255  	// ServerResponse contains the HTTP response code and headers from the server.
 10256  	googleapi.ServerResponse `json:"-"`
 10257  	// ForceSendFields is a list of field names (e.g. "CustomBiddingScripts") to
 10258  	// unconditionally include in API requests. By default, fields with empty or
 10259  	// default values are omitted from API requests. See
 10260  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10261  	// details.
 10262  	ForceSendFields []string `json:"-"`
 10263  	// NullFields is a list of field names (e.g. "CustomBiddingScripts") to include
 10264  	// in API requests with the JSON null value. By default, fields with empty
 10265  	// values are omitted from API requests. See
 10266  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10267  	NullFields []string `json:"-"`
 10268  }
 10269  
 10270  func (s *ListCustomBiddingScriptsResponse) MarshalJSON() ([]byte, error) {
 10271  	type NoMethod ListCustomBiddingScriptsResponse
 10272  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10273  }
 10274  
 10275  type ListCustomListsResponse struct {
 10276  	// CustomLists: The list of custom lists. This list will be absent if empty.
 10277  	CustomLists []*CustomList `json:"customLists,omitempty"`
 10278  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10279  	// in the page_token field in the subsequent call to `ListCustomLists` method
 10280  	// to retrieve the next page of results.
 10281  	NextPageToken string `json:"nextPageToken,omitempty"`
 10282  
 10283  	// ServerResponse contains the HTTP response code and headers from the server.
 10284  	googleapi.ServerResponse `json:"-"`
 10285  	// ForceSendFields is a list of field names (e.g. "CustomLists") to
 10286  	// unconditionally include in API requests. By default, fields with empty or
 10287  	// default values are omitted from API requests. See
 10288  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10289  	// details.
 10290  	ForceSendFields []string `json:"-"`
 10291  	// NullFields is a list of field names (e.g. "CustomLists") to include in API
 10292  	// requests with the JSON null value. By default, fields with empty values are
 10293  	// omitted from API requests. See
 10294  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10295  	NullFields []string `json:"-"`
 10296  }
 10297  
 10298  func (s *ListCustomListsResponse) MarshalJSON() ([]byte, error) {
 10299  	type NoMethod ListCustomListsResponse
 10300  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10301  }
 10302  
 10303  type ListFirstAndThirdPartyAudiencesResponse struct {
 10304  	// FirstAndThirdPartyAudiences: The list of first and third party audiences.
 10305  	// Audience size properties will not be included. This list will be absent if
 10306  	// empty.
 10307  	FirstAndThirdPartyAudiences []*FirstAndThirdPartyAudience `json:"firstAndThirdPartyAudiences,omitempty"`
 10308  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10309  	// in the page_token field in the subsequent call to
 10310  	// `ListFirstAndThirdPartyAudiences` method to retrieve the next page of
 10311  	// results.
 10312  	NextPageToken string `json:"nextPageToken,omitempty"`
 10313  
 10314  	// ServerResponse contains the HTTP response code and headers from the server.
 10315  	googleapi.ServerResponse `json:"-"`
 10316  	// ForceSendFields is a list of field names (e.g.
 10317  	// "FirstAndThirdPartyAudiences") to unconditionally include in API requests.
 10318  	// By default, fields with empty or default values are omitted from API
 10319  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
 10320  	// for more details.
 10321  	ForceSendFields []string `json:"-"`
 10322  	// NullFields is a list of field names (e.g. "FirstAndThirdPartyAudiences") to
 10323  	// include in API requests with the JSON null value. By default, fields with
 10324  	// empty values are omitted from API requests. See
 10325  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10326  	NullFields []string `json:"-"`
 10327  }
 10328  
 10329  func (s *ListFirstAndThirdPartyAudiencesResponse) MarshalJSON() ([]byte, error) {
 10330  	type NoMethod ListFirstAndThirdPartyAudiencesResponse
 10331  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10332  }
 10333  
 10334  type ListFloodlightActivitiesResponse struct {
 10335  	// FloodlightActivities: The list of Floodlight activities. This list will be
 10336  	// absent if empty.
 10337  	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
 10338  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10339  	// in the page_token field in the subsequent call to `ListFloodlightActivities`
 10340  	// method to retrieve the next page of results.
 10341  	NextPageToken string `json:"nextPageToken,omitempty"`
 10342  
 10343  	// ServerResponse contains the HTTP response code and headers from the server.
 10344  	googleapi.ServerResponse `json:"-"`
 10345  	// ForceSendFields is a list of field names (e.g. "FloodlightActivities") to
 10346  	// unconditionally include in API requests. By default, fields with empty or
 10347  	// default values are omitted from API requests. See
 10348  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10349  	// details.
 10350  	ForceSendFields []string `json:"-"`
 10351  	// NullFields is a list of field names (e.g. "FloodlightActivities") to include
 10352  	// in API requests with the JSON null value. By default, fields with empty
 10353  	// values are omitted from API requests. See
 10354  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10355  	NullFields []string `json:"-"`
 10356  }
 10357  
 10358  func (s *ListFloodlightActivitiesResponse) MarshalJSON() ([]byte, error) {
 10359  	type NoMethod ListFloodlightActivitiesResponse
 10360  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10361  }
 10362  
 10363  type ListGoogleAudiencesResponse struct {
 10364  	// GoogleAudiences: The list of Google audiences. This list will be absent if
 10365  	// empty.
 10366  	GoogleAudiences []*GoogleAudience `json:"googleAudiences,omitempty"`
 10367  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10368  	// in the page_token field in the subsequent call to `ListGoogleAudiences`
 10369  	// method to retrieve the next page of results.
 10370  	NextPageToken string `json:"nextPageToken,omitempty"`
 10371  
 10372  	// ServerResponse contains the HTTP response code and headers from the server.
 10373  	googleapi.ServerResponse `json:"-"`
 10374  	// ForceSendFields is a list of field names (e.g. "GoogleAudiences") to
 10375  	// unconditionally include in API requests. By default, fields with empty or
 10376  	// default values are omitted from API requests. See
 10377  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10378  	// details.
 10379  	ForceSendFields []string `json:"-"`
 10380  	// NullFields is a list of field names (e.g. "GoogleAudiences") to include in
 10381  	// API requests with the JSON null value. By default, fields with empty values
 10382  	// are omitted from API requests. See
 10383  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10384  	NullFields []string `json:"-"`
 10385  }
 10386  
 10387  func (s *ListGoogleAudiencesResponse) MarshalJSON() ([]byte, error) {
 10388  	type NoMethod ListGoogleAudiencesResponse
 10389  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10390  }
 10391  
 10392  type ListGuaranteedOrdersResponse struct {
 10393  	// GuaranteedOrders: The list of guaranteed orders. This list will be absent if
 10394  	// empty.
 10395  	GuaranteedOrders []*GuaranteedOrder `json:"guaranteedOrders,omitempty"`
 10396  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10397  	// in the page_token field in the subsequent call to `ListGuaranteedOrders`
 10398  	// method to retrieve the next page of results.
 10399  	NextPageToken string `json:"nextPageToken,omitempty"`
 10400  
 10401  	// ServerResponse contains the HTTP response code and headers from the server.
 10402  	googleapi.ServerResponse `json:"-"`
 10403  	// ForceSendFields is a list of field names (e.g. "GuaranteedOrders") to
 10404  	// unconditionally include in API requests. By default, fields with empty or
 10405  	// default values are omitted from API requests. See
 10406  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10407  	// details.
 10408  	ForceSendFields []string `json:"-"`
 10409  	// NullFields is a list of field names (e.g. "GuaranteedOrders") to include in
 10410  	// API requests with the JSON null value. By default, fields with empty values
 10411  	// are omitted from API requests. See
 10412  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10413  	NullFields []string `json:"-"`
 10414  }
 10415  
 10416  func (s *ListGuaranteedOrdersResponse) MarshalJSON() ([]byte, error) {
 10417  	type NoMethod ListGuaranteedOrdersResponse
 10418  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10419  }
 10420  
 10421  type ListInsertionOrderAssignedTargetingOptionsResponse struct {
 10422  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 10423  	// will be absent if empty.
 10424  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 10425  	// NextPageToken: A token identifying the next page of results. This value
 10426  	// should be specified as the pageToken in a subsequent
 10427  	// ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of
 10428  	// results. This token will be absent if there are no more
 10429  	// assigned_targeting_options to return.
 10430  	NextPageToken string `json:"nextPageToken,omitempty"`
 10431  
 10432  	// ServerResponse contains the HTTP response code and headers from the server.
 10433  	googleapi.ServerResponse `json:"-"`
 10434  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 10435  	// to unconditionally include in API requests. By default, fields with empty or
 10436  	// default values are omitted from API requests. See
 10437  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10438  	// details.
 10439  	ForceSendFields []string `json:"-"`
 10440  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 10441  	// include in API requests with the JSON null value. By default, fields with
 10442  	// empty values are omitted from API requests. See
 10443  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10444  	NullFields []string `json:"-"`
 10445  }
 10446  
 10447  func (s *ListInsertionOrderAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 10448  	type NoMethod ListInsertionOrderAssignedTargetingOptionsResponse
 10449  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10450  }
 10451  
 10452  type ListInsertionOrdersResponse struct {
 10453  	// InsertionOrders: The list of insertion orders. This list will be absent if
 10454  	// empty.
 10455  	InsertionOrders []*InsertionOrder `json:"insertionOrders,omitempty"`
 10456  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10457  	// in the page_token field in the subsequent call to `ListInsertionOrders`
 10458  	// method to retrieve the next page of results.
 10459  	NextPageToken string `json:"nextPageToken,omitempty"`
 10460  
 10461  	// ServerResponse contains the HTTP response code and headers from the server.
 10462  	googleapi.ServerResponse `json:"-"`
 10463  	// ForceSendFields is a list of field names (e.g. "InsertionOrders") to
 10464  	// unconditionally include in API requests. By default, fields with empty or
 10465  	// default values are omitted from API requests. See
 10466  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10467  	// details.
 10468  	ForceSendFields []string `json:"-"`
 10469  	// NullFields is a list of field names (e.g. "InsertionOrders") to include in
 10470  	// API requests with the JSON null value. By default, fields with empty values
 10471  	// are omitted from API requests. See
 10472  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10473  	NullFields []string `json:"-"`
 10474  }
 10475  
 10476  func (s *ListInsertionOrdersResponse) MarshalJSON() ([]byte, error) {
 10477  	type NoMethod ListInsertionOrdersResponse
 10478  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10479  }
 10480  
 10481  // ListInventorySourceGroupsResponse: Response message for
 10482  // InventorySourceGroupService.ListInventorySourceGroups.
 10483  type ListInventorySourceGroupsResponse struct {
 10484  	// InventorySourceGroups: The list of inventory source groups. This list will
 10485  	// be absent if empty.
 10486  	InventorySourceGroups []*InventorySourceGroup `json:"inventorySourceGroups,omitempty"`
 10487  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10488  	// in the page_token field in the subsequent call to
 10489  	// `ListInventorySourceGroups` method to retrieve the next page of results.
 10490  	NextPageToken string `json:"nextPageToken,omitempty"`
 10491  
 10492  	// ServerResponse contains the HTTP response code and headers from the server.
 10493  	googleapi.ServerResponse `json:"-"`
 10494  	// ForceSendFields is a list of field names (e.g. "InventorySourceGroups") to
 10495  	// unconditionally include in API requests. By default, fields with empty or
 10496  	// default values are omitted from API requests. See
 10497  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10498  	// details.
 10499  	ForceSendFields []string `json:"-"`
 10500  	// NullFields is a list of field names (e.g. "InventorySourceGroups") to
 10501  	// include in API requests with the JSON null value. By default, fields with
 10502  	// empty values are omitted from API requests. See
 10503  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10504  	NullFields []string `json:"-"`
 10505  }
 10506  
 10507  func (s *ListInventorySourceGroupsResponse) MarshalJSON() ([]byte, error) {
 10508  	type NoMethod ListInventorySourceGroupsResponse
 10509  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10510  }
 10511  
 10512  type ListInventorySourcesResponse struct {
 10513  	// InventorySources: The list of inventory sources. This list will be absent if
 10514  	// empty.
 10515  	InventorySources []*InventorySource `json:"inventorySources,omitempty"`
 10516  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10517  	// in the page_token field in the subsequent call to `ListInventorySources`
 10518  	// method to retrieve the next page of results.
 10519  	NextPageToken string `json:"nextPageToken,omitempty"`
 10520  
 10521  	// ServerResponse contains the HTTP response code and headers from the server.
 10522  	googleapi.ServerResponse `json:"-"`
 10523  	// ForceSendFields is a list of field names (e.g. "InventorySources") to
 10524  	// unconditionally include in API requests. By default, fields with empty or
 10525  	// default values are omitted from API requests. See
 10526  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10527  	// details.
 10528  	ForceSendFields []string `json:"-"`
 10529  	// NullFields is a list of field names (e.g. "InventorySources") to include in
 10530  	// API requests with the JSON null value. By default, fields with empty values
 10531  	// are omitted from API requests. See
 10532  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10533  	NullFields []string `json:"-"`
 10534  }
 10535  
 10536  func (s *ListInventorySourcesResponse) MarshalJSON() ([]byte, error) {
 10537  	type NoMethod ListInventorySourcesResponse
 10538  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10539  }
 10540  
 10541  type ListInvoicesResponse struct {
 10542  	// Invoices: The list of invoices. This list will be absent if empty.
 10543  	Invoices []*Invoice `json:"invoices,omitempty"`
 10544  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10545  	// in the page_token field in the subsequent call to `ListInvoices` method to
 10546  	// retrieve the next page of results. This token will be absent if there are no
 10547  	// more invoices to return.
 10548  	NextPageToken string `json:"nextPageToken,omitempty"`
 10549  
 10550  	// ServerResponse contains the HTTP response code and headers from the server.
 10551  	googleapi.ServerResponse `json:"-"`
 10552  	// ForceSendFields is a list of field names (e.g. "Invoices") to
 10553  	// unconditionally include in API requests. By default, fields with empty or
 10554  	// default values are omitted from API requests. See
 10555  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10556  	// details.
 10557  	ForceSendFields []string `json:"-"`
 10558  	// NullFields is a list of field names (e.g. "Invoices") to include in API
 10559  	// requests with the JSON null value. By default, fields with empty values are
 10560  	// omitted from API requests. See
 10561  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10562  	NullFields []string `json:"-"`
 10563  }
 10564  
 10565  func (s *ListInvoicesResponse) MarshalJSON() ([]byte, error) {
 10566  	type NoMethod ListInvoicesResponse
 10567  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10568  }
 10569  
 10570  // ListLineItemAssignedTargetingOptionsResponse: Response message for
 10571  // ListLineItemAssignedTargetingOptions.
 10572  type ListLineItemAssignedTargetingOptionsResponse struct {
 10573  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 10574  	// will be absent if empty.
 10575  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 10576  	// NextPageToken: A token identifying the next page of results. This value
 10577  	// should be specified as the pageToken in a subsequent
 10578  	// ListLineItemAssignedTargetingOptionsRequest to fetch the next page of
 10579  	// results. This token will be absent if there are no more
 10580  	// assigned_targeting_options to return.
 10581  	NextPageToken string `json:"nextPageToken,omitempty"`
 10582  
 10583  	// ServerResponse contains the HTTP response code and headers from the server.
 10584  	googleapi.ServerResponse `json:"-"`
 10585  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 10586  	// to unconditionally include in API requests. By default, fields with empty or
 10587  	// default values are omitted from API requests. See
 10588  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10589  	// details.
 10590  	ForceSendFields []string `json:"-"`
 10591  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 10592  	// include in API requests with the JSON null value. By default, fields with
 10593  	// empty values are omitted from API requests. See
 10594  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10595  	NullFields []string `json:"-"`
 10596  }
 10597  
 10598  func (s *ListLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 10599  	type NoMethod ListLineItemAssignedTargetingOptionsResponse
 10600  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10601  }
 10602  
 10603  type ListLineItemsResponse struct {
 10604  	// LineItems: The list of line items. This list will be absent if empty.
 10605  	LineItems []*LineItem `json:"lineItems,omitempty"`
 10606  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10607  	// in the page_token field in the subsequent call to `ListLineItems` method to
 10608  	// retrieve the next page of results.
 10609  	NextPageToken string `json:"nextPageToken,omitempty"`
 10610  
 10611  	// ServerResponse contains the HTTP response code and headers from the server.
 10612  	googleapi.ServerResponse `json:"-"`
 10613  	// ForceSendFields is a list of field names (e.g. "LineItems") to
 10614  	// unconditionally include in API requests. By default, fields with empty or
 10615  	// default values are omitted from API requests. See
 10616  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10617  	// details.
 10618  	ForceSendFields []string `json:"-"`
 10619  	// NullFields is a list of field names (e.g. "LineItems") to include in API
 10620  	// requests with the JSON null value. By default, fields with empty values are
 10621  	// omitted from API requests. See
 10622  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10623  	NullFields []string `json:"-"`
 10624  }
 10625  
 10626  func (s *ListLineItemsResponse) MarshalJSON() ([]byte, error) {
 10627  	type NoMethod ListLineItemsResponse
 10628  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10629  }
 10630  
 10631  type ListLocationListsResponse struct {
 10632  	// LocationLists: The list of location lists. This list will be absent if
 10633  	// empty.
 10634  	LocationLists []*LocationList `json:"locationLists,omitempty"`
 10635  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10636  	// in the page_token field in the subsequent call to `ListLocationLists` method
 10637  	// to retrieve the next page of results.
 10638  	NextPageToken string `json:"nextPageToken,omitempty"`
 10639  
 10640  	// ServerResponse contains the HTTP response code and headers from the server.
 10641  	googleapi.ServerResponse `json:"-"`
 10642  	// ForceSendFields is a list of field names (e.g. "LocationLists") to
 10643  	// unconditionally include in API requests. By default, fields with empty or
 10644  	// default values are omitted from API requests. See
 10645  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10646  	// details.
 10647  	ForceSendFields []string `json:"-"`
 10648  	// NullFields is a list of field names (e.g. "LocationLists") to include in API
 10649  	// requests with the JSON null value. By default, fields with empty values are
 10650  	// omitted from API requests. See
 10651  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10652  	NullFields []string `json:"-"`
 10653  }
 10654  
 10655  func (s *ListLocationListsResponse) MarshalJSON() ([]byte, error) {
 10656  	type NoMethod ListLocationListsResponse
 10657  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10658  }
 10659  
 10660  type ListManualTriggersResponse struct {
 10661  	// ManualTriggers: The list of manual triggers. This list will be absent if
 10662  	// empty.
 10663  	ManualTriggers []*ManualTrigger `json:"manualTriggers,omitempty"`
 10664  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10665  	// in the page_token field in the subsequent call to `ListManualTriggers`
 10666  	// method to retrieve the next page of results.
 10667  	NextPageToken string `json:"nextPageToken,omitempty"`
 10668  
 10669  	// ServerResponse contains the HTTP response code and headers from the server.
 10670  	googleapi.ServerResponse `json:"-"`
 10671  	// ForceSendFields is a list of field names (e.g. "ManualTriggers") to
 10672  	// unconditionally include in API requests. By default, fields with empty or
 10673  	// default values are omitted from API requests. See
 10674  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10675  	// details.
 10676  	ForceSendFields []string `json:"-"`
 10677  	// NullFields is a list of field names (e.g. "ManualTriggers") to include in
 10678  	// API requests with the JSON null value. By default, fields with empty values
 10679  	// are omitted from API requests. See
 10680  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10681  	NullFields []string `json:"-"`
 10682  }
 10683  
 10684  func (s *ListManualTriggersResponse) MarshalJSON() ([]byte, error) {
 10685  	type NoMethod ListManualTriggersResponse
 10686  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10687  }
 10688  
 10689  // ListNegativeKeywordListsResponse: Response message for
 10690  // NegativeKeywordListService.ListNegativeKeywordLists.
 10691  type ListNegativeKeywordListsResponse struct {
 10692  	// NegativeKeywordLists: The list of negative keyword lists. This list will be
 10693  	// absent if empty.
 10694  	NegativeKeywordLists []*NegativeKeywordList `json:"negativeKeywordLists,omitempty"`
 10695  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10696  	// in the page_token field in the subsequent call to `ListNegativeKeywordLists`
 10697  	// method to retrieve the next page of results.
 10698  	NextPageToken string `json:"nextPageToken,omitempty"`
 10699  
 10700  	// ServerResponse contains the HTTP response code and headers from the server.
 10701  	googleapi.ServerResponse `json:"-"`
 10702  	// ForceSendFields is a list of field names (e.g. "NegativeKeywordLists") to
 10703  	// unconditionally include in API requests. By default, fields with empty or
 10704  	// default values are omitted from API requests. See
 10705  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10706  	// details.
 10707  	ForceSendFields []string `json:"-"`
 10708  	// NullFields is a list of field names (e.g. "NegativeKeywordLists") to include
 10709  	// in API requests with the JSON null value. By default, fields with empty
 10710  	// values are omitted from API requests. See
 10711  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10712  	NullFields []string `json:"-"`
 10713  }
 10714  
 10715  func (s *ListNegativeKeywordListsResponse) MarshalJSON() ([]byte, error) {
 10716  	type NoMethod ListNegativeKeywordListsResponse
 10717  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10718  }
 10719  
 10720  // ListNegativeKeywordsResponse: Response message for
 10721  // NegativeKeywordService.ListNegativeKeywords.
 10722  type ListNegativeKeywordsResponse struct {
 10723  	// NegativeKeywords: The list of negative keywords. This list will be absent if
 10724  	// empty.
 10725  	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
 10726  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10727  	// in the page_token field in the subsequent call to `ListNegativeKeywords`
 10728  	// method to retrieve the next page of results.
 10729  	NextPageToken string `json:"nextPageToken,omitempty"`
 10730  
 10731  	// ServerResponse contains the HTTP response code and headers from the server.
 10732  	googleapi.ServerResponse `json:"-"`
 10733  	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
 10734  	// unconditionally include in API requests. By default, fields with empty or
 10735  	// default values are omitted from API requests. See
 10736  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10737  	// details.
 10738  	ForceSendFields []string `json:"-"`
 10739  	// NullFields is a list of field names (e.g. "NegativeKeywords") to include in
 10740  	// API requests with the JSON null value. By default, fields with empty values
 10741  	// are omitted from API requests. See
 10742  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10743  	NullFields []string `json:"-"`
 10744  }
 10745  
 10746  func (s *ListNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
 10747  	type NoMethod ListNegativeKeywordsResponse
 10748  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10749  }
 10750  
 10751  type ListPartnerAssignedTargetingOptionsResponse struct {
 10752  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 10753  	// will be absent if empty.
 10754  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 10755  	// NextPageToken: A token identifying the next page of results. This value
 10756  	// should be specified as the pageToken in a subsequent
 10757  	// ListPartnerAssignedTargetingOptionsRequest to fetch the next page of
 10758  	// results. This token will be absent if there are no more
 10759  	// assigned_targeting_options to return.
 10760  	NextPageToken string `json:"nextPageToken,omitempty"`
 10761  
 10762  	// ServerResponse contains the HTTP response code and headers from the server.
 10763  	googleapi.ServerResponse `json:"-"`
 10764  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 10765  	// to unconditionally include in API requests. By default, fields with empty or
 10766  	// default values are omitted from API requests. See
 10767  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10768  	// details.
 10769  	ForceSendFields []string `json:"-"`
 10770  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 10771  	// include in API requests with the JSON null value. By default, fields with
 10772  	// empty values are omitted from API requests. See
 10773  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10774  	NullFields []string `json:"-"`
 10775  }
 10776  
 10777  func (s *ListPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 10778  	type NoMethod ListPartnerAssignedTargetingOptionsResponse
 10779  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10780  }
 10781  
 10782  type ListPartnersResponse struct {
 10783  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10784  	// in the page_token field in the subsequent call to `ListPartners` method to
 10785  	// retrieve the next page of results.
 10786  	NextPageToken string `json:"nextPageToken,omitempty"`
 10787  	// Partners: The list of partners. This list will be absent if empty.
 10788  	Partners []*Partner `json:"partners,omitempty"`
 10789  
 10790  	// ServerResponse contains the HTTP response code and headers from the server.
 10791  	googleapi.ServerResponse `json:"-"`
 10792  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 10793  	// unconditionally include in API requests. By default, fields with empty or
 10794  	// default values are omitted from API requests. See
 10795  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10796  	// details.
 10797  	ForceSendFields []string `json:"-"`
 10798  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 10799  	// requests with the JSON null value. By default, fields with empty values are
 10800  	// omitted from API requests. See
 10801  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10802  	NullFields []string `json:"-"`
 10803  }
 10804  
 10805  func (s *ListPartnersResponse) MarshalJSON() ([]byte, error) {
 10806  	type NoMethod ListPartnersResponse
 10807  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10808  }
 10809  
 10810  // ListSitesResponse: Response message for SiteService.ListSites.
 10811  type ListSitesResponse struct {
 10812  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10813  	// in the page_token field in the subsequent call to `ListSites` method to
 10814  	// retrieve the next page of results.
 10815  	NextPageToken string `json:"nextPageToken,omitempty"`
 10816  	// Sites: The list of sites. This list will be absent if empty.
 10817  	Sites []*Site `json:"sites,omitempty"`
 10818  
 10819  	// ServerResponse contains the HTTP response code and headers from the server.
 10820  	googleapi.ServerResponse `json:"-"`
 10821  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 10822  	// unconditionally include in API requests. By default, fields with empty or
 10823  	// default values are omitted from API requests. See
 10824  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10825  	// details.
 10826  	ForceSendFields []string `json:"-"`
 10827  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 10828  	// requests with the JSON null value. By default, fields with empty values are
 10829  	// omitted from API requests. See
 10830  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10831  	NullFields []string `json:"-"`
 10832  }
 10833  
 10834  func (s *ListSitesResponse) MarshalJSON() ([]byte, error) {
 10835  	type NoMethod ListSitesResponse
 10836  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10837  }
 10838  
 10839  // ListTargetingOptionsResponse: Response message for ListTargetingOptions.
 10840  type ListTargetingOptionsResponse struct {
 10841  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10842  	// in the page_token field in the subsequent call to `ListTargetingOptions`
 10843  	// method to retrieve the next page of results.
 10844  	NextPageToken string `json:"nextPageToken,omitempty"`
 10845  	// TargetingOptions: The list of targeting options. This list will be absent if
 10846  	// empty.
 10847  	TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"`
 10848  
 10849  	// ServerResponse contains the HTTP response code and headers from the server.
 10850  	googleapi.ServerResponse `json:"-"`
 10851  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 10852  	// unconditionally include in API requests. By default, fields with empty or
 10853  	// default values are omitted from API requests. See
 10854  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10855  	// details.
 10856  	ForceSendFields []string `json:"-"`
 10857  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 10858  	// requests with the JSON null value. By default, fields with empty values are
 10859  	// omitted from API requests. See
 10860  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10861  	NullFields []string `json:"-"`
 10862  }
 10863  
 10864  func (s *ListTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 10865  	type NoMethod ListTargetingOptionsResponse
 10866  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10867  }
 10868  
 10869  type ListUsersResponse struct {
 10870  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10871  	// in the page_token field in the subsequent call to `ListUsers` method to
 10872  	// retrieve the next page of results. This token will be absent if there are no
 10873  	// more results to return.
 10874  	NextPageToken string `json:"nextPageToken,omitempty"`
 10875  	// Users: The list of users. This list will be absent if empty.
 10876  	Users []*User `json:"users,omitempty"`
 10877  
 10878  	// ServerResponse contains the HTTP response code and headers from the server.
 10879  	googleapi.ServerResponse `json:"-"`
 10880  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 10881  	// unconditionally include in API requests. By default, fields with empty or
 10882  	// default values are omitted from API requests. See
 10883  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10884  	// details.
 10885  	ForceSendFields []string `json:"-"`
 10886  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 10887  	// requests with the JSON null value. By default, fields with empty values are
 10888  	// omitted from API requests. See
 10889  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10890  	NullFields []string `json:"-"`
 10891  }
 10892  
 10893  func (s *ListUsersResponse) MarshalJSON() ([]byte, error) {
 10894  	type NoMethod ListUsersResponse
 10895  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10896  }
 10897  
 10898  type ListYoutubeAdGroupAdsResponse struct {
 10899  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10900  	// in the page_token field in the subsequent call to `ListYoutubeAdGroupAds`
 10901  	// method to retrieve the next page of results.
 10902  	NextPageToken string `json:"nextPageToken,omitempty"`
 10903  	// YoutubeAdGroupAds: The list of ad group ads. This list will be absent if
 10904  	// empty.
 10905  	YoutubeAdGroupAds []*YoutubeAdGroupAd `json:"youtubeAdGroupAds,omitempty"`
 10906  
 10907  	// ServerResponse contains the HTTP response code and headers from the server.
 10908  	googleapi.ServerResponse `json:"-"`
 10909  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 10910  	// unconditionally include in API requests. By default, fields with empty or
 10911  	// default values are omitted from API requests. See
 10912  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10913  	// details.
 10914  	ForceSendFields []string `json:"-"`
 10915  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 10916  	// requests with the JSON null value. By default, fields with empty values are
 10917  	// omitted from API requests. See
 10918  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10919  	NullFields []string `json:"-"`
 10920  }
 10921  
 10922  func (s *ListYoutubeAdGroupAdsResponse) MarshalJSON() ([]byte, error) {
 10923  	type NoMethod ListYoutubeAdGroupAdsResponse
 10924  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10925  }
 10926  
 10927  // ListYoutubeAdGroupAssignedTargetingOptionsResponse: Response message for
 10928  // ListYoutubeAdGroupAssignedTargetingOptions.
 10929  type ListYoutubeAdGroupAssignedTargetingOptionsResponse struct {
 10930  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 10931  	// will be absent if empty.
 10932  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 10933  	// NextPageToken: A token identifying the next page of results. This value
 10934  	// should be specified as the pageToken in a subsequent
 10935  	// ListYoutubeAdGroupAssignedTargetingOptionsRequest to fetch the next page of
 10936  	// results. This token will be absent if there are no more
 10937  	// assigned_targeting_options to return.
 10938  	NextPageToken string `json:"nextPageToken,omitempty"`
 10939  
 10940  	// ServerResponse contains the HTTP response code and headers from the server.
 10941  	googleapi.ServerResponse `json:"-"`
 10942  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 10943  	// to unconditionally include in API requests. By default, fields with empty or
 10944  	// default values are omitted from API requests. See
 10945  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10946  	// details.
 10947  	ForceSendFields []string `json:"-"`
 10948  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 10949  	// include in API requests with the JSON null value. By default, fields with
 10950  	// empty values are omitted from API requests. See
 10951  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10952  	NullFields []string `json:"-"`
 10953  }
 10954  
 10955  func (s *ListYoutubeAdGroupAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 10956  	type NoMethod ListYoutubeAdGroupAssignedTargetingOptionsResponse
 10957  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10958  }
 10959  
 10960  type ListYoutubeAdGroupsResponse struct {
 10961  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10962  	// in the page_token field in the subsequent call to `ListYoutubeAdGroups`
 10963  	// method to retrieve the next page of results.
 10964  	NextPageToken string `json:"nextPageToken,omitempty"`
 10965  	// YoutubeAdGroups: The list of ad groups. This list will be absent if empty.
 10966  	YoutubeAdGroups []*YoutubeAdGroup `json:"youtubeAdGroups,omitempty"`
 10967  
 10968  	// ServerResponse contains the HTTP response code and headers from the server.
 10969  	googleapi.ServerResponse `json:"-"`
 10970  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 10971  	// unconditionally include in API requests. By default, fields with empty or
 10972  	// default values are omitted from API requests. See
 10973  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10974  	// details.
 10975  	ForceSendFields []string `json:"-"`
 10976  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 10977  	// requests with the JSON null value. By default, fields with empty values are
 10978  	// omitted from API requests. See
 10979  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10980  	NullFields []string `json:"-"`
 10981  }
 10982  
 10983  func (s *ListYoutubeAdGroupsResponse) MarshalJSON() ([]byte, error) {
 10984  	type NoMethod ListYoutubeAdGroupsResponse
 10985  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10986  }
 10987  
 10988  // LocationList: A list of locations used for targeting.
 10989  type LocationList struct {
 10990  	// AdvertiserId: Required. Immutable. The unique ID of the advertiser the
 10991  	// location list belongs to.
 10992  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10993  	// DisplayName: Required. The display name of the location list. Must be UTF-8
 10994  	// encoded with a maximum size of 240 bytes.
 10995  	DisplayName string `json:"displayName,omitempty"`
 10996  	// LocationListId: Output only. The unique ID of the location list. Assigned by
 10997  	// the system.
 10998  	LocationListId int64 `json:"locationListId,omitempty,string"`
 10999  	// LocationType: Required. Immutable. The type of location. All locations in
 11000  	// the list will share this type.
 11001  	//
 11002  	// Possible values:
 11003  	//   "TARGETING_LOCATION_TYPE_UNSPECIFIED" - Default value when type is not
 11004  	// specified or is unknown.
 11005  	//   "TARGETING_LOCATION_TYPE_PROXIMITY" - The type for proximity geo location.
 11006  	//   "TARGETING_LOCATION_TYPE_REGIONAL" - The type for regional geo location.
 11007  	LocationType string `json:"locationType,omitempty"`
 11008  	// Name: Output only. The resource name of the location list.
 11009  	Name string `json:"name,omitempty"`
 11010  
 11011  	// ServerResponse contains the HTTP response code and headers from the server.
 11012  	googleapi.ServerResponse `json:"-"`
 11013  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 11014  	// unconditionally include in API requests. By default, fields with empty or
 11015  	// default values are omitted from API requests. See
 11016  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11017  	// details.
 11018  	ForceSendFields []string `json:"-"`
 11019  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 11020  	// requests with the JSON null value. By default, fields with empty values are
 11021  	// omitted from API requests. See
 11022  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11023  	NullFields []string `json:"-"`
 11024  }
 11025  
 11026  func (s *LocationList) MarshalJSON() ([]byte, error) {
 11027  	type NoMethod LocationList
 11028  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11029  }
 11030  
 11031  // LookbackWindow: Specifies how many days into the past to look when
 11032  // determining whether to record a conversion.
 11033  type LookbackWindow struct {
 11034  	// ClickDays: Lookback window, in days, from the last time a given user clicked
 11035  	// on one of your ads.
 11036  	ClickDays int64 `json:"clickDays,omitempty"`
 11037  	// ImpressionDays: Lookback window, in days, from the last time a given user
 11038  	// viewed one of your ads.
 11039  	ImpressionDays int64 `json:"impressionDays,omitempty"`
 11040  	// ForceSendFields is a list of field names (e.g. "ClickDays") to
 11041  	// unconditionally include in API requests. By default, fields with empty or
 11042  	// default values are omitted from API requests. See
 11043  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11044  	// details.
 11045  	ForceSendFields []string `json:"-"`
 11046  	// NullFields is a list of field names (e.g. "ClickDays") to include in API
 11047  	// requests with the JSON null value. By default, fields with empty values are
 11048  	// omitted from API requests. See
 11049  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11050  	NullFields []string `json:"-"`
 11051  }
 11052  
 11053  func (s *LookbackWindow) MarshalJSON() ([]byte, error) {
 11054  	type NoMethod LookbackWindow
 11055  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11056  }
 11057  
 11058  type LookupInvoiceCurrencyResponse struct {
 11059  	// CurrencyCode: Currency used by the advertiser in ISO 4217 format.
 11060  	CurrencyCode string `json:"currencyCode,omitempty"`
 11061  
 11062  	// ServerResponse contains the HTTP response code and headers from the server.
 11063  	googleapi.ServerResponse `json:"-"`
 11064  	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
 11065  	// unconditionally include in API requests. By default, fields with empty or
 11066  	// default values are omitted from API requests. See
 11067  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11068  	// details.
 11069  	ForceSendFields []string `json:"-"`
 11070  	// NullFields is a list of field names (e.g. "CurrencyCode") to include in API
 11071  	// requests with the JSON null value. By default, fields with empty values are
 11072  	// omitted from API requests. See
 11073  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11074  	NullFields []string `json:"-"`
 11075  }
 11076  
 11077  func (s *LookupInvoiceCurrencyResponse) MarshalJSON() ([]byte, error) {
 11078  	type NoMethod LookupInvoiceCurrencyResponse
 11079  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11080  }
 11081  
 11082  // ManualTrigger: A single manual trigger in Display & Video 360. **Warning:**
 11083  // Line Items using manual triggers no longer serve in Display & Video 360.
 11084  // This resource will sunset on August 1, 2023. Read our feature deprecation
 11085  // announcement (/display-video/api/deprecations#features.manual_triggers) for
 11086  // more information.
 11087  type ManualTrigger struct {
 11088  	// ActivationDurationMinutes: Required. The maximum duration of each activation
 11089  	// in minutes. Must be between 1 and 360 inclusive. After this duration, the
 11090  	// trigger will be automatically deactivated.
 11091  	ActivationDurationMinutes int64 `json:"activationDurationMinutes,omitempty,string"`
 11092  	// AdvertiserId: Required. Immutable. The unique ID of the advertiser that the
 11093  	// manual trigger belongs to.
 11094  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 11095  	// DisplayName: Required. The display name of the manual trigger. Must be UTF-8
 11096  	// encoded with a maximum size of 240 bytes.
 11097  	DisplayName string `json:"displayName,omitempty"`
 11098  	// LatestActivationTime: Output only. The timestamp of the trigger's latest
 11099  	// activation.
 11100  	LatestActivationTime string `json:"latestActivationTime,omitempty"`
 11101  	// Name: Output only. The resource name of the manual trigger.
 11102  	Name string `json:"name,omitempty"`
 11103  	// State: Output only. The state of the manual trigger. Will be set to the
 11104  	// `INACTIVE` state upon creation.
 11105  	//
 11106  	// Possible values:
 11107  	//   "STATE_UNSPECIFIED" - Default value when state is not specified or is
 11108  	// unknown in this version.
 11109  	//   "INACTIVE" - The trigger is currently inactive and ready to be activated.
 11110  	//   "ACTIVE" - The trigger is currently active (activated).
 11111  	State string `json:"state,omitempty"`
 11112  	// TriggerId: Output only. The unique ID of the manual trigger.
 11113  	TriggerId int64 `json:"triggerId,omitempty,string"`
 11114  
 11115  	// ServerResponse contains the HTTP response code and headers from the server.
 11116  	googleapi.ServerResponse `json:"-"`
 11117  	// ForceSendFields is a list of field names (e.g. "ActivationDurationMinutes")
 11118  	// to unconditionally include in API requests. By default, fields with empty or
 11119  	// default values are omitted from API requests. See
 11120  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11121  	// details.
 11122  	ForceSendFields []string `json:"-"`
 11123  	// NullFields is a list of field names (e.g. "ActivationDurationMinutes") to
 11124  	// include in API requests with the JSON null value. By default, fields with
 11125  	// empty values are omitted from API requests. See
 11126  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11127  	NullFields []string `json:"-"`
 11128  }
 11129  
 11130  func (s *ManualTrigger) MarshalJSON() ([]byte, error) {
 11131  	type NoMethod ManualTrigger
 11132  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11133  }
 11134  
 11135  // MastheadAd: Details for a Masthead Ad.
 11136  type MastheadAd struct {
 11137  	// AutoplayVideoDuration: The duration of time the video will autoplay.
 11138  	AutoplayVideoDuration string `json:"autoplayVideoDuration,omitempty"`
 11139  	// AutoplayVideoStartMillisecond: The amount of time in milliseconds after
 11140  	// which the video will start to play.
 11141  	AutoplayVideoStartMillisecond int64 `json:"autoplayVideoStartMillisecond,omitempty,string"`
 11142  	// CallToActionButtonLabel: The text on the call-to-action button.
 11143  	CallToActionButtonLabel string `json:"callToActionButtonLabel,omitempty"`
 11144  	// CallToActionFinalUrl: The destination URL for the call-to-action button.
 11145  	CallToActionFinalUrl string `json:"callToActionFinalUrl,omitempty"`
 11146  	// CallToActionTrackingUrl: The tracking URL for the call-to-action button.
 11147  	CallToActionTrackingUrl string `json:"callToActionTrackingUrl,omitempty"`
 11148  	// CompanionYoutubeVideos: The videos that appear next to the Masthead Ad on
 11149  	// desktop. Can be no more than two.
 11150  	CompanionYoutubeVideos []*YoutubeVideoDetails `json:"companionYoutubeVideos,omitempty"`
 11151  	// Description: The description of the ad.
 11152  	Description string `json:"description,omitempty"`
 11153  	// Headline: The headline of the ad.
 11154  	Headline string `json:"headline,omitempty"`
 11155  	// ShowChannelArt: Whether to show a background or banner that appears at the
 11156  	// top of a YouTube page.
 11157  	ShowChannelArt bool `json:"showChannelArt,omitempty"`
 11158  	// Video: The YouTube video used by the ad.
 11159  	Video *YoutubeVideoDetails `json:"video,omitempty"`
 11160  	// VideoAspectRatio: The aspect ratio of the autoplaying YouTube video on the
 11161  	// Masthead.
 11162  	//
 11163  	// Possible values:
 11164  	//   "VIDEO_ASPECT_RATIO_UNSPECIFIED" - Not specified or unknown.
 11165  	//   "VIDEO_ASPECT_RATIO_WIDESCREEN" - The video is stretched and the top and
 11166  	// bottom are cropped.
 11167  	//   "VIDEO_ASPECT_RATIO_FIXED_16_9" - The video uses a fixed 16:9 aspect
 11168  	// ratio.
 11169  	VideoAspectRatio string `json:"videoAspectRatio,omitempty"`
 11170  	// ForceSendFields is a list of field names (e.g. "AutoplayVideoDuration") to
 11171  	// unconditionally include in API requests. By default, fields with empty or
 11172  	// default values are omitted from API requests. See
 11173  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11174  	// details.
 11175  	ForceSendFields []string `json:"-"`
 11176  	// NullFields is a list of field names (e.g. "AutoplayVideoDuration") to
 11177  	// include in API requests with the JSON null value. By default, fields with
 11178  	// empty values are omitted from API requests. See
 11179  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11180  	NullFields []string `json:"-"`
 11181  }
 11182  
 11183  func (s *MastheadAd) MarshalJSON() ([]byte, error) {
 11184  	type NoMethod MastheadAd
 11185  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11186  }
 11187  
 11188  // MaximizeSpendBidStrategy: A strategy that automatically adjusts the bid to
 11189  // optimize a specified performance goal while spending the full budget.
 11190  type MaximizeSpendBidStrategy struct {
 11191  	// CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used by
 11192  	// this strategy. Only applicable when performance_goal_type is set to
 11193  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
 11194  	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
 11195  	// MaxAverageCpmBidAmountMicros: The maximum average CPM that may be bid, in
 11196  	// micros of the advertiser's currency. Must be greater than or equal to a
 11197  	// billable unit of the given currency. For example, 1500000 represents 1.5
 11198  	// standard units of the currency.
 11199  	MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"`
 11200  	// PerformanceGoalType: Required. The type of the performance goal that the
 11201  	// bidding strategy tries to minimize while spending the full budget.
 11202  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for
 11203  	// this strategy.
 11204  	//
 11205  	// Possible values:
 11206  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value is not
 11207  	// specified or is unknown in this version.
 11208  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action.
 11209  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click.
 11210  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable CPM.
 11211  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom bidding
 11212  	// algorithm.
 11213  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview and
 11214  	// audible views.
 11215  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over 10
 11216  	// secs views.
 11217  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable impressions.
 11218  	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
 11219  	// RaiseBidForDeals: Whether the strategy takes deal floor prices into account.
 11220  	RaiseBidForDeals bool `json:"raiseBidForDeals,omitempty"`
 11221  	// ForceSendFields is a list of field names (e.g. "CustomBiddingAlgorithmId")
 11222  	// to unconditionally include in API requests. By default, fields with empty or
 11223  	// default values are omitted from API requests. See
 11224  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11225  	// details.
 11226  	ForceSendFields []string `json:"-"`
 11227  	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId") to
 11228  	// include in API requests with the JSON null value. By default, fields with
 11229  	// empty values are omitted from API requests. See
 11230  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11231  	NullFields []string `json:"-"`
 11232  }
 11233  
 11234  func (s *MaximizeSpendBidStrategy) MarshalJSON() ([]byte, error) {
 11235  	type NoMethod MaximizeSpendBidStrategy
 11236  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11237  }
 11238  
 11239  // MeasurementConfig: Measurement settings of a partner.
 11240  type MeasurementConfig struct {
 11241  	// Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to CM360.
 11242  	Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"`
 11243  	// Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in CM360
 11244  	// data transfer reports.
 11245  	Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"`
 11246  	// ForceSendFields is a list of field names (e.g.
 11247  	// "Dv360ToCmCostReportingEnabled") to unconditionally include in API requests.
 11248  	// By default, fields with empty or default values are omitted from API
 11249  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
 11250  	// for more details.
 11251  	ForceSendFields []string `json:"-"`
 11252  	// NullFields is a list of field names (e.g. "Dv360ToCmCostReportingEnabled")
 11253  	// to include in API requests with the JSON null value. By default, fields with
 11254  	// empty values are omitted from API requests. See
 11255  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11256  	NullFields []string `json:"-"`
 11257  }
 11258  
 11259  func (s *MeasurementConfig) MarshalJSON() ([]byte, error) {
 11260  	type NoMethod MeasurementConfig
 11261  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11262  }
 11263  
 11264  // MobileApp: A mobile app promoted by a mobile app install line item.
 11265  type MobileApp struct {
 11266  	// AppId: Required. The ID of the app provided by the platform store. Android
 11267  	// apps are identified by the bundle ID used by Android's Play store, such as
 11268  	// `com.google.android.gm`. iOS apps are identified by a nine-digit app ID used
 11269  	// by Apple's App store, such as `422689480`.
 11270  	AppId string `json:"appId,omitempty"`
 11271  	// DisplayName: Output only. The app name.
 11272  	DisplayName string `json:"displayName,omitempty"`
 11273  	// Platform: Output only. The app platform.
 11274  	//
 11275  	// Possible values:
 11276  	//   "PLATFORM_UNSPECIFIED" - Platform is not specified.
 11277  	//   "IOS" - iOS platform.
 11278  	//   "ANDROID" - Android platform.
 11279  	Platform string `json:"platform,omitempty"`
 11280  	// Publisher: Output only. The app publisher.
 11281  	Publisher string `json:"publisher,omitempty"`
 11282  	// ForceSendFields is a list of field names (e.g. "AppId") to unconditionally
 11283  	// include in API requests. By default, fields with empty or default values are
 11284  	// omitted from API requests. See
 11285  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11286  	// details.
 11287  	ForceSendFields []string `json:"-"`
 11288  	// NullFields is a list of field names (e.g. "AppId") to include in API
 11289  	// requests with the JSON null value. By default, fields with empty values are
 11290  	// omitted from API requests. See
 11291  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11292  	NullFields []string `json:"-"`
 11293  }
 11294  
 11295  func (s *MobileApp) MarshalJSON() ([]byte, error) {
 11296  	type NoMethod MobileApp
 11297  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11298  }
 11299  
 11300  // MobileDeviceIdList: Wrapper message for a list of mobile device IDs defining
 11301  // Customer Match audience members.
 11302  type MobileDeviceIdList struct {
 11303  	// Consent: Input only. The consent setting for the users in mobile_device_ids.
 11304  	// Leaving this field unset indicates that consent is not specified. If
 11305  	// ad_user_data or ad_personalization fields are set to
 11306  	// `CONSENT_STATUS_DENIED`, the request will return an error.
 11307  	Consent *Consent `json:"consent,omitempty"`
 11308  	// MobileDeviceIds: A list of mobile device IDs defining Customer Match
 11309  	// audience members. The size of mobile_device_ids mustn't be greater than
 11310  	// 500,000.
 11311  	MobileDeviceIds []string `json:"mobileDeviceIds,omitempty"`
 11312  	// ForceSendFields is a list of field names (e.g. "Consent") to unconditionally
 11313  	// include in API requests. By default, fields with empty or default values are
 11314  	// omitted from API requests. See
 11315  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11316  	// details.
 11317  	ForceSendFields []string `json:"-"`
 11318  	// NullFields is a list of field names (e.g. "Consent") to include in API
 11319  	// requests with the JSON null value. By default, fields with empty values are
 11320  	// omitted from API requests. See
 11321  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11322  	NullFields []string `json:"-"`
 11323  }
 11324  
 11325  func (s *MobileDeviceIdList) MarshalJSON() ([]byte, error) {
 11326  	type NoMethod MobileDeviceIdList
 11327  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11328  }
 11329  
 11330  // Money: Represents an amount of money with its currency type.
 11331  type Money struct {
 11332  	// CurrencyCode: The three-letter currency code defined in ISO 4217.
 11333  	CurrencyCode string `json:"currencyCode,omitempty"`
 11334  	// Nanos: Number of nano (10^-9) units of the amount. The value must be between
 11335  	// -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos`
 11336  	// must be positive or zero. If `units` is zero, `nanos` can be positive, zero,
 11337  	// or negative. If `units` is negative, `nanos` must be negative or zero. For
 11338  	// example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
 11339  	Nanos int64 `json:"nanos,omitempty"`
 11340  	// Units: The whole units of the amount. For example if `currencyCode` is
 11341  	// "USD", then 1 unit is one US dollar.
 11342  	Units int64 `json:"units,omitempty,string"`
 11343  	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
 11344  	// unconditionally include in API requests. By default, fields with empty or
 11345  	// default values are omitted from API requests. See
 11346  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11347  	// details.
 11348  	ForceSendFields []string `json:"-"`
 11349  	// NullFields is a list of field names (e.g. "CurrencyCode") to include in API
 11350  	// requests with the JSON null value. By default, fields with empty values are
 11351  	// omitted from API requests. See
 11352  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11353  	NullFields []string `json:"-"`
 11354  }
 11355  
 11356  func (s *Money) MarshalJSON() ([]byte, error) {
 11357  	type NoMethod Money
 11358  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11359  }
 11360  
 11361  // NativeContentPositionAssignedTargetingOptionDetails: Details for native
 11362  // content position assigned targeting option. This will be populated in the
 11363  // native_content_position_details field when targeting_type is
 11364  // `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options
 11365  // is not supported. Remove all native content position targeting options to
 11366  // achieve this effect.
 11367  type NativeContentPositionAssignedTargetingOptionDetails struct {
 11368  	// ContentPosition: Required. The content position.
 11369  	//
 11370  	// Possible values:
 11371  	//   "NATIVE_CONTENT_POSITION_UNSPECIFIED" - Native content position is not
 11372  	// specified in this version. This enum is a place holder for a default value
 11373  	// and does not represent a real native content position.
 11374  	//   "NATIVE_CONTENT_POSITION_UNKNOWN" - The native content position is
 11375  	// unknown.
 11376  	//   "NATIVE_CONTENT_POSITION_IN_ARTICLE" - Native content position is
 11377  	// in-article, i.e., ads appear between the paragraphs of pages.
 11378  	//   "NATIVE_CONTENT_POSITION_IN_FEED" - Native content position is in-feed,
 11379  	// i.e., ads appear in a scrollable stream of content. A feed is typically
 11380  	// editorial (e.g. a list of articles or news) or listings (e.g. a list of
 11381  	// products or services).
 11382  	//   "NATIVE_CONTENT_POSITION_PERIPHERAL" - Native content position is
 11383  	// peripheral, i.e., ads appear outside of core content on pages, such as the
 11384  	// right- or left-hand side of the page.
 11385  	//   "NATIVE_CONTENT_POSITION_RECOMMENDATION" - Native content position is
 11386  	// recommendation, i.e., ads appear in sections for recommended content.
 11387  	ContentPosition string `json:"contentPosition,omitempty"`
 11388  	// ForceSendFields is a list of field names (e.g. "ContentPosition") to
 11389  	// unconditionally include in API requests. By default, fields with empty or
 11390  	// default values are omitted from API requests. See
 11391  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11392  	// details.
 11393  	ForceSendFields []string `json:"-"`
 11394  	// NullFields is a list of field names (e.g. "ContentPosition") to include in
 11395  	// API requests with the JSON null value. By default, fields with empty values
 11396  	// are omitted from API requests. See
 11397  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11398  	NullFields []string `json:"-"`
 11399  }
 11400  
 11401  func (s *NativeContentPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 11402  	type NoMethod NativeContentPositionAssignedTargetingOptionDetails
 11403  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11404  }
 11405  
 11406  // NativeContentPositionTargetingOptionDetails: Represents a targetable native
 11407  // content position. This will be populated in the
 11408  // native_content_position_details field when targeting_type is
 11409  // `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
 11410  type NativeContentPositionTargetingOptionDetails struct {
 11411  	// ContentPosition: Output only. The content position.
 11412  	//
 11413  	// Possible values:
 11414  	//   "NATIVE_CONTENT_POSITION_UNSPECIFIED" - Native content position is not
 11415  	// specified in this version. This enum is a place holder for a default value
 11416  	// and does not represent a real native content position.
 11417  	//   "NATIVE_CONTENT_POSITION_UNKNOWN" - The native content position is
 11418  	// unknown.
 11419  	//   "NATIVE_CONTENT_POSITION_IN_ARTICLE" - Native content position is
 11420  	// in-article, i.e., ads appear between the paragraphs of pages.
 11421  	//   "NATIVE_CONTENT_POSITION_IN_FEED" - Native content position is in-feed,
 11422  	// i.e., ads appear in a scrollable stream of content. A feed is typically
 11423  	// editorial (e.g. a list of articles or news) or listings (e.g. a list of
 11424  	// products or services).
 11425  	//   "NATIVE_CONTENT_POSITION_PERIPHERAL" - Native content position is
 11426  	// peripheral, i.e., ads appear outside of core content on pages, such as the
 11427  	// right- or left-hand side of the page.
 11428  	//   "NATIVE_CONTENT_POSITION_RECOMMENDATION" - Native content position is
 11429  	// recommendation, i.e., ads appear in sections for recommended content.
 11430  	ContentPosition string `json:"contentPosition,omitempty"`
 11431  	// ForceSendFields is a list of field names (e.g. "ContentPosition") to
 11432  	// unconditionally include in API requests. By default, fields with empty or
 11433  	// default values are omitted from API requests. See
 11434  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11435  	// details.
 11436  	ForceSendFields []string `json:"-"`
 11437  	// NullFields is a list of field names (e.g. "ContentPosition") to include in
 11438  	// API requests with the JSON null value. By default, fields with empty values
 11439  	// are omitted from API requests. See
 11440  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11441  	NullFields []string `json:"-"`
 11442  }
 11443  
 11444  func (s *NativeContentPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 11445  	type NoMethod NativeContentPositionTargetingOptionDetails
 11446  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11447  }
 11448  
 11449  // NegativeKeyword: A negatively targeted keyword that belongs to a negative
 11450  // keyword list.
 11451  type NegativeKeyword struct {
 11452  	// KeywordValue: Required. Immutable. The negatively targeted keyword, for
 11453  	// example `car insurance`. Must be UTF-8 encoded with a maximum size of 255
 11454  	// bytes. Maximum number of characters is 80. Maximum number of words is 10.
 11455  	// Valid characters are restricted to ASCII characters only. The only
 11456  	// URL-escaping permitted is for representing whitespace between words. Leading
 11457  	// or trailing whitespace is ignored.
 11458  	KeywordValue string `json:"keywordValue,omitempty"`
 11459  	// Name: Output only. The resource name of the negative keyword.
 11460  	Name string `json:"name,omitempty"`
 11461  
 11462  	// ServerResponse contains the HTTP response code and headers from the server.
 11463  	googleapi.ServerResponse `json:"-"`
 11464  	// ForceSendFields is a list of field names (e.g. "KeywordValue") to
 11465  	// unconditionally include in API requests. By default, fields with empty or
 11466  	// default values are omitted from API requests. See
 11467  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11468  	// details.
 11469  	ForceSendFields []string `json:"-"`
 11470  	// NullFields is a list of field names (e.g. "KeywordValue") to include in API
 11471  	// requests with the JSON null value. By default, fields with empty values are
 11472  	// omitted from API requests. See
 11473  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11474  	NullFields []string `json:"-"`
 11475  }
 11476  
 11477  func (s *NegativeKeyword) MarshalJSON() ([]byte, error) {
 11478  	type NoMethod NegativeKeyword
 11479  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11480  }
 11481  
 11482  // NegativeKeywordList: A list of negative keywords used for targeting.
 11483  type NegativeKeywordList struct {
 11484  	// AdvertiserId: Output only. The unique ID of the advertiser the negative
 11485  	// keyword list belongs to.
 11486  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 11487  	// DisplayName: Required. The display name of the negative keyword list. Must
 11488  	// be UTF-8 encoded with a maximum size of 255 bytes.
 11489  	DisplayName string `json:"displayName,omitempty"`
 11490  	// Name: Output only. The resource name of the negative keyword list.
 11491  	Name string `json:"name,omitempty"`
 11492  	// NegativeKeywordListId: Output only. The unique ID of the negative keyword
 11493  	// list. Assigned by the system.
 11494  	NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"`
 11495  	// TargetedLineItemCount: Output only. Number of line items that are directly
 11496  	// targeting this negative keyword list.
 11497  	TargetedLineItemCount int64 `json:"targetedLineItemCount,omitempty,string"`
 11498  
 11499  	// ServerResponse contains the HTTP response code and headers from the server.
 11500  	googleapi.ServerResponse `json:"-"`
 11501  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 11502  	// unconditionally include in API requests. By default, fields with empty or
 11503  	// default values are omitted from API requests. See
 11504  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11505  	// details.
 11506  	ForceSendFields []string `json:"-"`
 11507  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 11508  	// requests with the JSON null value. By default, fields with empty values are
 11509  	// omitted from API requests. See
 11510  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11511  	NullFields []string `json:"-"`
 11512  }
 11513  
 11514  func (s *NegativeKeywordList) MarshalJSON() ([]byte, error) {
 11515  	type NoMethod NegativeKeywordList
 11516  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11517  }
 11518  
 11519  // NegativeKeywordListAssignedTargetingOptionDetails: Targeting details for
 11520  // negative keyword list. This will be populated in the details field of an
 11521  // AssignedTargetingOption when targeting_type is
 11522  // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.
 11523  type NegativeKeywordListAssignedTargetingOptionDetails struct {
 11524  	// NegativeKeywordListId: Required. ID of the negative keyword list. Should
 11525  	// refer to the negative_keyword_list_id field of a NegativeKeywordList
 11526  	// resource.
 11527  	NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"`
 11528  	// ForceSendFields is a list of field names (e.g. "NegativeKeywordListId") to
 11529  	// unconditionally include in API requests. By default, fields with empty or
 11530  	// default values are omitted from API requests. See
 11531  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11532  	// details.
 11533  	ForceSendFields []string `json:"-"`
 11534  	// NullFields is a list of field names (e.g. "NegativeKeywordListId") to
 11535  	// include in API requests with the JSON null value. By default, fields with
 11536  	// empty values are omitted from API requests. See
 11537  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11538  	NullFields []string `json:"-"`
 11539  }
 11540  
 11541  func (s *NegativeKeywordListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 11542  	type NoMethod NegativeKeywordListAssignedTargetingOptionDetails
 11543  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11544  }
 11545  
 11546  // NonSkippableAd: Details for a non-skippable ad.
 11547  type NonSkippableAd struct {
 11548  	// CommonInStreamAttribute: Common ad attributes.
 11549  	CommonInStreamAttribute *CommonInStreamAttribute `json:"commonInStreamAttribute,omitempty"`
 11550  	// CustomParameters: The custom parameters to pass custom values to tracking
 11551  	// URL template.
 11552  	CustomParameters map[string]string `json:"customParameters,omitempty"`
 11553  	// ForceSendFields is a list of field names (e.g. "CommonInStreamAttribute") to
 11554  	// unconditionally include in API requests. By default, fields with empty or
 11555  	// default values are omitted from API requests. See
 11556  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11557  	// details.
 11558  	ForceSendFields []string `json:"-"`
 11559  	// NullFields is a list of field names (e.g. "CommonInStreamAttribute") to
 11560  	// include in API requests with the JSON null value. By default, fields with
 11561  	// empty values are omitted from API requests. See
 11562  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11563  	NullFields []string `json:"-"`
 11564  }
 11565  
 11566  func (s *NonSkippableAd) MarshalJSON() ([]byte, error) {
 11567  	type NoMethod NonSkippableAd
 11568  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11569  }
 11570  
 11571  // ObaIcon: OBA Icon for a Creative
 11572  type ObaIcon struct {
 11573  	// ClickTrackingUrl: Required. The click tracking URL of the OBA icon. Only
 11574  	// URLs of the following domains are allowed: * https://info.evidon.com *
 11575  	// https://l.betrad.com
 11576  	ClickTrackingUrl string `json:"clickTrackingUrl,omitempty"`
 11577  	// Dimensions: The dimensions of the OBA icon.
 11578  	Dimensions *Dimensions `json:"dimensions,omitempty"`
 11579  	// LandingPageUrl: Required. The landing page URL of the OBA icon. Only URLs of
 11580  	// the following domains are allowed: * https://info.evidon.com *
 11581  	// https://l.betrad.com
 11582  	LandingPageUrl string `json:"landingPageUrl,omitempty"`
 11583  	// Position: The position of the OBA icon on the creative.
 11584  	//
 11585  	// Possible values:
 11586  	//   "OBA_ICON_POSITION_UNSPECIFIED" - The OBA icon position is not specified.
 11587  	//   "OBA_ICON_POSITION_UPPER_RIGHT" - At the upper right side of the creative.
 11588  	//   "OBA_ICON_POSITION_UPPER_LEFT" - At the upper left side of the creative.
 11589  	//   "OBA_ICON_POSITION_LOWER_RIGHT" - At the lower right side of the creative.
 11590  	//   "OBA_ICON_POSITION_LOWER_LEFT" - At the lower left side of the creative.
 11591  	Position string `json:"position,omitempty"`
 11592  	// Program: The program of the OBA icon. For example: “AdChoices”.
 11593  	Program string `json:"program,omitempty"`
 11594  	// ResourceMimeType: The MIME type of the OBA icon resource.
 11595  	ResourceMimeType string `json:"resourceMimeType,omitempty"`
 11596  	// ResourceUrl: The URL of the OBA icon resource.
 11597  	ResourceUrl string `json:"resourceUrl,omitempty"`
 11598  	// ViewTrackingUrl: Required. The view tracking URL of the OBA icon. Only URLs
 11599  	// of the following domains are allowed: * https://info.evidon.com *
 11600  	// https://l.betrad.com
 11601  	ViewTrackingUrl string `json:"viewTrackingUrl,omitempty"`
 11602  	// ForceSendFields is a list of field names (e.g. "ClickTrackingUrl") to
 11603  	// unconditionally include in API requests. By default, fields with empty or
 11604  	// default values are omitted from API requests. See
 11605  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11606  	// details.
 11607  	ForceSendFields []string `json:"-"`
 11608  	// NullFields is a list of field names (e.g. "ClickTrackingUrl") to include in
 11609  	// API requests with the JSON null value. By default, fields with empty values
 11610  	// are omitted from API requests. See
 11611  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11612  	NullFields []string `json:"-"`
 11613  }
 11614  
 11615  func (s *ObaIcon) MarshalJSON() ([]byte, error) {
 11616  	type NoMethod ObaIcon
 11617  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11618  }
 11619  
 11620  // OmidAssignedTargetingOptionDetails: Represents a targetable Open Measurement
 11621  // enabled inventory type. This will be populated in the details field of an
 11622  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_OMID`.
 11623  type OmidAssignedTargetingOptionDetails struct {
 11624  	// Omid: Required. The type of Open Measurement enabled inventory.
 11625  	//
 11626  	// Possible values:
 11627  	//   "OMID_UNSPECIFIED" - Default value when omid targeting is not specified in
 11628  	// this version.
 11629  	//   "OMID_FOR_MOBILE_DISPLAY_ADS" - Open Measurement enabled mobile display
 11630  	// inventory.
 11631  	Omid string `json:"omid,omitempty"`
 11632  	// ForceSendFields is a list of field names (e.g. "Omid") to unconditionally
 11633  	// include in API requests. By default, fields with empty or default values are
 11634  	// omitted from API requests. See
 11635  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11636  	// details.
 11637  	ForceSendFields []string `json:"-"`
 11638  	// NullFields is a list of field names (e.g. "Omid") to include in API requests
 11639  	// with the JSON null value. By default, fields with empty values are omitted
 11640  	// from API requests. See
 11641  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11642  	NullFields []string `json:"-"`
 11643  }
 11644  
 11645  func (s *OmidAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 11646  	type NoMethod OmidAssignedTargetingOptionDetails
 11647  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11648  }
 11649  
 11650  // OmidTargetingOptionDetails: Represents a targetable Open Measurement enabled
 11651  // inventory type. This will be populated in the omid_details field when
 11652  // targeting_type is `TARGETING_TYPE_OMID`.
 11653  type OmidTargetingOptionDetails struct {
 11654  	// Omid: Output only. The type of Open Measurement enabled inventory.
 11655  	//
 11656  	// Possible values:
 11657  	//   "OMID_UNSPECIFIED" - Default value when omid targeting is not specified in
 11658  	// this version.
 11659  	//   "OMID_FOR_MOBILE_DISPLAY_ADS" - Open Measurement enabled mobile display
 11660  	// inventory.
 11661  	Omid string `json:"omid,omitempty"`
 11662  	// ForceSendFields is a list of field names (e.g. "Omid") to unconditionally
 11663  	// include in API requests. By default, fields with empty or default values are
 11664  	// omitted from API requests. See
 11665  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11666  	// details.
 11667  	ForceSendFields []string `json:"-"`
 11668  	// NullFields is a list of field names (e.g. "Omid") to include in API requests
 11669  	// with the JSON null value. By default, fields with empty values are omitted
 11670  	// from API requests. See
 11671  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11672  	NullFields []string `json:"-"`
 11673  }
 11674  
 11675  func (s *OmidTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 11676  	type NoMethod OmidTargetingOptionDetails
 11677  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11678  }
 11679  
 11680  // OnScreenPositionAssignedTargetingOptionDetails: On screen position targeting
 11681  // option details. This will be populated in the on_screen_position_details
 11682  // field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
 11683  type OnScreenPositionAssignedTargetingOptionDetails struct {
 11684  	// AdType: Output only. The ad type to target. Only applicable to insertion
 11685  	// order targeting and new line items supporting the specified ad type will
 11686  	// inherit this targeting option by default. Possible values are: *
 11687  	// `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when
 11688  	// line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the
 11689  	// setting will be inherited by new line item when line_item_type is
 11690  	// `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
 11691  	//
 11692  	// Possible values:
 11693  	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in this
 11694  	// version.
 11695  	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
 11696  	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
 11697  	// streaming content in video players.
 11698  	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during audio
 11699  	// content.
 11700  	AdType string `json:"adType,omitempty"`
 11701  	// OnScreenPosition: Output only. The on screen position.
 11702  	//
 11703  	// Possible values:
 11704  	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not specified in
 11705  	// this version. This enum is a place holder for a default value and does not
 11706  	// represent a real on screen position.
 11707  	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the screen.
 11708  	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the fold.
 11709  	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the fold.
 11710  	OnScreenPosition string `json:"onScreenPosition,omitempty"`
 11711  	// TargetingOptionId: Required. The targeting_option_id field when
 11712  	// targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
 11713  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 11714  	// ForceSendFields is a list of field names (e.g. "AdType") to unconditionally
 11715  	// include in API requests. By default, fields with empty or default values are
 11716  	// omitted from API requests. See
 11717  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11718  	// details.
 11719  	ForceSendFields []string `json:"-"`
 11720  	// NullFields is a list of field names (e.g. "AdType") to include in API
 11721  	// requests with the JSON null value. By default, fields with empty values are
 11722  	// omitted from API requests. See
 11723  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11724  	NullFields []string `json:"-"`
 11725  }
 11726  
 11727  func (s *OnScreenPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 11728  	type NoMethod OnScreenPositionAssignedTargetingOptionDetails
 11729  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11730  }
 11731  
 11732  // OnScreenPositionTargetingOptionDetails: Represents a targetable on screen
 11733  // position, which could be used by display and video ads. This will be
 11734  // populated in the on_screen_position_details field when targeting_type is
 11735  // `TARGETING_TYPE_ON_SCREEN_POSITION`.
 11736  type OnScreenPositionTargetingOptionDetails struct {
 11737  	// OnScreenPosition: Output only. The on screen position.
 11738  	//
 11739  	// Possible values:
 11740  	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not specified in
 11741  	// this version. This enum is a place holder for a default value and does not
 11742  	// represent a real on screen position.
 11743  	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the screen.
 11744  	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the fold.
 11745  	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the fold.
 11746  	OnScreenPosition string `json:"onScreenPosition,omitempty"`
 11747  	// ForceSendFields is a list of field names (e.g. "OnScreenPosition") to
 11748  	// unconditionally include in API requests. By default, fields with empty or
 11749  	// default values are omitted from API requests. See
 11750  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11751  	// details.
 11752  	ForceSendFields []string `json:"-"`
 11753  	// NullFields is a list of field names (e.g. "OnScreenPosition") to include in
 11754  	// API requests with the JSON null value. By default, fields with empty values
 11755  	// are omitted from API requests. See
 11756  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11757  	NullFields []string `json:"-"`
 11758  }
 11759  
 11760  func (s *OnScreenPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 11761  	type NoMethod OnScreenPositionTargetingOptionDetails
 11762  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11763  }
 11764  
 11765  // OperatingSystemAssignedTargetingOptionDetails: Assigned operating system
 11766  // targeting option details. This will be populated in the
 11767  // operating_system_details field when targeting_type is
 11768  // `TARGETING_TYPE_OPERATING_SYSTEM`.
 11769  type OperatingSystemAssignedTargetingOptionDetails struct {
 11770  	// DisplayName: Output only. The display name of the operating system.
 11771  	DisplayName string `json:"displayName,omitempty"`
 11772  	// Negative: Indicates if this option is being negatively targeted.
 11773  	Negative bool `json:"negative,omitempty"`
 11774  	// TargetingOptionId: Required. The targeting option ID populated in
 11775  	// targeting_option_id field when targeting_type is
 11776  	// `TARGETING_TYPE_OPERATING_SYSTEM`.
 11777  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 11778  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 11779  	// unconditionally include in API requests. By default, fields with empty or
 11780  	// default values are omitted from API requests. See
 11781  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11782  	// details.
 11783  	ForceSendFields []string `json:"-"`
 11784  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 11785  	// requests with the JSON null value. By default, fields with empty values are
 11786  	// omitted from API requests. See
 11787  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11788  	NullFields []string `json:"-"`
 11789  }
 11790  
 11791  func (s *OperatingSystemAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 11792  	type NoMethod OperatingSystemAssignedTargetingOptionDetails
 11793  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11794  }
 11795  
 11796  // OperatingSystemTargetingOptionDetails: Represents a targetable operating
 11797  // system. This will be populated in the operating_system_details field of a
 11798  // TargetingOption when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
 11799  type OperatingSystemTargetingOptionDetails struct {
 11800  	// DisplayName: Output only. The display name of the operating system.
 11801  	DisplayName string `json:"displayName,omitempty"`
 11802  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 11803  	// unconditionally include in API requests. By default, fields with empty or
 11804  	// default values are omitted from API requests. See
 11805  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11806  	// details.
 11807  	ForceSendFields []string `json:"-"`
 11808  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 11809  	// requests with the JSON null value. By default, fields with empty values are
 11810  	// omitted from API requests. See
 11811  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11812  	NullFields []string `json:"-"`
 11813  }
 11814  
 11815  func (s *OperatingSystemTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 11816  	type NoMethod OperatingSystemTargetingOptionDetails
 11817  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11818  }
 11819  
 11820  // Operation: This resource represents a long-running operation that is the
 11821  // result of a network API call.
 11822  type Operation struct {
 11823  	// Done: If the value is `false`, it means the operation is still in progress.
 11824  	// If `true`, the operation is completed, and either `error` or `response` is
 11825  	// available.
 11826  	Done bool `json:"done,omitempty"`
 11827  	// Error: The error result of the operation in case of failure or cancellation.
 11828  	Error *Status `json:"error,omitempty"`
 11829  	// Metadata: Service-specific metadata associated with the operation. It
 11830  	// typically contains progress information and common metadata such as create
 11831  	// time. Some services might not provide such metadata. Any method that returns
 11832  	// a long-running operation should document the metadata type, if any.
 11833  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 11834  	// Name: The server-assigned name, which is only unique within the same service
 11835  	// that originally returns it. If you use the default HTTP mapping, the `name`
 11836  	// should be a resource name ending with `operations/{unique_id}`.
 11837  	Name string `json:"name,omitempty"`
 11838  	// Response: The normal, successful response of the operation. If the original
 11839  	// method returns no data on success, such as `Delete`, the response is
 11840  	// `google.protobuf.Empty`. If the original method is standard
 11841  	// `Get`/`Create`/`Update`, the response should be the resource. For other
 11842  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
 11843  	// original method name. For example, if the original method name is
 11844  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
 11845  	Response googleapi.RawMessage `json:"response,omitempty"`
 11846  
 11847  	// ServerResponse contains the HTTP response code and headers from the server.
 11848  	googleapi.ServerResponse `json:"-"`
 11849  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
 11850  	// include in API requests. By default, fields with empty or default values are
 11851  	// omitted from API requests. See
 11852  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11853  	// details.
 11854  	ForceSendFields []string `json:"-"`
 11855  	// NullFields is a list of field names (e.g. "Done") to include in API requests
 11856  	// with the JSON null value. By default, fields with empty values are omitted
 11857  	// from API requests. See
 11858  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11859  	NullFields []string `json:"-"`
 11860  }
 11861  
 11862  func (s *Operation) MarshalJSON() ([]byte, error) {
 11863  	type NoMethod Operation
 11864  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11865  }
 11866  
 11867  // Pacing: Settings that control the rate at which a budget is spent.
 11868  type Pacing struct {
 11869  	// DailyMaxImpressions: Maximum number of impressions to serve every day.
 11870  	// Applicable when the budget is impression based. Must be greater than 0.
 11871  	DailyMaxImpressions int64 `json:"dailyMaxImpressions,omitempty,string"`
 11872  	// DailyMaxMicros: Maximum currency amount to spend every day in micros of
 11873  	// advertiser's currency. Applicable when the budget is currency based. Must be
 11874  	// greater than 0. For example, for 1.5 standard unit of the currency, set this
 11875  	// field to 1500000. The value assigned will be rounded to whole billable units
 11876  	// for the relevant currency by the following rules: any positive value less
 11877  	// than a single billable unit will be rounded up to one billable unit and any
 11878  	// value larger than a single billable unit will be rounded down to the nearest
 11879  	// billable value. For example, if the currency's billable unit is 0.01, and
 11880  	// this field is set to 10257770, it will round down to 10250000, a value of
 11881  	// 10.25. If set to 505, it will round up to 10000, a value of 0.01.
 11882  	DailyMaxMicros int64 `json:"dailyMaxMicros,omitempty,string"`
 11883  	// PacingPeriod: Required. The time period in which the pacing budget will be
 11884  	// spent. When automatic budget allocation is enabled at the insertion order
 11885  	// via automationType, this field is output only and defaults to
 11886  	// `PACING_PERIOD_FLIGHT`.
 11887  	//
 11888  	// Possible values:
 11889  	//   "PACING_PERIOD_UNSPECIFIED" - Period value is not specified or is unknown
 11890  	// in this version.
 11891  	//   "PACING_PERIOD_DAILY" - The pacing setting will be applied on daily basis.
 11892  	//   "PACING_PERIOD_FLIGHT" - The pacing setting will be applied to the whole
 11893  	// flight duration.
 11894  	PacingPeriod string `json:"pacingPeriod,omitempty"`
 11895  	// PacingType: Required. The type of pacing that defines how the budget amount
 11896  	// will be spent across the pacing_period.
 11897  	//
 11898  	// Possible values:
 11899  	//   "PACING_TYPE_UNSPECIFIED" - Pacing mode value is not specified or is
 11900  	// unknown in this version.
 11901  	//   "PACING_TYPE_AHEAD" - Only applicable to `PACING_PERIOD_FLIGHT` pacing
 11902  	// period. Ahead pacing attempts to spend faster than evenly, to make sure the
 11903  	// entire budget is spent by the end of the flight.
 11904  	//   "PACING_TYPE_ASAP" - Spend all of pacing budget amount as quick as
 11905  	// possible.
 11906  	//   "PACING_TYPE_EVEN" - Spend a consistent budget amount every period of
 11907  	// time.
 11908  	PacingType string `json:"pacingType,omitempty"`
 11909  	// ForceSendFields is a list of field names (e.g. "DailyMaxImpressions") to
 11910  	// unconditionally include in API requests. By default, fields with empty or
 11911  	// default values are omitted from API requests. See
 11912  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11913  	// details.
 11914  	ForceSendFields []string `json:"-"`
 11915  	// NullFields is a list of field names (e.g. "DailyMaxImpressions") to include
 11916  	// in API requests with the JSON null value. By default, fields with empty
 11917  	// values are omitted from API requests. See
 11918  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11919  	NullFields []string `json:"-"`
 11920  }
 11921  
 11922  func (s *Pacing) MarshalJSON() ([]byte, error) {
 11923  	type NoMethod Pacing
 11924  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11925  }
 11926  
 11927  // ParentEntityFilter: A filtering option that filters on selected file types
 11928  // belonging to a chosen set of filter entities.
 11929  type ParentEntityFilter struct {
 11930  	// FileType: Required. File types that will be returned.
 11931  	//
 11932  	// Possible values:
 11933  	//   "FILE_TYPE_UNSPECIFIED" - Default value when type is unspecified or is
 11934  	// unknown in this version.
 11935  	//   "FILE_TYPE_CAMPAIGN" - Campaign.
 11936  	//   "FILE_TYPE_MEDIA_PRODUCT" - Media Product.
 11937  	//   "FILE_TYPE_INSERTION_ORDER" - Insertion Order.
 11938  	//   "FILE_TYPE_LINE_ITEM" - Line Item.
 11939  	//   "FILE_TYPE_AD_GROUP" - YouTube Ad Group.
 11940  	//   "FILE_TYPE_AD" - YouTube Ad.
 11941  	FileType []string `json:"fileType,omitempty"`
 11942  	// FilterIds: The IDs of the specified filter type. This is used to filter
 11943  	// entities to fetch. If filter type is not `FILTER_TYPE_NONE`, at least one ID
 11944  	// must be specified.
 11945  	FilterIds googleapi.Int64s `json:"filterIds,omitempty"`
 11946  	// FilterType: Required. Filter type used to filter fetched entities.
 11947  	//
 11948  	// Possible values:
 11949  	//   "FILTER_TYPE_UNSPECIFIED" - Default value when type is unspecified or is
 11950  	// unknown in this version.
 11951  	//   "FILTER_TYPE_NONE" - If selected, no filter will be applied to the
 11952  	// download. Can only be used if an Advertiser is specified in
 11953  	// CreateSdfDownloadTaskRequest.
 11954  	//   "FILTER_TYPE_ADVERTISER_ID" - Advertiser ID. If selected, all filter IDs
 11955  	// must be Advertiser IDs that belong to the Partner specified in
 11956  	// CreateSdfDownloadTaskRequest.
 11957  	//   "FILTER_TYPE_CAMPAIGN_ID" - Campaign ID. If selected, all filter IDs must
 11958  	// be Campaign IDs that belong to the Advertiser or Partner specified in
 11959  	// CreateSdfDownloadTaskRequest.
 11960  	//   "FILTER_TYPE_MEDIA_PRODUCT_ID" - Media Product ID. If selected, all filter
 11961  	// IDs must be Media Product IDs that belong to the Advertiser or Partner
 11962  	// specified in CreateSdfDownloadTaskRequest. Can only be used for downloading
 11963  	// `FILE_TYPE_MEDIA_PRODUCT`.
 11964  	//   "FILTER_TYPE_INSERTION_ORDER_ID" - Insertion Order ID. If selected, all
 11965  	// filter IDs must be Insertion Order IDs that belong to the Advertiser or
 11966  	// Partner specified in CreateSdfDownloadTaskRequest. Can only be used for
 11967  	// downloading `FILE_TYPE_INSERTION_ORDER`, `FILE_TYPE_LINE_ITEM`,
 11968  	// `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`.
 11969  	//   "FILTER_TYPE_LINE_ITEM_ID" - Line Item ID. If selected, all filter IDs
 11970  	// must be Line Item IDs that belong to the Advertiser or Partner specified in
 11971  	// CreateSdfDownloadTaskRequest. Can only be used for downloading
 11972  	// `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`.
 11973  	FilterType string `json:"filterType,omitempty"`
 11974  	// ForceSendFields is a list of field names (e.g. "FileType") to
 11975  	// unconditionally include in API requests. By default, fields with empty or
 11976  	// default values are omitted from API requests. See
 11977  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11978  	// details.
 11979  	ForceSendFields []string `json:"-"`
 11980  	// NullFields is a list of field names (e.g. "FileType") to include in API
 11981  	// requests with the JSON null value. By default, fields with empty values are
 11982  	// omitted from API requests. See
 11983  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11984  	NullFields []string `json:"-"`
 11985  }
 11986  
 11987  func (s *ParentEntityFilter) MarshalJSON() ([]byte, error) {
 11988  	type NoMethod ParentEntityFilter
 11989  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11990  }
 11991  
 11992  // ParentalStatusAssignedTargetingOptionDetails: Details for assigned parental
 11993  // status targeting option. This will be populated in the details field of an
 11994  // AssignedTargetingOption when targeting_type is
 11995  // `TARGETING_TYPE_PARENTAL_STATUS`.
 11996  type ParentalStatusAssignedTargetingOptionDetails struct {
 11997  	// ParentalStatus: Required. The parental status of the audience.
 11998  	//
 11999  	// Possible values:
 12000  	//   "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status is not
 12001  	// specified in this version. This enum is a place holder for default value and
 12002  	// does not represent a real parental status option.
 12003  	//   "PARENTAL_STATUS_PARENT" - The audience is a parent.
 12004  	//   "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent.
 12005  	//   "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is
 12006  	// unknown.
 12007  	ParentalStatus string `json:"parentalStatus,omitempty"`
 12008  	// ForceSendFields is a list of field names (e.g. "ParentalStatus") to
 12009  	// unconditionally include in API requests. By default, fields with empty or
 12010  	// default values are omitted from API requests. See
 12011  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12012  	// details.
 12013  	ForceSendFields []string `json:"-"`
 12014  	// NullFields is a list of field names (e.g. "ParentalStatus") to include in
 12015  	// API requests with the JSON null value. By default, fields with empty values
 12016  	// are omitted from API requests. See
 12017  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12018  	NullFields []string `json:"-"`
 12019  }
 12020  
 12021  func (s *ParentalStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12022  	type NoMethod ParentalStatusAssignedTargetingOptionDetails
 12023  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12024  }
 12025  
 12026  // ParentalStatusTargetingOptionDetails: Represents a targetable parental
 12027  // status. This will be populated in the parental_status_details field of a
 12028  // TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.
 12029  type ParentalStatusTargetingOptionDetails struct {
 12030  	// ParentalStatus: Output only. The parental status of an audience.
 12031  	//
 12032  	// Possible values:
 12033  	//   "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status is not
 12034  	// specified in this version. This enum is a place holder for default value and
 12035  	// does not represent a real parental status option.
 12036  	//   "PARENTAL_STATUS_PARENT" - The audience is a parent.
 12037  	//   "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent.
 12038  	//   "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is
 12039  	// unknown.
 12040  	ParentalStatus string `json:"parentalStatus,omitempty"`
 12041  	// ForceSendFields is a list of field names (e.g. "ParentalStatus") to
 12042  	// unconditionally include in API requests. By default, fields with empty or
 12043  	// default values are omitted from API requests. See
 12044  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12045  	// details.
 12046  	ForceSendFields []string `json:"-"`
 12047  	// NullFields is a list of field names (e.g. "ParentalStatus") to include in
 12048  	// API requests with the JSON null value. By default, fields with empty values
 12049  	// are omitted from API requests. See
 12050  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12051  	NullFields []string `json:"-"`
 12052  }
 12053  
 12054  func (s *ParentalStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12055  	type NoMethod ParentalStatusTargetingOptionDetails
 12056  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12057  }
 12058  
 12059  // Partner: A single partner in Display & Video 360 (DV360).
 12060  type Partner struct {
 12061  	// AdServerConfig: Ad server related settings of the partner.
 12062  	AdServerConfig *PartnerAdServerConfig `json:"adServerConfig,omitempty"`
 12063  	// DataAccessConfig: Settings that control how partner data may be accessed.
 12064  	DataAccessConfig *PartnerDataAccessConfig `json:"dataAccessConfig,omitempty"`
 12065  	// DisplayName: The display name of the partner. Must be UTF-8 encoded with a
 12066  	// maximum size of 240 bytes.
 12067  	DisplayName string `json:"displayName,omitempty"`
 12068  	// EntityStatus: Output only. The status of the partner.
 12069  	//
 12070  	// Possible values:
 12071  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
 12072  	// or is unknown in this version.
 12073  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
 12074  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
 12075  	// spending are disabled. An entity can be deleted after archived. Deleted
 12076  	// entities cannot be retrieved.
 12077  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
 12078  	// spending are disabled.
 12079  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
 12080  	// entity.
 12081  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
 12082  	// deletion.
 12083  	EntityStatus string `json:"entityStatus,omitempty"`
 12084  	// ExchangeConfig: Settings that control which exchanges are enabled for the
 12085  	// partner.
 12086  	ExchangeConfig *ExchangeConfig `json:"exchangeConfig,omitempty"`
 12087  	// GeneralConfig: General settings of the partner.
 12088  	GeneralConfig *PartnerGeneralConfig `json:"generalConfig,omitempty"`
 12089  	// Name: Output only. The resource name of the partner.
 12090  	Name string `json:"name,omitempty"`
 12091  	// PartnerId: Output only. The unique ID of the partner. Assigned by the
 12092  	// system.
 12093  	PartnerId int64 `json:"partnerId,omitempty,string"`
 12094  	// UpdateTime: Output only. The timestamp when the partner was last updated.
 12095  	// Assigned by the system.
 12096  	UpdateTime string `json:"updateTime,omitempty"`
 12097  
 12098  	// ServerResponse contains the HTTP response code and headers from the server.
 12099  	googleapi.ServerResponse `json:"-"`
 12100  	// ForceSendFields is a list of field names (e.g. "AdServerConfig") to
 12101  	// unconditionally include in API requests. By default, fields with empty or
 12102  	// default values are omitted from API requests. See
 12103  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12104  	// details.
 12105  	ForceSendFields []string `json:"-"`
 12106  	// NullFields is a list of field names (e.g. "AdServerConfig") to include in
 12107  	// API requests with the JSON null value. By default, fields with empty values
 12108  	// are omitted from API requests. See
 12109  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12110  	NullFields []string `json:"-"`
 12111  }
 12112  
 12113  func (s *Partner) MarshalJSON() ([]byte, error) {
 12114  	type NoMethod Partner
 12115  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12116  }
 12117  
 12118  // PartnerAdServerConfig: Ad server related settings of a partner.
 12119  type PartnerAdServerConfig struct {
 12120  	// MeasurementConfig: Measurement settings of a partner.
 12121  	MeasurementConfig *MeasurementConfig `json:"measurementConfig,omitempty"`
 12122  	// ForceSendFields is a list of field names (e.g. "MeasurementConfig") to
 12123  	// unconditionally include in API requests. By default, fields with empty or
 12124  	// default values are omitted from API requests. See
 12125  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12126  	// details.
 12127  	ForceSendFields []string `json:"-"`
 12128  	// NullFields is a list of field names (e.g. "MeasurementConfig") to include in
 12129  	// API requests with the JSON null value. By default, fields with empty values
 12130  	// are omitted from API requests. See
 12131  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12132  	NullFields []string `json:"-"`
 12133  }
 12134  
 12135  func (s *PartnerAdServerConfig) MarshalJSON() ([]byte, error) {
 12136  	type NoMethod PartnerAdServerConfig
 12137  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12138  }
 12139  
 12140  // PartnerCost: Settings that control a partner cost. A partner cost is any
 12141  // type of expense involved in running a campaign, other than the costs of
 12142  // purchasing impressions (which is called the media cost) and using
 12143  // third-party audience segment data (data fee). Some examples of partner costs
 12144  // include the fees for using DV360, a third-party ad server, or a third-party
 12145  // ad serving verification service.
 12146  type PartnerCost struct {
 12147  	// CostType: Required. The type of the partner cost.
 12148  	//
 12149  	// Possible values:
 12150  	//   "PARTNER_COST_TYPE_UNSPECIFIED" - Type value is not specified or is
 12151  	// unknown in this version.
 12152  	//   "PARTNER_COST_TYPE_ADLOOX" - The cost is charged for using Adloox. Billed
 12153  	// by the partner.
 12154  	//   "PARTNER_COST_TYPE_ADLOOX_PREBID" - The cost is charged for using Adloox
 12155  	// Pre-Bid. Billed through DV360.
 12156  	//   "PARTNER_COST_TYPE_ADSAFE" - The cost is charged for using AdSafe. Billed
 12157  	// by the partner.
 12158  	//   "PARTNER_COST_TYPE_ADXPOSE" - The cost is charged for using AdExpose.
 12159  	// Billed by the partner.
 12160  	//   "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE" - The cost is charged for using
 12161  	// Aggregate Knowledge. Billed by the partner.
 12162  	//   "PARTNER_COST_TYPE_AGENCY_TRADING_DESK" - The cost is charged for using an
 12163  	// Agency Trading Desk. Billed by the partner.
 12164  	//   "PARTNER_COST_TYPE_DV360_FEE" - The cost is charged for using DV360.
 12165  	// Billed through DV360.
 12166  	//   "PARTNER_COST_TYPE_COMSCORE_VCE" - The cost is charged for using comScore
 12167  	// vCE. Billed through DV360.
 12168  	//   "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM" - The cost is charged for
 12169  	// using a Data Management Platform. Billed by the partner.
 12170  	//   "PARTNER_COST_TYPE_DEFAULT" - The default cost type. Billed by the
 12171  	// partner.
 12172  	//   "PARTNER_COST_TYPE_DOUBLE_VERIFY" - The cost is charged for using
 12173  	// DoubleVerify. Billed by the partner.
 12174  	//   "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID" - The cost is charged for using
 12175  	// DoubleVerify Pre-Bid. Billed through DV360.
 12176  	//   "PARTNER_COST_TYPE_EVIDON" - The cost is charged for using Evidon. Billed
 12177  	// by the partner.
 12178  	//   "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO" - The cost is charged for
 12179  	// using Integral Ad Science Video. Billed by the partner.
 12180  	//   "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID" - The cost is charged for
 12181  	// using Integral Ad Science Pre-Bid. Billed through DV360.
 12182  	//   "PARTNER_COST_TYPE_MEDIA_COST_DATA" - The cost is charged for using media
 12183  	// cost data. Billed by the partner.
 12184  	//   "PARTNER_COST_TYPE_MOAT_VIDEO" - The cost is charged for using MOAT Video.
 12185  	// Billed by the partner.
 12186  	//   "PARTNER_COST_TYPE_NIELSEN_DAR" - The cost is charged for using Nielsen
 12187  	// Digital Ad Ratings. Billed through DV360.
 12188  	//   "PARTNER_COST_TYPE_SHOP_LOCAL" - The cost is charged for using ShopLocal.
 12189  	// Billed by the partner.
 12190  	//   "PARTNER_COST_TYPE_TERACENT" - The cost is charged for using Teracent.
 12191  	// Billed by the partner.
 12192  	//   "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER" - The cost is charged for using
 12193  	// a third-party ad server. Billed by the partner.
 12194  	//   "PARTNER_COST_TYPE_TRUST_METRICS" - The cost is charged for using
 12195  	// TrustMetrics. Billed by the partner.
 12196  	//   "PARTNER_COST_TYPE_VIZU" - The cost is charged for using Vizu. Billed by
 12197  	// the partner.
 12198  	//   "PARTNER_COST_TYPE_ADLINGO_FEE" - The cost is charged for using AdLingo.
 12199  	// Billed through DV360.
 12200  	//   "PARTNER_COST_TYPE_CUSTOM_FEE_1" - The cost is charged as custom fee 1.
 12201  	// Billed by the partner.
 12202  	//   "PARTNER_COST_TYPE_CUSTOM_FEE_2" - The cost is charged as custom fee 2.
 12203  	// Billed by the partner.
 12204  	//   "PARTNER_COST_TYPE_CUSTOM_FEE_3" - The cost is charged as custom fee 3.
 12205  	// Billed by the partner.
 12206  	//   "PARTNER_COST_TYPE_CUSTOM_FEE_4" - The cost is charged as custom fee 4.
 12207  	// Billed by the partner.
 12208  	//   "PARTNER_COST_TYPE_CUSTOM_FEE_5" - The cost is charged as custom fee 5.
 12209  	// Billed by the partner.
 12210  	//   "PARTNER_COST_TYPE_SCIBIDS_FEE" - The cost is charged for using Scibids.
 12211  	// Billed through DV360. This type is currently only available to certain
 12212  	// customers. Other customers attempting to use this type will receive an
 12213  	// error.
 12214  	CostType string `json:"costType,omitempty"`
 12215  	// FeeAmount: The CPM fee amount in micros of advertiser's currency. Applicable
 12216  	// when the fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be greater than or
 12217  	// equal to 0. For example, for 1.5 standard unit of the advertiser's currency,
 12218  	// set this field to 1500000.
 12219  	FeeAmount int64 `json:"feeAmount,omitempty,string"`
 12220  	// FeePercentageMillis: The media fee percentage in millis (1/1000 of a
 12221  	// percent). Applicable when the fee_type is `PARTNER_FEE_TYPE_MEDIA_FEE`. Must
 12222  	// be greater than or equal to 0. For example: 100 represents 0.1%.
 12223  	FeePercentageMillis int64 `json:"feePercentageMillis,omitempty,string"`
 12224  	// FeeType: Required. The fee type for this partner cost.
 12225  	//
 12226  	// Possible values:
 12227  	//   "PARTNER_COST_FEE_TYPE_UNSPECIFIED" - Value is not specified or is unknown
 12228  	// in this version.
 12229  	//   "PARTNER_COST_FEE_TYPE_CPM_FEE" - The partner cost is a fixed CPM fee. Not
 12230  	// applicable when the partner cost cost_type is one of: *
 12231  	// `PARTNER_COST_TYPE_MEDIA_COST_DATA` * `PARTNER_COST_TYPE_DV360_FEE`.
 12232  	//   "PARTNER_COST_FEE_TYPE_MEDIA_FEE" - The partner cost is a percentage
 12233  	// surcharge based on the media cost. Not applicable when the partner cost_type
 12234  	// is one of: * `PARTNER_COST_TYPE_SHOP_LOCAL` *
 12235  	// `PARTNER_COST_TYPE_TRUST_METRICS` *
 12236  	// `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO` *
 12237  	// `PARTNER_COST_TYPE_MOAT_VIDEO`.
 12238  	FeeType string `json:"feeType,omitempty"`
 12239  	// InvoiceType: The invoice type for this partner cost. * Required when
 12240  	// cost_type is one of: - `PARTNER_COST_TYPE_ADLOOX` -
 12241  	// `PARTNER_COST_TYPE_DOUBLE_VERIFY` - `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`.
 12242  	// * Output only for other types.
 12243  	//
 12244  	// Possible values:
 12245  	//   "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED" - Type value is not specified or
 12246  	// is unknown in this version.
 12247  	//   "PARTNER_COST_INVOICE_TYPE_DV360" - Partner cost is billed through DV360.
 12248  	//   "PARTNER_COST_INVOICE_TYPE_PARTNER" - Partner cost is billed by the
 12249  	// partner.
 12250  	InvoiceType string `json:"invoiceType,omitempty"`
 12251  	// ForceSendFields is a list of field names (e.g. "CostType") to
 12252  	// unconditionally include in API requests. By default, fields with empty or
 12253  	// default values are omitted from API requests. See
 12254  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12255  	// details.
 12256  	ForceSendFields []string `json:"-"`
 12257  	// NullFields is a list of field names (e.g. "CostType") to include in API
 12258  	// requests with the JSON null value. By default, fields with empty values are
 12259  	// omitted from API requests. See
 12260  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12261  	NullFields []string `json:"-"`
 12262  }
 12263  
 12264  func (s *PartnerCost) MarshalJSON() ([]byte, error) {
 12265  	type NoMethod PartnerCost
 12266  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12267  }
 12268  
 12269  // PartnerDataAccessConfig: Settings that control how partner related data may
 12270  // be accessed.
 12271  type PartnerDataAccessConfig struct {
 12272  	// SdfConfig: Structured Data Files (SDF) settings for the partner. The SDF
 12273  	// configuration for the partner.
 12274  	SdfConfig *SdfConfig `json:"sdfConfig,omitempty"`
 12275  	// ForceSendFields is a list of field names (e.g. "SdfConfig") to
 12276  	// unconditionally include in API requests. By default, fields with empty or
 12277  	// default values are omitted from API requests. See
 12278  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12279  	// details.
 12280  	ForceSendFields []string `json:"-"`
 12281  	// NullFields is a list of field names (e.g. "SdfConfig") to include in API
 12282  	// requests with the JSON null value. By default, fields with empty values are
 12283  	// omitted from API requests. See
 12284  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12285  	NullFields []string `json:"-"`
 12286  }
 12287  
 12288  func (s *PartnerDataAccessConfig) MarshalJSON() ([]byte, error) {
 12289  	type NoMethod PartnerDataAccessConfig
 12290  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12291  }
 12292  
 12293  // PartnerGeneralConfig: General settings of a partner.
 12294  type PartnerGeneralConfig struct {
 12295  	// CurrencyCode: Immutable. Partner's currency in ISO 4217 format.
 12296  	CurrencyCode string `json:"currencyCode,omitempty"`
 12297  	// TimeZone: Immutable. The standard TZ database name of the partner's time
 12298  	// zone. For example, `America/New_York`. See more at:
 12299  	// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
 12300  	TimeZone string `json:"timeZone,omitempty"`
 12301  	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
 12302  	// unconditionally include in API requests. By default, fields with empty or
 12303  	// default values are omitted from API requests. See
 12304  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12305  	// details.
 12306  	ForceSendFields []string `json:"-"`
 12307  	// NullFields is a list of field names (e.g. "CurrencyCode") to include in API
 12308  	// requests with the JSON null value. By default, fields with empty values are
 12309  	// omitted from API requests. See
 12310  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12311  	NullFields []string `json:"-"`
 12312  }
 12313  
 12314  func (s *PartnerGeneralConfig) MarshalJSON() ([]byte, error) {
 12315  	type NoMethod PartnerGeneralConfig
 12316  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12317  }
 12318  
 12319  // PartnerRevenueModel: Settings that control how partner revenue is
 12320  // calculated.
 12321  type PartnerRevenueModel struct {
 12322  	// MarkupAmount: Required. The markup amount of the partner revenue model. Must
 12323  	// be greater than or equal to 0. * When the markup_type is set to be
 12324  	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field represents the CPM
 12325  	// markup in micros of advertiser's currency. For example, 1500000 represents
 12326  	// 1.5 standard units of the currency. * When the markup_type is set to be
 12327  	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field represents
 12328  	// the media cost percent markup in millis. For example, 100 represents 0.1%
 12329  	// (decimal 0.001). * When the markup_type is set to be
 12330  	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this field
 12331  	// represents the total media cost percent markup in millis. For example, 100
 12332  	// represents 0.1% (decimal 0.001).
 12333  	MarkupAmount int64 `json:"markupAmount,omitempty,string"`
 12334  	// MarkupType: Required. The markup type of the partner revenue model.
 12335  	//
 12336  	// Possible values:
 12337  	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED" - Type value is not
 12338  	// specified or is unknown in this version.
 12339  	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM" - Calculate the partner revenue
 12340  	// based on a fixed CPM.
 12341  	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP" - Calculate the
 12342  	// partner revenue based on a percentage surcharge of its media cost.
 12343  	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" - Calculate
 12344  	// the partner revenue based on a percentage surcharge of its total media cost,
 12345  	// which includes all partner costs and data costs.
 12346  	MarkupType string `json:"markupType,omitempty"`
 12347  	// ForceSendFields is a list of field names (e.g. "MarkupAmount") to
 12348  	// unconditionally include in API requests. By default, fields with empty or
 12349  	// default values are omitted from API requests. See
 12350  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12351  	// details.
 12352  	ForceSendFields []string `json:"-"`
 12353  	// NullFields is a list of field names (e.g. "MarkupAmount") to include in API
 12354  	// requests with the JSON null value. By default, fields with empty values are
 12355  	// omitted from API requests. See
 12356  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12357  	NullFields []string `json:"-"`
 12358  }
 12359  
 12360  func (s *PartnerRevenueModel) MarshalJSON() ([]byte, error) {
 12361  	type NoMethod PartnerRevenueModel
 12362  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12363  }
 12364  
 12365  // PerformanceGoal: Settings that control the performance goal of a campaign.
 12366  type PerformanceGoal struct {
 12367  	// PerformanceGoalAmountMicros: The goal amount, in micros of the advertiser's
 12368  	// currency. Applicable when performance_goal_type is one of: *
 12369  	// `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` *
 12370  	// `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` *
 12371  	// `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard
 12372  	// units of the currency.
 12373  	PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"`
 12374  	// PerformanceGoalPercentageMicros: The decimal representation of the goal
 12375  	// percentage in micros. Applicable when performance_goal_type is one of: *
 12376  	// `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` *
 12377  	// `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` *
 12378  	// `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE`
 12379  	// * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000
 12380  	// represents 7% (decimal 0.07).
 12381  	PerformanceGoalPercentageMicros int64 `json:"performanceGoalPercentageMicros,omitempty,string"`
 12382  	// PerformanceGoalString: A key performance indicator (KPI) string, which can
 12383  	// be empty. Must be UTF-8 encoded with a length of no more than 100
 12384  	// characters. Applicable when performance_goal_type is set to
 12385  	// `PERFORMANCE_GOAL_TYPE_OTHER`.
 12386  	PerformanceGoalString string `json:"performanceGoalString,omitempty"`
 12387  	// PerformanceGoalType: Required. The type of the performance goal.
 12388  	//
 12389  	// Possible values:
 12390  	//   "PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Performance goal type is not
 12391  	// specified or is unknown in this version.
 12392  	//   "PERFORMANCE_GOAL_TYPE_CPM" - The performance goal is set in CPM (cost per
 12393  	// mille).
 12394  	//   "PERFORMANCE_GOAL_TYPE_CPC" - The performance goal is set in CPC (cost per
 12395  	// click).
 12396  	//   "PERFORMANCE_GOAL_TYPE_CPA" - The performance goal is set in CPA (cost per
 12397  	// action).
 12398  	//   "PERFORMANCE_GOAL_TYPE_CTR" - The performance goal is set in CTR
 12399  	// (click-through rate) percentage.
 12400  	//   "PERFORMANCE_GOAL_TYPE_VIEWABILITY" - The performance goal is set in
 12401  	// Viewability percentage.
 12402  	//   "PERFORMANCE_GOAL_TYPE_CPIAVC" - The performance goal is set as CPIAVC
 12403  	// (cost per impression audible and visible at completion).
 12404  	//   "PERFORMANCE_GOAL_TYPE_CPE" - The performance goal is set in CPE (cost per
 12405  	// engagement).
 12406  	//   "PERFORMANCE_GOAL_TYPE_CLICK_CVR" - The performance goal is set in click
 12407  	// conversion rate (conversions per click) percentage.
 12408  	//   "PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR" - The performance goal is set in
 12409  	// impression conversion rate (conversions per impression) percentage.
 12410  	//   "PERFORMANCE_GOAL_TYPE_VCPM" - The performance goal is set in VCPM (cost
 12411  	// per thousand viewable impressions).
 12412  	//   "PERFORMANCE_GOAL_TYPE_VTR" - The performance goal is set in YouTube view
 12413  	// rate (YouTube views per impression) percentage.
 12414  	//   "PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE" - The performance goal is
 12415  	// set in audio completion rate (complete audio listens per impression)
 12416  	// percentage.
 12417  	//   "PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE" - The performance goal is
 12418  	// set in video completion rate (complete video views per impression)
 12419  	// percentage.
 12420  	//   "PERFORMANCE_GOAL_TYPE_OTHER" - The performance goal is set to Other.
 12421  	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
 12422  	// ForceSendFields is a list of field names (e.g.
 12423  	// "PerformanceGoalAmountMicros") to unconditionally include in API requests.
 12424  	// By default, fields with empty or default values are omitted from API
 12425  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
 12426  	// for more details.
 12427  	ForceSendFields []string `json:"-"`
 12428  	// NullFields is a list of field names (e.g. "PerformanceGoalAmountMicros") to
 12429  	// include in API requests with the JSON null value. By default, fields with
 12430  	// empty values are omitted from API requests. See
 12431  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12432  	NullFields []string `json:"-"`
 12433  }
 12434  
 12435  func (s *PerformanceGoal) MarshalJSON() ([]byte, error) {
 12436  	type NoMethod PerformanceGoal
 12437  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12438  }
 12439  
 12440  // PerformanceGoalBidStrategy: A strategy that automatically adjusts the bid to
 12441  // meet or beat a specified performance goal.
 12442  type PerformanceGoalBidStrategy struct {
 12443  	// CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used by
 12444  	// this strategy. Only applicable when performance_goal_type is set to
 12445  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
 12446  	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
 12447  	// MaxAverageCpmBidAmountMicros: The maximum average CPM that may be bid, in
 12448  	// micros of the advertiser's currency. Must be greater than or equal to a
 12449  	// billable unit of the given currency. Not applicable when
 12450  	// performance_goal_type is set to
 12451  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example, 1500000
 12452  	// represents 1.5 standard units of the currency.
 12453  	MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"`
 12454  	// PerformanceGoalAmountMicros: Required. The performance goal the bidding
 12455  	// strategy will attempt to meet or beat, in micros of the advertiser's
 12456  	// currency or in micro of the ROAS (Return On Advertising Spend) value which
 12457  	// is also based on advertiser's currency. Must be greater than or equal to a
 12458  	// billable unit of the given currency and smaller or equal to upper bounds.
 12459  	// Each performance_goal_type has its upper bound: * when performance_goal_type
 12460  	// is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, upper bound is 10000.00
 12461  	// USD. * when performance_goal_type is
 12462  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00 USD. *
 12463  	// when performance_goal_type is
 12464  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is
 12465  	// 1000.00 USD. * when performance_goal_type is
 12466  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is 1000.00
 12467  	// and lower bound is 0.01. Example: If set to
 12468  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price will be
 12469  	// based on the probability that each available impression will be viewable.
 12470  	// For example, if viewable CPM target is $2 and an impression is 40% likely to
 12471  	// be viewable, the bid price will be $0.80 CPM (40% of $2). For example,
 12472  	// 1500000 represents 1.5 standard units of the currency or ROAS value.
 12473  	PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"`
 12474  	// PerformanceGoalType: Required. The type of the performance goal that the
 12475  	// bidding strategy will try to meet or beat. For line item level usage, the
 12476  	// value must be one of: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` *
 12477  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` *
 12478  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` *
 12479  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
 12480  	//
 12481  	// Possible values:
 12482  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value is not
 12483  	// specified or is unknown in this version.
 12484  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action.
 12485  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click.
 12486  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable CPM.
 12487  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom bidding
 12488  	// algorithm.
 12489  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview and
 12490  	// audible views.
 12491  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over 10
 12492  	// secs views.
 12493  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable impressions.
 12494  	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
 12495  	// ForceSendFields is a list of field names (e.g. "CustomBiddingAlgorithmId")
 12496  	// to unconditionally include in API requests. By default, fields with empty or
 12497  	// default values are omitted from API requests. See
 12498  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12499  	// details.
 12500  	ForceSendFields []string `json:"-"`
 12501  	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId") to
 12502  	// include in API requests with the JSON null value. By default, fields with
 12503  	// empty values are omitted from API requests. See
 12504  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12505  	NullFields []string `json:"-"`
 12506  }
 12507  
 12508  func (s *PerformanceGoalBidStrategy) MarshalJSON() ([]byte, error) {
 12509  	type NoMethod PerformanceGoalBidStrategy
 12510  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12511  }
 12512  
 12513  // PoiAssignedTargetingOptionDetails: Details for assigned POI targeting
 12514  // option. This will be populated in the details field of an
 12515  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`.
 12516  type PoiAssignedTargetingOptionDetails struct {
 12517  	// DisplayName: Output only. The display name of a POI, e.g. "Times Square",
 12518  	// "Space Needle", followed by its full address if available.
 12519  	DisplayName string `json:"displayName,omitempty"`
 12520  	// Latitude: Output only. Latitude of the POI rounding to 6th decimal place.
 12521  	Latitude float64 `json:"latitude,omitempty"`
 12522  	// Longitude: Output only. Longitude of the POI rounding to 6th decimal place.
 12523  	Longitude float64 `json:"longitude,omitempty"`
 12524  	// ProximityRadiusAmount: Required. The radius of the area around the POI that
 12525  	// will be targeted. The units of the radius are specified by
 12526  	// proximity_radius_unit. Must be 1 to 800 if unit is
 12527  	// `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
 12528  	ProximityRadiusAmount float64 `json:"proximityRadiusAmount,omitempty"`
 12529  	// ProximityRadiusUnit: Required. The unit of distance by which the targeting
 12530  	// radius is measured.
 12531  	//
 12532  	// Possible values:
 12533  	//   "DISTANCE_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in
 12534  	// this version.
 12535  	//   "DISTANCE_UNIT_MILES" - Miles.
 12536  	//   "DISTANCE_UNIT_KILOMETERS" - Kilometers.
 12537  	ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"`
 12538  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
 12539  	// type `TARGETING_TYPE_POI`. Accepted POI targeting option IDs can be
 12540  	// retrieved using `targetingTypes.targetingOptions.search`. If targeting a
 12541  	// specific latitude/longitude coordinate removed from an address or POI name,
 12542  	// you can generate the necessary targeting option ID by rounding the desired
 12543  	// coordinate values to the 6th decimal place, removing the decimals, and
 12544  	// concatenating the string values separated by a semicolon. For example, you
 12545  	// can target the latitude/longitude pair of 40.7414691, -74.003387 using the
 12546  	// targeting option ID "40741469;-74003387". **Upon** **creation, this field
 12547  	// value will be updated to append a semicolon and** **alphanumerical hash
 12548  	// value if only latitude/longitude coordinates are** **provided.**
 12549  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 12550  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 12551  	// unconditionally include in API requests. By default, fields with empty or
 12552  	// default values are omitted from API requests. See
 12553  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12554  	// details.
 12555  	ForceSendFields []string `json:"-"`
 12556  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 12557  	// requests with the JSON null value. By default, fields with empty values are
 12558  	// omitted from API requests. See
 12559  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12560  	NullFields []string `json:"-"`
 12561  }
 12562  
 12563  func (s *PoiAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12564  	type NoMethod PoiAssignedTargetingOptionDetails
 12565  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12566  }
 12567  
 12568  func (s *PoiAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error {
 12569  	type NoMethod PoiAssignedTargetingOptionDetails
 12570  	var s1 struct {
 12571  		Latitude              gensupport.JSONFloat64 `json:"latitude"`
 12572  		Longitude             gensupport.JSONFloat64 `json:"longitude"`
 12573  		ProximityRadiusAmount gensupport.JSONFloat64 `json:"proximityRadiusAmount"`
 12574  		*NoMethod
 12575  	}
 12576  	s1.NoMethod = (*NoMethod)(s)
 12577  	if err := json.Unmarshal(data, &s1); err != nil {
 12578  		return err
 12579  	}
 12580  	s.Latitude = float64(s1.Latitude)
 12581  	s.Longitude = float64(s1.Longitude)
 12582  	s.ProximityRadiusAmount = float64(s1.ProximityRadiusAmount)
 12583  	return nil
 12584  }
 12585  
 12586  // PoiSearchTerms: Search terms for POI targeting options.
 12587  type PoiSearchTerms struct {
 12588  	// PoiQuery: The search query for the desired POI name, street address, or
 12589  	// coordinate of the desired POI. The query can be a prefix, e.g. "Times
 12590  	// squar", "40.7505045,-73.99562", "315 W 44th St", etc.
 12591  	PoiQuery string `json:"poiQuery,omitempty"`
 12592  	// ForceSendFields is a list of field names (e.g. "PoiQuery") to
 12593  	// unconditionally include in API requests. By default, fields with empty or
 12594  	// default values are omitted from API requests. See
 12595  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12596  	// details.
 12597  	ForceSendFields []string `json:"-"`
 12598  	// NullFields is a list of field names (e.g. "PoiQuery") to include in API
 12599  	// requests with the JSON null value. By default, fields with empty values are
 12600  	// omitted from API requests. See
 12601  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12602  	NullFields []string `json:"-"`
 12603  }
 12604  
 12605  func (s *PoiSearchTerms) MarshalJSON() ([]byte, error) {
 12606  	type NoMethod PoiSearchTerms
 12607  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12608  }
 12609  
 12610  // PoiTargetingOptionDetails: Represents a targetable point of interest(POI).
 12611  // This will be populated in the poi_details field when targeting_type is
 12612  // `TARGETING_TYPE_POI`.
 12613  type PoiTargetingOptionDetails struct {
 12614  	// DisplayName: Output only. The display name of a POI(e.g. "Times Square",
 12615  	// "Space Needle"), followed by its full address if available.
 12616  	DisplayName string `json:"displayName,omitempty"`
 12617  	// Latitude: Output only. Latitude of the POI rounding to 6th decimal place.
 12618  	Latitude float64 `json:"latitude,omitempty"`
 12619  	// Longitude: Output only. Longitude of the POI rounding to 6th decimal place.
 12620  	Longitude float64 `json:"longitude,omitempty"`
 12621  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 12622  	// unconditionally include in API requests. By default, fields with empty or
 12623  	// default values are omitted from API requests. See
 12624  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12625  	// details.
 12626  	ForceSendFields []string `json:"-"`
 12627  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 12628  	// requests with the JSON null value. By default, fields with empty values are
 12629  	// omitted from API requests. See
 12630  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12631  	NullFields []string `json:"-"`
 12632  }
 12633  
 12634  func (s *PoiTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12635  	type NoMethod PoiTargetingOptionDetails
 12636  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12637  }
 12638  
 12639  func (s *PoiTargetingOptionDetails) UnmarshalJSON(data []byte) error {
 12640  	type NoMethod PoiTargetingOptionDetails
 12641  	var s1 struct {
 12642  		Latitude  gensupport.JSONFloat64 `json:"latitude"`
 12643  		Longitude gensupport.JSONFloat64 `json:"longitude"`
 12644  		*NoMethod
 12645  	}
 12646  	s1.NoMethod = (*NoMethod)(s)
 12647  	if err := json.Unmarshal(data, &s1); err != nil {
 12648  		return err
 12649  	}
 12650  	s.Latitude = float64(s1.Latitude)
 12651  	s.Longitude = float64(s1.Longitude)
 12652  	return nil
 12653  }
 12654  
 12655  // PrismaConfig: Settings specific to the Mediaocean Prisma tool.
 12656  type PrismaConfig struct {
 12657  	// PrismaCpeCode: Required. Relevant client, product, and estimate codes from
 12658  	// the Mediaocean Prisma tool.
 12659  	PrismaCpeCode *PrismaCpeCode `json:"prismaCpeCode,omitempty"`
 12660  	// PrismaType: Required. The Prisma type.
 12661  	//
 12662  	// Possible values:
 12663  	//   "PRISMA_TYPE_UNSPECIFIED" - Type is not specified or unknown in this
 12664  	// version.
 12665  	//   "PRISMA_TYPE_DISPLAY" - Display type.
 12666  	//   "PRISMA_TYPE_SEARCH" - Search type.
 12667  	//   "PRISMA_TYPE_VIDEO" - Video type.
 12668  	//   "PRISMA_TYPE_AUDIO" - Audio type.
 12669  	//   "PRISMA_TYPE_SOCIAL" - Social type.
 12670  	//   "PRISMA_TYPE_FEE" - Fee type.
 12671  	PrismaType string `json:"prismaType,omitempty"`
 12672  	// Supplier: Required. The entity allocated this budget (DSP, site, etc.).
 12673  	Supplier string `json:"supplier,omitempty"`
 12674  	// ForceSendFields is a list of field names (e.g. "PrismaCpeCode") to
 12675  	// unconditionally include in API requests. By default, fields with empty or
 12676  	// default values are omitted from API requests. See
 12677  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12678  	// details.
 12679  	ForceSendFields []string `json:"-"`
 12680  	// NullFields is a list of field names (e.g. "PrismaCpeCode") to include in API
 12681  	// requests with the JSON null value. By default, fields with empty values are
 12682  	// omitted from API requests. See
 12683  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12684  	NullFields []string `json:"-"`
 12685  }
 12686  
 12687  func (s *PrismaConfig) MarshalJSON() ([]byte, error) {
 12688  	type NoMethod PrismaConfig
 12689  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12690  }
 12691  
 12692  // PrismaCpeCode: Google Payments Center supports searching and filtering on
 12693  // the component fields of this code.
 12694  type PrismaCpeCode struct {
 12695  	// PrismaClientCode: The Prisma client code.
 12696  	PrismaClientCode string `json:"prismaClientCode,omitempty"`
 12697  	// PrismaEstimateCode: The Prisma estimate code.
 12698  	PrismaEstimateCode string `json:"prismaEstimateCode,omitempty"`
 12699  	// PrismaProductCode: The Prisma product code.
 12700  	PrismaProductCode string `json:"prismaProductCode,omitempty"`
 12701  	// ForceSendFields is a list of field names (e.g. "PrismaClientCode") to
 12702  	// unconditionally include in API requests. By default, fields with empty or
 12703  	// default values are omitted from API requests. See
 12704  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12705  	// details.
 12706  	ForceSendFields []string `json:"-"`
 12707  	// NullFields is a list of field names (e.g. "PrismaClientCode") to include in
 12708  	// API requests with the JSON null value. By default, fields with empty values
 12709  	// are omitted from API requests. See
 12710  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12711  	NullFields []string `json:"-"`
 12712  }
 12713  
 12714  func (s *PrismaCpeCode) MarshalJSON() ([]byte, error) {
 12715  	type NoMethod PrismaCpeCode
 12716  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12717  }
 12718  
 12719  // ProductFeedData: The details of product feed.
 12720  type ProductFeedData struct {
 12721  	// IsFeedDisabled: Whether the product feed has opted-out of showing products.
 12722  	IsFeedDisabled bool `json:"isFeedDisabled,omitempty"`
 12723  	// ProductMatchDimensions: A list of dimensions used to match products.
 12724  	ProductMatchDimensions []*ProductMatchDimension `json:"productMatchDimensions,omitempty"`
 12725  	// ProductMatchType: How products are selected by the product feed.
 12726  	//
 12727  	// Possible values:
 12728  	//   "PRODUCT_MATCH_TYPE_UNSPECIFIED" - Not specified or unknown.
 12729  	//   "PRODUCT_MATCH_TYPE_ALL_PRODUCTS" - All the products are matched.
 12730  	//   "PRODUCT_MATCH_TYPE_SPECIFIC_PRODUCTS" - Specific products are selected.
 12731  	//   "PRODUCT_MATCH_TYPE_CUSTOM_LABEL" - Match products by their custom labels.
 12732  	ProductMatchType string `json:"productMatchType,omitempty"`
 12733  	// ForceSendFields is a list of field names (e.g. "IsFeedDisabled") to
 12734  	// unconditionally include in API requests. By default, fields with empty or
 12735  	// default values are omitted from API requests. See
 12736  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12737  	// details.
 12738  	ForceSendFields []string `json:"-"`
 12739  	// NullFields is a list of field names (e.g. "IsFeedDisabled") to include in
 12740  	// API requests with the JSON null value. By default, fields with empty values
 12741  	// are omitted from API requests. See
 12742  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12743  	NullFields []string `json:"-"`
 12744  }
 12745  
 12746  func (s *ProductFeedData) MarshalJSON() ([]byte, error) {
 12747  	type NoMethod ProductFeedData
 12748  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12749  }
 12750  
 12751  // ProductMatchDimension: A dimension used to match products.
 12752  type ProductMatchDimension struct {
 12753  	// CustomLabel: The custom label to match all the products with the label.
 12754  	CustomLabel *CustomLabel `json:"customLabel,omitempty"`
 12755  	// ProductOfferId: The ID of the product offer to match with a product with the
 12756  	// same offer ID.
 12757  	ProductOfferId string `json:"productOfferId,omitempty"`
 12758  	// ForceSendFields is a list of field names (e.g. "CustomLabel") to
 12759  	// unconditionally include in API requests. By default, fields with empty or
 12760  	// default values are omitted from API requests. See
 12761  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12762  	// details.
 12763  	ForceSendFields []string `json:"-"`
 12764  	// NullFields is a list of field names (e.g. "CustomLabel") to include in API
 12765  	// requests with the JSON null value. By default, fields with empty values are
 12766  	// omitted from API requests. See
 12767  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12768  	NullFields []string `json:"-"`
 12769  }
 12770  
 12771  func (s *ProductMatchDimension) MarshalJSON() ([]byte, error) {
 12772  	type NoMethod ProductMatchDimension
 12773  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12774  }
 12775  
 12776  // ProximityLocationListAssignedTargetingOptionDetails: Targeting details for
 12777  // proximity location list. This will be populated in the details field of an
 12778  // AssignedTargetingOption when targeting_type is
 12779  // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
 12780  type ProximityLocationListAssignedTargetingOptionDetails struct {
 12781  	// ProximityLocationListId: Required. ID of the proximity location list. Should
 12782  	// refer to the location_list_id field of a LocationList resource whose type is
 12783  	// `TARGETING_LOCATION_TYPE_PROXIMITY`.
 12784  	ProximityLocationListId int64 `json:"proximityLocationListId,omitempty,string"`
 12785  	// ProximityRadius: Required. Radius expressed in the distance units set in
 12786  	// proximity_radius_unit. This represents the size of the area around a chosen
 12787  	// location that will be targeted. Radius should be between 1 and 500 miles or
 12788  	// 800 kilometers.
 12789  	ProximityRadius float64 `json:"proximityRadius,omitempty"`
 12790  	// ProximityRadiusUnit: Required. Radius distance units.
 12791  	//
 12792  	// Possible values:
 12793  	//   "PROXIMITY_RADIUS_UNIT_UNSPECIFIED" - Default value when distance units is
 12794  	// not specified in this version. This enum is a place holder for default value
 12795  	// and does not represent a real distance unit.
 12796  	//   "PROXIMITY_RADIUS_UNIT_MILES" - Radius distance unit in miles.
 12797  	//   "PROXIMITY_RADIUS_UNIT_KILOMETERS" - Radius distance unit in kilometeres
 12798  	ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"`
 12799  	// ForceSendFields is a list of field names (e.g. "ProximityLocationListId") to
 12800  	// unconditionally include in API requests. By default, fields with empty or
 12801  	// default values are omitted from API requests. See
 12802  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12803  	// details.
 12804  	ForceSendFields []string `json:"-"`
 12805  	// NullFields is a list of field names (e.g. "ProximityLocationListId") to
 12806  	// include in API requests with the JSON null value. By default, fields with
 12807  	// empty values are omitted from API requests. See
 12808  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12809  	NullFields []string `json:"-"`
 12810  }
 12811  
 12812  func (s *ProximityLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12813  	type NoMethod ProximityLocationListAssignedTargetingOptionDetails
 12814  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12815  }
 12816  
 12817  func (s *ProximityLocationListAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error {
 12818  	type NoMethod ProximityLocationListAssignedTargetingOptionDetails
 12819  	var s1 struct {
 12820  		ProximityRadius gensupport.JSONFloat64 `json:"proximityRadius"`
 12821  		*NoMethod
 12822  	}
 12823  	s1.NoMethod = (*NoMethod)(s)
 12824  	if err := json.Unmarshal(data, &s1); err != nil {
 12825  		return err
 12826  	}
 12827  	s.ProximityRadius = float64(s1.ProximityRadius)
 12828  	return nil
 12829  }
 12830  
 12831  // PublisherReviewStatus: Publisher review status for the creative.
 12832  type PublisherReviewStatus struct {
 12833  	// PublisherName: The publisher reviewing the creative.
 12834  	PublisherName string `json:"publisherName,omitempty"`
 12835  	// Status: Status of the publisher review.
 12836  	//
 12837  	// Possible values:
 12838  	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in
 12839  	// this version.
 12840  	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
 12841  	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
 12842  	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
 12843  	Status string `json:"status,omitempty"`
 12844  	// ForceSendFields is a list of field names (e.g. "PublisherName") to
 12845  	// unconditionally include in API requests. By default, fields with empty or
 12846  	// default values are omitted from API requests. See
 12847  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12848  	// details.
 12849  	ForceSendFields []string `json:"-"`
 12850  	// NullFields is a list of field names (e.g. "PublisherName") to include in API
 12851  	// requests with the JSON null value. By default, fields with empty values are
 12852  	// omitted from API requests. See
 12853  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12854  	NullFields []string `json:"-"`
 12855  }
 12856  
 12857  func (s *PublisherReviewStatus) MarshalJSON() ([]byte, error) {
 12858  	type NoMethod PublisherReviewStatus
 12859  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12860  }
 12861  
 12862  // RateDetails: The rate related settings of the inventory source.
 12863  type RateDetails struct {
 12864  	// InventorySourceRateType: The rate type. Acceptable values are
 12865  	// `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`,
 12866  	// `INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and
 12867  	// `INVENTORY_SOURCE_RATE_TYPE_CPD`.
 12868  	//
 12869  	// Possible values:
 12870  	//   "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED" - The rate type is not specified
 12871  	// or is unknown in this version.
 12872  	//   "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED" - The rate type is CPM (Fixed).
 12873  	//   "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR" - The rate type is CPM (Floor).
 12874  	//   "INVENTORY_SOURCE_RATE_TYPE_CPD" - The rate type is Cost per Day.
 12875  	//   "INVENTORY_SOURCE_RATE_TYPE_FLAT" - The rate type is Flat.
 12876  	InventorySourceRateType string `json:"inventorySourceRateType,omitempty"`
 12877  	// MinimumSpend: Output only. The amount that the buyer has committed to
 12878  	// spending on the inventory source up front. Only applicable for guaranteed
 12879  	// inventory sources.
 12880  	MinimumSpend *Money `json:"minimumSpend,omitempty"`
 12881  	// Rate: The rate for the inventory source.
 12882  	Rate *Money `json:"rate,omitempty"`
 12883  	// UnitsPurchased: Required for guaranteed inventory sources. The number of
 12884  	// impressions guaranteed by the seller.
 12885  	UnitsPurchased int64 `json:"unitsPurchased,omitempty,string"`
 12886  	// ForceSendFields is a list of field names (e.g. "InventorySourceRateType") to
 12887  	// unconditionally include in API requests. By default, fields with empty or
 12888  	// default values are omitted from API requests. See
 12889  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12890  	// details.
 12891  	ForceSendFields []string `json:"-"`
 12892  	// NullFields is a list of field names (e.g. "InventorySourceRateType") to
 12893  	// include in API requests with the JSON null value. By default, fields with
 12894  	// empty values are omitted from API requests. See
 12895  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12896  	NullFields []string `json:"-"`
 12897  }
 12898  
 12899  func (s *RateDetails) MarshalJSON() ([]byte, error) {
 12900  	type NoMethod RateDetails
 12901  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12902  }
 12903  
 12904  // RegionalLocationListAssignedTargetingOptionDetails: Targeting details for
 12905  // regional location list. This will be populated in the details field of an
 12906  // AssignedTargetingOption when targeting_type is
 12907  // `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
 12908  type RegionalLocationListAssignedTargetingOptionDetails struct {
 12909  	// Negative: Indicates if this option is being negatively targeted.
 12910  	Negative bool `json:"negative,omitempty"`
 12911  	// RegionalLocationListId: Required. ID of the regional location list. Should
 12912  	// refer to the location_list_id field of a LocationList resource whose type is
 12913  	// `TARGETING_LOCATION_TYPE_REGIONAL`.
 12914  	RegionalLocationListId int64 `json:"regionalLocationListId,omitempty,string"`
 12915  	// ForceSendFields is a list of field names (e.g. "Negative") to
 12916  	// unconditionally include in API requests. By default, fields with empty or
 12917  	// default values are omitted from API requests. See
 12918  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12919  	// details.
 12920  	ForceSendFields []string `json:"-"`
 12921  	// NullFields is a list of field names (e.g. "Negative") to include in API
 12922  	// requests with the JSON null value. By default, fields with empty values are
 12923  	// omitted from API requests. See
 12924  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12925  	NullFields []string `json:"-"`
 12926  }
 12927  
 12928  func (s *RegionalLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12929  	type NoMethod RegionalLocationListAssignedTargetingOptionDetails
 12930  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12931  }
 12932  
 12933  // RemarketingConfig: Settings that control the whether remarketing is enabled
 12934  // for the given identified advertiser.
 12935  type RemarketingConfig struct {
 12936  	// AdvertiserId: Output only. The ID of the advertiser.
 12937  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 12938  	// RemarketingEnabled: Output only. Whether the Floodlight activity remarketing
 12939  	// user list is available to the identified advertiser.
 12940  	RemarketingEnabled bool `json:"remarketingEnabled,omitempty"`
 12941  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 12942  	// unconditionally include in API requests. By default, fields with empty or
 12943  	// default values are omitted from API requests. See
 12944  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12945  	// details.
 12946  	ForceSendFields []string `json:"-"`
 12947  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 12948  	// requests with the JSON null value. By default, fields with empty values are
 12949  	// omitted from API requests. See
 12950  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12951  	NullFields []string `json:"-"`
 12952  }
 12953  
 12954  func (s *RemarketingConfig) MarshalJSON() ([]byte, error) {
 12955  	type NoMethod RemarketingConfig
 12956  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12957  }
 12958  
 12959  // ReplaceNegativeKeywordsRequest: Request message for
 12960  // NegativeKeywordService.ReplaceNegativeKeywords.
 12961  type ReplaceNegativeKeywordsRequest struct {
 12962  	// NewNegativeKeywords: The negative keywords that will replace the existing
 12963  	// keywords in the negative keyword list, specified as a list of
 12964  	// NegativeKeywords.
 12965  	NewNegativeKeywords []*NegativeKeyword `json:"newNegativeKeywords,omitempty"`
 12966  	// ForceSendFields is a list of field names (e.g. "NewNegativeKeywords") to
 12967  	// unconditionally include in API requests. By default, fields with empty or
 12968  	// default values are omitted from API requests. See
 12969  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12970  	// details.
 12971  	ForceSendFields []string `json:"-"`
 12972  	// NullFields is a list of field names (e.g. "NewNegativeKeywords") to include
 12973  	// in API requests with the JSON null value. By default, fields with empty
 12974  	// values are omitted from API requests. See
 12975  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12976  	NullFields []string `json:"-"`
 12977  }
 12978  
 12979  func (s *ReplaceNegativeKeywordsRequest) MarshalJSON() ([]byte, error) {
 12980  	type NoMethod ReplaceNegativeKeywordsRequest
 12981  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12982  }
 12983  
 12984  // ReplaceNegativeKeywordsResponse: Response message for
 12985  // NegativeKeywordService.ReplaceNegativeKeywords.
 12986  type ReplaceNegativeKeywordsResponse struct {
 12987  	// NegativeKeywords: The full list of negative keywords now present in the
 12988  	// negative keyword list.
 12989  	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
 12990  
 12991  	// ServerResponse contains the HTTP response code and headers from the server.
 12992  	googleapi.ServerResponse `json:"-"`
 12993  	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
 12994  	// unconditionally include in API requests. By default, fields with empty or
 12995  	// default values are omitted from API requests. See
 12996  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12997  	// details.
 12998  	ForceSendFields []string `json:"-"`
 12999  	// NullFields is a list of field names (e.g. "NegativeKeywords") to include in
 13000  	// API requests with the JSON null value. By default, fields with empty values
 13001  	// are omitted from API requests. See
 13002  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13003  	NullFields []string `json:"-"`
 13004  }
 13005  
 13006  func (s *ReplaceNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
 13007  	type NoMethod ReplaceNegativeKeywordsResponse
 13008  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13009  }
 13010  
 13011  // ReplaceSitesRequest: Request message for SiteService.ReplaceSites.
 13012  type ReplaceSitesRequest struct {
 13013  	// AdvertiserId: The ID of the advertiser that owns the parent channel.
 13014  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 13015  	// NewSites: The sites that will replace the existing sites assigned to the
 13016  	// channel, specified as a list of Sites.
 13017  	NewSites []*Site `json:"newSites,omitempty"`
 13018  	// PartnerId: The ID of the partner that owns the parent channel.
 13019  	PartnerId int64 `json:"partnerId,omitempty,string"`
 13020  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 13021  	// unconditionally include in API requests. By default, fields with empty or
 13022  	// default values are omitted from API requests. See
 13023  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13024  	// details.
 13025  	ForceSendFields []string `json:"-"`
 13026  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 13027  	// requests with the JSON null value. By default, fields with empty values are
 13028  	// omitted from API requests. See
 13029  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13030  	NullFields []string `json:"-"`
 13031  }
 13032  
 13033  func (s *ReplaceSitesRequest) MarshalJSON() ([]byte, error) {
 13034  	type NoMethod ReplaceSitesRequest
 13035  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13036  }
 13037  
 13038  // ReplaceSitesResponse: Response message for SiteService.ReplaceSites.
 13039  type ReplaceSitesResponse struct {
 13040  	// Sites: The list of sites in the channel after replacing.
 13041  	Sites []*Site `json:"sites,omitempty"`
 13042  
 13043  	// ServerResponse contains the HTTP response code and headers from the server.
 13044  	googleapi.ServerResponse `json:"-"`
 13045  	// ForceSendFields is a list of field names (e.g. "Sites") to unconditionally
 13046  	// include in API requests. By default, fields with empty or default values are
 13047  	// omitted from API requests. See
 13048  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13049  	// details.
 13050  	ForceSendFields []string `json:"-"`
 13051  	// NullFields is a list of field names (e.g. "Sites") to include in API
 13052  	// requests with the JSON null value. By default, fields with empty values are
 13053  	// omitted from API requests. See
 13054  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13055  	NullFields []string `json:"-"`
 13056  }
 13057  
 13058  func (s *ReplaceSitesResponse) MarshalJSON() ([]byte, error) {
 13059  	type NoMethod ReplaceSitesResponse
 13060  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13061  }
 13062  
 13063  // ReviewStatusInfo: Review statuses for the creative.
 13064  type ReviewStatusInfo struct {
 13065  	// ApprovalStatus: Represents the basic approval needed for a creative to begin
 13066  	// serving. Summary of creative_and_landing_page_review_status and
 13067  	// content_and_policy_review_status.
 13068  	//
 13069  	// Possible values:
 13070  	//   "APPROVAL_STATUS_UNSPECIFIED" - Type value is not specified or is unknown
 13071  	// in this version.
 13072  	//   "APPROVAL_STATUS_PENDING_NOT_SERVABLE" - The creative is still under
 13073  	// review and not servable.
 13074  	//   "APPROVAL_STATUS_PENDING_SERVABLE" - The creative has passed creative &
 13075  	// landing page review and is servable, but is awaiting additional content &
 13076  	// policy review.
 13077  	//   "APPROVAL_STATUS_APPROVED_SERVABLE" - Both creative & landing page review
 13078  	// and content & policy review are approved. The creative is servable.
 13079  	//   "APPROVAL_STATUS_REJECTED_NOT_SERVABLE" - There is an issue with the
 13080  	// creative that must be fixed before it can serve.
 13081  	ApprovalStatus string `json:"approvalStatus,omitempty"`
 13082  	// ContentAndPolicyReviewStatus: Content and policy review status for the
 13083  	// creative.
 13084  	//
 13085  	// Possible values:
 13086  	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in
 13087  	// this version.
 13088  	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
 13089  	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
 13090  	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
 13091  	ContentAndPolicyReviewStatus string `json:"contentAndPolicyReviewStatus,omitempty"`
 13092  	// CreativeAndLandingPageReviewStatus: Creative and landing page review status
 13093  	// for the creative.
 13094  	//
 13095  	// Possible values:
 13096  	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in
 13097  	// this version.
 13098  	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
 13099  	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
 13100  	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
 13101  	CreativeAndLandingPageReviewStatus string `json:"creativeAndLandingPageReviewStatus,omitempty"`
 13102  	// ExchangeReviewStatuses: Exchange review statuses for the creative.
 13103  	ExchangeReviewStatuses []*ExchangeReviewStatus `json:"exchangeReviewStatuses,omitempty"`
 13104  	// PublisherReviewStatuses: Publisher review statuses for the creative.
 13105  	PublisherReviewStatuses []*PublisherReviewStatus `json:"publisherReviewStatuses,omitempty"`
 13106  	// ForceSendFields is a list of field names (e.g. "ApprovalStatus") to
 13107  	// unconditionally include in API requests. By default, fields with empty or
 13108  	// default values are omitted from API requests. See
 13109  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13110  	// details.
 13111  	ForceSendFields []string `json:"-"`
 13112  	// NullFields is a list of field names (e.g. "ApprovalStatus") to include in
 13113  	// API requests with the JSON null value. By default, fields with empty values
 13114  	// are omitted from API requests. See
 13115  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13116  	NullFields []string `json:"-"`
 13117  }
 13118  
 13119  func (s *ReviewStatusInfo) MarshalJSON() ([]byte, error) {
 13120  	type NoMethod ReviewStatusInfo
 13121  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13122  }
 13123  
 13124  // ScriptError: An error message for a custom bidding script.
 13125  type ScriptError struct {
 13126  	// Column: The column number in the script where the error was thrown.
 13127  	Column int64 `json:"column,omitempty,string"`
 13128  	// ErrorCode: The type of error.
 13129  	//
 13130  	// Possible values:
 13131  	//   "ERROR_CODE_UNSPECIFIED" - The script error is not specified or is unknown
 13132  	// in this version.
 13133  	//   "SYNTAX_ERROR" - The script has a syntax error.
 13134  	//   "DEPRECATED_SYNTAX" - The script uses deprecated syntax.
 13135  	//   "INTERNAL_ERROR" - Internal errors were thrown while processing the
 13136  	// script.
 13137  	ErrorCode string `json:"errorCode,omitempty"`
 13138  	// ErrorMessage: The detailed error message.
 13139  	ErrorMessage string `json:"errorMessage,omitempty"`
 13140  	// Line: The line number in the script where the error was thrown.
 13141  	Line int64 `json:"line,omitempty,string"`
 13142  	// ForceSendFields is a list of field names (e.g. "Column") to unconditionally
 13143  	// include in API requests. By default, fields with empty or default values are
 13144  	// omitted from API requests. See
 13145  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13146  	// details.
 13147  	ForceSendFields []string `json:"-"`
 13148  	// NullFields is a list of field names (e.g. "Column") to include in API
 13149  	// requests with the JSON null value. By default, fields with empty values are
 13150  	// omitted from API requests. See
 13151  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13152  	NullFields []string `json:"-"`
 13153  }
 13154  
 13155  func (s *ScriptError) MarshalJSON() ([]byte, error) {
 13156  	type NoMethod ScriptError
 13157  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13158  }
 13159  
 13160  // SdfConfig: Structured Data File (SDF) related settings.
 13161  type SdfConfig struct {
 13162  	// AdminEmail: An administrator email address to which the SDF processing
 13163  	// status reports will be sent.
 13164  	AdminEmail string `json:"adminEmail,omitempty"`
 13165  	// Version: Required. The version of SDF being used.
 13166  	//
 13167  	// Possible values:
 13168  	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or is
 13169  	// unknown in this version.
 13170  	//   "SDF_VERSION_3_1" - SDF version 3.1
 13171  	//   "SDF_VERSION_4" - SDF version 4
 13172  	//   "SDF_VERSION_4_1" - SDF version 4.1
 13173  	//   "SDF_VERSION_4_2" - SDF version 4.2
 13174  	//   "SDF_VERSION_5" - SDF version 5.
 13175  	//   "SDF_VERSION_5_1" - SDF version 5.1
 13176  	//   "SDF_VERSION_5_2" - SDF version 5.2
 13177  	//   "SDF_VERSION_5_3" - SDF version 5.3
 13178  	//   "SDF_VERSION_5_4" - SDF version 5.4
 13179  	//   "SDF_VERSION_5_5" - SDF version 5.5
 13180  	//   "SDF_VERSION_6" - SDF version 6
 13181  	//   "SDF_VERSION_7" - SDF version 7. Read the [v7 migration
 13182  	// guide](/display-video/api/structured-data-file/v7-migration-guide) before
 13183  	// migrating to this version.
 13184  	Version string `json:"version,omitempty"`
 13185  	// ForceSendFields is a list of field names (e.g. "AdminEmail") to
 13186  	// unconditionally include in API requests. By default, fields with empty or
 13187  	// default values are omitted from API requests. See
 13188  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13189  	// details.
 13190  	ForceSendFields []string `json:"-"`
 13191  	// NullFields is a list of field names (e.g. "AdminEmail") to include in API
 13192  	// requests with the JSON null value. By default, fields with empty values are
 13193  	// omitted from API requests. See
 13194  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13195  	NullFields []string `json:"-"`
 13196  }
 13197  
 13198  func (s *SdfConfig) MarshalJSON() ([]byte, error) {
 13199  	type NoMethod SdfConfig
 13200  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13201  }
 13202  
 13203  // SdfDownloadTask: Type for the response returned by
 13204  // [SdfDownloadTaskService.CreateSdfDownloadTask].
 13205  type SdfDownloadTask struct {
 13206  	// ResourceName: A resource name to be used in media.download to Download the
 13207  	// prepared files. Resource names have the format
 13208  	// `download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made
 13209  	// available by the long running operation service once the task status is
 13210  	// done.
 13211  	ResourceName string `json:"resourceName,omitempty"`
 13212  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
 13213  	// unconditionally include in API requests. By default, fields with empty or
 13214  	// default values are omitted from API requests. See
 13215  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13216  	// details.
 13217  	ForceSendFields []string `json:"-"`
 13218  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
 13219  	// requests with the JSON null value. By default, fields with empty values are
 13220  	// omitted from API requests. See
 13221  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13222  	NullFields []string `json:"-"`
 13223  }
 13224  
 13225  func (s *SdfDownloadTask) MarshalJSON() ([]byte, error) {
 13226  	type NoMethod SdfDownloadTask
 13227  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13228  }
 13229  
 13230  // SdfDownloadTaskMetadata: Type for the metadata returned by
 13231  // [SdfDownloadTaskService.CreateSdfDownloadTask].
 13232  type SdfDownloadTaskMetadata struct {
 13233  	// CreateTime: The time when the operation was created.
 13234  	CreateTime string `json:"createTime,omitempty"`
 13235  	// EndTime: The time when execution was completed.
 13236  	EndTime string `json:"endTime,omitempty"`
 13237  	// Version: The SDF version used to execute this download task.
 13238  	//
 13239  	// Possible values:
 13240  	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or is
 13241  	// unknown in this version.
 13242  	//   "SDF_VERSION_3_1" - SDF version 3.1
 13243  	//   "SDF_VERSION_4" - SDF version 4
 13244  	//   "SDF_VERSION_4_1" - SDF version 4.1
 13245  	//   "SDF_VERSION_4_2" - SDF version 4.2
 13246  	//   "SDF_VERSION_5" - SDF version 5.
 13247  	//   "SDF_VERSION_5_1" - SDF version 5.1
 13248  	//   "SDF_VERSION_5_2" - SDF version 5.2
 13249  	//   "SDF_VERSION_5_3" - SDF version 5.3
 13250  	//   "SDF_VERSION_5_4" - SDF version 5.4
 13251  	//   "SDF_VERSION_5_5" - SDF version 5.5
 13252  	//   "SDF_VERSION_6" - SDF version 6
 13253  	//   "SDF_VERSION_7" - SDF version 7. Read the [v7 migration
 13254  	// guide](/display-video/api/structured-data-file/v7-migration-guide) before
 13255  	// migrating to this version.
 13256  	Version string `json:"version,omitempty"`
 13257  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
 13258  	// unconditionally include in API requests. By default, fields with empty or
 13259  	// default values are omitted from API requests. See
 13260  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13261  	// details.
 13262  	ForceSendFields []string `json:"-"`
 13263  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
 13264  	// requests with the JSON null value. By default, fields with empty values are
 13265  	// omitted from API requests. See
 13266  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13267  	NullFields []string `json:"-"`
 13268  }
 13269  
 13270  func (s *SdfDownloadTaskMetadata) MarshalJSON() ([]byte, error) {
 13271  	type NoMethod SdfDownloadTaskMetadata
 13272  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13273  }
 13274  
 13275  // SearchTargetingOptionsRequest: Request message for SearchTargetingOptions.
 13276  type SearchTargetingOptionsRequest struct {
 13277  	// AdvertiserId: Required. The Advertiser this request is being made in the
 13278  	// context of.
 13279  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 13280  	// BusinessChainSearchTerms: Search terms for Business Chain targeting options.
 13281  	// Can only be used when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
 13282  	BusinessChainSearchTerms *BusinessChainSearchTerms `json:"businessChainSearchTerms,omitempty"`
 13283  	// GeoRegionSearchTerms: Search terms for geo region targeting options. Can
 13284  	// only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`.
 13285  	GeoRegionSearchTerms *GeoRegionSearchTerms `json:"geoRegionSearchTerms,omitempty"`
 13286  	// PageSize: Requested page size. Must be between `1` and `200`. If unspecified
 13287  	// will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid
 13288  	// value is specified.
 13289  	PageSize int64 `json:"pageSize,omitempty"`
 13290  	// PageToken: A token identifying a page of results the server should return.
 13291  	// Typically, this is the value of next_page_token returned from the previous
 13292  	// call to `SearchTargetingOptions` method. If not specified, the first page of
 13293  	// results will be returned.
 13294  	PageToken string `json:"pageToken,omitempty"`
 13295  	// PoiSearchTerms: Search terms for POI targeting options. Can only be used
 13296  	// when targeting_type is `TARGETING_TYPE_POI`.
 13297  	PoiSearchTerms *PoiSearchTerms `json:"poiSearchTerms,omitempty"`
 13298  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 13299  	// unconditionally include in API requests. By default, fields with empty or
 13300  	// default values are omitted from API requests. See
 13301  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13302  	// details.
 13303  	ForceSendFields []string `json:"-"`
 13304  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 13305  	// requests with the JSON null value. By default, fields with empty values are
 13306  	// omitted from API requests. See
 13307  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13308  	NullFields []string `json:"-"`
 13309  }
 13310  
 13311  func (s *SearchTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
 13312  	type NoMethod SearchTargetingOptionsRequest
 13313  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13314  }
 13315  
 13316  // SearchTargetingOptionsResponse: Response message for SearchTargetingOptions.
 13317  type SearchTargetingOptionsResponse struct {
 13318  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 13319  	// in the page_token field in the subsequent call to `SearchTargetingOptions`
 13320  	// method to retrieve the next page of results.
 13321  	NextPageToken string `json:"nextPageToken,omitempty"`
 13322  	// TargetingOptions: The list of targeting options that match the search
 13323  	// criteria. This list will be absent if empty.
 13324  	TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"`
 13325  
 13326  	// ServerResponse contains the HTTP response code and headers from the server.
 13327  	googleapi.ServerResponse `json:"-"`
 13328  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 13329  	// unconditionally include in API requests. By default, fields with empty or
 13330  	// default values are omitted from API requests. See
 13331  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13332  	// details.
 13333  	ForceSendFields []string `json:"-"`
 13334  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 13335  	// requests with the JSON null value. By default, fields with empty values are
 13336  	// omitted from API requests. See
 13337  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13338  	NullFields []string `json:"-"`
 13339  }
 13340  
 13341  func (s *SearchTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 13342  	type NoMethod SearchTargetingOptionsResponse
 13343  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13344  }
 13345  
 13346  // SensitiveCategoryAssignedTargetingOptionDetails: Targeting details for
 13347  // sensitive category. This will be populated in the details field of an
 13348  // AssignedTargetingOption when targeting_type is
 13349  // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
 13350  type SensitiveCategoryAssignedTargetingOptionDetails struct {
 13351  	// ExcludedSensitiveCategory: Required. An enum for the DV360 Sensitive
 13352  	// category content classified to be EXCLUDED.
 13353  	//
 13354  	// Possible values:
 13355  	//   "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder and
 13356  	// doesn't specify a DV360 sensitive category.
 13357  	//   "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or video
 13358  	// content.
 13359  	//   "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as biased
 13360  	// against individuals, groups, or organizations based on criteria such as
 13361  	// race, religion, disability, sex, age, veteran status, sexual orientation,
 13362  	// gender identity, or political affiliation. May also indicate discussion of
 13363  	// such content, for instance, in an academic or journalistic context.
 13364  	//   "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio, video,
 13365  	// or software downloads.
 13366  	//   "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal
 13367  	// weapons, including knives, guns, small firearms, and ammunition. Selecting
 13368  	// either "weapons" or "sensitive social issues" will result in selecting both.
 13369  	//   "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting or
 13370  	// wagering in a real-world or online setting.
 13371  	//   "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered
 13372  	// graphically violent, gory, gruesome, or shocking, such as street fighting
 13373  	// videos, accident photos, descriptions of torture, etc.
 13374  	//   "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as suggestive
 13375  	// content that's not explicitly pornographic. This category includes all pages
 13376  	// categorized as adult.
 13377  	//   "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered
 13378  	// indecent, such as curse words and sexual slang. Pages with only very
 13379  	// occasional usage, such as news sites that might include such words in a
 13380  	// quotation, are not included.
 13381  	//   "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to alcoholic
 13382  	// beverages, alcohol brands, recipes, etc.
 13383  	//   "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the recreational
 13384  	// use of legal or illegal drugs, as well as to drug paraphernalia or
 13385  	// cultivation.
 13386  	//   "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco and
 13387  	// tobacco accessories, including lighters, humidors, ashtrays, etc.
 13388  	//   "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including
 13389  	// discussions of social, governmental, and public policy.
 13390  	//   "SENSITIVE_CATEGORY_RELIGION" - Content related to religious thought or
 13391  	// beliefs.
 13392  	//   "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters,
 13393  	// accidents, war, etc.
 13394  	//   "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to motor
 13395  	// vehicle, aviation or other transportation accidents.
 13396  	//   "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke strong,
 13397  	// opposing views and spark debate. These include issues that are controversial
 13398  	// in most countries and markets (such as abortion), as well as those that are
 13399  	// controversial in specific countries and markets (such as immigration reform
 13400  	// in the United States).
 13401  	//   "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered shocking
 13402  	// or disturbing, such as violent news stories, stunts, or toilet humor.
 13403  	//   "SENSITIVE_CATEGORY_EMBEDDED_VIDEO" - YouTube videos embedded on websites
 13404  	// outside of YouTube.com. Only applicable to YouTube and Partners line items.
 13405  	//   "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" - Video of live events streamed
 13406  	// over the internet. Only applicable to YouTube and Partners line items.
 13407  	ExcludedSensitiveCategory string `json:"excludedSensitiveCategory,omitempty"`
 13408  	// ForceSendFields is a list of field names (e.g. "ExcludedSensitiveCategory")
 13409  	// to unconditionally include in API requests. By default, fields with empty or
 13410  	// default values are omitted from API requests. See
 13411  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13412  	// details.
 13413  	ForceSendFields []string `json:"-"`
 13414  	// NullFields is a list of field names (e.g. "ExcludedSensitiveCategory") to
 13415  	// include in API requests with the JSON null value. By default, fields with
 13416  	// empty values are omitted from API requests. See
 13417  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13418  	NullFields []string `json:"-"`
 13419  }
 13420  
 13421  func (s *SensitiveCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 13422  	type NoMethod SensitiveCategoryAssignedTargetingOptionDetails
 13423  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13424  }
 13425  
 13426  // SensitiveCategoryTargetingOptionDetails: Represents a targetable sensitive
 13427  // category. This will be populated in the sensitive_category_details field of
 13428  // the TargetingOption when targeting_type is
 13429  // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
 13430  type SensitiveCategoryTargetingOptionDetails struct {
 13431  	// SensitiveCategory: Output only. An enum for the DV360 Sensitive category
 13432  	// content classifier.
 13433  	//
 13434  	// Possible values:
 13435  	//   "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder and
 13436  	// doesn't specify a DV360 sensitive category.
 13437  	//   "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or video
 13438  	// content.
 13439  	//   "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as biased
 13440  	// against individuals, groups, or organizations based on criteria such as
 13441  	// race, religion, disability, sex, age, veteran status, sexual orientation,
 13442  	// gender identity, or political affiliation. May also indicate discussion of
 13443  	// such content, for instance, in an academic or journalistic context.
 13444  	//   "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio, video,
 13445  	// or software downloads.
 13446  	//   "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal
 13447  	// weapons, including knives, guns, small firearms, and ammunition. Selecting
 13448  	// either "weapons" or "sensitive social issues" will result in selecting both.
 13449  	//   "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting or
 13450  	// wagering in a real-world or online setting.
 13451  	//   "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered
 13452  	// graphically violent, gory, gruesome, or shocking, such as street fighting
 13453  	// videos, accident photos, descriptions of torture, etc.
 13454  	//   "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as suggestive
 13455  	// content that's not explicitly pornographic. This category includes all pages
 13456  	// categorized as adult.
 13457  	//   "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered
 13458  	// indecent, such as curse words and sexual slang. Pages with only very
 13459  	// occasional usage, such as news sites that might include such words in a
 13460  	// quotation, are not included.
 13461  	//   "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to alcoholic
 13462  	// beverages, alcohol brands, recipes, etc.
 13463  	//   "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the recreational
 13464  	// use of legal or illegal drugs, as well as to drug paraphernalia or
 13465  	// cultivation.
 13466  	//   "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco and
 13467  	// tobacco accessories, including lighters, humidors, ashtrays, etc.
 13468  	//   "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including
 13469  	// discussions of social, governmental, and public policy.
 13470  	//   "SENSITIVE_CATEGORY_RELIGION" - Content related to religious thought or
 13471  	// beliefs.
 13472  	//   "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters,
 13473  	// accidents, war, etc.
 13474  	//   "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to motor
 13475  	// vehicle, aviation or other transportation accidents.
 13476  	//   "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke strong,
 13477  	// opposing views and spark debate. These include issues that are controversial
 13478  	// in most countries and markets (such as abortion), as well as those that are
 13479  	// controversial in specific countries and markets (such as immigration reform
 13480  	// in the United States).
 13481  	//   "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered shocking
 13482  	// or disturbing, such as violent news stories, stunts, or toilet humor.
 13483  	//   "SENSITIVE_CATEGORY_EMBEDDED_VIDEO" - YouTube videos embedded on websites
 13484  	// outside of YouTube.com. Only applicable to YouTube and Partners line items.
 13485  	//   "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" - Video of live events streamed
 13486  	// over the internet. Only applicable to YouTube and Partners line items.
 13487  	SensitiveCategory string `json:"sensitiveCategory,omitempty"`
 13488  	// ForceSendFields is a list of field names (e.g. "SensitiveCategory") to
 13489  	// unconditionally include in API requests. By default, fields with empty or
 13490  	// default values are omitted from API requests. See
 13491  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13492  	// details.
 13493  	ForceSendFields []string `json:"-"`
 13494  	// NullFields is a list of field names (e.g. "SensitiveCategory") to include in
 13495  	// API requests with the JSON null value. By default, fields with empty values
 13496  	// are omitted from API requests. See
 13497  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13498  	NullFields []string `json:"-"`
 13499  }
 13500  
 13501  func (s *SensitiveCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 13502  	type NoMethod SensitiveCategoryTargetingOptionDetails
 13503  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13504  }
 13505  
 13506  // SessionPositionAssignedTargetingOptionDetails: Details for session position
 13507  // assigned targeting option. This will be populated in the
 13508  // session_position_details field when targeting_type is
 13509  // `TARGETING_TYPE_SESSION_POSITION`.
 13510  type SessionPositionAssignedTargetingOptionDetails struct {
 13511  	// SessionPosition: The position where the ad will show in a session.
 13512  	//
 13513  	// Possible values:
 13514  	//   "SESSION_POSITION_UNSPECIFIED" - This is a placeholder, does not indicate
 13515  	// any positions.
 13516  	//   "SESSION_POSITION_FIRST_IMPRESSION" - The first impression of the session.
 13517  	SessionPosition string `json:"sessionPosition,omitempty"`
 13518  	// ForceSendFields is a list of field names (e.g. "SessionPosition") to
 13519  	// unconditionally include in API requests. By default, fields with empty or
 13520  	// default values are omitted from API requests. See
 13521  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13522  	// details.
 13523  	ForceSendFields []string `json:"-"`
 13524  	// NullFields is a list of field names (e.g. "SessionPosition") to include in
 13525  	// API requests with the JSON null value. By default, fields with empty values
 13526  	// are omitted from API requests. See
 13527  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13528  	NullFields []string `json:"-"`
 13529  }
 13530  
 13531  func (s *SessionPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 13532  	type NoMethod SessionPositionAssignedTargetingOptionDetails
 13533  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13534  }
 13535  
 13536  // Site: A single site. Sites are apps or websites belonging to a channel.
 13537  type Site struct {
 13538  	// Name: Output only. The resource name of the site.
 13539  	Name string `json:"name,omitempty"`
 13540  	// UrlOrAppId: Required. The app ID or URL of the site. Must be UTF-8 encoded
 13541  	// with a maximum length of 240 bytes.
 13542  	UrlOrAppId string `json:"urlOrAppId,omitempty"`
 13543  
 13544  	// ServerResponse contains the HTTP response code and headers from the server.
 13545  	googleapi.ServerResponse `json:"-"`
 13546  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
 13547  	// include in API requests. By default, fields with empty or default values are
 13548  	// omitted from API requests. See
 13549  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13550  	// details.
 13551  	ForceSendFields []string `json:"-"`
 13552  	// NullFields is a list of field names (e.g. "Name") to include in API requests
 13553  	// with the JSON null value. By default, fields with empty values are omitted
 13554  	// from API requests. See
 13555  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13556  	NullFields []string `json:"-"`
 13557  }
 13558  
 13559  func (s *Site) MarshalJSON() ([]byte, error) {
 13560  	type NoMethod Site
 13561  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13562  }
 13563  
 13564  // Status: The `Status` type defines a logical error model that is suitable for
 13565  // different programming environments, including REST APIs and RPC APIs. It is
 13566  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
 13567  // pieces of data: error code, error message, and error details. You can find
 13568  // out more about this error model and how to work with it in the API Design
 13569  // Guide (https://cloud.google.com/apis/design/errors).
 13570  type Status struct {
 13571  	// Code: The status code, which should be an enum value of google.rpc.Code.
 13572  	Code int64 `json:"code,omitempty"`
 13573  	// Details: A list of messages that carry the error details. There is a common
 13574  	// set of message types for APIs to use.
 13575  	Details []googleapi.RawMessage `json:"details,omitempty"`
 13576  	// Message: A developer-facing error message, which should be in English. Any
 13577  	// user-facing error message should be localized and sent in the
 13578  	// google.rpc.Status.details field, or localized by the client.
 13579  	Message string `json:"message,omitempty"`
 13580  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
 13581  	// include in API requests. By default, fields with empty or default values are
 13582  	// omitted from API requests. See
 13583  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13584  	// details.
 13585  	ForceSendFields []string `json:"-"`
 13586  	// NullFields is a list of field names (e.g. "Code") to include in API requests
 13587  	// with the JSON null value. By default, fields with empty values are omitted
 13588  	// from API requests. See
 13589  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13590  	NullFields []string `json:"-"`
 13591  }
 13592  
 13593  func (s *Status) MarshalJSON() ([]byte, error) {
 13594  	type NoMethod Status
 13595  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13596  }
 13597  
 13598  // SubExchangeAssignedTargetingOptionDetails: Details for assigned sub-exchange
 13599  // targeting option. This will be populated in the details field of an
 13600  // AssignedTargetingOption when targeting_type is
 13601  // `TARGETING_TYPE_SUB_EXCHANGE`.
 13602  type SubExchangeAssignedTargetingOptionDetails struct {
 13603  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
 13604  	// type `TARGETING_TYPE_SUB_EXCHANGE`.
 13605  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 13606  	// ForceSendFields is a list of field names (e.g. "TargetingOptionId") to
 13607  	// unconditionally include in API requests. By default, fields with empty or
 13608  	// default values are omitted from API requests. See
 13609  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13610  	// details.
 13611  	ForceSendFields []string `json:"-"`
 13612  	// NullFields is a list of field names (e.g. "TargetingOptionId") to include in
 13613  	// API requests with the JSON null value. By default, fields with empty values
 13614  	// are omitted from API requests. See
 13615  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13616  	NullFields []string `json:"-"`
 13617  }
 13618  
 13619  func (s *SubExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 13620  	type NoMethod SubExchangeAssignedTargetingOptionDetails
 13621  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13622  }
 13623  
 13624  // SubExchangeTargetingOptionDetails: Represents a targetable sub-exchange.
 13625  // This will be populated in the sub_exchange_details field of a
 13626  // TargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.
 13627  type SubExchangeTargetingOptionDetails struct {
 13628  	// DisplayName: Output only. The display name of the sub-exchange.
 13629  	DisplayName string `json:"displayName,omitempty"`
 13630  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 13631  	// unconditionally include in API requests. By default, fields with empty or
 13632  	// default values are omitted from API requests. See
 13633  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13634  	// details.
 13635  	ForceSendFields []string `json:"-"`
 13636  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 13637  	// requests with the JSON null value. By default, fields with empty values are
 13638  	// omitted from API requests. See
 13639  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13640  	NullFields []string `json:"-"`
 13641  }
 13642  
 13643  func (s *SubExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 13644  	type NoMethod SubExchangeTargetingOptionDetails
 13645  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13646  }
 13647  
 13648  // TargetFrequency: Setting that controls the average number of times the ads
 13649  // will show to the same person over a certain period of time.
 13650  type TargetFrequency struct {
 13651  	// TargetCount: The target number of times, on average, the ads will be shown
 13652  	// to the same person in the timespan dictated by time_unit and
 13653  	// time_unit_count.
 13654  	TargetCount int64 `json:"targetCount,omitempty,string"`
 13655  	// TimeUnit: The unit of time in which the target frequency will be applied.
 13656  	// The following time unit is applicable: * `TIME_UNIT_WEEKS`
 13657  	//
 13658  	// Possible values:
 13659  	//   "TIME_UNIT_UNSPECIFIED" - Time unit value is not specified or is unknown
 13660  	// in this version.
 13661  	//   "TIME_UNIT_LIFETIME" - The frequency cap will be applied to the whole life
 13662  	// time of the line item.
 13663  	//   "TIME_UNIT_MONTHS" - The frequency cap will be applied to a number of
 13664  	// months.
 13665  	//   "TIME_UNIT_WEEKS" - The frequency cap will be applied to a number of
 13666  	// weeks.
 13667  	//   "TIME_UNIT_DAYS" - The frequency cap will be applied to a number of days.
 13668  	//   "TIME_UNIT_HOURS" - The frequency cap will be applied to a number of
 13669  	// hours.
 13670  	//   "TIME_UNIT_MINUTES" - The frequency cap will be applied to a number of
 13671  	// minutes.
 13672  	TimeUnit string `json:"timeUnit,omitempty"`
 13673  	// TimeUnitCount: The number of time_unit the target frequency will last. The
 13674  	// following restrictions apply based on the value of time_unit: *
 13675  	// `TIME_UNIT_WEEKS` - must be 1
 13676  	TimeUnitCount int64 `json:"timeUnitCount,omitempty"`
 13677  	// ForceSendFields is a list of field names (e.g. "TargetCount") to
 13678  	// unconditionally include in API requests. By default, fields with empty or
 13679  	// default values are omitted from API requests. See
 13680  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13681  	// details.
 13682  	ForceSendFields []string `json:"-"`
 13683  	// NullFields is a list of field names (e.g. "TargetCount") to include in API
 13684  	// requests with the JSON null value. By default, fields with empty values are
 13685  	// omitted from API requests. See
 13686  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13687  	NullFields []string `json:"-"`
 13688  }
 13689  
 13690  func (s *TargetFrequency) MarshalJSON() ([]byte, error) {
 13691  	type NoMethod TargetFrequency
 13692  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13693  }
 13694  
 13695  // TargetingExpansionConfig: Settings that control the optimized targeting
 13696  // (//support.google.com/displayvideo/answer/12060859) settings of the line
 13697  // item.
 13698  type TargetingExpansionConfig struct {
 13699  	// ExcludeFirstPartyAudience: Whether to exclude first-party audiences from use
 13700  	// in targeting expansion. This field was deprecated with the launch of
 13701  	// optimized targeting (//support.google.com/displayvideo/answer/12060859).
 13702  	// This field will be set to `false`. If this field is set to `true` when
 13703  	// deprecated, all positive first-party audience targeting assigned to this
 13704  	// line item will be replaced with negative targeting of the same first-party
 13705  	// audiences to ensure the continued exclusion of those audiences.
 13706  	ExcludeFirstPartyAudience bool `json:"excludeFirstPartyAudience,omitempty"`
 13707  	// TargetingExpansionLevel: Required. Whether optimized targeting is turned on.
 13708  	// This field supports the following values: * `NO_EXPANSION`: optimized
 13709  	// targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned
 13710  	// on If this field is set to any other value, it will automatically be set to
 13711  	// `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field
 13712  	// and will be automatically assigned if you do not set the field.
 13713  	//
 13714  	// Possible values:
 13715  	//   "TARGETING_EXPANSION_LEVEL_UNSPECIFIED" - The optimized targeting setting
 13716  	// is not specified or is unknown in this version.
 13717  	//   "NO_EXPANSION" - Optimized targeting is off.
 13718  	//   "LEAST_EXPANSION" - Optimized targeting is on.
 13719  	//   "SOME_EXPANSION" - If used, will automatically be set to
 13720  	// `LEAST_EXPANSION`.
 13721  	//   "BALANCED_EXPANSION" - If used, will automatically be set to
 13722  	// `LEAST_EXPANSION`.
 13723  	//   "MORE_EXPANSION" - If used, will automatically be set to
 13724  	// `LEAST_EXPANSION`.
 13725  	//   "MOST_EXPANSION" - If used, will automatically be set to
 13726  	// `LEAST_EXPANSION`.
 13727  	TargetingExpansionLevel string `json:"targetingExpansionLevel,omitempty"`
 13728  	// ForceSendFields is a list of field names (e.g. "ExcludeFirstPartyAudience")
 13729  	// to unconditionally include in API requests. By default, fields with empty or
 13730  	// default values are omitted from API requests. See
 13731  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13732  	// details.
 13733  	ForceSendFields []string `json:"-"`
 13734  	// NullFields is a list of field names (e.g. "ExcludeFirstPartyAudience") to
 13735  	// include in API requests with the JSON null value. By default, fields with
 13736  	// empty values are omitted from API requests. See
 13737  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13738  	NullFields []string `json:"-"`
 13739  }
 13740  
 13741  func (s *TargetingExpansionConfig) MarshalJSON() ([]byte, error) {
 13742  	type NoMethod TargetingExpansionConfig
 13743  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13744  }
 13745  
 13746  // TargetingOption: Represents a single targeting option, which is a targetable
 13747  // concept in DV360.
 13748  type TargetingOption struct {
 13749  	// AgeRangeDetails: Age range details.
 13750  	AgeRangeDetails *AgeRangeTargetingOptionDetails `json:"ageRangeDetails,omitempty"`
 13751  	// AppCategoryDetails: App category details.
 13752  	AppCategoryDetails *AppCategoryTargetingOptionDetails `json:"appCategoryDetails,omitempty"`
 13753  	// AudioContentTypeDetails: Audio content type details.
 13754  	AudioContentTypeDetails *AudioContentTypeTargetingOptionDetails `json:"audioContentTypeDetails,omitempty"`
 13755  	// AuthorizedSellerStatusDetails: Authorized seller status resource details.
 13756  	AuthorizedSellerStatusDetails *AuthorizedSellerStatusTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"`
 13757  	// BrowserDetails: Browser details.
 13758  	BrowserDetails *BrowserTargetingOptionDetails `json:"browserDetails,omitempty"`
 13759  	// BusinessChainDetails: Business chain resource details.
 13760  	BusinessChainDetails *BusinessChainTargetingOptionDetails `json:"businessChainDetails,omitempty"`
 13761  	// CarrierAndIspDetails: Carrier and ISP details.
 13762  	CarrierAndIspDetails *CarrierAndIspTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"`
 13763  	// CategoryDetails: Category resource details.
 13764  	CategoryDetails *CategoryTargetingOptionDetails `json:"categoryDetails,omitempty"`
 13765  	// ContentDurationDetails: Content duration resource details.
 13766  	ContentDurationDetails *ContentDurationTargetingOptionDetails `json:"contentDurationDetails,omitempty"`
 13767  	// ContentGenreDetails: Content genre resource details.
 13768  	ContentGenreDetails *ContentGenreTargetingOptionDetails `json:"contentGenreDetails,omitempty"`
 13769  	// ContentInstreamPositionDetails: Content instream position details.
 13770  	ContentInstreamPositionDetails *ContentInstreamPositionTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"`
 13771  	// ContentOutstreamPositionDetails: Content outstream position details.
 13772  	ContentOutstreamPositionDetails *ContentOutstreamPositionTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"`
 13773  	// ContentStreamTypeDetails: Content stream type resource details.
 13774  	ContentStreamTypeDetails *ContentStreamTypeTargetingOptionDetails `json:"contentStreamTypeDetails,omitempty"`
 13775  	// DeviceMakeModelDetails: Device make and model resource details.
 13776  	DeviceMakeModelDetails *DeviceMakeModelTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"`
 13777  	// DeviceTypeDetails: Device type details.
 13778  	DeviceTypeDetails *DeviceTypeTargetingOptionDetails `json:"deviceTypeDetails,omitempty"`
 13779  	// DigitalContentLabelDetails: Digital content label details.
 13780  	DigitalContentLabelDetails *DigitalContentLabelTargetingOptionDetails `json:"digitalContentLabelDetails,omitempty"`
 13781  	// EnvironmentDetails: Environment details.
 13782  	EnvironmentDetails *EnvironmentTargetingOptionDetails `json:"environmentDetails,omitempty"`
 13783  	// ExchangeDetails: Exchange details.
 13784  	ExchangeDetails *ExchangeTargetingOptionDetails `json:"exchangeDetails,omitempty"`
 13785  	// GenderDetails: Gender details.
 13786  	GenderDetails *GenderTargetingOptionDetails `json:"genderDetails,omitempty"`
 13787  	// GeoRegionDetails: Geographic region resource details.
 13788  	GeoRegionDetails *GeoRegionTargetingOptionDetails `json:"geoRegionDetails,omitempty"`
 13789  	// HouseholdIncomeDetails: Household income details.
 13790  	HouseholdIncomeDetails *HouseholdIncomeTargetingOptionDetails `json:"householdIncomeDetails,omitempty"`
 13791  	// LanguageDetails: Language resource details.
 13792  	LanguageDetails *LanguageTargetingOptionDetails `json:"languageDetails,omitempty"`
 13793  	// Name: Output only. The resource name for this targeting option.
 13794  	Name string `json:"name,omitempty"`
 13795  	// NativeContentPositionDetails: Native content position details.
 13796  	NativeContentPositionDetails *NativeContentPositionTargetingOptionDetails `json:"nativeContentPositionDetails,omitempty"`
 13797  	// OmidDetails: Open Measurement enabled inventory details.
 13798  	OmidDetails *OmidTargetingOptionDetails `json:"omidDetails,omitempty"`
 13799  	// OnScreenPositionDetails: On screen position details.
 13800  	OnScreenPositionDetails *OnScreenPositionTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"`
 13801  	// OperatingSystemDetails: Operating system resources details.
 13802  	OperatingSystemDetails *OperatingSystemTargetingOptionDetails `json:"operatingSystemDetails,omitempty"`
 13803  	// ParentalStatusDetails: Parental status details.
 13804  	ParentalStatusDetails *ParentalStatusTargetingOptionDetails `json:"parentalStatusDetails,omitempty"`
 13805  	// PoiDetails: POI resource details.
 13806  	PoiDetails *PoiTargetingOptionDetails `json:"poiDetails,omitempty"`
 13807  	// SensitiveCategoryDetails: Sensitive Category details.
 13808  	SensitiveCategoryDetails *SensitiveCategoryTargetingOptionDetails `json:"sensitiveCategoryDetails,omitempty"`
 13809  	// SubExchangeDetails: Sub-exchange details.
 13810  	SubExchangeDetails *SubExchangeTargetingOptionDetails `json:"subExchangeDetails,omitempty"`
 13811  	// TargetingOptionId: Output only. A unique identifier for this targeting
 13812  	// option. The tuple {`targeting_type`, `targeting_option_id`} will be unique.
 13813  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 13814  	// TargetingType: Output only. The type of this targeting option.
 13815  	//
 13816  	// Possible values:
 13817  	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or
 13818  	// is unknown in this version.
 13819  	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related
 13820  	// websites or apps).
 13821  	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example,
 13822  	// education or puzzle games).
 13823  	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds).
 13824  	//   "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com).
 13825  	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on
 13826  	// a specific day.
 13827  	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for
 13828  	// example, 18-24).
 13829  	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified
 13830  	// regions on a regional location list.
 13831  	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified
 13832  	// points of interest on a proximity location list.
 13833  	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example,
 13834  	// female or male).
 13835  	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size
 13836  	// for video ads.
 13837  	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for
 13838  	// video ads.
 13839  	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental
 13840  	// status (for example, parent or not a parent).
 13841  	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in
 13842  	// a specific content instream position (for example, pre-roll, mid-roll, or
 13843  	// post-roll).
 13844  	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific
 13845  	// content outstream position.
 13846  	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for
 13847  	// example, tablet or connected TV).
 13848  	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of
 13849  	// audiences. Singleton field, at most one can exist on a single Lineitem at a
 13850  	// time.
 13851  	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
 13852  	// example, Chrome).
 13853  	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household
 13854  	// income range (for example, top 10%).
 13855  	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen
 13856  	// position.
 13857  	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third
 13858  	// party verification (for example, IAS or DoubleVerify).
 13859  	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by
 13860  	// specific digital content label ratings (for example, DL-MA: suitable only
 13861  	// for mature audiences).
 13862  	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by
 13863  	// sensitive categories (for example, adult).
 13864  	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for
 13865  	// example, web or app).
 13866  	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
 13867  	// carrier or internet service provider (ISP) (for example, Comcast or Orange).
 13868  	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating
 13869  	// system (for example, macOS).
 13870  	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make
 13871  	// or model (for example, Roku or Samsung).
 13872  	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example,
 13873  	// dog or retriever).
 13874  	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative
 13875  	// keyword list.
 13876  	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for
 13877  	// example, 80% viewable).
 13878  	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for
 13879  	// example, arts & entertainment).
 13880  	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific
 13881  	// deals and auction packages.
 13882  	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
 13883  	// example, English or Japanese).
 13884  	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
 13885  	// authorized sellers. If no targeting option of this type is assigned, the
 13886  	// resource uses the "Authorized Direct Sellers and Resellers" option by
 13887  	// default.
 13888  	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location
 13889  	// (for example, a city or state).
 13890  	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a
 13891  	// group of deals and auction packages.
 13892  	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges.
 13893  	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
 13894  	// sub-exchanges.
 13895  	//   "TARGETING_TYPE_POI" - Target ads around a specific point of interest,
 13896  	// such as a notable building, a street address, or latitude/longitude
 13897  	// coordinates.
 13898  	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
 13899  	// business chain within a specific geo region.
 13900  	//   "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content
 13901  	// duration.
 13902  	//   "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video
 13903  	// content stream type.
 13904  	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native
 13905  	// content position.
 13906  	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
 13907  	// inventory.
 13908  	//   "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio
 13909  	// content type.
 13910  	//   "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre.
 13911  	//   "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video.
 13912  	// Targeting of this type cannot be created or updated using the API. Although
 13913  	// this targeting is inherited by child resources, **inherited targeting of
 13914  	// this type will not be retrieveable**.
 13915  	//   "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube
 13916  	// channel. Targeting of this type cannot be created or updated using the API.
 13917  	// Although this targeting is inherited by child resources, **inherited
 13918  	// targeting of this type will not be retrieveable**.
 13919  	//   "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain
 13920  	// position of a session. Only supported for Ad Group resources under YouTube
 13921  	// Programmatic Reservation line items. Targeting of this type cannot be
 13922  	// created or updated using the API.
 13923  	TargetingType string `json:"targetingType,omitempty"`
 13924  	// UserRewardedContentDetails: User rewarded content details.
 13925  	UserRewardedContentDetails *UserRewardedContentTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"`
 13926  	// VideoPlayerSizeDetails: Video player size details.
 13927  	VideoPlayerSizeDetails *VideoPlayerSizeTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"`
 13928  	// ViewabilityDetails: Viewability resource details.
 13929  	ViewabilityDetails *ViewabilityTargetingOptionDetails `json:"viewabilityDetails,omitempty"`
 13930  
 13931  	// ServerResponse contains the HTTP response code and headers from the server.
 13932  	googleapi.ServerResponse `json:"-"`
 13933  	// ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to
 13934  	// unconditionally include in API requests. By default, fields with empty or
 13935  	// default values are omitted from API requests. See
 13936  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13937  	// details.
 13938  	ForceSendFields []string `json:"-"`
 13939  	// NullFields is a list of field names (e.g. "AgeRangeDetails") to include in
 13940  	// API requests with the JSON null value. By default, fields with empty values
 13941  	// are omitted from API requests. See
 13942  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13943  	NullFields []string `json:"-"`
 13944  }
 13945  
 13946  func (s *TargetingOption) MarshalJSON() ([]byte, error) {
 13947  	type NoMethod TargetingOption
 13948  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13949  }
 13950  
 13951  // ThirdPartyOnlyConfig: Settings for advertisers that use third-party ad
 13952  // servers only.
 13953  type ThirdPartyOnlyConfig struct {
 13954  	// PixelOrderIdReportingEnabled: Whether or not order ID reporting for pixels
 13955  	// is enabled. This value cannot be changed once set to `true`.
 13956  	PixelOrderIdReportingEnabled bool `json:"pixelOrderIdReportingEnabled,omitempty"`
 13957  	// ForceSendFields is a list of field names (e.g.
 13958  	// "PixelOrderIdReportingEnabled") to unconditionally include in API requests.
 13959  	// By default, fields with empty or default values are omitted from API
 13960  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
 13961  	// for more details.
 13962  	ForceSendFields []string `json:"-"`
 13963  	// NullFields is a list of field names (e.g. "PixelOrderIdReportingEnabled") to
 13964  	// include in API requests with the JSON null value. By default, fields with
 13965  	// empty values are omitted from API requests. See
 13966  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13967  	NullFields []string `json:"-"`
 13968  }
 13969  
 13970  func (s *ThirdPartyOnlyConfig) MarshalJSON() ([]byte, error) {
 13971  	type NoMethod ThirdPartyOnlyConfig
 13972  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13973  }
 13974  
 13975  // ThirdPartyUrl: Tracking URLs from third parties to track interactions with
 13976  // an audio or a video creative.
 13977  type ThirdPartyUrl struct {
 13978  	// Type: The type of interaction needs to be tracked by the tracking URL
 13979  	//
 13980  	// Possible values:
 13981  	//   "THIRD_PARTY_URL_TYPE_UNSPECIFIED" - The type of third-party URL is
 13982  	// unspecified or is unknown in this version.
 13983  	//   "THIRD_PARTY_URL_TYPE_IMPRESSION" - Used to count impressions of the
 13984  	// creative after the audio or video buffering is complete.
 13985  	//   "THIRD_PARTY_URL_TYPE_CLICK_TRACKING" - Used to track user clicks on the
 13986  	// audio or video.
 13987  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START" - Used to track the number of
 13988  	// times a user starts the audio or video.
 13989  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE" - Used to track the
 13990  	// number of times the audio or video plays to 25% of its length.
 13991  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT" - Used to track the number of
 13992  	// times the audio or video plays to 50% of its length.
 13993  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE" - Used to track the
 13994  	// number of times the audio or video plays to 75% of its length.
 13995  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE" - Used to track the number of
 13996  	// times the audio or video plays to the end.
 13997  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE" - Used to track the number of
 13998  	// times a user mutes the audio or video.
 13999  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE" - Used to track the number of
 14000  	// times a user pauses the audio or video.
 14001  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND" - Used to track the number of
 14002  	// times a user replays the audio or video.
 14003  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN" - Used to track the number
 14004  	// of times a user expands the player to full-screen size.
 14005  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP" - Used to track the number of
 14006  	// times a user stops the audio or video.
 14007  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM" - Used to track the number of
 14008  	// times a user performs a custom click, such as clicking on a video hot spot.
 14009  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP" - Used to track the number of
 14010  	// times the audio or video was skipped.
 14011  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" - Used to track the number of
 14012  	// times the audio or video plays to an offset determined by the
 14013  	// progress_offset.
 14014  	Type string `json:"type,omitempty"`
 14015  	// Url: Tracking URL used to track the interaction. Provide a URL with optional
 14016  	// path or query string, beginning with `https:`. For example,
 14017  	// https://www.example.com/path
 14018  	Url string `json:"url,omitempty"`
 14019  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
 14020  	// include in API requests. By default, fields with empty or default values are
 14021  	// omitted from API requests. See
 14022  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14023  	// details.
 14024  	ForceSendFields []string `json:"-"`
 14025  	// NullFields is a list of field names (e.g. "Type") to include in API requests
 14026  	// with the JSON null value. By default, fields with empty values are omitted
 14027  	// from API requests. See
 14028  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14029  	NullFields []string `json:"-"`
 14030  }
 14031  
 14032  func (s *ThirdPartyUrl) MarshalJSON() ([]byte, error) {
 14033  	type NoMethod ThirdPartyUrl
 14034  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14035  }
 14036  
 14037  // ThirdPartyVendorConfig: Settings that control how third-party measurement
 14038  // vendors are configured.
 14039  type ThirdPartyVendorConfig struct {
 14040  	// PlacementId: The ID used by the platform of the third-party vendor to
 14041  	// identify the line item.
 14042  	PlacementId string `json:"placementId,omitempty"`
 14043  	// Vendor: The third-party measurement vendor.
 14044  	//
 14045  	// Possible values:
 14046  	//   "THIRD_PARTY_VENDOR_UNSPECIFIED" - Unknown third-party vendor.
 14047  	//   "THIRD_PARTY_VENDOR_MOAT" - Moat.
 14048  	//   "THIRD_PARTY_VENDOR_DOUBLE_VERIFY" - DoubleVerify.
 14049  	//   "THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE" - Integral Ad Science.
 14050  	//   "THIRD_PARTY_VENDOR_COMSCORE" - Comscore.
 14051  	//   "THIRD_PARTY_VENDOR_TELEMETRY" - Telemetry.
 14052  	//   "THIRD_PARTY_VENDOR_MEETRICS" - Meetrics.
 14053  	//   "THIRD_PARTY_VENDOR_ZEFR" - ZEFR.
 14054  	//   "THIRD_PARTY_VENDOR_NIELSEN" - Nielsen.
 14055  	//   "THIRD_PARTY_VENDOR_KANTAR" - Kantar.
 14056  	//   "THIRD_PARTY_VENDOR_DYNATA" - Dynata.
 14057  	Vendor string `json:"vendor,omitempty"`
 14058  	// ForceSendFields is a list of field names (e.g. "PlacementId") to
 14059  	// unconditionally include in API requests. By default, fields with empty or
 14060  	// default values are omitted from API requests. See
 14061  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14062  	// details.
 14063  	ForceSendFields []string `json:"-"`
 14064  	// NullFields is a list of field names (e.g. "PlacementId") to include in API
 14065  	// requests with the JSON null value. By default, fields with empty values are
 14066  	// omitted from API requests. See
 14067  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14068  	NullFields []string `json:"-"`
 14069  }
 14070  
 14071  func (s *ThirdPartyVendorConfig) MarshalJSON() ([]byte, error) {
 14072  	type NoMethod ThirdPartyVendorConfig
 14073  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14074  }
 14075  
 14076  // ThirdPartyVerifierAssignedTargetingOptionDetails: Assigned third party
 14077  // verifier targeting option details. This will be populated in the details
 14078  // field of an AssignedTargetingOption when targeting_type is
 14079  // `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
 14080  type ThirdPartyVerifierAssignedTargetingOptionDetails struct {
 14081  	// Adloox: Third party brand verifier -- Adloox.
 14082  	Adloox *Adloox `json:"adloox,omitempty"`
 14083  	// DoubleVerify: Third party brand verifier -- DoubleVerify.
 14084  	DoubleVerify *DoubleVerify `json:"doubleVerify,omitempty"`
 14085  	// IntegralAdScience: Third party brand verifier -- Integral Ad Science.
 14086  	IntegralAdScience *IntegralAdScience `json:"integralAdScience,omitempty"`
 14087  	// ForceSendFields is a list of field names (e.g. "Adloox") to unconditionally
 14088  	// include in API requests. By default, fields with empty or default values are
 14089  	// omitted from API requests. See
 14090  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14091  	// details.
 14092  	ForceSendFields []string `json:"-"`
 14093  	// NullFields is a list of field names (e.g. "Adloox") to include in API
 14094  	// requests with the JSON null value. By default, fields with empty values are
 14095  	// omitted from API requests. See
 14096  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14097  	NullFields []string `json:"-"`
 14098  }
 14099  
 14100  func (s *ThirdPartyVerifierAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14101  	type NoMethod ThirdPartyVerifierAssignedTargetingOptionDetails
 14102  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14103  }
 14104  
 14105  // TimeRange: A time range.
 14106  type TimeRange struct {
 14107  	// EndTime: Required. The upper bound of a time range, inclusive.
 14108  	EndTime string `json:"endTime,omitempty"`
 14109  	// StartTime: Required. The lower bound of a time range, inclusive.
 14110  	StartTime string `json:"startTime,omitempty"`
 14111  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
 14112  	// include in API requests. By default, fields with empty or default values are
 14113  	// omitted from API requests. See
 14114  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14115  	// details.
 14116  	ForceSendFields []string `json:"-"`
 14117  	// NullFields is a list of field names (e.g. "EndTime") to include in API
 14118  	// requests with the JSON null value. By default, fields with empty values are
 14119  	// omitted from API requests. See
 14120  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14121  	NullFields []string `json:"-"`
 14122  }
 14123  
 14124  func (s *TimeRange) MarshalJSON() ([]byte, error) {
 14125  	type NoMethod TimeRange
 14126  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14127  }
 14128  
 14129  // TimerEvent: Timer event of the creative.
 14130  type TimerEvent struct {
 14131  	// Name: Required. The name of the timer event.
 14132  	Name string `json:"name,omitempty"`
 14133  	// ReportingName: Required. The name used to identify this timer event in
 14134  	// reports.
 14135  	ReportingName string `json:"reportingName,omitempty"`
 14136  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
 14137  	// include in API requests. By default, fields with empty or default values are
 14138  	// omitted from API requests. See
 14139  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14140  	// details.
 14141  	ForceSendFields []string `json:"-"`
 14142  	// NullFields is a list of field names (e.g. "Name") to include in API requests
 14143  	// with the JSON null value. By default, fields with empty values are omitted
 14144  	// from API requests. See
 14145  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14146  	NullFields []string `json:"-"`
 14147  }
 14148  
 14149  func (s *TimerEvent) MarshalJSON() ([]byte, error) {
 14150  	type NoMethod TimerEvent
 14151  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14152  }
 14153  
 14154  // TrackingFloodlightActivityConfig: Settings that control the behavior of a
 14155  // single Floodlight activity config.
 14156  type TrackingFloodlightActivityConfig struct {
 14157  	// FloodlightActivityId: Required. The ID of the Floodlight activity.
 14158  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
 14159  	// PostClickLookbackWindowDays: Required. The number of days after an ad has
 14160  	// been clicked in which a conversion may be counted. Must be between 0 and 90
 14161  	// inclusive.
 14162  	PostClickLookbackWindowDays int64 `json:"postClickLookbackWindowDays,omitempty"`
 14163  	// PostViewLookbackWindowDays: Required. The number of days after an ad has
 14164  	// been viewed in which a conversion may be counted. Must be between 0 and 90
 14165  	// inclusive.
 14166  	PostViewLookbackWindowDays int64 `json:"postViewLookbackWindowDays,omitempty"`
 14167  	// ForceSendFields is a list of field names (e.g. "FloodlightActivityId") to
 14168  	// unconditionally include in API requests. By default, fields with empty or
 14169  	// default values are omitted from API requests. See
 14170  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14171  	// details.
 14172  	ForceSendFields []string `json:"-"`
 14173  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to include
 14174  	// in API requests with the JSON null value. By default, fields with empty
 14175  	// values are omitted from API requests. See
 14176  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14177  	NullFields []string `json:"-"`
 14178  }
 14179  
 14180  func (s *TrackingFloodlightActivityConfig) MarshalJSON() ([]byte, error) {
 14181  	type NoMethod TrackingFloodlightActivityConfig
 14182  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14183  }
 14184  
 14185  // Transcode: Represents information about the transcoded audio or video file.
 14186  type Transcode struct {
 14187  	// AudioBitRateKbps: The bit rate for the audio stream of the transcoded video,
 14188  	// or the bit rate for the transcoded audio, in kilobits per second.
 14189  	AudioBitRateKbps int64 `json:"audioBitRateKbps,omitempty,string"`
 14190  	// AudioSampleRateHz: The sample rate for the audio stream of the transcoded
 14191  	// video, or the sample rate for the transcoded audio, in hertz.
 14192  	AudioSampleRateHz int64 `json:"audioSampleRateHz,omitempty,string"`
 14193  	// BitRateKbps: The transcoding bit rate of the transcoded video, in kilobits
 14194  	// per second.
 14195  	BitRateKbps int64 `json:"bitRateKbps,omitempty,string"`
 14196  	// Dimensions: The dimensions of the transcoded video.
 14197  	Dimensions *Dimensions `json:"dimensions,omitempty"`
 14198  	// FileSizeBytes: The size of the transcoded file, in bytes.
 14199  	FileSizeBytes int64 `json:"fileSizeBytes,omitempty,string"`
 14200  	// FrameRate: The frame rate of the transcoded video, in frames per second.
 14201  	FrameRate float64 `json:"frameRate,omitempty"`
 14202  	// MimeType: The MIME type of the transcoded file.
 14203  	MimeType string `json:"mimeType,omitempty"`
 14204  	// Name: The name of the transcoded file.
 14205  	Name string `json:"name,omitempty"`
 14206  	// Transcoded: Indicates if the transcoding was successful.
 14207  	Transcoded bool `json:"transcoded,omitempty"`
 14208  	// ForceSendFields is a list of field names (e.g. "AudioBitRateKbps") to
 14209  	// unconditionally include in API requests. By default, fields with empty or
 14210  	// default values are omitted from API requests. See
 14211  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14212  	// details.
 14213  	ForceSendFields []string `json:"-"`
 14214  	// NullFields is a list of field names (e.g. "AudioBitRateKbps") to include in
 14215  	// API requests with the JSON null value. By default, fields with empty values
 14216  	// are omitted from API requests. See
 14217  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14218  	NullFields []string `json:"-"`
 14219  }
 14220  
 14221  func (s *Transcode) MarshalJSON() ([]byte, error) {
 14222  	type NoMethod Transcode
 14223  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14224  }
 14225  
 14226  func (s *Transcode) UnmarshalJSON(data []byte) error {
 14227  	type NoMethod Transcode
 14228  	var s1 struct {
 14229  		FrameRate gensupport.JSONFloat64 `json:"frameRate"`
 14230  		*NoMethod
 14231  	}
 14232  	s1.NoMethod = (*NoMethod)(s)
 14233  	if err := json.Unmarshal(data, &s1); err != nil {
 14234  		return err
 14235  	}
 14236  	s.FrameRate = float64(s1.FrameRate)
 14237  	return nil
 14238  }
 14239  
 14240  // UniversalAdId: A creative identifier provided by a registry that is unique
 14241  // across all platforms. This is part of the VAST 4.0 standard.
 14242  type UniversalAdId struct {
 14243  	// Id: The unique creative identifier.
 14244  	Id string `json:"id,omitempty"`
 14245  	// Registry: The registry provides unique creative identifiers.
 14246  	//
 14247  	// Possible values:
 14248  	//   "UNIVERSAL_AD_REGISTRY_UNSPECIFIED" - The Universal Ad registry is
 14249  	// unspecified or is unknown in this version.
 14250  	//   "UNIVERSAL_AD_REGISTRY_OTHER" - Use a custom provider to provide the
 14251  	// Universal Ad ID.
 14252  	//   "UNIVERSAL_AD_REGISTRY_AD_ID" - Use Ad-ID to provide the Universal Ad ID.
 14253  	//   "UNIVERSAL_AD_REGISTRY_CLEARCAST" - Use clearcast.co.uk to provide the
 14254  	// Universal Ad ID.
 14255  	//   "UNIVERSAL_AD_REGISTRY_DV360" - Use Display & Video 360 to provide the
 14256  	// Universal Ad ID.
 14257  	//   "UNIVERSAL_AD_REGISTRY_CM" - Use Campaign Manager 360 to provide the
 14258  	// Universal Ad ID.
 14259  	Registry string `json:"registry,omitempty"`
 14260  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
 14261  	// include in API requests. By default, fields with empty or default values are
 14262  	// omitted from API requests. See
 14263  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14264  	// details.
 14265  	ForceSendFields []string `json:"-"`
 14266  	// NullFields is a list of field names (e.g. "Id") to include in API requests
 14267  	// with the JSON null value. By default, fields with empty values are omitted
 14268  	// from API requests. See
 14269  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14270  	NullFields []string `json:"-"`
 14271  }
 14272  
 14273  func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
 14274  	type NoMethod UniversalAdId
 14275  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14276  }
 14277  
 14278  // UrlAssignedTargetingOptionDetails: Details for assigned URL targeting
 14279  // option. This will be populated in the details field of an
 14280  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`.
 14281  type UrlAssignedTargetingOptionDetails struct {
 14282  	// Negative: Indicates if this option is being negatively targeted.
 14283  	Negative bool `json:"negative,omitempty"`
 14284  	// Url: Required. The URL, for example `example.com`. DV360 supports two levels
 14285  	// of subdirectory targeting, for example
 14286  	// `www.example.com/one-subdirectory-level/second-level`, and five levels of
 14287  	// subdomain targeting, for example `five.four.three.two.one.example.com`.
 14288  	Url string `json:"url,omitempty"`
 14289  	// ForceSendFields is a list of field names (e.g. "Negative") to
 14290  	// unconditionally include in API requests. By default, fields with empty or
 14291  	// default values are omitted from API requests. See
 14292  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14293  	// details.
 14294  	ForceSendFields []string `json:"-"`
 14295  	// NullFields is a list of field names (e.g. "Negative") to include in API
 14296  	// requests with the JSON null value. By default, fields with empty values are
 14297  	// omitted from API requests. See
 14298  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14299  	NullFields []string `json:"-"`
 14300  }
 14301  
 14302  func (s *UrlAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14303  	type NoMethod UrlAssignedTargetingOptionDetails
 14304  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14305  }
 14306  
 14307  // User: A single user in Display & Video 360.
 14308  type User struct {
 14309  	// AssignedUserRoles: The assigned user roles. Required in CreateUser. Output
 14310  	// only in UpdateUser. Can only be updated through BulkEditAssignedUserRoles.
 14311  	AssignedUserRoles []*AssignedUserRole `json:"assignedUserRoles,omitempty"`
 14312  	// DisplayName: Required. The display name of the user. Must be UTF-8 encoded
 14313  	// with a maximum size of 240 bytes.
 14314  	DisplayName string `json:"displayName,omitempty"`
 14315  	// Email: Required. Immutable. The email address used to identify the user.
 14316  	Email string `json:"email,omitempty"`
 14317  	// LastLoginTime: Output only. The timestamp when the user last logged in DV360
 14318  	// UI.
 14319  	LastLoginTime string `json:"lastLoginTime,omitempty"`
 14320  	// Name: Output only. The resource name of the user.
 14321  	Name string `json:"name,omitempty"`
 14322  	// UserId: Output only. The unique ID of the user. Assigned by the system.
 14323  	UserId int64 `json:"userId,omitempty,string"`
 14324  
 14325  	// ServerResponse contains the HTTP response code and headers from the server.
 14326  	googleapi.ServerResponse `json:"-"`
 14327  	// ForceSendFields is a list of field names (e.g. "AssignedUserRoles") to
 14328  	// unconditionally include in API requests. By default, fields with empty or
 14329  	// default values are omitted from API requests. See
 14330  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14331  	// details.
 14332  	ForceSendFields []string `json:"-"`
 14333  	// NullFields is a list of field names (e.g. "AssignedUserRoles") to include in
 14334  	// API requests with the JSON null value. By default, fields with empty values
 14335  	// are omitted from API requests. See
 14336  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14337  	NullFields []string `json:"-"`
 14338  }
 14339  
 14340  func (s *User) MarshalJSON() ([]byte, error) {
 14341  	type NoMethod User
 14342  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14343  }
 14344  
 14345  // UserRewardedContentAssignedTargetingOptionDetails: User rewarded content
 14346  // targeting option details. This will be populated in the
 14347  // user_rewarded_content_details field when targeting_type is
 14348  // `TARGETING_TYPE_USER_REWARDED_CONTENT`.
 14349  type UserRewardedContentAssignedTargetingOptionDetails struct {
 14350  	// TargetingOptionId: Required. The targeting_option_id field when
 14351  	// targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
 14352  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 14353  	// UserRewardedContent: Output only. User rewarded content status for video
 14354  	// ads.
 14355  	//
 14356  	// Possible values:
 14357  	//   "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not
 14358  	// specified or is unknown in this version.
 14359  	//   "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the user will
 14360  	// see a reward after viewing.
 14361  	//   "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other ads
 14362  	// besides user-rewarded.
 14363  	UserRewardedContent string `json:"userRewardedContent,omitempty"`
 14364  	// ForceSendFields is a list of field names (e.g. "TargetingOptionId") to
 14365  	// unconditionally include in API requests. By default, fields with empty or
 14366  	// default values are omitted from API requests. See
 14367  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14368  	// details.
 14369  	ForceSendFields []string `json:"-"`
 14370  	// NullFields is a list of field names (e.g. "TargetingOptionId") to include in
 14371  	// API requests with the JSON null value. By default, fields with empty values
 14372  	// are omitted from API requests. See
 14373  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14374  	NullFields []string `json:"-"`
 14375  }
 14376  
 14377  func (s *UserRewardedContentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14378  	type NoMethod UserRewardedContentAssignedTargetingOptionDetails
 14379  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14380  }
 14381  
 14382  // UserRewardedContentTargetingOptionDetails: Represents a targetable user
 14383  // rewarded content status for video ads only. This will be populated in the
 14384  // user_rewarded_content_details field when targeting_type is
 14385  // `TARGETING_TYPE_USER_REWARDED_CONTENT`.
 14386  type UserRewardedContentTargetingOptionDetails struct {
 14387  	// UserRewardedContent: Output only. User rewarded content status for video
 14388  	// ads.
 14389  	//
 14390  	// Possible values:
 14391  	//   "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not
 14392  	// specified or is unknown in this version.
 14393  	//   "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the user will
 14394  	// see a reward after viewing.
 14395  	//   "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other ads
 14396  	// besides user-rewarded.
 14397  	UserRewardedContent string `json:"userRewardedContent,omitempty"`
 14398  	// ForceSendFields is a list of field names (e.g. "UserRewardedContent") to
 14399  	// unconditionally include in API requests. By default, fields with empty or
 14400  	// default values are omitted from API requests. See
 14401  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14402  	// details.
 14403  	ForceSendFields []string `json:"-"`
 14404  	// NullFields is a list of field names (e.g. "UserRewardedContent") to include
 14405  	// in API requests with the JSON null value. By default, fields with empty
 14406  	// values are omitted from API requests. See
 14407  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14408  	NullFields []string `json:"-"`
 14409  }
 14410  
 14411  func (s *UserRewardedContentTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14412  	type NoMethod UserRewardedContentTargetingOptionDetails
 14413  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14414  }
 14415  
 14416  // VideoAdSequenceSettings: Settings related to VideoAdSequence.
 14417  type VideoAdSequenceSettings struct {
 14418  	// MinimumDuration: The minimum time interval before the same user sees this
 14419  	// sequence again.
 14420  	//
 14421  	// Possible values:
 14422  	//   "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_UNSPECIFIED" - Unspecified or unknown.
 14423  	//   "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_WEEK" - 7 days.
 14424  	//   "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_MONTH" - 30 days.
 14425  	MinimumDuration string `json:"minimumDuration,omitempty"`
 14426  	// Steps: The steps of which the sequence consists.
 14427  	Steps []*VideoAdSequenceStep `json:"steps,omitempty"`
 14428  	// ForceSendFields is a list of field names (e.g. "MinimumDuration") to
 14429  	// unconditionally include in API requests. By default, fields with empty or
 14430  	// default values are omitted from API requests. See
 14431  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14432  	// details.
 14433  	ForceSendFields []string `json:"-"`
 14434  	// NullFields is a list of field names (e.g. "MinimumDuration") to include in
 14435  	// API requests with the JSON null value. By default, fields with empty values
 14436  	// are omitted from API requests. See
 14437  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14438  	NullFields []string `json:"-"`
 14439  }
 14440  
 14441  func (s *VideoAdSequenceSettings) MarshalJSON() ([]byte, error) {
 14442  	type NoMethod VideoAdSequenceSettings
 14443  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14444  }
 14445  
 14446  // VideoAdSequenceStep: The detail of a single step in a VideoAdSequence.
 14447  type VideoAdSequenceStep struct {
 14448  	// AdGroupId: The ID of the corresponding ad group of the step.
 14449  	AdGroupId int64 `json:"adGroupId,omitempty,string"`
 14450  	// InteractionType: The interaction on the previous step that will lead the
 14451  	// viewer to this step. The first step does not have interaction_type.
 14452  	//
 14453  	// Possible values:
 14454  	//   "INTERACTION_TYPE_UNSPECIFIED" - Unspecified or unknown
 14455  	//   "INTERACTION_TYPE_PAID_VIEW" - A paid view.
 14456  	//   "INTERACTION_TYPE_SKIP" - Skipped by the viewer.
 14457  	//   "INTERACTION_TYPE_IMPRESSION" - A (viewed) ad impression.
 14458  	//   "INTERACTION_TYPE_ENGAGED_IMPRESSION" - An ad impression that was not
 14459  	// immediately skipped by the viewer, but didn't reach the billable event
 14460  	// either.
 14461  	InteractionType string `json:"interactionType,omitempty"`
 14462  	// PreviousStepId: The ID of the previous step. The first step does not have
 14463  	// previous step.
 14464  	PreviousStepId int64 `json:"previousStepId,omitempty,string"`
 14465  	// StepId: The ID of the step.
 14466  	StepId int64 `json:"stepId,omitempty,string"`
 14467  	// ForceSendFields is a list of field names (e.g. "AdGroupId") to
 14468  	// unconditionally include in API requests. By default, fields with empty or
 14469  	// default values are omitted from API requests. See
 14470  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14471  	// details.
 14472  	ForceSendFields []string `json:"-"`
 14473  	// NullFields is a list of field names (e.g. "AdGroupId") to include in API
 14474  	// requests with the JSON null value. By default, fields with empty values are
 14475  	// omitted from API requests. See
 14476  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14477  	NullFields []string `json:"-"`
 14478  }
 14479  
 14480  func (s *VideoAdSequenceStep) MarshalJSON() ([]byte, error) {
 14481  	type NoMethod VideoAdSequenceStep
 14482  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14483  }
 14484  
 14485  // VideoDiscoveryAd: Details for a video discovery ad.
 14486  type VideoDiscoveryAd struct {
 14487  	// Description1: First text line for the ad.
 14488  	Description1 string `json:"description1,omitempty"`
 14489  	// Description2: Second text line for the ad.
 14490  	Description2 string `json:"description2,omitempty"`
 14491  	// Headline: The headline of ad.
 14492  	Headline string `json:"headline,omitempty"`
 14493  	// Thumbnail: Thumbnail image used in the ad.
 14494  	//
 14495  	// Possible values:
 14496  	//   "THUMBNAIL_UNSPECIFIED" - Unknown or unspecified.
 14497  	//   "THUMBNAIL_DEFAULT" - The default thumbnail, can be auto-generated or
 14498  	// user-uploaded.
 14499  	//   "THUMBNAIL_1" - Thumbnail 1, generated from the video.
 14500  	//   "THUMBNAIL_2" - Thumbnail 2, generated from the video.
 14501  	//   "THUMBNAIL_3" - Thumbnail 3, generated from the video.
 14502  	Thumbnail string `json:"thumbnail,omitempty"`
 14503  	// Video: The YouTube video the ad promotes.
 14504  	Video *YoutubeVideoDetails `json:"video,omitempty"`
 14505  	// ForceSendFields is a list of field names (e.g. "Description1") to
 14506  	// unconditionally include in API requests. By default, fields with empty or
 14507  	// default values are omitted from API requests. See
 14508  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14509  	// details.
 14510  	ForceSendFields []string `json:"-"`
 14511  	// NullFields is a list of field names (e.g. "Description1") to include in API
 14512  	// requests with the JSON null value. By default, fields with empty values are
 14513  	// omitted from API requests. See
 14514  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14515  	NullFields []string `json:"-"`
 14516  }
 14517  
 14518  func (s *VideoDiscoveryAd) MarshalJSON() ([]byte, error) {
 14519  	type NoMethod VideoDiscoveryAd
 14520  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14521  }
 14522  
 14523  // VideoPerformanceAd: Details for a video performance ad.
 14524  type VideoPerformanceAd struct {
 14525  	// ActionButtonLabels: The list of text assets shown on the call-to-action
 14526  	// button.
 14527  	ActionButtonLabels []string `json:"actionButtonLabels,omitempty"`
 14528  	// CompanionBanners: The list of companion banners used by this ad.
 14529  	CompanionBanners []*ImageAsset `json:"companionBanners,omitempty"`
 14530  	// CustomParameters: The custom parameters to pass custom values to tracking
 14531  	// URL template.
 14532  	CustomParameters map[string]string `json:"customParameters,omitempty"`
 14533  	// Descriptions: The list of descriptions shown on the call-to-action banner.
 14534  	Descriptions []string `json:"descriptions,omitempty"`
 14535  	// DisplayUrlBreadcrumb1: The first piece after the domain in the display URL.
 14536  	DisplayUrlBreadcrumb1 string `json:"displayUrlBreadcrumb1,omitempty"`
 14537  	// DisplayUrlBreadcrumb2: The second piece after the domain in the display URL.
 14538  	DisplayUrlBreadcrumb2 string `json:"displayUrlBreadcrumb2,omitempty"`
 14539  	// Domain: The domain of the display URL.
 14540  	Domain string `json:"domain,omitempty"`
 14541  	// FinalUrl: The URL address of the webpage that people reach after they click
 14542  	// the ad.
 14543  	FinalUrl string `json:"finalUrl,omitempty"`
 14544  	// Headlines: The list of headlines shown on the call-to-action banner.
 14545  	Headlines []string `json:"headlines,omitempty"`
 14546  	// LongHeadlines: The list of lone headlines shown on the call-to-action
 14547  	// banner.
 14548  	LongHeadlines []string `json:"longHeadlines,omitempty"`
 14549  	// TrackingUrl: The URL address loaded in the background for tracking purposes.
 14550  	TrackingUrl string `json:"trackingUrl,omitempty"`
 14551  	// Videos: The list of YouTube video assets used by this ad.
 14552  	Videos []*YoutubeVideoDetails `json:"videos,omitempty"`
 14553  	// ForceSendFields is a list of field names (e.g. "ActionButtonLabels") to
 14554  	// unconditionally include in API requests. By default, fields with empty or
 14555  	// default values are omitted from API requests. See
 14556  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14557  	// details.
 14558  	ForceSendFields []string `json:"-"`
 14559  	// NullFields is a list of field names (e.g. "ActionButtonLabels") to include
 14560  	// in API requests with the JSON null value. By default, fields with empty
 14561  	// values are omitted from API requests. See
 14562  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14563  	NullFields []string `json:"-"`
 14564  }
 14565  
 14566  func (s *VideoPerformanceAd) MarshalJSON() ([]byte, error) {
 14567  	type NoMethod VideoPerformanceAd
 14568  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14569  }
 14570  
 14571  // VideoPlayerSizeAssignedTargetingOptionDetails: Video player size targeting
 14572  // option details. This will be populated in the video_player_size_details
 14573  // field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly
 14574  // targeting all options is not supported. Remove all video player size
 14575  // targeting options to achieve this effect.
 14576  type VideoPlayerSizeAssignedTargetingOptionDetails struct {
 14577  	// VideoPlayerSize: Required. The video player size.
 14578  	//
 14579  	// Possible values:
 14580  	//   "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not specified in
 14581  	// this version. This enum is a place holder for a default value and does not
 14582  	// represent a real video player size.
 14583  	//   "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are less
 14584  	// than 400×300 (desktop), or up to 20% of screen covered (mobile).
 14585  	//   "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are between
 14586  	// 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered
 14587  	// (mobile).
 14588  	//   "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are 1280×720
 14589  	// or greater (desktop), or over 90% of the screen covered (mobile).
 14590  	//   "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player are
 14591  	// unknown.
 14592  	VideoPlayerSize string `json:"videoPlayerSize,omitempty"`
 14593  	// ForceSendFields is a list of field names (e.g. "VideoPlayerSize") to
 14594  	// unconditionally include in API requests. By default, fields with empty or
 14595  	// default values are omitted from API requests. See
 14596  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14597  	// details.
 14598  	ForceSendFields []string `json:"-"`
 14599  	// NullFields is a list of field names (e.g. "VideoPlayerSize") to include in
 14600  	// API requests with the JSON null value. By default, fields with empty values
 14601  	// are omitted from API requests. See
 14602  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14603  	NullFields []string `json:"-"`
 14604  }
 14605  
 14606  func (s *VideoPlayerSizeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14607  	type NoMethod VideoPlayerSizeAssignedTargetingOptionDetails
 14608  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14609  }
 14610  
 14611  // VideoPlayerSizeTargetingOptionDetails: Represents a targetable video player
 14612  // size. This will be populated in the video_player_size_details field when
 14613  // targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
 14614  type VideoPlayerSizeTargetingOptionDetails struct {
 14615  	// VideoPlayerSize: Output only. The video player size.
 14616  	//
 14617  	// Possible values:
 14618  	//   "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not specified in
 14619  	// this version. This enum is a place holder for a default value and does not
 14620  	// represent a real video player size.
 14621  	//   "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are less
 14622  	// than 400×300 (desktop), or up to 20% of screen covered (mobile).
 14623  	//   "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are between
 14624  	// 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered
 14625  	// (mobile).
 14626  	//   "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are 1280×720
 14627  	// or greater (desktop), or over 90% of the screen covered (mobile).
 14628  	//   "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player are
 14629  	// unknown.
 14630  	VideoPlayerSize string `json:"videoPlayerSize,omitempty"`
 14631  	// ForceSendFields is a list of field names (e.g. "VideoPlayerSize") to
 14632  	// unconditionally include in API requests. By default, fields with empty or
 14633  	// default values are omitted from API requests. See
 14634  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14635  	// details.
 14636  	ForceSendFields []string `json:"-"`
 14637  	// NullFields is a list of field names (e.g. "VideoPlayerSize") to include in
 14638  	// API requests with the JSON null value. By default, fields with empty values
 14639  	// are omitted from API requests. See
 14640  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14641  	NullFields []string `json:"-"`
 14642  }
 14643  
 14644  func (s *VideoPlayerSizeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14645  	type NoMethod VideoPlayerSizeTargetingOptionDetails
 14646  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14647  }
 14648  
 14649  // ViewabilityAssignedTargetingOptionDetails: Assigned viewability targeting
 14650  // option details. This will be populated in the viewability_details field of
 14651  // an AssignedTargetingOption when targeting_type is
 14652  // `TARGETING_TYPE_VIEWABILITY`.
 14653  type ViewabilityAssignedTargetingOptionDetails struct {
 14654  	// Viewability: Required. The predicted viewability percentage.
 14655  	//
 14656  	// Possible values:
 14657  	//   "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not
 14658  	// specified in this version. This enum is a placeholder for default value and
 14659  	// does not represent a real viewability option.
 14660  	//   "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are at
 14661  	// least 10% likely to be viewable.
 14662  	//   "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are at
 14663  	// least 20% likely to be viewable.
 14664  	//   "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are at
 14665  	// least 30% likely to be viewable.
 14666  	//   "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are at
 14667  	// least 40% likely to be viewable.
 14668  	//   "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are at
 14669  	// least 50% likely to be viewable.
 14670  	//   "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are at
 14671  	// least 60% likely to be viewable.
 14672  	//   "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are at
 14673  	// least 70% likely to be viewable.
 14674  	//   "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are at
 14675  	// least 80% likely to be viewable.
 14676  	//   "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are at
 14677  	// least 90% likely to be viewable.
 14678  	Viewability string `json:"viewability,omitempty"`
 14679  	// ForceSendFields is a list of field names (e.g. "Viewability") to
 14680  	// unconditionally include in API requests. By default, fields with empty or
 14681  	// default values are omitted from API requests. See
 14682  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14683  	// details.
 14684  	ForceSendFields []string `json:"-"`
 14685  	// NullFields is a list of field names (e.g. "Viewability") to include in API
 14686  	// requests with the JSON null value. By default, fields with empty values are
 14687  	// omitted from API requests. See
 14688  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14689  	NullFields []string `json:"-"`
 14690  }
 14691  
 14692  func (s *ViewabilityAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14693  	type NoMethod ViewabilityAssignedTargetingOptionDetails
 14694  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14695  }
 14696  
 14697  // ViewabilityTargetingOptionDetails: Represents a targetable viewability. This
 14698  // will be populated in the viewability_details field of a TargetingOption when
 14699  // targeting_type is `TARGETING_TYPE_VIEWABILITY`.
 14700  type ViewabilityTargetingOptionDetails struct {
 14701  	// Viewability: Output only. The predicted viewability percentage.
 14702  	//
 14703  	// Possible values:
 14704  	//   "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not
 14705  	// specified in this version. This enum is a placeholder for default value and
 14706  	// does not represent a real viewability option.
 14707  	//   "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are at
 14708  	// least 10% likely to be viewable.
 14709  	//   "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are at
 14710  	// least 20% likely to be viewable.
 14711  	//   "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are at
 14712  	// least 30% likely to be viewable.
 14713  	//   "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are at
 14714  	// least 40% likely to be viewable.
 14715  	//   "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are at
 14716  	// least 50% likely to be viewable.
 14717  	//   "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are at
 14718  	// least 60% likely to be viewable.
 14719  	//   "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are at
 14720  	// least 70% likely to be viewable.
 14721  	//   "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are at
 14722  	// least 80% likely to be viewable.
 14723  	//   "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are at
 14724  	// least 90% likely to be viewable.
 14725  	Viewability string `json:"viewability,omitempty"`
 14726  	// ForceSendFields is a list of field names (e.g. "Viewability") to
 14727  	// unconditionally include in API requests. By default, fields with empty or
 14728  	// default values are omitted from API requests. See
 14729  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14730  	// details.
 14731  	ForceSendFields []string `json:"-"`
 14732  	// NullFields is a list of field names (e.g. "Viewability") to include in API
 14733  	// requests with the JSON null value. By default, fields with empty values are
 14734  	// omitted from API requests. See
 14735  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14736  	NullFields []string `json:"-"`
 14737  }
 14738  
 14739  func (s *ViewabilityTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14740  	type NoMethod ViewabilityTargetingOptionDetails
 14741  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14742  }
 14743  
 14744  // YoutubeAdGroup: A single YouTube ad group associated with a YouTube and
 14745  // Partners line item.
 14746  type YoutubeAdGroup struct {
 14747  	// AdGroupFormat: The format of the ads in the ad group.
 14748  	//
 14749  	// Possible values:
 14750  	//   "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_UNSPECIFIED" - Format value is not
 14751  	// specified or is unknown in this version.
 14752  	//   "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_IN_STREAM" - In-stream ads.
 14753  	//   "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_VIDEO_DISCOVERY" - In-feed ads.
 14754  	//   "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_BUMPER" - Bumper ads.
 14755  	//   "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_NON_SKIPPABLE_IN_STREAM" -
 14756  	// Non-skippable in-stream ads.
 14757  	//   "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_AUDIO" - Non-skippable in-stream
 14758  	// audio ads.
 14759  	//   "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_ACTION" - [Responsive ads for video
 14760  	// action campaigns] (https://support.google.com/displayvideo/answer/9065351).
 14761  	//   "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_REACH" - [Effective reach ad groups]
 14762  	// (https://support.google.com/displayvideo/answer/9173684), including
 14763  	// in-stream and bumper ads.
 14764  	//   "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_MASTHEAD" - Masthead Ad that is
 14765  	// surfaced on the top slot on the YouTube homepage.
 14766  	AdGroupFormat string `json:"adGroupFormat,omitempty"`
 14767  	// AdGroupId: The unique ID of the ad group. Assigned by the system.
 14768  	AdGroupId int64 `json:"adGroupId,omitempty,string"`
 14769  	// AdvertiserId: The unique ID of the advertiser the ad group belongs to.
 14770  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 14771  	// BiddingStrategy: The bidding strategy used by the ad group.
 14772  	BiddingStrategy *YoutubeAndPartnersBiddingStrategy `json:"biddingStrategy,omitempty"`
 14773  	// DisplayName: The display name of the ad group. Must be UTF-8 encoded with a
 14774  	// maximum size of 255 bytes.
 14775  	DisplayName string `json:"displayName,omitempty"`
 14776  	// EntityStatus: Controls whether or not the ad group can spend its budget and
 14777  	// bid on inventory. If the ad group's parent line item is not active, the ad
 14778  	// group can't spend its budget even if its own status is
 14779  	// `ENTITY_STATUS_ACTIVE`.
 14780  	//
 14781  	// Possible values:
 14782  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
 14783  	// or is unknown in this version.
 14784  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
 14785  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
 14786  	// spending are disabled. An entity can be deleted after archived. Deleted
 14787  	// entities cannot be retrieved.
 14788  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
 14789  	// spending are disabled.
 14790  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
 14791  	// entity.
 14792  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
 14793  	// deletion.
 14794  	EntityStatus string `json:"entityStatus,omitempty"`
 14795  	// LineItemId: The unique ID of the line item that the ad group belongs to.
 14796  	LineItemId int64 `json:"lineItemId,omitempty,string"`
 14797  	// Name: The resource name of the ad group.
 14798  	Name string `json:"name,omitempty"`
 14799  	// ProductFeedData: The settings of the product feed in this ad group.
 14800  	ProductFeedData *ProductFeedData `json:"productFeedData,omitempty"`
 14801  	// TargetingExpansion: The targeting expansion
 14802  	// (https://support.google.com/displayvideo/answer/10191558) settings of the ad
 14803  	// group. This config is only applicable when eligible audience list targeting
 14804  	// is assigned to the ad group.
 14805  	TargetingExpansion *TargetingExpansionConfig `json:"targetingExpansion,omitempty"`
 14806  	// YoutubeAdIds: The IDs of the youtube_ad_group_ad resources associated with
 14807  	// the ad group.
 14808  	YoutubeAdIds googleapi.Int64s `json:"youtubeAdIds,omitempty"`
 14809  
 14810  	// ServerResponse contains the HTTP response code and headers from the server.
 14811  	googleapi.ServerResponse `json:"-"`
 14812  	// ForceSendFields is a list of field names (e.g. "AdGroupFormat") to
 14813  	// unconditionally include in API requests. By default, fields with empty or
 14814  	// default values are omitted from API requests. See
 14815  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14816  	// details.
 14817  	ForceSendFields []string `json:"-"`
 14818  	// NullFields is a list of field names (e.g. "AdGroupFormat") to include in API
 14819  	// requests with the JSON null value. By default, fields with empty values are
 14820  	// omitted from API requests. See
 14821  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14822  	NullFields []string `json:"-"`
 14823  }
 14824  
 14825  func (s *YoutubeAdGroup) MarshalJSON() ([]byte, error) {
 14826  	type NoMethod YoutubeAdGroup
 14827  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14828  }
 14829  
 14830  // YoutubeAdGroupAd: A single ad associated with a YouTube ad group.
 14831  type YoutubeAdGroupAd struct {
 14832  	// AdGroupAdId: The unique ID of the ad. Assigned by the system.
 14833  	AdGroupAdId int64 `json:"adGroupAdId,omitempty,string"`
 14834  	// AdGroupId: The unique ID of the ad group that the ad belongs to.
 14835  	AdGroupId int64 `json:"adGroupId,omitempty,string"`
 14836  	// AdUrls: List of URLs used by the ad.
 14837  	AdUrls []*AdUrl `json:"adUrls,omitempty"`
 14838  	// AdvertiserId: The unique ID of the advertiser the ad belongs to.
 14839  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 14840  	// AudioAd: Details of an audio ad
 14841  	// (//support.google.com/displayvideo/answer/6274216) used for reach marketing
 14842  	// objectives.
 14843  	AudioAd *AudioAd `json:"audioAd,omitempty"`
 14844  	// BumperAd: Details of a non-skippable short video ad
 14845  	// (//support.google.com/displayvideo/answer/6274216), equal to or less than 6
 14846  	// seconds, used for reach.
 14847  	BumperAd *BumperAd `json:"bumperAd,omitempty"`
 14848  	// DisplayName: The display name of the ad. Must be UTF-8 encoded with a
 14849  	// maximum size of 255 bytes.
 14850  	DisplayName string `json:"displayName,omitempty"`
 14851  	// DisplayVideoSourceAd: Details of an ad sourced from a Display & Video 360
 14852  	// creative.
 14853  	DisplayVideoSourceAd *DisplayVideoSourceAd `json:"displayVideoSourceAd,omitempty"`
 14854  	// EntityStatus: The entity status of the ad.
 14855  	//
 14856  	// Possible values:
 14857  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
 14858  	// or is unknown in this version.
 14859  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
 14860  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
 14861  	// spending are disabled. An entity can be deleted after archived. Deleted
 14862  	// entities cannot be retrieved.
 14863  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
 14864  	// spending are disabled.
 14865  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
 14866  	// entity.
 14867  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
 14868  	// deletion.
 14869  	EntityStatus string `json:"entityStatus,omitempty"`
 14870  	// InStreamAd: Details of an in-stream ad skippable after 5 seconds
 14871  	// (//support.google.com/displayvideo/answer/6274216), used for brand awareness
 14872  	// or reach marketing objectives.
 14873  	InStreamAd *InStreamAd `json:"inStreamAd,omitempty"`
 14874  	// MastheadAd: Details of an ad served on the YouTube Home feed
 14875  	// (//support.google.com/google-ads/answer/9709826).
 14876  	MastheadAd *MastheadAd `json:"mastheadAd,omitempty"`
 14877  	// Name: The resource name of the ad.
 14878  	Name string `json:"name,omitempty"`
 14879  	// NonSkippableAd: Details of a non-skippable short in-stream video ad
 14880  	// (//support.google.com/displayvideo/answer/6274216), between 6 and 15
 14881  	// seconds, used for reach marketing objectives.
 14882  	NonSkippableAd *NonSkippableAd `json:"nonSkippableAd,omitempty"`
 14883  	// VideoDiscoverAd: Details of an ad promoting a video
 14884  	// (//support.google.com/displayvideo/answer/6274216) that shows in places of
 14885  	// discovery.
 14886  	VideoDiscoverAd *VideoDiscoveryAd `json:"videoDiscoverAd,omitempty"`
 14887  	// VideoPerformanceAd: Details of an ad used in a video action campaign
 14888  	// (//support.google.com/google-ads/answer/10147229) to drive actions to the
 14889  	// business, service or product.
 14890  	VideoPerformanceAd *VideoPerformanceAd `json:"videoPerformanceAd,omitempty"`
 14891  
 14892  	// ServerResponse contains the HTTP response code and headers from the server.
 14893  	googleapi.ServerResponse `json:"-"`
 14894  	// ForceSendFields is a list of field names (e.g. "AdGroupAdId") to
 14895  	// unconditionally include in API requests. By default, fields with empty or
 14896  	// default values are omitted from API requests. See
 14897  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14898  	// details.
 14899  	ForceSendFields []string `json:"-"`
 14900  	// NullFields is a list of field names (e.g. "AdGroupAdId") to include in API
 14901  	// requests with the JSON null value. By default, fields with empty values are
 14902  	// omitted from API requests. See
 14903  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14904  	NullFields []string `json:"-"`
 14905  }
 14906  
 14907  func (s *YoutubeAdGroupAd) MarshalJSON() ([]byte, error) {
 14908  	type NoMethod YoutubeAdGroupAd
 14909  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14910  }
 14911  
 14912  // YoutubeAdGroupAssignedTargetingOption: Wrapper object associating an
 14913  // AssignedTargetingOption resource and the youtube ad group it is assigned to.
 14914  type YoutubeAdGroupAssignedTargetingOption struct {
 14915  	// AssignedTargetingOption: The assigned targeting option resource.
 14916  	AssignedTargetingOption *AssignedTargetingOption `json:"assignedTargetingOption,omitempty"`
 14917  	// YoutubeAdGroupId: The ID of the youtube ad group the assigned targeting
 14918  	// option is assigned to.
 14919  	YoutubeAdGroupId int64 `json:"youtubeAdGroupId,omitempty,string"`
 14920  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOption") to
 14921  	// unconditionally include in API requests. By default, fields with empty or
 14922  	// default values are omitted from API requests. See
 14923  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14924  	// details.
 14925  	ForceSendFields []string `json:"-"`
 14926  	// NullFields is a list of field names (e.g. "AssignedTargetingOption") to
 14927  	// include in API requests with the JSON null value. By default, fields with
 14928  	// empty values are omitted from API requests. See
 14929  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14930  	NullFields []string `json:"-"`
 14931  }
 14932  
 14933  func (s *YoutubeAdGroupAssignedTargetingOption) MarshalJSON() ([]byte, error) {
 14934  	type NoMethod YoutubeAdGroupAssignedTargetingOption
 14935  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14936  }
 14937  
 14938  // YoutubeAndPartnersBiddingStrategy: Settings that control the bid strategy
 14939  // for YouTube and Partners resources.
 14940  type YoutubeAndPartnersBiddingStrategy struct {
 14941  	// AdGroupEffectiveTargetCpaSource: Output only. Source of the effective target
 14942  	// CPA value for ad group.
 14943  	//
 14944  	// Possible values:
 14945  	//   "BIDDING_SOURCE_UNSPECIFIED" - Bidding source is not specified or unknown.
 14946  	//   "BIDDING_SOURCE_LINE_ITEM" - Bidding value is inherited from the line
 14947  	// item.
 14948  	//   "BIDDING_SOURCE_AD_GROUP" - Bidding value is defined in the ad group.
 14949  	AdGroupEffectiveTargetCpaSource string `json:"adGroupEffectiveTargetCpaSource,omitempty"`
 14950  	// AdGroupEffectiveTargetCpaValue: Output only. The effective target CPA for ad
 14951  	// group, in micros of advertiser's currency.
 14952  	AdGroupEffectiveTargetCpaValue int64 `json:"adGroupEffectiveTargetCpaValue,omitempty,string"`
 14953  	// Type: The type of the bidding strategy.
 14954  	//
 14955  	// Possible values:
 14956  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED" - Type is not
 14957  	// specified or unknown.
 14958  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV" - A bidding
 14959  	// strategy that pays a configurable amount per video view.
 14960  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM" - A bidding
 14961  	// strategy that pays a configurable amount per impression.
 14962  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA" - A bidding
 14963  	// strategy that automatically optimizes conversions per dollar.
 14964  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM" - A bidding
 14965  	// strategy that pays a configurable amount per impression.
 14966  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM" - A bidding
 14967  	// strategy for YouTube Instant Reserve line items that pays a fixed amount per
 14968  	// impression.
 14969  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT" - An automated
 14970  	// bidding strategy that sets bids to achieve maximum lift.
 14971  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS" - A
 14972  	// bidding strategy that automatically maximizes number of conversions given a
 14973  	// daily budget.
 14974  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV" - A bidding
 14975  	// strategy that automatically optimizes cost per video view.
 14976  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS" - A bidding
 14977  	// strategy that automatically maximizes revenue while averaging a specific
 14978  	// target Return On Ad Spend (ROAS).
 14979  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE" - A
 14980  	// bidding strategy that automatically sets bids to maximize revenue while
 14981  	// spending your budget.
 14982  	Type string `json:"type,omitempty"`
 14983  	// Value: The value used by the bidding strategy. When the bidding strategy is
 14984  	// assigned at the line item level, this field is only applicable for the
 14985  	// following strategy types: *
 14986  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` *
 14987  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` When the bidding
 14988  	// strategy is assigned at the ad group level, this field is only applicable
 14989  	// for the following strategy types: *
 14990  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM` *
 14991  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV` *
 14992  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` *
 14993  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM` *
 14994  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM` *
 14995  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` If not using an
 14996  	// applicable strategy, the value of this field will be 0.
 14997  	Value int64 `json:"value,omitempty,string"`
 14998  	// ForceSendFields is a list of field names (e.g.
 14999  	// "AdGroupEffectiveTargetCpaSource") to unconditionally include in API
 15000  	// requests. By default, fields with empty or default values are omitted from
 15001  	// API requests. See
 15002  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15003  	// details.
 15004  	ForceSendFields []string `json:"-"`
 15005  	// NullFields is a list of field names (e.g. "AdGroupEffectiveTargetCpaSource")
 15006  	// to include in API requests with the JSON null value. By default, fields with
 15007  	// empty values are omitted from API requests. See
 15008  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15009  	NullFields []string `json:"-"`
 15010  }
 15011  
 15012  func (s *YoutubeAndPartnersBiddingStrategy) MarshalJSON() ([]byte, error) {
 15013  	type NoMethod YoutubeAndPartnersBiddingStrategy
 15014  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15015  }
 15016  
 15017  // YoutubeAndPartnersInventorySourceConfig: Settings that control what YouTube
 15018  // related inventories the YouTube and Partners line item will target.
 15019  type YoutubeAndPartnersInventorySourceConfig struct {
 15020  	// IncludeGoogleTv: Optional. Whether to target inventory in video apps
 15021  	// available with Google TV.
 15022  	IncludeGoogleTv bool `json:"includeGoogleTv,omitempty"`
 15023  	// IncludeYoutubeSearch: Whether to target inventory on the YouTube search
 15024  	// results page.
 15025  	IncludeYoutubeSearch bool `json:"includeYoutubeSearch,omitempty"`
 15026  	// IncludeYoutubeVideoPartners: Whether to target inventory on a collection of
 15027  	// partner sites and apps that follow the same brand safety standards as
 15028  	// YouTube.
 15029  	IncludeYoutubeVideoPartners bool `json:"includeYoutubeVideoPartners,omitempty"`
 15030  	// IncludeYoutubeVideos: Whether to target inventory of channels and videos on
 15031  	// YouTube and YouTube videos embedded on other sites.
 15032  	IncludeYoutubeVideos bool `json:"includeYoutubeVideos,omitempty"`
 15033  	// ForceSendFields is a list of field names (e.g. "IncludeGoogleTv") to
 15034  	// unconditionally include in API requests. By default, fields with empty or
 15035  	// default values are omitted from API requests. See
 15036  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15037  	// details.
 15038  	ForceSendFields []string `json:"-"`
 15039  	// NullFields is a list of field names (e.g. "IncludeGoogleTv") to include in
 15040  	// API requests with the JSON null value. By default, fields with empty values
 15041  	// are omitted from API requests. See
 15042  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15043  	NullFields []string `json:"-"`
 15044  }
 15045  
 15046  func (s *YoutubeAndPartnersInventorySourceConfig) MarshalJSON() ([]byte, error) {
 15047  	type NoMethod YoutubeAndPartnersInventorySourceConfig
 15048  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15049  }
 15050  
 15051  // YoutubeAndPartnersSettings: Settings for YouTube and Partners line items.
 15052  type YoutubeAndPartnersSettings struct {
 15053  	// BiddingStrategy: Required. The bidding strategy of the YouTube and Partners
 15054  	// line item.
 15055  	BiddingStrategy *YoutubeAndPartnersBiddingStrategy `json:"biddingStrategy,omitempty"`
 15056  	// ContentCategory: The kind of content on which the YouTube and Partners ads
 15057  	// will be shown.
 15058  	//
 15059  	// Possible values:
 15060  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED" - Content category is
 15061  	// not specified or is unknown in this version.
 15062  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD" - A category consisting
 15063  	// of a wide range of content appropriate for most brands. The content is based
 15064  	// off of YouTube's [advertiser-friendly content
 15065  	// guidelines](https://support.google.com/youtube/answer/6162278).
 15066  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED" - A category including
 15067  	// all content across YouTube and video partners that meets standards for
 15068  	// monetization.
 15069  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" - A category consisting of
 15070  	// a reduced range of content that meets heightened requirements, especially
 15071  	// regarding inappropriate language and sexual suggestiveness.
 15072  	ContentCategory string `json:"contentCategory,omitempty"`
 15073  	// EffectiveContentCategory: Output only. The content category which takes
 15074  	// effect when serving the line item. When content category is set in both line
 15075  	// item and advertiser, the stricter one will take effect when serving the line
 15076  	// item.
 15077  	//
 15078  	// Possible values:
 15079  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED" - Content category is
 15080  	// not specified or is unknown in this version.
 15081  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD" - A category consisting
 15082  	// of a wide range of content appropriate for most brands. The content is based
 15083  	// off of YouTube's [advertiser-friendly content
 15084  	// guidelines](https://support.google.com/youtube/answer/6162278).
 15085  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED" - A category including
 15086  	// all content across YouTube and video partners that meets standards for
 15087  	// monetization.
 15088  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" - A category consisting of
 15089  	// a reduced range of content that meets heightened requirements, especially
 15090  	// regarding inappropriate language and sexual suggestiveness.
 15091  	EffectiveContentCategory string `json:"effectiveContentCategory,omitempty"`
 15092  	// InventorySourceSettings: Settings that control what YouTube and Partners
 15093  	// inventories the line item will target.
 15094  	InventorySourceSettings *YoutubeAndPartnersInventorySourceConfig `json:"inventorySourceSettings,omitempty"`
 15095  	// LeadFormId: Optional. The ID of the form to generate leads.
 15096  	LeadFormId int64 `json:"leadFormId,omitempty,string"`
 15097  	// LinkedMerchantId: Optional. The ID of the merchant which is linked to the
 15098  	// line item for product feed.
 15099  	LinkedMerchantId int64 `json:"linkedMerchantId,omitempty,string"`
 15100  	// RelatedVideoIds: Optional. The IDs of the videos appear below the primary
 15101  	// video ad when the ad is playing in the YouTube app on mobile devices.
 15102  	RelatedVideoIds []string `json:"relatedVideoIds,omitempty"`
 15103  	// TargetFrequency: Optional. The average number of times you want ads from
 15104  	// this line item to show to the same person over a certain period of time.
 15105  	TargetFrequency *TargetFrequency `json:"targetFrequency,omitempty"`
 15106  	// ThirdPartyMeasurementSettings: Optional. The third-party measurement
 15107  	// settings of the line item.
 15108  	ThirdPartyMeasurementSettings *YoutubeAndPartnersThirdPartyMeasurementSettings `json:"thirdPartyMeasurementSettings,omitempty"`
 15109  	// VideoAdSequenceSettings: Optional. The settings related to VideoAdSequence.
 15110  	VideoAdSequenceSettings *VideoAdSequenceSettings `json:"videoAdSequenceSettings,omitempty"`
 15111  	// ViewFrequencyCap: The view frequency cap settings of the line item. The
 15112  	// max_views field in this settings object must be used if assigning a limited
 15113  	// cap.
 15114  	ViewFrequencyCap *FrequencyCap `json:"viewFrequencyCap,omitempty"`
 15115  	// ForceSendFields is a list of field names (e.g. "BiddingStrategy") to
 15116  	// unconditionally include in API requests. By default, fields with empty or
 15117  	// default values are omitted from API requests. See
 15118  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15119  	// details.
 15120  	ForceSendFields []string `json:"-"`
 15121  	// NullFields is a list of field names (e.g. "BiddingStrategy") to include in
 15122  	// API requests with the JSON null value. By default, fields with empty values
 15123  	// are omitted from API requests. See
 15124  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15125  	NullFields []string `json:"-"`
 15126  }
 15127  
 15128  func (s *YoutubeAndPartnersSettings) MarshalJSON() ([]byte, error) {
 15129  	type NoMethod YoutubeAndPartnersSettings
 15130  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15131  }
 15132  
 15133  // YoutubeAndPartnersThirdPartyMeasurementSettings: Settings that control what
 15134  // third-party vendors are measuring specific line item metrics.
 15135  type YoutubeAndPartnersThirdPartyMeasurementSettings struct {
 15136  	// BrandLiftVendorConfigs: The third-party vendors measuring brand lift. The
 15137  	// following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_DYNATA`
 15138  	// * `THIRD_PARTY_VENDOR_KANTAR`
 15139  	BrandLiftVendorConfigs []*ThirdPartyVendorConfig `json:"brandLiftVendorConfigs,omitempty"`
 15140  	// BrandSafetyVendorConfigs: The third-party vendors measuring brand safety.
 15141  	// The following third-party vendors are applicable: *
 15142  	// `THIRD_PARTY_VENDOR_ZERF` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` *
 15143  	// `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE`
 15144  	BrandSafetyVendorConfigs []*ThirdPartyVendorConfig `json:"brandSafetyVendorConfigs,omitempty"`
 15145  	// ReachVendorConfigs: The third-party vendors measuring reach. The following
 15146  	// third-party vendors are applicable: * `THIRD_PARTY_VENDOR_NIELSEN` *
 15147  	// `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_KANTAR`
 15148  	ReachVendorConfigs []*ThirdPartyVendorConfig `json:"reachVendorConfigs,omitempty"`
 15149  	// ViewabilityVendorConfigs: The third-party vendors measuring viewability. The
 15150  	// following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_MOAT` *
 15151  	// `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` *
 15152  	// `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` * `THIRD_PARTY_VENDOR_COMSCORE` *
 15153  	// `THIRD_PARTY_VENDOR_TELEMETRY` * `THIRD_PARTY_VENDOR_MEETRICS`
 15154  	ViewabilityVendorConfigs []*ThirdPartyVendorConfig `json:"viewabilityVendorConfigs,omitempty"`
 15155  	// ForceSendFields is a list of field names (e.g. "BrandLiftVendorConfigs") to
 15156  	// unconditionally include in API requests. By default, fields with empty or
 15157  	// default values are omitted from API requests. See
 15158  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15159  	// details.
 15160  	ForceSendFields []string `json:"-"`
 15161  	// NullFields is a list of field names (e.g. "BrandLiftVendorConfigs") to
 15162  	// include in API requests with the JSON null value. By default, fields with
 15163  	// empty values are omitted from API requests. See
 15164  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15165  	NullFields []string `json:"-"`
 15166  }
 15167  
 15168  func (s *YoutubeAndPartnersThirdPartyMeasurementSettings) MarshalJSON() ([]byte, error) {
 15169  	type NoMethod YoutubeAndPartnersThirdPartyMeasurementSettings
 15170  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15171  }
 15172  
 15173  // YoutubeChannelAssignedTargetingOptionDetails: Details for YouTube channel
 15174  // assigned targeting option. This will be populated in the
 15175  // youtube_channel_details field when targeting_type is
 15176  // `TARGETING_TYPE_YOUTUBE_CHANNEL`.
 15177  type YoutubeChannelAssignedTargetingOptionDetails struct {
 15178  	// ChannelId: The YouTube uploader channel id or the channel code of a YouTube
 15179  	// channel.
 15180  	ChannelId string `json:"channelId,omitempty"`
 15181  	// Negative: Indicates if this option is being negatively targeted.
 15182  	Negative bool `json:"negative,omitempty"`
 15183  	// ForceSendFields is a list of field names (e.g. "ChannelId") to
 15184  	// unconditionally include in API requests. By default, fields with empty or
 15185  	// default values are omitted from API requests. See
 15186  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15187  	// details.
 15188  	ForceSendFields []string `json:"-"`
 15189  	// NullFields is a list of field names (e.g. "ChannelId") to include in API
 15190  	// requests with the JSON null value. By default, fields with empty values are
 15191  	// omitted from API requests. See
 15192  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15193  	NullFields []string `json:"-"`
 15194  }
 15195  
 15196  func (s *YoutubeChannelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15197  	type NoMethod YoutubeChannelAssignedTargetingOptionDetails
 15198  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15199  }
 15200  
 15201  // YoutubeVideoAssignedTargetingOptionDetails: Details for YouTube video
 15202  // assigned targeting option. This will be populated in the
 15203  // youtube_video_details field when targeting_type is
 15204  // `TARGETING_TYPE_YOUTUBE_VIDEO`.
 15205  type YoutubeVideoAssignedTargetingOptionDetails struct {
 15206  	// Negative: Indicates if this option is being negatively targeted.
 15207  	Negative bool `json:"negative,omitempty"`
 15208  	// VideoId: YouTube video id as it appears on the YouTube watch page.
 15209  	VideoId string `json:"videoId,omitempty"`
 15210  	// ForceSendFields is a list of field names (e.g. "Negative") to
 15211  	// unconditionally include in API requests. By default, fields with empty or
 15212  	// default values are omitted from API requests. See
 15213  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15214  	// details.
 15215  	ForceSendFields []string `json:"-"`
 15216  	// NullFields is a list of field names (e.g. "Negative") to include in API
 15217  	// requests with the JSON null value. By default, fields with empty values are
 15218  	// omitted from API requests. See
 15219  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15220  	NullFields []string `json:"-"`
 15221  }
 15222  
 15223  func (s *YoutubeVideoAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15224  	type NoMethod YoutubeVideoAssignedTargetingOptionDetails
 15225  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15226  }
 15227  
 15228  // YoutubeVideoDetails: Details of a YouTube video.
 15229  type YoutubeVideoDetails struct {
 15230  	// Id: The YouTube video ID which can be searched on YouTube webpage.
 15231  	Id string `json:"id,omitempty"`
 15232  	// UnavailableReason: The reason why the video data is not available.
 15233  	//
 15234  	// Possible values:
 15235  	//   "VIDEO_UNAVAILABLE_REASON_UNSPECIFIED" - Unknown or unspecified.
 15236  	//   "VIDEO_UNAVAILABLE_REASON_PRIVATE" - The video is private.
 15237  	//   "VIDEO_UNAVAILABLE_REASON_DELETED" - The video is deleted.
 15238  	UnavailableReason string `json:"unavailableReason,omitempty"`
 15239  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
 15240  	// include in API requests. By default, fields with empty or default values are
 15241  	// omitted from API requests. See
 15242  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15243  	// details.
 15244  	ForceSendFields []string `json:"-"`
 15245  	// NullFields is a list of field names (e.g. "Id") to include in API requests
 15246  	// with the JSON null value. By default, fields with empty values are omitted
 15247  	// from API requests. See
 15248  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15249  	NullFields []string `json:"-"`
 15250  }
 15251  
 15252  func (s *YoutubeVideoDetails) MarshalJSON() ([]byte, error) {
 15253  	type NoMethod YoutubeVideoDetails
 15254  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15255  }
 15256  
 15257  type AdvertisersAuditCall struct {
 15258  	s            *Service
 15259  	advertiserId int64
 15260  	urlParams_   gensupport.URLParams
 15261  	ifNoneMatch_ string
 15262  	ctx_         context.Context
 15263  	header_      http.Header
 15264  }
 15265  
 15266  // Audit: Audits an advertiser. Returns the counts of used entities per
 15267  // resource type under the advertiser provided. Used entities count towards
 15268  // their respective resource limit. See
 15269  // https://support.google.com/displayvideo/answer/6071450.
 15270  //
 15271  // - advertiserId: The ID of the advertiser to audit.
 15272  func (r *AdvertisersService) Audit(advertiserId int64) *AdvertisersAuditCall {
 15273  	c := &AdvertisersAuditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15274  	c.advertiserId = advertiserId
 15275  	return c
 15276  }
 15277  
 15278  // ReadMask sets the optional parameter "readMask": The specific fields to
 15279  // return. If no mask is specified, all fields in the response proto will be
 15280  // filled. Valid values are: * usedLineItemsCount * usedInsertionOrdersCount *
 15281  // usedCampaignsCount * channelsCount * negativelyTargetedChannelsCount *
 15282  // negativeKeywordListsCount * adGroupCriteriaCount * campaignCriteriaCount
 15283  func (c *AdvertisersAuditCall) ReadMask(readMask string) *AdvertisersAuditCall {
 15284  	c.urlParams_.Set("readMask", readMask)
 15285  	return c
 15286  }
 15287  
 15288  // Fields allows partial responses to be retrieved. See
 15289  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15290  // details.
 15291  func (c *AdvertisersAuditCall) Fields(s ...googleapi.Field) *AdvertisersAuditCall {
 15292  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15293  	return c
 15294  }
 15295  
 15296  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15297  // object's ETag matches the given value. This is useful for getting updates
 15298  // only after the object has changed since the last request.
 15299  func (c *AdvertisersAuditCall) IfNoneMatch(entityTag string) *AdvertisersAuditCall {
 15300  	c.ifNoneMatch_ = entityTag
 15301  	return c
 15302  }
 15303  
 15304  // Context sets the context to be used in this call's Do method.
 15305  func (c *AdvertisersAuditCall) Context(ctx context.Context) *AdvertisersAuditCall {
 15306  	c.ctx_ = ctx
 15307  	return c
 15308  }
 15309  
 15310  // Header returns a http.Header that can be modified by the caller to add
 15311  // headers to the request.
 15312  func (c *AdvertisersAuditCall) Header() http.Header {
 15313  	if c.header_ == nil {
 15314  		c.header_ = make(http.Header)
 15315  	}
 15316  	return c.header_
 15317  }
 15318  
 15319  func (c *AdvertisersAuditCall) doRequest(alt string) (*http.Response, error) {
 15320  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15321  	if c.ifNoneMatch_ != "" {
 15322  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15323  	}
 15324  	var body io.Reader = nil
 15325  	c.urlParams_.Set("alt", alt)
 15326  	c.urlParams_.Set("prettyPrint", "false")
 15327  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}:audit")
 15328  	urls += "?" + c.urlParams_.Encode()
 15329  	req, err := http.NewRequest("GET", urls, body)
 15330  	if err != nil {
 15331  		return nil, err
 15332  	}
 15333  	req.Header = reqHeaders
 15334  	googleapi.Expand(req.URL, map[string]string{
 15335  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 15336  	})
 15337  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15338  }
 15339  
 15340  // Do executes the "displayvideo.advertisers.audit" call.
 15341  // Any non-2xx status code is an error. Response headers are in either
 15342  // *AuditAdvertiserResponse.ServerResponse.Header or (if a response was
 15343  // returned at all) in error.(*googleapi.Error).Header. Use
 15344  // googleapi.IsNotModified to check whether the returned error was because
 15345  // http.StatusNotModified was returned.
 15346  func (c *AdvertisersAuditCall) Do(opts ...googleapi.CallOption) (*AuditAdvertiserResponse, error) {
 15347  	gensupport.SetOptions(c.urlParams_, opts...)
 15348  	res, err := c.doRequest("json")
 15349  	if res != nil && res.StatusCode == http.StatusNotModified {
 15350  		if res.Body != nil {
 15351  			res.Body.Close()
 15352  		}
 15353  		return nil, gensupport.WrapError(&googleapi.Error{
 15354  			Code:   res.StatusCode,
 15355  			Header: res.Header,
 15356  		})
 15357  	}
 15358  	if err != nil {
 15359  		return nil, err
 15360  	}
 15361  	defer googleapi.CloseBody(res)
 15362  	if err := googleapi.CheckResponse(res); err != nil {
 15363  		return nil, gensupport.WrapError(err)
 15364  	}
 15365  	ret := &AuditAdvertiserResponse{
 15366  		ServerResponse: googleapi.ServerResponse{
 15367  			Header:         res.Header,
 15368  			HTTPStatusCode: res.StatusCode,
 15369  		},
 15370  	}
 15371  	target := &ret
 15372  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15373  		return nil, err
 15374  	}
 15375  	return ret, nil
 15376  }
 15377  
 15378  type AdvertisersCreateCall struct {
 15379  	s          *Service
 15380  	advertiser *Advertiser
 15381  	urlParams_ gensupport.URLParams
 15382  	ctx_       context.Context
 15383  	header_    http.Header
 15384  }
 15385  
 15386  // Create: Creates a new advertiser. Returns the newly created advertiser if
 15387  // successful. **This method regularly experiences high latency.** We recommend
 15388  // increasing your default timeout
 15389  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 15390  // to avoid errors.
 15391  func (r *AdvertisersService) Create(advertiser *Advertiser) *AdvertisersCreateCall {
 15392  	c := &AdvertisersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15393  	c.advertiser = advertiser
 15394  	return c
 15395  }
 15396  
 15397  // Fields allows partial responses to be retrieved. See
 15398  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15399  // details.
 15400  func (c *AdvertisersCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreateCall {
 15401  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15402  	return c
 15403  }
 15404  
 15405  // Context sets the context to be used in this call's Do method.
 15406  func (c *AdvertisersCreateCall) Context(ctx context.Context) *AdvertisersCreateCall {
 15407  	c.ctx_ = ctx
 15408  	return c
 15409  }
 15410  
 15411  // Header returns a http.Header that can be modified by the caller to add
 15412  // headers to the request.
 15413  func (c *AdvertisersCreateCall) Header() http.Header {
 15414  	if c.header_ == nil {
 15415  		c.header_ = make(http.Header)
 15416  	}
 15417  	return c.header_
 15418  }
 15419  
 15420  func (c *AdvertisersCreateCall) doRequest(alt string) (*http.Response, error) {
 15421  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15422  	var body io.Reader = nil
 15423  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 15424  	if err != nil {
 15425  		return nil, err
 15426  	}
 15427  	c.urlParams_.Set("alt", alt)
 15428  	c.urlParams_.Set("prettyPrint", "false")
 15429  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers")
 15430  	urls += "?" + c.urlParams_.Encode()
 15431  	req, err := http.NewRequest("POST", urls, body)
 15432  	if err != nil {
 15433  		return nil, err
 15434  	}
 15435  	req.Header = reqHeaders
 15436  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15437  }
 15438  
 15439  // Do executes the "displayvideo.advertisers.create" call.
 15440  // Any non-2xx status code is an error. Response headers are in either
 15441  // *Advertiser.ServerResponse.Header or (if a response was returned at all) in
 15442  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15443  // whether the returned error was because http.StatusNotModified was returned.
 15444  func (c *AdvertisersCreateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 15445  	gensupport.SetOptions(c.urlParams_, opts...)
 15446  	res, err := c.doRequest("json")
 15447  	if res != nil && res.StatusCode == http.StatusNotModified {
 15448  		if res.Body != nil {
 15449  			res.Body.Close()
 15450  		}
 15451  		return nil, gensupport.WrapError(&googleapi.Error{
 15452  			Code:   res.StatusCode,
 15453  			Header: res.Header,
 15454  		})
 15455  	}
 15456  	if err != nil {
 15457  		return nil, err
 15458  	}
 15459  	defer googleapi.CloseBody(res)
 15460  	if err := googleapi.CheckResponse(res); err != nil {
 15461  		return nil, gensupport.WrapError(err)
 15462  	}
 15463  	ret := &Advertiser{
 15464  		ServerResponse: googleapi.ServerResponse{
 15465  			Header:         res.Header,
 15466  			HTTPStatusCode: res.StatusCode,
 15467  		},
 15468  	}
 15469  	target := &ret
 15470  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15471  		return nil, err
 15472  	}
 15473  	return ret, nil
 15474  }
 15475  
 15476  type AdvertisersDeleteCall struct {
 15477  	s            *Service
 15478  	advertiserId int64
 15479  	urlParams_   gensupport.URLParams
 15480  	ctx_         context.Context
 15481  	header_      http.Header
 15482  }
 15483  
 15484  // Delete: Deletes an advertiser. Deleting an advertiser will delete all of its
 15485  // child resources, for example, campaigns, insertion orders and line items. A
 15486  // deleted advertiser cannot be recovered.
 15487  //
 15488  // - advertiserId: The ID of the advertiser we need to delete.
 15489  func (r *AdvertisersService) Delete(advertiserId int64) *AdvertisersDeleteCall {
 15490  	c := &AdvertisersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15491  	c.advertiserId = advertiserId
 15492  	return c
 15493  }
 15494  
 15495  // Fields allows partial responses to be retrieved. See
 15496  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15497  // details.
 15498  func (c *AdvertisersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersDeleteCall {
 15499  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15500  	return c
 15501  }
 15502  
 15503  // Context sets the context to be used in this call's Do method.
 15504  func (c *AdvertisersDeleteCall) Context(ctx context.Context) *AdvertisersDeleteCall {
 15505  	c.ctx_ = ctx
 15506  	return c
 15507  }
 15508  
 15509  // Header returns a http.Header that can be modified by the caller to add
 15510  // headers to the request.
 15511  func (c *AdvertisersDeleteCall) Header() http.Header {
 15512  	if c.header_ == nil {
 15513  		c.header_ = make(http.Header)
 15514  	}
 15515  	return c.header_
 15516  }
 15517  
 15518  func (c *AdvertisersDeleteCall) doRequest(alt string) (*http.Response, error) {
 15519  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15520  	var body io.Reader = nil
 15521  	c.urlParams_.Set("alt", alt)
 15522  	c.urlParams_.Set("prettyPrint", "false")
 15523  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}")
 15524  	urls += "?" + c.urlParams_.Encode()
 15525  	req, err := http.NewRequest("DELETE", urls, body)
 15526  	if err != nil {
 15527  		return nil, err
 15528  	}
 15529  	req.Header = reqHeaders
 15530  	googleapi.Expand(req.URL, map[string]string{
 15531  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 15532  	})
 15533  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15534  }
 15535  
 15536  // Do executes the "displayvideo.advertisers.delete" call.
 15537  // Any non-2xx status code is an error. Response headers are in either
 15538  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 15539  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15540  // whether the returned error was because http.StatusNotModified was returned.
 15541  func (c *AdvertisersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 15542  	gensupport.SetOptions(c.urlParams_, opts...)
 15543  	res, err := c.doRequest("json")
 15544  	if res != nil && res.StatusCode == http.StatusNotModified {
 15545  		if res.Body != nil {
 15546  			res.Body.Close()
 15547  		}
 15548  		return nil, gensupport.WrapError(&googleapi.Error{
 15549  			Code:   res.StatusCode,
 15550  			Header: res.Header,
 15551  		})
 15552  	}
 15553  	if err != nil {
 15554  		return nil, err
 15555  	}
 15556  	defer googleapi.CloseBody(res)
 15557  	if err := googleapi.CheckResponse(res); err != nil {
 15558  		return nil, gensupport.WrapError(err)
 15559  	}
 15560  	ret := &Empty{
 15561  		ServerResponse: googleapi.ServerResponse{
 15562  			Header:         res.Header,
 15563  			HTTPStatusCode: res.StatusCode,
 15564  		},
 15565  	}
 15566  	target := &ret
 15567  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15568  		return nil, err
 15569  	}
 15570  	return ret, nil
 15571  }
 15572  
 15573  type AdvertisersEditAssignedTargetingOptionsCall struct {
 15574  	s                                                 *Service
 15575  	advertiserId                                      int64
 15576  	bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest
 15577  	urlParams_                                        gensupport.URLParams
 15578  	ctx_                                              context.Context
 15579  	header_                                           http.Header
 15580  }
 15581  
 15582  // EditAssignedTargetingOptions: Edits targeting options under a single
 15583  // advertiser. The operation will delete the assigned targeting options
 15584  // provided in
 15585  // BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then
 15586  // create the assigned targeting options provided in
 15587  // BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .
 15588  //
 15589  // - advertiserId: The ID of the advertiser.
 15590  func (r *AdvertisersService) EditAssignedTargetingOptions(advertiserId int64, bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest) *AdvertisersEditAssignedTargetingOptionsCall {
 15591  	c := &AdvertisersEditAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15592  	c.advertiserId = advertiserId
 15593  	c.bulkeditadvertiserassignedtargetingoptionsrequest = bulkeditadvertiserassignedtargetingoptionsrequest
 15594  	return c
 15595  }
 15596  
 15597  // Fields allows partial responses to be retrieved. See
 15598  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15599  // details.
 15600  func (c *AdvertisersEditAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersEditAssignedTargetingOptionsCall {
 15601  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15602  	return c
 15603  }
 15604  
 15605  // Context sets the context to be used in this call's Do method.
 15606  func (c *AdvertisersEditAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersEditAssignedTargetingOptionsCall {
 15607  	c.ctx_ = ctx
 15608  	return c
 15609  }
 15610  
 15611  // Header returns a http.Header that can be modified by the caller to add
 15612  // headers to the request.
 15613  func (c *AdvertisersEditAssignedTargetingOptionsCall) Header() http.Header {
 15614  	if c.header_ == nil {
 15615  		c.header_ = make(http.Header)
 15616  	}
 15617  	return c.header_
 15618  }
 15619  
 15620  func (c *AdvertisersEditAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 15621  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 15622  	var body io.Reader = nil
 15623  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditadvertiserassignedtargetingoptionsrequest)
 15624  	if err != nil {
 15625  		return nil, err
 15626  	}
 15627  	c.urlParams_.Set("alt", alt)
 15628  	c.urlParams_.Set("prettyPrint", "false")
 15629  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}:editAssignedTargetingOptions")
 15630  	urls += "?" + c.urlParams_.Encode()
 15631  	req, err := http.NewRequest("POST", urls, body)
 15632  	if err != nil {
 15633  		return nil, err
 15634  	}
 15635  	req.Header = reqHeaders
 15636  	googleapi.Expand(req.URL, map[string]string{
 15637  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 15638  	})
 15639  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15640  }
 15641  
 15642  // Do executes the "displayvideo.advertisers.editAssignedTargetingOptions" call.
 15643  // Any non-2xx status code is an error. Response headers are in either
 15644  // *BulkEditAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header or
 15645  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 15646  // googleapi.IsNotModified to check whether the returned error was because
 15647  // http.StatusNotModified was returned.
 15648  func (c *AdvertisersEditAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditAdvertiserAssignedTargetingOptionsResponse, error) {
 15649  	gensupport.SetOptions(c.urlParams_, opts...)
 15650  	res, err := c.doRequest("json")
 15651  	if res != nil && res.StatusCode == http.StatusNotModified {
 15652  		if res.Body != nil {
 15653  			res.Body.Close()
 15654  		}
 15655  		return nil, gensupport.WrapError(&googleapi.Error{
 15656  			Code:   res.StatusCode,
 15657  			Header: res.Header,
 15658  		})
 15659  	}
 15660  	if err != nil {
 15661  		return nil, err
 15662  	}
 15663  	defer googleapi.CloseBody(res)
 15664  	if err := googleapi.CheckResponse(res); err != nil {
 15665  		return nil, gensupport.WrapError(err)
 15666  	}
 15667  	ret := &BulkEditAdvertiserAssignedTargetingOptionsResponse{
 15668  		ServerResponse: googleapi.ServerResponse{
 15669  			Header:         res.Header,
 15670  			HTTPStatusCode: res.StatusCode,
 15671  		},
 15672  	}
 15673  	target := &ret
 15674  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15675  		return nil, err
 15676  	}
 15677  	return ret, nil
 15678  }
 15679  
 15680  type AdvertisersGetCall struct {
 15681  	s            *Service
 15682  	advertiserId int64
 15683  	urlParams_   gensupport.URLParams
 15684  	ifNoneMatch_ string
 15685  	ctx_         context.Context
 15686  	header_      http.Header
 15687  }
 15688  
 15689  // Get: Gets an advertiser.
 15690  //
 15691  // - advertiserId: The ID of the advertiser to fetch.
 15692  func (r *AdvertisersService) Get(advertiserId int64) *AdvertisersGetCall {
 15693  	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15694  	c.advertiserId = advertiserId
 15695  	return c
 15696  }
 15697  
 15698  // Fields allows partial responses to be retrieved. See
 15699  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15700  // details.
 15701  func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
 15702  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15703  	return c
 15704  }
 15705  
 15706  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15707  // object's ETag matches the given value. This is useful for getting updates
 15708  // only after the object has changed since the last request.
 15709  func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
 15710  	c.ifNoneMatch_ = entityTag
 15711  	return c
 15712  }
 15713  
 15714  // Context sets the context to be used in this call's Do method.
 15715  func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 15716  	c.ctx_ = ctx
 15717  	return c
 15718  }
 15719  
 15720  // Header returns a http.Header that can be modified by the caller to add
 15721  // headers to the request.
 15722  func (c *AdvertisersGetCall) Header() http.Header {
 15723  	if c.header_ == nil {
 15724  		c.header_ = make(http.Header)
 15725  	}
 15726  	return c.header_
 15727  }
 15728  
 15729  func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 15730  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15731  	if c.ifNoneMatch_ != "" {
 15732  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15733  	}
 15734  	var body io.Reader = nil
 15735  	c.urlParams_.Set("alt", alt)
 15736  	c.urlParams_.Set("prettyPrint", "false")
 15737  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}")
 15738  	urls += "?" + c.urlParams_.Encode()
 15739  	req, err := http.NewRequest("GET", urls, body)
 15740  	if err != nil {
 15741  		return nil, err
 15742  	}
 15743  	req.Header = reqHeaders
 15744  	googleapi.Expand(req.URL, map[string]string{
 15745  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 15746  	})
 15747  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15748  }
 15749  
 15750  // Do executes the "displayvideo.advertisers.get" call.
 15751  // Any non-2xx status code is an error. Response headers are in either
 15752  // *Advertiser.ServerResponse.Header or (if a response was returned at all) in
 15753  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 15754  // whether the returned error was because http.StatusNotModified was returned.
 15755  func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 15756  	gensupport.SetOptions(c.urlParams_, opts...)
 15757  	res, err := c.doRequest("json")
 15758  	if res != nil && res.StatusCode == http.StatusNotModified {
 15759  		if res.Body != nil {
 15760  			res.Body.Close()
 15761  		}
 15762  		return nil, gensupport.WrapError(&googleapi.Error{
 15763  			Code:   res.StatusCode,
 15764  			Header: res.Header,
 15765  		})
 15766  	}
 15767  	if err != nil {
 15768  		return nil, err
 15769  	}
 15770  	defer googleapi.CloseBody(res)
 15771  	if err := googleapi.CheckResponse(res); err != nil {
 15772  		return nil, gensupport.WrapError(err)
 15773  	}
 15774  	ret := &Advertiser{
 15775  		ServerResponse: googleapi.ServerResponse{
 15776  			Header:         res.Header,
 15777  			HTTPStatusCode: res.StatusCode,
 15778  		},
 15779  	}
 15780  	target := &ret
 15781  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15782  		return nil, err
 15783  	}
 15784  	return ret, nil
 15785  }
 15786  
 15787  type AdvertisersListCall struct {
 15788  	s            *Service
 15789  	urlParams_   gensupport.URLParams
 15790  	ifNoneMatch_ string
 15791  	ctx_         context.Context
 15792  	header_      http.Header
 15793  }
 15794  
 15795  // List: Lists advertisers that are accessible to the current user. The order
 15796  // is defined by the order_by parameter. A single partner_id is required.
 15797  // Cross-partner listing is not supported.
 15798  func (r *AdvertisersService) List() *AdvertisersListCall {
 15799  	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15800  	return c
 15801  }
 15802  
 15803  // Filter sets the optional parameter "filter": Allows filtering by advertiser
 15804  // fields. Supported syntax: * Filter expressions are made up of one or more
 15805  // restrictions. * Restrictions can be combined by `AND` or `OR` logical
 15806  // operators. * A restriction has the form of `{field} {operator} {value}`. *
 15807  // The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS
 15808  // THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS
 15809  // (=)` operator. Supported fields: * `advertiserId` * `displayName` *
 15810  // `entityStatus` * `updateTime` (input in ISO 8601 format, or
 15811  // `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All active advertisers under a partner:
 15812  // `entityStatus="ENTITY_STATUS_ACTIVE" * All advertisers with an update time
 15813  // less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 15814  // `updateTime<="2020-11-04T18:54:47Z" * All advertisers with an update time
 15815  // greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 15816  // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no
 15817  // more than 500 characters. Reference our filter `LIST` requests
 15818  // (/display-video/api/guides/how-tos/filters) guide for more information.
 15819  func (c *AdvertisersListCall) Filter(filter string) *AdvertisersListCall {
 15820  	c.urlParams_.Set("filter", filter)
 15821  	return c
 15822  }
 15823  
 15824  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 15825  // list. Acceptable values are: * `displayName` (default) * `entityStatus` *
 15826  // `updateTime` The default sorting order is ascending. To specify descending
 15827  // order for a field, a suffix "desc" should be added to the field name. For
 15828  // example, `displayName desc`.
 15829  func (c *AdvertisersListCall) OrderBy(orderBy string) *AdvertisersListCall {
 15830  	c.urlParams_.Set("orderBy", orderBy)
 15831  	return c
 15832  }
 15833  
 15834  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 15835  // be between `1` and `200`. If unspecified will default to `100`.
 15836  func (c *AdvertisersListCall) PageSize(pageSize int64) *AdvertisersListCall {
 15837  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 15838  	return c
 15839  }
 15840  
 15841  // PageToken sets the optional parameter "pageToken": A token identifying a
 15842  // page of results the server should return. Typically, this is the value of
 15843  // next_page_token returned from the previous call to `ListAdvertisers` method.
 15844  // If not specified, the first page of results will be returned.
 15845  func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
 15846  	c.urlParams_.Set("pageToken", pageToken)
 15847  	return c
 15848  }
 15849  
 15850  // PartnerId sets the optional parameter "partnerId": Required. The ID of the
 15851  // partner that the fetched advertisers should all belong to. The system only
 15852  // supports listing advertisers for one partner at a time.
 15853  func (c *AdvertisersListCall) PartnerId(partnerId int64) *AdvertisersListCall {
 15854  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 15855  	return c
 15856  }
 15857  
 15858  // Fields allows partial responses to be retrieved. See
 15859  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15860  // details.
 15861  func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
 15862  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15863  	return c
 15864  }
 15865  
 15866  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15867  // object's ETag matches the given value. This is useful for getting updates
 15868  // only after the object has changed since the last request.
 15869  func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
 15870  	c.ifNoneMatch_ = entityTag
 15871  	return c
 15872  }
 15873  
 15874  // Context sets the context to be used in this call's Do method.
 15875  func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 15876  	c.ctx_ = ctx
 15877  	return c
 15878  }
 15879  
 15880  // Header returns a http.Header that can be modified by the caller to add
 15881  // headers to the request.
 15882  func (c *AdvertisersListCall) Header() http.Header {
 15883  	if c.header_ == nil {
 15884  		c.header_ = make(http.Header)
 15885  	}
 15886  	return c.header_
 15887  }
 15888  
 15889  func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 15890  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15891  	if c.ifNoneMatch_ != "" {
 15892  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15893  	}
 15894  	var body io.Reader = nil
 15895  	c.urlParams_.Set("alt", alt)
 15896  	c.urlParams_.Set("prettyPrint", "false")
 15897  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers")
 15898  	urls += "?" + c.urlParams_.Encode()
 15899  	req, err := http.NewRequest("GET", urls, body)
 15900  	if err != nil {
 15901  		return nil, err
 15902  	}
 15903  	req.Header = reqHeaders
 15904  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15905  }
 15906  
 15907  // Do executes the "displayvideo.advertisers.list" call.
 15908  // Any non-2xx status code is an error. Response headers are in either
 15909  // *ListAdvertisersResponse.ServerResponse.Header or (if a response was
 15910  // returned at all) in error.(*googleapi.Error).Header. Use
 15911  // googleapi.IsNotModified to check whether the returned error was because
 15912  // http.StatusNotModified was returned.
 15913  func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*ListAdvertisersResponse, error) {
 15914  	gensupport.SetOptions(c.urlParams_, opts...)
 15915  	res, err := c.doRequest("json")
 15916  	if res != nil && res.StatusCode == http.StatusNotModified {
 15917  		if res.Body != nil {
 15918  			res.Body.Close()
 15919  		}
 15920  		return nil, gensupport.WrapError(&googleapi.Error{
 15921  			Code:   res.StatusCode,
 15922  			Header: res.Header,
 15923  		})
 15924  	}
 15925  	if err != nil {
 15926  		return nil, err
 15927  	}
 15928  	defer googleapi.CloseBody(res)
 15929  	if err := googleapi.CheckResponse(res); err != nil {
 15930  		return nil, gensupport.WrapError(err)
 15931  	}
 15932  	ret := &ListAdvertisersResponse{
 15933  		ServerResponse: googleapi.ServerResponse{
 15934  			Header:         res.Header,
 15935  			HTTPStatusCode: res.StatusCode,
 15936  		},
 15937  	}
 15938  	target := &ret
 15939  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15940  		return nil, err
 15941  	}
 15942  	return ret, nil
 15943  }
 15944  
 15945  // Pages invokes f for each page of results.
 15946  // A non-nil error returned from f will halt the iteration.
 15947  // The provided context supersedes any context provided to the Context method.
 15948  func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*ListAdvertisersResponse) error) error {
 15949  	c.ctx_ = ctx
 15950  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 15951  	for {
 15952  		x, err := c.Do()
 15953  		if err != nil {
 15954  			return err
 15955  		}
 15956  		if err := f(x); err != nil {
 15957  			return err
 15958  		}
 15959  		if x.NextPageToken == "" {
 15960  			return nil
 15961  		}
 15962  		c.PageToken(x.NextPageToken)
 15963  	}
 15964  }
 15965  
 15966  type AdvertisersListAssignedTargetingOptionsCall struct {
 15967  	s            *Service
 15968  	advertiserId int64
 15969  	urlParams_   gensupport.URLParams
 15970  	ifNoneMatch_ string
 15971  	ctx_         context.Context
 15972  	header_      http.Header
 15973  }
 15974  
 15975  // ListAssignedTargetingOptions: Lists assigned targeting options of an
 15976  // advertiser across targeting types.
 15977  //
 15978  // - advertiserId: The ID of the advertiser the line item belongs to.
 15979  func (r *AdvertisersService) ListAssignedTargetingOptions(advertiserId int64) *AdvertisersListAssignedTargetingOptionsCall {
 15980  	c := &AdvertisersListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15981  	c.advertiserId = advertiserId
 15982  	return c
 15983  }
 15984  
 15985  // Filter sets the optional parameter "filter": Allows filtering by assigned
 15986  // targeting option fields. Supported syntax: * Filter expressions are made up
 15987  // of one or more restrictions. * Restrictions can be combined by the `OR`
 15988  // logical operator. * A restriction has the form of `{field} {operator}
 15989  // {value}`. * All fields must use the `EQUALS (=) operator`. Supported fields:
 15990  // * `targetingType` Examples: * targetingType with value
 15991  // TARGETING_TYPE_CHANNEL `targetingType="TARGETING_TYPE_CHANNEL" The length
 15992  // of this field should be no more than 500 characters. Reference our filter
 15993  // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more
 15994  // information.
 15995  func (c *AdvertisersListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersListAssignedTargetingOptionsCall {
 15996  	c.urlParams_.Set("filter", filter)
 15997  	return c
 15998  }
 15999  
 16000  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 16001  // list. Acceptable values are: * `targetingType` (default) The default sorting
 16002  // order is ascending. To specify descending order for a field, a suffix "desc"
 16003  // should be added to the field name. Example: `targetingType desc`.
 16004  func (c *AdvertisersListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersListAssignedTargetingOptionsCall {
 16005  	c.urlParams_.Set("orderBy", orderBy)
 16006  	return c
 16007  }
 16008  
 16009  // PageSize sets the optional parameter "pageSize": Requested page size. The
 16010  // size must be an integer between `1` and `5000`. If unspecified, the default
 16011  // is '5000'. Returns error code `INVALID_ARGUMENT` if an invalid value is
 16012  // specified.
 16013  func (c *AdvertisersListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersListAssignedTargetingOptionsCall {
 16014  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 16015  	return c
 16016  }
 16017  
 16018  // PageToken sets the optional parameter "pageToken": A token that lets the
 16019  // client fetch the next page of results. Typically, this is the value of
 16020  // next_page_token returned from the previous call to
 16021  // `BulkListAdvertiserAssignedTargetingOptions` method. If not specified, the
 16022  // first page of results will be returned.
 16023  func (c *AdvertisersListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersListAssignedTargetingOptionsCall {
 16024  	c.urlParams_.Set("pageToken", pageToken)
 16025  	return c
 16026  }
 16027  
 16028  // Fields allows partial responses to be retrieved. See
 16029  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16030  // details.
 16031  func (c *AdvertisersListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersListAssignedTargetingOptionsCall {
 16032  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16033  	return c
 16034  }
 16035  
 16036  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16037  // object's ETag matches the given value. This is useful for getting updates
 16038  // only after the object has changed since the last request.
 16039  func (c *AdvertisersListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersListAssignedTargetingOptionsCall {
 16040  	c.ifNoneMatch_ = entityTag
 16041  	return c
 16042  }
 16043  
 16044  // Context sets the context to be used in this call's Do method.
 16045  func (c *AdvertisersListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersListAssignedTargetingOptionsCall {
 16046  	c.ctx_ = ctx
 16047  	return c
 16048  }
 16049  
 16050  // Header returns a http.Header that can be modified by the caller to add
 16051  // headers to the request.
 16052  func (c *AdvertisersListAssignedTargetingOptionsCall) Header() http.Header {
 16053  	if c.header_ == nil {
 16054  		c.header_ = make(http.Header)
 16055  	}
 16056  	return c.header_
 16057  }
 16058  
 16059  func (c *AdvertisersListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 16060  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16061  	if c.ifNoneMatch_ != "" {
 16062  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16063  	}
 16064  	var body io.Reader = nil
 16065  	c.urlParams_.Set("alt", alt)
 16066  	c.urlParams_.Set("prettyPrint", "false")
 16067  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}:listAssignedTargetingOptions")
 16068  	urls += "?" + c.urlParams_.Encode()
 16069  	req, err := http.NewRequest("GET", urls, body)
 16070  	if err != nil {
 16071  		return nil, err
 16072  	}
 16073  	req.Header = reqHeaders
 16074  	googleapi.Expand(req.URL, map[string]string{
 16075  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16076  	})
 16077  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16078  }
 16079  
 16080  // Do executes the "displayvideo.advertisers.listAssignedTargetingOptions" call.
 16081  // Any non-2xx status code is an error. Response headers are in either
 16082  // *BulkListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header or
 16083  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 16084  // googleapi.IsNotModified to check whether the returned error was because
 16085  // http.StatusNotModified was returned.
 16086  func (c *AdvertisersListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAdvertiserAssignedTargetingOptionsResponse, error) {
 16087  	gensupport.SetOptions(c.urlParams_, opts...)
 16088  	res, err := c.doRequest("json")
 16089  	if res != nil && res.StatusCode == http.StatusNotModified {
 16090  		if res.Body != nil {
 16091  			res.Body.Close()
 16092  		}
 16093  		return nil, gensupport.WrapError(&googleapi.Error{
 16094  			Code:   res.StatusCode,
 16095  			Header: res.Header,
 16096  		})
 16097  	}
 16098  	if err != nil {
 16099  		return nil, err
 16100  	}
 16101  	defer googleapi.CloseBody(res)
 16102  	if err := googleapi.CheckResponse(res); err != nil {
 16103  		return nil, gensupport.WrapError(err)
 16104  	}
 16105  	ret := &BulkListAdvertiserAssignedTargetingOptionsResponse{
 16106  		ServerResponse: googleapi.ServerResponse{
 16107  			Header:         res.Header,
 16108  			HTTPStatusCode: res.StatusCode,
 16109  		},
 16110  	}
 16111  	target := &ret
 16112  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16113  		return nil, err
 16114  	}
 16115  	return ret, nil
 16116  }
 16117  
 16118  // Pages invokes f for each page of results.
 16119  // A non-nil error returned from f will halt the iteration.
 16120  // The provided context supersedes any context provided to the Context method.
 16121  func (c *AdvertisersListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAdvertiserAssignedTargetingOptionsResponse) error) error {
 16122  	c.ctx_ = ctx
 16123  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 16124  	for {
 16125  		x, err := c.Do()
 16126  		if err != nil {
 16127  			return err
 16128  		}
 16129  		if err := f(x); err != nil {
 16130  			return err
 16131  		}
 16132  		if x.NextPageToken == "" {
 16133  			return nil
 16134  		}
 16135  		c.PageToken(x.NextPageToken)
 16136  	}
 16137  }
 16138  
 16139  type AdvertisersPatchCall struct {
 16140  	s            *Service
 16141  	advertiserId int64
 16142  	advertiser   *Advertiser
 16143  	urlParams_   gensupport.URLParams
 16144  	ctx_         context.Context
 16145  	header_      http.Header
 16146  }
 16147  
 16148  // Patch: Updates an existing advertiser. Returns the updated advertiser if
 16149  // successful.
 16150  //
 16151  //   - advertiserId: Output only. The unique ID of the advertiser. Assigned by
 16152  //     the system.
 16153  func (r *AdvertisersService) Patch(advertiserId int64, advertiser *Advertiser) *AdvertisersPatchCall {
 16154  	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16155  	c.advertiserId = advertiserId
 16156  	c.advertiser = advertiser
 16157  	return c
 16158  }
 16159  
 16160  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 16161  // control which fields to update.
 16162  func (c *AdvertisersPatchCall) UpdateMask(updateMask string) *AdvertisersPatchCall {
 16163  	c.urlParams_.Set("updateMask", updateMask)
 16164  	return c
 16165  }
 16166  
 16167  // Fields allows partial responses to be retrieved. See
 16168  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16169  // details.
 16170  func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
 16171  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16172  	return c
 16173  }
 16174  
 16175  // Context sets the context to be used in this call's Do method.
 16176  func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 16177  	c.ctx_ = ctx
 16178  	return c
 16179  }
 16180  
 16181  // Header returns a http.Header that can be modified by the caller to add
 16182  // headers to the request.
 16183  func (c *AdvertisersPatchCall) Header() http.Header {
 16184  	if c.header_ == nil {
 16185  		c.header_ = make(http.Header)
 16186  	}
 16187  	return c.header_
 16188  }
 16189  
 16190  func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 16191  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16192  	var body io.Reader = nil
 16193  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 16194  	if err != nil {
 16195  		return nil, err
 16196  	}
 16197  	c.urlParams_.Set("alt", alt)
 16198  	c.urlParams_.Set("prettyPrint", "false")
 16199  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}")
 16200  	urls += "?" + c.urlParams_.Encode()
 16201  	req, err := http.NewRequest("PATCH", urls, body)
 16202  	if err != nil {
 16203  		return nil, err
 16204  	}
 16205  	req.Header = reqHeaders
 16206  	googleapi.Expand(req.URL, map[string]string{
 16207  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16208  	})
 16209  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16210  }
 16211  
 16212  // Do executes the "displayvideo.advertisers.patch" call.
 16213  // Any non-2xx status code is an error. Response headers are in either
 16214  // *Advertiser.ServerResponse.Header or (if a response was returned at all) in
 16215  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16216  // whether the returned error was because http.StatusNotModified was returned.
 16217  func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 16218  	gensupport.SetOptions(c.urlParams_, opts...)
 16219  	res, err := c.doRequest("json")
 16220  	if res != nil && res.StatusCode == http.StatusNotModified {
 16221  		if res.Body != nil {
 16222  			res.Body.Close()
 16223  		}
 16224  		return nil, gensupport.WrapError(&googleapi.Error{
 16225  			Code:   res.StatusCode,
 16226  			Header: res.Header,
 16227  		})
 16228  	}
 16229  	if err != nil {
 16230  		return nil, err
 16231  	}
 16232  	defer googleapi.CloseBody(res)
 16233  	if err := googleapi.CheckResponse(res); err != nil {
 16234  		return nil, gensupport.WrapError(err)
 16235  	}
 16236  	ret := &Advertiser{
 16237  		ServerResponse: googleapi.ServerResponse{
 16238  			Header:         res.Header,
 16239  			HTTPStatusCode: res.StatusCode,
 16240  		},
 16241  	}
 16242  	target := &ret
 16243  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16244  		return nil, err
 16245  	}
 16246  	return ret, nil
 16247  }
 16248  
 16249  type AdvertisersAssetsUploadCall struct {
 16250  	s                  *Service
 16251  	advertiserId       int64
 16252  	createassetrequest *CreateAssetRequest
 16253  	urlParams_         gensupport.URLParams
 16254  	mediaInfo_         *gensupport.MediaInfo
 16255  	ctx_               context.Context
 16256  	header_            http.Header
 16257  }
 16258  
 16259  // Upload: Uploads an asset. Returns the ID of the newly uploaded asset if
 16260  // successful. The asset file size should be no more than 10 MB for images, 200
 16261  // MB for ZIP files, and 1 GB for videos. Must be used within the multipart
 16262  // media upload process (/display-video/api/guides/how-tos/upload#multipart).
 16263  // Examples using provided client libraries can be found in our Creating
 16264  // Creatives guide
 16265  // (/display-video/api/guides/creating-creatives/overview#upload_an_asset).
 16266  //
 16267  // - advertiserId: The ID of the advertiser this asset belongs to.
 16268  func (r *AdvertisersAssetsService) Upload(advertiserId int64, createassetrequest *CreateAssetRequest) *AdvertisersAssetsUploadCall {
 16269  	c := &AdvertisersAssetsUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16270  	c.advertiserId = advertiserId
 16271  	c.createassetrequest = createassetrequest
 16272  	return c
 16273  }
 16274  
 16275  // Media specifies the media to upload in one or more chunks. The chunk size
 16276  // may be controlled by supplying a MediaOption generated by
 16277  // googleapi.ChunkSize. The chunk size defaults to
 16278  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
 16279  // request will be determined by sniffing the contents of r, unless a
 16280  // MediaOption generated by googleapi.ContentType is supplied.
 16281  // At most one of Media and ResumableMedia may be set.
 16282  func (c *AdvertisersAssetsUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *AdvertisersAssetsUploadCall {
 16283  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 16284  	return c
 16285  }
 16286  
 16287  // ResumableMedia specifies the media to upload in chunks and can be canceled
 16288  // with ctx.
 16289  //
 16290  // Deprecated: use Media instead.
 16291  //
 16292  // At most one of Media and ResumableMedia may be set. mediaType identifies the
 16293  // MIME media type of the upload, such as "image/png". If mediaType is "", it
 16294  // will be auto-detected. The provided ctx will supersede any context
 16295  // previously provided to the Context method.
 16296  func (c *AdvertisersAssetsUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *AdvertisersAssetsUploadCall {
 16297  	c.ctx_ = ctx
 16298  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 16299  	return c
 16300  }
 16301  
 16302  // ProgressUpdater provides a callback function that will be called after every
 16303  // chunk. It should be a low-latency function in order to not slow down the
 16304  // upload operation. This should only be called when using ResumableMedia (as
 16305  // opposed to Media).
 16306  func (c *AdvertisersAssetsUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *AdvertisersAssetsUploadCall {
 16307  	c.mediaInfo_.SetProgressUpdater(pu)
 16308  	return c
 16309  }
 16310  
 16311  // Fields allows partial responses to be retrieved. See
 16312  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16313  // details.
 16314  func (c *AdvertisersAssetsUploadCall) Fields(s ...googleapi.Field) *AdvertisersAssetsUploadCall {
 16315  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16316  	return c
 16317  }
 16318  
 16319  // Context sets the context to be used in this call's Do method.
 16320  // This context will supersede any context previously provided to the
 16321  // ResumableMedia method.
 16322  func (c *AdvertisersAssetsUploadCall) Context(ctx context.Context) *AdvertisersAssetsUploadCall {
 16323  	c.ctx_ = ctx
 16324  	return c
 16325  }
 16326  
 16327  // Header returns a http.Header that can be modified by the caller to add
 16328  // headers to the request.
 16329  func (c *AdvertisersAssetsUploadCall) Header() http.Header {
 16330  	if c.header_ == nil {
 16331  		c.header_ = make(http.Header)
 16332  	}
 16333  	return c.header_
 16334  }
 16335  
 16336  func (c *AdvertisersAssetsUploadCall) doRequest(alt string) (*http.Response, error) {
 16337  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16338  	var body io.Reader = nil
 16339  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createassetrequest)
 16340  	if err != nil {
 16341  		return nil, err
 16342  	}
 16343  	c.urlParams_.Set("alt", alt)
 16344  	c.urlParams_.Set("prettyPrint", "false")
 16345  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/assets")
 16346  	if c.mediaInfo_ != nil {
 16347  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/v2/advertisers/{+advertiserId}/assets")
 16348  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 16349  	}
 16350  	if body == nil {
 16351  		body = new(bytes.Buffer)
 16352  		reqHeaders.Set("Content-Type", "application/json")
 16353  	}
 16354  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 16355  	defer cleanup()
 16356  	urls += "?" + c.urlParams_.Encode()
 16357  	req, err := http.NewRequest("POST", urls, body)
 16358  	if err != nil {
 16359  		return nil, err
 16360  	}
 16361  	req.Header = reqHeaders
 16362  	req.GetBody = getBody
 16363  	googleapi.Expand(req.URL, map[string]string{
 16364  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16365  	})
 16366  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16367  }
 16368  
 16369  // Do executes the "displayvideo.advertisers.assets.upload" call.
 16370  // Any non-2xx status code is an error. Response headers are in either
 16371  // *CreateAssetResponse.ServerResponse.Header or (if a response was returned at
 16372  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16373  // check whether the returned error was because http.StatusNotModified was
 16374  // returned.
 16375  func (c *AdvertisersAssetsUploadCall) Do(opts ...googleapi.CallOption) (*CreateAssetResponse, error) {
 16376  	gensupport.SetOptions(c.urlParams_, opts...)
 16377  	res, err := c.doRequest("json")
 16378  	if res != nil && res.StatusCode == http.StatusNotModified {
 16379  		if res.Body != nil {
 16380  			res.Body.Close()
 16381  		}
 16382  		return nil, gensupport.WrapError(&googleapi.Error{
 16383  			Code:   res.StatusCode,
 16384  			Header: res.Header,
 16385  		})
 16386  	}
 16387  	if err != nil {
 16388  		return nil, err
 16389  	}
 16390  	defer googleapi.CloseBody(res)
 16391  	if err := googleapi.CheckResponse(res); err != nil {
 16392  		return nil, gensupport.WrapError(err)
 16393  	}
 16394  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 16395  	if rx != nil {
 16396  		rx.Client = c.s.client
 16397  		rx.UserAgent = c.s.userAgent()
 16398  		ctx := c.ctx_
 16399  		if ctx == nil {
 16400  			ctx = context.TODO()
 16401  		}
 16402  		res, err = rx.Upload(ctx)
 16403  		if err != nil {
 16404  			return nil, err
 16405  		}
 16406  		defer res.Body.Close()
 16407  		if err := googleapi.CheckResponse(res); err != nil {
 16408  			return nil, gensupport.WrapError(err)
 16409  		}
 16410  	}
 16411  	ret := &CreateAssetResponse{
 16412  		ServerResponse: googleapi.ServerResponse{
 16413  			Header:         res.Header,
 16414  			HTTPStatusCode: res.StatusCode,
 16415  		},
 16416  	}
 16417  	target := &ret
 16418  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16419  		return nil, err
 16420  	}
 16421  	return ret, nil
 16422  }
 16423  
 16424  type AdvertisersCampaignsCreateCall struct {
 16425  	s            *Service
 16426  	advertiserId int64
 16427  	campaign     *Campaign
 16428  	urlParams_   gensupport.URLParams
 16429  	ctx_         context.Context
 16430  	header_      http.Header
 16431  }
 16432  
 16433  // Create: Creates a new campaign. Returns the newly created campaign if
 16434  // successful.
 16435  //
 16436  //   - advertiserId: Output only. The unique ID of the advertiser the campaign
 16437  //     belongs to.
 16438  func (r *AdvertisersCampaignsService) Create(advertiserId int64, campaign *Campaign) *AdvertisersCampaignsCreateCall {
 16439  	c := &AdvertisersCampaignsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16440  	c.advertiserId = advertiserId
 16441  	c.campaign = campaign
 16442  	return c
 16443  }
 16444  
 16445  // Fields allows partial responses to be retrieved. See
 16446  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16447  // details.
 16448  func (c *AdvertisersCampaignsCreateCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsCreateCall {
 16449  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16450  	return c
 16451  }
 16452  
 16453  // Context sets the context to be used in this call's Do method.
 16454  func (c *AdvertisersCampaignsCreateCall) Context(ctx context.Context) *AdvertisersCampaignsCreateCall {
 16455  	c.ctx_ = ctx
 16456  	return c
 16457  }
 16458  
 16459  // Header returns a http.Header that can be modified by the caller to add
 16460  // headers to the request.
 16461  func (c *AdvertisersCampaignsCreateCall) Header() http.Header {
 16462  	if c.header_ == nil {
 16463  		c.header_ = make(http.Header)
 16464  	}
 16465  	return c.header_
 16466  }
 16467  
 16468  func (c *AdvertisersCampaignsCreateCall) doRequest(alt string) (*http.Response, error) {
 16469  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16470  	var body io.Reader = nil
 16471  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 16472  	if err != nil {
 16473  		return nil, err
 16474  	}
 16475  	c.urlParams_.Set("alt", alt)
 16476  	c.urlParams_.Set("prettyPrint", "false")
 16477  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns")
 16478  	urls += "?" + c.urlParams_.Encode()
 16479  	req, err := http.NewRequest("POST", urls, body)
 16480  	if err != nil {
 16481  		return nil, err
 16482  	}
 16483  	req.Header = reqHeaders
 16484  	googleapi.Expand(req.URL, map[string]string{
 16485  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16486  	})
 16487  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16488  }
 16489  
 16490  // Do executes the "displayvideo.advertisers.campaigns.create" call.
 16491  // Any non-2xx status code is an error. Response headers are in either
 16492  // *Campaign.ServerResponse.Header or (if a response was returned at all) in
 16493  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16494  // whether the returned error was because http.StatusNotModified was returned.
 16495  func (c *AdvertisersCampaignsCreateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 16496  	gensupport.SetOptions(c.urlParams_, opts...)
 16497  	res, err := c.doRequest("json")
 16498  	if res != nil && res.StatusCode == http.StatusNotModified {
 16499  		if res.Body != nil {
 16500  			res.Body.Close()
 16501  		}
 16502  		return nil, gensupport.WrapError(&googleapi.Error{
 16503  			Code:   res.StatusCode,
 16504  			Header: res.Header,
 16505  		})
 16506  	}
 16507  	if err != nil {
 16508  		return nil, err
 16509  	}
 16510  	defer googleapi.CloseBody(res)
 16511  	if err := googleapi.CheckResponse(res); err != nil {
 16512  		return nil, gensupport.WrapError(err)
 16513  	}
 16514  	ret := &Campaign{
 16515  		ServerResponse: googleapi.ServerResponse{
 16516  			Header:         res.Header,
 16517  			HTTPStatusCode: res.StatusCode,
 16518  		},
 16519  	}
 16520  	target := &ret
 16521  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16522  		return nil, err
 16523  	}
 16524  	return ret, nil
 16525  }
 16526  
 16527  type AdvertisersCampaignsDeleteCall struct {
 16528  	s            *Service
 16529  	advertiserId int64
 16530  	campaignId   int64
 16531  	urlParams_   gensupport.URLParams
 16532  	ctx_         context.Context
 16533  	header_      http.Header
 16534  }
 16535  
 16536  // Delete: Permanently deletes a campaign. A deleted campaign cannot be
 16537  // recovered. The campaign should be archived first, i.e. set entity_status to
 16538  // `ENTITY_STATUS_ARCHIVED`, to be able to delete it. **This method regularly
 16539  // experiences high latency.** We recommend increasing your default timeout
 16540  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 16541  // to avoid errors.
 16542  //
 16543  // - advertiserId: The ID of the advertiser this campaign belongs to.
 16544  // - campaignId: The ID of the campaign we need to delete.
 16545  func (r *AdvertisersCampaignsService) Delete(advertiserId int64, campaignId int64) *AdvertisersCampaignsDeleteCall {
 16546  	c := &AdvertisersCampaignsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16547  	c.advertiserId = advertiserId
 16548  	c.campaignId = campaignId
 16549  	return c
 16550  }
 16551  
 16552  // Fields allows partial responses to be retrieved. See
 16553  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16554  // details.
 16555  func (c *AdvertisersCampaignsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsDeleteCall {
 16556  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16557  	return c
 16558  }
 16559  
 16560  // Context sets the context to be used in this call's Do method.
 16561  func (c *AdvertisersCampaignsDeleteCall) Context(ctx context.Context) *AdvertisersCampaignsDeleteCall {
 16562  	c.ctx_ = ctx
 16563  	return c
 16564  }
 16565  
 16566  // Header returns a http.Header that can be modified by the caller to add
 16567  // headers to the request.
 16568  func (c *AdvertisersCampaignsDeleteCall) Header() http.Header {
 16569  	if c.header_ == nil {
 16570  		c.header_ = make(http.Header)
 16571  	}
 16572  	return c.header_
 16573  }
 16574  
 16575  func (c *AdvertisersCampaignsDeleteCall) doRequest(alt string) (*http.Response, error) {
 16576  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16577  	var body io.Reader = nil
 16578  	c.urlParams_.Set("alt", alt)
 16579  	c.urlParams_.Set("prettyPrint", "false")
 16580  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}")
 16581  	urls += "?" + c.urlParams_.Encode()
 16582  	req, err := http.NewRequest("DELETE", urls, body)
 16583  	if err != nil {
 16584  		return nil, err
 16585  	}
 16586  	req.Header = reqHeaders
 16587  	googleapi.Expand(req.URL, map[string]string{
 16588  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16589  		"campaignId":   strconv.FormatInt(c.campaignId, 10),
 16590  	})
 16591  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16592  }
 16593  
 16594  // Do executes the "displayvideo.advertisers.campaigns.delete" call.
 16595  // Any non-2xx status code is an error. Response headers are in either
 16596  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 16597  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16598  // whether the returned error was because http.StatusNotModified was returned.
 16599  func (c *AdvertisersCampaignsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 16600  	gensupport.SetOptions(c.urlParams_, opts...)
 16601  	res, err := c.doRequest("json")
 16602  	if res != nil && res.StatusCode == http.StatusNotModified {
 16603  		if res.Body != nil {
 16604  			res.Body.Close()
 16605  		}
 16606  		return nil, gensupport.WrapError(&googleapi.Error{
 16607  			Code:   res.StatusCode,
 16608  			Header: res.Header,
 16609  		})
 16610  	}
 16611  	if err != nil {
 16612  		return nil, err
 16613  	}
 16614  	defer googleapi.CloseBody(res)
 16615  	if err := googleapi.CheckResponse(res); err != nil {
 16616  		return nil, gensupport.WrapError(err)
 16617  	}
 16618  	ret := &Empty{
 16619  		ServerResponse: googleapi.ServerResponse{
 16620  			Header:         res.Header,
 16621  			HTTPStatusCode: res.StatusCode,
 16622  		},
 16623  	}
 16624  	target := &ret
 16625  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16626  		return nil, err
 16627  	}
 16628  	return ret, nil
 16629  }
 16630  
 16631  type AdvertisersCampaignsGetCall struct {
 16632  	s            *Service
 16633  	advertiserId int64
 16634  	campaignId   int64
 16635  	urlParams_   gensupport.URLParams
 16636  	ifNoneMatch_ string
 16637  	ctx_         context.Context
 16638  	header_      http.Header
 16639  }
 16640  
 16641  // Get: Gets a campaign.
 16642  //
 16643  // - advertiserId: The ID of the advertiser this campaign belongs to.
 16644  // - campaignId: The ID of the campaign to fetch.
 16645  func (r *AdvertisersCampaignsService) Get(advertiserId int64, campaignId int64) *AdvertisersCampaignsGetCall {
 16646  	c := &AdvertisersCampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16647  	c.advertiserId = advertiserId
 16648  	c.campaignId = campaignId
 16649  	return c
 16650  }
 16651  
 16652  // Fields allows partial responses to be retrieved. See
 16653  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16654  // details.
 16655  func (c *AdvertisersCampaignsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsGetCall {
 16656  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16657  	return c
 16658  }
 16659  
 16660  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16661  // object's ETag matches the given value. This is useful for getting updates
 16662  // only after the object has changed since the last request.
 16663  func (c *AdvertisersCampaignsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsGetCall {
 16664  	c.ifNoneMatch_ = entityTag
 16665  	return c
 16666  }
 16667  
 16668  // Context sets the context to be used in this call's Do method.
 16669  func (c *AdvertisersCampaignsGetCall) Context(ctx context.Context) *AdvertisersCampaignsGetCall {
 16670  	c.ctx_ = ctx
 16671  	return c
 16672  }
 16673  
 16674  // Header returns a http.Header that can be modified by the caller to add
 16675  // headers to the request.
 16676  func (c *AdvertisersCampaignsGetCall) Header() http.Header {
 16677  	if c.header_ == nil {
 16678  		c.header_ = make(http.Header)
 16679  	}
 16680  	return c.header_
 16681  }
 16682  
 16683  func (c *AdvertisersCampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 16684  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16685  	if c.ifNoneMatch_ != "" {
 16686  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16687  	}
 16688  	var body io.Reader = nil
 16689  	c.urlParams_.Set("alt", alt)
 16690  	c.urlParams_.Set("prettyPrint", "false")
 16691  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}")
 16692  	urls += "?" + c.urlParams_.Encode()
 16693  	req, err := http.NewRequest("GET", urls, body)
 16694  	if err != nil {
 16695  		return nil, err
 16696  	}
 16697  	req.Header = reqHeaders
 16698  	googleapi.Expand(req.URL, map[string]string{
 16699  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16700  		"campaignId":   strconv.FormatInt(c.campaignId, 10),
 16701  	})
 16702  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16703  }
 16704  
 16705  // Do executes the "displayvideo.advertisers.campaigns.get" call.
 16706  // Any non-2xx status code is an error. Response headers are in either
 16707  // *Campaign.ServerResponse.Header or (if a response was returned at all) in
 16708  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16709  // whether the returned error was because http.StatusNotModified was returned.
 16710  func (c *AdvertisersCampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 16711  	gensupport.SetOptions(c.urlParams_, opts...)
 16712  	res, err := c.doRequest("json")
 16713  	if res != nil && res.StatusCode == http.StatusNotModified {
 16714  		if res.Body != nil {
 16715  			res.Body.Close()
 16716  		}
 16717  		return nil, gensupport.WrapError(&googleapi.Error{
 16718  			Code:   res.StatusCode,
 16719  			Header: res.Header,
 16720  		})
 16721  	}
 16722  	if err != nil {
 16723  		return nil, err
 16724  	}
 16725  	defer googleapi.CloseBody(res)
 16726  	if err := googleapi.CheckResponse(res); err != nil {
 16727  		return nil, gensupport.WrapError(err)
 16728  	}
 16729  	ret := &Campaign{
 16730  		ServerResponse: googleapi.ServerResponse{
 16731  			Header:         res.Header,
 16732  			HTTPStatusCode: res.StatusCode,
 16733  		},
 16734  	}
 16735  	target := &ret
 16736  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16737  		return nil, err
 16738  	}
 16739  	return ret, nil
 16740  }
 16741  
 16742  type AdvertisersCampaignsListCall struct {
 16743  	s            *Service
 16744  	advertiserId int64
 16745  	urlParams_   gensupport.URLParams
 16746  	ifNoneMatch_ string
 16747  	ctx_         context.Context
 16748  	header_      http.Header
 16749  }
 16750  
 16751  // List: Lists campaigns in an advertiser. The order is defined by the order_by
 16752  // parameter. If a filter by entity_status is not specified, campaigns with
 16753  // `ENTITY_STATUS_ARCHIVED` will not be included in the results.
 16754  //
 16755  // - advertiserId: The ID of the advertiser to list campaigns for.
 16756  func (r *AdvertisersCampaignsService) List(advertiserId int64) *AdvertisersCampaignsListCall {
 16757  	c := &AdvertisersCampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16758  	c.advertiserId = advertiserId
 16759  	return c
 16760  }
 16761  
 16762  // Filter sets the optional parameter "filter": Allows filtering by campaign
 16763  // fields. Supported syntax: * Filter expressions are made up of one or more
 16764  // restrictions. * Restrictions can be combined by `AND` or `OR` logical
 16765  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 16766  // has the form of `{field} {operator} {value}`. * The `updateTime` field must
 16767  // use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`
 16768  // operators. * All other fields must use the `EQUALS (=)` operator. Supported
 16769  // fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime`
 16770  // (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All
 16771  // `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an
 16772  // advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
 16773  // entityStatus="ENTITY_STATUS_PAUSED")` * All campaigns with an update time
 16774  // less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 16775  // `updateTime<="2020-11-04T18:54:47Z" * All campaigns with an update time
 16776  // greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 16777  // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no
 16778  // more than 500 characters. Reference our filter `LIST` requests
 16779  // (/display-video/api/guides/how-tos/filters) guide for more information.
 16780  func (c *AdvertisersCampaignsListCall) Filter(filter string) *AdvertisersCampaignsListCall {
 16781  	c.urlParams_.Set("filter", filter)
 16782  	return c
 16783  }
 16784  
 16785  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 16786  // list. Acceptable values are: * `displayName` (default) * `entityStatus` *
 16787  // `updateTime` The default sorting order is ascending. To specify descending
 16788  // order for a field, a suffix "desc" should be added to the field name.
 16789  // Example: `displayName desc`.
 16790  func (c *AdvertisersCampaignsListCall) OrderBy(orderBy string) *AdvertisersCampaignsListCall {
 16791  	c.urlParams_.Set("orderBy", orderBy)
 16792  	return c
 16793  }
 16794  
 16795  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 16796  // be between `1` and `200`. If unspecified will default to `100`.
 16797  func (c *AdvertisersCampaignsListCall) PageSize(pageSize int64) *AdvertisersCampaignsListCall {
 16798  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 16799  	return c
 16800  }
 16801  
 16802  // PageToken sets the optional parameter "pageToken": A token identifying a
 16803  // page of results the server should return. Typically, this is the value of
 16804  // next_page_token returned from the previous call to `ListCampaigns` method.
 16805  // If not specified, the first page of results will be returned.
 16806  func (c *AdvertisersCampaignsListCall) PageToken(pageToken string) *AdvertisersCampaignsListCall {
 16807  	c.urlParams_.Set("pageToken", pageToken)
 16808  	return c
 16809  }
 16810  
 16811  // Fields allows partial responses to be retrieved. See
 16812  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16813  // details.
 16814  func (c *AdvertisersCampaignsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsListCall {
 16815  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16816  	return c
 16817  }
 16818  
 16819  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16820  // object's ETag matches the given value. This is useful for getting updates
 16821  // only after the object has changed since the last request.
 16822  func (c *AdvertisersCampaignsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsListCall {
 16823  	c.ifNoneMatch_ = entityTag
 16824  	return c
 16825  }
 16826  
 16827  // Context sets the context to be used in this call's Do method.
 16828  func (c *AdvertisersCampaignsListCall) Context(ctx context.Context) *AdvertisersCampaignsListCall {
 16829  	c.ctx_ = ctx
 16830  	return c
 16831  }
 16832  
 16833  // Header returns a http.Header that can be modified by the caller to add
 16834  // headers to the request.
 16835  func (c *AdvertisersCampaignsListCall) Header() http.Header {
 16836  	if c.header_ == nil {
 16837  		c.header_ = make(http.Header)
 16838  	}
 16839  	return c.header_
 16840  }
 16841  
 16842  func (c *AdvertisersCampaignsListCall) doRequest(alt string) (*http.Response, error) {
 16843  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16844  	if c.ifNoneMatch_ != "" {
 16845  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16846  	}
 16847  	var body io.Reader = nil
 16848  	c.urlParams_.Set("alt", alt)
 16849  	c.urlParams_.Set("prettyPrint", "false")
 16850  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns")
 16851  	urls += "?" + c.urlParams_.Encode()
 16852  	req, err := http.NewRequest("GET", urls, body)
 16853  	if err != nil {
 16854  		return nil, err
 16855  	}
 16856  	req.Header = reqHeaders
 16857  	googleapi.Expand(req.URL, map[string]string{
 16858  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16859  	})
 16860  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16861  }
 16862  
 16863  // Do executes the "displayvideo.advertisers.campaigns.list" call.
 16864  // Any non-2xx status code is an error. Response headers are in either
 16865  // *ListCampaignsResponse.ServerResponse.Header or (if a response was returned
 16866  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16867  // check whether the returned error was because http.StatusNotModified was
 16868  // returned.
 16869  func (c *AdvertisersCampaignsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignsResponse, error) {
 16870  	gensupport.SetOptions(c.urlParams_, opts...)
 16871  	res, err := c.doRequest("json")
 16872  	if res != nil && res.StatusCode == http.StatusNotModified {
 16873  		if res.Body != nil {
 16874  			res.Body.Close()
 16875  		}
 16876  		return nil, gensupport.WrapError(&googleapi.Error{
 16877  			Code:   res.StatusCode,
 16878  			Header: res.Header,
 16879  		})
 16880  	}
 16881  	if err != nil {
 16882  		return nil, err
 16883  	}
 16884  	defer googleapi.CloseBody(res)
 16885  	if err := googleapi.CheckResponse(res); err != nil {
 16886  		return nil, gensupport.WrapError(err)
 16887  	}
 16888  	ret := &ListCampaignsResponse{
 16889  		ServerResponse: googleapi.ServerResponse{
 16890  			Header:         res.Header,
 16891  			HTTPStatusCode: res.StatusCode,
 16892  		},
 16893  	}
 16894  	target := &ret
 16895  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16896  		return nil, err
 16897  	}
 16898  	return ret, nil
 16899  }
 16900  
 16901  // Pages invokes f for each page of results.
 16902  // A non-nil error returned from f will halt the iteration.
 16903  // The provided context supersedes any context provided to the Context method.
 16904  func (c *AdvertisersCampaignsListCall) Pages(ctx context.Context, f func(*ListCampaignsResponse) error) error {
 16905  	c.ctx_ = ctx
 16906  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 16907  	for {
 16908  		x, err := c.Do()
 16909  		if err != nil {
 16910  			return err
 16911  		}
 16912  		if err := f(x); err != nil {
 16913  			return err
 16914  		}
 16915  		if x.NextPageToken == "" {
 16916  			return nil
 16917  		}
 16918  		c.PageToken(x.NextPageToken)
 16919  	}
 16920  }
 16921  
 16922  type AdvertisersCampaignsListAssignedTargetingOptionsCall struct {
 16923  	s            *Service
 16924  	advertiserId int64
 16925  	campaignId   int64
 16926  	urlParams_   gensupport.URLParams
 16927  	ifNoneMatch_ string
 16928  	ctx_         context.Context
 16929  	header_      http.Header
 16930  }
 16931  
 16932  // ListAssignedTargetingOptions: Lists assigned targeting options of a campaign
 16933  // across targeting types.
 16934  //
 16935  // - advertiserId: The ID of the advertiser the campaign belongs to.
 16936  // - campaignId: The ID of the campaign to list assigned targeting options for.
 16937  func (r *AdvertisersCampaignsService) ListAssignedTargetingOptions(advertiserId int64, campaignId int64) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 16938  	c := &AdvertisersCampaignsListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16939  	c.advertiserId = advertiserId
 16940  	c.campaignId = campaignId
 16941  	return c
 16942  }
 16943  
 16944  // Filter sets the optional parameter "filter": Allows filtering by assigned
 16945  // targeting option fields. Supported syntax: * Filter expressions are made up
 16946  // of one or more restrictions. * Restrictions can be combined by the `OR`
 16947  // logical operator. * A restriction has the form of `{field} {operator}
 16948  // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields:
 16949  // * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption`
 16950  // resources of targeting type `TARGETING_TYPE_LANGUAGE` or
 16951  // `TARGETING_TYPE_GENDER`: `targetingType="TARGETING_TYPE_LANGUAGE" OR
 16952  // targetingType="TARGETING_TYPE_GENDER" * `AssignedTargetingOption` resources
 16953  // with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`:
 16954  // `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER" The
 16955  // length of this field should be no more than 500 characters. Reference our
 16956  // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for
 16957  // more information.
 16958  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 16959  	c.urlParams_.Set("filter", filter)
 16960  	return c
 16961  }
 16962  
 16963  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 16964  // list. Acceptable values are: * `targetingType` (default) The default sorting
 16965  // order is ascending. To specify descending order for a field, a suffix "desc"
 16966  // should be added to the field name. Example: `targetingType desc`.
 16967  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 16968  	c.urlParams_.Set("orderBy", orderBy)
 16969  	return c
 16970  }
 16971  
 16972  // PageSize sets the optional parameter "pageSize": Requested page size. The
 16973  // size must be an integer between `1` and `5000`. If unspecified, the default
 16974  // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is
 16975  // specified.
 16976  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 16977  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 16978  	return c
 16979  }
 16980  
 16981  // PageToken sets the optional parameter "pageToken": A token that lets the
 16982  // client fetch the next page of results. Typically, this is the value of
 16983  // next_page_token returned from the previous call to
 16984  // `BulkListCampaignAssignedTargetingOptions` method. If not specified, the
 16985  // first page of results will be returned.
 16986  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 16987  	c.urlParams_.Set("pageToken", pageToken)
 16988  	return c
 16989  }
 16990  
 16991  // Fields allows partial responses to be retrieved. See
 16992  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16993  // details.
 16994  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 16995  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16996  	return c
 16997  }
 16998  
 16999  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17000  // object's ETag matches the given value. This is useful for getting updates
 17001  // only after the object has changed since the last request.
 17002  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 17003  	c.ifNoneMatch_ = entityTag
 17004  	return c
 17005  }
 17006  
 17007  // Context sets the context to be used in this call's Do method.
 17008  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 17009  	c.ctx_ = ctx
 17010  	return c
 17011  }
 17012  
 17013  // Header returns a http.Header that can be modified by the caller to add
 17014  // headers to the request.
 17015  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Header() http.Header {
 17016  	if c.header_ == nil {
 17017  		c.header_ = make(http.Header)
 17018  	}
 17019  	return c.header_
 17020  }
 17021  
 17022  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 17023  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17024  	if c.ifNoneMatch_ != "" {
 17025  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17026  	}
 17027  	var body io.Reader = nil
 17028  	c.urlParams_.Set("alt", alt)
 17029  	c.urlParams_.Set("prettyPrint", "false")
 17030  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}:listAssignedTargetingOptions")
 17031  	urls += "?" + c.urlParams_.Encode()
 17032  	req, err := http.NewRequest("GET", urls, body)
 17033  	if err != nil {
 17034  		return nil, err
 17035  	}
 17036  	req.Header = reqHeaders
 17037  	googleapi.Expand(req.URL, map[string]string{
 17038  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 17039  		"campaignId":   strconv.FormatInt(c.campaignId, 10),
 17040  	})
 17041  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17042  }
 17043  
 17044  // Do executes the "displayvideo.advertisers.campaigns.listAssignedTargetingOptions" call.
 17045  // Any non-2xx status code is an error. Response headers are in either
 17046  // *BulkListCampaignAssignedTargetingOptionsResponse.ServerResponse.Header or
 17047  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 17048  // googleapi.IsNotModified to check whether the returned error was because
 17049  // http.StatusNotModified was returned.
 17050  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListCampaignAssignedTargetingOptionsResponse, error) {
 17051  	gensupport.SetOptions(c.urlParams_, opts...)
 17052  	res, err := c.doRequest("json")
 17053  	if res != nil && res.StatusCode == http.StatusNotModified {
 17054  		if res.Body != nil {
 17055  			res.Body.Close()
 17056  		}
 17057  		return nil, gensupport.WrapError(&googleapi.Error{
 17058  			Code:   res.StatusCode,
 17059  			Header: res.Header,
 17060  		})
 17061  	}
 17062  	if err != nil {
 17063  		return nil, err
 17064  	}
 17065  	defer googleapi.CloseBody(res)
 17066  	if err := googleapi.CheckResponse(res); err != nil {
 17067  		return nil, gensupport.WrapError(err)
 17068  	}
 17069  	ret := &BulkListCampaignAssignedTargetingOptionsResponse{
 17070  		ServerResponse: googleapi.ServerResponse{
 17071  			Header:         res.Header,
 17072  			HTTPStatusCode: res.StatusCode,
 17073  		},
 17074  	}
 17075  	target := &ret
 17076  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17077  		return nil, err
 17078  	}
 17079  	return ret, nil
 17080  }
 17081  
 17082  // Pages invokes f for each page of results.
 17083  // A non-nil error returned from f will halt the iteration.
 17084  // The provided context supersedes any context provided to the Context method.
 17085  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListCampaignAssignedTargetingOptionsResponse) error) error {
 17086  	c.ctx_ = ctx
 17087  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 17088  	for {
 17089  		x, err := c.Do()
 17090  		if err != nil {
 17091  			return err
 17092  		}
 17093  		if err := f(x); err != nil {
 17094  			return err
 17095  		}
 17096  		if x.NextPageToken == "" {
 17097  			return nil
 17098  		}
 17099  		c.PageToken(x.NextPageToken)
 17100  	}
 17101  }
 17102  
 17103  type AdvertisersCampaignsPatchCall struct {
 17104  	s            *Service
 17105  	advertiserId int64
 17106  	campaignId   int64
 17107  	campaign     *Campaign
 17108  	urlParams_   gensupport.URLParams
 17109  	ctx_         context.Context
 17110  	header_      http.Header
 17111  }
 17112  
 17113  // Patch: Updates an existing campaign. Returns the updated campaign if
 17114  // successful.
 17115  //
 17116  //   - advertiserId: Output only. The unique ID of the advertiser the campaign
 17117  //     belongs to.
 17118  //   - campaignId: Output only. The unique ID of the campaign. Assigned by the
 17119  //     system.
 17120  func (r *AdvertisersCampaignsService) Patch(advertiserId int64, campaignId int64, campaign *Campaign) *AdvertisersCampaignsPatchCall {
 17121  	c := &AdvertisersCampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17122  	c.advertiserId = advertiserId
 17123  	c.campaignId = campaignId
 17124  	c.campaign = campaign
 17125  	return c
 17126  }
 17127  
 17128  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 17129  // control which fields to update.
 17130  func (c *AdvertisersCampaignsPatchCall) UpdateMask(updateMask string) *AdvertisersCampaignsPatchCall {
 17131  	c.urlParams_.Set("updateMask", updateMask)
 17132  	return c
 17133  }
 17134  
 17135  // Fields allows partial responses to be retrieved. See
 17136  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17137  // details.
 17138  func (c *AdvertisersCampaignsPatchCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsPatchCall {
 17139  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17140  	return c
 17141  }
 17142  
 17143  // Context sets the context to be used in this call's Do method.
 17144  func (c *AdvertisersCampaignsPatchCall) Context(ctx context.Context) *AdvertisersCampaignsPatchCall {
 17145  	c.ctx_ = ctx
 17146  	return c
 17147  }
 17148  
 17149  // Header returns a http.Header that can be modified by the caller to add
 17150  // headers to the request.
 17151  func (c *AdvertisersCampaignsPatchCall) Header() http.Header {
 17152  	if c.header_ == nil {
 17153  		c.header_ = make(http.Header)
 17154  	}
 17155  	return c.header_
 17156  }
 17157  
 17158  func (c *AdvertisersCampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 17159  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17160  	var body io.Reader = nil
 17161  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 17162  	if err != nil {
 17163  		return nil, err
 17164  	}
 17165  	c.urlParams_.Set("alt", alt)
 17166  	c.urlParams_.Set("prettyPrint", "false")
 17167  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}")
 17168  	urls += "?" + c.urlParams_.Encode()
 17169  	req, err := http.NewRequest("PATCH", urls, body)
 17170  	if err != nil {
 17171  		return nil, err
 17172  	}
 17173  	req.Header = reqHeaders
 17174  	googleapi.Expand(req.URL, map[string]string{
 17175  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 17176  		"campaignId":   strconv.FormatInt(c.campaignId, 10),
 17177  	})
 17178  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17179  }
 17180  
 17181  // Do executes the "displayvideo.advertisers.campaigns.patch" call.
 17182  // Any non-2xx status code is an error. Response headers are in either
 17183  // *Campaign.ServerResponse.Header or (if a response was returned at all) in
 17184  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17185  // whether the returned error was because http.StatusNotModified was returned.
 17186  func (c *AdvertisersCampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 17187  	gensupport.SetOptions(c.urlParams_, opts...)
 17188  	res, err := c.doRequest("json")
 17189  	if res != nil && res.StatusCode == http.StatusNotModified {
 17190  		if res.Body != nil {
 17191  			res.Body.Close()
 17192  		}
 17193  		return nil, gensupport.WrapError(&googleapi.Error{
 17194  			Code:   res.StatusCode,
 17195  			Header: res.Header,
 17196  		})
 17197  	}
 17198  	if err != nil {
 17199  		return nil, err
 17200  	}
 17201  	defer googleapi.CloseBody(res)
 17202  	if err := googleapi.CheckResponse(res); err != nil {
 17203  		return nil, gensupport.WrapError(err)
 17204  	}
 17205  	ret := &Campaign{
 17206  		ServerResponse: googleapi.ServerResponse{
 17207  			Header:         res.Header,
 17208  			HTTPStatusCode: res.StatusCode,
 17209  		},
 17210  	}
 17211  	target := &ret
 17212  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17213  		return nil, err
 17214  	}
 17215  	return ret, nil
 17216  }
 17217  
 17218  type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall struct {
 17219  	s                         *Service
 17220  	advertiserId              int64
 17221  	campaignId                int64
 17222  	targetingType             string
 17223  	assignedTargetingOptionId string
 17224  	urlParams_                gensupport.URLParams
 17225  	ifNoneMatch_              string
 17226  	ctx_                      context.Context
 17227  	header_                   http.Header
 17228  }
 17229  
 17230  // Get: Gets a single targeting option assigned to a campaign.
 17231  //
 17232  //   - advertiserId: The ID of the advertiser the campaign belongs to.
 17233  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 17234  //     this campaign that identifies the assigned targeting option being
 17235  //     requested.
 17236  //   - campaignId: The ID of the campaign the assigned targeting option belongs
 17237  //     to.
 17238  //   - targetingType: Identifies the type of this assigned targeting option.
 17239  //     Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
 17240  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
 17241  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 17242  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 17243  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 17244  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 17245  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 17246  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 17247  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` *
 17248  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` *
 17249  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 17250  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 17251  //     `TARGETING_TYPE_VIEWABILITY`.
 17252  func (r *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, campaignId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
 17253  	c := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17254  	c.advertiserId = advertiserId
 17255  	c.campaignId = campaignId
 17256  	c.targetingType = targetingType
 17257  	c.assignedTargetingOptionId = assignedTargetingOptionId
 17258  	return c
 17259  }
 17260  
 17261  // Fields allows partial responses to be retrieved. See
 17262  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17263  // details.
 17264  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
 17265  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17266  	return c
 17267  }
 17268  
 17269  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17270  // object's ETag matches the given value. This is useful for getting updates
 17271  // only after the object has changed since the last request.
 17272  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
 17273  	c.ifNoneMatch_ = entityTag
 17274  	return c
 17275  }
 17276  
 17277  // Context sets the context to be used in this call's Do method.
 17278  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
 17279  	c.ctx_ = ctx
 17280  	return c
 17281  }
 17282  
 17283  // Header returns a http.Header that can be modified by the caller to add
 17284  // headers to the request.
 17285  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 17286  	if c.header_ == nil {
 17287  		c.header_ = make(http.Header)
 17288  	}
 17289  	return c.header_
 17290  }
 17291  
 17292  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 17293  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17294  	if c.ifNoneMatch_ != "" {
 17295  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17296  	}
 17297  	var body io.Reader = nil
 17298  	c.urlParams_.Set("alt", alt)
 17299  	c.urlParams_.Set("prettyPrint", "false")
 17300  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 17301  	urls += "?" + c.urlParams_.Encode()
 17302  	req, err := http.NewRequest("GET", urls, body)
 17303  	if err != nil {
 17304  		return nil, err
 17305  	}
 17306  	req.Header = reqHeaders
 17307  	googleapi.Expand(req.URL, map[string]string{
 17308  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 17309  		"campaignId":                strconv.FormatInt(c.campaignId, 10),
 17310  		"targetingType":             c.targetingType,
 17311  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 17312  	})
 17313  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17314  }
 17315  
 17316  // Do executes the "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get" call.
 17317  // Any non-2xx status code is an error. Response headers are in either
 17318  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 17319  // returned at all) in error.(*googleapi.Error).Header. Use
 17320  // googleapi.IsNotModified to check whether the returned error was because
 17321  // http.StatusNotModified was returned.
 17322  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 17323  	gensupport.SetOptions(c.urlParams_, opts...)
 17324  	res, err := c.doRequest("json")
 17325  	if res != nil && res.StatusCode == http.StatusNotModified {
 17326  		if res.Body != nil {
 17327  			res.Body.Close()
 17328  		}
 17329  		return nil, gensupport.WrapError(&googleapi.Error{
 17330  			Code:   res.StatusCode,
 17331  			Header: res.Header,
 17332  		})
 17333  	}
 17334  	if err != nil {
 17335  		return nil, err
 17336  	}
 17337  	defer googleapi.CloseBody(res)
 17338  	if err := googleapi.CheckResponse(res); err != nil {
 17339  		return nil, gensupport.WrapError(err)
 17340  	}
 17341  	ret := &AssignedTargetingOption{
 17342  		ServerResponse: googleapi.ServerResponse{
 17343  			Header:         res.Header,
 17344  			HTTPStatusCode: res.StatusCode,
 17345  		},
 17346  	}
 17347  	target := &ret
 17348  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17349  		return nil, err
 17350  	}
 17351  	return ret, nil
 17352  }
 17353  
 17354  type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall struct {
 17355  	s             *Service
 17356  	advertiserId  int64
 17357  	campaignId    int64
 17358  	targetingType string
 17359  	urlParams_    gensupport.URLParams
 17360  	ifNoneMatch_  string
 17361  	ctx_          context.Context
 17362  	header_       http.Header
 17363  }
 17364  
 17365  // List: Lists the targeting options assigned to a campaign for a specified
 17366  // targeting type.
 17367  //
 17368  //   - advertiserId: The ID of the advertiser the campaign belongs to.
 17369  //   - campaignId: The ID of the campaign to list assigned targeting options for.
 17370  //   - targetingType: Identifies the type of assigned targeting options to list.
 17371  //     Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
 17372  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
 17373  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 17374  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 17375  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 17376  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 17377  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 17378  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 17379  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` *
 17380  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` *
 17381  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 17382  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 17383  //     `TARGETING_TYPE_VIEWABILITY`.
 17384  func (r *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, campaignId int64, targetingType string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 17385  	c := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17386  	c.advertiserId = advertiserId
 17387  	c.campaignId = campaignId
 17388  	c.targetingType = targetingType
 17389  	return c
 17390  }
 17391  
 17392  // Filter sets the optional parameter "filter": Allows filtering by assigned
 17393  // targeting option fields. Supported syntax: * Filter expressions are made up
 17394  // of one or more restrictions. * Restrictions can be combined by the `OR`
 17395  // logical operator. * A restriction has the form of `{field} {operator}
 17396  // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields:
 17397  // * `assignedTargetingOptionId` * `inheritance` Examples: *
 17398  // `AssignedTargetingOption` resources with ID 1 or 2
 17399  // `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
 17400  // `AssignedTargetingOption` resources with inheritance status of
 17401  // `NOT_INHERITED` or `INHERITED_FROM_PARTNER` `inheritance="NOT_INHERITED" OR
 17402  // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no
 17403  // more than 500 characters. Reference our filter `LIST` requests
 17404  // (/display-video/api/guides/how-tos/filters) guide for more information.
 17405  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 17406  	c.urlParams_.Set("filter", filter)
 17407  	return c
 17408  }
 17409  
 17410  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 17411  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 17412  // default sorting order is ascending. To specify descending order for a field,
 17413  // a suffix "desc" should be added to the field name. Example:
 17414  // `assignedTargetingOptionId desc`.
 17415  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 17416  	c.urlParams_.Set("orderBy", orderBy)
 17417  	return c
 17418  }
 17419  
 17420  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 17421  // be between `1` and `5000`. If unspecified will default to `100`. Returns
 17422  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 17423  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 17424  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 17425  	return c
 17426  }
 17427  
 17428  // PageToken sets the optional parameter "pageToken": A token identifying a
 17429  // page of results the server should return. Typically, this is the value of
 17430  // next_page_token returned from the previous call to
 17431  // `ListCampaignAssignedTargetingOptions` method. If not specified, the first
 17432  // page of results will be returned.
 17433  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 17434  	c.urlParams_.Set("pageToken", pageToken)
 17435  	return c
 17436  }
 17437  
 17438  // Fields allows partial responses to be retrieved. See
 17439  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17440  // details.
 17441  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 17442  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17443  	return c
 17444  }
 17445  
 17446  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17447  // object's ETag matches the given value. This is useful for getting updates
 17448  // only after the object has changed since the last request.
 17449  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 17450  	c.ifNoneMatch_ = entityTag
 17451  	return c
 17452  }
 17453  
 17454  // Context sets the context to be used in this call's Do method.
 17455  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 17456  	c.ctx_ = ctx
 17457  	return c
 17458  }
 17459  
 17460  // Header returns a http.Header that can be modified by the caller to add
 17461  // headers to the request.
 17462  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 17463  	if c.header_ == nil {
 17464  		c.header_ = make(http.Header)
 17465  	}
 17466  	return c.header_
 17467  }
 17468  
 17469  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 17470  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17471  	if c.ifNoneMatch_ != "" {
 17472  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17473  	}
 17474  	var body io.Reader = nil
 17475  	c.urlParams_.Set("alt", alt)
 17476  	c.urlParams_.Set("prettyPrint", "false")
 17477  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 17478  	urls += "?" + c.urlParams_.Encode()
 17479  	req, err := http.NewRequest("GET", urls, body)
 17480  	if err != nil {
 17481  		return nil, err
 17482  	}
 17483  	req.Header = reqHeaders
 17484  	googleapi.Expand(req.URL, map[string]string{
 17485  		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
 17486  		"campaignId":    strconv.FormatInt(c.campaignId, 10),
 17487  		"targetingType": c.targetingType,
 17488  	})
 17489  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17490  }
 17491  
 17492  // Do executes the "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list" call.
 17493  // Any non-2xx status code is an error. Response headers are in either
 17494  // *ListCampaignAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 17495  // response was returned at all) in error.(*googleapi.Error).Header. Use
 17496  // googleapi.IsNotModified to check whether the returned error was because
 17497  // http.StatusNotModified was returned.
 17498  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignAssignedTargetingOptionsResponse, error) {
 17499  	gensupport.SetOptions(c.urlParams_, opts...)
 17500  	res, err := c.doRequest("json")
 17501  	if res != nil && res.StatusCode == http.StatusNotModified {
 17502  		if res.Body != nil {
 17503  			res.Body.Close()
 17504  		}
 17505  		return nil, gensupport.WrapError(&googleapi.Error{
 17506  			Code:   res.StatusCode,
 17507  			Header: res.Header,
 17508  		})
 17509  	}
 17510  	if err != nil {
 17511  		return nil, err
 17512  	}
 17513  	defer googleapi.CloseBody(res)
 17514  	if err := googleapi.CheckResponse(res); err != nil {
 17515  		return nil, gensupport.WrapError(err)
 17516  	}
 17517  	ret := &ListCampaignAssignedTargetingOptionsResponse{
 17518  		ServerResponse: googleapi.ServerResponse{
 17519  			Header:         res.Header,
 17520  			HTTPStatusCode: res.StatusCode,
 17521  		},
 17522  	}
 17523  	target := &ret
 17524  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17525  		return nil, err
 17526  	}
 17527  	return ret, nil
 17528  }
 17529  
 17530  // Pages invokes f for each page of results.
 17531  // A non-nil error returned from f will halt the iteration.
 17532  // The provided context supersedes any context provided to the Context method.
 17533  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListCampaignAssignedTargetingOptionsResponse) error) error {
 17534  	c.ctx_ = ctx
 17535  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 17536  	for {
 17537  		x, err := c.Do()
 17538  		if err != nil {
 17539  			return err
 17540  		}
 17541  		if err := f(x); err != nil {
 17542  			return err
 17543  		}
 17544  		if x.NextPageToken == "" {
 17545  			return nil
 17546  		}
 17547  		c.PageToken(x.NextPageToken)
 17548  	}
 17549  }
 17550  
 17551  type AdvertisersChannelsCreateCall struct {
 17552  	s            *Service
 17553  	advertiserId int64
 17554  	channel      *Channel
 17555  	urlParams_   gensupport.URLParams
 17556  	ctx_         context.Context
 17557  	header_      http.Header
 17558  }
 17559  
 17560  // Create: Creates a new channel. Returns the newly created channel if
 17561  // successful.
 17562  //
 17563  // - advertiserId: The ID of the advertiser that owns the created channel.
 17564  func (r *AdvertisersChannelsService) Create(advertiserId int64, channel *Channel) *AdvertisersChannelsCreateCall {
 17565  	c := &AdvertisersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17566  	c.advertiserId = advertiserId
 17567  	c.channel = channel
 17568  	return c
 17569  }
 17570  
 17571  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 17572  // that owns the created channel.
 17573  func (c *AdvertisersChannelsCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsCreateCall {
 17574  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 17575  	return c
 17576  }
 17577  
 17578  // Fields allows partial responses to be retrieved. See
 17579  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17580  // details.
 17581  func (c *AdvertisersChannelsCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsCreateCall {
 17582  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17583  	return c
 17584  }
 17585  
 17586  // Context sets the context to be used in this call's Do method.
 17587  func (c *AdvertisersChannelsCreateCall) Context(ctx context.Context) *AdvertisersChannelsCreateCall {
 17588  	c.ctx_ = ctx
 17589  	return c
 17590  }
 17591  
 17592  // Header returns a http.Header that can be modified by the caller to add
 17593  // headers to the request.
 17594  func (c *AdvertisersChannelsCreateCall) Header() http.Header {
 17595  	if c.header_ == nil {
 17596  		c.header_ = make(http.Header)
 17597  	}
 17598  	return c.header_
 17599  }
 17600  
 17601  func (c *AdvertisersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
 17602  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 17603  	var body io.Reader = nil
 17604  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
 17605  	if err != nil {
 17606  		return nil, err
 17607  	}
 17608  	c.urlParams_.Set("alt", alt)
 17609  	c.urlParams_.Set("prettyPrint", "false")
 17610  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/channels")
 17611  	urls += "?" + c.urlParams_.Encode()
 17612  	req, err := http.NewRequest("POST", urls, body)
 17613  	if err != nil {
 17614  		return nil, err
 17615  	}
 17616  	req.Header = reqHeaders
 17617  	googleapi.Expand(req.URL, map[string]string{
 17618  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 17619  	})
 17620  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17621  }
 17622  
 17623  // Do executes the "displayvideo.advertisers.channels.create" call.
 17624  // Any non-2xx status code is an error. Response headers are in either
 17625  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 17626  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17627  // whether the returned error was because http.StatusNotModified was returned.
 17628  func (c *AdvertisersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 17629  	gensupport.SetOptions(c.urlParams_, opts...)
 17630  	res, err := c.doRequest("json")
 17631  	if res != nil && res.StatusCode == http.StatusNotModified {
 17632  		if res.Body != nil {
 17633  			res.Body.Close()
 17634  		}
 17635  		return nil, gensupport.WrapError(&googleapi.Error{
 17636  			Code:   res.StatusCode,
 17637  			Header: res.Header,
 17638  		})
 17639  	}
 17640  	if err != nil {
 17641  		return nil, err
 17642  	}
 17643  	defer googleapi.CloseBody(res)
 17644  	if err := googleapi.CheckResponse(res); err != nil {
 17645  		return nil, gensupport.WrapError(err)
 17646  	}
 17647  	ret := &Channel{
 17648  		ServerResponse: googleapi.ServerResponse{
 17649  			Header:         res.Header,
 17650  			HTTPStatusCode: res.StatusCode,
 17651  		},
 17652  	}
 17653  	target := &ret
 17654  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17655  		return nil, err
 17656  	}
 17657  	return ret, nil
 17658  }
 17659  
 17660  type AdvertisersChannelsGetCall struct {
 17661  	s            *Service
 17662  	advertiserId int64
 17663  	channelId    int64
 17664  	urlParams_   gensupport.URLParams
 17665  	ifNoneMatch_ string
 17666  	ctx_         context.Context
 17667  	header_      http.Header
 17668  }
 17669  
 17670  // Get: Gets a channel for a partner or advertiser.
 17671  //
 17672  // - advertiserId: The ID of the advertiser that owns the fetched channel.
 17673  // - channelId: The ID of the channel to fetch.
 17674  func (r *AdvertisersChannelsService) Get(advertiserId int64, channelId int64) *AdvertisersChannelsGetCall {
 17675  	c := &AdvertisersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17676  	c.advertiserId = advertiserId
 17677  	c.channelId = channelId
 17678  	return c
 17679  }
 17680  
 17681  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 17682  // that owns the fetched channel.
 17683  func (c *AdvertisersChannelsGetCall) PartnerId(partnerId int64) *AdvertisersChannelsGetCall {
 17684  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 17685  	return c
 17686  }
 17687  
 17688  // Fields allows partial responses to be retrieved. See
 17689  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17690  // details.
 17691  func (c *AdvertisersChannelsGetCall) Fields(s ...googleapi.Field) *AdvertisersChannelsGetCall {
 17692  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17693  	return c
 17694  }
 17695  
 17696  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17697  // object's ETag matches the given value. This is useful for getting updates
 17698  // only after the object has changed since the last request.
 17699  func (c *AdvertisersChannelsGetCall) IfNoneMatch(entityTag string) *AdvertisersChannelsGetCall {
 17700  	c.ifNoneMatch_ = entityTag
 17701  	return c
 17702  }
 17703  
 17704  // Context sets the context to be used in this call's Do method.
 17705  func (c *AdvertisersChannelsGetCall) Context(ctx context.Context) *AdvertisersChannelsGetCall {
 17706  	c.ctx_ = ctx
 17707  	return c
 17708  }
 17709  
 17710  // Header returns a http.Header that can be modified by the caller to add
 17711  // headers to the request.
 17712  func (c *AdvertisersChannelsGetCall) Header() http.Header {
 17713  	if c.header_ == nil {
 17714  		c.header_ = make(http.Header)
 17715  	}
 17716  	return c.header_
 17717  }
 17718  
 17719  func (c *AdvertisersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
 17720  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17721  	if c.ifNoneMatch_ != "" {
 17722  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17723  	}
 17724  	var body io.Reader = nil
 17725  	c.urlParams_.Set("alt", alt)
 17726  	c.urlParams_.Set("prettyPrint", "false")
 17727  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/channels/{+channelId}")
 17728  	urls += "?" + c.urlParams_.Encode()
 17729  	req, err := http.NewRequest("GET", urls, body)
 17730  	if err != nil {
 17731  		return nil, err
 17732  	}
 17733  	req.Header = reqHeaders
 17734  	googleapi.Expand(req.URL, map[string]string{
 17735  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 17736  		"channelId":    strconv.FormatInt(c.channelId, 10),
 17737  	})
 17738  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17739  }
 17740  
 17741  // Do executes the "displayvideo.advertisers.channels.get" call.
 17742  // Any non-2xx status code is an error. Response headers are in either
 17743  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 17744  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17745  // whether the returned error was because http.StatusNotModified was returned.
 17746  func (c *AdvertisersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 17747  	gensupport.SetOptions(c.urlParams_, opts...)
 17748  	res, err := c.doRequest("json")
 17749  	if res != nil && res.StatusCode == http.StatusNotModified {
 17750  		if res.Body != nil {
 17751  			res.Body.Close()
 17752  		}
 17753  		return nil, gensupport.WrapError(&googleapi.Error{
 17754  			Code:   res.StatusCode,
 17755  			Header: res.Header,
 17756  		})
 17757  	}
 17758  	if err != nil {
 17759  		return nil, err
 17760  	}
 17761  	defer googleapi.CloseBody(res)
 17762  	if err := googleapi.CheckResponse(res); err != nil {
 17763  		return nil, gensupport.WrapError(err)
 17764  	}
 17765  	ret := &Channel{
 17766  		ServerResponse: googleapi.ServerResponse{
 17767  			Header:         res.Header,
 17768  			HTTPStatusCode: res.StatusCode,
 17769  		},
 17770  	}
 17771  	target := &ret
 17772  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17773  		return nil, err
 17774  	}
 17775  	return ret, nil
 17776  }
 17777  
 17778  type AdvertisersChannelsListCall struct {
 17779  	s            *Service
 17780  	advertiserId int64
 17781  	urlParams_   gensupport.URLParams
 17782  	ifNoneMatch_ string
 17783  	ctx_         context.Context
 17784  	header_      http.Header
 17785  }
 17786  
 17787  // List: Lists channels for a partner or advertiser.
 17788  //
 17789  // - advertiserId: The ID of the advertiser that owns the channels.
 17790  func (r *AdvertisersChannelsService) List(advertiserId int64) *AdvertisersChannelsListCall {
 17791  	c := &AdvertisersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17792  	c.advertiserId = advertiserId
 17793  	return c
 17794  }
 17795  
 17796  // Filter sets the optional parameter "filter": Allows filtering by channel
 17797  // fields. Supported syntax: * Filter expressions for channel can only contain
 17798  // at most one restriction. * A restriction has the form of `{field} {operator}
 17799  // {value}`. * All fields must use the `HAS (:)` operator. Supported fields: *
 17800  // `displayName` Examples: * All channels for which the display name contains
 17801  // "google": `displayName : "google". The length of this field should be no
 17802  // more than 500 characters. Reference our filter `LIST` requests
 17803  // (/display-video/api/guides/how-tos/filters) guide for more information.
 17804  func (c *AdvertisersChannelsListCall) Filter(filter string) *AdvertisersChannelsListCall {
 17805  	c.urlParams_.Set("filter", filter)
 17806  	return c
 17807  }
 17808  
 17809  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 17810  // list. Acceptable values are: * `displayName` (default) * `channelId` The
 17811  // default sorting order is ascending. To specify descending order for a field,
 17812  // a suffix " desc" should be added to the field name. Example: `displayName
 17813  // desc`.
 17814  func (c *AdvertisersChannelsListCall) OrderBy(orderBy string) *AdvertisersChannelsListCall {
 17815  	c.urlParams_.Set("orderBy", orderBy)
 17816  	return c
 17817  }
 17818  
 17819  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 17820  // be between `1` and `200`. If unspecified will default to `100`. Returns
 17821  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 17822  func (c *AdvertisersChannelsListCall) PageSize(pageSize int64) *AdvertisersChannelsListCall {
 17823  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 17824  	return c
 17825  }
 17826  
 17827  // PageToken sets the optional parameter "pageToken": A token identifying a
 17828  // page of results the server should return. Typically, this is the value of
 17829  // next_page_token returned from the previous call to `ListChannels` method. If
 17830  // not specified, the first page of results will be returned.
 17831  func (c *AdvertisersChannelsListCall) PageToken(pageToken string) *AdvertisersChannelsListCall {
 17832  	c.urlParams_.Set("pageToken", pageToken)
 17833  	return c
 17834  }
 17835  
 17836  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 17837  // that owns the channels.
 17838  func (c *AdvertisersChannelsListCall) PartnerId(partnerId int64) *AdvertisersChannelsListCall {
 17839  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 17840  	return c
 17841  }
 17842  
 17843  // Fields allows partial responses to be retrieved. See
 17844  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17845  // details.
 17846  func (c *AdvertisersChannelsListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsListCall {
 17847  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17848  	return c
 17849  }
 17850  
 17851  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17852  // object's ETag matches the given value. This is useful for getting updates
 17853  // only after the object has changed since the last request.
 17854  func (c *AdvertisersChannelsListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsListCall {
 17855  	c.ifNoneMatch_ = entityTag
 17856  	return c
 17857  }
 17858  
 17859  // Context sets the context to be used in this call's Do method.
 17860  func (c *AdvertisersChannelsListCall) Context(ctx context.Context) *AdvertisersChannelsListCall {
 17861  	c.ctx_ = ctx
 17862  	return c
 17863  }
 17864  
 17865  // Header returns a http.Header that can be modified by the caller to add
 17866  // headers to the request.
 17867  func (c *AdvertisersChannelsListCall) Header() http.Header {
 17868  	if c.header_ == nil {
 17869  		c.header_ = make(http.Header)
 17870  	}
 17871  	return c.header_
 17872  }
 17873  
 17874  func (c *AdvertisersChannelsListCall) doRequest(alt string) (*http.Response, error) {
 17875  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17876  	if c.ifNoneMatch_ != "" {
 17877  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17878  	}
 17879  	var body io.Reader = nil
 17880  	c.urlParams_.Set("alt", alt)
 17881  	c.urlParams_.Set("prettyPrint", "false")
 17882  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/channels")
 17883  	urls += "?" + c.urlParams_.Encode()
 17884  	req, err := http.NewRequest("GET", urls, body)
 17885  	if err != nil {
 17886  		return nil, err
 17887  	}
 17888  	req.Header = reqHeaders
 17889  	googleapi.Expand(req.URL, map[string]string{
 17890  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 17891  	})
 17892  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17893  }
 17894  
 17895  // Do executes the "displayvideo.advertisers.channels.list" call.
 17896  // Any non-2xx status code is an error. Response headers are in either
 17897  // *ListChannelsResponse.ServerResponse.Header or (if a response was returned
 17898  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 17899  // check whether the returned error was because http.StatusNotModified was
 17900  // returned.
 17901  func (c *AdvertisersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) {
 17902  	gensupport.SetOptions(c.urlParams_, opts...)
 17903  	res, err := c.doRequest("json")
 17904  	if res != nil && res.StatusCode == http.StatusNotModified {
 17905  		if res.Body != nil {
 17906  			res.Body.Close()
 17907  		}
 17908  		return nil, gensupport.WrapError(&googleapi.Error{
 17909  			Code:   res.StatusCode,
 17910  			Header: res.Header,
 17911  		})
 17912  	}
 17913  	if err != nil {
 17914  		return nil, err
 17915  	}
 17916  	defer googleapi.CloseBody(res)
 17917  	if err := googleapi.CheckResponse(res); err != nil {
 17918  		return nil, gensupport.WrapError(err)
 17919  	}
 17920  	ret := &ListChannelsResponse{
 17921  		ServerResponse: googleapi.ServerResponse{
 17922  			Header:         res.Header,
 17923  			HTTPStatusCode: res.StatusCode,
 17924  		},
 17925  	}
 17926  	target := &ret
 17927  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17928  		return nil, err
 17929  	}
 17930  	return ret, nil
 17931  }
 17932  
 17933  // Pages invokes f for each page of results.
 17934  // A non-nil error returned from f will halt the iteration.
 17935  // The provided context supersedes any context provided to the Context method.
 17936  func (c *AdvertisersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error {
 17937  	c.ctx_ = ctx
 17938  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 17939  	for {
 17940  		x, err := c.Do()
 17941  		if err != nil {
 17942  			return err
 17943  		}
 17944  		if err := f(x); err != nil {
 17945  			return err
 17946  		}
 17947  		if x.NextPageToken == "" {
 17948  			return nil
 17949  		}
 17950  		c.PageToken(x.NextPageToken)
 17951  	}
 17952  }
 17953  
 17954  type AdvertisersChannelsPatchCall struct {
 17955  	s            *Service
 17956  	advertiserId int64
 17957  	channelId    int64
 17958  	channel      *Channel
 17959  	urlParams_   gensupport.URLParams
 17960  	ctx_         context.Context
 17961  	header_      http.Header
 17962  }
 17963  
 17964  // Patch: Updates a channel. Returns the updated channel if successful.
 17965  //
 17966  //   - advertiserId: The ID of the advertiser that owns the created channel.
 17967  //   - channelId: Output only. The unique ID of the channel. Assigned by the
 17968  //     system.
 17969  func (r *AdvertisersChannelsService) Patch(advertiserId int64, channelId int64, channel *Channel) *AdvertisersChannelsPatchCall {
 17970  	c := &AdvertisersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17971  	c.advertiserId = advertiserId
 17972  	c.channelId = channelId
 17973  	c.channel = channel
 17974  	return c
 17975  }
 17976  
 17977  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 17978  // that owns the created channel.
 17979  func (c *AdvertisersChannelsPatchCall) PartnerId(partnerId int64) *AdvertisersChannelsPatchCall {
 17980  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 17981  	return c
 17982  }
 17983  
 17984  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 17985  // control which fields to update.
 17986  func (c *AdvertisersChannelsPatchCall) UpdateMask(updateMask string) *AdvertisersChannelsPatchCall {
 17987  	c.urlParams_.Set("updateMask", updateMask)
 17988  	return c
 17989  }
 17990  
 17991  // Fields allows partial responses to be retrieved. See
 17992  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17993  // details.
 17994  func (c *AdvertisersChannelsPatchCall) Fields(s ...googleapi.Field) *AdvertisersChannelsPatchCall {
 17995  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17996  	return c
 17997  }
 17998  
 17999  // Context sets the context to be used in this call's Do method.
 18000  func (c *AdvertisersChannelsPatchCall) Context(ctx context.Context) *AdvertisersChannelsPatchCall {
 18001  	c.ctx_ = ctx
 18002  	return c
 18003  }
 18004  
 18005  // Header returns a http.Header that can be modified by the caller to add
 18006  // headers to the request.
 18007  func (c *AdvertisersChannelsPatchCall) Header() http.Header {
 18008  	if c.header_ == nil {
 18009  		c.header_ = make(http.Header)
 18010  	}
 18011  	return c.header_
 18012  }
 18013  
 18014  func (c *AdvertisersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
 18015  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18016  	var body io.Reader = nil
 18017  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
 18018  	if err != nil {
 18019  		return nil, err
 18020  	}
 18021  	c.urlParams_.Set("alt", alt)
 18022  	c.urlParams_.Set("prettyPrint", "false")
 18023  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/channels/{channelId}")
 18024  	urls += "?" + c.urlParams_.Encode()
 18025  	req, err := http.NewRequest("PATCH", urls, body)
 18026  	if err != nil {
 18027  		return nil, err
 18028  	}
 18029  	req.Header = reqHeaders
 18030  	googleapi.Expand(req.URL, map[string]string{
 18031  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18032  		"channelId":    strconv.FormatInt(c.channelId, 10),
 18033  	})
 18034  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18035  }
 18036  
 18037  // Do executes the "displayvideo.advertisers.channels.patch" call.
 18038  // Any non-2xx status code is an error. Response headers are in either
 18039  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 18040  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18041  // whether the returned error was because http.StatusNotModified was returned.
 18042  func (c *AdvertisersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 18043  	gensupport.SetOptions(c.urlParams_, opts...)
 18044  	res, err := c.doRequest("json")
 18045  	if res != nil && res.StatusCode == http.StatusNotModified {
 18046  		if res.Body != nil {
 18047  			res.Body.Close()
 18048  		}
 18049  		return nil, gensupport.WrapError(&googleapi.Error{
 18050  			Code:   res.StatusCode,
 18051  			Header: res.Header,
 18052  		})
 18053  	}
 18054  	if err != nil {
 18055  		return nil, err
 18056  	}
 18057  	defer googleapi.CloseBody(res)
 18058  	if err := googleapi.CheckResponse(res); err != nil {
 18059  		return nil, gensupport.WrapError(err)
 18060  	}
 18061  	ret := &Channel{
 18062  		ServerResponse: googleapi.ServerResponse{
 18063  			Header:         res.Header,
 18064  			HTTPStatusCode: res.StatusCode,
 18065  		},
 18066  	}
 18067  	target := &ret
 18068  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18069  		return nil, err
 18070  	}
 18071  	return ret, nil
 18072  }
 18073  
 18074  type AdvertisersChannelsSitesBulkEditCall struct {
 18075  	s                    *Service
 18076  	advertiserId         int64
 18077  	channelId            int64
 18078  	bulkeditsitesrequest *BulkEditSitesRequest
 18079  	urlParams_           gensupport.URLParams
 18080  	ctx_                 context.Context
 18081  	header_              http.Header
 18082  }
 18083  
 18084  // BulkEdit: Bulk edits sites under a single channel. The operation will delete
 18085  // the sites provided in BulkEditSitesRequest.deleted_sites and then create the
 18086  // sites provided in BulkEditSitesRequest.created_sites.
 18087  //
 18088  // - advertiserId: The ID of the advertiser that owns the parent channel.
 18089  // - channelId: The ID of the parent channel to which the sites belong.
 18090  func (r *AdvertisersChannelsSitesService) BulkEdit(advertiserId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *AdvertisersChannelsSitesBulkEditCall {
 18091  	c := &AdvertisersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18092  	c.advertiserId = advertiserId
 18093  	c.channelId = channelId
 18094  	c.bulkeditsitesrequest = bulkeditsitesrequest
 18095  	return c
 18096  }
 18097  
 18098  // Fields allows partial responses to be retrieved. See
 18099  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18100  // details.
 18101  func (c *AdvertisersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesBulkEditCall {
 18102  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18103  	return c
 18104  }
 18105  
 18106  // Context sets the context to be used in this call's Do method.
 18107  func (c *AdvertisersChannelsSitesBulkEditCall) Context(ctx context.Context) *AdvertisersChannelsSitesBulkEditCall {
 18108  	c.ctx_ = ctx
 18109  	return c
 18110  }
 18111  
 18112  // Header returns a http.Header that can be modified by the caller to add
 18113  // headers to the request.
 18114  func (c *AdvertisersChannelsSitesBulkEditCall) Header() http.Header {
 18115  	if c.header_ == nil {
 18116  		c.header_ = make(http.Header)
 18117  	}
 18118  	return c.header_
 18119  }
 18120  
 18121  func (c *AdvertisersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
 18122  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18123  	var body io.Reader = nil
 18124  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest)
 18125  	if err != nil {
 18126  		return nil, err
 18127  	}
 18128  	c.urlParams_.Set("alt", alt)
 18129  	c.urlParams_.Set("prettyPrint", "false")
 18130  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit")
 18131  	urls += "?" + c.urlParams_.Encode()
 18132  	req, err := http.NewRequest("POST", urls, body)
 18133  	if err != nil {
 18134  		return nil, err
 18135  	}
 18136  	req.Header = reqHeaders
 18137  	googleapi.Expand(req.URL, map[string]string{
 18138  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18139  		"channelId":    strconv.FormatInt(c.channelId, 10),
 18140  	})
 18141  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18142  }
 18143  
 18144  // Do executes the "displayvideo.advertisers.channels.sites.bulkEdit" call.
 18145  // Any non-2xx status code is an error. Response headers are in either
 18146  // *BulkEditSitesResponse.ServerResponse.Header or (if a response was returned
 18147  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 18148  // check whether the returned error was because http.StatusNotModified was
 18149  // returned.
 18150  func (c *AdvertisersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) {
 18151  	gensupport.SetOptions(c.urlParams_, opts...)
 18152  	res, err := c.doRequest("json")
 18153  	if res != nil && res.StatusCode == http.StatusNotModified {
 18154  		if res.Body != nil {
 18155  			res.Body.Close()
 18156  		}
 18157  		return nil, gensupport.WrapError(&googleapi.Error{
 18158  			Code:   res.StatusCode,
 18159  			Header: res.Header,
 18160  		})
 18161  	}
 18162  	if err != nil {
 18163  		return nil, err
 18164  	}
 18165  	defer googleapi.CloseBody(res)
 18166  	if err := googleapi.CheckResponse(res); err != nil {
 18167  		return nil, gensupport.WrapError(err)
 18168  	}
 18169  	ret := &BulkEditSitesResponse{
 18170  		ServerResponse: googleapi.ServerResponse{
 18171  			Header:         res.Header,
 18172  			HTTPStatusCode: res.StatusCode,
 18173  		},
 18174  	}
 18175  	target := &ret
 18176  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18177  		return nil, err
 18178  	}
 18179  	return ret, nil
 18180  }
 18181  
 18182  type AdvertisersChannelsSitesCreateCall struct {
 18183  	s            *Service
 18184  	advertiserId int64
 18185  	channelId    int64
 18186  	site         *Site
 18187  	urlParams_   gensupport.URLParams
 18188  	ctx_         context.Context
 18189  	header_      http.Header
 18190  }
 18191  
 18192  // Create: Creates a site in a channel.
 18193  //
 18194  // - advertiserId: The ID of the advertiser that owns the parent channel.
 18195  // - channelId: The ID of the parent channel in which the site will be created.
 18196  func (r *AdvertisersChannelsSitesService) Create(advertiserId int64, channelId int64, site *Site) *AdvertisersChannelsSitesCreateCall {
 18197  	c := &AdvertisersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18198  	c.advertiserId = advertiserId
 18199  	c.channelId = channelId
 18200  	c.site = site
 18201  	return c
 18202  }
 18203  
 18204  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 18205  // that owns the parent channel.
 18206  func (c *AdvertisersChannelsSitesCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesCreateCall {
 18207  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 18208  	return c
 18209  }
 18210  
 18211  // Fields allows partial responses to be retrieved. See
 18212  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18213  // details.
 18214  func (c *AdvertisersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesCreateCall {
 18215  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18216  	return c
 18217  }
 18218  
 18219  // Context sets the context to be used in this call's Do method.
 18220  func (c *AdvertisersChannelsSitesCreateCall) Context(ctx context.Context) *AdvertisersChannelsSitesCreateCall {
 18221  	c.ctx_ = ctx
 18222  	return c
 18223  }
 18224  
 18225  // Header returns a http.Header that can be modified by the caller to add
 18226  // headers to the request.
 18227  func (c *AdvertisersChannelsSitesCreateCall) Header() http.Header {
 18228  	if c.header_ == nil {
 18229  		c.header_ = make(http.Header)
 18230  	}
 18231  	return c.header_
 18232  }
 18233  
 18234  func (c *AdvertisersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
 18235  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18236  	var body io.Reader = nil
 18237  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 18238  	if err != nil {
 18239  		return nil, err
 18240  	}
 18241  	c.urlParams_.Set("alt", alt)
 18242  	c.urlParams_.Set("prettyPrint", "false")
 18243  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/channels/{+channelId}/sites")
 18244  	urls += "?" + c.urlParams_.Encode()
 18245  	req, err := http.NewRequest("POST", urls, body)
 18246  	if err != nil {
 18247  		return nil, err
 18248  	}
 18249  	req.Header = reqHeaders
 18250  	googleapi.Expand(req.URL, map[string]string{
 18251  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18252  		"channelId":    strconv.FormatInt(c.channelId, 10),
 18253  	})
 18254  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18255  }
 18256  
 18257  // Do executes the "displayvideo.advertisers.channels.sites.create" call.
 18258  // Any non-2xx status code is an error. Response headers are in either
 18259  // *Site.ServerResponse.Header or (if a response was returned at all) in
 18260  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18261  // whether the returned error was because http.StatusNotModified was returned.
 18262  func (c *AdvertisersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 18263  	gensupport.SetOptions(c.urlParams_, opts...)
 18264  	res, err := c.doRequest("json")
 18265  	if res != nil && res.StatusCode == http.StatusNotModified {
 18266  		if res.Body != nil {
 18267  			res.Body.Close()
 18268  		}
 18269  		return nil, gensupport.WrapError(&googleapi.Error{
 18270  			Code:   res.StatusCode,
 18271  			Header: res.Header,
 18272  		})
 18273  	}
 18274  	if err != nil {
 18275  		return nil, err
 18276  	}
 18277  	defer googleapi.CloseBody(res)
 18278  	if err := googleapi.CheckResponse(res); err != nil {
 18279  		return nil, gensupport.WrapError(err)
 18280  	}
 18281  	ret := &Site{
 18282  		ServerResponse: googleapi.ServerResponse{
 18283  			Header:         res.Header,
 18284  			HTTPStatusCode: res.StatusCode,
 18285  		},
 18286  	}
 18287  	target := &ret
 18288  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18289  		return nil, err
 18290  	}
 18291  	return ret, nil
 18292  }
 18293  
 18294  type AdvertisersChannelsSitesDeleteCall struct {
 18295  	s            *Service
 18296  	advertiserId int64
 18297  	channelId    int64
 18298  	urlOrAppId   string
 18299  	urlParams_   gensupport.URLParams
 18300  	ctx_         context.Context
 18301  	header_      http.Header
 18302  }
 18303  
 18304  // Delete: Deletes a site from a channel.
 18305  //
 18306  // - advertiserId: The ID of the advertiser that owns the parent channel.
 18307  // - channelId: The ID of the parent channel to which the site belongs.
 18308  // - urlOrAppId: The URL or app ID of the site to delete.
 18309  func (r *AdvertisersChannelsSitesService) Delete(advertiserId int64, channelId int64, urlOrAppId string) *AdvertisersChannelsSitesDeleteCall {
 18310  	c := &AdvertisersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18311  	c.advertiserId = advertiserId
 18312  	c.channelId = channelId
 18313  	c.urlOrAppId = urlOrAppId
 18314  	return c
 18315  }
 18316  
 18317  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 18318  // that owns the parent channel.
 18319  func (c *AdvertisersChannelsSitesDeleteCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesDeleteCall {
 18320  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 18321  	return c
 18322  }
 18323  
 18324  // Fields allows partial responses to be retrieved. See
 18325  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18326  // details.
 18327  func (c *AdvertisersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesDeleteCall {
 18328  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18329  	return c
 18330  }
 18331  
 18332  // Context sets the context to be used in this call's Do method.
 18333  func (c *AdvertisersChannelsSitesDeleteCall) Context(ctx context.Context) *AdvertisersChannelsSitesDeleteCall {
 18334  	c.ctx_ = ctx
 18335  	return c
 18336  }
 18337  
 18338  // Header returns a http.Header that can be modified by the caller to add
 18339  // headers to the request.
 18340  func (c *AdvertisersChannelsSitesDeleteCall) Header() http.Header {
 18341  	if c.header_ == nil {
 18342  		c.header_ = make(http.Header)
 18343  	}
 18344  	return c.header_
 18345  }
 18346  
 18347  func (c *AdvertisersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
 18348  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18349  	var body io.Reader = nil
 18350  	c.urlParams_.Set("alt", alt)
 18351  	c.urlParams_.Set("prettyPrint", "false")
 18352  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}")
 18353  	urls += "?" + c.urlParams_.Encode()
 18354  	req, err := http.NewRequest("DELETE", urls, body)
 18355  	if err != nil {
 18356  		return nil, err
 18357  	}
 18358  	req.Header = reqHeaders
 18359  	googleapi.Expand(req.URL, map[string]string{
 18360  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18361  		"channelId":    strconv.FormatInt(c.channelId, 10),
 18362  		"urlOrAppId":   c.urlOrAppId,
 18363  	})
 18364  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18365  }
 18366  
 18367  // Do executes the "displayvideo.advertisers.channels.sites.delete" call.
 18368  // Any non-2xx status code is an error. Response headers are in either
 18369  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 18370  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18371  // whether the returned error was because http.StatusNotModified was returned.
 18372  func (c *AdvertisersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 18373  	gensupport.SetOptions(c.urlParams_, opts...)
 18374  	res, err := c.doRequest("json")
 18375  	if res != nil && res.StatusCode == http.StatusNotModified {
 18376  		if res.Body != nil {
 18377  			res.Body.Close()
 18378  		}
 18379  		return nil, gensupport.WrapError(&googleapi.Error{
 18380  			Code:   res.StatusCode,
 18381  			Header: res.Header,
 18382  		})
 18383  	}
 18384  	if err != nil {
 18385  		return nil, err
 18386  	}
 18387  	defer googleapi.CloseBody(res)
 18388  	if err := googleapi.CheckResponse(res); err != nil {
 18389  		return nil, gensupport.WrapError(err)
 18390  	}
 18391  	ret := &Empty{
 18392  		ServerResponse: googleapi.ServerResponse{
 18393  			Header:         res.Header,
 18394  			HTTPStatusCode: res.StatusCode,
 18395  		},
 18396  	}
 18397  	target := &ret
 18398  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18399  		return nil, err
 18400  	}
 18401  	return ret, nil
 18402  }
 18403  
 18404  type AdvertisersChannelsSitesListCall struct {
 18405  	s            *Service
 18406  	advertiserId int64
 18407  	channelId    int64
 18408  	urlParams_   gensupport.URLParams
 18409  	ifNoneMatch_ string
 18410  	ctx_         context.Context
 18411  	header_      http.Header
 18412  }
 18413  
 18414  // List: Lists sites in a channel.
 18415  //
 18416  //   - advertiserId: The ID of the advertiser that owns the parent channel.
 18417  //   - channelId: The ID of the parent channel to which the requested sites
 18418  //     belong.
 18419  func (r *AdvertisersChannelsSitesService) List(advertiserId int64, channelId int64) *AdvertisersChannelsSitesListCall {
 18420  	c := &AdvertisersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18421  	c.advertiserId = advertiserId
 18422  	c.channelId = channelId
 18423  	return c
 18424  }
 18425  
 18426  // Filter sets the optional parameter "filter": Allows filtering by site
 18427  // fields. Supported syntax: * Filter expressions for site retrieval can only
 18428  // contain at most one restriction. * A restriction has the form of `{field}
 18429  // {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported
 18430  // fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID
 18431  // contains "google": `urlOrAppId : "google" The length of this field should
 18432  // be no more than 500 characters. Reference our filter `LIST` requests
 18433  // (/display-video/api/guides/how-tos/filters) guide for more information.
 18434  func (c *AdvertisersChannelsSitesListCall) Filter(filter string) *AdvertisersChannelsSitesListCall {
 18435  	c.urlParams_.Set("filter", filter)
 18436  	return c
 18437  }
 18438  
 18439  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 18440  // list. Acceptable values are: * `urlOrAppId` (default) The default sorting
 18441  // order is ascending. To specify descending order for a field, a suffix "
 18442  // desc" should be added to the field name. Example: `urlOrAppId desc`.
 18443  func (c *AdvertisersChannelsSitesListCall) OrderBy(orderBy string) *AdvertisersChannelsSitesListCall {
 18444  	c.urlParams_.Set("orderBy", orderBy)
 18445  	return c
 18446  }
 18447  
 18448  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 18449  // be between `1` and `10000`. If unspecified will default to `100`. Returns
 18450  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 18451  func (c *AdvertisersChannelsSitesListCall) PageSize(pageSize int64) *AdvertisersChannelsSitesListCall {
 18452  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 18453  	return c
 18454  }
 18455  
 18456  // PageToken sets the optional parameter "pageToken": A token identifying a
 18457  // page of results the server should return. Typically, this is the value of
 18458  // next_page_token returned from the previous call to `ListSites` method. If
 18459  // not specified, the first page of results will be returned.
 18460  func (c *AdvertisersChannelsSitesListCall) PageToken(pageToken string) *AdvertisersChannelsSitesListCall {
 18461  	c.urlParams_.Set("pageToken", pageToken)
 18462  	return c
 18463  }
 18464  
 18465  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 18466  // that owns the parent channel.
 18467  func (c *AdvertisersChannelsSitesListCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesListCall {
 18468  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 18469  	return c
 18470  }
 18471  
 18472  // Fields allows partial responses to be retrieved. See
 18473  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18474  // details.
 18475  func (c *AdvertisersChannelsSitesListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesListCall {
 18476  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18477  	return c
 18478  }
 18479  
 18480  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 18481  // object's ETag matches the given value. This is useful for getting updates
 18482  // only after the object has changed since the last request.
 18483  func (c *AdvertisersChannelsSitesListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsSitesListCall {
 18484  	c.ifNoneMatch_ = entityTag
 18485  	return c
 18486  }
 18487  
 18488  // Context sets the context to be used in this call's Do method.
 18489  func (c *AdvertisersChannelsSitesListCall) Context(ctx context.Context) *AdvertisersChannelsSitesListCall {
 18490  	c.ctx_ = ctx
 18491  	return c
 18492  }
 18493  
 18494  // Header returns a http.Header that can be modified by the caller to add
 18495  // headers to the request.
 18496  func (c *AdvertisersChannelsSitesListCall) Header() http.Header {
 18497  	if c.header_ == nil {
 18498  		c.header_ = make(http.Header)
 18499  	}
 18500  	return c.header_
 18501  }
 18502  
 18503  func (c *AdvertisersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
 18504  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18505  	if c.ifNoneMatch_ != "" {
 18506  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18507  	}
 18508  	var body io.Reader = nil
 18509  	c.urlParams_.Set("alt", alt)
 18510  	c.urlParams_.Set("prettyPrint", "false")
 18511  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/channels/{+channelId}/sites")
 18512  	urls += "?" + c.urlParams_.Encode()
 18513  	req, err := http.NewRequest("GET", urls, body)
 18514  	if err != nil {
 18515  		return nil, err
 18516  	}
 18517  	req.Header = reqHeaders
 18518  	googleapi.Expand(req.URL, map[string]string{
 18519  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18520  		"channelId":    strconv.FormatInt(c.channelId, 10),
 18521  	})
 18522  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18523  }
 18524  
 18525  // Do executes the "displayvideo.advertisers.channels.sites.list" call.
 18526  // Any non-2xx status code is an error. Response headers are in either
 18527  // *ListSitesResponse.ServerResponse.Header or (if a response was returned at
 18528  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 18529  // check whether the returned error was because http.StatusNotModified was
 18530  // returned.
 18531  func (c *AdvertisersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) {
 18532  	gensupport.SetOptions(c.urlParams_, opts...)
 18533  	res, err := c.doRequest("json")
 18534  	if res != nil && res.StatusCode == http.StatusNotModified {
 18535  		if res.Body != nil {
 18536  			res.Body.Close()
 18537  		}
 18538  		return nil, gensupport.WrapError(&googleapi.Error{
 18539  			Code:   res.StatusCode,
 18540  			Header: res.Header,
 18541  		})
 18542  	}
 18543  	if err != nil {
 18544  		return nil, err
 18545  	}
 18546  	defer googleapi.CloseBody(res)
 18547  	if err := googleapi.CheckResponse(res); err != nil {
 18548  		return nil, gensupport.WrapError(err)
 18549  	}
 18550  	ret := &ListSitesResponse{
 18551  		ServerResponse: googleapi.ServerResponse{
 18552  			Header:         res.Header,
 18553  			HTTPStatusCode: res.StatusCode,
 18554  		},
 18555  	}
 18556  	target := &ret
 18557  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18558  		return nil, err
 18559  	}
 18560  	return ret, nil
 18561  }
 18562  
 18563  // Pages invokes f for each page of results.
 18564  // A non-nil error returned from f will halt the iteration.
 18565  // The provided context supersedes any context provided to the Context method.
 18566  func (c *AdvertisersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error {
 18567  	c.ctx_ = ctx
 18568  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 18569  	for {
 18570  		x, err := c.Do()
 18571  		if err != nil {
 18572  			return err
 18573  		}
 18574  		if err := f(x); err != nil {
 18575  			return err
 18576  		}
 18577  		if x.NextPageToken == "" {
 18578  			return nil
 18579  		}
 18580  		c.PageToken(x.NextPageToken)
 18581  	}
 18582  }
 18583  
 18584  type AdvertisersChannelsSitesReplaceCall struct {
 18585  	s                   *Service
 18586  	advertiserId        int64
 18587  	channelId           int64
 18588  	replacesitesrequest *ReplaceSitesRequest
 18589  	urlParams_          gensupport.URLParams
 18590  	ctx_                context.Context
 18591  	header_             http.Header
 18592  }
 18593  
 18594  // Replace: Replaces all of the sites under a single channel. The operation
 18595  // will replace the sites under a channel with the sites provided in
 18596  // ReplaceSitesRequest.new_sites. **This method regularly experiences high
 18597  // latency.** We recommend increasing your default timeout
 18598  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 18599  // to avoid errors.
 18600  //
 18601  // - advertiserId: The ID of the advertiser that owns the parent channel.
 18602  // - channelId: The ID of the parent channel whose sites will be replaced.
 18603  func (r *AdvertisersChannelsSitesService) Replace(advertiserId int64, channelId int64, replacesitesrequest *ReplaceSitesRequest) *AdvertisersChannelsSitesReplaceCall {
 18604  	c := &AdvertisersChannelsSitesReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18605  	c.advertiserId = advertiserId
 18606  	c.channelId = channelId
 18607  	c.replacesitesrequest = replacesitesrequest
 18608  	return c
 18609  }
 18610  
 18611  // Fields allows partial responses to be retrieved. See
 18612  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18613  // details.
 18614  func (c *AdvertisersChannelsSitesReplaceCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesReplaceCall {
 18615  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18616  	return c
 18617  }
 18618  
 18619  // Context sets the context to be used in this call's Do method.
 18620  func (c *AdvertisersChannelsSitesReplaceCall) Context(ctx context.Context) *AdvertisersChannelsSitesReplaceCall {
 18621  	c.ctx_ = ctx
 18622  	return c
 18623  }
 18624  
 18625  // Header returns a http.Header that can be modified by the caller to add
 18626  // headers to the request.
 18627  func (c *AdvertisersChannelsSitesReplaceCall) Header() http.Header {
 18628  	if c.header_ == nil {
 18629  		c.header_ = make(http.Header)
 18630  	}
 18631  	return c.header_
 18632  }
 18633  
 18634  func (c *AdvertisersChannelsSitesReplaceCall) doRequest(alt string) (*http.Response, error) {
 18635  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18636  	var body io.Reader = nil
 18637  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacesitesrequest)
 18638  	if err != nil {
 18639  		return nil, err
 18640  	}
 18641  	c.urlParams_.Set("alt", alt)
 18642  	c.urlParams_.Set("prettyPrint", "false")
 18643  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:replace")
 18644  	urls += "?" + c.urlParams_.Encode()
 18645  	req, err := http.NewRequest("POST", urls, body)
 18646  	if err != nil {
 18647  		return nil, err
 18648  	}
 18649  	req.Header = reqHeaders
 18650  	googleapi.Expand(req.URL, map[string]string{
 18651  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18652  		"channelId":    strconv.FormatInt(c.channelId, 10),
 18653  	})
 18654  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18655  }
 18656  
 18657  // Do executes the "displayvideo.advertisers.channels.sites.replace" call.
 18658  // Any non-2xx status code is an error. Response headers are in either
 18659  // *ReplaceSitesResponse.ServerResponse.Header or (if a response was returned
 18660  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 18661  // check whether the returned error was because http.StatusNotModified was
 18662  // returned.
 18663  func (c *AdvertisersChannelsSitesReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceSitesResponse, error) {
 18664  	gensupport.SetOptions(c.urlParams_, opts...)
 18665  	res, err := c.doRequest("json")
 18666  	if res != nil && res.StatusCode == http.StatusNotModified {
 18667  		if res.Body != nil {
 18668  			res.Body.Close()
 18669  		}
 18670  		return nil, gensupport.WrapError(&googleapi.Error{
 18671  			Code:   res.StatusCode,
 18672  			Header: res.Header,
 18673  		})
 18674  	}
 18675  	if err != nil {
 18676  		return nil, err
 18677  	}
 18678  	defer googleapi.CloseBody(res)
 18679  	if err := googleapi.CheckResponse(res); err != nil {
 18680  		return nil, gensupport.WrapError(err)
 18681  	}
 18682  	ret := &ReplaceSitesResponse{
 18683  		ServerResponse: googleapi.ServerResponse{
 18684  			Header:         res.Header,
 18685  			HTTPStatusCode: res.StatusCode,
 18686  		},
 18687  	}
 18688  	target := &ret
 18689  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18690  		return nil, err
 18691  	}
 18692  	return ret, nil
 18693  }
 18694  
 18695  type AdvertisersCreativesCreateCall struct {
 18696  	s            *Service
 18697  	advertiserId int64
 18698  	creative     *Creative
 18699  	urlParams_   gensupport.URLParams
 18700  	ctx_         context.Context
 18701  	header_      http.Header
 18702  }
 18703  
 18704  // Create: Creates a new creative. Returns the newly created creative if
 18705  // successful. A "Standard" user role
 18706  // (//support.google.com/displayvideo/answer/2723011) or greater for the parent
 18707  // advertiser or partner is required to make this request.
 18708  //
 18709  //   - advertiserId: Output only. The unique ID of the advertiser the creative
 18710  //     belongs to.
 18711  func (r *AdvertisersCreativesService) Create(advertiserId int64, creative *Creative) *AdvertisersCreativesCreateCall {
 18712  	c := &AdvertisersCreativesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18713  	c.advertiserId = advertiserId
 18714  	c.creative = creative
 18715  	return c
 18716  }
 18717  
 18718  // Fields allows partial responses to be retrieved. See
 18719  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18720  // details.
 18721  func (c *AdvertisersCreativesCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreativesCreateCall {
 18722  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18723  	return c
 18724  }
 18725  
 18726  // Context sets the context to be used in this call's Do method.
 18727  func (c *AdvertisersCreativesCreateCall) Context(ctx context.Context) *AdvertisersCreativesCreateCall {
 18728  	c.ctx_ = ctx
 18729  	return c
 18730  }
 18731  
 18732  // Header returns a http.Header that can be modified by the caller to add
 18733  // headers to the request.
 18734  func (c *AdvertisersCreativesCreateCall) Header() http.Header {
 18735  	if c.header_ == nil {
 18736  		c.header_ = make(http.Header)
 18737  	}
 18738  	return c.header_
 18739  }
 18740  
 18741  func (c *AdvertisersCreativesCreateCall) doRequest(alt string) (*http.Response, error) {
 18742  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18743  	var body io.Reader = nil
 18744  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 18745  	if err != nil {
 18746  		return nil, err
 18747  	}
 18748  	c.urlParams_.Set("alt", alt)
 18749  	c.urlParams_.Set("prettyPrint", "false")
 18750  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/creatives")
 18751  	urls += "?" + c.urlParams_.Encode()
 18752  	req, err := http.NewRequest("POST", urls, body)
 18753  	if err != nil {
 18754  		return nil, err
 18755  	}
 18756  	req.Header = reqHeaders
 18757  	googleapi.Expand(req.URL, map[string]string{
 18758  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18759  	})
 18760  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18761  }
 18762  
 18763  // Do executes the "displayvideo.advertisers.creatives.create" call.
 18764  // Any non-2xx status code is an error. Response headers are in either
 18765  // *Creative.ServerResponse.Header or (if a response was returned at all) in
 18766  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18767  // whether the returned error was because http.StatusNotModified was returned.
 18768  func (c *AdvertisersCreativesCreateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 18769  	gensupport.SetOptions(c.urlParams_, opts...)
 18770  	res, err := c.doRequest("json")
 18771  	if res != nil && res.StatusCode == http.StatusNotModified {
 18772  		if res.Body != nil {
 18773  			res.Body.Close()
 18774  		}
 18775  		return nil, gensupport.WrapError(&googleapi.Error{
 18776  			Code:   res.StatusCode,
 18777  			Header: res.Header,
 18778  		})
 18779  	}
 18780  	if err != nil {
 18781  		return nil, err
 18782  	}
 18783  	defer googleapi.CloseBody(res)
 18784  	if err := googleapi.CheckResponse(res); err != nil {
 18785  		return nil, gensupport.WrapError(err)
 18786  	}
 18787  	ret := &Creative{
 18788  		ServerResponse: googleapi.ServerResponse{
 18789  			Header:         res.Header,
 18790  			HTTPStatusCode: res.StatusCode,
 18791  		},
 18792  	}
 18793  	target := &ret
 18794  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18795  		return nil, err
 18796  	}
 18797  	return ret, nil
 18798  }
 18799  
 18800  type AdvertisersCreativesDeleteCall struct {
 18801  	s            *Service
 18802  	advertiserId int64
 18803  	creativeId   int64
 18804  	urlParams_   gensupport.URLParams
 18805  	ctx_         context.Context
 18806  	header_      http.Header
 18807  }
 18808  
 18809  // Delete: Deletes a creative. Returns error code `NOT_FOUND` if the creative
 18810  // does not exist. The creative should be archived first, i.e. set
 18811  // entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A
 18812  // "Standard" user role (//support.google.com/displayvideo/answer/2723011) or
 18813  // greater for the parent advertiser or partner is required to make this
 18814  // request.
 18815  //
 18816  // - advertiserId: The ID of the advertiser this creative belongs to.
 18817  // - creativeId: The ID of the creative to be deleted.
 18818  func (r *AdvertisersCreativesService) Delete(advertiserId int64, creativeId int64) *AdvertisersCreativesDeleteCall {
 18819  	c := &AdvertisersCreativesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18820  	c.advertiserId = advertiserId
 18821  	c.creativeId = creativeId
 18822  	return c
 18823  }
 18824  
 18825  // Fields allows partial responses to be retrieved. See
 18826  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18827  // details.
 18828  func (c *AdvertisersCreativesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCreativesDeleteCall {
 18829  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18830  	return c
 18831  }
 18832  
 18833  // Context sets the context to be used in this call's Do method.
 18834  func (c *AdvertisersCreativesDeleteCall) Context(ctx context.Context) *AdvertisersCreativesDeleteCall {
 18835  	c.ctx_ = ctx
 18836  	return c
 18837  }
 18838  
 18839  // Header returns a http.Header that can be modified by the caller to add
 18840  // headers to the request.
 18841  func (c *AdvertisersCreativesDeleteCall) Header() http.Header {
 18842  	if c.header_ == nil {
 18843  		c.header_ = make(http.Header)
 18844  	}
 18845  	return c.header_
 18846  }
 18847  
 18848  func (c *AdvertisersCreativesDeleteCall) doRequest(alt string) (*http.Response, error) {
 18849  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18850  	var body io.Reader = nil
 18851  	c.urlParams_.Set("alt", alt)
 18852  	c.urlParams_.Set("prettyPrint", "false")
 18853  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/creatives/{+creativeId}")
 18854  	urls += "?" + c.urlParams_.Encode()
 18855  	req, err := http.NewRequest("DELETE", urls, body)
 18856  	if err != nil {
 18857  		return nil, err
 18858  	}
 18859  	req.Header = reqHeaders
 18860  	googleapi.Expand(req.URL, map[string]string{
 18861  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18862  		"creativeId":   strconv.FormatInt(c.creativeId, 10),
 18863  	})
 18864  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18865  }
 18866  
 18867  // Do executes the "displayvideo.advertisers.creatives.delete" call.
 18868  // Any non-2xx status code is an error. Response headers are in either
 18869  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 18870  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18871  // whether the returned error was because http.StatusNotModified was returned.
 18872  func (c *AdvertisersCreativesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 18873  	gensupport.SetOptions(c.urlParams_, opts...)
 18874  	res, err := c.doRequest("json")
 18875  	if res != nil && res.StatusCode == http.StatusNotModified {
 18876  		if res.Body != nil {
 18877  			res.Body.Close()
 18878  		}
 18879  		return nil, gensupport.WrapError(&googleapi.Error{
 18880  			Code:   res.StatusCode,
 18881  			Header: res.Header,
 18882  		})
 18883  	}
 18884  	if err != nil {
 18885  		return nil, err
 18886  	}
 18887  	defer googleapi.CloseBody(res)
 18888  	if err := googleapi.CheckResponse(res); err != nil {
 18889  		return nil, gensupport.WrapError(err)
 18890  	}
 18891  	ret := &Empty{
 18892  		ServerResponse: googleapi.ServerResponse{
 18893  			Header:         res.Header,
 18894  			HTTPStatusCode: res.StatusCode,
 18895  		},
 18896  	}
 18897  	target := &ret
 18898  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18899  		return nil, err
 18900  	}
 18901  	return ret, nil
 18902  }
 18903  
 18904  type AdvertisersCreativesGetCall struct {
 18905  	s            *Service
 18906  	advertiserId int64
 18907  	creativeId   int64
 18908  	urlParams_   gensupport.URLParams
 18909  	ifNoneMatch_ string
 18910  	ctx_         context.Context
 18911  	header_      http.Header
 18912  }
 18913  
 18914  // Get: Gets a creative.
 18915  //
 18916  // - advertiserId: The ID of the advertiser this creative belongs to.
 18917  // - creativeId: The ID of the creative to fetch.
 18918  func (r *AdvertisersCreativesService) Get(advertiserId int64, creativeId int64) *AdvertisersCreativesGetCall {
 18919  	c := &AdvertisersCreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18920  	c.advertiserId = advertiserId
 18921  	c.creativeId = creativeId
 18922  	return c
 18923  }
 18924  
 18925  // Fields allows partial responses to be retrieved. See
 18926  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18927  // details.
 18928  func (c *AdvertisersCreativesGetCall) Fields(s ...googleapi.Field) *AdvertisersCreativesGetCall {
 18929  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18930  	return c
 18931  }
 18932  
 18933  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 18934  // object's ETag matches the given value. This is useful for getting updates
 18935  // only after the object has changed since the last request.
 18936  func (c *AdvertisersCreativesGetCall) IfNoneMatch(entityTag string) *AdvertisersCreativesGetCall {
 18937  	c.ifNoneMatch_ = entityTag
 18938  	return c
 18939  }
 18940  
 18941  // Context sets the context to be used in this call's Do method.
 18942  func (c *AdvertisersCreativesGetCall) Context(ctx context.Context) *AdvertisersCreativesGetCall {
 18943  	c.ctx_ = ctx
 18944  	return c
 18945  }
 18946  
 18947  // Header returns a http.Header that can be modified by the caller to add
 18948  // headers to the request.
 18949  func (c *AdvertisersCreativesGetCall) Header() http.Header {
 18950  	if c.header_ == nil {
 18951  		c.header_ = make(http.Header)
 18952  	}
 18953  	return c.header_
 18954  }
 18955  
 18956  func (c *AdvertisersCreativesGetCall) doRequest(alt string) (*http.Response, error) {
 18957  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18958  	if c.ifNoneMatch_ != "" {
 18959  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18960  	}
 18961  	var body io.Reader = nil
 18962  	c.urlParams_.Set("alt", alt)
 18963  	c.urlParams_.Set("prettyPrint", "false")
 18964  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/creatives/{+creativeId}")
 18965  	urls += "?" + c.urlParams_.Encode()
 18966  	req, err := http.NewRequest("GET", urls, body)
 18967  	if err != nil {
 18968  		return nil, err
 18969  	}
 18970  	req.Header = reqHeaders
 18971  	googleapi.Expand(req.URL, map[string]string{
 18972  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18973  		"creativeId":   strconv.FormatInt(c.creativeId, 10),
 18974  	})
 18975  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18976  }
 18977  
 18978  // Do executes the "displayvideo.advertisers.creatives.get" call.
 18979  // Any non-2xx status code is an error. Response headers are in either
 18980  // *Creative.ServerResponse.Header or (if a response was returned at all) in
 18981  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18982  // whether the returned error was because http.StatusNotModified was returned.
 18983  func (c *AdvertisersCreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 18984  	gensupport.SetOptions(c.urlParams_, opts...)
 18985  	res, err := c.doRequest("json")
 18986  	if res != nil && res.StatusCode == http.StatusNotModified {
 18987  		if res.Body != nil {
 18988  			res.Body.Close()
 18989  		}
 18990  		return nil, gensupport.WrapError(&googleapi.Error{
 18991  			Code:   res.StatusCode,
 18992  			Header: res.Header,
 18993  		})
 18994  	}
 18995  	if err != nil {
 18996  		return nil, err
 18997  	}
 18998  	defer googleapi.CloseBody(res)
 18999  	if err := googleapi.CheckResponse(res); err != nil {
 19000  		return nil, gensupport.WrapError(err)
 19001  	}
 19002  	ret := &Creative{
 19003  		ServerResponse: googleapi.ServerResponse{
 19004  			Header:         res.Header,
 19005  			HTTPStatusCode: res.StatusCode,
 19006  		},
 19007  	}
 19008  	target := &ret
 19009  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19010  		return nil, err
 19011  	}
 19012  	return ret, nil
 19013  }
 19014  
 19015  type AdvertisersCreativesListCall struct {
 19016  	s            *Service
 19017  	advertiserId int64
 19018  	urlParams_   gensupport.URLParams
 19019  	ifNoneMatch_ string
 19020  	ctx_         context.Context
 19021  	header_      http.Header
 19022  }
 19023  
 19024  // List: Lists creatives in an advertiser. The order is defined by the order_by
 19025  // parameter. If a filter by entity_status is not specified, creatives with
 19026  // `ENTITY_STATUS_ARCHIVED` will not be included in the results.
 19027  //
 19028  // - advertiserId: The ID of the advertiser to list creatives for.
 19029  func (r *AdvertisersCreativesService) List(advertiserId int64) *AdvertisersCreativesListCall {
 19030  	c := &AdvertisersCreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19031  	c.advertiserId = advertiserId
 19032  	return c
 19033  }
 19034  
 19035  // Filter sets the optional parameter "filter": Allows filtering by creative
 19036  // fields. Supported syntax: * Filter expressions are made up of one or more
 19037  // restrictions. * Restrictions can be combined by `AND` or `OR` logical
 19038  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 19039  // has the form of `{field} {operator} {value}`. * The `lineItemIds` field must
 19040  // use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER
 19041  // THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All
 19042  // other fields must use the `EQUALS (=)` operator. * For `entityStatus`,
 19043  // `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may
 19044  // be at most one restriction. Supported Fields: * `approvalStatus` *
 19045  // `creativeId` * `creativeType` * `dimensions` (input in the form of
 19046  // `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus`
 19047  // (input in the form of `{exchange}-{reviewStatus}`) * `lineItemIds` *
 19048  // `maxDuration` (input in the form of `{duration}s`. Only seconds are
 19049  // supported) * `minDuration` (input in the form of `{duration}s`. Only seconds
 19050  // are supported) * `updateTime` (input in ISO 8601 format, or
 19051  // `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's
 19052  // field value reflects the last time that a creative has been updated, which
 19053  // includes updates made by the system (e.g. creative review updates).
 19054  // Examples: * All native creatives: `creativeType="CREATIVE_TYPE_NATIVE" *
 19055  // All active creatives with 300x400 or 50x100 dimensions:
 19056  // `entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR
 19057  // dimensions="50x100")` * All dynamic creatives that are approved by AdX or
 19058  // AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic="true"
 19059  // AND minDuration="5.2s" AND
 19060  // (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR
 19061  // exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All
 19062  // video creatives that are associated with line item ID 1 or 2:
 19063  // `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)` *
 19064  // Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` *
 19065  // All creatives with an update time greater than or equal to
 19066  // 2020-11-04T18:54:47Z (format of ISO 8601):
 19067  // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no
 19068  // more than 500 characters. Reference our filter `LIST` requests
 19069  // (/display-video/api/guides/how-tos/filters) guide for more information.
 19070  func (c *AdvertisersCreativesListCall) Filter(filter string) *AdvertisersCreativesListCall {
 19071  	c.urlParams_.Set("filter", filter)
 19072  	return c
 19073  }
 19074  
 19075  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 19076  // list. Acceptable values are: * `creativeId` (default) * `createTime` *
 19077  // `mediaDuration` * `dimensions` (sorts by width first, then by height) The
 19078  // default sorting order is ascending. To specify descending order for a field,
 19079  // a suffix "desc" should be added to the field name. Example: `createTime
 19080  // desc`.
 19081  func (c *AdvertisersCreativesListCall) OrderBy(orderBy string) *AdvertisersCreativesListCall {
 19082  	c.urlParams_.Set("orderBy", orderBy)
 19083  	return c
 19084  }
 19085  
 19086  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 19087  // be between `1` and `200`. If unspecified will default to `100`. Returns
 19088  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 19089  func (c *AdvertisersCreativesListCall) PageSize(pageSize int64) *AdvertisersCreativesListCall {
 19090  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 19091  	return c
 19092  }
 19093  
 19094  // PageToken sets the optional parameter "pageToken": A token identifying a
 19095  // page of results the server should return. Typically, this is the value of
 19096  // next_page_token returned from the previous call to `ListCreatives` method.
 19097  // If not specified, the first page of results will be returned.
 19098  func (c *AdvertisersCreativesListCall) PageToken(pageToken string) *AdvertisersCreativesListCall {
 19099  	c.urlParams_.Set("pageToken", pageToken)
 19100  	return c
 19101  }
 19102  
 19103  // Fields allows partial responses to be retrieved. See
 19104  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19105  // details.
 19106  func (c *AdvertisersCreativesListCall) Fields(s ...googleapi.Field) *AdvertisersCreativesListCall {
 19107  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19108  	return c
 19109  }
 19110  
 19111  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19112  // object's ETag matches the given value. This is useful for getting updates
 19113  // only after the object has changed since the last request.
 19114  func (c *AdvertisersCreativesListCall) IfNoneMatch(entityTag string) *AdvertisersCreativesListCall {
 19115  	c.ifNoneMatch_ = entityTag
 19116  	return c
 19117  }
 19118  
 19119  // Context sets the context to be used in this call's Do method.
 19120  func (c *AdvertisersCreativesListCall) Context(ctx context.Context) *AdvertisersCreativesListCall {
 19121  	c.ctx_ = ctx
 19122  	return c
 19123  }
 19124  
 19125  // Header returns a http.Header that can be modified by the caller to add
 19126  // headers to the request.
 19127  func (c *AdvertisersCreativesListCall) Header() http.Header {
 19128  	if c.header_ == nil {
 19129  		c.header_ = make(http.Header)
 19130  	}
 19131  	return c.header_
 19132  }
 19133  
 19134  func (c *AdvertisersCreativesListCall) doRequest(alt string) (*http.Response, error) {
 19135  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19136  	if c.ifNoneMatch_ != "" {
 19137  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19138  	}
 19139  	var body io.Reader = nil
 19140  	c.urlParams_.Set("alt", alt)
 19141  	c.urlParams_.Set("prettyPrint", "false")
 19142  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/creatives")
 19143  	urls += "?" + c.urlParams_.Encode()
 19144  	req, err := http.NewRequest("GET", urls, body)
 19145  	if err != nil {
 19146  		return nil, err
 19147  	}
 19148  	req.Header = reqHeaders
 19149  	googleapi.Expand(req.URL, map[string]string{
 19150  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 19151  	})
 19152  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19153  }
 19154  
 19155  // Do executes the "displayvideo.advertisers.creatives.list" call.
 19156  // Any non-2xx status code is an error. Response headers are in either
 19157  // *ListCreativesResponse.ServerResponse.Header or (if a response was returned
 19158  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 19159  // check whether the returned error was because http.StatusNotModified was
 19160  // returned.
 19161  func (c *AdvertisersCreativesListCall) Do(opts ...googleapi.CallOption) (*ListCreativesResponse, error) {
 19162  	gensupport.SetOptions(c.urlParams_, opts...)
 19163  	res, err := c.doRequest("json")
 19164  	if res != nil && res.StatusCode == http.StatusNotModified {
 19165  		if res.Body != nil {
 19166  			res.Body.Close()
 19167  		}
 19168  		return nil, gensupport.WrapError(&googleapi.Error{
 19169  			Code:   res.StatusCode,
 19170  			Header: res.Header,
 19171  		})
 19172  	}
 19173  	if err != nil {
 19174  		return nil, err
 19175  	}
 19176  	defer googleapi.CloseBody(res)
 19177  	if err := googleapi.CheckResponse(res); err != nil {
 19178  		return nil, gensupport.WrapError(err)
 19179  	}
 19180  	ret := &ListCreativesResponse{
 19181  		ServerResponse: googleapi.ServerResponse{
 19182  			Header:         res.Header,
 19183  			HTTPStatusCode: res.StatusCode,
 19184  		},
 19185  	}
 19186  	target := &ret
 19187  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19188  		return nil, err
 19189  	}
 19190  	return ret, nil
 19191  }
 19192  
 19193  // Pages invokes f for each page of results.
 19194  // A non-nil error returned from f will halt the iteration.
 19195  // The provided context supersedes any context provided to the Context method.
 19196  func (c *AdvertisersCreativesListCall) Pages(ctx context.Context, f func(*ListCreativesResponse) error) error {
 19197  	c.ctx_ = ctx
 19198  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 19199  	for {
 19200  		x, err := c.Do()
 19201  		if err != nil {
 19202  			return err
 19203  		}
 19204  		if err := f(x); err != nil {
 19205  			return err
 19206  		}
 19207  		if x.NextPageToken == "" {
 19208  			return nil
 19209  		}
 19210  		c.PageToken(x.NextPageToken)
 19211  	}
 19212  }
 19213  
 19214  type AdvertisersCreativesPatchCall struct {
 19215  	s            *Service
 19216  	advertiserId int64
 19217  	creativeId   int64
 19218  	creative     *Creative
 19219  	urlParams_   gensupport.URLParams
 19220  	ctx_         context.Context
 19221  	header_      http.Header
 19222  }
 19223  
 19224  // Patch: Updates an existing creative. Returns the updated creative if
 19225  // successful. A "Standard" user role
 19226  // (//support.google.com/displayvideo/answer/2723011) or greater for the parent
 19227  // advertiser or partner is required to make this request.
 19228  //
 19229  //   - advertiserId: Output only. The unique ID of the advertiser the creative
 19230  //     belongs to.
 19231  //   - creativeId: Output only. The unique ID of the creative. Assigned by the
 19232  //     system.
 19233  func (r *AdvertisersCreativesService) Patch(advertiserId int64, creativeId int64, creative *Creative) *AdvertisersCreativesPatchCall {
 19234  	c := &AdvertisersCreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19235  	c.advertiserId = advertiserId
 19236  	c.creativeId = creativeId
 19237  	c.creative = creative
 19238  	return c
 19239  }
 19240  
 19241  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 19242  // control which fields to update.
 19243  func (c *AdvertisersCreativesPatchCall) UpdateMask(updateMask string) *AdvertisersCreativesPatchCall {
 19244  	c.urlParams_.Set("updateMask", updateMask)
 19245  	return c
 19246  }
 19247  
 19248  // Fields allows partial responses to be retrieved. See
 19249  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19250  // details.
 19251  func (c *AdvertisersCreativesPatchCall) Fields(s ...googleapi.Field) *AdvertisersCreativesPatchCall {
 19252  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19253  	return c
 19254  }
 19255  
 19256  // Context sets the context to be used in this call's Do method.
 19257  func (c *AdvertisersCreativesPatchCall) Context(ctx context.Context) *AdvertisersCreativesPatchCall {
 19258  	c.ctx_ = ctx
 19259  	return c
 19260  }
 19261  
 19262  // Header returns a http.Header that can be modified by the caller to add
 19263  // headers to the request.
 19264  func (c *AdvertisersCreativesPatchCall) Header() http.Header {
 19265  	if c.header_ == nil {
 19266  		c.header_ = make(http.Header)
 19267  	}
 19268  	return c.header_
 19269  }
 19270  
 19271  func (c *AdvertisersCreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 19272  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 19273  	var body io.Reader = nil
 19274  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 19275  	if err != nil {
 19276  		return nil, err
 19277  	}
 19278  	c.urlParams_.Set("alt", alt)
 19279  	c.urlParams_.Set("prettyPrint", "false")
 19280  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/creatives/{+creativeId}")
 19281  	urls += "?" + c.urlParams_.Encode()
 19282  	req, err := http.NewRequest("PATCH", urls, body)
 19283  	if err != nil {
 19284  		return nil, err
 19285  	}
 19286  	req.Header = reqHeaders
 19287  	googleapi.Expand(req.URL, map[string]string{
 19288  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 19289  		"creativeId":   strconv.FormatInt(c.creativeId, 10),
 19290  	})
 19291  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19292  }
 19293  
 19294  // Do executes the "displayvideo.advertisers.creatives.patch" call.
 19295  // Any non-2xx status code is an error. Response headers are in either
 19296  // *Creative.ServerResponse.Header or (if a response was returned at all) in
 19297  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19298  // whether the returned error was because http.StatusNotModified was returned.
 19299  func (c *AdvertisersCreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 19300  	gensupport.SetOptions(c.urlParams_, opts...)
 19301  	res, err := c.doRequest("json")
 19302  	if res != nil && res.StatusCode == http.StatusNotModified {
 19303  		if res.Body != nil {
 19304  			res.Body.Close()
 19305  		}
 19306  		return nil, gensupport.WrapError(&googleapi.Error{
 19307  			Code:   res.StatusCode,
 19308  			Header: res.Header,
 19309  		})
 19310  	}
 19311  	if err != nil {
 19312  		return nil, err
 19313  	}
 19314  	defer googleapi.CloseBody(res)
 19315  	if err := googleapi.CheckResponse(res); err != nil {
 19316  		return nil, gensupport.WrapError(err)
 19317  	}
 19318  	ret := &Creative{
 19319  		ServerResponse: googleapi.ServerResponse{
 19320  			Header:         res.Header,
 19321  			HTTPStatusCode: res.StatusCode,
 19322  		},
 19323  	}
 19324  	target := &ret
 19325  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19326  		return nil, err
 19327  	}
 19328  	return ret, nil
 19329  }
 19330  
 19331  type AdvertisersInsertionOrdersCreateCall struct {
 19332  	s              *Service
 19333  	advertiserId   int64
 19334  	insertionorder *InsertionOrder
 19335  	urlParams_     gensupport.URLParams
 19336  	ctx_           context.Context
 19337  	header_        http.Header
 19338  }
 19339  
 19340  // Create: Creates a new insertion order. Returns the newly created insertion
 19341  // order if successful.
 19342  //
 19343  //   - advertiserId: Output only. The unique ID of the advertiser the insertion
 19344  //     order belongs to.
 19345  func (r *AdvertisersInsertionOrdersService) Create(advertiserId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersCreateCall {
 19346  	c := &AdvertisersInsertionOrdersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19347  	c.advertiserId = advertiserId
 19348  	c.insertionorder = insertionorder
 19349  	return c
 19350  }
 19351  
 19352  // Fields allows partial responses to be retrieved. See
 19353  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19354  // details.
 19355  func (c *AdvertisersInsertionOrdersCreateCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersCreateCall {
 19356  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19357  	return c
 19358  }
 19359  
 19360  // Context sets the context to be used in this call's Do method.
 19361  func (c *AdvertisersInsertionOrdersCreateCall) Context(ctx context.Context) *AdvertisersInsertionOrdersCreateCall {
 19362  	c.ctx_ = ctx
 19363  	return c
 19364  }
 19365  
 19366  // Header returns a http.Header that can be modified by the caller to add
 19367  // headers to the request.
 19368  func (c *AdvertisersInsertionOrdersCreateCall) Header() http.Header {
 19369  	if c.header_ == nil {
 19370  		c.header_ = make(http.Header)
 19371  	}
 19372  	return c.header_
 19373  }
 19374  
 19375  func (c *AdvertisersInsertionOrdersCreateCall) doRequest(alt string) (*http.Response, error) {
 19376  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 19377  	var body io.Reader = nil
 19378  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder)
 19379  	if err != nil {
 19380  		return nil, err
 19381  	}
 19382  	c.urlParams_.Set("alt", alt)
 19383  	c.urlParams_.Set("prettyPrint", "false")
 19384  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders")
 19385  	urls += "?" + c.urlParams_.Encode()
 19386  	req, err := http.NewRequest("POST", urls, body)
 19387  	if err != nil {
 19388  		return nil, err
 19389  	}
 19390  	req.Header = reqHeaders
 19391  	googleapi.Expand(req.URL, map[string]string{
 19392  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 19393  	})
 19394  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19395  }
 19396  
 19397  // Do executes the "displayvideo.advertisers.insertionOrders.create" call.
 19398  // Any non-2xx status code is an error. Response headers are in either
 19399  // *InsertionOrder.ServerResponse.Header or (if a response was returned at all)
 19400  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19401  // whether the returned error was because http.StatusNotModified was returned.
 19402  func (c *AdvertisersInsertionOrdersCreateCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
 19403  	gensupport.SetOptions(c.urlParams_, opts...)
 19404  	res, err := c.doRequest("json")
 19405  	if res != nil && res.StatusCode == http.StatusNotModified {
 19406  		if res.Body != nil {
 19407  			res.Body.Close()
 19408  		}
 19409  		return nil, gensupport.WrapError(&googleapi.Error{
 19410  			Code:   res.StatusCode,
 19411  			Header: res.Header,
 19412  		})
 19413  	}
 19414  	if err != nil {
 19415  		return nil, err
 19416  	}
 19417  	defer googleapi.CloseBody(res)
 19418  	if err := googleapi.CheckResponse(res); err != nil {
 19419  		return nil, gensupport.WrapError(err)
 19420  	}
 19421  	ret := &InsertionOrder{
 19422  		ServerResponse: googleapi.ServerResponse{
 19423  			Header:         res.Header,
 19424  			HTTPStatusCode: res.StatusCode,
 19425  		},
 19426  	}
 19427  	target := &ret
 19428  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19429  		return nil, err
 19430  	}
 19431  	return ret, nil
 19432  }
 19433  
 19434  type AdvertisersInsertionOrdersDeleteCall struct {
 19435  	s                *Service
 19436  	advertiserId     int64
 19437  	insertionOrderId int64
 19438  	urlParams_       gensupport.URLParams
 19439  	ctx_             context.Context
 19440  	header_          http.Header
 19441  }
 19442  
 19443  // Delete: Deletes an insertion order. Returns error code `NOT_FOUND` if the
 19444  // insertion order does not exist. The insertion order should be archived
 19445  // first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to
 19446  // delete it.
 19447  //
 19448  // - advertiserId: The ID of the advertiser this insertion order belongs to.
 19449  // - insertionOrderId: The ID of the insertion order to delete.
 19450  func (r *AdvertisersInsertionOrdersService) Delete(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersDeleteCall {
 19451  	c := &AdvertisersInsertionOrdersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19452  	c.advertiserId = advertiserId
 19453  	c.insertionOrderId = insertionOrderId
 19454  	return c
 19455  }
 19456  
 19457  // Fields allows partial responses to be retrieved. See
 19458  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19459  // details.
 19460  func (c *AdvertisersInsertionOrdersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersDeleteCall {
 19461  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19462  	return c
 19463  }
 19464  
 19465  // Context sets the context to be used in this call's Do method.
 19466  func (c *AdvertisersInsertionOrdersDeleteCall) Context(ctx context.Context) *AdvertisersInsertionOrdersDeleteCall {
 19467  	c.ctx_ = ctx
 19468  	return c
 19469  }
 19470  
 19471  // Header returns a http.Header that can be modified by the caller to add
 19472  // headers to the request.
 19473  func (c *AdvertisersInsertionOrdersDeleteCall) Header() http.Header {
 19474  	if c.header_ == nil {
 19475  		c.header_ = make(http.Header)
 19476  	}
 19477  	return c.header_
 19478  }
 19479  
 19480  func (c *AdvertisersInsertionOrdersDeleteCall) doRequest(alt string) (*http.Response, error) {
 19481  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19482  	var body io.Reader = nil
 19483  	c.urlParams_.Set("alt", alt)
 19484  	c.urlParams_.Set("prettyPrint", "false")
 19485  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
 19486  	urls += "?" + c.urlParams_.Encode()
 19487  	req, err := http.NewRequest("DELETE", urls, body)
 19488  	if err != nil {
 19489  		return nil, err
 19490  	}
 19491  	req.Header = reqHeaders
 19492  	googleapi.Expand(req.URL, map[string]string{
 19493  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 19494  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 19495  	})
 19496  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19497  }
 19498  
 19499  // Do executes the "displayvideo.advertisers.insertionOrders.delete" call.
 19500  // Any non-2xx status code is an error. Response headers are in either
 19501  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 19502  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19503  // whether the returned error was because http.StatusNotModified was returned.
 19504  func (c *AdvertisersInsertionOrdersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 19505  	gensupport.SetOptions(c.urlParams_, opts...)
 19506  	res, err := c.doRequest("json")
 19507  	if res != nil && res.StatusCode == http.StatusNotModified {
 19508  		if res.Body != nil {
 19509  			res.Body.Close()
 19510  		}
 19511  		return nil, gensupport.WrapError(&googleapi.Error{
 19512  			Code:   res.StatusCode,
 19513  			Header: res.Header,
 19514  		})
 19515  	}
 19516  	if err != nil {
 19517  		return nil, err
 19518  	}
 19519  	defer googleapi.CloseBody(res)
 19520  	if err := googleapi.CheckResponse(res); err != nil {
 19521  		return nil, gensupport.WrapError(err)
 19522  	}
 19523  	ret := &Empty{
 19524  		ServerResponse: googleapi.ServerResponse{
 19525  			Header:         res.Header,
 19526  			HTTPStatusCode: res.StatusCode,
 19527  		},
 19528  	}
 19529  	target := &ret
 19530  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19531  		return nil, err
 19532  	}
 19533  	return ret, nil
 19534  }
 19535  
 19536  type AdvertisersInsertionOrdersGetCall struct {
 19537  	s                *Service
 19538  	advertiserId     int64
 19539  	insertionOrderId int64
 19540  	urlParams_       gensupport.URLParams
 19541  	ifNoneMatch_     string
 19542  	ctx_             context.Context
 19543  	header_          http.Header
 19544  }
 19545  
 19546  // Get: Gets an insertion order. Returns error code `NOT_FOUND` if the
 19547  // insertion order does not exist.
 19548  //
 19549  // - advertiserId: The ID of the advertiser this insertion order belongs to.
 19550  // - insertionOrderId: The ID of the insertion order to fetch.
 19551  func (r *AdvertisersInsertionOrdersService) Get(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersGetCall {
 19552  	c := &AdvertisersInsertionOrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19553  	c.advertiserId = advertiserId
 19554  	c.insertionOrderId = insertionOrderId
 19555  	return c
 19556  }
 19557  
 19558  // Fields allows partial responses to be retrieved. See
 19559  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19560  // details.
 19561  func (c *AdvertisersInsertionOrdersGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersGetCall {
 19562  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19563  	return c
 19564  }
 19565  
 19566  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19567  // object's ETag matches the given value. This is useful for getting updates
 19568  // only after the object has changed since the last request.
 19569  func (c *AdvertisersInsertionOrdersGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersGetCall {
 19570  	c.ifNoneMatch_ = entityTag
 19571  	return c
 19572  }
 19573  
 19574  // Context sets the context to be used in this call's Do method.
 19575  func (c *AdvertisersInsertionOrdersGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersGetCall {
 19576  	c.ctx_ = ctx
 19577  	return c
 19578  }
 19579  
 19580  // Header returns a http.Header that can be modified by the caller to add
 19581  // headers to the request.
 19582  func (c *AdvertisersInsertionOrdersGetCall) Header() http.Header {
 19583  	if c.header_ == nil {
 19584  		c.header_ = make(http.Header)
 19585  	}
 19586  	return c.header_
 19587  }
 19588  
 19589  func (c *AdvertisersInsertionOrdersGetCall) doRequest(alt string) (*http.Response, error) {
 19590  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19591  	if c.ifNoneMatch_ != "" {
 19592  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19593  	}
 19594  	var body io.Reader = nil
 19595  	c.urlParams_.Set("alt", alt)
 19596  	c.urlParams_.Set("prettyPrint", "false")
 19597  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
 19598  	urls += "?" + c.urlParams_.Encode()
 19599  	req, err := http.NewRequest("GET", urls, body)
 19600  	if err != nil {
 19601  		return nil, err
 19602  	}
 19603  	req.Header = reqHeaders
 19604  	googleapi.Expand(req.URL, map[string]string{
 19605  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 19606  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 19607  	})
 19608  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19609  }
 19610  
 19611  // Do executes the "displayvideo.advertisers.insertionOrders.get" call.
 19612  // Any non-2xx status code is an error. Response headers are in either
 19613  // *InsertionOrder.ServerResponse.Header or (if a response was returned at all)
 19614  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19615  // whether the returned error was because http.StatusNotModified was returned.
 19616  func (c *AdvertisersInsertionOrdersGetCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
 19617  	gensupport.SetOptions(c.urlParams_, opts...)
 19618  	res, err := c.doRequest("json")
 19619  	if res != nil && res.StatusCode == http.StatusNotModified {
 19620  		if res.Body != nil {
 19621  			res.Body.Close()
 19622  		}
 19623  		return nil, gensupport.WrapError(&googleapi.Error{
 19624  			Code:   res.StatusCode,
 19625  			Header: res.Header,
 19626  		})
 19627  	}
 19628  	if err != nil {
 19629  		return nil, err
 19630  	}
 19631  	defer googleapi.CloseBody(res)
 19632  	if err := googleapi.CheckResponse(res); err != nil {
 19633  		return nil, gensupport.WrapError(err)
 19634  	}
 19635  	ret := &InsertionOrder{
 19636  		ServerResponse: googleapi.ServerResponse{
 19637  			Header:         res.Header,
 19638  			HTTPStatusCode: res.StatusCode,
 19639  		},
 19640  	}
 19641  	target := &ret
 19642  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19643  		return nil, err
 19644  	}
 19645  	return ret, nil
 19646  }
 19647  
 19648  type AdvertisersInsertionOrdersListCall struct {
 19649  	s            *Service
 19650  	advertiserId int64
 19651  	urlParams_   gensupport.URLParams
 19652  	ifNoneMatch_ string
 19653  	ctx_         context.Context
 19654  	header_      http.Header
 19655  }
 19656  
 19657  // List: Lists insertion orders in an advertiser. The order is defined by the
 19658  // order_by parameter. If a filter by entity_status is not specified, insertion
 19659  // orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.
 19660  //
 19661  // - advertiserId: The ID of the advertiser to list insertion orders for.
 19662  func (r *AdvertisersInsertionOrdersService) List(advertiserId int64) *AdvertisersInsertionOrdersListCall {
 19663  	c := &AdvertisersInsertionOrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19664  	c.advertiserId = advertiserId
 19665  	return c
 19666  }
 19667  
 19668  // Filter sets the optional parameter "filter": Allows filtering by insertion
 19669  // order fields. Supported syntax: * Filter expressions are made up of one or
 19670  // more restrictions. * Restrictions can be combined by `AND` or `OR` logical
 19671  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 19672  // has the form of `{field} {operator} {value}`. * The `updateTime` field must
 19673  // use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`
 19674  // operators. * All other fields must use the `EQUALS (=)` operator. Supported
 19675  // fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime`
 19676  // (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All
 19677  // insertion orders under a campaign: `campaignId="1234" * All
 19678  // `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an
 19679  // advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
 19680  // entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update
 19681  // time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 19682  // `updateTime<="2020-11-04T18:54:47Z" * All insertion orders with an update
 19683  // time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 19684  // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no
 19685  // more than 500 characters. Reference our filter `LIST` requests
 19686  // (/display-video/api/guides/how-tos/filters) guide for more information.
 19687  func (c *AdvertisersInsertionOrdersListCall) Filter(filter string) *AdvertisersInsertionOrdersListCall {
 19688  	c.urlParams_.Set("filter", filter)
 19689  	return c
 19690  }
 19691  
 19692  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 19693  // list. Acceptable values are: * "displayName" (default) * "entityStatus" *
 19694  // "updateTime" The default sorting order is ascending. To specify descending
 19695  // order for a field, a suffix "desc" should be added to the field name.
 19696  // Example: `displayName desc`.
 19697  func (c *AdvertisersInsertionOrdersListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersListCall {
 19698  	c.urlParams_.Set("orderBy", orderBy)
 19699  	return c
 19700  }
 19701  
 19702  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 19703  // be between `1` and `100`. If unspecified will default to `100`. Returns
 19704  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 19705  func (c *AdvertisersInsertionOrdersListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersListCall {
 19706  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 19707  	return c
 19708  }
 19709  
 19710  // PageToken sets the optional parameter "pageToken": A token identifying a
 19711  // page of results the server should return. Typically, this is the value of
 19712  // next_page_token returned from the previous call to `ListInsertionOrders`
 19713  // method. If not specified, the first page of results will be returned.
 19714  func (c *AdvertisersInsertionOrdersListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersListCall {
 19715  	c.urlParams_.Set("pageToken", pageToken)
 19716  	return c
 19717  }
 19718  
 19719  // Fields allows partial responses to be retrieved. See
 19720  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19721  // details.
 19722  func (c *AdvertisersInsertionOrdersListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersListCall {
 19723  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19724  	return c
 19725  }
 19726  
 19727  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19728  // object's ETag matches the given value. This is useful for getting updates
 19729  // only after the object has changed since the last request.
 19730  func (c *AdvertisersInsertionOrdersListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersListCall {
 19731  	c.ifNoneMatch_ = entityTag
 19732  	return c
 19733  }
 19734  
 19735  // Context sets the context to be used in this call's Do method.
 19736  func (c *AdvertisersInsertionOrdersListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersListCall {
 19737  	c.ctx_ = ctx
 19738  	return c
 19739  }
 19740  
 19741  // Header returns a http.Header that can be modified by the caller to add
 19742  // headers to the request.
 19743  func (c *AdvertisersInsertionOrdersListCall) Header() http.Header {
 19744  	if c.header_ == nil {
 19745  		c.header_ = make(http.Header)
 19746  	}
 19747  	return c.header_
 19748  }
 19749  
 19750  func (c *AdvertisersInsertionOrdersListCall) doRequest(alt string) (*http.Response, error) {
 19751  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19752  	if c.ifNoneMatch_ != "" {
 19753  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19754  	}
 19755  	var body io.Reader = nil
 19756  	c.urlParams_.Set("alt", alt)
 19757  	c.urlParams_.Set("prettyPrint", "false")
 19758  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders")
 19759  	urls += "?" + c.urlParams_.Encode()
 19760  	req, err := http.NewRequest("GET", urls, body)
 19761  	if err != nil {
 19762  		return nil, err
 19763  	}
 19764  	req.Header = reqHeaders
 19765  	googleapi.Expand(req.URL, map[string]string{
 19766  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 19767  	})
 19768  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19769  }
 19770  
 19771  // Do executes the "displayvideo.advertisers.insertionOrders.list" call.
 19772  // Any non-2xx status code is an error. Response headers are in either
 19773  // *ListInsertionOrdersResponse.ServerResponse.Header or (if a response was
 19774  // returned at all) in error.(*googleapi.Error).Header. Use
 19775  // googleapi.IsNotModified to check whether the returned error was because
 19776  // http.StatusNotModified was returned.
 19777  func (c *AdvertisersInsertionOrdersListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrdersResponse, error) {
 19778  	gensupport.SetOptions(c.urlParams_, opts...)
 19779  	res, err := c.doRequest("json")
 19780  	if res != nil && res.StatusCode == http.StatusNotModified {
 19781  		if res.Body != nil {
 19782  			res.Body.Close()
 19783  		}
 19784  		return nil, gensupport.WrapError(&googleapi.Error{
 19785  			Code:   res.StatusCode,
 19786  			Header: res.Header,
 19787  		})
 19788  	}
 19789  	if err != nil {
 19790  		return nil, err
 19791  	}
 19792  	defer googleapi.CloseBody(res)
 19793  	if err := googleapi.CheckResponse(res); err != nil {
 19794  		return nil, gensupport.WrapError(err)
 19795  	}
 19796  	ret := &ListInsertionOrdersResponse{
 19797  		ServerResponse: googleapi.ServerResponse{
 19798  			Header:         res.Header,
 19799  			HTTPStatusCode: res.StatusCode,
 19800  		},
 19801  	}
 19802  	target := &ret
 19803  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19804  		return nil, err
 19805  	}
 19806  	return ret, nil
 19807  }
 19808  
 19809  // Pages invokes f for each page of results.
 19810  // A non-nil error returned from f will halt the iteration.
 19811  // The provided context supersedes any context provided to the Context method.
 19812  func (c *AdvertisersInsertionOrdersListCall) Pages(ctx context.Context, f func(*ListInsertionOrdersResponse) error) error {
 19813  	c.ctx_ = ctx
 19814  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 19815  	for {
 19816  		x, err := c.Do()
 19817  		if err != nil {
 19818  			return err
 19819  		}
 19820  		if err := f(x); err != nil {
 19821  			return err
 19822  		}
 19823  		if x.NextPageToken == "" {
 19824  			return nil
 19825  		}
 19826  		c.PageToken(x.NextPageToken)
 19827  	}
 19828  }
 19829  
 19830  type AdvertisersInsertionOrdersListAssignedTargetingOptionsCall struct {
 19831  	s                *Service
 19832  	advertiserId     int64
 19833  	insertionOrderId int64
 19834  	urlParams_       gensupport.URLParams
 19835  	ifNoneMatch_     string
 19836  	ctx_             context.Context
 19837  	header_          http.Header
 19838  }
 19839  
 19840  // ListAssignedTargetingOptions: Lists assigned targeting options of an
 19841  // insertion order across targeting types.
 19842  //
 19843  //   - advertiserId: The ID of the advertiser the insertion order belongs to.
 19844  //   - insertionOrderId: The ID of the insertion order to list assigned targeting
 19845  //     options for.
 19846  func (r *AdvertisersInsertionOrdersService) ListAssignedTargetingOptions(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 19847  	c := &AdvertisersInsertionOrdersListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19848  	c.advertiserId = advertiserId
 19849  	c.insertionOrderId = insertionOrderId
 19850  	return c
 19851  }
 19852  
 19853  // Filter sets the optional parameter "filter": Allows filtering by assigned
 19854  // targeting option fields. Supported syntax: * Filter expressions are made up
 19855  // of one or more restrictions. * Restrictions can be combined by the logical
 19856  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 19857  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 19858  // `targetingType` * `inheritance` Examples: * `AssignedTargetingOption`
 19859  // resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or
 19860  // `TARGETING_TYPE_CHANNEL`:
 19861  // `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR
 19862  // targetingType="TARGETING_TYPE_CHANNEL" * `AssignedTargetingOption`
 19863  // resources with inheritance status of `NOT_INHERITED` or
 19864  // `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR
 19865  // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no
 19866  // more than 500 characters. Reference our filter `LIST` requests
 19867  // (/display-video/api/guides/how-tos/filters) guide for more information.
 19868  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 19869  	c.urlParams_.Set("filter", filter)
 19870  	return c
 19871  }
 19872  
 19873  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 19874  // list. Acceptable values are: * `targetingType` (default) The default sorting
 19875  // order is ascending. To specify descending order for a field, a suffix "desc"
 19876  // should be added to the field name. Example: `targetingType desc`.
 19877  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 19878  	c.urlParams_.Set("orderBy", orderBy)
 19879  	return c
 19880  }
 19881  
 19882  // PageSize sets the optional parameter "pageSize": Requested page size. The
 19883  // size must be an integer between `1` and `5000`. If unspecified, the default
 19884  // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is
 19885  // specified.
 19886  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 19887  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 19888  	return c
 19889  }
 19890  
 19891  // PageToken sets the optional parameter "pageToken": A token that lets the
 19892  // client fetch the next page of results. Typically, this is the value of
 19893  // next_page_token returned from the previous call to
 19894  // `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified,
 19895  // the first page of results will be returned.
 19896  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 19897  	c.urlParams_.Set("pageToken", pageToken)
 19898  	return c
 19899  }
 19900  
 19901  // Fields allows partial responses to be retrieved. See
 19902  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19903  // details.
 19904  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 19905  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19906  	return c
 19907  }
 19908  
 19909  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19910  // object's ETag matches the given value. This is useful for getting updates
 19911  // only after the object has changed since the last request.
 19912  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 19913  	c.ifNoneMatch_ = entityTag
 19914  	return c
 19915  }
 19916  
 19917  // Context sets the context to be used in this call's Do method.
 19918  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 19919  	c.ctx_ = ctx
 19920  	return c
 19921  }
 19922  
 19923  // Header returns a http.Header that can be modified by the caller to add
 19924  // headers to the request.
 19925  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Header() http.Header {
 19926  	if c.header_ == nil {
 19927  		c.header_ = make(http.Header)
 19928  	}
 19929  	return c.header_
 19930  }
 19931  
 19932  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 19933  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19934  	if c.ifNoneMatch_ != "" {
 19935  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19936  	}
 19937  	var body io.Reader = nil
 19938  	c.urlParams_.Set("alt", alt)
 19939  	c.urlParams_.Set("prettyPrint", "false")
 19940  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:listAssignedTargetingOptions")
 19941  	urls += "?" + c.urlParams_.Encode()
 19942  	req, err := http.NewRequest("GET", urls, body)
 19943  	if err != nil {
 19944  		return nil, err
 19945  	}
 19946  	req.Header = reqHeaders
 19947  	googleapi.Expand(req.URL, map[string]string{
 19948  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 19949  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 19950  	})
 19951  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19952  }
 19953  
 19954  // Do executes the "displayvideo.advertisers.insertionOrders.listAssignedTargetingOptions" call.
 19955  // Any non-2xx status code is an error. Response headers are in either
 19956  // *BulkListInsertionOrderAssignedTargetingOptionsResponse.ServerResponse.Header
 19957  //
 19958  //	or (if a response was returned at all) in error.(*googleapi.Error).Header.
 19959  //
 19960  // Use googleapi.IsNotModified to check whether the returned error was because
 19961  // http.StatusNotModified was returned.
 19962  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListInsertionOrderAssignedTargetingOptionsResponse, error) {
 19963  	gensupport.SetOptions(c.urlParams_, opts...)
 19964  	res, err := c.doRequest("json")
 19965  	if res != nil && res.StatusCode == http.StatusNotModified {
 19966  		if res.Body != nil {
 19967  			res.Body.Close()
 19968  		}
 19969  		return nil, gensupport.WrapError(&googleapi.Error{
 19970  			Code:   res.StatusCode,
 19971  			Header: res.Header,
 19972  		})
 19973  	}
 19974  	if err != nil {
 19975  		return nil, err
 19976  	}
 19977  	defer googleapi.CloseBody(res)
 19978  	if err := googleapi.CheckResponse(res); err != nil {
 19979  		return nil, gensupport.WrapError(err)
 19980  	}
 19981  	ret := &BulkListInsertionOrderAssignedTargetingOptionsResponse{
 19982  		ServerResponse: googleapi.ServerResponse{
 19983  			Header:         res.Header,
 19984  			HTTPStatusCode: res.StatusCode,
 19985  		},
 19986  	}
 19987  	target := &ret
 19988  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19989  		return nil, err
 19990  	}
 19991  	return ret, nil
 19992  }
 19993  
 19994  // Pages invokes f for each page of results.
 19995  // A non-nil error returned from f will halt the iteration.
 19996  // The provided context supersedes any context provided to the Context method.
 19997  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListInsertionOrderAssignedTargetingOptionsResponse) error) error {
 19998  	c.ctx_ = ctx
 19999  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 20000  	for {
 20001  		x, err := c.Do()
 20002  		if err != nil {
 20003  			return err
 20004  		}
 20005  		if err := f(x); err != nil {
 20006  			return err
 20007  		}
 20008  		if x.NextPageToken == "" {
 20009  			return nil
 20010  		}
 20011  		c.PageToken(x.NextPageToken)
 20012  	}
 20013  }
 20014  
 20015  type AdvertisersInsertionOrdersPatchCall struct {
 20016  	s                *Service
 20017  	advertiserId     int64
 20018  	insertionOrderId int64
 20019  	insertionorder   *InsertionOrder
 20020  	urlParams_       gensupport.URLParams
 20021  	ctx_             context.Context
 20022  	header_          http.Header
 20023  }
 20024  
 20025  // Patch: Updates an existing insertion order. Returns the updated insertion
 20026  // order if successful.
 20027  //
 20028  //   - advertiserId: Output only. The unique ID of the advertiser the insertion
 20029  //     order belongs to.
 20030  //   - insertionOrderId: Output only. The unique ID of the insertion order.
 20031  //     Assigned by the system.
 20032  func (r *AdvertisersInsertionOrdersService) Patch(advertiserId int64, insertionOrderId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersPatchCall {
 20033  	c := &AdvertisersInsertionOrdersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20034  	c.advertiserId = advertiserId
 20035  	c.insertionOrderId = insertionOrderId
 20036  	c.insertionorder = insertionorder
 20037  	return c
 20038  }
 20039  
 20040  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 20041  // control which fields to update.
 20042  func (c *AdvertisersInsertionOrdersPatchCall) UpdateMask(updateMask string) *AdvertisersInsertionOrdersPatchCall {
 20043  	c.urlParams_.Set("updateMask", updateMask)
 20044  	return c
 20045  }
 20046  
 20047  // Fields allows partial responses to be retrieved. See
 20048  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20049  // details.
 20050  func (c *AdvertisersInsertionOrdersPatchCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersPatchCall {
 20051  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20052  	return c
 20053  }
 20054  
 20055  // Context sets the context to be used in this call's Do method.
 20056  func (c *AdvertisersInsertionOrdersPatchCall) Context(ctx context.Context) *AdvertisersInsertionOrdersPatchCall {
 20057  	c.ctx_ = ctx
 20058  	return c
 20059  }
 20060  
 20061  // Header returns a http.Header that can be modified by the caller to add
 20062  // headers to the request.
 20063  func (c *AdvertisersInsertionOrdersPatchCall) Header() http.Header {
 20064  	if c.header_ == nil {
 20065  		c.header_ = make(http.Header)
 20066  	}
 20067  	return c.header_
 20068  }
 20069  
 20070  func (c *AdvertisersInsertionOrdersPatchCall) doRequest(alt string) (*http.Response, error) {
 20071  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 20072  	var body io.Reader = nil
 20073  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder)
 20074  	if err != nil {
 20075  		return nil, err
 20076  	}
 20077  	c.urlParams_.Set("alt", alt)
 20078  	c.urlParams_.Set("prettyPrint", "false")
 20079  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
 20080  	urls += "?" + c.urlParams_.Encode()
 20081  	req, err := http.NewRequest("PATCH", urls, body)
 20082  	if err != nil {
 20083  		return nil, err
 20084  	}
 20085  	req.Header = reqHeaders
 20086  	googleapi.Expand(req.URL, map[string]string{
 20087  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 20088  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 20089  	})
 20090  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20091  }
 20092  
 20093  // Do executes the "displayvideo.advertisers.insertionOrders.patch" call.
 20094  // Any non-2xx status code is an error. Response headers are in either
 20095  // *InsertionOrder.ServerResponse.Header or (if a response was returned at all)
 20096  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20097  // whether the returned error was because http.StatusNotModified was returned.
 20098  func (c *AdvertisersInsertionOrdersPatchCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
 20099  	gensupport.SetOptions(c.urlParams_, opts...)
 20100  	res, err := c.doRequest("json")
 20101  	if res != nil && res.StatusCode == http.StatusNotModified {
 20102  		if res.Body != nil {
 20103  			res.Body.Close()
 20104  		}
 20105  		return nil, gensupport.WrapError(&googleapi.Error{
 20106  			Code:   res.StatusCode,
 20107  			Header: res.Header,
 20108  		})
 20109  	}
 20110  	if err != nil {
 20111  		return nil, err
 20112  	}
 20113  	defer googleapi.CloseBody(res)
 20114  	if err := googleapi.CheckResponse(res); err != nil {
 20115  		return nil, gensupport.WrapError(err)
 20116  	}
 20117  	ret := &InsertionOrder{
 20118  		ServerResponse: googleapi.ServerResponse{
 20119  			Header:         res.Header,
 20120  			HTTPStatusCode: res.StatusCode,
 20121  		},
 20122  	}
 20123  	target := &ret
 20124  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20125  		return nil, err
 20126  	}
 20127  	return ret, nil
 20128  }
 20129  
 20130  type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall struct {
 20131  	s                       *Service
 20132  	advertiserId            int64
 20133  	insertionOrderId        int64
 20134  	targetingType           string
 20135  	assignedtargetingoption *AssignedTargetingOption
 20136  	urlParams_              gensupport.URLParams
 20137  	ctx_                    context.Context
 20138  	header_                 http.Header
 20139  }
 20140  
 20141  // Create: Assigns a targeting option to an insertion order. Returns the
 20142  // assigned targeting option if successful. Supported targeting types: *
 20143  // `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` *
 20144  // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 20145  // `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 20146  // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 20147  // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` *
 20148  // `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` *
 20149  // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 20150  // `TARGETING_TYPE_PARENTAL_STATUS` *
 20151  // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`
 20152  //
 20153  //   - advertiserId: The ID of the advertiser the insertion order belongs to.
 20154  //   - insertionOrderId: The ID of the insertion order the assigned targeting
 20155  //     option will belong to.
 20156  //   - targetingType: Identifies the type of this assigned targeting option.
 20157  //     Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
 20158  //     `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` *
 20159  //     `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 20160  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 20161  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` *
 20162  //     `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` *
 20163  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM`
 20164  //   - `TARGETING_TYPE_PARENTAL_STATUS` *
 20165  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 20166  //     `TARGETING_TYPE_VIEWABILITY`.
 20167  func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, insertionOrderId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall {
 20168  	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20169  	c.advertiserId = advertiserId
 20170  	c.insertionOrderId = insertionOrderId
 20171  	c.targetingType = targetingType
 20172  	c.assignedtargetingoption = assignedtargetingoption
 20173  	return c
 20174  }
 20175  
 20176  // Fields allows partial responses to be retrieved. See
 20177  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20178  // details.
 20179  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall {
 20180  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20181  	return c
 20182  }
 20183  
 20184  // Context sets the context to be used in this call's Do method.
 20185  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall {
 20186  	c.ctx_ = ctx
 20187  	return c
 20188  }
 20189  
 20190  // Header returns a http.Header that can be modified by the caller to add
 20191  // headers to the request.
 20192  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
 20193  	if c.header_ == nil {
 20194  		c.header_ = make(http.Header)
 20195  	}
 20196  	return c.header_
 20197  }
 20198  
 20199  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 20200  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 20201  	var body io.Reader = nil
 20202  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
 20203  	if err != nil {
 20204  		return nil, err
 20205  	}
 20206  	c.urlParams_.Set("alt", alt)
 20207  	c.urlParams_.Set("prettyPrint", "false")
 20208  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 20209  	urls += "?" + c.urlParams_.Encode()
 20210  	req, err := http.NewRequest("POST", urls, body)
 20211  	if err != nil {
 20212  		return nil, err
 20213  	}
 20214  	req.Header = reqHeaders
 20215  	googleapi.Expand(req.URL, map[string]string{
 20216  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 20217  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 20218  		"targetingType":    c.targetingType,
 20219  	})
 20220  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20221  }
 20222  
 20223  // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.create" call.
 20224  // Any non-2xx status code is an error. Response headers are in either
 20225  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 20226  // returned at all) in error.(*googleapi.Error).Header. Use
 20227  // googleapi.IsNotModified to check whether the returned error was because
 20228  // http.StatusNotModified was returned.
 20229  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 20230  	gensupport.SetOptions(c.urlParams_, opts...)
 20231  	res, err := c.doRequest("json")
 20232  	if res != nil && res.StatusCode == http.StatusNotModified {
 20233  		if res.Body != nil {
 20234  			res.Body.Close()
 20235  		}
 20236  		return nil, gensupport.WrapError(&googleapi.Error{
 20237  			Code:   res.StatusCode,
 20238  			Header: res.Header,
 20239  		})
 20240  	}
 20241  	if err != nil {
 20242  		return nil, err
 20243  	}
 20244  	defer googleapi.CloseBody(res)
 20245  	if err := googleapi.CheckResponse(res); err != nil {
 20246  		return nil, gensupport.WrapError(err)
 20247  	}
 20248  	ret := &AssignedTargetingOption{
 20249  		ServerResponse: googleapi.ServerResponse{
 20250  			Header:         res.Header,
 20251  			HTTPStatusCode: res.StatusCode,
 20252  		},
 20253  	}
 20254  	target := &ret
 20255  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20256  		return nil, err
 20257  	}
 20258  	return ret, nil
 20259  }
 20260  
 20261  type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
 20262  	s                         *Service
 20263  	advertiserId              int64
 20264  	insertionOrderId          int64
 20265  	targetingType             string
 20266  	assignedTargetingOptionId string
 20267  	urlParams_                gensupport.URLParams
 20268  	ctx_                      context.Context
 20269  	header_                   http.Header
 20270  }
 20271  
 20272  // Delete: Deletes an assigned targeting option from an insertion order.
 20273  // Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
 20274  // `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` *
 20275  // `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 20276  // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 20277  // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` *
 20278  // `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` *
 20279  // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 20280  // `TARGETING_TYPE_PARENTAL_STATUS` *
 20281  // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`
 20282  //
 20283  //   - advertiserId: The ID of the advertiser the insertion order belongs to.
 20284  //   - assignedTargetingOptionId: The ID of the assigned targeting option to
 20285  //     delete.
 20286  //   - insertionOrderId: The ID of the insertion order the assigned targeting
 20287  //     option belongs to.
 20288  //   - targetingType: Identifies the type of this assigned targeting option.
 20289  //     Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
 20290  //     `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` *
 20291  //     `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 20292  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 20293  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` *
 20294  //     `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` *
 20295  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM`
 20296  //   - `TARGETING_TYPE_PARENTAL_STATUS` *
 20297  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 20298  //     `TARGETING_TYPE_VIEWABILITY`.
 20299  func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, insertionOrderId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall {
 20300  	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20301  	c.advertiserId = advertiserId
 20302  	c.insertionOrderId = insertionOrderId
 20303  	c.targetingType = targetingType
 20304  	c.assignedTargetingOptionId = assignedTargetingOptionId
 20305  	return c
 20306  }
 20307  
 20308  // Fields allows partial responses to be retrieved. See
 20309  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20310  // details.
 20311  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall {
 20312  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20313  	return c
 20314  }
 20315  
 20316  // Context sets the context to be used in this call's Do method.
 20317  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall {
 20318  	c.ctx_ = ctx
 20319  	return c
 20320  }
 20321  
 20322  // Header returns a http.Header that can be modified by the caller to add
 20323  // headers to the request.
 20324  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
 20325  	if c.header_ == nil {
 20326  		c.header_ = make(http.Header)
 20327  	}
 20328  	return c.header_
 20329  }
 20330  
 20331  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 20332  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20333  	var body io.Reader = nil
 20334  	c.urlParams_.Set("alt", alt)
 20335  	c.urlParams_.Set("prettyPrint", "false")
 20336  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 20337  	urls += "?" + c.urlParams_.Encode()
 20338  	req, err := http.NewRequest("DELETE", urls, body)
 20339  	if err != nil {
 20340  		return nil, err
 20341  	}
 20342  	req.Header = reqHeaders
 20343  	googleapi.Expand(req.URL, map[string]string{
 20344  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 20345  		"insertionOrderId":          strconv.FormatInt(c.insertionOrderId, 10),
 20346  		"targetingType":             c.targetingType,
 20347  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 20348  	})
 20349  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20350  }
 20351  
 20352  // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.delete" call.
 20353  // Any non-2xx status code is an error. Response headers are in either
 20354  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 20355  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20356  // whether the returned error was because http.StatusNotModified was returned.
 20357  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 20358  	gensupport.SetOptions(c.urlParams_, opts...)
 20359  	res, err := c.doRequest("json")
 20360  	if res != nil && res.StatusCode == http.StatusNotModified {
 20361  		if res.Body != nil {
 20362  			res.Body.Close()
 20363  		}
 20364  		return nil, gensupport.WrapError(&googleapi.Error{
 20365  			Code:   res.StatusCode,
 20366  			Header: res.Header,
 20367  		})
 20368  	}
 20369  	if err != nil {
 20370  		return nil, err
 20371  	}
 20372  	defer googleapi.CloseBody(res)
 20373  	if err := googleapi.CheckResponse(res); err != nil {
 20374  		return nil, gensupport.WrapError(err)
 20375  	}
 20376  	ret := &Empty{
 20377  		ServerResponse: googleapi.ServerResponse{
 20378  			Header:         res.Header,
 20379  			HTTPStatusCode: res.StatusCode,
 20380  		},
 20381  	}
 20382  	target := &ret
 20383  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20384  		return nil, err
 20385  	}
 20386  	return ret, nil
 20387  }
 20388  
 20389  type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall struct {
 20390  	s                         *Service
 20391  	advertiserId              int64
 20392  	insertionOrderId          int64
 20393  	targetingType             string
 20394  	assignedTargetingOptionId string
 20395  	urlParams_                gensupport.URLParams
 20396  	ifNoneMatch_              string
 20397  	ctx_                      context.Context
 20398  	header_                   http.Header
 20399  }
 20400  
 20401  // Get: Gets a single targeting option assigned to an insertion order.
 20402  //
 20403  //   - advertiserId: The ID of the advertiser the insertion order belongs to.
 20404  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 20405  //     this insertion order that identifies the assigned targeting option being
 20406  //     requested.
 20407  //   - insertionOrderId: The ID of the insertion order the assigned targeting
 20408  //     option belongs to.
 20409  //   - targetingType: Identifies the type of this assigned targeting option.
 20410  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 20411  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 20412  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 20413  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 20414  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 20415  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 20416  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 20417  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 20418  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 20419  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 20420  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 20421  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 20422  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 20423  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 20424  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 20425  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 20426  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 20427  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 20428  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 20429  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 20430  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 20431  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 20432  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 20433  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 20434  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 20435  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`.
 20436  func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, insertionOrderId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
 20437  	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20438  	c.advertiserId = advertiserId
 20439  	c.insertionOrderId = insertionOrderId
 20440  	c.targetingType = targetingType
 20441  	c.assignedTargetingOptionId = assignedTargetingOptionId
 20442  	return c
 20443  }
 20444  
 20445  // Fields allows partial responses to be retrieved. See
 20446  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20447  // details.
 20448  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
 20449  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20450  	return c
 20451  }
 20452  
 20453  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 20454  // object's ETag matches the given value. This is useful for getting updates
 20455  // only after the object has changed since the last request.
 20456  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
 20457  	c.ifNoneMatch_ = entityTag
 20458  	return c
 20459  }
 20460  
 20461  // Context sets the context to be used in this call's Do method.
 20462  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
 20463  	c.ctx_ = ctx
 20464  	return c
 20465  }
 20466  
 20467  // Header returns a http.Header that can be modified by the caller to add
 20468  // headers to the request.
 20469  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 20470  	if c.header_ == nil {
 20471  		c.header_ = make(http.Header)
 20472  	}
 20473  	return c.header_
 20474  }
 20475  
 20476  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 20477  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20478  	if c.ifNoneMatch_ != "" {
 20479  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20480  	}
 20481  	var body io.Reader = nil
 20482  	c.urlParams_.Set("alt", alt)
 20483  	c.urlParams_.Set("prettyPrint", "false")
 20484  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 20485  	urls += "?" + c.urlParams_.Encode()
 20486  	req, err := http.NewRequest("GET", urls, body)
 20487  	if err != nil {
 20488  		return nil, err
 20489  	}
 20490  	req.Header = reqHeaders
 20491  	googleapi.Expand(req.URL, map[string]string{
 20492  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 20493  		"insertionOrderId":          strconv.FormatInt(c.insertionOrderId, 10),
 20494  		"targetingType":             c.targetingType,
 20495  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 20496  	})
 20497  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20498  }
 20499  
 20500  // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get" call.
 20501  // Any non-2xx status code is an error. Response headers are in either
 20502  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 20503  // returned at all) in error.(*googleapi.Error).Header. Use
 20504  // googleapi.IsNotModified to check whether the returned error was because
 20505  // http.StatusNotModified was returned.
 20506  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 20507  	gensupport.SetOptions(c.urlParams_, opts...)
 20508  	res, err := c.doRequest("json")
 20509  	if res != nil && res.StatusCode == http.StatusNotModified {
 20510  		if res.Body != nil {
 20511  			res.Body.Close()
 20512  		}
 20513  		return nil, gensupport.WrapError(&googleapi.Error{
 20514  			Code:   res.StatusCode,
 20515  			Header: res.Header,
 20516  		})
 20517  	}
 20518  	if err != nil {
 20519  		return nil, err
 20520  	}
 20521  	defer googleapi.CloseBody(res)
 20522  	if err := googleapi.CheckResponse(res); err != nil {
 20523  		return nil, gensupport.WrapError(err)
 20524  	}
 20525  	ret := &AssignedTargetingOption{
 20526  		ServerResponse: googleapi.ServerResponse{
 20527  			Header:         res.Header,
 20528  			HTTPStatusCode: res.StatusCode,
 20529  		},
 20530  	}
 20531  	target := &ret
 20532  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20533  		return nil, err
 20534  	}
 20535  	return ret, nil
 20536  }
 20537  
 20538  type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall struct {
 20539  	s                *Service
 20540  	advertiserId     int64
 20541  	insertionOrderId int64
 20542  	targetingType    string
 20543  	urlParams_       gensupport.URLParams
 20544  	ifNoneMatch_     string
 20545  	ctx_             context.Context
 20546  	header_          http.Header
 20547  }
 20548  
 20549  // List: Lists the targeting options assigned to an insertion order.
 20550  //
 20551  //   - advertiserId: The ID of the advertiser the insertion order belongs to.
 20552  //   - insertionOrderId: The ID of the insertion order to list assigned targeting
 20553  //     options for.
 20554  //   - targetingType: Identifies the type of assigned targeting options to list.
 20555  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 20556  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 20557  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 20558  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 20559  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 20560  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 20561  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 20562  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 20563  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 20564  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 20565  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 20566  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 20567  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 20568  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 20569  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 20570  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 20571  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 20572  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 20573  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 20574  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 20575  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 20576  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 20577  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 20578  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 20579  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 20580  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`.
 20581  func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, insertionOrderId int64, targetingType string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 20582  	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20583  	c.advertiserId = advertiserId
 20584  	c.insertionOrderId = insertionOrderId
 20585  	c.targetingType = targetingType
 20586  	return c
 20587  }
 20588  
 20589  // Filter sets the optional parameter "filter": Allows filtering by assigned
 20590  // targeting option fields. Supported syntax: * Filter expressions are made up
 20591  // of one or more restrictions. * Restrictions can be combined by the logical
 20592  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 20593  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 20594  // `assignedTargetingOptionId` * `inheritance` Examples: *
 20595  // `AssignedTargetingOption` resources with ID 1 or 2:
 20596  // `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
 20597  // `AssignedTargetingOption` resources with inheritance status of
 20598  // `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR
 20599  // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no
 20600  // more than 500 characters. Reference our filter `LIST` requests
 20601  // (/display-video/api/guides/how-tos/filters) guide for more information.
 20602  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 20603  	c.urlParams_.Set("filter", filter)
 20604  	return c
 20605  }
 20606  
 20607  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 20608  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 20609  // default sorting order is ascending. To specify descending order for a field,
 20610  // a suffix "desc" should be added to the field name. Example:
 20611  // `assignedTargetingOptionId desc`.
 20612  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 20613  	c.urlParams_.Set("orderBy", orderBy)
 20614  	return c
 20615  }
 20616  
 20617  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 20618  // be between `1` and `5000`. If unspecified will default to `100`. Returns
 20619  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 20620  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 20621  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 20622  	return c
 20623  }
 20624  
 20625  // PageToken sets the optional parameter "pageToken": A token identifying a
 20626  // page of results the server should return. Typically, this is the value of
 20627  // next_page_token returned from the previous call to
 20628  // `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the
 20629  // first page of results will be returned.
 20630  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 20631  	c.urlParams_.Set("pageToken", pageToken)
 20632  	return c
 20633  }
 20634  
 20635  // Fields allows partial responses to be retrieved. See
 20636  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20637  // details.
 20638  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 20639  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20640  	return c
 20641  }
 20642  
 20643  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 20644  // object's ETag matches the given value. This is useful for getting updates
 20645  // only after the object has changed since the last request.
 20646  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 20647  	c.ifNoneMatch_ = entityTag
 20648  	return c
 20649  }
 20650  
 20651  // Context sets the context to be used in this call's Do method.
 20652  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 20653  	c.ctx_ = ctx
 20654  	return c
 20655  }
 20656  
 20657  // Header returns a http.Header that can be modified by the caller to add
 20658  // headers to the request.
 20659  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 20660  	if c.header_ == nil {
 20661  		c.header_ = make(http.Header)
 20662  	}
 20663  	return c.header_
 20664  }
 20665  
 20666  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 20667  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20668  	if c.ifNoneMatch_ != "" {
 20669  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20670  	}
 20671  	var body io.Reader = nil
 20672  	c.urlParams_.Set("alt", alt)
 20673  	c.urlParams_.Set("prettyPrint", "false")
 20674  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 20675  	urls += "?" + c.urlParams_.Encode()
 20676  	req, err := http.NewRequest("GET", urls, body)
 20677  	if err != nil {
 20678  		return nil, err
 20679  	}
 20680  	req.Header = reqHeaders
 20681  	googleapi.Expand(req.URL, map[string]string{
 20682  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 20683  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 20684  		"targetingType":    c.targetingType,
 20685  	})
 20686  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20687  }
 20688  
 20689  // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list" call.
 20690  // Any non-2xx status code is an error. Response headers are in either
 20691  // *ListInsertionOrderAssignedTargetingOptionsResponse.ServerResponse.Header or
 20692  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 20693  // googleapi.IsNotModified to check whether the returned error was because
 20694  // http.StatusNotModified was returned.
 20695  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrderAssignedTargetingOptionsResponse, error) {
 20696  	gensupport.SetOptions(c.urlParams_, opts...)
 20697  	res, err := c.doRequest("json")
 20698  	if res != nil && res.StatusCode == http.StatusNotModified {
 20699  		if res.Body != nil {
 20700  			res.Body.Close()
 20701  		}
 20702  		return nil, gensupport.WrapError(&googleapi.Error{
 20703  			Code:   res.StatusCode,
 20704  			Header: res.Header,
 20705  		})
 20706  	}
 20707  	if err != nil {
 20708  		return nil, err
 20709  	}
 20710  	defer googleapi.CloseBody(res)
 20711  	if err := googleapi.CheckResponse(res); err != nil {
 20712  		return nil, gensupport.WrapError(err)
 20713  	}
 20714  	ret := &ListInsertionOrderAssignedTargetingOptionsResponse{
 20715  		ServerResponse: googleapi.ServerResponse{
 20716  			Header:         res.Header,
 20717  			HTTPStatusCode: res.StatusCode,
 20718  		},
 20719  	}
 20720  	target := &ret
 20721  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20722  		return nil, err
 20723  	}
 20724  	return ret, nil
 20725  }
 20726  
 20727  // Pages invokes f for each page of results.
 20728  // A non-nil error returned from f will halt the iteration.
 20729  // The provided context supersedes any context provided to the Context method.
 20730  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListInsertionOrderAssignedTargetingOptionsResponse) error) error {
 20731  	c.ctx_ = ctx
 20732  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 20733  	for {
 20734  		x, err := c.Do()
 20735  		if err != nil {
 20736  			return err
 20737  		}
 20738  		if err := f(x); err != nil {
 20739  			return err
 20740  		}
 20741  		if x.NextPageToken == "" {
 20742  			return nil
 20743  		}
 20744  		c.PageToken(x.NextPageToken)
 20745  	}
 20746  }
 20747  
 20748  type AdvertisersInvoicesListCall struct {
 20749  	s            *Service
 20750  	advertiserId int64
 20751  	urlParams_   gensupport.URLParams
 20752  	ifNoneMatch_ string
 20753  	ctx_         context.Context
 20754  	header_      http.Header
 20755  }
 20756  
 20757  // List: Lists invoices posted for an advertiser in a given month. Invoices
 20758  // generated by billing profiles with a "Partner" invoice level are not
 20759  // retrievable through this method.
 20760  //
 20761  // - advertiserId: The ID of the advertiser to list invoices for.
 20762  func (r *AdvertisersInvoicesService) List(advertiserId int64) *AdvertisersInvoicesListCall {
 20763  	c := &AdvertisersInvoicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20764  	c.advertiserId = advertiserId
 20765  	return c
 20766  }
 20767  
 20768  // IssueMonth sets the optional parameter "issueMonth": The month to list the
 20769  // invoices for. If not set, the request will retrieve invoices for the
 20770  // previous month. Must be in the format YYYYMM.
 20771  func (c *AdvertisersInvoicesListCall) IssueMonth(issueMonth string) *AdvertisersInvoicesListCall {
 20772  	c.urlParams_.Set("issueMonth", issueMonth)
 20773  	return c
 20774  }
 20775  
 20776  // LoiSapinInvoiceType sets the optional parameter "loiSapinInvoiceType":
 20777  // Select type of invoice to retrieve for Loi Sapin advertisers. Only
 20778  // applicable to Loi Sapin advertisers. Will be ignored otherwise.
 20779  //
 20780  // Possible values:
 20781  //
 20782  //	"LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED" - Value is not specified.
 20783  //	"LOI_SAPIN_INVOICE_TYPE_MEDIA" - Invoices with Media cost.
 20784  //	"LOI_SAPIN_INVOICE_TYPE_PLATFORM" - Invoices with Platform fee.
 20785  func (c *AdvertisersInvoicesListCall) LoiSapinInvoiceType(loiSapinInvoiceType string) *AdvertisersInvoicesListCall {
 20786  	c.urlParams_.Set("loiSapinInvoiceType", loiSapinInvoiceType)
 20787  	return c
 20788  }
 20789  
 20790  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 20791  // be between `1` and `200`. If unspecified will default to `100`. Returns
 20792  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 20793  func (c *AdvertisersInvoicesListCall) PageSize(pageSize int64) *AdvertisersInvoicesListCall {
 20794  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 20795  	return c
 20796  }
 20797  
 20798  // PageToken sets the optional parameter "pageToken": A token identifying a
 20799  // page of results the server should return. Typically, this is the value of
 20800  // next_page_token returned from the previous call to `ListInvoices` method. If
 20801  // not specified, the first page of results will be returned.
 20802  func (c *AdvertisersInvoicesListCall) PageToken(pageToken string) *AdvertisersInvoicesListCall {
 20803  	c.urlParams_.Set("pageToken", pageToken)
 20804  	return c
 20805  }
 20806  
 20807  // Fields allows partial responses to be retrieved. See
 20808  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20809  // details.
 20810  func (c *AdvertisersInvoicesListCall) Fields(s ...googleapi.Field) *AdvertisersInvoicesListCall {
 20811  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20812  	return c
 20813  }
 20814  
 20815  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 20816  // object's ETag matches the given value. This is useful for getting updates
 20817  // only after the object has changed since the last request.
 20818  func (c *AdvertisersInvoicesListCall) IfNoneMatch(entityTag string) *AdvertisersInvoicesListCall {
 20819  	c.ifNoneMatch_ = entityTag
 20820  	return c
 20821  }
 20822  
 20823  // Context sets the context to be used in this call's Do method.
 20824  func (c *AdvertisersInvoicesListCall) Context(ctx context.Context) *AdvertisersInvoicesListCall {
 20825  	c.ctx_ = ctx
 20826  	return c
 20827  }
 20828  
 20829  // Header returns a http.Header that can be modified by the caller to add
 20830  // headers to the request.
 20831  func (c *AdvertisersInvoicesListCall) Header() http.Header {
 20832  	if c.header_ == nil {
 20833  		c.header_ = make(http.Header)
 20834  	}
 20835  	return c.header_
 20836  }
 20837  
 20838  func (c *AdvertisersInvoicesListCall) doRequest(alt string) (*http.Response, error) {
 20839  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20840  	if c.ifNoneMatch_ != "" {
 20841  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20842  	}
 20843  	var body io.Reader = nil
 20844  	c.urlParams_.Set("alt", alt)
 20845  	c.urlParams_.Set("prettyPrint", "false")
 20846  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/invoices")
 20847  	urls += "?" + c.urlParams_.Encode()
 20848  	req, err := http.NewRequest("GET", urls, body)
 20849  	if err != nil {
 20850  		return nil, err
 20851  	}
 20852  	req.Header = reqHeaders
 20853  	googleapi.Expand(req.URL, map[string]string{
 20854  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 20855  	})
 20856  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20857  }
 20858  
 20859  // Do executes the "displayvideo.advertisers.invoices.list" call.
 20860  // Any non-2xx status code is an error. Response headers are in either
 20861  // *ListInvoicesResponse.ServerResponse.Header or (if a response was returned
 20862  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 20863  // check whether the returned error was because http.StatusNotModified was
 20864  // returned.
 20865  func (c *AdvertisersInvoicesListCall) Do(opts ...googleapi.CallOption) (*ListInvoicesResponse, error) {
 20866  	gensupport.SetOptions(c.urlParams_, opts...)
 20867  	res, err := c.doRequest("json")
 20868  	if res != nil && res.StatusCode == http.StatusNotModified {
 20869  		if res.Body != nil {
 20870  			res.Body.Close()
 20871  		}
 20872  		return nil, gensupport.WrapError(&googleapi.Error{
 20873  			Code:   res.StatusCode,
 20874  			Header: res.Header,
 20875  		})
 20876  	}
 20877  	if err != nil {
 20878  		return nil, err
 20879  	}
 20880  	defer googleapi.CloseBody(res)
 20881  	if err := googleapi.CheckResponse(res); err != nil {
 20882  		return nil, gensupport.WrapError(err)
 20883  	}
 20884  	ret := &ListInvoicesResponse{
 20885  		ServerResponse: googleapi.ServerResponse{
 20886  			Header:         res.Header,
 20887  			HTTPStatusCode: res.StatusCode,
 20888  		},
 20889  	}
 20890  	target := &ret
 20891  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20892  		return nil, err
 20893  	}
 20894  	return ret, nil
 20895  }
 20896  
 20897  // Pages invokes f for each page of results.
 20898  // A non-nil error returned from f will halt the iteration.
 20899  // The provided context supersedes any context provided to the Context method.
 20900  func (c *AdvertisersInvoicesListCall) Pages(ctx context.Context, f func(*ListInvoicesResponse) error) error {
 20901  	c.ctx_ = ctx
 20902  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 20903  	for {
 20904  		x, err := c.Do()
 20905  		if err != nil {
 20906  			return err
 20907  		}
 20908  		if err := f(x); err != nil {
 20909  			return err
 20910  		}
 20911  		if x.NextPageToken == "" {
 20912  			return nil
 20913  		}
 20914  		c.PageToken(x.NextPageToken)
 20915  	}
 20916  }
 20917  
 20918  type AdvertisersInvoicesLookupInvoiceCurrencyCall struct {
 20919  	s            *Service
 20920  	advertiserId int64
 20921  	urlParams_   gensupport.URLParams
 20922  	ifNoneMatch_ string
 20923  	ctx_         context.Context
 20924  	header_      http.Header
 20925  }
 20926  
 20927  // LookupInvoiceCurrency: Retrieves the invoice currency used by an advertiser
 20928  // in a given month.
 20929  //
 20930  // - advertiserId: The ID of the advertiser to lookup currency for.
 20931  func (r *AdvertisersInvoicesService) LookupInvoiceCurrency(advertiserId int64) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
 20932  	c := &AdvertisersInvoicesLookupInvoiceCurrencyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20933  	c.advertiserId = advertiserId
 20934  	return c
 20935  }
 20936  
 20937  // InvoiceMonth sets the optional parameter "invoiceMonth": Month for which the
 20938  // currency is needed. If not set, the request will return existing currency
 20939  // settings for the advertiser. Must be in the format YYYYMM.
 20940  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) InvoiceMonth(invoiceMonth string) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
 20941  	c.urlParams_.Set("invoiceMonth", invoiceMonth)
 20942  	return c
 20943  }
 20944  
 20945  // Fields allows partial responses to be retrieved. See
 20946  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20947  // details.
 20948  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Fields(s ...googleapi.Field) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
 20949  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20950  	return c
 20951  }
 20952  
 20953  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 20954  // object's ETag matches the given value. This is useful for getting updates
 20955  // only after the object has changed since the last request.
 20956  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) IfNoneMatch(entityTag string) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
 20957  	c.ifNoneMatch_ = entityTag
 20958  	return c
 20959  }
 20960  
 20961  // Context sets the context to be used in this call's Do method.
 20962  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Context(ctx context.Context) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
 20963  	c.ctx_ = ctx
 20964  	return c
 20965  }
 20966  
 20967  // Header returns a http.Header that can be modified by the caller to add
 20968  // headers to the request.
 20969  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Header() http.Header {
 20970  	if c.header_ == nil {
 20971  		c.header_ = make(http.Header)
 20972  	}
 20973  	return c.header_
 20974  }
 20975  
 20976  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) doRequest(alt string) (*http.Response, error) {
 20977  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20978  	if c.ifNoneMatch_ != "" {
 20979  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20980  	}
 20981  	var body io.Reader = nil
 20982  	c.urlParams_.Set("alt", alt)
 20983  	c.urlParams_.Set("prettyPrint", "false")
 20984  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency")
 20985  	urls += "?" + c.urlParams_.Encode()
 20986  	req, err := http.NewRequest("GET", urls, body)
 20987  	if err != nil {
 20988  		return nil, err
 20989  	}
 20990  	req.Header = reqHeaders
 20991  	googleapi.Expand(req.URL, map[string]string{
 20992  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 20993  	})
 20994  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20995  }
 20996  
 20997  // Do executes the "displayvideo.advertisers.invoices.lookupInvoiceCurrency" call.
 20998  // Any non-2xx status code is an error. Response headers are in either
 20999  // *LookupInvoiceCurrencyResponse.ServerResponse.Header or (if a response was
 21000  // returned at all) in error.(*googleapi.Error).Header. Use
 21001  // googleapi.IsNotModified to check whether the returned error was because
 21002  // http.StatusNotModified was returned.
 21003  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Do(opts ...googleapi.CallOption) (*LookupInvoiceCurrencyResponse, error) {
 21004  	gensupport.SetOptions(c.urlParams_, opts...)
 21005  	res, err := c.doRequest("json")
 21006  	if res != nil && res.StatusCode == http.StatusNotModified {
 21007  		if res.Body != nil {
 21008  			res.Body.Close()
 21009  		}
 21010  		return nil, gensupport.WrapError(&googleapi.Error{
 21011  			Code:   res.StatusCode,
 21012  			Header: res.Header,
 21013  		})
 21014  	}
 21015  	if err != nil {
 21016  		return nil, err
 21017  	}
 21018  	defer googleapi.CloseBody(res)
 21019  	if err := googleapi.CheckResponse(res); err != nil {
 21020  		return nil, gensupport.WrapError(err)
 21021  	}
 21022  	ret := &LookupInvoiceCurrencyResponse{
 21023  		ServerResponse: googleapi.ServerResponse{
 21024  			Header:         res.Header,
 21025  			HTTPStatusCode: res.StatusCode,
 21026  		},
 21027  	}
 21028  	target := &ret
 21029  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21030  		return nil, err
 21031  	}
 21032  	return ret, nil
 21033  }
 21034  
 21035  type AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall struct {
 21036  	s                                       *Service
 21037  	advertiserId                            int64
 21038  	bulkeditassignedtargetingoptionsrequest *BulkEditAssignedTargetingOptionsRequest
 21039  	urlParams_                              gensupport.URLParams
 21040  	ctx_                                    context.Context
 21041  	header_                                 http.Header
 21042  }
 21043  
 21044  // BulkEditAssignedTargetingOptions: Bulk edits targeting options under
 21045  // multiple line items. The operation will delete the assigned targeting
 21046  // options provided in BulkEditAssignedTargetingOptionsRequest.delete_requests
 21047  // and then create the assigned targeting options provided in
 21048  // BulkEditAssignedTargetingOptionsRequest.create_requests. Requests to this
 21049  // endpoint cannot be made concurrently with the following requests updating
 21050  // the same line item: * lineItems.bulkUpdate * lineItems.patch *
 21051  // assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube &
 21052  // Partners line items cannot be created or updated using the API.
 21053  //
 21054  // - advertiserId: The ID of the advertiser the line items belong to.
 21055  func (r *AdvertisersLineItemsService) BulkEditAssignedTargetingOptions(advertiserId int64, bulkeditassignedtargetingoptionsrequest *BulkEditAssignedTargetingOptionsRequest) *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall {
 21056  	c := &AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21057  	c.advertiserId = advertiserId
 21058  	c.bulkeditassignedtargetingoptionsrequest = bulkeditassignedtargetingoptionsrequest
 21059  	return c
 21060  }
 21061  
 21062  // Fields allows partial responses to be retrieved. See
 21063  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21064  // details.
 21065  func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall {
 21066  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21067  	return c
 21068  }
 21069  
 21070  // Context sets the context to be used in this call's Do method.
 21071  func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall {
 21072  	c.ctx_ = ctx
 21073  	return c
 21074  }
 21075  
 21076  // Header returns a http.Header that can be modified by the caller to add
 21077  // headers to the request.
 21078  func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Header() http.Header {
 21079  	if c.header_ == nil {
 21080  		c.header_ = make(http.Header)
 21081  	}
 21082  	return c.header_
 21083  }
 21084  
 21085  func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 21086  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 21087  	var body io.Reader = nil
 21088  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedtargetingoptionsrequest)
 21089  	if err != nil {
 21090  		return nil, err
 21091  	}
 21092  	c.urlParams_.Set("alt", alt)
 21093  	c.urlParams_.Set("prettyPrint", "false")
 21094  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems:bulkEditAssignedTargetingOptions")
 21095  	urls += "?" + c.urlParams_.Encode()
 21096  	req, err := http.NewRequest("POST", urls, body)
 21097  	if err != nil {
 21098  		return nil, err
 21099  	}
 21100  	req.Header = reqHeaders
 21101  	googleapi.Expand(req.URL, map[string]string{
 21102  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 21103  	})
 21104  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21105  }
 21106  
 21107  // Do executes the "displayvideo.advertisers.lineItems.bulkEditAssignedTargetingOptions" call.
 21108  // Any non-2xx status code is an error. Response headers are in either
 21109  // *BulkEditAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 21110  // response was returned at all) in error.(*googleapi.Error).Header. Use
 21111  // googleapi.IsNotModified to check whether the returned error was because
 21112  // http.StatusNotModified was returned.
 21113  func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedTargetingOptionsResponse, error) {
 21114  	gensupport.SetOptions(c.urlParams_, opts...)
 21115  	res, err := c.doRequest("json")
 21116  	if res != nil && res.StatusCode == http.StatusNotModified {
 21117  		if res.Body != nil {
 21118  			res.Body.Close()
 21119  		}
 21120  		return nil, gensupport.WrapError(&googleapi.Error{
 21121  			Code:   res.StatusCode,
 21122  			Header: res.Header,
 21123  		})
 21124  	}
 21125  	if err != nil {
 21126  		return nil, err
 21127  	}
 21128  	defer googleapi.CloseBody(res)
 21129  	if err := googleapi.CheckResponse(res); err != nil {
 21130  		return nil, gensupport.WrapError(err)
 21131  	}
 21132  	ret := &BulkEditAssignedTargetingOptionsResponse{
 21133  		ServerResponse: googleapi.ServerResponse{
 21134  			Header:         res.Header,
 21135  			HTTPStatusCode: res.StatusCode,
 21136  		},
 21137  	}
 21138  	target := &ret
 21139  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21140  		return nil, err
 21141  	}
 21142  	return ret, nil
 21143  }
 21144  
 21145  type AdvertisersLineItemsBulkListAssignedTargetingOptionsCall struct {
 21146  	s            *Service
 21147  	advertiserId int64
 21148  	urlParams_   gensupport.URLParams
 21149  	ifNoneMatch_ string
 21150  	ctx_         context.Context
 21151  	header_      http.Header
 21152  }
 21153  
 21154  // BulkListAssignedTargetingOptions: Lists assigned targeting options for
 21155  // multiple line items across targeting types.
 21156  //
 21157  // - advertiserId: The ID of the advertiser the line items belongs to.
 21158  func (r *AdvertisersLineItemsService) BulkListAssignedTargetingOptions(advertiserId int64) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 21159  	c := &AdvertisersLineItemsBulkListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21160  	c.advertiserId = advertiserId
 21161  	return c
 21162  }
 21163  
 21164  // Filter sets the optional parameter "filter": Allows filtering by assigned
 21165  // targeting option fields. Supported syntax: * Filter expressions are made up
 21166  // of one or more restrictions. * Restrictions can be combined by the logical
 21167  // operator `OR` on the same field. * A restriction has the form of `{field}
 21168  // {operator} {value}`. * All fields must use the `EQUALS (=)` operator.
 21169  // Supported fields: * `targetingType` * `inheritance` Examples: *
 21170  // `AssignedTargetingOption` resources of targeting type
 21171  // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`:
 21172  // `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR
 21173  // targetingType="TARGETING_TYPE_CHANNEL" * `AssignedTargetingOption`
 21174  // resources with inheritance status of `NOT_INHERITED` or
 21175  // `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR
 21176  // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no
 21177  // more than 500 characters. Reference our filter `LIST` requests
 21178  // (/display-video/api/guides/how-tos/filters) guide for more information.
 21179  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 21180  	c.urlParams_.Set("filter", filter)
 21181  	return c
 21182  }
 21183  
 21184  // LineItemIds sets the optional parameter "lineItemIds": Required. The IDs of
 21185  // the line items to list assigned targeting options for.
 21186  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) LineItemIds(lineItemIds ...int64) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 21187  	var lineItemIds_ []string
 21188  	for _, v := range lineItemIds {
 21189  		lineItemIds_ = append(lineItemIds_, fmt.Sprint(v))
 21190  	}
 21191  	c.urlParams_.SetMulti("lineItemIds", lineItemIds_)
 21192  	return c
 21193  }
 21194  
 21195  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 21196  // list. Acceptable values are: * `lineItemId` (default) *
 21197  // `assignedTargetingOption.targetingType` The default sorting order is
 21198  // ascending. To specify descending order for a field, a suffix "desc" should
 21199  // be added to the field name. Example: `targetingType desc`.
 21200  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 21201  	c.urlParams_.Set("orderBy", orderBy)
 21202  	return c
 21203  }
 21204  
 21205  // PageSize sets the optional parameter "pageSize": Requested page size. The
 21206  // size must be an integer between `1` and `5000`. If unspecified, the default
 21207  // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is
 21208  // specified.
 21209  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 21210  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 21211  	return c
 21212  }
 21213  
 21214  // PageToken sets the optional parameter "pageToken": A token that lets the
 21215  // client fetch the next page of results. Typically, this is the value of
 21216  // next_page_token returned from the previous call to the
 21217  // `BulkListAssignedTargetingOptions` method. If not specified, the first page
 21218  // of results will be returned.
 21219  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 21220  	c.urlParams_.Set("pageToken", pageToken)
 21221  	return c
 21222  }
 21223  
 21224  // Fields allows partial responses to be retrieved. See
 21225  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21226  // details.
 21227  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 21228  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21229  	return c
 21230  }
 21231  
 21232  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 21233  // object's ETag matches the given value. This is useful for getting updates
 21234  // only after the object has changed since the last request.
 21235  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 21236  	c.ifNoneMatch_ = entityTag
 21237  	return c
 21238  }
 21239  
 21240  // Context sets the context to be used in this call's Do method.
 21241  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 21242  	c.ctx_ = ctx
 21243  	return c
 21244  }
 21245  
 21246  // Header returns a http.Header that can be modified by the caller to add
 21247  // headers to the request.
 21248  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Header() http.Header {
 21249  	if c.header_ == nil {
 21250  		c.header_ = make(http.Header)
 21251  	}
 21252  	return c.header_
 21253  }
 21254  
 21255  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 21256  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 21257  	if c.ifNoneMatch_ != "" {
 21258  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21259  	}
 21260  	var body io.Reader = nil
 21261  	c.urlParams_.Set("alt", alt)
 21262  	c.urlParams_.Set("prettyPrint", "false")
 21263  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems:bulkListAssignedTargetingOptions")
 21264  	urls += "?" + c.urlParams_.Encode()
 21265  	req, err := http.NewRequest("GET", urls, body)
 21266  	if err != nil {
 21267  		return nil, err
 21268  	}
 21269  	req.Header = reqHeaders
 21270  	googleapi.Expand(req.URL, map[string]string{
 21271  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 21272  	})
 21273  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21274  }
 21275  
 21276  // Do executes the "displayvideo.advertisers.lineItems.bulkListAssignedTargetingOptions" call.
 21277  // Any non-2xx status code is an error. Response headers are in either
 21278  // *BulkListAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 21279  // response was returned at all) in error.(*googleapi.Error).Header. Use
 21280  // googleapi.IsNotModified to check whether the returned error was because
 21281  // http.StatusNotModified was returned.
 21282  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAssignedTargetingOptionsResponse, error) {
 21283  	gensupport.SetOptions(c.urlParams_, opts...)
 21284  	res, err := c.doRequest("json")
 21285  	if res != nil && res.StatusCode == http.StatusNotModified {
 21286  		if res.Body != nil {
 21287  			res.Body.Close()
 21288  		}
 21289  		return nil, gensupport.WrapError(&googleapi.Error{
 21290  			Code:   res.StatusCode,
 21291  			Header: res.Header,
 21292  		})
 21293  	}
 21294  	if err != nil {
 21295  		return nil, err
 21296  	}
 21297  	defer googleapi.CloseBody(res)
 21298  	if err := googleapi.CheckResponse(res); err != nil {
 21299  		return nil, gensupport.WrapError(err)
 21300  	}
 21301  	ret := &BulkListAssignedTargetingOptionsResponse{
 21302  		ServerResponse: googleapi.ServerResponse{
 21303  			Header:         res.Header,
 21304  			HTTPStatusCode: res.StatusCode,
 21305  		},
 21306  	}
 21307  	target := &ret
 21308  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21309  		return nil, err
 21310  	}
 21311  	return ret, nil
 21312  }
 21313  
 21314  // Pages invokes f for each page of results.
 21315  // A non-nil error returned from f will halt the iteration.
 21316  // The provided context supersedes any context provided to the Context method.
 21317  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAssignedTargetingOptionsResponse) error) error {
 21318  	c.ctx_ = ctx
 21319  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 21320  	for {
 21321  		x, err := c.Do()
 21322  		if err != nil {
 21323  			return err
 21324  		}
 21325  		if err := f(x); err != nil {
 21326  			return err
 21327  		}
 21328  		if x.NextPageToken == "" {
 21329  			return nil
 21330  		}
 21331  		c.PageToken(x.NextPageToken)
 21332  	}
 21333  }
 21334  
 21335  type AdvertisersLineItemsBulkUpdateCall struct {
 21336  	s                          *Service
 21337  	advertiserId               int64
 21338  	bulkupdatelineitemsrequest *BulkUpdateLineItemsRequest
 21339  	urlParams_                 gensupport.URLParams
 21340  	ctx_                       context.Context
 21341  	header_                    http.Header
 21342  }
 21343  
 21344  // BulkUpdate: Updates multiple line items. Requests to this endpoint cannot be
 21345  // made concurrently with the following requests updating the same line item: *
 21346  // BulkEditAssignedTargetingOptions * UpdateLineItem *
 21347  // assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube &
 21348  // Partners line items cannot be created or updated using the API.
 21349  //
 21350  // - advertiserId: The ID of the advertiser this line item belongs to.
 21351  func (r *AdvertisersLineItemsService) BulkUpdate(advertiserId int64, bulkupdatelineitemsrequest *BulkUpdateLineItemsRequest) *AdvertisersLineItemsBulkUpdateCall {
 21352  	c := &AdvertisersLineItemsBulkUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21353  	c.advertiserId = advertiserId
 21354  	c.bulkupdatelineitemsrequest = bulkupdatelineitemsrequest
 21355  	return c
 21356  }
 21357  
 21358  // Fields allows partial responses to be retrieved. See
 21359  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21360  // details.
 21361  func (c *AdvertisersLineItemsBulkUpdateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkUpdateCall {
 21362  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21363  	return c
 21364  }
 21365  
 21366  // Context sets the context to be used in this call's Do method.
 21367  func (c *AdvertisersLineItemsBulkUpdateCall) Context(ctx context.Context) *AdvertisersLineItemsBulkUpdateCall {
 21368  	c.ctx_ = ctx
 21369  	return c
 21370  }
 21371  
 21372  // Header returns a http.Header that can be modified by the caller to add
 21373  // headers to the request.
 21374  func (c *AdvertisersLineItemsBulkUpdateCall) Header() http.Header {
 21375  	if c.header_ == nil {
 21376  		c.header_ = make(http.Header)
 21377  	}
 21378  	return c.header_
 21379  }
 21380  
 21381  func (c *AdvertisersLineItemsBulkUpdateCall) doRequest(alt string) (*http.Response, error) {
 21382  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 21383  	var body io.Reader = nil
 21384  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkupdatelineitemsrequest)
 21385  	if err != nil {
 21386  		return nil, err
 21387  	}
 21388  	c.urlParams_.Set("alt", alt)
 21389  	c.urlParams_.Set("prettyPrint", "false")
 21390  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems:bulkUpdate")
 21391  	urls += "?" + c.urlParams_.Encode()
 21392  	req, err := http.NewRequest("POST", urls, body)
 21393  	if err != nil {
 21394  		return nil, err
 21395  	}
 21396  	req.Header = reqHeaders
 21397  	googleapi.Expand(req.URL, map[string]string{
 21398  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 21399  	})
 21400  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21401  }
 21402  
 21403  // Do executes the "displayvideo.advertisers.lineItems.bulkUpdate" call.
 21404  // Any non-2xx status code is an error. Response headers are in either
 21405  // *BulkUpdateLineItemsResponse.ServerResponse.Header or (if a response was
 21406  // returned at all) in error.(*googleapi.Error).Header. Use
 21407  // googleapi.IsNotModified to check whether the returned error was because
 21408  // http.StatusNotModified was returned.
 21409  func (c *AdvertisersLineItemsBulkUpdateCall) Do(opts ...googleapi.CallOption) (*BulkUpdateLineItemsResponse, error) {
 21410  	gensupport.SetOptions(c.urlParams_, opts...)
 21411  	res, err := c.doRequest("json")
 21412  	if res != nil && res.StatusCode == http.StatusNotModified {
 21413  		if res.Body != nil {
 21414  			res.Body.Close()
 21415  		}
 21416  		return nil, gensupport.WrapError(&googleapi.Error{
 21417  			Code:   res.StatusCode,
 21418  			Header: res.Header,
 21419  		})
 21420  	}
 21421  	if err != nil {
 21422  		return nil, err
 21423  	}
 21424  	defer googleapi.CloseBody(res)
 21425  	if err := googleapi.CheckResponse(res); err != nil {
 21426  		return nil, gensupport.WrapError(err)
 21427  	}
 21428  	ret := &BulkUpdateLineItemsResponse{
 21429  		ServerResponse: googleapi.ServerResponse{
 21430  			Header:         res.Header,
 21431  			HTTPStatusCode: res.StatusCode,
 21432  		},
 21433  	}
 21434  	target := &ret
 21435  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21436  		return nil, err
 21437  	}
 21438  	return ret, nil
 21439  }
 21440  
 21441  type AdvertisersLineItemsCreateCall struct {
 21442  	s            *Service
 21443  	advertiserId int64
 21444  	lineitem     *LineItem
 21445  	urlParams_   gensupport.URLParams
 21446  	ctx_         context.Context
 21447  	header_      http.Header
 21448  }
 21449  
 21450  // Create: Creates a new line item. Returns the newly created line item if
 21451  // successful. YouTube & Partners line items cannot be created or updated using
 21452  // the API.
 21453  //
 21454  //   - advertiserId: Output only. The unique ID of the advertiser the line item
 21455  //     belongs to.
 21456  func (r *AdvertisersLineItemsService) Create(advertiserId int64, lineitem *LineItem) *AdvertisersLineItemsCreateCall {
 21457  	c := &AdvertisersLineItemsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21458  	c.advertiserId = advertiserId
 21459  	c.lineitem = lineitem
 21460  	return c
 21461  }
 21462  
 21463  // Fields allows partial responses to be retrieved. See
 21464  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21465  // details.
 21466  func (c *AdvertisersLineItemsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsCreateCall {
 21467  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21468  	return c
 21469  }
 21470  
 21471  // Context sets the context to be used in this call's Do method.
 21472  func (c *AdvertisersLineItemsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsCreateCall {
 21473  	c.ctx_ = ctx
 21474  	return c
 21475  }
 21476  
 21477  // Header returns a http.Header that can be modified by the caller to add
 21478  // headers to the request.
 21479  func (c *AdvertisersLineItemsCreateCall) Header() http.Header {
 21480  	if c.header_ == nil {
 21481  		c.header_ = make(http.Header)
 21482  	}
 21483  	return c.header_
 21484  }
 21485  
 21486  func (c *AdvertisersLineItemsCreateCall) doRequest(alt string) (*http.Response, error) {
 21487  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 21488  	var body io.Reader = nil
 21489  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem)
 21490  	if err != nil {
 21491  		return nil, err
 21492  	}
 21493  	c.urlParams_.Set("alt", alt)
 21494  	c.urlParams_.Set("prettyPrint", "false")
 21495  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems")
 21496  	urls += "?" + c.urlParams_.Encode()
 21497  	req, err := http.NewRequest("POST", urls, body)
 21498  	if err != nil {
 21499  		return nil, err
 21500  	}
 21501  	req.Header = reqHeaders
 21502  	googleapi.Expand(req.URL, map[string]string{
 21503  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 21504  	})
 21505  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21506  }
 21507  
 21508  // Do executes the "displayvideo.advertisers.lineItems.create" call.
 21509  // Any non-2xx status code is an error. Response headers are in either
 21510  // *LineItem.ServerResponse.Header or (if a response was returned at all) in
 21511  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 21512  // whether the returned error was because http.StatusNotModified was returned.
 21513  func (c *AdvertisersLineItemsCreateCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
 21514  	gensupport.SetOptions(c.urlParams_, opts...)
 21515  	res, err := c.doRequest("json")
 21516  	if res != nil && res.StatusCode == http.StatusNotModified {
 21517  		if res.Body != nil {
 21518  			res.Body.Close()
 21519  		}
 21520  		return nil, gensupport.WrapError(&googleapi.Error{
 21521  			Code:   res.StatusCode,
 21522  			Header: res.Header,
 21523  		})
 21524  	}
 21525  	if err != nil {
 21526  		return nil, err
 21527  	}
 21528  	defer googleapi.CloseBody(res)
 21529  	if err := googleapi.CheckResponse(res); err != nil {
 21530  		return nil, gensupport.WrapError(err)
 21531  	}
 21532  	ret := &LineItem{
 21533  		ServerResponse: googleapi.ServerResponse{
 21534  			Header:         res.Header,
 21535  			HTTPStatusCode: res.StatusCode,
 21536  		},
 21537  	}
 21538  	target := &ret
 21539  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21540  		return nil, err
 21541  	}
 21542  	return ret, nil
 21543  }
 21544  
 21545  type AdvertisersLineItemsDeleteCall struct {
 21546  	s            *Service
 21547  	advertiserId int64
 21548  	lineItemId   int64
 21549  	urlParams_   gensupport.URLParams
 21550  	ctx_         context.Context
 21551  	header_      http.Header
 21552  }
 21553  
 21554  // Delete: Deletes a line item. Returns error code `NOT_FOUND` if the line item
 21555  // does not exist. The line item should be archived first, i.e. set
 21556  // entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. YouTube
 21557  // & Partners line items cannot be created or updated using the API.
 21558  //
 21559  // - advertiserId: The ID of the advertiser this line item belongs to.
 21560  // - lineItemId: The ID of the line item to delete.
 21561  func (r *AdvertisersLineItemsService) Delete(advertiserId int64, lineItemId int64) *AdvertisersLineItemsDeleteCall {
 21562  	c := &AdvertisersLineItemsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21563  	c.advertiserId = advertiserId
 21564  	c.lineItemId = lineItemId
 21565  	return c
 21566  }
 21567  
 21568  // Fields allows partial responses to be retrieved. See
 21569  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21570  // details.
 21571  func (c *AdvertisersLineItemsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsDeleteCall {
 21572  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21573  	return c
 21574  }
 21575  
 21576  // Context sets the context to be used in this call's Do method.
 21577  func (c *AdvertisersLineItemsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsDeleteCall {
 21578  	c.ctx_ = ctx
 21579  	return c
 21580  }
 21581  
 21582  // Header returns a http.Header that can be modified by the caller to add
 21583  // headers to the request.
 21584  func (c *AdvertisersLineItemsDeleteCall) Header() http.Header {
 21585  	if c.header_ == nil {
 21586  		c.header_ = make(http.Header)
 21587  	}
 21588  	return c.header_
 21589  }
 21590  
 21591  func (c *AdvertisersLineItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
 21592  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 21593  	var body io.Reader = nil
 21594  	c.urlParams_.Set("alt", alt)
 21595  	c.urlParams_.Set("prettyPrint", "false")
 21596  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
 21597  	urls += "?" + c.urlParams_.Encode()
 21598  	req, err := http.NewRequest("DELETE", urls, body)
 21599  	if err != nil {
 21600  		return nil, err
 21601  	}
 21602  	req.Header = reqHeaders
 21603  	googleapi.Expand(req.URL, map[string]string{
 21604  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 21605  		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
 21606  	})
 21607  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21608  }
 21609  
 21610  // Do executes the "displayvideo.advertisers.lineItems.delete" call.
 21611  // Any non-2xx status code is an error. Response headers are in either
 21612  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 21613  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 21614  // whether the returned error was because http.StatusNotModified was returned.
 21615  func (c *AdvertisersLineItemsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 21616  	gensupport.SetOptions(c.urlParams_, opts...)
 21617  	res, err := c.doRequest("json")
 21618  	if res != nil && res.StatusCode == http.StatusNotModified {
 21619  		if res.Body != nil {
 21620  			res.Body.Close()
 21621  		}
 21622  		return nil, gensupport.WrapError(&googleapi.Error{
 21623  			Code:   res.StatusCode,
 21624  			Header: res.Header,
 21625  		})
 21626  	}
 21627  	if err != nil {
 21628  		return nil, err
 21629  	}
 21630  	defer googleapi.CloseBody(res)
 21631  	if err := googleapi.CheckResponse(res); err != nil {
 21632  		return nil, gensupport.WrapError(err)
 21633  	}
 21634  	ret := &Empty{
 21635  		ServerResponse: googleapi.ServerResponse{
 21636  			Header:         res.Header,
 21637  			HTTPStatusCode: res.StatusCode,
 21638  		},
 21639  	}
 21640  	target := &ret
 21641  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21642  		return nil, err
 21643  	}
 21644  	return ret, nil
 21645  }
 21646  
 21647  type AdvertisersLineItemsDuplicateCall struct {
 21648  	s                        *Service
 21649  	advertiserId             int64
 21650  	lineItemId               int64
 21651  	duplicatelineitemrequest *DuplicateLineItemRequest
 21652  	urlParams_               gensupport.URLParams
 21653  	ctx_                     context.Context
 21654  	header_                  http.Header
 21655  }
 21656  
 21657  // Duplicate: Duplicates a line item. Returns the ID of the created line item
 21658  // if successful. YouTube & Partners line items cannot be created or updated
 21659  // using the API. **This method regularly experiences high latency.** We
 21660  // recommend increasing your default timeout
 21661  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 21662  // to avoid errors.
 21663  //
 21664  // - advertiserId: The ID of the advertiser this line item belongs to.
 21665  // - lineItemId: The ID of the line item to duplicate.
 21666  func (r *AdvertisersLineItemsService) Duplicate(advertiserId int64, lineItemId int64, duplicatelineitemrequest *DuplicateLineItemRequest) *AdvertisersLineItemsDuplicateCall {
 21667  	c := &AdvertisersLineItemsDuplicateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21668  	c.advertiserId = advertiserId
 21669  	c.lineItemId = lineItemId
 21670  	c.duplicatelineitemrequest = duplicatelineitemrequest
 21671  	return c
 21672  }
 21673  
 21674  // Fields allows partial responses to be retrieved. See
 21675  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21676  // details.
 21677  func (c *AdvertisersLineItemsDuplicateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsDuplicateCall {
 21678  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21679  	return c
 21680  }
 21681  
 21682  // Context sets the context to be used in this call's Do method.
 21683  func (c *AdvertisersLineItemsDuplicateCall) Context(ctx context.Context) *AdvertisersLineItemsDuplicateCall {
 21684  	c.ctx_ = ctx
 21685  	return c
 21686  }
 21687  
 21688  // Header returns a http.Header that can be modified by the caller to add
 21689  // headers to the request.
 21690  func (c *AdvertisersLineItemsDuplicateCall) Header() http.Header {
 21691  	if c.header_ == nil {
 21692  		c.header_ = make(http.Header)
 21693  	}
 21694  	return c.header_
 21695  }
 21696  
 21697  func (c *AdvertisersLineItemsDuplicateCall) doRequest(alt string) (*http.Response, error) {
 21698  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 21699  	var body io.Reader = nil
 21700  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.duplicatelineitemrequest)
 21701  	if err != nil {
 21702  		return nil, err
 21703  	}
 21704  	c.urlParams_.Set("alt", alt)
 21705  	c.urlParams_.Set("prettyPrint", "false")
 21706  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}:duplicate")
 21707  	urls += "?" + c.urlParams_.Encode()
 21708  	req, err := http.NewRequest("POST", urls, body)
 21709  	if err != nil {
 21710  		return nil, err
 21711  	}
 21712  	req.Header = reqHeaders
 21713  	googleapi.Expand(req.URL, map[string]string{
 21714  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 21715  		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
 21716  	})
 21717  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21718  }
 21719  
 21720  // Do executes the "displayvideo.advertisers.lineItems.duplicate" call.
 21721  // Any non-2xx status code is an error. Response headers are in either
 21722  // *DuplicateLineItemResponse.ServerResponse.Header or (if a response was
 21723  // returned at all) in error.(*googleapi.Error).Header. Use
 21724  // googleapi.IsNotModified to check whether the returned error was because
 21725  // http.StatusNotModified was returned.
 21726  func (c *AdvertisersLineItemsDuplicateCall) Do(opts ...googleapi.CallOption) (*DuplicateLineItemResponse, error) {
 21727  	gensupport.SetOptions(c.urlParams_, opts...)
 21728  	res, err := c.doRequest("json")
 21729  	if res != nil && res.StatusCode == http.StatusNotModified {
 21730  		if res.Body != nil {
 21731  			res.Body.Close()
 21732  		}
 21733  		return nil, gensupport.WrapError(&googleapi.Error{
 21734  			Code:   res.StatusCode,
 21735  			Header: res.Header,
 21736  		})
 21737  	}
 21738  	if err != nil {
 21739  		return nil, err
 21740  	}
 21741  	defer googleapi.CloseBody(res)
 21742  	if err := googleapi.CheckResponse(res); err != nil {
 21743  		return nil, gensupport.WrapError(err)
 21744  	}
 21745  	ret := &DuplicateLineItemResponse{
 21746  		ServerResponse: googleapi.ServerResponse{
 21747  			Header:         res.Header,
 21748  			HTTPStatusCode: res.StatusCode,
 21749  		},
 21750  	}
 21751  	target := &ret
 21752  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21753  		return nil, err
 21754  	}
 21755  	return ret, nil
 21756  }
 21757  
 21758  type AdvertisersLineItemsGenerateDefaultCall struct {
 21759  	s                              *Service
 21760  	advertiserId                   int64
 21761  	generatedefaultlineitemrequest *GenerateDefaultLineItemRequest
 21762  	urlParams_                     gensupport.URLParams
 21763  	ctx_                           context.Context
 21764  	header_                        http.Header
 21765  }
 21766  
 21767  // GenerateDefault: Creates a new line item with settings (including targeting)
 21768  // inherited from the insertion order and an `ENTITY_STATUS_DRAFT`
 21769  // entity_status. Returns the newly created line item if successful. There are
 21770  // default values based on the three fields: * The insertion order's
 21771  // insertion_order_type * The insertion order's automation_type * The given
 21772  // line_item_type YouTube & Partners line items cannot be created or updated
 21773  // using the API.
 21774  //
 21775  // - advertiserId: The ID of the advertiser this line item belongs to.
 21776  func (r *AdvertisersLineItemsService) GenerateDefault(advertiserId int64, generatedefaultlineitemrequest *GenerateDefaultLineItemRequest) *AdvertisersLineItemsGenerateDefaultCall {
 21777  	c := &AdvertisersLineItemsGenerateDefaultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21778  	c.advertiserId = advertiserId
 21779  	c.generatedefaultlineitemrequest = generatedefaultlineitemrequest
 21780  	return c
 21781  }
 21782  
 21783  // Fields allows partial responses to be retrieved. See
 21784  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21785  // details.
 21786  func (c *AdvertisersLineItemsGenerateDefaultCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGenerateDefaultCall {
 21787  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21788  	return c
 21789  }
 21790  
 21791  // Context sets the context to be used in this call's Do method.
 21792  func (c *AdvertisersLineItemsGenerateDefaultCall) Context(ctx context.Context) *AdvertisersLineItemsGenerateDefaultCall {
 21793  	c.ctx_ = ctx
 21794  	return c
 21795  }
 21796  
 21797  // Header returns a http.Header that can be modified by the caller to add
 21798  // headers to the request.
 21799  func (c *AdvertisersLineItemsGenerateDefaultCall) Header() http.Header {
 21800  	if c.header_ == nil {
 21801  		c.header_ = make(http.Header)
 21802  	}
 21803  	return c.header_
 21804  }
 21805  
 21806  func (c *AdvertisersLineItemsGenerateDefaultCall) doRequest(alt string) (*http.Response, error) {
 21807  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 21808  	var body io.Reader = nil
 21809  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatedefaultlineitemrequest)
 21810  	if err != nil {
 21811  		return nil, err
 21812  	}
 21813  	c.urlParams_.Set("alt", alt)
 21814  	c.urlParams_.Set("prettyPrint", "false")
 21815  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems:generateDefault")
 21816  	urls += "?" + c.urlParams_.Encode()
 21817  	req, err := http.NewRequest("POST", urls, body)
 21818  	if err != nil {
 21819  		return nil, err
 21820  	}
 21821  	req.Header = reqHeaders
 21822  	googleapi.Expand(req.URL, map[string]string{
 21823  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 21824  	})
 21825  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21826  }
 21827  
 21828  // Do executes the "displayvideo.advertisers.lineItems.generateDefault" call.
 21829  // Any non-2xx status code is an error. Response headers are in either
 21830  // *LineItem.ServerResponse.Header or (if a response was returned at all) in
 21831  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 21832  // whether the returned error was because http.StatusNotModified was returned.
 21833  func (c *AdvertisersLineItemsGenerateDefaultCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
 21834  	gensupport.SetOptions(c.urlParams_, opts...)
 21835  	res, err := c.doRequest("json")
 21836  	if res != nil && res.StatusCode == http.StatusNotModified {
 21837  		if res.Body != nil {
 21838  			res.Body.Close()
 21839  		}
 21840  		return nil, gensupport.WrapError(&googleapi.Error{
 21841  			Code:   res.StatusCode,
 21842  			Header: res.Header,
 21843  		})
 21844  	}
 21845  	if err != nil {
 21846  		return nil, err
 21847  	}
 21848  	defer googleapi.CloseBody(res)
 21849  	if err := googleapi.CheckResponse(res); err != nil {
 21850  		return nil, gensupport.WrapError(err)
 21851  	}
 21852  	ret := &LineItem{
 21853  		ServerResponse: googleapi.ServerResponse{
 21854  			Header:         res.Header,
 21855  			HTTPStatusCode: res.StatusCode,
 21856  		},
 21857  	}
 21858  	target := &ret
 21859  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21860  		return nil, err
 21861  	}
 21862  	return ret, nil
 21863  }
 21864  
 21865  type AdvertisersLineItemsGetCall struct {
 21866  	s            *Service
 21867  	advertiserId int64
 21868  	lineItemId   int64
 21869  	urlParams_   gensupport.URLParams
 21870  	ifNoneMatch_ string
 21871  	ctx_         context.Context
 21872  	header_      http.Header
 21873  }
 21874  
 21875  // Get: Gets a line item.
 21876  //
 21877  // - advertiserId: The ID of the advertiser this line item belongs to.
 21878  // - lineItemId: The ID of the line item to fetch.
 21879  func (r *AdvertisersLineItemsService) Get(advertiserId int64, lineItemId int64) *AdvertisersLineItemsGetCall {
 21880  	c := &AdvertisersLineItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21881  	c.advertiserId = advertiserId
 21882  	c.lineItemId = lineItemId
 21883  	return c
 21884  }
 21885  
 21886  // Fields allows partial responses to be retrieved. See
 21887  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21888  // details.
 21889  func (c *AdvertisersLineItemsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGetCall {
 21890  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21891  	return c
 21892  }
 21893  
 21894  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 21895  // object's ETag matches the given value. This is useful for getting updates
 21896  // only after the object has changed since the last request.
 21897  func (c *AdvertisersLineItemsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsGetCall {
 21898  	c.ifNoneMatch_ = entityTag
 21899  	return c
 21900  }
 21901  
 21902  // Context sets the context to be used in this call's Do method.
 21903  func (c *AdvertisersLineItemsGetCall) Context(ctx context.Context) *AdvertisersLineItemsGetCall {
 21904  	c.ctx_ = ctx
 21905  	return c
 21906  }
 21907  
 21908  // Header returns a http.Header that can be modified by the caller to add
 21909  // headers to the request.
 21910  func (c *AdvertisersLineItemsGetCall) Header() http.Header {
 21911  	if c.header_ == nil {
 21912  		c.header_ = make(http.Header)
 21913  	}
 21914  	return c.header_
 21915  }
 21916  
 21917  func (c *AdvertisersLineItemsGetCall) doRequest(alt string) (*http.Response, error) {
 21918  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 21919  	if c.ifNoneMatch_ != "" {
 21920  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21921  	}
 21922  	var body io.Reader = nil
 21923  	c.urlParams_.Set("alt", alt)
 21924  	c.urlParams_.Set("prettyPrint", "false")
 21925  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
 21926  	urls += "?" + c.urlParams_.Encode()
 21927  	req, err := http.NewRequest("GET", urls, body)
 21928  	if err != nil {
 21929  		return nil, err
 21930  	}
 21931  	req.Header = reqHeaders
 21932  	googleapi.Expand(req.URL, map[string]string{
 21933  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 21934  		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
 21935  	})
 21936  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21937  }
 21938  
 21939  // Do executes the "displayvideo.advertisers.lineItems.get" call.
 21940  // Any non-2xx status code is an error. Response headers are in either
 21941  // *LineItem.ServerResponse.Header or (if a response was returned at all) in
 21942  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 21943  // whether the returned error was because http.StatusNotModified was returned.
 21944  func (c *AdvertisersLineItemsGetCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
 21945  	gensupport.SetOptions(c.urlParams_, opts...)
 21946  	res, err := c.doRequest("json")
 21947  	if res != nil && res.StatusCode == http.StatusNotModified {
 21948  		if res.Body != nil {
 21949  			res.Body.Close()
 21950  		}
 21951  		return nil, gensupport.WrapError(&googleapi.Error{
 21952  			Code:   res.StatusCode,
 21953  			Header: res.Header,
 21954  		})
 21955  	}
 21956  	if err != nil {
 21957  		return nil, err
 21958  	}
 21959  	defer googleapi.CloseBody(res)
 21960  	if err := googleapi.CheckResponse(res); err != nil {
 21961  		return nil, gensupport.WrapError(err)
 21962  	}
 21963  	ret := &LineItem{
 21964  		ServerResponse: googleapi.ServerResponse{
 21965  			Header:         res.Header,
 21966  			HTTPStatusCode: res.StatusCode,
 21967  		},
 21968  	}
 21969  	target := &ret
 21970  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21971  		return nil, err
 21972  	}
 21973  	return ret, nil
 21974  }
 21975  
 21976  type AdvertisersLineItemsListCall struct {
 21977  	s            *Service
 21978  	advertiserId int64
 21979  	urlParams_   gensupport.URLParams
 21980  	ifNoneMatch_ string
 21981  	ctx_         context.Context
 21982  	header_      http.Header
 21983  }
 21984  
 21985  // List: Lists line items in an advertiser. The order is defined by the
 21986  // order_by parameter. If a filter by entity_status is not specified, line
 21987  // items with `ENTITY_STATUS_ARCHIVED` will not be included in the results.
 21988  //
 21989  // - advertiserId: The ID of the advertiser to list line items for.
 21990  func (r *AdvertisersLineItemsService) List(advertiserId int64) *AdvertisersLineItemsListCall {
 21991  	c := &AdvertisersLineItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21992  	c.advertiserId = advertiserId
 21993  	return c
 21994  }
 21995  
 21996  // Filter sets the optional parameter "filter": Allows filtering by line item
 21997  // fields. Supported syntax: * Filter expressions are made up of one or more
 21998  // restrictions. * Restrictions can be combined by `AND` or `OR` logical
 21999  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 22000  // has the form of `{field} {operator} {value}`. * The `updateTime` field must
 22001  // use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`
 22002  // operators. * All other fields must use the `EQUALS (=)` operator. Supported
 22003  // fields: * `campaignId` * `displayName` * `entityStatus` * `insertionOrderId`
 22004  // * `lineItemId` * `lineItemType` * `updateTime` (input in ISO 8601 format, or
 22005  // `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All line items under an insertion order:
 22006  // `insertionOrderId="1234" * All `ENTITY_STATUS_ACTIVE` or
 22007  // `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under
 22008  // an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
 22009  // entityStatus="ENTITY_STATUS_PAUSED") AND
 22010  // lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" * All line items with an
 22011  // update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 22012  // `updateTime<="2020-11-04T18:54:47Z" * All line items with an update time
 22013  // greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 22014  // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no
 22015  // more than 500 characters. Reference our filter `LIST` requests
 22016  // (/display-video/api/guides/how-tos/filters) guide for more information.
 22017  func (c *AdvertisersLineItemsListCall) Filter(filter string) *AdvertisersLineItemsListCall {
 22018  	c.urlParams_.Set("filter", filter)
 22019  	return c
 22020  }
 22021  
 22022  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 22023  // list. Acceptable values are: * `displayName` (default) * `entityStatus` *
 22024  // `updateTime` The default sorting order is ascending. To specify descending
 22025  // order for a field, a suffix "desc" should be added to the field name.
 22026  // Example: `displayName desc`.
 22027  func (c *AdvertisersLineItemsListCall) OrderBy(orderBy string) *AdvertisersLineItemsListCall {
 22028  	c.urlParams_.Set("orderBy", orderBy)
 22029  	return c
 22030  }
 22031  
 22032  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 22033  // be between `1` and `200`. If unspecified will default to `100`. Returns
 22034  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 22035  func (c *AdvertisersLineItemsListCall) PageSize(pageSize int64) *AdvertisersLineItemsListCall {
 22036  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 22037  	return c
 22038  }
 22039  
 22040  // PageToken sets the optional parameter "pageToken": A token identifying a
 22041  // page of results the server should return. Typically, this is the value of
 22042  // next_page_token returned from the previous call to `ListLineItems` method.
 22043  // If not specified, the first page of results will be returned.
 22044  func (c *AdvertisersLineItemsListCall) PageToken(pageToken string) *AdvertisersLineItemsListCall {
 22045  	c.urlParams_.Set("pageToken", pageToken)
 22046  	return c
 22047  }
 22048  
 22049  // Fields allows partial responses to be retrieved. See
 22050  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22051  // details.
 22052  func (c *AdvertisersLineItemsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsListCall {
 22053  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22054  	return c
 22055  }
 22056  
 22057  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 22058  // object's ETag matches the given value. This is useful for getting updates
 22059  // only after the object has changed since the last request.
 22060  func (c *AdvertisersLineItemsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsListCall {
 22061  	c.ifNoneMatch_ = entityTag
 22062  	return c
 22063  }
 22064  
 22065  // Context sets the context to be used in this call's Do method.
 22066  func (c *AdvertisersLineItemsListCall) Context(ctx context.Context) *AdvertisersLineItemsListCall {
 22067  	c.ctx_ = ctx
 22068  	return c
 22069  }
 22070  
 22071  // Header returns a http.Header that can be modified by the caller to add
 22072  // headers to the request.
 22073  func (c *AdvertisersLineItemsListCall) Header() http.Header {
 22074  	if c.header_ == nil {
 22075  		c.header_ = make(http.Header)
 22076  	}
 22077  	return c.header_
 22078  }
 22079  
 22080  func (c *AdvertisersLineItemsListCall) doRequest(alt string) (*http.Response, error) {
 22081  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 22082  	if c.ifNoneMatch_ != "" {
 22083  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22084  	}
 22085  	var body io.Reader = nil
 22086  	c.urlParams_.Set("alt", alt)
 22087  	c.urlParams_.Set("prettyPrint", "false")
 22088  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems")
 22089  	urls += "?" + c.urlParams_.Encode()
 22090  	req, err := http.NewRequest("GET", urls, body)
 22091  	if err != nil {
 22092  		return nil, err
 22093  	}
 22094  	req.Header = reqHeaders
 22095  	googleapi.Expand(req.URL, map[string]string{
 22096  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 22097  	})
 22098  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22099  }
 22100  
 22101  // Do executes the "displayvideo.advertisers.lineItems.list" call.
 22102  // Any non-2xx status code is an error. Response headers are in either
 22103  // *ListLineItemsResponse.ServerResponse.Header or (if a response was returned
 22104  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 22105  // check whether the returned error was because http.StatusNotModified was
 22106  // returned.
 22107  func (c *AdvertisersLineItemsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemsResponse, error) {
 22108  	gensupport.SetOptions(c.urlParams_, opts...)
 22109  	res, err := c.doRequest("json")
 22110  	if res != nil && res.StatusCode == http.StatusNotModified {
 22111  		if res.Body != nil {
 22112  			res.Body.Close()
 22113  		}
 22114  		return nil, gensupport.WrapError(&googleapi.Error{
 22115  			Code:   res.StatusCode,
 22116  			Header: res.Header,
 22117  		})
 22118  	}
 22119  	if err != nil {
 22120  		return nil, err
 22121  	}
 22122  	defer googleapi.CloseBody(res)
 22123  	if err := googleapi.CheckResponse(res); err != nil {
 22124  		return nil, gensupport.WrapError(err)
 22125  	}
 22126  	ret := &ListLineItemsResponse{
 22127  		ServerResponse: googleapi.ServerResponse{
 22128  			Header:         res.Header,
 22129  			HTTPStatusCode: res.StatusCode,
 22130  		},
 22131  	}
 22132  	target := &ret
 22133  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22134  		return nil, err
 22135  	}
 22136  	return ret, nil
 22137  }
 22138  
 22139  // Pages invokes f for each page of results.
 22140  // A non-nil error returned from f will halt the iteration.
 22141  // The provided context supersedes any context provided to the Context method.
 22142  func (c *AdvertisersLineItemsListCall) Pages(ctx context.Context, f func(*ListLineItemsResponse) error) error {
 22143  	c.ctx_ = ctx
 22144  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 22145  	for {
 22146  		x, err := c.Do()
 22147  		if err != nil {
 22148  			return err
 22149  		}
 22150  		if err := f(x); err != nil {
 22151  			return err
 22152  		}
 22153  		if x.NextPageToken == "" {
 22154  			return nil
 22155  		}
 22156  		c.PageToken(x.NextPageToken)
 22157  	}
 22158  }
 22159  
 22160  type AdvertisersLineItemsPatchCall struct {
 22161  	s            *Service
 22162  	advertiserId int64
 22163  	lineItemId   int64
 22164  	lineitem     *LineItem
 22165  	urlParams_   gensupport.URLParams
 22166  	ctx_         context.Context
 22167  	header_      http.Header
 22168  }
 22169  
 22170  // Patch: Updates an existing line item. Returns the updated line item if
 22171  // successful. Requests to this endpoint cannot be made concurrently with the
 22172  // following requests updating the same line item: *
 22173  // BulkEditAssignedTargetingOptions * BulkUpdateLineItems *
 22174  // assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube &
 22175  // Partners line items cannot be created or updated using the API. **This
 22176  // method regularly experiences high latency.** We recommend increasing your
 22177  // default timeout
 22178  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 22179  // to avoid errors.
 22180  //
 22181  //   - advertiserId: Output only. The unique ID of the advertiser the line item
 22182  //     belongs to.
 22183  //   - lineItemId: Output only. The unique ID of the line item. Assigned by the
 22184  //     system.
 22185  func (r *AdvertisersLineItemsService) Patch(advertiserId int64, lineItemId int64, lineitem *LineItem) *AdvertisersLineItemsPatchCall {
 22186  	c := &AdvertisersLineItemsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22187  	c.advertiserId = advertiserId
 22188  	c.lineItemId = lineItemId
 22189  	c.lineitem = lineitem
 22190  	return c
 22191  }
 22192  
 22193  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 22194  // control which fields to update.
 22195  func (c *AdvertisersLineItemsPatchCall) UpdateMask(updateMask string) *AdvertisersLineItemsPatchCall {
 22196  	c.urlParams_.Set("updateMask", updateMask)
 22197  	return c
 22198  }
 22199  
 22200  // Fields allows partial responses to be retrieved. See
 22201  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22202  // details.
 22203  func (c *AdvertisersLineItemsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsPatchCall {
 22204  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22205  	return c
 22206  }
 22207  
 22208  // Context sets the context to be used in this call's Do method.
 22209  func (c *AdvertisersLineItemsPatchCall) Context(ctx context.Context) *AdvertisersLineItemsPatchCall {
 22210  	c.ctx_ = ctx
 22211  	return c
 22212  }
 22213  
 22214  // Header returns a http.Header that can be modified by the caller to add
 22215  // headers to the request.
 22216  func (c *AdvertisersLineItemsPatchCall) Header() http.Header {
 22217  	if c.header_ == nil {
 22218  		c.header_ = make(http.Header)
 22219  	}
 22220  	return c.header_
 22221  }
 22222  
 22223  func (c *AdvertisersLineItemsPatchCall) doRequest(alt string) (*http.Response, error) {
 22224  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 22225  	var body io.Reader = nil
 22226  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem)
 22227  	if err != nil {
 22228  		return nil, err
 22229  	}
 22230  	c.urlParams_.Set("alt", alt)
 22231  	c.urlParams_.Set("prettyPrint", "false")
 22232  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
 22233  	urls += "?" + c.urlParams_.Encode()
 22234  	req, err := http.NewRequest("PATCH", urls, body)
 22235  	if err != nil {
 22236  		return nil, err
 22237  	}
 22238  	req.Header = reqHeaders
 22239  	googleapi.Expand(req.URL, map[string]string{
 22240  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 22241  		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
 22242  	})
 22243  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22244  }
 22245  
 22246  // Do executes the "displayvideo.advertisers.lineItems.patch" call.
 22247  // Any non-2xx status code is an error. Response headers are in either
 22248  // *LineItem.ServerResponse.Header or (if a response was returned at all) in
 22249  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 22250  // whether the returned error was because http.StatusNotModified was returned.
 22251  func (c *AdvertisersLineItemsPatchCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
 22252  	gensupport.SetOptions(c.urlParams_, opts...)
 22253  	res, err := c.doRequest("json")
 22254  	if res != nil && res.StatusCode == http.StatusNotModified {
 22255  		if res.Body != nil {
 22256  			res.Body.Close()
 22257  		}
 22258  		return nil, gensupport.WrapError(&googleapi.Error{
 22259  			Code:   res.StatusCode,
 22260  			Header: res.Header,
 22261  		})
 22262  	}
 22263  	if err != nil {
 22264  		return nil, err
 22265  	}
 22266  	defer googleapi.CloseBody(res)
 22267  	if err := googleapi.CheckResponse(res); err != nil {
 22268  		return nil, gensupport.WrapError(err)
 22269  	}
 22270  	ret := &LineItem{
 22271  		ServerResponse: googleapi.ServerResponse{
 22272  			Header:         res.Header,
 22273  			HTTPStatusCode: res.StatusCode,
 22274  		},
 22275  	}
 22276  	target := &ret
 22277  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22278  		return nil, err
 22279  	}
 22280  	return ret, nil
 22281  }
 22282  
 22283  type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall struct {
 22284  	s                       *Service
 22285  	advertiserId            int64
 22286  	lineItemId              int64
 22287  	targetingType           string
 22288  	assignedtargetingoption *AssignedTargetingOption
 22289  	urlParams_              gensupport.URLParams
 22290  	ctx_                    context.Context
 22291  	header_                 http.Header
 22292  }
 22293  
 22294  // Create: Assigns a targeting option to a line item. Returns the assigned
 22295  // targeting option if successful. Requests to this endpoint cannot be made
 22296  // concurrently with the following requests updating the same line item: *
 22297  // lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate *
 22298  // lineItems.patch * DeleteLineItemAssignedTargetingOption YouTube & Partners
 22299  // line items cannot be created or updated using the API.
 22300  //
 22301  //   - advertiserId: The ID of the advertiser the line item belongs to.
 22302  //   - lineItemId: The ID of the line item the assigned targeting option will
 22303  //     belong to.
 22304  //   - targetingType: Identifies the type of this assigned targeting option.
 22305  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 22306  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 22307  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 22308  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 22309  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 22310  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 22311  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 22312  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 22313  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 22314  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 22315  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 22316  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 22317  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 22318  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 22319  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 22320  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 22321  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 22322  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 22323  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 22324  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 22325  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 22326  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 22327  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 22328  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 22329  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 22330  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`.
 22331  func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, lineItemId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
 22332  	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22333  	c.advertiserId = advertiserId
 22334  	c.lineItemId = lineItemId
 22335  	c.targetingType = targetingType
 22336  	c.assignedtargetingoption = assignedtargetingoption
 22337  	return c
 22338  }
 22339  
 22340  // Fields allows partial responses to be retrieved. See
 22341  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22342  // details.
 22343  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
 22344  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22345  	return c
 22346  }
 22347  
 22348  // Context sets the context to be used in this call's Do method.
 22349  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
 22350  	c.ctx_ = ctx
 22351  	return c
 22352  }
 22353  
 22354  // Header returns a http.Header that can be modified by the caller to add
 22355  // headers to the request.
 22356  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
 22357  	if c.header_ == nil {
 22358  		c.header_ = make(http.Header)
 22359  	}
 22360  	return c.header_
 22361  }
 22362  
 22363  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 22364  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 22365  	var body io.Reader = nil
 22366  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
 22367  	if err != nil {
 22368  		return nil, err
 22369  	}
 22370  	c.urlParams_.Set("alt", alt)
 22371  	c.urlParams_.Set("prettyPrint", "false")
 22372  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 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  		"lineItemId":    strconv.FormatInt(c.lineItemId, 10),
 22382  		"targetingType": c.targetingType,
 22383  	})
 22384  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22385  }
 22386  
 22387  // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create" call.
 22388  // Any non-2xx status code is an error. Response headers are in either
 22389  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 22390  // returned at all) in error.(*googleapi.Error).Header. Use
 22391  // googleapi.IsNotModified to check whether the returned error was because
 22392  // http.StatusNotModified was returned.
 22393  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
 22411  	}
 22412  	ret := &AssignedTargetingOption{
 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  
 22425  type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall struct {
 22426  	s                         *Service
 22427  	advertiserId              int64
 22428  	lineItemId                int64
 22429  	targetingType             string
 22430  	assignedTargetingOptionId string
 22431  	urlParams_                gensupport.URLParams
 22432  	ctx_                      context.Context
 22433  	header_                   http.Header
 22434  }
 22435  
 22436  // Delete: Deletes an assigned targeting option from a line item. Requests to
 22437  // this endpoint cannot be made concurrently with the following requests
 22438  // updating the same line item: * lineItems.bulkEditAssignedTargetingOptions *
 22439  // lineItems.bulkUpdate * lineItems.patch *
 22440  // CreateLineItemAssignedTargetingOption YouTube & Partners line items cannot
 22441  // be created or updated using the API.
 22442  //
 22443  //   - advertiserId: The ID of the advertiser the line item belongs to.
 22444  //   - assignedTargetingOptionId: The ID of the assigned targeting option to
 22445  //     delete.
 22446  //   - lineItemId: The ID of the line item the assigned targeting option belongs
 22447  //     to.
 22448  //   - targetingType: Identifies the type of this assigned targeting option.
 22449  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 22450  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 22451  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 22452  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 22453  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 22454  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 22455  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 22456  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 22457  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 22458  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 22459  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 22460  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 22461  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 22462  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 22463  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 22464  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 22465  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 22466  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 22467  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 22468  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 22469  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 22470  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 22471  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 22472  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 22473  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 22474  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`.
 22475  func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
 22476  	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22477  	c.advertiserId = advertiserId
 22478  	c.lineItemId = lineItemId
 22479  	c.targetingType = targetingType
 22480  	c.assignedTargetingOptionId = assignedTargetingOptionId
 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 for more
 22486  // details.
 22487  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
 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.
 22493  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
 22494  	c.ctx_ = ctx
 22495  	return c
 22496  }
 22497  
 22498  // Header returns a http.Header that can be modified by the caller to add
 22499  // headers to the request.
 22500  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
 22501  	if c.header_ == nil {
 22502  		c.header_ = make(http.Header)
 22503  	}
 22504  	return c.header_
 22505  }
 22506  
 22507  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 22508  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 22509  	var body io.Reader = nil
 22510  	c.urlParams_.Set("alt", alt)
 22511  	c.urlParams_.Set("prettyPrint", "false")
 22512  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 22513  	urls += "?" + c.urlParams_.Encode()
 22514  	req, err := http.NewRequest("DELETE", urls, body)
 22515  	if err != nil {
 22516  		return nil, err
 22517  	}
 22518  	req.Header = reqHeaders
 22519  	googleapi.Expand(req.URL, map[string]string{
 22520  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 22521  		"lineItemId":                strconv.FormatInt(c.lineItemId, 10),
 22522  		"targetingType":             c.targetingType,
 22523  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 22524  	})
 22525  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22526  }
 22527  
 22528  // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete" call.
 22529  // Any non-2xx status code is an error. Response headers are in either
 22530  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 22531  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 22532  // whether the returned error was because http.StatusNotModified was returned.
 22533  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 22534  	gensupport.SetOptions(c.urlParams_, opts...)
 22535  	res, err := c.doRequest("json")
 22536  	if res != nil && res.StatusCode == http.StatusNotModified {
 22537  		if res.Body != nil {
 22538  			res.Body.Close()
 22539  		}
 22540  		return nil, gensupport.WrapError(&googleapi.Error{
 22541  			Code:   res.StatusCode,
 22542  			Header: res.Header,
 22543  		})
 22544  	}
 22545  	if err != nil {
 22546  		return nil, err
 22547  	}
 22548  	defer googleapi.CloseBody(res)
 22549  	if err := googleapi.CheckResponse(res); err != nil {
 22550  		return nil, gensupport.WrapError(err)
 22551  	}
 22552  	ret := &Empty{
 22553  		ServerResponse: googleapi.ServerResponse{
 22554  			Header:         res.Header,
 22555  			HTTPStatusCode: res.StatusCode,
 22556  		},
 22557  	}
 22558  	target := &ret
 22559  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22560  		return nil, err
 22561  	}
 22562  	return ret, nil
 22563  }
 22564  
 22565  type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall struct {
 22566  	s                         *Service
 22567  	advertiserId              int64
 22568  	lineItemId                int64
 22569  	targetingType             string
 22570  	assignedTargetingOptionId string
 22571  	urlParams_                gensupport.URLParams
 22572  	ifNoneMatch_              string
 22573  	ctx_                      context.Context
 22574  	header_                   http.Header
 22575  }
 22576  
 22577  // Get: Gets a single targeting option assigned to a line item.
 22578  //
 22579  //   - advertiserId: The ID of the advertiser the line item belongs to.
 22580  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 22581  //     this line item that identifies the assigned targeting option being
 22582  //     requested.
 22583  //   - lineItemId: The ID of the line item the assigned targeting option belongs
 22584  //     to.
 22585  //   - targetingType: Identifies the type of this assigned targeting option.
 22586  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 22587  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 22588  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 22589  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 22590  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 22591  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 22592  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 22593  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 22594  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 22595  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 22596  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 22597  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 22598  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 22599  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 22600  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 22601  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 22602  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 22603  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 22604  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 22605  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 22606  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 22607  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 22608  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 22609  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 22610  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 22611  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` *
 22612  //     `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for
 22613  //     `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) *
 22614  //     `TARGETING_TYPE_YOUTUBE_VIDEO` (only for
 22615  //     `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items).
 22616  func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
 22617  	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22618  	c.advertiserId = advertiserId
 22619  	c.lineItemId = lineItemId
 22620  	c.targetingType = targetingType
 22621  	c.assignedTargetingOptionId = assignedTargetingOptionId
 22622  	return c
 22623  }
 22624  
 22625  // Fields allows partial responses to be retrieved. See
 22626  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22627  // details.
 22628  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
 22629  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22630  	return c
 22631  }
 22632  
 22633  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 22634  // object's ETag matches the given value. This is useful for getting updates
 22635  // only after the object has changed since the last request.
 22636  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
 22637  	c.ifNoneMatch_ = entityTag
 22638  	return c
 22639  }
 22640  
 22641  // Context sets the context to be used in this call's Do method.
 22642  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
 22643  	c.ctx_ = ctx
 22644  	return c
 22645  }
 22646  
 22647  // Header returns a http.Header that can be modified by the caller to add
 22648  // headers to the request.
 22649  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 22650  	if c.header_ == nil {
 22651  		c.header_ = make(http.Header)
 22652  	}
 22653  	return c.header_
 22654  }
 22655  
 22656  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 22657  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 22658  	if c.ifNoneMatch_ != "" {
 22659  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22660  	}
 22661  	var body io.Reader = nil
 22662  	c.urlParams_.Set("alt", alt)
 22663  	c.urlParams_.Set("prettyPrint", "false")
 22664  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 22665  	urls += "?" + c.urlParams_.Encode()
 22666  	req, err := http.NewRequest("GET", urls, body)
 22667  	if err != nil {
 22668  		return nil, err
 22669  	}
 22670  	req.Header = reqHeaders
 22671  	googleapi.Expand(req.URL, map[string]string{
 22672  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 22673  		"lineItemId":                strconv.FormatInt(c.lineItemId, 10),
 22674  		"targetingType":             c.targetingType,
 22675  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 22676  	})
 22677  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22678  }
 22679  
 22680  // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get" call.
 22681  // Any non-2xx status code is an error. Response headers are in either
 22682  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 22683  // returned at all) in error.(*googleapi.Error).Header. Use
 22684  // googleapi.IsNotModified to check whether the returned error was because
 22685  // http.StatusNotModified was returned.
 22686  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 22687  	gensupport.SetOptions(c.urlParams_, opts...)
 22688  	res, err := c.doRequest("json")
 22689  	if res != nil && res.StatusCode == http.StatusNotModified {
 22690  		if res.Body != nil {
 22691  			res.Body.Close()
 22692  		}
 22693  		return nil, gensupport.WrapError(&googleapi.Error{
 22694  			Code:   res.StatusCode,
 22695  			Header: res.Header,
 22696  		})
 22697  	}
 22698  	if err != nil {
 22699  		return nil, err
 22700  	}
 22701  	defer googleapi.CloseBody(res)
 22702  	if err := googleapi.CheckResponse(res); err != nil {
 22703  		return nil, gensupport.WrapError(err)
 22704  	}
 22705  	ret := &AssignedTargetingOption{
 22706  		ServerResponse: googleapi.ServerResponse{
 22707  			Header:         res.Header,
 22708  			HTTPStatusCode: res.StatusCode,
 22709  		},
 22710  	}
 22711  	target := &ret
 22712  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22713  		return nil, err
 22714  	}
 22715  	return ret, nil
 22716  }
 22717  
 22718  type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall struct {
 22719  	s             *Service
 22720  	advertiserId  int64
 22721  	lineItemId    int64
 22722  	targetingType string
 22723  	urlParams_    gensupport.URLParams
 22724  	ifNoneMatch_  string
 22725  	ctx_          context.Context
 22726  	header_       http.Header
 22727  }
 22728  
 22729  // List: Lists the targeting options assigned to a line item.
 22730  //
 22731  //   - advertiserId: The ID of the advertiser the line item belongs to.
 22732  //   - lineItemId: The ID of the line item to list assigned targeting options
 22733  //     for.
 22734  //   - targetingType: Identifies the type of assigned targeting options to list.
 22735  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 22736  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 22737  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 22738  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 22739  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 22740  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 22741  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 22742  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 22743  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 22744  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 22745  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 22746  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 22747  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 22748  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 22749  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 22750  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 22751  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 22752  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 22753  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 22754  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 22755  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 22756  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 22757  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 22758  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 22759  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 22760  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` *
 22761  //     `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for
 22762  //     `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) *
 22763  //     `TARGETING_TYPE_YOUTUBE_VIDEO` (only for
 22764  //     `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items).
 22765  func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, lineItemId int64, targetingType string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 22766  	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22767  	c.advertiserId = advertiserId
 22768  	c.lineItemId = lineItemId
 22769  	c.targetingType = targetingType
 22770  	return c
 22771  }
 22772  
 22773  // Filter sets the optional parameter "filter": Allows filtering by assigned
 22774  // targeting option fields. Supported syntax: * Filter expressions are made up
 22775  // of one or more restrictions. * Restrictions can be combined by the logical
 22776  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 22777  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 22778  // `assignedTargetingOptionId` * `inheritance` Examples: *
 22779  // `AssignedTargetingOption` resources with ID 1 or 2:
 22780  // `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
 22781  // `AssignedTargetingOption` resources with inheritance status of
 22782  // `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR
 22783  // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no
 22784  // more than 500 characters. Reference our filter `LIST` requests
 22785  // (/display-video/api/guides/how-tos/filters) guide for more information.
 22786  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 22787  	c.urlParams_.Set("filter", filter)
 22788  	return c
 22789  }
 22790  
 22791  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 22792  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 22793  // default sorting order is ascending. To specify descending order for a field,
 22794  // a suffix "desc" should be added to the field name. Example:
 22795  // `assignedTargetingOptionId desc`.
 22796  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 22797  	c.urlParams_.Set("orderBy", orderBy)
 22798  	return c
 22799  }
 22800  
 22801  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 22802  // be between `1` and `5000`. If unspecified will default to `100`. Returns
 22803  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 22804  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 22805  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 22806  	return c
 22807  }
 22808  
 22809  // PageToken sets the optional parameter "pageToken": A token identifying a
 22810  // page of results the server should return. Typically, this is the value of
 22811  // next_page_token returned from the previous call to
 22812  // `ListLineItemAssignedTargetingOptions` method. If not specified, the first
 22813  // page of results will be returned.
 22814  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 22815  	c.urlParams_.Set("pageToken", pageToken)
 22816  	return c
 22817  }
 22818  
 22819  // Fields allows partial responses to be retrieved. See
 22820  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22821  // details.
 22822  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 22823  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22824  	return c
 22825  }
 22826  
 22827  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 22828  // object's ETag matches the given value. This is useful for getting updates
 22829  // only after the object has changed since the last request.
 22830  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 22831  	c.ifNoneMatch_ = entityTag
 22832  	return c
 22833  }
 22834  
 22835  // Context sets the context to be used in this call's Do method.
 22836  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 22837  	c.ctx_ = ctx
 22838  	return c
 22839  }
 22840  
 22841  // Header returns a http.Header that can be modified by the caller to add
 22842  // headers to the request.
 22843  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 22844  	if c.header_ == nil {
 22845  		c.header_ = make(http.Header)
 22846  	}
 22847  	return c.header_
 22848  }
 22849  
 22850  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 22851  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 22852  	if c.ifNoneMatch_ != "" {
 22853  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22854  	}
 22855  	var body io.Reader = nil
 22856  	c.urlParams_.Set("alt", alt)
 22857  	c.urlParams_.Set("prettyPrint", "false")
 22858  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 22859  	urls += "?" + c.urlParams_.Encode()
 22860  	req, err := http.NewRequest("GET", urls, body)
 22861  	if err != nil {
 22862  		return nil, err
 22863  	}
 22864  	req.Header = reqHeaders
 22865  	googleapi.Expand(req.URL, map[string]string{
 22866  		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
 22867  		"lineItemId":    strconv.FormatInt(c.lineItemId, 10),
 22868  		"targetingType": c.targetingType,
 22869  	})
 22870  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22871  }
 22872  
 22873  // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list" call.
 22874  // Any non-2xx status code is an error. Response headers are in either
 22875  // *ListLineItemAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 22876  // response was returned at all) in error.(*googleapi.Error).Header. Use
 22877  // googleapi.IsNotModified to check whether the returned error was because
 22878  // http.StatusNotModified was returned.
 22879  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemAssignedTargetingOptionsResponse, error) {
 22880  	gensupport.SetOptions(c.urlParams_, opts...)
 22881  	res, err := c.doRequest("json")
 22882  	if res != nil && res.StatusCode == http.StatusNotModified {
 22883  		if res.Body != nil {
 22884  			res.Body.Close()
 22885  		}
 22886  		return nil, gensupport.WrapError(&googleapi.Error{
 22887  			Code:   res.StatusCode,
 22888  			Header: res.Header,
 22889  		})
 22890  	}
 22891  	if err != nil {
 22892  		return nil, err
 22893  	}
 22894  	defer googleapi.CloseBody(res)
 22895  	if err := googleapi.CheckResponse(res); err != nil {
 22896  		return nil, gensupport.WrapError(err)
 22897  	}
 22898  	ret := &ListLineItemAssignedTargetingOptionsResponse{
 22899  		ServerResponse: googleapi.ServerResponse{
 22900  			Header:         res.Header,
 22901  			HTTPStatusCode: res.StatusCode,
 22902  		},
 22903  	}
 22904  	target := &ret
 22905  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22906  		return nil, err
 22907  	}
 22908  	return ret, nil
 22909  }
 22910  
 22911  // Pages invokes f for each page of results.
 22912  // A non-nil error returned from f will halt the iteration.
 22913  // The provided context supersedes any context provided to the Context method.
 22914  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListLineItemAssignedTargetingOptionsResponse) error) error {
 22915  	c.ctx_ = ctx
 22916  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 22917  	for {
 22918  		x, err := c.Do()
 22919  		if err != nil {
 22920  			return err
 22921  		}
 22922  		if err := f(x); err != nil {
 22923  			return err
 22924  		}
 22925  		if x.NextPageToken == "" {
 22926  			return nil
 22927  		}
 22928  		c.PageToken(x.NextPageToken)
 22929  	}
 22930  }
 22931  
 22932  type AdvertisersLocationListsCreateCall struct {
 22933  	s            *Service
 22934  	advertiserId int64
 22935  	locationlist *LocationList
 22936  	urlParams_   gensupport.URLParams
 22937  	ctx_         context.Context
 22938  	header_      http.Header
 22939  }
 22940  
 22941  // Create: Creates a new location list. Returns the newly created location list
 22942  // if successful.
 22943  //
 22944  //   - advertiserId: The ID of the DV360 advertiser to which the location list
 22945  //     belongs.
 22946  func (r *AdvertisersLocationListsService) Create(advertiserId int64, locationlist *LocationList) *AdvertisersLocationListsCreateCall {
 22947  	c := &AdvertisersLocationListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22948  	c.advertiserId = advertiserId
 22949  	c.locationlist = locationlist
 22950  	return c
 22951  }
 22952  
 22953  // Fields allows partial responses to be retrieved. See
 22954  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22955  // details.
 22956  func (c *AdvertisersLocationListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsCreateCall {
 22957  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22958  	return c
 22959  }
 22960  
 22961  // Context sets the context to be used in this call's Do method.
 22962  func (c *AdvertisersLocationListsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsCreateCall {
 22963  	c.ctx_ = ctx
 22964  	return c
 22965  }
 22966  
 22967  // Header returns a http.Header that can be modified by the caller to add
 22968  // headers to the request.
 22969  func (c *AdvertisersLocationListsCreateCall) Header() http.Header {
 22970  	if c.header_ == nil {
 22971  		c.header_ = make(http.Header)
 22972  	}
 22973  	return c.header_
 22974  }
 22975  
 22976  func (c *AdvertisersLocationListsCreateCall) doRequest(alt string) (*http.Response, error) {
 22977  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 22978  	var body io.Reader = nil
 22979  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist)
 22980  	if err != nil {
 22981  		return nil, err
 22982  	}
 22983  	c.urlParams_.Set("alt", alt)
 22984  	c.urlParams_.Set("prettyPrint", "false")
 22985  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/locationLists")
 22986  	urls += "?" + c.urlParams_.Encode()
 22987  	req, err := http.NewRequest("POST", urls, body)
 22988  	if err != nil {
 22989  		return nil, err
 22990  	}
 22991  	req.Header = reqHeaders
 22992  	googleapi.Expand(req.URL, map[string]string{
 22993  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 22994  	})
 22995  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22996  }
 22997  
 22998  // Do executes the "displayvideo.advertisers.locationLists.create" call.
 22999  // Any non-2xx status code is an error. Response headers are in either
 23000  // *LocationList.ServerResponse.Header or (if a response was returned at all)
 23001  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 23002  // whether the returned error was because http.StatusNotModified was returned.
 23003  func (c *AdvertisersLocationListsCreateCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
 23004  	gensupport.SetOptions(c.urlParams_, opts...)
 23005  	res, err := c.doRequest("json")
 23006  	if res != nil && res.StatusCode == http.StatusNotModified {
 23007  		if res.Body != nil {
 23008  			res.Body.Close()
 23009  		}
 23010  		return nil, gensupport.WrapError(&googleapi.Error{
 23011  			Code:   res.StatusCode,
 23012  			Header: res.Header,
 23013  		})
 23014  	}
 23015  	if err != nil {
 23016  		return nil, err
 23017  	}
 23018  	defer googleapi.CloseBody(res)
 23019  	if err := googleapi.CheckResponse(res); err != nil {
 23020  		return nil, gensupport.WrapError(err)
 23021  	}
 23022  	ret := &LocationList{
 23023  		ServerResponse: googleapi.ServerResponse{
 23024  			Header:         res.Header,
 23025  			HTTPStatusCode: res.StatusCode,
 23026  		},
 23027  	}
 23028  	target := &ret
 23029  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23030  		return nil, err
 23031  	}
 23032  	return ret, nil
 23033  }
 23034  
 23035  type AdvertisersLocationListsGetCall struct {
 23036  	s              *Service
 23037  	advertiserId   int64
 23038  	locationListId int64
 23039  	urlParams_     gensupport.URLParams
 23040  	ifNoneMatch_   string
 23041  	ctx_           context.Context
 23042  	header_        http.Header
 23043  }
 23044  
 23045  // Get: Gets a location list.
 23046  //
 23047  //   - advertiserId: The ID of the DV360 advertiser to which the fetched location
 23048  //     list belongs.
 23049  //   - locationListId: The ID of the location list to fetch.
 23050  func (r *AdvertisersLocationListsService) Get(advertiserId int64, locationListId int64) *AdvertisersLocationListsGetCall {
 23051  	c := &AdvertisersLocationListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23052  	c.advertiserId = advertiserId
 23053  	c.locationListId = locationListId
 23054  	return c
 23055  }
 23056  
 23057  // Fields allows partial responses to be retrieved. See
 23058  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23059  // details.
 23060  func (c *AdvertisersLocationListsGetCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsGetCall {
 23061  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23062  	return c
 23063  }
 23064  
 23065  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 23066  // object's ETag matches the given value. This is useful for getting updates
 23067  // only after the object has changed since the last request.
 23068  func (c *AdvertisersLocationListsGetCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsGetCall {
 23069  	c.ifNoneMatch_ = entityTag
 23070  	return c
 23071  }
 23072  
 23073  // Context sets the context to be used in this call's Do method.
 23074  func (c *AdvertisersLocationListsGetCall) Context(ctx context.Context) *AdvertisersLocationListsGetCall {
 23075  	c.ctx_ = ctx
 23076  	return c
 23077  }
 23078  
 23079  // Header returns a http.Header that can be modified by the caller to add
 23080  // headers to the request.
 23081  func (c *AdvertisersLocationListsGetCall) Header() http.Header {
 23082  	if c.header_ == nil {
 23083  		c.header_ = make(http.Header)
 23084  	}
 23085  	return c.header_
 23086  }
 23087  
 23088  func (c *AdvertisersLocationListsGetCall) doRequest(alt string) (*http.Response, error) {
 23089  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 23090  	if c.ifNoneMatch_ != "" {
 23091  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23092  	}
 23093  	var body io.Reader = nil
 23094  	c.urlParams_.Set("alt", alt)
 23095  	c.urlParams_.Set("prettyPrint", "false")
 23096  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/locationLists/{+locationListId}")
 23097  	urls += "?" + c.urlParams_.Encode()
 23098  	req, err := http.NewRequest("GET", urls, body)
 23099  	if err != nil {
 23100  		return nil, err
 23101  	}
 23102  	req.Header = reqHeaders
 23103  	googleapi.Expand(req.URL, map[string]string{
 23104  		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
 23105  		"locationListId": strconv.FormatInt(c.locationListId, 10),
 23106  	})
 23107  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23108  }
 23109  
 23110  // Do executes the "displayvideo.advertisers.locationLists.get" call.
 23111  // Any non-2xx status code is an error. Response headers are in either
 23112  // *LocationList.ServerResponse.Header or (if a response was returned at all)
 23113  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 23114  // whether the returned error was because http.StatusNotModified was returned.
 23115  func (c *AdvertisersLocationListsGetCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
 23116  	gensupport.SetOptions(c.urlParams_, opts...)
 23117  	res, err := c.doRequest("json")
 23118  	if res != nil && res.StatusCode == http.StatusNotModified {
 23119  		if res.Body != nil {
 23120  			res.Body.Close()
 23121  		}
 23122  		return nil, gensupport.WrapError(&googleapi.Error{
 23123  			Code:   res.StatusCode,
 23124  			Header: res.Header,
 23125  		})
 23126  	}
 23127  	if err != nil {
 23128  		return nil, err
 23129  	}
 23130  	defer googleapi.CloseBody(res)
 23131  	if err := googleapi.CheckResponse(res); err != nil {
 23132  		return nil, gensupport.WrapError(err)
 23133  	}
 23134  	ret := &LocationList{
 23135  		ServerResponse: googleapi.ServerResponse{
 23136  			Header:         res.Header,
 23137  			HTTPStatusCode: res.StatusCode,
 23138  		},
 23139  	}
 23140  	target := &ret
 23141  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23142  		return nil, err
 23143  	}
 23144  	return ret, nil
 23145  }
 23146  
 23147  type AdvertisersLocationListsListCall struct {
 23148  	s            *Service
 23149  	advertiserId int64
 23150  	urlParams_   gensupport.URLParams
 23151  	ifNoneMatch_ string
 23152  	ctx_         context.Context
 23153  	header_      http.Header
 23154  }
 23155  
 23156  // List: Lists location lists based on a given advertiser id.
 23157  //
 23158  //   - advertiserId: The ID of the DV360 advertiser to which the fetched location
 23159  //     lists belong.
 23160  func (r *AdvertisersLocationListsService) List(advertiserId int64) *AdvertisersLocationListsListCall {
 23161  	c := &AdvertisersLocationListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23162  	c.advertiserId = advertiserId
 23163  	return c
 23164  }
 23165  
 23166  // Filter sets the optional parameter "filter": Allows filtering by location
 23167  // list fields. Supported syntax: * Filter expressions are made up of one or
 23168  // more restrictions. * Restrictions can be combined by `AND` or `OR` logical
 23169  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 23170  // has the form of `{field} {operator} {value}`. * All fields must use the
 23171  // `EQUALS (=)` operator. Supported fields: * `locationType` Examples: * All
 23172  // regional location list: `locationType="TARGETING_LOCATION_TYPE_REGIONAL" *
 23173  // All proximity location list:
 23174  // `locationType="TARGETING_LOCATION_TYPE_PROXIMITY" The length of this field
 23175  // should be no more than 500 characters. Reference our filter `LIST` requests
 23176  // (/display-video/api/guides/how-tos/filters) guide for more information.
 23177  func (c *AdvertisersLocationListsListCall) Filter(filter string) *AdvertisersLocationListsListCall {
 23178  	c.urlParams_.Set("filter", filter)
 23179  	return c
 23180  }
 23181  
 23182  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 23183  // list. Acceptable values are: * `locationListId` (default) * `displayName`
 23184  // The default sorting order is ascending. To specify descending order for a
 23185  // field, a suffix "desc" should be added to the field name. Example:
 23186  // `displayName desc`.
 23187  func (c *AdvertisersLocationListsListCall) OrderBy(orderBy string) *AdvertisersLocationListsListCall {
 23188  	c.urlParams_.Set("orderBy", orderBy)
 23189  	return c
 23190  }
 23191  
 23192  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 23193  // be between `1` and `200`. Defaults to `100` if not set. Returns error code
 23194  // `INVALID_ARGUMENT` if an invalid value is specified.
 23195  func (c *AdvertisersLocationListsListCall) PageSize(pageSize int64) *AdvertisersLocationListsListCall {
 23196  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 23197  	return c
 23198  }
 23199  
 23200  // PageToken sets the optional parameter "pageToken": A token identifying a
 23201  // page of results the server should return. Typically, this is the value of
 23202  // next_page_token returned from the previous call to `ListLocationLists`
 23203  // method. If not specified, the first page of results will be returned.
 23204  func (c *AdvertisersLocationListsListCall) PageToken(pageToken string) *AdvertisersLocationListsListCall {
 23205  	c.urlParams_.Set("pageToken", pageToken)
 23206  	return c
 23207  }
 23208  
 23209  // Fields allows partial responses to be retrieved. See
 23210  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23211  // details.
 23212  func (c *AdvertisersLocationListsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsListCall {
 23213  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23214  	return c
 23215  }
 23216  
 23217  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 23218  // object's ETag matches the given value. This is useful for getting updates
 23219  // only after the object has changed since the last request.
 23220  func (c *AdvertisersLocationListsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsListCall {
 23221  	c.ifNoneMatch_ = entityTag
 23222  	return c
 23223  }
 23224  
 23225  // Context sets the context to be used in this call's Do method.
 23226  func (c *AdvertisersLocationListsListCall) Context(ctx context.Context) *AdvertisersLocationListsListCall {
 23227  	c.ctx_ = ctx
 23228  	return c
 23229  }
 23230  
 23231  // Header returns a http.Header that can be modified by the caller to add
 23232  // headers to the request.
 23233  func (c *AdvertisersLocationListsListCall) Header() http.Header {
 23234  	if c.header_ == nil {
 23235  		c.header_ = make(http.Header)
 23236  	}
 23237  	return c.header_
 23238  }
 23239  
 23240  func (c *AdvertisersLocationListsListCall) doRequest(alt string) (*http.Response, error) {
 23241  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 23242  	if c.ifNoneMatch_ != "" {
 23243  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23244  	}
 23245  	var body io.Reader = nil
 23246  	c.urlParams_.Set("alt", alt)
 23247  	c.urlParams_.Set("prettyPrint", "false")
 23248  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/locationLists")
 23249  	urls += "?" + c.urlParams_.Encode()
 23250  	req, err := http.NewRequest("GET", urls, body)
 23251  	if err != nil {
 23252  		return nil, err
 23253  	}
 23254  	req.Header = reqHeaders
 23255  	googleapi.Expand(req.URL, map[string]string{
 23256  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 23257  	})
 23258  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23259  }
 23260  
 23261  // Do executes the "displayvideo.advertisers.locationLists.list" call.
 23262  // Any non-2xx status code is an error. Response headers are in either
 23263  // *ListLocationListsResponse.ServerResponse.Header or (if a response was
 23264  // returned at all) in error.(*googleapi.Error).Header. Use
 23265  // googleapi.IsNotModified to check whether the returned error was because
 23266  // http.StatusNotModified was returned.
 23267  func (c *AdvertisersLocationListsListCall) Do(opts ...googleapi.CallOption) (*ListLocationListsResponse, error) {
 23268  	gensupport.SetOptions(c.urlParams_, opts...)
 23269  	res, err := c.doRequest("json")
 23270  	if res != nil && res.StatusCode == http.StatusNotModified {
 23271  		if res.Body != nil {
 23272  			res.Body.Close()
 23273  		}
 23274  		return nil, gensupport.WrapError(&googleapi.Error{
 23275  			Code:   res.StatusCode,
 23276  			Header: res.Header,
 23277  		})
 23278  	}
 23279  	if err != nil {
 23280  		return nil, err
 23281  	}
 23282  	defer googleapi.CloseBody(res)
 23283  	if err := googleapi.CheckResponse(res); err != nil {
 23284  		return nil, gensupport.WrapError(err)
 23285  	}
 23286  	ret := &ListLocationListsResponse{
 23287  		ServerResponse: googleapi.ServerResponse{
 23288  			Header:         res.Header,
 23289  			HTTPStatusCode: res.StatusCode,
 23290  		},
 23291  	}
 23292  	target := &ret
 23293  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23294  		return nil, err
 23295  	}
 23296  	return ret, nil
 23297  }
 23298  
 23299  // Pages invokes f for each page of results.
 23300  // A non-nil error returned from f will halt the iteration.
 23301  // The provided context supersedes any context provided to the Context method.
 23302  func (c *AdvertisersLocationListsListCall) Pages(ctx context.Context, f func(*ListLocationListsResponse) error) error {
 23303  	c.ctx_ = ctx
 23304  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 23305  	for {
 23306  		x, err := c.Do()
 23307  		if err != nil {
 23308  			return err
 23309  		}
 23310  		if err := f(x); err != nil {
 23311  			return err
 23312  		}
 23313  		if x.NextPageToken == "" {
 23314  			return nil
 23315  		}
 23316  		c.PageToken(x.NextPageToken)
 23317  	}
 23318  }
 23319  
 23320  type AdvertisersLocationListsPatchCall struct {
 23321  	s              *Service
 23322  	advertiserId   int64
 23323  	locationListId int64
 23324  	locationlist   *LocationList
 23325  	urlParams_     gensupport.URLParams
 23326  	ctx_           context.Context
 23327  	header_        http.Header
 23328  }
 23329  
 23330  // Patch: Updates a location list. Returns the updated location list if
 23331  // successful.
 23332  //
 23333  //   - advertiserId: The ID of the DV360 advertiser to which the location lists
 23334  //     belongs.
 23335  //   - locationListId: Output only. The unique ID of the location list. Assigned
 23336  //     by the system.
 23337  func (r *AdvertisersLocationListsService) Patch(advertiserId int64, locationListId int64, locationlist *LocationList) *AdvertisersLocationListsPatchCall {
 23338  	c := &AdvertisersLocationListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23339  	c.advertiserId = advertiserId
 23340  	c.locationListId = locationListId
 23341  	c.locationlist = locationlist
 23342  	return c
 23343  }
 23344  
 23345  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 23346  // control which fields to update.
 23347  func (c *AdvertisersLocationListsPatchCall) UpdateMask(updateMask string) *AdvertisersLocationListsPatchCall {
 23348  	c.urlParams_.Set("updateMask", updateMask)
 23349  	return c
 23350  }
 23351  
 23352  // Fields allows partial responses to be retrieved. See
 23353  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23354  // details.
 23355  func (c *AdvertisersLocationListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsPatchCall {
 23356  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23357  	return c
 23358  }
 23359  
 23360  // Context sets the context to be used in this call's Do method.
 23361  func (c *AdvertisersLocationListsPatchCall) Context(ctx context.Context) *AdvertisersLocationListsPatchCall {
 23362  	c.ctx_ = ctx
 23363  	return c
 23364  }
 23365  
 23366  // Header returns a http.Header that can be modified by the caller to add
 23367  // headers to the request.
 23368  func (c *AdvertisersLocationListsPatchCall) Header() http.Header {
 23369  	if c.header_ == nil {
 23370  		c.header_ = make(http.Header)
 23371  	}
 23372  	return c.header_
 23373  }
 23374  
 23375  func (c *AdvertisersLocationListsPatchCall) doRequest(alt string) (*http.Response, error) {
 23376  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 23377  	var body io.Reader = nil
 23378  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist)
 23379  	if err != nil {
 23380  		return nil, err
 23381  	}
 23382  	c.urlParams_.Set("alt", alt)
 23383  	c.urlParams_.Set("prettyPrint", "false")
 23384  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/locationLists/{locationListId}")
 23385  	urls += "?" + c.urlParams_.Encode()
 23386  	req, err := http.NewRequest("PATCH", urls, body)
 23387  	if err != nil {
 23388  		return nil, err
 23389  	}
 23390  	req.Header = reqHeaders
 23391  	googleapi.Expand(req.URL, map[string]string{
 23392  		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
 23393  		"locationListId": strconv.FormatInt(c.locationListId, 10),
 23394  	})
 23395  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23396  }
 23397  
 23398  // Do executes the "displayvideo.advertisers.locationLists.patch" call.
 23399  // Any non-2xx status code is an error. Response headers are in either
 23400  // *LocationList.ServerResponse.Header or (if a response was returned at all)
 23401  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 23402  // whether the returned error was because http.StatusNotModified was returned.
 23403  func (c *AdvertisersLocationListsPatchCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
 23404  	gensupport.SetOptions(c.urlParams_, opts...)
 23405  	res, err := c.doRequest("json")
 23406  	if res != nil && res.StatusCode == http.StatusNotModified {
 23407  		if res.Body != nil {
 23408  			res.Body.Close()
 23409  		}
 23410  		return nil, gensupport.WrapError(&googleapi.Error{
 23411  			Code:   res.StatusCode,
 23412  			Header: res.Header,
 23413  		})
 23414  	}
 23415  	if err != nil {
 23416  		return nil, err
 23417  	}
 23418  	defer googleapi.CloseBody(res)
 23419  	if err := googleapi.CheckResponse(res); err != nil {
 23420  		return nil, gensupport.WrapError(err)
 23421  	}
 23422  	ret := &LocationList{
 23423  		ServerResponse: googleapi.ServerResponse{
 23424  			Header:         res.Header,
 23425  			HTTPStatusCode: res.StatusCode,
 23426  		},
 23427  	}
 23428  	target := &ret
 23429  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23430  		return nil, err
 23431  	}
 23432  	return ret, nil
 23433  }
 23434  
 23435  type AdvertisersLocationListsAssignedLocationsBulkEditCall struct {
 23436  	s                                *Service
 23437  	advertiserId                     int64
 23438  	locationListId                   int64
 23439  	bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest
 23440  	urlParams_                       gensupport.URLParams
 23441  	ctx_                             context.Context
 23442  	header_                          http.Header
 23443  }
 23444  
 23445  // BulkEdit: Bulk edits multiple assignments between locations and a single
 23446  // location list. The operation will delete the assigned locations provided in
 23447  // deletedAssignedLocations and then create the assigned locations provided in
 23448  // createdAssignedLocations.
 23449  //
 23450  //   - advertiserId: The ID of the DV360 advertiser to which the location list
 23451  //     belongs.
 23452  //   - locationListId: The ID of the location list to which these assignments are
 23453  //     assigned.
 23454  func (r *AdvertisersLocationListsAssignedLocationsService) BulkEdit(advertiserId int64, locationListId int64, bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
 23455  	c := &AdvertisersLocationListsAssignedLocationsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23456  	c.advertiserId = advertiserId
 23457  	c.locationListId = locationListId
 23458  	c.bulkeditassignedlocationsrequest = bulkeditassignedlocationsrequest
 23459  	return c
 23460  }
 23461  
 23462  // Fields allows partial responses to be retrieved. See
 23463  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23464  // details.
 23465  func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
 23466  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23467  	return c
 23468  }
 23469  
 23470  // Context sets the context to be used in this call's Do method.
 23471  func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
 23472  	c.ctx_ = ctx
 23473  	return c
 23474  }
 23475  
 23476  // Header returns a http.Header that can be modified by the caller to add
 23477  // headers to the request.
 23478  func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Header() http.Header {
 23479  	if c.header_ == nil {
 23480  		c.header_ = make(http.Header)
 23481  	}
 23482  	return c.header_
 23483  }
 23484  
 23485  func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) doRequest(alt string) (*http.Response, error) {
 23486  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 23487  	var body io.Reader = nil
 23488  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedlocationsrequest)
 23489  	if err != nil {
 23490  		return nil, err
 23491  	}
 23492  	c.urlParams_.Set("alt", alt)
 23493  	c.urlParams_.Set("prettyPrint", "false")
 23494  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit")
 23495  	urls += "?" + c.urlParams_.Encode()
 23496  	req, err := http.NewRequest("POST", urls, body)
 23497  	if err != nil {
 23498  		return nil, err
 23499  	}
 23500  	req.Header = reqHeaders
 23501  	googleapi.Expand(req.URL, map[string]string{
 23502  		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
 23503  		"locationListId": strconv.FormatInt(c.locationListId, 10),
 23504  	})
 23505  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23506  }
 23507  
 23508  // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit" call.
 23509  // Any non-2xx status code is an error. Response headers are in either
 23510  // *BulkEditAssignedLocationsResponse.ServerResponse.Header or (if a response
 23511  // was returned at all) in error.(*googleapi.Error).Header. Use
 23512  // googleapi.IsNotModified to check whether the returned error was because
 23513  // http.StatusNotModified was returned.
 23514  func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedLocationsResponse, error) {
 23515  	gensupport.SetOptions(c.urlParams_, opts...)
 23516  	res, err := c.doRequest("json")
 23517  	if res != nil && res.StatusCode == http.StatusNotModified {
 23518  		if res.Body != nil {
 23519  			res.Body.Close()
 23520  		}
 23521  		return nil, gensupport.WrapError(&googleapi.Error{
 23522  			Code:   res.StatusCode,
 23523  			Header: res.Header,
 23524  		})
 23525  	}
 23526  	if err != nil {
 23527  		return nil, err
 23528  	}
 23529  	defer googleapi.CloseBody(res)
 23530  	if err := googleapi.CheckResponse(res); err != nil {
 23531  		return nil, gensupport.WrapError(err)
 23532  	}
 23533  	ret := &BulkEditAssignedLocationsResponse{
 23534  		ServerResponse: googleapi.ServerResponse{
 23535  			Header:         res.Header,
 23536  			HTTPStatusCode: res.StatusCode,
 23537  		},
 23538  	}
 23539  	target := &ret
 23540  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23541  		return nil, err
 23542  	}
 23543  	return ret, nil
 23544  }
 23545  
 23546  type AdvertisersLocationListsAssignedLocationsCreateCall struct {
 23547  	s                *Service
 23548  	advertiserId     int64
 23549  	locationListId   int64
 23550  	assignedlocation *AssignedLocation
 23551  	urlParams_       gensupport.URLParams
 23552  	ctx_             context.Context
 23553  	header_          http.Header
 23554  }
 23555  
 23556  // Create: Creates an assignment between a location and a location list.
 23557  //
 23558  //   - advertiserId: The ID of the DV360 advertiser to which the location list
 23559  //     belongs.
 23560  //   - locationListId: The ID of the location list for which the assignment will
 23561  //     be created.
 23562  func (r *AdvertisersLocationListsAssignedLocationsService) Create(advertiserId int64, locationListId int64, assignedlocation *AssignedLocation) *AdvertisersLocationListsAssignedLocationsCreateCall {
 23563  	c := &AdvertisersLocationListsAssignedLocationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23564  	c.advertiserId = advertiserId
 23565  	c.locationListId = locationListId
 23566  	c.assignedlocation = assignedlocation
 23567  	return c
 23568  }
 23569  
 23570  // Fields allows partial responses to be retrieved. See
 23571  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23572  // details.
 23573  func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsCreateCall {
 23574  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23575  	return c
 23576  }
 23577  
 23578  // Context sets the context to be used in this call's Do method.
 23579  func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsCreateCall {
 23580  	c.ctx_ = ctx
 23581  	return c
 23582  }
 23583  
 23584  // Header returns a http.Header that can be modified by the caller to add
 23585  // headers to the request.
 23586  func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Header() http.Header {
 23587  	if c.header_ == nil {
 23588  		c.header_ = make(http.Header)
 23589  	}
 23590  	return c.header_
 23591  }
 23592  
 23593  func (c *AdvertisersLocationListsAssignedLocationsCreateCall) doRequest(alt string) (*http.Response, error) {
 23594  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 23595  	var body io.Reader = nil
 23596  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedlocation)
 23597  	if err != nil {
 23598  		return nil, err
 23599  	}
 23600  	c.urlParams_.Set("alt", alt)
 23601  	c.urlParams_.Set("prettyPrint", "false")
 23602  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations")
 23603  	urls += "?" + c.urlParams_.Encode()
 23604  	req, err := http.NewRequest("POST", urls, body)
 23605  	if err != nil {
 23606  		return nil, err
 23607  	}
 23608  	req.Header = reqHeaders
 23609  	googleapi.Expand(req.URL, map[string]string{
 23610  		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
 23611  		"locationListId": strconv.FormatInt(c.locationListId, 10),
 23612  	})
 23613  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23614  }
 23615  
 23616  // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.create" call.
 23617  // Any non-2xx status code is an error. Response headers are in either
 23618  // *AssignedLocation.ServerResponse.Header or (if a response was returned at
 23619  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 23620  // check whether the returned error was because http.StatusNotModified was
 23621  // returned.
 23622  func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedLocation, error) {
 23623  	gensupport.SetOptions(c.urlParams_, opts...)
 23624  	res, err := c.doRequest("json")
 23625  	if res != nil && res.StatusCode == http.StatusNotModified {
 23626  		if res.Body != nil {
 23627  			res.Body.Close()
 23628  		}
 23629  		return nil, gensupport.WrapError(&googleapi.Error{
 23630  			Code:   res.StatusCode,
 23631  			Header: res.Header,
 23632  		})
 23633  	}
 23634  	if err != nil {
 23635  		return nil, err
 23636  	}
 23637  	defer googleapi.CloseBody(res)
 23638  	if err := googleapi.CheckResponse(res); err != nil {
 23639  		return nil, gensupport.WrapError(err)
 23640  	}
 23641  	ret := &AssignedLocation{
 23642  		ServerResponse: googleapi.ServerResponse{
 23643  			Header:         res.Header,
 23644  			HTTPStatusCode: res.StatusCode,
 23645  		},
 23646  	}
 23647  	target := &ret
 23648  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23649  		return nil, err
 23650  	}
 23651  	return ret, nil
 23652  }
 23653  
 23654  type AdvertisersLocationListsAssignedLocationsDeleteCall struct {
 23655  	s                  *Service
 23656  	advertiserId       int64
 23657  	locationListId     int64
 23658  	assignedLocationId int64
 23659  	urlParams_         gensupport.URLParams
 23660  	ctx_               context.Context
 23661  	header_            http.Header
 23662  }
 23663  
 23664  // Delete: Deletes the assignment between a location and a location list.
 23665  //
 23666  //   - advertiserId: The ID of the DV360 advertiser to which the location list
 23667  //     belongs.
 23668  //   - assignedLocationId: The ID of the assigned location to delete.
 23669  //   - locationListId: The ID of the location list to which this assignment is
 23670  //     assigned.
 23671  func (r *AdvertisersLocationListsAssignedLocationsService) Delete(advertiserId int64, locationListId int64, assignedLocationId int64) *AdvertisersLocationListsAssignedLocationsDeleteCall {
 23672  	c := &AdvertisersLocationListsAssignedLocationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23673  	c.advertiserId = advertiserId
 23674  	c.locationListId = locationListId
 23675  	c.assignedLocationId = assignedLocationId
 23676  	return c
 23677  }
 23678  
 23679  // Fields allows partial responses to be retrieved. See
 23680  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23681  // details.
 23682  func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsDeleteCall {
 23683  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23684  	return c
 23685  }
 23686  
 23687  // Context sets the context to be used in this call's Do method.
 23688  func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsDeleteCall {
 23689  	c.ctx_ = ctx
 23690  	return c
 23691  }
 23692  
 23693  // Header returns a http.Header that can be modified by the caller to add
 23694  // headers to the request.
 23695  func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Header() http.Header {
 23696  	if c.header_ == nil {
 23697  		c.header_ = make(http.Header)
 23698  	}
 23699  	return c.header_
 23700  }
 23701  
 23702  func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 23703  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 23704  	var body io.Reader = nil
 23705  	c.urlParams_.Set("alt", alt)
 23706  	c.urlParams_.Set("prettyPrint", "false")
 23707  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}")
 23708  	urls += "?" + c.urlParams_.Encode()
 23709  	req, err := http.NewRequest("DELETE", urls, body)
 23710  	if err != nil {
 23711  		return nil, err
 23712  	}
 23713  	req.Header = reqHeaders
 23714  	googleapi.Expand(req.URL, map[string]string{
 23715  		"advertiserId":       strconv.FormatInt(c.advertiserId, 10),
 23716  		"locationListId":     strconv.FormatInt(c.locationListId, 10),
 23717  		"assignedLocationId": strconv.FormatInt(c.assignedLocationId, 10),
 23718  	})
 23719  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23720  }
 23721  
 23722  // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.delete" call.
 23723  // Any non-2xx status code is an error. Response headers are in either
 23724  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 23725  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 23726  // whether the returned error was because http.StatusNotModified was returned.
 23727  func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 23728  	gensupport.SetOptions(c.urlParams_, opts...)
 23729  	res, err := c.doRequest("json")
 23730  	if res != nil && res.StatusCode == http.StatusNotModified {
 23731  		if res.Body != nil {
 23732  			res.Body.Close()
 23733  		}
 23734  		return nil, gensupport.WrapError(&googleapi.Error{
 23735  			Code:   res.StatusCode,
 23736  			Header: res.Header,
 23737  		})
 23738  	}
 23739  	if err != nil {
 23740  		return nil, err
 23741  	}
 23742  	defer googleapi.CloseBody(res)
 23743  	if err := googleapi.CheckResponse(res); err != nil {
 23744  		return nil, gensupport.WrapError(err)
 23745  	}
 23746  	ret := &Empty{
 23747  		ServerResponse: googleapi.ServerResponse{
 23748  			Header:         res.Header,
 23749  			HTTPStatusCode: res.StatusCode,
 23750  		},
 23751  	}
 23752  	target := &ret
 23753  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23754  		return nil, err
 23755  	}
 23756  	return ret, nil
 23757  }
 23758  
 23759  type AdvertisersLocationListsAssignedLocationsListCall struct {
 23760  	s              *Service
 23761  	advertiserId   int64
 23762  	locationListId int64
 23763  	urlParams_     gensupport.URLParams
 23764  	ifNoneMatch_   string
 23765  	ctx_           context.Context
 23766  	header_        http.Header
 23767  }
 23768  
 23769  // List: Lists locations assigned to a location list.
 23770  //
 23771  //   - advertiserId: The ID of the DV360 advertiser to which the location list
 23772  //     belongs.
 23773  //   - locationListId: The ID of the location list to which these assignments are
 23774  //     assigned.
 23775  func (r *AdvertisersLocationListsAssignedLocationsService) List(advertiserId int64, locationListId int64) *AdvertisersLocationListsAssignedLocationsListCall {
 23776  	c := &AdvertisersLocationListsAssignedLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23777  	c.advertiserId = advertiserId
 23778  	c.locationListId = locationListId
 23779  	return c
 23780  }
 23781  
 23782  // Filter sets the optional parameter "filter": Allows filtering by location
 23783  // list assignment fields. Supported syntax: * Filter expressions are made up
 23784  // of one or more restrictions. * Restrictions can be combined by the `OR`
 23785  // logical operator. * A restriction has the form of `{field} {operator}
 23786  // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields:
 23787  // * `assignedLocationId` The length of this field should be no more than 500
 23788  // characters. Reference our filter `LIST` requests
 23789  // (/display-video/api/guides/how-tos/filters) guide for more information.
 23790  func (c *AdvertisersLocationListsAssignedLocationsListCall) Filter(filter string) *AdvertisersLocationListsAssignedLocationsListCall {
 23791  	c.urlParams_.Set("filter", filter)
 23792  	return c
 23793  }
 23794  
 23795  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 23796  // list. Acceptable values are: * `assignedLocationId` (default) The default
 23797  // sorting order is ascending. To specify descending order for a field, a
 23798  // suffix " desc" should be added to the field name. Example:
 23799  // `assignedLocationId desc`.
 23800  func (c *AdvertisersLocationListsAssignedLocationsListCall) OrderBy(orderBy string) *AdvertisersLocationListsAssignedLocationsListCall {
 23801  	c.urlParams_.Set("orderBy", orderBy)
 23802  	return c
 23803  }
 23804  
 23805  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 23806  // be between `1` and `200`. If unspecified will default to `100`. Returns
 23807  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 23808  func (c *AdvertisersLocationListsAssignedLocationsListCall) PageSize(pageSize int64) *AdvertisersLocationListsAssignedLocationsListCall {
 23809  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 23810  	return c
 23811  }
 23812  
 23813  // PageToken sets the optional parameter "pageToken": A token identifying a
 23814  // page of results the server should return. Typically, this is the value of
 23815  // next_page_token returned from the previous call to `ListAssignedLocations`
 23816  // method. If not specified, the first page of results will be returned.
 23817  func (c *AdvertisersLocationListsAssignedLocationsListCall) PageToken(pageToken string) *AdvertisersLocationListsAssignedLocationsListCall {
 23818  	c.urlParams_.Set("pageToken", pageToken)
 23819  	return c
 23820  }
 23821  
 23822  // Fields allows partial responses to be retrieved. See
 23823  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23824  // details.
 23825  func (c *AdvertisersLocationListsAssignedLocationsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsListCall {
 23826  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23827  	return c
 23828  }
 23829  
 23830  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 23831  // object's ETag matches the given value. This is useful for getting updates
 23832  // only after the object has changed since the last request.
 23833  func (c *AdvertisersLocationListsAssignedLocationsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsAssignedLocationsListCall {
 23834  	c.ifNoneMatch_ = entityTag
 23835  	return c
 23836  }
 23837  
 23838  // Context sets the context to be used in this call's Do method.
 23839  func (c *AdvertisersLocationListsAssignedLocationsListCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsListCall {
 23840  	c.ctx_ = ctx
 23841  	return c
 23842  }
 23843  
 23844  // Header returns a http.Header that can be modified by the caller to add
 23845  // headers to the request.
 23846  func (c *AdvertisersLocationListsAssignedLocationsListCall) Header() http.Header {
 23847  	if c.header_ == nil {
 23848  		c.header_ = make(http.Header)
 23849  	}
 23850  	return c.header_
 23851  }
 23852  
 23853  func (c *AdvertisersLocationListsAssignedLocationsListCall) doRequest(alt string) (*http.Response, error) {
 23854  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 23855  	if c.ifNoneMatch_ != "" {
 23856  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23857  	}
 23858  	var body io.Reader = nil
 23859  	c.urlParams_.Set("alt", alt)
 23860  	c.urlParams_.Set("prettyPrint", "false")
 23861  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations")
 23862  	urls += "?" + c.urlParams_.Encode()
 23863  	req, err := http.NewRequest("GET", urls, body)
 23864  	if err != nil {
 23865  		return nil, err
 23866  	}
 23867  	req.Header = reqHeaders
 23868  	googleapi.Expand(req.URL, map[string]string{
 23869  		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
 23870  		"locationListId": strconv.FormatInt(c.locationListId, 10),
 23871  	})
 23872  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23873  }
 23874  
 23875  // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.list" call.
 23876  // Any non-2xx status code is an error. Response headers are in either
 23877  // *ListAssignedLocationsResponse.ServerResponse.Header or (if a response was
 23878  // returned at all) in error.(*googleapi.Error).Header. Use
 23879  // googleapi.IsNotModified to check whether the returned error was because
 23880  // http.StatusNotModified was returned.
 23881  func (c *AdvertisersLocationListsAssignedLocationsListCall) Do(opts ...googleapi.CallOption) (*ListAssignedLocationsResponse, error) {
 23882  	gensupport.SetOptions(c.urlParams_, opts...)
 23883  	res, err := c.doRequest("json")
 23884  	if res != nil && res.StatusCode == http.StatusNotModified {
 23885  		if res.Body != nil {
 23886  			res.Body.Close()
 23887  		}
 23888  		return nil, gensupport.WrapError(&googleapi.Error{
 23889  			Code:   res.StatusCode,
 23890  			Header: res.Header,
 23891  		})
 23892  	}
 23893  	if err != nil {
 23894  		return nil, err
 23895  	}
 23896  	defer googleapi.CloseBody(res)
 23897  	if err := googleapi.CheckResponse(res); err != nil {
 23898  		return nil, gensupport.WrapError(err)
 23899  	}
 23900  	ret := &ListAssignedLocationsResponse{
 23901  		ServerResponse: googleapi.ServerResponse{
 23902  			Header:         res.Header,
 23903  			HTTPStatusCode: res.StatusCode,
 23904  		},
 23905  	}
 23906  	target := &ret
 23907  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23908  		return nil, err
 23909  	}
 23910  	return ret, nil
 23911  }
 23912  
 23913  // Pages invokes f for each page of results.
 23914  // A non-nil error returned from f will halt the iteration.
 23915  // The provided context supersedes any context provided to the Context method.
 23916  func (c *AdvertisersLocationListsAssignedLocationsListCall) Pages(ctx context.Context, f func(*ListAssignedLocationsResponse) error) error {
 23917  	c.ctx_ = ctx
 23918  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 23919  	for {
 23920  		x, err := c.Do()
 23921  		if err != nil {
 23922  			return err
 23923  		}
 23924  		if err := f(x); err != nil {
 23925  			return err
 23926  		}
 23927  		if x.NextPageToken == "" {
 23928  			return nil
 23929  		}
 23930  		c.PageToken(x.NextPageToken)
 23931  	}
 23932  }
 23933  
 23934  type AdvertisersManualTriggersActivateCall struct {
 23935  	s                            *Service
 23936  	advertiserId                 int64
 23937  	triggerId                    int64
 23938  	activatemanualtriggerrequest *ActivateManualTriggerRequest
 23939  	urlParams_                   gensupport.URLParams
 23940  	ctx_                         context.Context
 23941  	header_                      http.Header
 23942  }
 23943  
 23944  // Activate: Activates a manual trigger. Each activation of the manual trigger
 23945  // must be at least 5 minutes apart, otherwise an error will be returned.
 23946  // **Warning:** Line Items using manual triggers no longer serve in Display &
 23947  // Video 360. This method will sunset on August 1, 2023. Read our feature
 23948  // deprecation announcement
 23949  // (/display-video/api/deprecations#features.manual_triggers) for more
 23950  // information.
 23951  //
 23952  // - advertiserId: The ID of the advertiser that the manual trigger belongs.
 23953  // - triggerId: The ID of the manual trigger to activate.
 23954  func (r *AdvertisersManualTriggersService) Activate(advertiserId int64, triggerId int64, activatemanualtriggerrequest *ActivateManualTriggerRequest) *AdvertisersManualTriggersActivateCall {
 23955  	c := &AdvertisersManualTriggersActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23956  	c.advertiserId = advertiserId
 23957  	c.triggerId = triggerId
 23958  	c.activatemanualtriggerrequest = activatemanualtriggerrequest
 23959  	return c
 23960  }
 23961  
 23962  // Fields allows partial responses to be retrieved. See
 23963  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23964  // details.
 23965  func (c *AdvertisersManualTriggersActivateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersActivateCall {
 23966  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23967  	return c
 23968  }
 23969  
 23970  // Context sets the context to be used in this call's Do method.
 23971  func (c *AdvertisersManualTriggersActivateCall) Context(ctx context.Context) *AdvertisersManualTriggersActivateCall {
 23972  	c.ctx_ = ctx
 23973  	return c
 23974  }
 23975  
 23976  // Header returns a http.Header that can be modified by the caller to add
 23977  // headers to the request.
 23978  func (c *AdvertisersManualTriggersActivateCall) Header() http.Header {
 23979  	if c.header_ == nil {
 23980  		c.header_ = make(http.Header)
 23981  	}
 23982  	return c.header_
 23983  }
 23984  
 23985  func (c *AdvertisersManualTriggersActivateCall) doRequest(alt string) (*http.Response, error) {
 23986  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 23987  	var body io.Reader = nil
 23988  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.activatemanualtriggerrequest)
 23989  	if err != nil {
 23990  		return nil, err
 23991  	}
 23992  	c.urlParams_.Set("alt", alt)
 23993  	c.urlParams_.Set("prettyPrint", "false")
 23994  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:activate")
 23995  	urls += "?" + c.urlParams_.Encode()
 23996  	req, err := http.NewRequest("POST", urls, body)
 23997  	if err != nil {
 23998  		return nil, err
 23999  	}
 24000  	req.Header = reqHeaders
 24001  	googleapi.Expand(req.URL, map[string]string{
 24002  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24003  		"triggerId":    strconv.FormatInt(c.triggerId, 10),
 24004  	})
 24005  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24006  }
 24007  
 24008  // Do executes the "displayvideo.advertisers.manualTriggers.activate" call.
 24009  // Any non-2xx status code is an error. Response headers are in either
 24010  // *ManualTrigger.ServerResponse.Header or (if a response was returned at all)
 24011  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 24012  // whether the returned error was because http.StatusNotModified was returned.
 24013  func (c *AdvertisersManualTriggersActivateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
 24014  	gensupport.SetOptions(c.urlParams_, opts...)
 24015  	res, err := c.doRequest("json")
 24016  	if res != nil && res.StatusCode == http.StatusNotModified {
 24017  		if res.Body != nil {
 24018  			res.Body.Close()
 24019  		}
 24020  		return nil, gensupport.WrapError(&googleapi.Error{
 24021  			Code:   res.StatusCode,
 24022  			Header: res.Header,
 24023  		})
 24024  	}
 24025  	if err != nil {
 24026  		return nil, err
 24027  	}
 24028  	defer googleapi.CloseBody(res)
 24029  	if err := googleapi.CheckResponse(res); err != nil {
 24030  		return nil, gensupport.WrapError(err)
 24031  	}
 24032  	ret := &ManualTrigger{
 24033  		ServerResponse: googleapi.ServerResponse{
 24034  			Header:         res.Header,
 24035  			HTTPStatusCode: res.StatusCode,
 24036  		},
 24037  	}
 24038  	target := &ret
 24039  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24040  		return nil, err
 24041  	}
 24042  	return ret, nil
 24043  }
 24044  
 24045  type AdvertisersManualTriggersCreateCall struct {
 24046  	s             *Service
 24047  	advertiserId  int64
 24048  	manualtrigger *ManualTrigger
 24049  	urlParams_    gensupport.URLParams
 24050  	ctx_          context.Context
 24051  	header_       http.Header
 24052  }
 24053  
 24054  // Create: Creates a new manual trigger. Returns the newly created manual
 24055  // trigger if successful. **Warning:** Line Items using manual triggers no
 24056  // longer serve in Display & Video 360. This method will sunset on August 1,
 24057  // 2023. Read our feature deprecation announcement
 24058  // (/display-video/api/deprecations#features.manual_triggers) for more
 24059  // information.
 24060  //
 24061  //   - advertiserId: Immutable. The unique ID of the advertiser that the manual
 24062  //     trigger belongs to.
 24063  func (r *AdvertisersManualTriggersService) Create(advertiserId int64, manualtrigger *ManualTrigger) *AdvertisersManualTriggersCreateCall {
 24064  	c := &AdvertisersManualTriggersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24065  	c.advertiserId = advertiserId
 24066  	c.manualtrigger = manualtrigger
 24067  	return c
 24068  }
 24069  
 24070  // Fields allows partial responses to be retrieved. See
 24071  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24072  // details.
 24073  func (c *AdvertisersManualTriggersCreateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersCreateCall {
 24074  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24075  	return c
 24076  }
 24077  
 24078  // Context sets the context to be used in this call's Do method.
 24079  func (c *AdvertisersManualTriggersCreateCall) Context(ctx context.Context) *AdvertisersManualTriggersCreateCall {
 24080  	c.ctx_ = ctx
 24081  	return c
 24082  }
 24083  
 24084  // Header returns a http.Header that can be modified by the caller to add
 24085  // headers to the request.
 24086  func (c *AdvertisersManualTriggersCreateCall) Header() http.Header {
 24087  	if c.header_ == nil {
 24088  		c.header_ = make(http.Header)
 24089  	}
 24090  	return c.header_
 24091  }
 24092  
 24093  func (c *AdvertisersManualTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
 24094  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 24095  	var body io.Reader = nil
 24096  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.manualtrigger)
 24097  	if err != nil {
 24098  		return nil, err
 24099  	}
 24100  	c.urlParams_.Set("alt", alt)
 24101  	c.urlParams_.Set("prettyPrint", "false")
 24102  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers")
 24103  	urls += "?" + c.urlParams_.Encode()
 24104  	req, err := http.NewRequest("POST", urls, body)
 24105  	if err != nil {
 24106  		return nil, err
 24107  	}
 24108  	req.Header = reqHeaders
 24109  	googleapi.Expand(req.URL, map[string]string{
 24110  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24111  	})
 24112  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24113  }
 24114  
 24115  // Do executes the "displayvideo.advertisers.manualTriggers.create" call.
 24116  // Any non-2xx status code is an error. Response headers are in either
 24117  // *ManualTrigger.ServerResponse.Header or (if a response was returned at all)
 24118  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 24119  // whether the returned error was because http.StatusNotModified was returned.
 24120  func (c *AdvertisersManualTriggersCreateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
 24121  	gensupport.SetOptions(c.urlParams_, opts...)
 24122  	res, err := c.doRequest("json")
 24123  	if res != nil && res.StatusCode == http.StatusNotModified {
 24124  		if res.Body != nil {
 24125  			res.Body.Close()
 24126  		}
 24127  		return nil, gensupport.WrapError(&googleapi.Error{
 24128  			Code:   res.StatusCode,
 24129  			Header: res.Header,
 24130  		})
 24131  	}
 24132  	if err != nil {
 24133  		return nil, err
 24134  	}
 24135  	defer googleapi.CloseBody(res)
 24136  	if err := googleapi.CheckResponse(res); err != nil {
 24137  		return nil, gensupport.WrapError(err)
 24138  	}
 24139  	ret := &ManualTrigger{
 24140  		ServerResponse: googleapi.ServerResponse{
 24141  			Header:         res.Header,
 24142  			HTTPStatusCode: res.StatusCode,
 24143  		},
 24144  	}
 24145  	target := &ret
 24146  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24147  		return nil, err
 24148  	}
 24149  	return ret, nil
 24150  }
 24151  
 24152  type AdvertisersManualTriggersDeactivateCall struct {
 24153  	s                              *Service
 24154  	advertiserId                   int64
 24155  	triggerId                      int64
 24156  	deactivatemanualtriggerrequest *DeactivateManualTriggerRequest
 24157  	urlParams_                     gensupport.URLParams
 24158  	ctx_                           context.Context
 24159  	header_                        http.Header
 24160  }
 24161  
 24162  // Deactivate: Deactivates a manual trigger. **Warning:** Line Items using
 24163  // manual triggers no longer serve in Display & Video 360. This method will
 24164  // sunset on August 1, 2023. Read our feature deprecation announcement
 24165  // (/display-video/api/deprecations#features.manual_triggers) for more
 24166  // information.
 24167  //
 24168  // - advertiserId: The ID of the advertiser that the manual trigger belongs.
 24169  // - triggerId: The ID of the manual trigger to deactivate.
 24170  func (r *AdvertisersManualTriggersService) Deactivate(advertiserId int64, triggerId int64, deactivatemanualtriggerrequest *DeactivateManualTriggerRequest) *AdvertisersManualTriggersDeactivateCall {
 24171  	c := &AdvertisersManualTriggersDeactivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24172  	c.advertiserId = advertiserId
 24173  	c.triggerId = triggerId
 24174  	c.deactivatemanualtriggerrequest = deactivatemanualtriggerrequest
 24175  	return c
 24176  }
 24177  
 24178  // Fields allows partial responses to be retrieved. See
 24179  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24180  // details.
 24181  func (c *AdvertisersManualTriggersDeactivateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersDeactivateCall {
 24182  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24183  	return c
 24184  }
 24185  
 24186  // Context sets the context to be used in this call's Do method.
 24187  func (c *AdvertisersManualTriggersDeactivateCall) Context(ctx context.Context) *AdvertisersManualTriggersDeactivateCall {
 24188  	c.ctx_ = ctx
 24189  	return c
 24190  }
 24191  
 24192  // Header returns a http.Header that can be modified by the caller to add
 24193  // headers to the request.
 24194  func (c *AdvertisersManualTriggersDeactivateCall) Header() http.Header {
 24195  	if c.header_ == nil {
 24196  		c.header_ = make(http.Header)
 24197  	}
 24198  	return c.header_
 24199  }
 24200  
 24201  func (c *AdvertisersManualTriggersDeactivateCall) doRequest(alt string) (*http.Response, error) {
 24202  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 24203  	var body io.Reader = nil
 24204  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deactivatemanualtriggerrequest)
 24205  	if err != nil {
 24206  		return nil, err
 24207  	}
 24208  	c.urlParams_.Set("alt", alt)
 24209  	c.urlParams_.Set("prettyPrint", "false")
 24210  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:deactivate")
 24211  	urls += "?" + c.urlParams_.Encode()
 24212  	req, err := http.NewRequest("POST", urls, body)
 24213  	if err != nil {
 24214  		return nil, err
 24215  	}
 24216  	req.Header = reqHeaders
 24217  	googleapi.Expand(req.URL, map[string]string{
 24218  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24219  		"triggerId":    strconv.FormatInt(c.triggerId, 10),
 24220  	})
 24221  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24222  }
 24223  
 24224  // Do executes the "displayvideo.advertisers.manualTriggers.deactivate" call.
 24225  // Any non-2xx status code is an error. Response headers are in either
 24226  // *ManualTrigger.ServerResponse.Header or (if a response was returned at all)
 24227  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 24228  // whether the returned error was because http.StatusNotModified was returned.
 24229  func (c *AdvertisersManualTriggersDeactivateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
 24230  	gensupport.SetOptions(c.urlParams_, opts...)
 24231  	res, err := c.doRequest("json")
 24232  	if res != nil && res.StatusCode == http.StatusNotModified {
 24233  		if res.Body != nil {
 24234  			res.Body.Close()
 24235  		}
 24236  		return nil, gensupport.WrapError(&googleapi.Error{
 24237  			Code:   res.StatusCode,
 24238  			Header: res.Header,
 24239  		})
 24240  	}
 24241  	if err != nil {
 24242  		return nil, err
 24243  	}
 24244  	defer googleapi.CloseBody(res)
 24245  	if err := googleapi.CheckResponse(res); err != nil {
 24246  		return nil, gensupport.WrapError(err)
 24247  	}
 24248  	ret := &ManualTrigger{
 24249  		ServerResponse: googleapi.ServerResponse{
 24250  			Header:         res.Header,
 24251  			HTTPStatusCode: res.StatusCode,
 24252  		},
 24253  	}
 24254  	target := &ret
 24255  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24256  		return nil, err
 24257  	}
 24258  	return ret, nil
 24259  }
 24260  
 24261  type AdvertisersManualTriggersGetCall struct {
 24262  	s            *Service
 24263  	advertiserId int64
 24264  	triggerId    int64
 24265  	urlParams_   gensupport.URLParams
 24266  	ifNoneMatch_ string
 24267  	ctx_         context.Context
 24268  	header_      http.Header
 24269  }
 24270  
 24271  // Get: Gets a manual trigger. **Warning:** Line Items using manual triggers no
 24272  // longer serve in Display & Video 360. This method will sunset on August 1,
 24273  // 2023. Read our feature deprecation announcement
 24274  // (/display-video/api/deprecations#features.manual_triggers) for more
 24275  // information.
 24276  //
 24277  // - advertiserId: The ID of the advertiser this manual trigger belongs to.
 24278  // - triggerId: The ID of the manual trigger to fetch.
 24279  func (r *AdvertisersManualTriggersService) Get(advertiserId int64, triggerId int64) *AdvertisersManualTriggersGetCall {
 24280  	c := &AdvertisersManualTriggersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24281  	c.advertiserId = advertiserId
 24282  	c.triggerId = triggerId
 24283  	return c
 24284  }
 24285  
 24286  // Fields allows partial responses to be retrieved. See
 24287  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24288  // details.
 24289  func (c *AdvertisersManualTriggersGetCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersGetCall {
 24290  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24291  	return c
 24292  }
 24293  
 24294  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 24295  // object's ETag matches the given value. This is useful for getting updates
 24296  // only after the object has changed since the last request.
 24297  func (c *AdvertisersManualTriggersGetCall) IfNoneMatch(entityTag string) *AdvertisersManualTriggersGetCall {
 24298  	c.ifNoneMatch_ = entityTag
 24299  	return c
 24300  }
 24301  
 24302  // Context sets the context to be used in this call's Do method.
 24303  func (c *AdvertisersManualTriggersGetCall) Context(ctx context.Context) *AdvertisersManualTriggersGetCall {
 24304  	c.ctx_ = ctx
 24305  	return c
 24306  }
 24307  
 24308  // Header returns a http.Header that can be modified by the caller to add
 24309  // headers to the request.
 24310  func (c *AdvertisersManualTriggersGetCall) Header() http.Header {
 24311  	if c.header_ == nil {
 24312  		c.header_ = make(http.Header)
 24313  	}
 24314  	return c.header_
 24315  }
 24316  
 24317  func (c *AdvertisersManualTriggersGetCall) doRequest(alt string) (*http.Response, error) {
 24318  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 24319  	if c.ifNoneMatch_ != "" {
 24320  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24321  	}
 24322  	var body io.Reader = nil
 24323  	c.urlParams_.Set("alt", alt)
 24324  	c.urlParams_.Set("prettyPrint", "false")
 24325  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}")
 24326  	urls += "?" + c.urlParams_.Encode()
 24327  	req, err := http.NewRequest("GET", urls, body)
 24328  	if err != nil {
 24329  		return nil, err
 24330  	}
 24331  	req.Header = reqHeaders
 24332  	googleapi.Expand(req.URL, map[string]string{
 24333  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24334  		"triggerId":    strconv.FormatInt(c.triggerId, 10),
 24335  	})
 24336  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24337  }
 24338  
 24339  // Do executes the "displayvideo.advertisers.manualTriggers.get" call.
 24340  // Any non-2xx status code is an error. Response headers are in either
 24341  // *ManualTrigger.ServerResponse.Header or (if a response was returned at all)
 24342  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 24343  // whether the returned error was because http.StatusNotModified was returned.
 24344  func (c *AdvertisersManualTriggersGetCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
 24345  	gensupport.SetOptions(c.urlParams_, opts...)
 24346  	res, err := c.doRequest("json")
 24347  	if res != nil && res.StatusCode == http.StatusNotModified {
 24348  		if res.Body != nil {
 24349  			res.Body.Close()
 24350  		}
 24351  		return nil, gensupport.WrapError(&googleapi.Error{
 24352  			Code:   res.StatusCode,
 24353  			Header: res.Header,
 24354  		})
 24355  	}
 24356  	if err != nil {
 24357  		return nil, err
 24358  	}
 24359  	defer googleapi.CloseBody(res)
 24360  	if err := googleapi.CheckResponse(res); err != nil {
 24361  		return nil, gensupport.WrapError(err)
 24362  	}
 24363  	ret := &ManualTrigger{
 24364  		ServerResponse: googleapi.ServerResponse{
 24365  			Header:         res.Header,
 24366  			HTTPStatusCode: res.StatusCode,
 24367  		},
 24368  	}
 24369  	target := &ret
 24370  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24371  		return nil, err
 24372  	}
 24373  	return ret, nil
 24374  }
 24375  
 24376  type AdvertisersManualTriggersListCall struct {
 24377  	s            *Service
 24378  	advertiserId int64
 24379  	urlParams_   gensupport.URLParams
 24380  	ifNoneMatch_ string
 24381  	ctx_         context.Context
 24382  	header_      http.Header
 24383  }
 24384  
 24385  // List: Lists manual triggers that are accessible to the current user for a
 24386  // given advertiser ID. The order is defined by the order_by parameter. A
 24387  // single advertiser_id is required. **Warning:** Line Items using manual
 24388  // triggers no longer serve in Display & Video 360. This method will sunset on
 24389  // August 1, 2023. Read our feature deprecation announcement
 24390  // (/display-video/api/deprecations#features.manual_triggers) for more
 24391  // information.
 24392  //
 24393  //   - advertiserId: The ID of the advertiser that the fetched manual triggers
 24394  //     belong to.
 24395  func (r *AdvertisersManualTriggersService) List(advertiserId int64) *AdvertisersManualTriggersListCall {
 24396  	c := &AdvertisersManualTriggersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24397  	c.advertiserId = advertiserId
 24398  	return c
 24399  }
 24400  
 24401  // Filter sets the optional parameter "filter": Allows filtering by manual
 24402  // trigger fields. Supported syntax: * Filter expressions are made up of one or
 24403  // more restrictions. * Restrictions can be combined by `AND` or `OR` logical
 24404  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 24405  // has the form of `{field} {operator} {value}`. * All fields must use the
 24406  // `EQUALS (=)` operator. Supported fields: * `displayName` * `state` Examples:
 24407  // * All active manual triggers under an advertiser: `state="ACTIVE" The
 24408  // length of this field should be no more than 500 characters. Reference our
 24409  // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for
 24410  // more information.
 24411  func (c *AdvertisersManualTriggersListCall) Filter(filter string) *AdvertisersManualTriggersListCall {
 24412  	c.urlParams_.Set("filter", filter)
 24413  	return c
 24414  }
 24415  
 24416  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 24417  // list. Acceptable values are: * `displayName` (default) * `state` The default
 24418  // sorting order is ascending. To specify descending order for a field, a
 24419  // suffix "desc" should be added to the field name. For example, `displayName
 24420  // desc`.
 24421  func (c *AdvertisersManualTriggersListCall) OrderBy(orderBy string) *AdvertisersManualTriggersListCall {
 24422  	c.urlParams_.Set("orderBy", orderBy)
 24423  	return c
 24424  }
 24425  
 24426  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 24427  // be between `1` and `200`. If unspecified will default to `100`.
 24428  func (c *AdvertisersManualTriggersListCall) PageSize(pageSize int64) *AdvertisersManualTriggersListCall {
 24429  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 24430  	return c
 24431  }
 24432  
 24433  // PageToken sets the optional parameter "pageToken": A token identifying a
 24434  // page of results the server should return. Typically, this is the value of
 24435  // next_page_token returned from the previous call to `ListManualTriggers`
 24436  // method. If not specified, the first page of results will be returned.
 24437  func (c *AdvertisersManualTriggersListCall) PageToken(pageToken string) *AdvertisersManualTriggersListCall {
 24438  	c.urlParams_.Set("pageToken", pageToken)
 24439  	return c
 24440  }
 24441  
 24442  // Fields allows partial responses to be retrieved. See
 24443  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24444  // details.
 24445  func (c *AdvertisersManualTriggersListCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersListCall {
 24446  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24447  	return c
 24448  }
 24449  
 24450  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 24451  // object's ETag matches the given value. This is useful for getting updates
 24452  // only after the object has changed since the last request.
 24453  func (c *AdvertisersManualTriggersListCall) IfNoneMatch(entityTag string) *AdvertisersManualTriggersListCall {
 24454  	c.ifNoneMatch_ = entityTag
 24455  	return c
 24456  }
 24457  
 24458  // Context sets the context to be used in this call's Do method.
 24459  func (c *AdvertisersManualTriggersListCall) Context(ctx context.Context) *AdvertisersManualTriggersListCall {
 24460  	c.ctx_ = ctx
 24461  	return c
 24462  }
 24463  
 24464  // Header returns a http.Header that can be modified by the caller to add
 24465  // headers to the request.
 24466  func (c *AdvertisersManualTriggersListCall) Header() http.Header {
 24467  	if c.header_ == nil {
 24468  		c.header_ = make(http.Header)
 24469  	}
 24470  	return c.header_
 24471  }
 24472  
 24473  func (c *AdvertisersManualTriggersListCall) doRequest(alt string) (*http.Response, error) {
 24474  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 24475  	if c.ifNoneMatch_ != "" {
 24476  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24477  	}
 24478  	var body io.Reader = nil
 24479  	c.urlParams_.Set("alt", alt)
 24480  	c.urlParams_.Set("prettyPrint", "false")
 24481  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers")
 24482  	urls += "?" + c.urlParams_.Encode()
 24483  	req, err := http.NewRequest("GET", urls, body)
 24484  	if err != nil {
 24485  		return nil, err
 24486  	}
 24487  	req.Header = reqHeaders
 24488  	googleapi.Expand(req.URL, map[string]string{
 24489  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24490  	})
 24491  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24492  }
 24493  
 24494  // Do executes the "displayvideo.advertisers.manualTriggers.list" call.
 24495  // Any non-2xx status code is an error. Response headers are in either
 24496  // *ListManualTriggersResponse.ServerResponse.Header or (if a response was
 24497  // returned at all) in error.(*googleapi.Error).Header. Use
 24498  // googleapi.IsNotModified to check whether the returned error was because
 24499  // http.StatusNotModified was returned.
 24500  func (c *AdvertisersManualTriggersListCall) Do(opts ...googleapi.CallOption) (*ListManualTriggersResponse, error) {
 24501  	gensupport.SetOptions(c.urlParams_, opts...)
 24502  	res, err := c.doRequest("json")
 24503  	if res != nil && res.StatusCode == http.StatusNotModified {
 24504  		if res.Body != nil {
 24505  			res.Body.Close()
 24506  		}
 24507  		return nil, gensupport.WrapError(&googleapi.Error{
 24508  			Code:   res.StatusCode,
 24509  			Header: res.Header,
 24510  		})
 24511  	}
 24512  	if err != nil {
 24513  		return nil, err
 24514  	}
 24515  	defer googleapi.CloseBody(res)
 24516  	if err := googleapi.CheckResponse(res); err != nil {
 24517  		return nil, gensupport.WrapError(err)
 24518  	}
 24519  	ret := &ListManualTriggersResponse{
 24520  		ServerResponse: googleapi.ServerResponse{
 24521  			Header:         res.Header,
 24522  			HTTPStatusCode: res.StatusCode,
 24523  		},
 24524  	}
 24525  	target := &ret
 24526  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24527  		return nil, err
 24528  	}
 24529  	return ret, nil
 24530  }
 24531  
 24532  // Pages invokes f for each page of results.
 24533  // A non-nil error returned from f will halt the iteration.
 24534  // The provided context supersedes any context provided to the Context method.
 24535  func (c *AdvertisersManualTriggersListCall) Pages(ctx context.Context, f func(*ListManualTriggersResponse) error) error {
 24536  	c.ctx_ = ctx
 24537  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 24538  	for {
 24539  		x, err := c.Do()
 24540  		if err != nil {
 24541  			return err
 24542  		}
 24543  		if err := f(x); err != nil {
 24544  			return err
 24545  		}
 24546  		if x.NextPageToken == "" {
 24547  			return nil
 24548  		}
 24549  		c.PageToken(x.NextPageToken)
 24550  	}
 24551  }
 24552  
 24553  type AdvertisersManualTriggersPatchCall struct {
 24554  	s             *Service
 24555  	advertiserId  int64
 24556  	triggerId     int64
 24557  	manualtrigger *ManualTrigger
 24558  	urlParams_    gensupport.URLParams
 24559  	ctx_          context.Context
 24560  	header_       http.Header
 24561  }
 24562  
 24563  // Patch: Updates a manual trigger. Returns the updated manual trigger if
 24564  // successful. **Warning:** Line Items using manual triggers no longer serve in
 24565  // Display & Video 360. This method will sunset on August 1, 2023. Read our
 24566  // feature deprecation announcement
 24567  // (/display-video/api/deprecations#features.manual_triggers) for more
 24568  // information.
 24569  //
 24570  //   - advertiserId: Immutable. The unique ID of the advertiser that the manual
 24571  //     trigger belongs to.
 24572  //   - triggerId: Output only. The unique ID of the manual trigger.
 24573  func (r *AdvertisersManualTriggersService) Patch(advertiserId int64, triggerId int64, manualtrigger *ManualTrigger) *AdvertisersManualTriggersPatchCall {
 24574  	c := &AdvertisersManualTriggersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24575  	c.advertiserId = advertiserId
 24576  	c.triggerId = triggerId
 24577  	c.manualtrigger = manualtrigger
 24578  	return c
 24579  }
 24580  
 24581  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 24582  // control which fields to update.
 24583  func (c *AdvertisersManualTriggersPatchCall) UpdateMask(updateMask string) *AdvertisersManualTriggersPatchCall {
 24584  	c.urlParams_.Set("updateMask", updateMask)
 24585  	return c
 24586  }
 24587  
 24588  // Fields allows partial responses to be retrieved. See
 24589  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24590  // details.
 24591  func (c *AdvertisersManualTriggersPatchCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersPatchCall {
 24592  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24593  	return c
 24594  }
 24595  
 24596  // Context sets the context to be used in this call's Do method.
 24597  func (c *AdvertisersManualTriggersPatchCall) Context(ctx context.Context) *AdvertisersManualTriggersPatchCall {
 24598  	c.ctx_ = ctx
 24599  	return c
 24600  }
 24601  
 24602  // Header returns a http.Header that can be modified by the caller to add
 24603  // headers to the request.
 24604  func (c *AdvertisersManualTriggersPatchCall) Header() http.Header {
 24605  	if c.header_ == nil {
 24606  		c.header_ = make(http.Header)
 24607  	}
 24608  	return c.header_
 24609  }
 24610  
 24611  func (c *AdvertisersManualTriggersPatchCall) doRequest(alt string) (*http.Response, error) {
 24612  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 24613  	var body io.Reader = nil
 24614  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.manualtrigger)
 24615  	if err != nil {
 24616  		return nil, err
 24617  	}
 24618  	c.urlParams_.Set("alt", alt)
 24619  	c.urlParams_.Set("prettyPrint", "false")
 24620  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}")
 24621  	urls += "?" + c.urlParams_.Encode()
 24622  	req, err := http.NewRequest("PATCH", urls, body)
 24623  	if err != nil {
 24624  		return nil, err
 24625  	}
 24626  	req.Header = reqHeaders
 24627  	googleapi.Expand(req.URL, map[string]string{
 24628  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24629  		"triggerId":    strconv.FormatInt(c.triggerId, 10),
 24630  	})
 24631  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24632  }
 24633  
 24634  // Do executes the "displayvideo.advertisers.manualTriggers.patch" call.
 24635  // Any non-2xx status code is an error. Response headers are in either
 24636  // *ManualTrigger.ServerResponse.Header or (if a response was returned at all)
 24637  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 24638  // whether the returned error was because http.StatusNotModified was returned.
 24639  func (c *AdvertisersManualTriggersPatchCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
 24640  	gensupport.SetOptions(c.urlParams_, opts...)
 24641  	res, err := c.doRequest("json")
 24642  	if res != nil && res.StatusCode == http.StatusNotModified {
 24643  		if res.Body != nil {
 24644  			res.Body.Close()
 24645  		}
 24646  		return nil, gensupport.WrapError(&googleapi.Error{
 24647  			Code:   res.StatusCode,
 24648  			Header: res.Header,
 24649  		})
 24650  	}
 24651  	if err != nil {
 24652  		return nil, err
 24653  	}
 24654  	defer googleapi.CloseBody(res)
 24655  	if err := googleapi.CheckResponse(res); err != nil {
 24656  		return nil, gensupport.WrapError(err)
 24657  	}
 24658  	ret := &ManualTrigger{
 24659  		ServerResponse: googleapi.ServerResponse{
 24660  			Header:         res.Header,
 24661  			HTTPStatusCode: res.StatusCode,
 24662  		},
 24663  	}
 24664  	target := &ret
 24665  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24666  		return nil, err
 24667  	}
 24668  	return ret, nil
 24669  }
 24670  
 24671  type AdvertisersNegativeKeywordListsCreateCall struct {
 24672  	s                   *Service
 24673  	advertiserId        int64
 24674  	negativekeywordlist *NegativeKeywordList
 24675  	urlParams_          gensupport.URLParams
 24676  	ctx_                context.Context
 24677  	header_             http.Header
 24678  }
 24679  
 24680  // Create: Creates a new negative keyword list. Returns the newly created
 24681  // negative keyword list if successful.
 24682  //
 24683  //   - advertiserId: The ID of the DV360 advertiser to which the negative keyword
 24684  //     list will belong.
 24685  func (r *AdvertisersNegativeKeywordListsService) Create(advertiserId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsCreateCall {
 24686  	c := &AdvertisersNegativeKeywordListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24687  	c.advertiserId = advertiserId
 24688  	c.negativekeywordlist = negativekeywordlist
 24689  	return c
 24690  }
 24691  
 24692  // Fields allows partial responses to be retrieved. See
 24693  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24694  // details.
 24695  func (c *AdvertisersNegativeKeywordListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsCreateCall {
 24696  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24697  	return c
 24698  }
 24699  
 24700  // Context sets the context to be used in this call's Do method.
 24701  func (c *AdvertisersNegativeKeywordListsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsCreateCall {
 24702  	c.ctx_ = ctx
 24703  	return c
 24704  }
 24705  
 24706  // Header returns a http.Header that can be modified by the caller to add
 24707  // headers to the request.
 24708  func (c *AdvertisersNegativeKeywordListsCreateCall) Header() http.Header {
 24709  	if c.header_ == nil {
 24710  		c.header_ = make(http.Header)
 24711  	}
 24712  	return c.header_
 24713  }
 24714  
 24715  func (c *AdvertisersNegativeKeywordListsCreateCall) doRequest(alt string) (*http.Response, error) {
 24716  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 24717  	var body io.Reader = nil
 24718  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist)
 24719  	if err != nil {
 24720  		return nil, err
 24721  	}
 24722  	c.urlParams_.Set("alt", alt)
 24723  	c.urlParams_.Set("prettyPrint", "false")
 24724  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists")
 24725  	urls += "?" + c.urlParams_.Encode()
 24726  	req, err := http.NewRequest("POST", urls, body)
 24727  	if err != nil {
 24728  		return nil, err
 24729  	}
 24730  	req.Header = reqHeaders
 24731  	googleapi.Expand(req.URL, map[string]string{
 24732  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24733  	})
 24734  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24735  }
 24736  
 24737  // Do executes the "displayvideo.advertisers.negativeKeywordLists.create" call.
 24738  // Any non-2xx status code is an error. Response headers are in either
 24739  // *NegativeKeywordList.ServerResponse.Header or (if a response was returned at
 24740  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 24741  // check whether the returned error was because http.StatusNotModified was
 24742  // returned.
 24743  func (c *AdvertisersNegativeKeywordListsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
 24744  	gensupport.SetOptions(c.urlParams_, opts...)
 24745  	res, err := c.doRequest("json")
 24746  	if res != nil && res.StatusCode == http.StatusNotModified {
 24747  		if res.Body != nil {
 24748  			res.Body.Close()
 24749  		}
 24750  		return nil, gensupport.WrapError(&googleapi.Error{
 24751  			Code:   res.StatusCode,
 24752  			Header: res.Header,
 24753  		})
 24754  	}
 24755  	if err != nil {
 24756  		return nil, err
 24757  	}
 24758  	defer googleapi.CloseBody(res)
 24759  	if err := googleapi.CheckResponse(res); err != nil {
 24760  		return nil, gensupport.WrapError(err)
 24761  	}
 24762  	ret := &NegativeKeywordList{
 24763  		ServerResponse: googleapi.ServerResponse{
 24764  			Header:         res.Header,
 24765  			HTTPStatusCode: res.StatusCode,
 24766  		},
 24767  	}
 24768  	target := &ret
 24769  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24770  		return nil, err
 24771  	}
 24772  	return ret, nil
 24773  }
 24774  
 24775  type AdvertisersNegativeKeywordListsDeleteCall struct {
 24776  	s                     *Service
 24777  	advertiserId          int64
 24778  	negativeKeywordListId int64
 24779  	urlParams_            gensupport.URLParams
 24780  	ctx_                  context.Context
 24781  	header_               http.Header
 24782  }
 24783  
 24784  // Delete: Deletes a negative keyword list given an advertiser ID and a
 24785  // negative keyword list ID.
 24786  //
 24787  //   - advertiserId: The ID of the DV360 advertiser to which the negative keyword
 24788  //     list belongs.
 24789  //   - negativeKeywordListId: The ID of the negative keyword list to delete.
 24790  func (r *AdvertisersNegativeKeywordListsService) Delete(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsDeleteCall {
 24791  	c := &AdvertisersNegativeKeywordListsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24792  	c.advertiserId = advertiserId
 24793  	c.negativeKeywordListId = negativeKeywordListId
 24794  	return c
 24795  }
 24796  
 24797  // Fields allows partial responses to be retrieved. See
 24798  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24799  // details.
 24800  func (c *AdvertisersNegativeKeywordListsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsDeleteCall {
 24801  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24802  	return c
 24803  }
 24804  
 24805  // Context sets the context to be used in this call's Do method.
 24806  func (c *AdvertisersNegativeKeywordListsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsDeleteCall {
 24807  	c.ctx_ = ctx
 24808  	return c
 24809  }
 24810  
 24811  // Header returns a http.Header that can be modified by the caller to add
 24812  // headers to the request.
 24813  func (c *AdvertisersNegativeKeywordListsDeleteCall) Header() http.Header {
 24814  	if c.header_ == nil {
 24815  		c.header_ = make(http.Header)
 24816  	}
 24817  	return c.header_
 24818  }
 24819  
 24820  func (c *AdvertisersNegativeKeywordListsDeleteCall) doRequest(alt string) (*http.Response, error) {
 24821  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 24822  	var body io.Reader = nil
 24823  	c.urlParams_.Set("alt", alt)
 24824  	c.urlParams_.Set("prettyPrint", "false")
 24825  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}")
 24826  	urls += "?" + c.urlParams_.Encode()
 24827  	req, err := http.NewRequest("DELETE", urls, body)
 24828  	if err != nil {
 24829  		return nil, err
 24830  	}
 24831  	req.Header = reqHeaders
 24832  	googleapi.Expand(req.URL, map[string]string{
 24833  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 24834  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 24835  	})
 24836  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24837  }
 24838  
 24839  // Do executes the "displayvideo.advertisers.negativeKeywordLists.delete" call.
 24840  // Any non-2xx status code is an error. Response headers are in either
 24841  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 24842  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 24843  // whether the returned error was because http.StatusNotModified was returned.
 24844  func (c *AdvertisersNegativeKeywordListsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 24845  	gensupport.SetOptions(c.urlParams_, opts...)
 24846  	res, err := c.doRequest("json")
 24847  	if res != nil && res.StatusCode == http.StatusNotModified {
 24848  		if res.Body != nil {
 24849  			res.Body.Close()
 24850  		}
 24851  		return nil, gensupport.WrapError(&googleapi.Error{
 24852  			Code:   res.StatusCode,
 24853  			Header: res.Header,
 24854  		})
 24855  	}
 24856  	if err != nil {
 24857  		return nil, err
 24858  	}
 24859  	defer googleapi.CloseBody(res)
 24860  	if err := googleapi.CheckResponse(res); err != nil {
 24861  		return nil, gensupport.WrapError(err)
 24862  	}
 24863  	ret := &Empty{
 24864  		ServerResponse: googleapi.ServerResponse{
 24865  			Header:         res.Header,
 24866  			HTTPStatusCode: res.StatusCode,
 24867  		},
 24868  	}
 24869  	target := &ret
 24870  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24871  		return nil, err
 24872  	}
 24873  	return ret, nil
 24874  }
 24875  
 24876  type AdvertisersNegativeKeywordListsGetCall struct {
 24877  	s                     *Service
 24878  	advertiserId          int64
 24879  	negativeKeywordListId int64
 24880  	urlParams_            gensupport.URLParams
 24881  	ifNoneMatch_          string
 24882  	ctx_                  context.Context
 24883  	header_               http.Header
 24884  }
 24885  
 24886  // Get: Gets a negative keyword list given an advertiser ID and a negative
 24887  // keyword list ID.
 24888  //
 24889  //   - advertiserId: The ID of the DV360 advertiser to which the fetched negative
 24890  //     keyword list belongs.
 24891  //   - negativeKeywordListId: The ID of the negative keyword list to fetch.
 24892  func (r *AdvertisersNegativeKeywordListsService) Get(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsGetCall {
 24893  	c := &AdvertisersNegativeKeywordListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24894  	c.advertiserId = advertiserId
 24895  	c.negativeKeywordListId = negativeKeywordListId
 24896  	return c
 24897  }
 24898  
 24899  // Fields allows partial responses to be retrieved. See
 24900  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24901  // details.
 24902  func (c *AdvertisersNegativeKeywordListsGetCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsGetCall {
 24903  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24904  	return c
 24905  }
 24906  
 24907  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 24908  // object's ETag matches the given value. This is useful for getting updates
 24909  // only after the object has changed since the last request.
 24910  func (c *AdvertisersNegativeKeywordListsGetCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsGetCall {
 24911  	c.ifNoneMatch_ = entityTag
 24912  	return c
 24913  }
 24914  
 24915  // Context sets the context to be used in this call's Do method.
 24916  func (c *AdvertisersNegativeKeywordListsGetCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsGetCall {
 24917  	c.ctx_ = ctx
 24918  	return c
 24919  }
 24920  
 24921  // Header returns a http.Header that can be modified by the caller to add
 24922  // headers to the request.
 24923  func (c *AdvertisersNegativeKeywordListsGetCall) Header() http.Header {
 24924  	if c.header_ == nil {
 24925  		c.header_ = make(http.Header)
 24926  	}
 24927  	return c.header_
 24928  }
 24929  
 24930  func (c *AdvertisersNegativeKeywordListsGetCall) doRequest(alt string) (*http.Response, error) {
 24931  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 24932  	if c.ifNoneMatch_ != "" {
 24933  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24934  	}
 24935  	var body io.Reader = nil
 24936  	c.urlParams_.Set("alt", alt)
 24937  	c.urlParams_.Set("prettyPrint", "false")
 24938  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}")
 24939  	urls += "?" + c.urlParams_.Encode()
 24940  	req, err := http.NewRequest("GET", urls, body)
 24941  	if err != nil {
 24942  		return nil, err
 24943  	}
 24944  	req.Header = reqHeaders
 24945  	googleapi.Expand(req.URL, map[string]string{
 24946  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 24947  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 24948  	})
 24949  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24950  }
 24951  
 24952  // Do executes the "displayvideo.advertisers.negativeKeywordLists.get" call.
 24953  // Any non-2xx status code is an error. Response headers are in either
 24954  // *NegativeKeywordList.ServerResponse.Header or (if a response was returned at
 24955  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 24956  // check whether the returned error was because http.StatusNotModified was
 24957  // returned.
 24958  func (c *AdvertisersNegativeKeywordListsGetCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
 24959  	gensupport.SetOptions(c.urlParams_, opts...)
 24960  	res, err := c.doRequest("json")
 24961  	if res != nil && res.StatusCode == http.StatusNotModified {
 24962  		if res.Body != nil {
 24963  			res.Body.Close()
 24964  		}
 24965  		return nil, gensupport.WrapError(&googleapi.Error{
 24966  			Code:   res.StatusCode,
 24967  			Header: res.Header,
 24968  		})
 24969  	}
 24970  	if err != nil {
 24971  		return nil, err
 24972  	}
 24973  	defer googleapi.CloseBody(res)
 24974  	if err := googleapi.CheckResponse(res); err != nil {
 24975  		return nil, gensupport.WrapError(err)
 24976  	}
 24977  	ret := &NegativeKeywordList{
 24978  		ServerResponse: googleapi.ServerResponse{
 24979  			Header:         res.Header,
 24980  			HTTPStatusCode: res.StatusCode,
 24981  		},
 24982  	}
 24983  	target := &ret
 24984  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24985  		return nil, err
 24986  	}
 24987  	return ret, nil
 24988  }
 24989  
 24990  type AdvertisersNegativeKeywordListsListCall struct {
 24991  	s            *Service
 24992  	advertiserId int64
 24993  	urlParams_   gensupport.URLParams
 24994  	ifNoneMatch_ string
 24995  	ctx_         context.Context
 24996  	header_      http.Header
 24997  }
 24998  
 24999  // List: Lists negative keyword lists based on a given advertiser id.
 25000  //
 25001  //   - advertiserId: The ID of the DV360 advertiser to which the fetched negative
 25002  //     keyword lists belong.
 25003  func (r *AdvertisersNegativeKeywordListsService) List(advertiserId int64) *AdvertisersNegativeKeywordListsListCall {
 25004  	c := &AdvertisersNegativeKeywordListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25005  	c.advertiserId = advertiserId
 25006  	return c
 25007  }
 25008  
 25009  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 25010  // be between `1` and `200`. Defaults to `100` if not set. Returns error code
 25011  // `INVALID_ARGUMENT` if an invalid value is specified.
 25012  func (c *AdvertisersNegativeKeywordListsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsListCall {
 25013  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 25014  	return c
 25015  }
 25016  
 25017  // PageToken sets the optional parameter "pageToken": A token identifying a
 25018  // page of results the server should return. Typically, this is the value of
 25019  // next_page_token returned from the previous call to
 25020  // `ListNegativeKeywordLists` method. If not specified, the first page of
 25021  // results will be returned.
 25022  func (c *AdvertisersNegativeKeywordListsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsListCall {
 25023  	c.urlParams_.Set("pageToken", pageToken)
 25024  	return c
 25025  }
 25026  
 25027  // Fields allows partial responses to be retrieved. See
 25028  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25029  // details.
 25030  func (c *AdvertisersNegativeKeywordListsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsListCall {
 25031  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25032  	return c
 25033  }
 25034  
 25035  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 25036  // object's ETag matches the given value. This is useful for getting updates
 25037  // only after the object has changed since the last request.
 25038  func (c *AdvertisersNegativeKeywordListsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsListCall {
 25039  	c.ifNoneMatch_ = entityTag
 25040  	return c
 25041  }
 25042  
 25043  // Context sets the context to be used in this call's Do method.
 25044  func (c *AdvertisersNegativeKeywordListsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsListCall {
 25045  	c.ctx_ = ctx
 25046  	return c
 25047  }
 25048  
 25049  // Header returns a http.Header that can be modified by the caller to add
 25050  // headers to the request.
 25051  func (c *AdvertisersNegativeKeywordListsListCall) Header() http.Header {
 25052  	if c.header_ == nil {
 25053  		c.header_ = make(http.Header)
 25054  	}
 25055  	return c.header_
 25056  }
 25057  
 25058  func (c *AdvertisersNegativeKeywordListsListCall) doRequest(alt string) (*http.Response, error) {
 25059  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 25060  	if c.ifNoneMatch_ != "" {
 25061  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25062  	}
 25063  	var body io.Reader = nil
 25064  	c.urlParams_.Set("alt", alt)
 25065  	c.urlParams_.Set("prettyPrint", "false")
 25066  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists")
 25067  	urls += "?" + c.urlParams_.Encode()
 25068  	req, err := http.NewRequest("GET", urls, body)
 25069  	if err != nil {
 25070  		return nil, err
 25071  	}
 25072  	req.Header = reqHeaders
 25073  	googleapi.Expand(req.URL, map[string]string{
 25074  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 25075  	})
 25076  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25077  }
 25078  
 25079  // Do executes the "displayvideo.advertisers.negativeKeywordLists.list" call.
 25080  // Any non-2xx status code is an error. Response headers are in either
 25081  // *ListNegativeKeywordListsResponse.ServerResponse.Header or (if a response
 25082  // was returned at all) in error.(*googleapi.Error).Header. Use
 25083  // googleapi.IsNotModified to check whether the returned error was because
 25084  // http.StatusNotModified was returned.
 25085  func (c *AdvertisersNegativeKeywordListsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordListsResponse, error) {
 25086  	gensupport.SetOptions(c.urlParams_, opts...)
 25087  	res, err := c.doRequest("json")
 25088  	if res != nil && res.StatusCode == http.StatusNotModified {
 25089  		if res.Body != nil {
 25090  			res.Body.Close()
 25091  		}
 25092  		return nil, gensupport.WrapError(&googleapi.Error{
 25093  			Code:   res.StatusCode,
 25094  			Header: res.Header,
 25095  		})
 25096  	}
 25097  	if err != nil {
 25098  		return nil, err
 25099  	}
 25100  	defer googleapi.CloseBody(res)
 25101  	if err := googleapi.CheckResponse(res); err != nil {
 25102  		return nil, gensupport.WrapError(err)
 25103  	}
 25104  	ret := &ListNegativeKeywordListsResponse{
 25105  		ServerResponse: googleapi.ServerResponse{
 25106  			Header:         res.Header,
 25107  			HTTPStatusCode: res.StatusCode,
 25108  		},
 25109  	}
 25110  	target := &ret
 25111  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25112  		return nil, err
 25113  	}
 25114  	return ret, nil
 25115  }
 25116  
 25117  // Pages invokes f for each page of results.
 25118  // A non-nil error returned from f will halt the iteration.
 25119  // The provided context supersedes any context provided to the Context method.
 25120  func (c *AdvertisersNegativeKeywordListsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordListsResponse) error) error {
 25121  	c.ctx_ = ctx
 25122  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 25123  	for {
 25124  		x, err := c.Do()
 25125  		if err != nil {
 25126  			return err
 25127  		}
 25128  		if err := f(x); err != nil {
 25129  			return err
 25130  		}
 25131  		if x.NextPageToken == "" {
 25132  			return nil
 25133  		}
 25134  		c.PageToken(x.NextPageToken)
 25135  	}
 25136  }
 25137  
 25138  type AdvertisersNegativeKeywordListsPatchCall struct {
 25139  	s                     *Service
 25140  	advertiserId          int64
 25141  	negativeKeywordListId int64
 25142  	negativekeywordlist   *NegativeKeywordList
 25143  	urlParams_            gensupport.URLParams
 25144  	ctx_                  context.Context
 25145  	header_               http.Header
 25146  }
 25147  
 25148  // Patch: Updates a negative keyword list. Returns the updated negative keyword
 25149  // list if successful.
 25150  //
 25151  //   - advertiserId: The ID of the DV360 advertiser to which the negative keyword
 25152  //     list belongs.
 25153  //   - negativeKeywordListId: Output only. The unique ID of the negative keyword
 25154  //     list. Assigned by the system.
 25155  func (r *AdvertisersNegativeKeywordListsService) Patch(advertiserId int64, negativeKeywordListId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsPatchCall {
 25156  	c := &AdvertisersNegativeKeywordListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25157  	c.advertiserId = advertiserId
 25158  	c.negativeKeywordListId = negativeKeywordListId
 25159  	c.negativekeywordlist = negativekeywordlist
 25160  	return c
 25161  }
 25162  
 25163  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 25164  // control which fields to update.
 25165  func (c *AdvertisersNegativeKeywordListsPatchCall) UpdateMask(updateMask string) *AdvertisersNegativeKeywordListsPatchCall {
 25166  	c.urlParams_.Set("updateMask", updateMask)
 25167  	return c
 25168  }
 25169  
 25170  // Fields allows partial responses to be retrieved. See
 25171  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25172  // details.
 25173  func (c *AdvertisersNegativeKeywordListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsPatchCall {
 25174  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25175  	return c
 25176  }
 25177  
 25178  // Context sets the context to be used in this call's Do method.
 25179  func (c *AdvertisersNegativeKeywordListsPatchCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsPatchCall {
 25180  	c.ctx_ = ctx
 25181  	return c
 25182  }
 25183  
 25184  // Header returns a http.Header that can be modified by the caller to add
 25185  // headers to the request.
 25186  func (c *AdvertisersNegativeKeywordListsPatchCall) Header() http.Header {
 25187  	if c.header_ == nil {
 25188  		c.header_ = make(http.Header)
 25189  	}
 25190  	return c.header_
 25191  }
 25192  
 25193  func (c *AdvertisersNegativeKeywordListsPatchCall) doRequest(alt string) (*http.Response, error) {
 25194  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 25195  	var body io.Reader = nil
 25196  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist)
 25197  	if err != nil {
 25198  		return nil, err
 25199  	}
 25200  	c.urlParams_.Set("alt", alt)
 25201  	c.urlParams_.Set("prettyPrint", "false")
 25202  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}")
 25203  	urls += "?" + c.urlParams_.Encode()
 25204  	req, err := http.NewRequest("PATCH", urls, body)
 25205  	if err != nil {
 25206  		return nil, err
 25207  	}
 25208  	req.Header = reqHeaders
 25209  	googleapi.Expand(req.URL, map[string]string{
 25210  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 25211  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 25212  	})
 25213  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25214  }
 25215  
 25216  // Do executes the "displayvideo.advertisers.negativeKeywordLists.patch" call.
 25217  // Any non-2xx status code is an error. Response headers are in either
 25218  // *NegativeKeywordList.ServerResponse.Header or (if a response was returned at
 25219  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 25220  // check whether the returned error was because http.StatusNotModified was
 25221  // returned.
 25222  func (c *AdvertisersNegativeKeywordListsPatchCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
 25223  	gensupport.SetOptions(c.urlParams_, opts...)
 25224  	res, err := c.doRequest("json")
 25225  	if res != nil && res.StatusCode == http.StatusNotModified {
 25226  		if res.Body != nil {
 25227  			res.Body.Close()
 25228  		}
 25229  		return nil, gensupport.WrapError(&googleapi.Error{
 25230  			Code:   res.StatusCode,
 25231  			Header: res.Header,
 25232  		})
 25233  	}
 25234  	if err != nil {
 25235  		return nil, err
 25236  	}
 25237  	defer googleapi.CloseBody(res)
 25238  	if err := googleapi.CheckResponse(res); err != nil {
 25239  		return nil, gensupport.WrapError(err)
 25240  	}
 25241  	ret := &NegativeKeywordList{
 25242  		ServerResponse: googleapi.ServerResponse{
 25243  			Header:         res.Header,
 25244  			HTTPStatusCode: res.StatusCode,
 25245  		},
 25246  	}
 25247  	target := &ret
 25248  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25249  		return nil, err
 25250  	}
 25251  	return ret, nil
 25252  }
 25253  
 25254  type AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall struct {
 25255  	s                               *Service
 25256  	advertiserId                    int64
 25257  	negativeKeywordListId           int64
 25258  	bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest
 25259  	urlParams_                      gensupport.URLParams
 25260  	ctx_                            context.Context
 25261  	header_                         http.Header
 25262  }
 25263  
 25264  // BulkEdit: Bulk edits negative keywords in a single negative keyword list.
 25265  // The operation will delete the negative keywords provided in
 25266  // BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then create
 25267  // the negative keywords provided in
 25268  // BulkEditNegativeKeywordsRequest.created_negative_keywords. This operation is
 25269  // guaranteed to be atomic and will never result in a partial success or
 25270  // partial failure.
 25271  //
 25272  //   - advertiserId: The ID of the DV360 advertiser to which the parent negative
 25273  //     keyword list belongs.
 25274  //   - negativeKeywordListId: The ID of the parent negative keyword list to which
 25275  //     the negative keywords belong.
 25276  func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) BulkEdit(advertiserId int64, negativeKeywordListId int64, bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
 25277  	c := &AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25278  	c.advertiserId = advertiserId
 25279  	c.negativeKeywordListId = negativeKeywordListId
 25280  	c.bulkeditnegativekeywordsrequest = bulkeditnegativekeywordsrequest
 25281  	return c
 25282  }
 25283  
 25284  // Fields allows partial responses to be retrieved. See
 25285  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25286  // details.
 25287  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
 25288  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25289  	return c
 25290  }
 25291  
 25292  // Context sets the context to be used in this call's Do method.
 25293  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
 25294  	c.ctx_ = ctx
 25295  	return c
 25296  }
 25297  
 25298  // Header returns a http.Header that can be modified by the caller to add
 25299  // headers to the request.
 25300  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Header() http.Header {
 25301  	if c.header_ == nil {
 25302  		c.header_ = make(http.Header)
 25303  	}
 25304  	return c.header_
 25305  }
 25306  
 25307  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) doRequest(alt string) (*http.Response, error) {
 25308  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 25309  	var body io.Reader = nil
 25310  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditnegativekeywordsrequest)
 25311  	if err != nil {
 25312  		return nil, err
 25313  	}
 25314  	c.urlParams_.Set("alt", alt)
 25315  	c.urlParams_.Set("prettyPrint", "false")
 25316  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit")
 25317  	urls += "?" + c.urlParams_.Encode()
 25318  	req, err := http.NewRequest("POST", urls, body)
 25319  	if err != nil {
 25320  		return nil, err
 25321  	}
 25322  	req.Header = reqHeaders
 25323  	googleapi.Expand(req.URL, map[string]string{
 25324  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 25325  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 25326  	})
 25327  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25328  }
 25329  
 25330  // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit" call.
 25331  // Any non-2xx status code is an error. Response headers are in either
 25332  // *BulkEditNegativeKeywordsResponse.ServerResponse.Header or (if a response
 25333  // was returned at all) in error.(*googleapi.Error).Header. Use
 25334  // googleapi.IsNotModified to check whether the returned error was because
 25335  // http.StatusNotModified was returned.
 25336  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditNegativeKeywordsResponse, error) {
 25337  	gensupport.SetOptions(c.urlParams_, opts...)
 25338  	res, err := c.doRequest("json")
 25339  	if res != nil && res.StatusCode == http.StatusNotModified {
 25340  		if res.Body != nil {
 25341  			res.Body.Close()
 25342  		}
 25343  		return nil, gensupport.WrapError(&googleapi.Error{
 25344  			Code:   res.StatusCode,
 25345  			Header: res.Header,
 25346  		})
 25347  	}
 25348  	if err != nil {
 25349  		return nil, err
 25350  	}
 25351  	defer googleapi.CloseBody(res)
 25352  	if err := googleapi.CheckResponse(res); err != nil {
 25353  		return nil, gensupport.WrapError(err)
 25354  	}
 25355  	ret := &BulkEditNegativeKeywordsResponse{
 25356  		ServerResponse: googleapi.ServerResponse{
 25357  			Header:         res.Header,
 25358  			HTTPStatusCode: res.StatusCode,
 25359  		},
 25360  	}
 25361  	target := &ret
 25362  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25363  		return nil, err
 25364  	}
 25365  	return ret, nil
 25366  }
 25367  
 25368  type AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall struct {
 25369  	s                     *Service
 25370  	advertiserId          int64
 25371  	negativeKeywordListId int64
 25372  	negativekeyword       *NegativeKeyword
 25373  	urlParams_            gensupport.URLParams
 25374  	ctx_                  context.Context
 25375  	header_               http.Header
 25376  }
 25377  
 25378  // Create: Creates a negative keyword in a negative keyword list.
 25379  //
 25380  //   - advertiserId: The ID of the DV360 advertiser to which the parent negative
 25381  //     keyword list belongs.
 25382  //   - negativeKeywordListId: The ID of the parent negative keyword list in which
 25383  //     the negative keyword will be created.
 25384  func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Create(advertiserId int64, negativeKeywordListId int64, negativekeyword *NegativeKeyword) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
 25385  	c := &AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25386  	c.advertiserId = advertiserId
 25387  	c.negativeKeywordListId = negativeKeywordListId
 25388  	c.negativekeyword = negativekeyword
 25389  	return c
 25390  }
 25391  
 25392  // Fields allows partial responses to be retrieved. See
 25393  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25394  // details.
 25395  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
 25396  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25397  	return c
 25398  }
 25399  
 25400  // Context sets the context to be used in this call's Do method.
 25401  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
 25402  	c.ctx_ = ctx
 25403  	return c
 25404  }
 25405  
 25406  // Header returns a http.Header that can be modified by the caller to add
 25407  // headers to the request.
 25408  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Header() http.Header {
 25409  	if c.header_ == nil {
 25410  		c.header_ = make(http.Header)
 25411  	}
 25412  	return c.header_
 25413  }
 25414  
 25415  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) doRequest(alt string) (*http.Response, error) {
 25416  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 25417  	var body io.Reader = nil
 25418  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeyword)
 25419  	if err != nil {
 25420  		return nil, err
 25421  	}
 25422  	c.urlParams_.Set("alt", alt)
 25423  	c.urlParams_.Set("prettyPrint", "false")
 25424  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords")
 25425  	urls += "?" + c.urlParams_.Encode()
 25426  	req, err := http.NewRequest("POST", urls, body)
 25427  	if err != nil {
 25428  		return nil, err
 25429  	}
 25430  	req.Header = reqHeaders
 25431  	googleapi.Expand(req.URL, map[string]string{
 25432  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 25433  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 25434  	})
 25435  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25436  }
 25437  
 25438  // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create" call.
 25439  // Any non-2xx status code is an error. Response headers are in either
 25440  // *NegativeKeyword.ServerResponse.Header or (if a response was returned at
 25441  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 25442  // check whether the returned error was because http.StatusNotModified was
 25443  // returned.
 25444  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeyword, error) {
 25445  	gensupport.SetOptions(c.urlParams_, opts...)
 25446  	res, err := c.doRequest("json")
 25447  	if res != nil && res.StatusCode == http.StatusNotModified {
 25448  		if res.Body != nil {
 25449  			res.Body.Close()
 25450  		}
 25451  		return nil, gensupport.WrapError(&googleapi.Error{
 25452  			Code:   res.StatusCode,
 25453  			Header: res.Header,
 25454  		})
 25455  	}
 25456  	if err != nil {
 25457  		return nil, err
 25458  	}
 25459  	defer googleapi.CloseBody(res)
 25460  	if err := googleapi.CheckResponse(res); err != nil {
 25461  		return nil, gensupport.WrapError(err)
 25462  	}
 25463  	ret := &NegativeKeyword{
 25464  		ServerResponse: googleapi.ServerResponse{
 25465  			Header:         res.Header,
 25466  			HTTPStatusCode: res.StatusCode,
 25467  		},
 25468  	}
 25469  	target := &ret
 25470  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25471  		return nil, err
 25472  	}
 25473  	return ret, nil
 25474  }
 25475  
 25476  type AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall struct {
 25477  	s                     *Service
 25478  	advertiserId          int64
 25479  	negativeKeywordListId int64
 25480  	keywordValue          string
 25481  	urlParams_            gensupport.URLParams
 25482  	ctx_                  context.Context
 25483  	header_               http.Header
 25484  }
 25485  
 25486  // Delete: Deletes a negative keyword from a negative keyword list.
 25487  //
 25488  //   - advertiserId: The ID of the DV360 advertiser to which the parent negative
 25489  //     keyword list belongs.
 25490  //   - keywordValue: The keyword value of the negative keyword to delete.
 25491  //   - negativeKeywordListId: The ID of the parent negative keyword list to which
 25492  //     the negative keyword belongs.
 25493  func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Delete(advertiserId int64, negativeKeywordListId int64, keywordValue string) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
 25494  	c := &AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25495  	c.advertiserId = advertiserId
 25496  	c.negativeKeywordListId = negativeKeywordListId
 25497  	c.keywordValue = keywordValue
 25498  	return c
 25499  }
 25500  
 25501  // Fields allows partial responses to be retrieved. See
 25502  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25503  // details.
 25504  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
 25505  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25506  	return c
 25507  }
 25508  
 25509  // Context sets the context to be used in this call's Do method.
 25510  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
 25511  	c.ctx_ = ctx
 25512  	return c
 25513  }
 25514  
 25515  // Header returns a http.Header that can be modified by the caller to add
 25516  // headers to the request.
 25517  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Header() http.Header {
 25518  	if c.header_ == nil {
 25519  		c.header_ = make(http.Header)
 25520  	}
 25521  	return c.header_
 25522  }
 25523  
 25524  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) doRequest(alt string) (*http.Response, error) {
 25525  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 25526  	var body io.Reader = nil
 25527  	c.urlParams_.Set("alt", alt)
 25528  	c.urlParams_.Set("prettyPrint", "false")
 25529  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}")
 25530  	urls += "?" + c.urlParams_.Encode()
 25531  	req, err := http.NewRequest("DELETE", urls, body)
 25532  	if err != nil {
 25533  		return nil, err
 25534  	}
 25535  	req.Header = reqHeaders
 25536  	googleapi.Expand(req.URL, map[string]string{
 25537  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 25538  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 25539  		"keywordValue":          c.keywordValue,
 25540  	})
 25541  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25542  }
 25543  
 25544  // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete" call.
 25545  // Any non-2xx status code is an error. Response headers are in either
 25546  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 25547  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 25548  // whether the returned error was because http.StatusNotModified was returned.
 25549  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 25550  	gensupport.SetOptions(c.urlParams_, opts...)
 25551  	res, err := c.doRequest("json")
 25552  	if res != nil && res.StatusCode == http.StatusNotModified {
 25553  		if res.Body != nil {
 25554  			res.Body.Close()
 25555  		}
 25556  		return nil, gensupport.WrapError(&googleapi.Error{
 25557  			Code:   res.StatusCode,
 25558  			Header: res.Header,
 25559  		})
 25560  	}
 25561  	if err != nil {
 25562  		return nil, err
 25563  	}
 25564  	defer googleapi.CloseBody(res)
 25565  	if err := googleapi.CheckResponse(res); err != nil {
 25566  		return nil, gensupport.WrapError(err)
 25567  	}
 25568  	ret := &Empty{
 25569  		ServerResponse: googleapi.ServerResponse{
 25570  			Header:         res.Header,
 25571  			HTTPStatusCode: res.StatusCode,
 25572  		},
 25573  	}
 25574  	target := &ret
 25575  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25576  		return nil, err
 25577  	}
 25578  	return ret, nil
 25579  }
 25580  
 25581  type AdvertisersNegativeKeywordListsNegativeKeywordsListCall struct {
 25582  	s                     *Service
 25583  	advertiserId          int64
 25584  	negativeKeywordListId int64
 25585  	urlParams_            gensupport.URLParams
 25586  	ifNoneMatch_          string
 25587  	ctx_                  context.Context
 25588  	header_               http.Header
 25589  }
 25590  
 25591  // List: Lists negative keywords in a negative keyword list.
 25592  //
 25593  //   - advertiserId: The ID of the DV360 advertiser to which the parent negative
 25594  //     keyword list belongs.
 25595  //   - negativeKeywordListId: The ID of the parent negative keyword list to which
 25596  //     the requested negative keywords belong.
 25597  func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) List(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 25598  	c := &AdvertisersNegativeKeywordListsNegativeKeywordsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25599  	c.advertiserId = advertiserId
 25600  	c.negativeKeywordListId = negativeKeywordListId
 25601  	return c
 25602  }
 25603  
 25604  // Filter sets the optional parameter "filter": Allows filtering by negative
 25605  // keyword fields. Supported syntax: * Filter expressions for negative keywords
 25606  // can only contain at most one restriction. * A restriction has the form of
 25607  // `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator.
 25608  // Supported fields: * `keywordValue` Examples: * All negative keywords for
 25609  // which the keyword value contains "google": `keywordValue : "google" The
 25610  // length of this field should be no more than 500 characters. Reference our
 25611  // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for
 25612  // more information.
 25613  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Filter(filter string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 25614  	c.urlParams_.Set("filter", filter)
 25615  	return c
 25616  }
 25617  
 25618  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 25619  // list. Acceptable values are: * `keywordValue` (default) The default sorting
 25620  // order is ascending. To specify descending order for a field, a suffix "
 25621  // desc" should be added to the field name. Example: `keywordValue desc`.
 25622  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) OrderBy(orderBy string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 25623  	c.urlParams_.Set("orderBy", orderBy)
 25624  	return c
 25625  }
 25626  
 25627  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 25628  // be between `1` and `1000`. If unspecified will default to `100`. Returns
 25629  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 25630  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 25631  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 25632  	return c
 25633  }
 25634  
 25635  // PageToken sets the optional parameter "pageToken": A token identifying a
 25636  // page of results the server should return. Typically, this is the value of
 25637  // next_page_token returned from the previous call to `ListNegativeKeywords`
 25638  // method. If not specified, the first page of results will be returned.
 25639  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 25640  	c.urlParams_.Set("pageToken", pageToken)
 25641  	return c
 25642  }
 25643  
 25644  // Fields allows partial responses to be retrieved. See
 25645  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25646  // details.
 25647  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 25648  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25649  	return c
 25650  }
 25651  
 25652  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 25653  // object's ETag matches the given value. This is useful for getting updates
 25654  // only after the object has changed since the last request.
 25655  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 25656  	c.ifNoneMatch_ = entityTag
 25657  	return c
 25658  }
 25659  
 25660  // Context sets the context to be used in this call's Do method.
 25661  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 25662  	c.ctx_ = ctx
 25663  	return c
 25664  }
 25665  
 25666  // Header returns a http.Header that can be modified by the caller to add
 25667  // headers to the request.
 25668  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Header() http.Header {
 25669  	if c.header_ == nil {
 25670  		c.header_ = make(http.Header)
 25671  	}
 25672  	return c.header_
 25673  }
 25674  
 25675  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) doRequest(alt string) (*http.Response, error) {
 25676  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 25677  	if c.ifNoneMatch_ != "" {
 25678  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25679  	}
 25680  	var body io.Reader = nil
 25681  	c.urlParams_.Set("alt", alt)
 25682  	c.urlParams_.Set("prettyPrint", "false")
 25683  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords")
 25684  	urls += "?" + c.urlParams_.Encode()
 25685  	req, err := http.NewRequest("GET", urls, body)
 25686  	if err != nil {
 25687  		return nil, err
 25688  	}
 25689  	req.Header = reqHeaders
 25690  	googleapi.Expand(req.URL, map[string]string{
 25691  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 25692  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 25693  	})
 25694  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25695  }
 25696  
 25697  // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list" call.
 25698  // Any non-2xx status code is an error. Response headers are in either
 25699  // *ListNegativeKeywordsResponse.ServerResponse.Header or (if a response was
 25700  // returned at all) in error.(*googleapi.Error).Header. Use
 25701  // googleapi.IsNotModified to check whether the returned error was because
 25702  // http.StatusNotModified was returned.
 25703  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordsResponse, error) {
 25704  	gensupport.SetOptions(c.urlParams_, opts...)
 25705  	res, err := c.doRequest("json")
 25706  	if res != nil && res.StatusCode == http.StatusNotModified {
 25707  		if res.Body != nil {
 25708  			res.Body.Close()
 25709  		}
 25710  		return nil, gensupport.WrapError(&googleapi.Error{
 25711  			Code:   res.StatusCode,
 25712  			Header: res.Header,
 25713  		})
 25714  	}
 25715  	if err != nil {
 25716  		return nil, err
 25717  	}
 25718  	defer googleapi.CloseBody(res)
 25719  	if err := googleapi.CheckResponse(res); err != nil {
 25720  		return nil, gensupport.WrapError(err)
 25721  	}
 25722  	ret := &ListNegativeKeywordsResponse{
 25723  		ServerResponse: googleapi.ServerResponse{
 25724  			Header:         res.Header,
 25725  			HTTPStatusCode: res.StatusCode,
 25726  		},
 25727  	}
 25728  	target := &ret
 25729  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25730  		return nil, err
 25731  	}
 25732  	return ret, nil
 25733  }
 25734  
 25735  // Pages invokes f for each page of results.
 25736  // A non-nil error returned from f will halt the iteration.
 25737  // The provided context supersedes any context provided to the Context method.
 25738  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordsResponse) error) error {
 25739  	c.ctx_ = ctx
 25740  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 25741  	for {
 25742  		x, err := c.Do()
 25743  		if err != nil {
 25744  			return err
 25745  		}
 25746  		if err := f(x); err != nil {
 25747  			return err
 25748  		}
 25749  		if x.NextPageToken == "" {
 25750  			return nil
 25751  		}
 25752  		c.PageToken(x.NextPageToken)
 25753  	}
 25754  }
 25755  
 25756  type AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall struct {
 25757  	s                              *Service
 25758  	advertiserId                   int64
 25759  	negativeKeywordListId          int64
 25760  	replacenegativekeywordsrequest *ReplaceNegativeKeywordsRequest
 25761  	urlParams_                     gensupport.URLParams
 25762  	ctx_                           context.Context
 25763  	header_                        http.Header
 25764  }
 25765  
 25766  // Replace: Replaces all negative keywords in a single negative keyword list.
 25767  // The operation will replace the keywords in a negative keyword list with
 25768  // keywords provided in ReplaceNegativeKeywordsRequest.new_negative_keywords.
 25769  //
 25770  //   - advertiserId: The ID of the DV360 advertiser to which the parent negative
 25771  //     keyword list belongs.
 25772  //   - negativeKeywordListId: The ID of the parent negative keyword list to which
 25773  //     the negative keywords belong.
 25774  func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Replace(advertiserId int64, negativeKeywordListId int64, replacenegativekeywordsrequest *ReplaceNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
 25775  	c := &AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25776  	c.advertiserId = advertiserId
 25777  	c.negativeKeywordListId = negativeKeywordListId
 25778  	c.replacenegativekeywordsrequest = replacenegativekeywordsrequest
 25779  	return c
 25780  }
 25781  
 25782  // Fields allows partial responses to be retrieved. See
 25783  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25784  // details.
 25785  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
 25786  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25787  	return c
 25788  }
 25789  
 25790  // Context sets the context to be used in this call's Do method.
 25791  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
 25792  	c.ctx_ = ctx
 25793  	return c
 25794  }
 25795  
 25796  // Header returns a http.Header that can be modified by the caller to add
 25797  // headers to the request.
 25798  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Header() http.Header {
 25799  	if c.header_ == nil {
 25800  		c.header_ = make(http.Header)
 25801  	}
 25802  	return c.header_
 25803  }
 25804  
 25805  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) doRequest(alt string) (*http.Response, error) {
 25806  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 25807  	var body io.Reader = nil
 25808  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacenegativekeywordsrequest)
 25809  	if err != nil {
 25810  		return nil, err
 25811  	}
 25812  	c.urlParams_.Set("alt", alt)
 25813  	c.urlParams_.Set("prettyPrint", "false")
 25814  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace")
 25815  	urls += "?" + c.urlParams_.Encode()
 25816  	req, err := http.NewRequest("POST", urls, body)
 25817  	if err != nil {
 25818  		return nil, err
 25819  	}
 25820  	req.Header = reqHeaders
 25821  	googleapi.Expand(req.URL, map[string]string{
 25822  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 25823  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 25824  	})
 25825  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25826  }
 25827  
 25828  // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace" call.
 25829  // Any non-2xx status code is an error. Response headers are in either
 25830  // *ReplaceNegativeKeywordsResponse.ServerResponse.Header or (if a response was
 25831  // returned at all) in error.(*googleapi.Error).Header. Use
 25832  // googleapi.IsNotModified to check whether the returned error was because
 25833  // http.StatusNotModified was returned.
 25834  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceNegativeKeywordsResponse, error) {
 25835  	gensupport.SetOptions(c.urlParams_, opts...)
 25836  	res, err := c.doRequest("json")
 25837  	if res != nil && res.StatusCode == http.StatusNotModified {
 25838  		if res.Body != nil {
 25839  			res.Body.Close()
 25840  		}
 25841  		return nil, gensupport.WrapError(&googleapi.Error{
 25842  			Code:   res.StatusCode,
 25843  			Header: res.Header,
 25844  		})
 25845  	}
 25846  	if err != nil {
 25847  		return nil, err
 25848  	}
 25849  	defer googleapi.CloseBody(res)
 25850  	if err := googleapi.CheckResponse(res); err != nil {
 25851  		return nil, gensupport.WrapError(err)
 25852  	}
 25853  	ret := &ReplaceNegativeKeywordsResponse{
 25854  		ServerResponse: googleapi.ServerResponse{
 25855  			Header:         res.Header,
 25856  			HTTPStatusCode: res.StatusCode,
 25857  		},
 25858  	}
 25859  	target := &ret
 25860  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25861  		return nil, err
 25862  	}
 25863  	return ret, nil
 25864  }
 25865  
 25866  type AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall struct {
 25867  	s                       *Service
 25868  	advertiserId            int64
 25869  	targetingType           string
 25870  	assignedtargetingoption *AssignedTargetingOption
 25871  	urlParams_              gensupport.URLParams
 25872  	ctx_                    context.Context
 25873  	header_                 http.Header
 25874  }
 25875  
 25876  // Create: Assigns a targeting option to an advertiser. Returns the assigned
 25877  // targeting option if successful.
 25878  //
 25879  //   - advertiserId: The ID of the advertiser.
 25880  //   - targetingType: Identifies the type of this assigned targeting option.
 25881  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
 25882  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
 25883  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`.
 25884  func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
 25885  	c := &AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25886  	c.advertiserId = advertiserId
 25887  	c.targetingType = targetingType
 25888  	c.assignedtargetingoption = assignedtargetingoption
 25889  	return c
 25890  }
 25891  
 25892  // Fields allows partial responses to be retrieved. See
 25893  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25894  // details.
 25895  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
 25896  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25897  	return c
 25898  }
 25899  
 25900  // Context sets the context to be used in this call's Do method.
 25901  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
 25902  	c.ctx_ = ctx
 25903  	return c
 25904  }
 25905  
 25906  // Header returns a http.Header that can be modified by the caller to add
 25907  // headers to the request.
 25908  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
 25909  	if c.header_ == nil {
 25910  		c.header_ = make(http.Header)
 25911  	}
 25912  	return c.header_
 25913  }
 25914  
 25915  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 25916  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 25917  	var body io.Reader = nil
 25918  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
 25919  	if err != nil {
 25920  		return nil, err
 25921  	}
 25922  	c.urlParams_.Set("alt", alt)
 25923  	c.urlParams_.Set("prettyPrint", "false")
 25924  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 25925  	urls += "?" + c.urlParams_.Encode()
 25926  	req, err := http.NewRequest("POST", urls, body)
 25927  	if err != nil {
 25928  		return nil, err
 25929  	}
 25930  	req.Header = reqHeaders
 25931  	googleapi.Expand(req.URL, map[string]string{
 25932  		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
 25933  		"targetingType": c.targetingType,
 25934  	})
 25935  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25936  }
 25937  
 25938  // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create" call.
 25939  // Any non-2xx status code is an error. Response headers are in either
 25940  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 25941  // returned at all) in error.(*googleapi.Error).Header. Use
 25942  // googleapi.IsNotModified to check whether the returned error was because
 25943  // http.StatusNotModified was returned.
 25944  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 25945  	gensupport.SetOptions(c.urlParams_, opts...)
 25946  	res, err := c.doRequest("json")
 25947  	if res != nil && res.StatusCode == http.StatusNotModified {
 25948  		if res.Body != nil {
 25949  			res.Body.Close()
 25950  		}
 25951  		return nil, gensupport.WrapError(&googleapi.Error{
 25952  			Code:   res.StatusCode,
 25953  			Header: res.Header,
 25954  		})
 25955  	}
 25956  	if err != nil {
 25957  		return nil, err
 25958  	}
 25959  	defer googleapi.CloseBody(res)
 25960  	if err := googleapi.CheckResponse(res); err != nil {
 25961  		return nil, gensupport.WrapError(err)
 25962  	}
 25963  	ret := &AssignedTargetingOption{
 25964  		ServerResponse: googleapi.ServerResponse{
 25965  			Header:         res.Header,
 25966  			HTTPStatusCode: res.StatusCode,
 25967  		},
 25968  	}
 25969  	target := &ret
 25970  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25971  		return nil, err
 25972  	}
 25973  	return ret, nil
 25974  }
 25975  
 25976  type AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
 25977  	s                         *Service
 25978  	advertiserId              int64
 25979  	targetingType             string
 25980  	assignedTargetingOptionId string
 25981  	urlParams_                gensupport.URLParams
 25982  	ctx_                      context.Context
 25983  	header_                   http.Header
 25984  }
 25985  
 25986  // Delete: Deletes an assigned targeting option from an advertiser.
 25987  //
 25988  //   - advertiserId: The ID of the advertiser.
 25989  //   - assignedTargetingOptionId: The ID of the assigned targeting option to
 25990  //     delete.
 25991  //   - targetingType: Identifies the type of this assigned targeting option.
 25992  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
 25993  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
 25994  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`.
 25995  func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
 25996  	c := &AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25997  	c.advertiserId = advertiserId
 25998  	c.targetingType = targetingType
 25999  	c.assignedTargetingOptionId = assignedTargetingOptionId
 26000  	return c
 26001  }
 26002  
 26003  // Fields allows partial responses to be retrieved. See
 26004  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26005  // details.
 26006  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
 26007  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26008  	return c
 26009  }
 26010  
 26011  // Context sets the context to be used in this call's Do method.
 26012  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
 26013  	c.ctx_ = ctx
 26014  	return c
 26015  }
 26016  
 26017  // Header returns a http.Header that can be modified by the caller to add
 26018  // headers to the request.
 26019  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
 26020  	if c.header_ == nil {
 26021  		c.header_ = make(http.Header)
 26022  	}
 26023  	return c.header_
 26024  }
 26025  
 26026  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 26027  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26028  	var body io.Reader = nil
 26029  	c.urlParams_.Set("alt", alt)
 26030  	c.urlParams_.Set("prettyPrint", "false")
 26031  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 26032  	urls += "?" + c.urlParams_.Encode()
 26033  	req, err := http.NewRequest("DELETE", urls, body)
 26034  	if err != nil {
 26035  		return nil, err
 26036  	}
 26037  	req.Header = reqHeaders
 26038  	googleapi.Expand(req.URL, map[string]string{
 26039  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 26040  		"targetingType":             c.targetingType,
 26041  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 26042  	})
 26043  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26044  }
 26045  
 26046  // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete" call.
 26047  // Any non-2xx status code is an error. Response headers are in either
 26048  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 26049  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 26050  // whether the returned error was because http.StatusNotModified was returned.
 26051  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 26052  	gensupport.SetOptions(c.urlParams_, opts...)
 26053  	res, err := c.doRequest("json")
 26054  	if res != nil && res.StatusCode == http.StatusNotModified {
 26055  		if res.Body != nil {
 26056  			res.Body.Close()
 26057  		}
 26058  		return nil, gensupport.WrapError(&googleapi.Error{
 26059  			Code:   res.StatusCode,
 26060  			Header: res.Header,
 26061  		})
 26062  	}
 26063  	if err != nil {
 26064  		return nil, err
 26065  	}
 26066  	defer googleapi.CloseBody(res)
 26067  	if err := googleapi.CheckResponse(res); err != nil {
 26068  		return nil, gensupport.WrapError(err)
 26069  	}
 26070  	ret := &Empty{
 26071  		ServerResponse: googleapi.ServerResponse{
 26072  			Header:         res.Header,
 26073  			HTTPStatusCode: res.StatusCode,
 26074  		},
 26075  	}
 26076  	target := &ret
 26077  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26078  		return nil, err
 26079  	}
 26080  	return ret, nil
 26081  }
 26082  
 26083  type AdvertisersTargetingTypesAssignedTargetingOptionsGetCall struct {
 26084  	s                         *Service
 26085  	advertiserId              int64
 26086  	targetingType             string
 26087  	assignedTargetingOptionId string
 26088  	urlParams_                gensupport.URLParams
 26089  	ifNoneMatch_              string
 26090  	ctx_                      context.Context
 26091  	header_                   http.Header
 26092  }
 26093  
 26094  // Get: Gets a single targeting option assigned to an advertiser.
 26095  //
 26096  //   - advertiserId: The ID of the advertiser.
 26097  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 26098  //     this advertiser that identifies the assigned targeting option being
 26099  //     requested.
 26100  //   - targetingType: Identifies the type of this assigned targeting option.
 26101  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
 26102  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
 26103  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 26104  //     `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL`.
 26105  func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
 26106  	c := &AdvertisersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26107  	c.advertiserId = advertiserId
 26108  	c.targetingType = targetingType
 26109  	c.assignedTargetingOptionId = assignedTargetingOptionId
 26110  	return c
 26111  }
 26112  
 26113  // Fields allows partial responses to be retrieved. See
 26114  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26115  // details.
 26116  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
 26117  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26118  	return c
 26119  }
 26120  
 26121  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 26122  // object's ETag matches the given value. This is useful for getting updates
 26123  // only after the object has changed since the last request.
 26124  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
 26125  	c.ifNoneMatch_ = entityTag
 26126  	return c
 26127  }
 26128  
 26129  // Context sets the context to be used in this call's Do method.
 26130  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
 26131  	c.ctx_ = ctx
 26132  	return c
 26133  }
 26134  
 26135  // Header returns a http.Header that can be modified by the caller to add
 26136  // headers to the request.
 26137  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 26138  	if c.header_ == nil {
 26139  		c.header_ = make(http.Header)
 26140  	}
 26141  	return c.header_
 26142  }
 26143  
 26144  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 26145  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26146  	if c.ifNoneMatch_ != "" {
 26147  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26148  	}
 26149  	var body io.Reader = nil
 26150  	c.urlParams_.Set("alt", alt)
 26151  	c.urlParams_.Set("prettyPrint", "false")
 26152  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 26153  	urls += "?" + c.urlParams_.Encode()
 26154  	req, err := http.NewRequest("GET", urls, body)
 26155  	if err != nil {
 26156  		return nil, err
 26157  	}
 26158  	req.Header = reqHeaders
 26159  	googleapi.Expand(req.URL, map[string]string{
 26160  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 26161  		"targetingType":             c.targetingType,
 26162  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 26163  	})
 26164  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26165  }
 26166  
 26167  // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get" call.
 26168  // Any non-2xx status code is an error. Response headers are in either
 26169  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 26170  // returned at all) in error.(*googleapi.Error).Header. Use
 26171  // googleapi.IsNotModified to check whether the returned error was because
 26172  // http.StatusNotModified was returned.
 26173  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 26174  	gensupport.SetOptions(c.urlParams_, opts...)
 26175  	res, err := c.doRequest("json")
 26176  	if res != nil && res.StatusCode == http.StatusNotModified {
 26177  		if res.Body != nil {
 26178  			res.Body.Close()
 26179  		}
 26180  		return nil, gensupport.WrapError(&googleapi.Error{
 26181  			Code:   res.StatusCode,
 26182  			Header: res.Header,
 26183  		})
 26184  	}
 26185  	if err != nil {
 26186  		return nil, err
 26187  	}
 26188  	defer googleapi.CloseBody(res)
 26189  	if err := googleapi.CheckResponse(res); err != nil {
 26190  		return nil, gensupport.WrapError(err)
 26191  	}
 26192  	ret := &AssignedTargetingOption{
 26193  		ServerResponse: googleapi.ServerResponse{
 26194  			Header:         res.Header,
 26195  			HTTPStatusCode: res.StatusCode,
 26196  		},
 26197  	}
 26198  	target := &ret
 26199  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26200  		return nil, err
 26201  	}
 26202  	return ret, nil
 26203  }
 26204  
 26205  type AdvertisersTargetingTypesAssignedTargetingOptionsListCall struct {
 26206  	s             *Service
 26207  	advertiserId  int64
 26208  	targetingType string
 26209  	urlParams_    gensupport.URLParams
 26210  	ifNoneMatch_  string
 26211  	ctx_          context.Context
 26212  	header_       http.Header
 26213  }
 26214  
 26215  // List: Lists the targeting options assigned to an advertiser.
 26216  //
 26217  //   - advertiserId: The ID of the advertiser.
 26218  //   - targetingType: Identifies the type of assigned targeting options to list.
 26219  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
 26220  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
 26221  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 26222  //     `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL`.
 26223  func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, targetingType string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 26224  	c := &AdvertisersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26225  	c.advertiserId = advertiserId
 26226  	c.targetingType = targetingType
 26227  	return c
 26228  }
 26229  
 26230  // Filter sets the optional parameter "filter": Allows filtering by assigned
 26231  // targeting option fields. Supported syntax: * Filter expressions are made up
 26232  // of one or more restrictions. * Restrictions can be combined by the `OR`
 26233  // logical operator. * A restriction has the form of `{field} {operator}
 26234  // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields:
 26235  // * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` with ID
 26236  // 123456: `assignedTargetingOptionId="123456" The length of this field should
 26237  // be no more than 500 characters. Reference our filter `LIST` requests
 26238  // (/display-video/api/guides/how-tos/filters) guide for more information.
 26239  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 26240  	c.urlParams_.Set("filter", filter)
 26241  	return c
 26242  }
 26243  
 26244  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 26245  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 26246  // default sorting order is ascending. To specify descending order for a field,
 26247  // a suffix "desc" should be added to the field name. Example:
 26248  // `assignedTargetingOptionId desc`.
 26249  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 26250  	c.urlParams_.Set("orderBy", orderBy)
 26251  	return c
 26252  }
 26253  
 26254  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 26255  // be between `1` and `5000`. If unspecified will default to `100`. Returns
 26256  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 26257  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 26258  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 26259  	return c
 26260  }
 26261  
 26262  // PageToken sets the optional parameter "pageToken": A token identifying a
 26263  // page of results the server should return. Typically, this is the value of
 26264  // next_page_token returned from the previous call to
 26265  // `ListAdvertiserAssignedTargetingOptions` method. If not specified, the first
 26266  // page of results will be returned.
 26267  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 26268  	c.urlParams_.Set("pageToken", pageToken)
 26269  	return c
 26270  }
 26271  
 26272  // Fields allows partial responses to be retrieved. See
 26273  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26274  // details.
 26275  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 26276  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26277  	return c
 26278  }
 26279  
 26280  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 26281  // object's ETag matches the given value. This is useful for getting updates
 26282  // only after the object has changed since the last request.
 26283  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 26284  	c.ifNoneMatch_ = entityTag
 26285  	return c
 26286  }
 26287  
 26288  // Context sets the context to be used in this call's Do method.
 26289  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 26290  	c.ctx_ = ctx
 26291  	return c
 26292  }
 26293  
 26294  // Header returns a http.Header that can be modified by the caller to add
 26295  // headers to the request.
 26296  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 26297  	if c.header_ == nil {
 26298  		c.header_ = make(http.Header)
 26299  	}
 26300  	return c.header_
 26301  }
 26302  
 26303  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 26304  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26305  	if c.ifNoneMatch_ != "" {
 26306  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26307  	}
 26308  	var body io.Reader = nil
 26309  	c.urlParams_.Set("alt", alt)
 26310  	c.urlParams_.Set("prettyPrint", "false")
 26311  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 26312  	urls += "?" + c.urlParams_.Encode()
 26313  	req, err := http.NewRequest("GET", urls, body)
 26314  	if err != nil {
 26315  		return nil, err
 26316  	}
 26317  	req.Header = reqHeaders
 26318  	googleapi.Expand(req.URL, map[string]string{
 26319  		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
 26320  		"targetingType": c.targetingType,
 26321  	})
 26322  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26323  }
 26324  
 26325  // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list" call.
 26326  // Any non-2xx status code is an error. Response headers are in either
 26327  // *ListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header or (if
 26328  // a response was returned at all) in error.(*googleapi.Error).Header. Use
 26329  // googleapi.IsNotModified to check whether the returned error was because
 26330  // http.StatusNotModified was returned.
 26331  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListAdvertiserAssignedTargetingOptionsResponse, error) {
 26332  	gensupport.SetOptions(c.urlParams_, opts...)
 26333  	res, err := c.doRequest("json")
 26334  	if res != nil && res.StatusCode == http.StatusNotModified {
 26335  		if res.Body != nil {
 26336  			res.Body.Close()
 26337  		}
 26338  		return nil, gensupport.WrapError(&googleapi.Error{
 26339  			Code:   res.StatusCode,
 26340  			Header: res.Header,
 26341  		})
 26342  	}
 26343  	if err != nil {
 26344  		return nil, err
 26345  	}
 26346  	defer googleapi.CloseBody(res)
 26347  	if err := googleapi.CheckResponse(res); err != nil {
 26348  		return nil, gensupport.WrapError(err)
 26349  	}
 26350  	ret := &ListAdvertiserAssignedTargetingOptionsResponse{
 26351  		ServerResponse: googleapi.ServerResponse{
 26352  			Header:         res.Header,
 26353  			HTTPStatusCode: res.StatusCode,
 26354  		},
 26355  	}
 26356  	target := &ret
 26357  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26358  		return nil, err
 26359  	}
 26360  	return ret, nil
 26361  }
 26362  
 26363  // Pages invokes f for each page of results.
 26364  // A non-nil error returned from f will halt the iteration.
 26365  // The provided context supersedes any context provided to the Context method.
 26366  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListAdvertiserAssignedTargetingOptionsResponse) error) error {
 26367  	c.ctx_ = ctx
 26368  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 26369  	for {
 26370  		x, err := c.Do()
 26371  		if err != nil {
 26372  			return err
 26373  		}
 26374  		if err := f(x); err != nil {
 26375  			return err
 26376  		}
 26377  		if x.NextPageToken == "" {
 26378  			return nil
 26379  		}
 26380  		c.PageToken(x.NextPageToken)
 26381  	}
 26382  }
 26383  
 26384  type AdvertisersYoutubeAdGroupAdsGetCall struct {
 26385  	s                  *Service
 26386  	advertiserId       int64
 26387  	youtubeAdGroupAdId int64
 26388  	urlParams_         gensupport.URLParams
 26389  	ifNoneMatch_       string
 26390  	ctx_               context.Context
 26391  	header_            http.Header
 26392  }
 26393  
 26394  // Get: Gets a YouTube ad group ad.
 26395  //
 26396  // - advertiserId: The ID of the advertiser this ad group ad belongs to.
 26397  // - youtubeAdGroupAdId: The ID of the ad group ad to fetch.
 26398  func (r *AdvertisersYoutubeAdGroupAdsService) Get(advertiserId int64, youtubeAdGroupAdId int64) *AdvertisersYoutubeAdGroupAdsGetCall {
 26399  	c := &AdvertisersYoutubeAdGroupAdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26400  	c.advertiserId = advertiserId
 26401  	c.youtubeAdGroupAdId = youtubeAdGroupAdId
 26402  	return c
 26403  }
 26404  
 26405  // Fields allows partial responses to be retrieved. See
 26406  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26407  // details.
 26408  func (c *AdvertisersYoutubeAdGroupAdsGetCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupAdsGetCall {
 26409  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26410  	return c
 26411  }
 26412  
 26413  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 26414  // object's ETag matches the given value. This is useful for getting updates
 26415  // only after the object has changed since the last request.
 26416  func (c *AdvertisersYoutubeAdGroupAdsGetCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupAdsGetCall {
 26417  	c.ifNoneMatch_ = entityTag
 26418  	return c
 26419  }
 26420  
 26421  // Context sets the context to be used in this call's Do method.
 26422  func (c *AdvertisersYoutubeAdGroupAdsGetCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupAdsGetCall {
 26423  	c.ctx_ = ctx
 26424  	return c
 26425  }
 26426  
 26427  // Header returns a http.Header that can be modified by the caller to add
 26428  // headers to the request.
 26429  func (c *AdvertisersYoutubeAdGroupAdsGetCall) Header() http.Header {
 26430  	if c.header_ == nil {
 26431  		c.header_ = make(http.Header)
 26432  	}
 26433  	return c.header_
 26434  }
 26435  
 26436  func (c *AdvertisersYoutubeAdGroupAdsGetCall) doRequest(alt string) (*http.Response, error) {
 26437  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26438  	if c.ifNoneMatch_ != "" {
 26439  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26440  	}
 26441  	var body io.Reader = nil
 26442  	c.urlParams_.Set("alt", alt)
 26443  	c.urlParams_.Set("prettyPrint", "false")
 26444  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroupAds/{+youtubeAdGroupAdId}")
 26445  	urls += "?" + c.urlParams_.Encode()
 26446  	req, err := http.NewRequest("GET", urls, body)
 26447  	if err != nil {
 26448  		return nil, err
 26449  	}
 26450  	req.Header = reqHeaders
 26451  	googleapi.Expand(req.URL, map[string]string{
 26452  		"advertiserId":       strconv.FormatInt(c.advertiserId, 10),
 26453  		"youtubeAdGroupAdId": strconv.FormatInt(c.youtubeAdGroupAdId, 10),
 26454  	})
 26455  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26456  }
 26457  
 26458  // Do executes the "displayvideo.advertisers.youtubeAdGroupAds.get" call.
 26459  // Any non-2xx status code is an error. Response headers are in either
 26460  // *YoutubeAdGroupAd.ServerResponse.Header or (if a response was returned at
 26461  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 26462  // check whether the returned error was because http.StatusNotModified was
 26463  // returned.
 26464  func (c *AdvertisersYoutubeAdGroupAdsGetCall) Do(opts ...googleapi.CallOption) (*YoutubeAdGroupAd, error) {
 26465  	gensupport.SetOptions(c.urlParams_, opts...)
 26466  	res, err := c.doRequest("json")
 26467  	if res != nil && res.StatusCode == http.StatusNotModified {
 26468  		if res.Body != nil {
 26469  			res.Body.Close()
 26470  		}
 26471  		return nil, gensupport.WrapError(&googleapi.Error{
 26472  			Code:   res.StatusCode,
 26473  			Header: res.Header,
 26474  		})
 26475  	}
 26476  	if err != nil {
 26477  		return nil, err
 26478  	}
 26479  	defer googleapi.CloseBody(res)
 26480  	if err := googleapi.CheckResponse(res); err != nil {
 26481  		return nil, gensupport.WrapError(err)
 26482  	}
 26483  	ret := &YoutubeAdGroupAd{
 26484  		ServerResponse: googleapi.ServerResponse{
 26485  			Header:         res.Header,
 26486  			HTTPStatusCode: res.StatusCode,
 26487  		},
 26488  	}
 26489  	target := &ret
 26490  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26491  		return nil, err
 26492  	}
 26493  	return ret, nil
 26494  }
 26495  
 26496  type AdvertisersYoutubeAdGroupAdsListCall struct {
 26497  	s            *Service
 26498  	advertiserId int64
 26499  	urlParams_   gensupport.URLParams
 26500  	ifNoneMatch_ string
 26501  	ctx_         context.Context
 26502  	header_      http.Header
 26503  }
 26504  
 26505  // List: Lists YouTube ad group ads.
 26506  //
 26507  // - advertiserId: The ID of the advertiser the ad groups belongs to.
 26508  func (r *AdvertisersYoutubeAdGroupAdsService) List(advertiserId int64) *AdvertisersYoutubeAdGroupAdsListCall {
 26509  	c := &AdvertisersYoutubeAdGroupAdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26510  	c.advertiserId = advertiserId
 26511  	return c
 26512  }
 26513  
 26514  // Filter sets the optional parameter "filter": Allows filtering by custom
 26515  // YouTube ad group ad fields. Supported syntax: * Filter expressions are made
 26516  // up of one or more restrictions. * Restrictions can be combined by `AND` and
 26517  // `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has
 26518  // the form of `{field} {operator} {value}`. * All fields must use the `EQUALS
 26519  // (=)` operator. Supported fields: * `adGroupId` * `displayName` *
 26520  // `entityStatus` * `adGroupAdId` Examples: * All ad group ads under an ad
 26521  // group: `adGroupId="1234" * All ad group ads under an ad group with an
 26522  // entityStatus of `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED`:
 26523  // `(entityStatus="ENTITY_STATUS_ACTIVE" OR
 26524  // entityStatus="ENTITY_STATUS_PAUSED") AND adGroupId="12345" The length of
 26525  // this field should be no more than 500 characters. Reference our filter
 26526  // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more
 26527  // information.
 26528  func (c *AdvertisersYoutubeAdGroupAdsListCall) Filter(filter string) *AdvertisersYoutubeAdGroupAdsListCall {
 26529  	c.urlParams_.Set("filter", filter)
 26530  	return c
 26531  }
 26532  
 26533  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 26534  // list. Acceptable values are: * `displayName` (default) * `entityStatus` The
 26535  // default sorting order is ascending. To specify descending order for a field,
 26536  // a suffix "desc" should be added to the field name. Example: `displayName
 26537  // desc`.
 26538  func (c *AdvertisersYoutubeAdGroupAdsListCall) OrderBy(orderBy string) *AdvertisersYoutubeAdGroupAdsListCall {
 26539  	c.urlParams_.Set("orderBy", orderBy)
 26540  	return c
 26541  }
 26542  
 26543  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 26544  // be between `1` and `100`. If unspecified will default to `100`. Returns
 26545  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 26546  func (c *AdvertisersYoutubeAdGroupAdsListCall) PageSize(pageSize int64) *AdvertisersYoutubeAdGroupAdsListCall {
 26547  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 26548  	return c
 26549  }
 26550  
 26551  // PageToken sets the optional parameter "pageToken": A token identifying a
 26552  // page of results the server should return. Typically, this is the value of
 26553  // next_page_token returned from the previous call to `ListYoutubeAdGroupAds`
 26554  // method. If not specified, the first page of results will be returned.
 26555  func (c *AdvertisersYoutubeAdGroupAdsListCall) PageToken(pageToken string) *AdvertisersYoutubeAdGroupAdsListCall {
 26556  	c.urlParams_.Set("pageToken", pageToken)
 26557  	return c
 26558  }
 26559  
 26560  // Fields allows partial responses to be retrieved. See
 26561  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26562  // details.
 26563  func (c *AdvertisersYoutubeAdGroupAdsListCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupAdsListCall {
 26564  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26565  	return c
 26566  }
 26567  
 26568  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 26569  // object's ETag matches the given value. This is useful for getting updates
 26570  // only after the object has changed since the last request.
 26571  func (c *AdvertisersYoutubeAdGroupAdsListCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupAdsListCall {
 26572  	c.ifNoneMatch_ = entityTag
 26573  	return c
 26574  }
 26575  
 26576  // Context sets the context to be used in this call's Do method.
 26577  func (c *AdvertisersYoutubeAdGroupAdsListCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupAdsListCall {
 26578  	c.ctx_ = ctx
 26579  	return c
 26580  }
 26581  
 26582  // Header returns a http.Header that can be modified by the caller to add
 26583  // headers to the request.
 26584  func (c *AdvertisersYoutubeAdGroupAdsListCall) Header() http.Header {
 26585  	if c.header_ == nil {
 26586  		c.header_ = make(http.Header)
 26587  	}
 26588  	return c.header_
 26589  }
 26590  
 26591  func (c *AdvertisersYoutubeAdGroupAdsListCall) doRequest(alt string) (*http.Response, error) {
 26592  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26593  	if c.ifNoneMatch_ != "" {
 26594  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26595  	}
 26596  	var body io.Reader = nil
 26597  	c.urlParams_.Set("alt", alt)
 26598  	c.urlParams_.Set("prettyPrint", "false")
 26599  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroupAds")
 26600  	urls += "?" + c.urlParams_.Encode()
 26601  	req, err := http.NewRequest("GET", urls, body)
 26602  	if err != nil {
 26603  		return nil, err
 26604  	}
 26605  	req.Header = reqHeaders
 26606  	googleapi.Expand(req.URL, map[string]string{
 26607  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 26608  	})
 26609  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26610  }
 26611  
 26612  // Do executes the "displayvideo.advertisers.youtubeAdGroupAds.list" call.
 26613  // Any non-2xx status code is an error. Response headers are in either
 26614  // *ListYoutubeAdGroupAdsResponse.ServerResponse.Header or (if a response was
 26615  // returned at all) in error.(*googleapi.Error).Header. Use
 26616  // googleapi.IsNotModified to check whether the returned error was because
 26617  // http.StatusNotModified was returned.
 26618  func (c *AdvertisersYoutubeAdGroupAdsListCall) Do(opts ...googleapi.CallOption) (*ListYoutubeAdGroupAdsResponse, error) {
 26619  	gensupport.SetOptions(c.urlParams_, opts...)
 26620  	res, err := c.doRequest("json")
 26621  	if res != nil && res.StatusCode == http.StatusNotModified {
 26622  		if res.Body != nil {
 26623  			res.Body.Close()
 26624  		}
 26625  		return nil, gensupport.WrapError(&googleapi.Error{
 26626  			Code:   res.StatusCode,
 26627  			Header: res.Header,
 26628  		})
 26629  	}
 26630  	if err != nil {
 26631  		return nil, err
 26632  	}
 26633  	defer googleapi.CloseBody(res)
 26634  	if err := googleapi.CheckResponse(res); err != nil {
 26635  		return nil, gensupport.WrapError(err)
 26636  	}
 26637  	ret := &ListYoutubeAdGroupAdsResponse{
 26638  		ServerResponse: googleapi.ServerResponse{
 26639  			Header:         res.Header,
 26640  			HTTPStatusCode: res.StatusCode,
 26641  		},
 26642  	}
 26643  	target := &ret
 26644  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26645  		return nil, err
 26646  	}
 26647  	return ret, nil
 26648  }
 26649  
 26650  // Pages invokes f for each page of results.
 26651  // A non-nil error returned from f will halt the iteration.
 26652  // The provided context supersedes any context provided to the Context method.
 26653  func (c *AdvertisersYoutubeAdGroupAdsListCall) Pages(ctx context.Context, f func(*ListYoutubeAdGroupAdsResponse) error) error {
 26654  	c.ctx_ = ctx
 26655  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 26656  	for {
 26657  		x, err := c.Do()
 26658  		if err != nil {
 26659  			return err
 26660  		}
 26661  		if err := f(x); err != nil {
 26662  			return err
 26663  		}
 26664  		if x.NextPageToken == "" {
 26665  			return nil
 26666  		}
 26667  		c.PageToken(x.NextPageToken)
 26668  	}
 26669  }
 26670  
 26671  type AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall struct {
 26672  	s            *Service
 26673  	advertiserId int64
 26674  	urlParams_   gensupport.URLParams
 26675  	ifNoneMatch_ string
 26676  	ctx_         context.Context
 26677  	header_      http.Header
 26678  }
 26679  
 26680  // BulkListAdGroupAssignedTargetingOptions: Lists assigned targeting options
 26681  // for multiple YouTube ad groups across targeting types. Inherited assigned
 26682  // targeting options are not included.
 26683  //
 26684  // - advertiserId: The ID of the advertiser the line items belongs to.
 26685  func (r *AdvertisersYoutubeAdGroupsService) BulkListAdGroupAssignedTargetingOptions(advertiserId int64) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 26686  	c := &AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26687  	c.advertiserId = advertiserId
 26688  	return c
 26689  }
 26690  
 26691  // Filter sets the optional parameter "filter": Allows filtering by assigned
 26692  // targeting option fields. Supported syntax: * Filter expressions are made up
 26693  // of one or more restrictions. * Restrictions can be combined by the logical
 26694  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 26695  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 26696  // `targetingType` Examples: * `AssignedTargetingOption` resources of targeting
 26697  // type `TARGETING_TYPE_YOUTUBE_VIDEO` or `TARGETING_TYPE_YOUTUBE_CHANNEL`:
 26698  // `targetingType="TARGETING_TYPE_YOUTUBE_VIDEO" OR
 26699  // targetingType="TARGETING_TYPE_YOUTUBE_CHANNEL" The length of this field
 26700  // should be no more than 500 characters. Reference our filter `LIST` requests
 26701  // (/display-video/api/guides/how-tos/filters) guide for more information.
 26702  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 26703  	c.urlParams_.Set("filter", filter)
 26704  	return c
 26705  }
 26706  
 26707  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 26708  // list. Acceptable values are: * `adGroupId` (default) *
 26709  // `assignedTargetingOption.targetingType` The default sorting order is
 26710  // ascending. To specify descending order for a field, a suffix "desc" should
 26711  // be added to the field name. Example: `targetingType desc`.
 26712  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 26713  	c.urlParams_.Set("orderBy", orderBy)
 26714  	return c
 26715  }
 26716  
 26717  // PageSize sets the optional parameter "pageSize": Requested page size. The
 26718  // size must be an integer between `1` and `5000`. If unspecified, the default
 26719  // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is
 26720  // specified.
 26721  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 26722  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 26723  	return c
 26724  }
 26725  
 26726  // PageToken sets the optional parameter "pageToken": A token that lets the
 26727  // client fetch the next page of results. Typically, this is the value of
 26728  // next_page_token returned from the previous call to the
 26729  // `BulkListAdGroupAssignedTargetingOptions` method. If not specified, the
 26730  // first page of results will be returned.
 26731  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 26732  	c.urlParams_.Set("pageToken", pageToken)
 26733  	return c
 26734  }
 26735  
 26736  // YoutubeAdGroupIds sets the optional parameter "youtubeAdGroupIds": Required.
 26737  // The IDs of the youtube ad groups to list assigned targeting options for.
 26738  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) YoutubeAdGroupIds(youtubeAdGroupIds ...int64) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 26739  	var youtubeAdGroupIds_ []string
 26740  	for _, v := range youtubeAdGroupIds {
 26741  		youtubeAdGroupIds_ = append(youtubeAdGroupIds_, fmt.Sprint(v))
 26742  	}
 26743  	c.urlParams_.SetMulti("youtubeAdGroupIds", youtubeAdGroupIds_)
 26744  	return c
 26745  }
 26746  
 26747  // Fields allows partial responses to be retrieved. See
 26748  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26749  // details.
 26750  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 26751  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26752  	return c
 26753  }
 26754  
 26755  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 26756  // object's ETag matches the given value. This is useful for getting updates
 26757  // only after the object has changed since the last request.
 26758  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 26759  	c.ifNoneMatch_ = entityTag
 26760  	return c
 26761  }
 26762  
 26763  // Context sets the context to be used in this call's Do method.
 26764  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 26765  	c.ctx_ = ctx
 26766  	return c
 26767  }
 26768  
 26769  // Header returns a http.Header that can be modified by the caller to add
 26770  // headers to the request.
 26771  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Header() http.Header {
 26772  	if c.header_ == nil {
 26773  		c.header_ = make(http.Header)
 26774  	}
 26775  	return c.header_
 26776  }
 26777  
 26778  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 26779  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26780  	if c.ifNoneMatch_ != "" {
 26781  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26782  	}
 26783  	var body io.Reader = nil
 26784  	c.urlParams_.Set("alt", alt)
 26785  	c.urlParams_.Set("prettyPrint", "false")
 26786  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroups:bulkListAdGroupAssignedTargetingOptions")
 26787  	urls += "?" + c.urlParams_.Encode()
 26788  	req, err := http.NewRequest("GET", urls, body)
 26789  	if err != nil {
 26790  		return nil, err
 26791  	}
 26792  	req.Header = reqHeaders
 26793  	googleapi.Expand(req.URL, map[string]string{
 26794  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 26795  	})
 26796  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26797  }
 26798  
 26799  // Do executes the "displayvideo.advertisers.youtubeAdGroups.bulkListAdGroupAssignedTargetingOptions" call.
 26800  // Any non-2xx status code is an error. Response headers are in either
 26801  // *BulkListAdGroupAssignedTargetingOptionsResponse.ServerResponse.Header or
 26802  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 26803  // googleapi.IsNotModified to check whether the returned error was because
 26804  // http.StatusNotModified was returned.
 26805  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAdGroupAssignedTargetingOptionsResponse, error) {
 26806  	gensupport.SetOptions(c.urlParams_, opts...)
 26807  	res, err := c.doRequest("json")
 26808  	if res != nil && res.StatusCode == http.StatusNotModified {
 26809  		if res.Body != nil {
 26810  			res.Body.Close()
 26811  		}
 26812  		return nil, gensupport.WrapError(&googleapi.Error{
 26813  			Code:   res.StatusCode,
 26814  			Header: res.Header,
 26815  		})
 26816  	}
 26817  	if err != nil {
 26818  		return nil, err
 26819  	}
 26820  	defer googleapi.CloseBody(res)
 26821  	if err := googleapi.CheckResponse(res); err != nil {
 26822  		return nil, gensupport.WrapError(err)
 26823  	}
 26824  	ret := &BulkListAdGroupAssignedTargetingOptionsResponse{
 26825  		ServerResponse: googleapi.ServerResponse{
 26826  			Header:         res.Header,
 26827  			HTTPStatusCode: res.StatusCode,
 26828  		},
 26829  	}
 26830  	target := &ret
 26831  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26832  		return nil, err
 26833  	}
 26834  	return ret, nil
 26835  }
 26836  
 26837  // Pages invokes f for each page of results.
 26838  // A non-nil error returned from f will halt the iteration.
 26839  // The provided context supersedes any context provided to the Context method.
 26840  func (c *AdvertisersYoutubeAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAdGroupAssignedTargetingOptionsResponse) error) error {
 26841  	c.ctx_ = ctx
 26842  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 26843  	for {
 26844  		x, err := c.Do()
 26845  		if err != nil {
 26846  			return err
 26847  		}
 26848  		if err := f(x); err != nil {
 26849  			return err
 26850  		}
 26851  		if x.NextPageToken == "" {
 26852  			return nil
 26853  		}
 26854  		c.PageToken(x.NextPageToken)
 26855  	}
 26856  }
 26857  
 26858  type AdvertisersYoutubeAdGroupsGetCall struct {
 26859  	s                *Service
 26860  	advertiserId     int64
 26861  	youtubeAdGroupId int64
 26862  	urlParams_       gensupport.URLParams
 26863  	ifNoneMatch_     string
 26864  	ctx_             context.Context
 26865  	header_          http.Header
 26866  }
 26867  
 26868  // Get: Gets a YouTube ad group.
 26869  //
 26870  // - advertiserId: The ID of the advertiser this ad group belongs to.
 26871  // - youtubeAdGroupId: The ID of the ad group to fetch.
 26872  func (r *AdvertisersYoutubeAdGroupsService) Get(advertiserId int64, youtubeAdGroupId int64) *AdvertisersYoutubeAdGroupsGetCall {
 26873  	c := &AdvertisersYoutubeAdGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26874  	c.advertiserId = advertiserId
 26875  	c.youtubeAdGroupId = youtubeAdGroupId
 26876  	return c
 26877  }
 26878  
 26879  // Fields allows partial responses to be retrieved. See
 26880  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26881  // details.
 26882  func (c *AdvertisersYoutubeAdGroupsGetCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupsGetCall {
 26883  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26884  	return c
 26885  }
 26886  
 26887  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 26888  // object's ETag matches the given value. This is useful for getting updates
 26889  // only after the object has changed since the last request.
 26890  func (c *AdvertisersYoutubeAdGroupsGetCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupsGetCall {
 26891  	c.ifNoneMatch_ = entityTag
 26892  	return c
 26893  }
 26894  
 26895  // Context sets the context to be used in this call's Do method.
 26896  func (c *AdvertisersYoutubeAdGroupsGetCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupsGetCall {
 26897  	c.ctx_ = ctx
 26898  	return c
 26899  }
 26900  
 26901  // Header returns a http.Header that can be modified by the caller to add
 26902  // headers to the request.
 26903  func (c *AdvertisersYoutubeAdGroupsGetCall) Header() http.Header {
 26904  	if c.header_ == nil {
 26905  		c.header_ = make(http.Header)
 26906  	}
 26907  	return c.header_
 26908  }
 26909  
 26910  func (c *AdvertisersYoutubeAdGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 26911  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26912  	if c.ifNoneMatch_ != "" {
 26913  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26914  	}
 26915  	var body io.Reader = nil
 26916  	c.urlParams_.Set("alt", alt)
 26917  	c.urlParams_.Set("prettyPrint", "false")
 26918  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroups/{+youtubeAdGroupId}")
 26919  	urls += "?" + c.urlParams_.Encode()
 26920  	req, err := http.NewRequest("GET", urls, body)
 26921  	if err != nil {
 26922  		return nil, err
 26923  	}
 26924  	req.Header = reqHeaders
 26925  	googleapi.Expand(req.URL, map[string]string{
 26926  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 26927  		"youtubeAdGroupId": strconv.FormatInt(c.youtubeAdGroupId, 10),
 26928  	})
 26929  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26930  }
 26931  
 26932  // Do executes the "displayvideo.advertisers.youtubeAdGroups.get" call.
 26933  // Any non-2xx status code is an error. Response headers are in either
 26934  // *YoutubeAdGroup.ServerResponse.Header or (if a response was returned at all)
 26935  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 26936  // whether the returned error was because http.StatusNotModified was returned.
 26937  func (c *AdvertisersYoutubeAdGroupsGetCall) Do(opts ...googleapi.CallOption) (*YoutubeAdGroup, error) {
 26938  	gensupport.SetOptions(c.urlParams_, opts...)
 26939  	res, err := c.doRequest("json")
 26940  	if res != nil && res.StatusCode == http.StatusNotModified {
 26941  		if res.Body != nil {
 26942  			res.Body.Close()
 26943  		}
 26944  		return nil, gensupport.WrapError(&googleapi.Error{
 26945  			Code:   res.StatusCode,
 26946  			Header: res.Header,
 26947  		})
 26948  	}
 26949  	if err != nil {
 26950  		return nil, err
 26951  	}
 26952  	defer googleapi.CloseBody(res)
 26953  	if err := googleapi.CheckResponse(res); err != nil {
 26954  		return nil, gensupport.WrapError(err)
 26955  	}
 26956  	ret := &YoutubeAdGroup{
 26957  		ServerResponse: googleapi.ServerResponse{
 26958  			Header:         res.Header,
 26959  			HTTPStatusCode: res.StatusCode,
 26960  		},
 26961  	}
 26962  	target := &ret
 26963  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26964  		return nil, err
 26965  	}
 26966  	return ret, nil
 26967  }
 26968  
 26969  type AdvertisersYoutubeAdGroupsListCall struct {
 26970  	s            *Service
 26971  	advertiserId int64
 26972  	urlParams_   gensupport.URLParams
 26973  	ifNoneMatch_ string
 26974  	ctx_         context.Context
 26975  	header_      http.Header
 26976  }
 26977  
 26978  // List: Lists YouTube ad groups.
 26979  //
 26980  // - advertiserId: The ID of the advertiser the ad groups belongs to.
 26981  func (r *AdvertisersYoutubeAdGroupsService) List(advertiserId int64) *AdvertisersYoutubeAdGroupsListCall {
 26982  	c := &AdvertisersYoutubeAdGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26983  	c.advertiserId = advertiserId
 26984  	return c
 26985  }
 26986  
 26987  // Filter sets the optional parameter "filter": Allows filtering by custom
 26988  // YouTube ad group fields. Supported syntax: * Filter expressions are made up
 26989  // of one or more restrictions. * Restrictions can be combined by `AND` and
 26990  // `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has
 26991  // the form of `{field} {operator} {value}`. * All fields must use the `EQUALS
 26992  // (=)` operator. Supported properties: * `adGroupId` * `displayName` *
 26993  // `entityStatus` * `lineItemId` * `adGroupFormat` Examples: * All ad groups
 26994  // under an line item: `lineItemId="1234" * All `ENTITY_STATUS_ACTIVE` or
 26995  // `ENTITY_STATUS_PAUSED` `YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_IN_STREAM` ad
 26996  // groups under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
 26997  // entityStatus="ENTITY_STATUS_PAUSED") AND
 26998  // adGroupFormat="YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_IN_STREAM" The length
 26999  // of this field should be no more than 500 characters. Reference our filter
 27000  // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more
 27001  // information.
 27002  func (c *AdvertisersYoutubeAdGroupsListCall) Filter(filter string) *AdvertisersYoutubeAdGroupsListCall {
 27003  	c.urlParams_.Set("filter", filter)
 27004  	return c
 27005  }
 27006  
 27007  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 27008  // list. Acceptable values are: * `displayName` (default) * `entityStatus` The
 27009  // default sorting order is ascending. To specify descending order for a field,
 27010  // a suffix "desc" should be added to the field name. Example: `displayName
 27011  // desc`.
 27012  func (c *AdvertisersYoutubeAdGroupsListCall) OrderBy(orderBy string) *AdvertisersYoutubeAdGroupsListCall {
 27013  	c.urlParams_.Set("orderBy", orderBy)
 27014  	return c
 27015  }
 27016  
 27017  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 27018  // be between `1` and `200`. If unspecified will default to `100`. Returns
 27019  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 27020  func (c *AdvertisersYoutubeAdGroupsListCall) PageSize(pageSize int64) *AdvertisersYoutubeAdGroupsListCall {
 27021  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 27022  	return c
 27023  }
 27024  
 27025  // PageToken sets the optional parameter "pageToken": A token identifying a
 27026  // page of results the server should return. Typically, this is the value of
 27027  // next_page_token returned from the previous call to `ListYoutubeAdGroups`
 27028  // method. If not specified, the first page of results will be returned.
 27029  func (c *AdvertisersYoutubeAdGroupsListCall) PageToken(pageToken string) *AdvertisersYoutubeAdGroupsListCall {
 27030  	c.urlParams_.Set("pageToken", pageToken)
 27031  	return c
 27032  }
 27033  
 27034  // Fields allows partial responses to be retrieved. See
 27035  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27036  // details.
 27037  func (c *AdvertisersYoutubeAdGroupsListCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupsListCall {
 27038  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27039  	return c
 27040  }
 27041  
 27042  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27043  // object's ETag matches the given value. This is useful for getting updates
 27044  // only after the object has changed since the last request.
 27045  func (c *AdvertisersYoutubeAdGroupsListCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupsListCall {
 27046  	c.ifNoneMatch_ = entityTag
 27047  	return c
 27048  }
 27049  
 27050  // Context sets the context to be used in this call's Do method.
 27051  func (c *AdvertisersYoutubeAdGroupsListCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupsListCall {
 27052  	c.ctx_ = ctx
 27053  	return c
 27054  }
 27055  
 27056  // Header returns a http.Header that can be modified by the caller to add
 27057  // headers to the request.
 27058  func (c *AdvertisersYoutubeAdGroupsListCall) Header() http.Header {
 27059  	if c.header_ == nil {
 27060  		c.header_ = make(http.Header)
 27061  	}
 27062  	return c.header_
 27063  }
 27064  
 27065  func (c *AdvertisersYoutubeAdGroupsListCall) doRequest(alt string) (*http.Response, error) {
 27066  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27067  	if c.ifNoneMatch_ != "" {
 27068  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27069  	}
 27070  	var body io.Reader = nil
 27071  	c.urlParams_.Set("alt", alt)
 27072  	c.urlParams_.Set("prettyPrint", "false")
 27073  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroups")
 27074  	urls += "?" + c.urlParams_.Encode()
 27075  	req, err := http.NewRequest("GET", urls, body)
 27076  	if err != nil {
 27077  		return nil, err
 27078  	}
 27079  	req.Header = reqHeaders
 27080  	googleapi.Expand(req.URL, map[string]string{
 27081  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 27082  	})
 27083  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27084  }
 27085  
 27086  // Do executes the "displayvideo.advertisers.youtubeAdGroups.list" call.
 27087  // Any non-2xx status code is an error. Response headers are in either
 27088  // *ListYoutubeAdGroupsResponse.ServerResponse.Header or (if a response was
 27089  // returned at all) in error.(*googleapi.Error).Header. Use
 27090  // googleapi.IsNotModified to check whether the returned error was because
 27091  // http.StatusNotModified was returned.
 27092  func (c *AdvertisersYoutubeAdGroupsListCall) Do(opts ...googleapi.CallOption) (*ListYoutubeAdGroupsResponse, error) {
 27093  	gensupport.SetOptions(c.urlParams_, opts...)
 27094  	res, err := c.doRequest("json")
 27095  	if res != nil && res.StatusCode == http.StatusNotModified {
 27096  		if res.Body != nil {
 27097  			res.Body.Close()
 27098  		}
 27099  		return nil, gensupport.WrapError(&googleapi.Error{
 27100  			Code:   res.StatusCode,
 27101  			Header: res.Header,
 27102  		})
 27103  	}
 27104  	if err != nil {
 27105  		return nil, err
 27106  	}
 27107  	defer googleapi.CloseBody(res)
 27108  	if err := googleapi.CheckResponse(res); err != nil {
 27109  		return nil, gensupport.WrapError(err)
 27110  	}
 27111  	ret := &ListYoutubeAdGroupsResponse{
 27112  		ServerResponse: googleapi.ServerResponse{
 27113  			Header:         res.Header,
 27114  			HTTPStatusCode: res.StatusCode,
 27115  		},
 27116  	}
 27117  	target := &ret
 27118  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27119  		return nil, err
 27120  	}
 27121  	return ret, nil
 27122  }
 27123  
 27124  // Pages invokes f for each page of results.
 27125  // A non-nil error returned from f will halt the iteration.
 27126  // The provided context supersedes any context provided to the Context method.
 27127  func (c *AdvertisersYoutubeAdGroupsListCall) Pages(ctx context.Context, f func(*ListYoutubeAdGroupsResponse) error) error {
 27128  	c.ctx_ = ctx
 27129  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 27130  	for {
 27131  		x, err := c.Do()
 27132  		if err != nil {
 27133  			return err
 27134  		}
 27135  		if err := f(x); err != nil {
 27136  			return err
 27137  		}
 27138  		if x.NextPageToken == "" {
 27139  			return nil
 27140  		}
 27141  		c.PageToken(x.NextPageToken)
 27142  	}
 27143  }
 27144  
 27145  type AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall struct {
 27146  	s                         *Service
 27147  	advertiserId              int64
 27148  	youtubeAdGroupId          int64
 27149  	targetingType             string
 27150  	assignedTargetingOptionId string
 27151  	urlParams_                gensupport.URLParams
 27152  	ifNoneMatch_              string
 27153  	ctx_                      context.Context
 27154  	header_                   http.Header
 27155  }
 27156  
 27157  // Get: Gets a single targeting option assigned to a YouTube ad group.
 27158  // Inherited assigned targeting options are not included.
 27159  //
 27160  //   - advertiserId: The ID of the advertiser the ad group belongs to.
 27161  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 27162  //     this line item that identifies the assigned targeting option being
 27163  //     requested.
 27164  //   - targetingType: Identifies the type of this assigned targeting option.
 27165  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 27166  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 27167  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` *
 27168  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` *
 27169  //     `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` *
 27170  //     `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` *
 27171  //     `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`.
 27172  //   - youtubeAdGroupId: The ID of the ad group the assigned targeting option
 27173  //     belongs to.
 27174  func (r *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, youtubeAdGroupId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall {
 27175  	c := &AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27176  	c.advertiserId = advertiserId
 27177  	c.youtubeAdGroupId = youtubeAdGroupId
 27178  	c.targetingType = targetingType
 27179  	c.assignedTargetingOptionId = assignedTargetingOptionId
 27180  	return c
 27181  }
 27182  
 27183  // Fields allows partial responses to be retrieved. See
 27184  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27185  // details.
 27186  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall {
 27187  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27188  	return c
 27189  }
 27190  
 27191  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27192  // object's ETag matches the given value. This is useful for getting updates
 27193  // only after the object has changed since the last request.
 27194  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall {
 27195  	c.ifNoneMatch_ = entityTag
 27196  	return c
 27197  }
 27198  
 27199  // Context sets the context to be used in this call's Do method.
 27200  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall {
 27201  	c.ctx_ = ctx
 27202  	return c
 27203  }
 27204  
 27205  // Header returns a http.Header that can be modified by the caller to add
 27206  // headers to the request.
 27207  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 27208  	if c.header_ == nil {
 27209  		c.header_ = make(http.Header)
 27210  	}
 27211  	return c.header_
 27212  }
 27213  
 27214  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 27215  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27216  	if c.ifNoneMatch_ != "" {
 27217  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27218  	}
 27219  	var body io.Reader = nil
 27220  	c.urlParams_.Set("alt", alt)
 27221  	c.urlParams_.Set("prettyPrint", "false")
 27222  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroups/{+youtubeAdGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 27223  	urls += "?" + c.urlParams_.Encode()
 27224  	req, err := http.NewRequest("GET", urls, body)
 27225  	if err != nil {
 27226  		return nil, err
 27227  	}
 27228  	req.Header = reqHeaders
 27229  	googleapi.Expand(req.URL, map[string]string{
 27230  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 27231  		"youtubeAdGroupId":          strconv.FormatInt(c.youtubeAdGroupId, 10),
 27232  		"targetingType":             c.targetingType,
 27233  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 27234  	})
 27235  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27236  }
 27237  
 27238  // Do executes the "displayvideo.advertisers.youtubeAdGroups.targetingTypes.assignedTargetingOptions.get" call.
 27239  // Any non-2xx status code is an error. Response headers are in either
 27240  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 27241  // returned at all) in error.(*googleapi.Error).Header. Use
 27242  // googleapi.IsNotModified to check whether the returned error was because
 27243  // http.StatusNotModified was returned.
 27244  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 27245  	gensupport.SetOptions(c.urlParams_, opts...)
 27246  	res, err := c.doRequest("json")
 27247  	if res != nil && res.StatusCode == http.StatusNotModified {
 27248  		if res.Body != nil {
 27249  			res.Body.Close()
 27250  		}
 27251  		return nil, gensupport.WrapError(&googleapi.Error{
 27252  			Code:   res.StatusCode,
 27253  			Header: res.Header,
 27254  		})
 27255  	}
 27256  	if err != nil {
 27257  		return nil, err
 27258  	}
 27259  	defer googleapi.CloseBody(res)
 27260  	if err := googleapi.CheckResponse(res); err != nil {
 27261  		return nil, gensupport.WrapError(err)
 27262  	}
 27263  	ret := &AssignedTargetingOption{
 27264  		ServerResponse: googleapi.ServerResponse{
 27265  			Header:         res.Header,
 27266  			HTTPStatusCode: res.StatusCode,
 27267  		},
 27268  	}
 27269  	target := &ret
 27270  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27271  		return nil, err
 27272  	}
 27273  	return ret, nil
 27274  }
 27275  
 27276  type AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall struct {
 27277  	s                *Service
 27278  	advertiserId     int64
 27279  	youtubeAdGroupId int64
 27280  	targetingType    string
 27281  	urlParams_       gensupport.URLParams
 27282  	ifNoneMatch_     string
 27283  	ctx_             context.Context
 27284  	header_          http.Header
 27285  }
 27286  
 27287  // List: Lists the targeting options assigned to a YouTube ad group. Inherited
 27288  // assigned targeting options are not included.
 27289  //
 27290  //   - advertiserId: The ID of the advertiser the ad group belongs to.
 27291  //   - targetingType: Identifies the type of assigned targeting options to list.
 27292  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 27293  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 27294  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` *
 27295  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` *
 27296  //     `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` *
 27297  //     `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` *
 27298  //     `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`.
 27299  //   - youtubeAdGroupId: The ID of the ad group to list assigned targeting
 27300  //     options for.
 27301  func (r *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, youtubeAdGroupId int64, targetingType string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 27302  	c := &AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27303  	c.advertiserId = advertiserId
 27304  	c.youtubeAdGroupId = youtubeAdGroupId
 27305  	c.targetingType = targetingType
 27306  	return c
 27307  }
 27308  
 27309  // Filter sets the optional parameter "filter": Allows filtering by assigned
 27310  // targeting option fields. Supported syntax: * Filter expressions are made up
 27311  // of one or more restrictions. * Restrictions can be combined by the logical
 27312  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 27313  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 27314  // `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resources
 27315  // with ID 1 or 2: `assignedTargetingOptionId="1" OR
 27316  // assignedTargetingOptionId="2" The length of this field should be no more
 27317  // than 500 characters. Reference our filter `LIST` requests
 27318  // (/display-video/api/guides/how-tos/filters) guide for more information.
 27319  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 27320  	c.urlParams_.Set("filter", filter)
 27321  	return c
 27322  }
 27323  
 27324  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 27325  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 27326  // default sorting order is ascending. To specify descending order for a field,
 27327  // a suffix "desc" should be added to the field name. Example:
 27328  // `assignedTargetingOptionId desc`.
 27329  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 27330  	c.urlParams_.Set("orderBy", orderBy)
 27331  	return c
 27332  }
 27333  
 27334  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 27335  // be between `1` and `5000`. If unspecified will default to `100`. Returns
 27336  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 27337  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 27338  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 27339  	return c
 27340  }
 27341  
 27342  // PageToken sets the optional parameter "pageToken": A token identifying a
 27343  // page of results the server should return. Typically, this is the value of
 27344  // next_page_token returned from the previous call to
 27345  // `ListYoutubeAdGroupAssignedTargetingOptions` method. If not specified, the
 27346  // first page of results will be returned.
 27347  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 27348  	c.urlParams_.Set("pageToken", pageToken)
 27349  	return c
 27350  }
 27351  
 27352  // Fields allows partial responses to be retrieved. See
 27353  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27354  // details.
 27355  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 27356  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27357  	return c
 27358  }
 27359  
 27360  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27361  // object's ETag matches the given value. This is useful for getting updates
 27362  // only after the object has changed since the last request.
 27363  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 27364  	c.ifNoneMatch_ = entityTag
 27365  	return c
 27366  }
 27367  
 27368  // Context sets the context to be used in this call's Do method.
 27369  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 27370  	c.ctx_ = ctx
 27371  	return c
 27372  }
 27373  
 27374  // Header returns a http.Header that can be modified by the caller to add
 27375  // headers to the request.
 27376  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 27377  	if c.header_ == nil {
 27378  		c.header_ = make(http.Header)
 27379  	}
 27380  	return c.header_
 27381  }
 27382  
 27383  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 27384  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27385  	if c.ifNoneMatch_ != "" {
 27386  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27387  	}
 27388  	var body io.Reader = nil
 27389  	c.urlParams_.Set("alt", alt)
 27390  	c.urlParams_.Set("prettyPrint", "false")
 27391  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/advertisers/{+advertiserId}/youtubeAdGroups/{+youtubeAdGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 27392  	urls += "?" + c.urlParams_.Encode()
 27393  	req, err := http.NewRequest("GET", urls, body)
 27394  	if err != nil {
 27395  		return nil, err
 27396  	}
 27397  	req.Header = reqHeaders
 27398  	googleapi.Expand(req.URL, map[string]string{
 27399  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 27400  		"youtubeAdGroupId": strconv.FormatInt(c.youtubeAdGroupId, 10),
 27401  		"targetingType":    c.targetingType,
 27402  	})
 27403  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27404  }
 27405  
 27406  // Do executes the "displayvideo.advertisers.youtubeAdGroups.targetingTypes.assignedTargetingOptions.list" call.
 27407  // Any non-2xx status code is an error. Response headers are in either
 27408  // *ListYoutubeAdGroupAssignedTargetingOptionsResponse.ServerResponse.Header or
 27409  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 27410  // googleapi.IsNotModified to check whether the returned error was because
 27411  // http.StatusNotModified was returned.
 27412  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListYoutubeAdGroupAssignedTargetingOptionsResponse, error) {
 27413  	gensupport.SetOptions(c.urlParams_, opts...)
 27414  	res, err := c.doRequest("json")
 27415  	if res != nil && res.StatusCode == http.StatusNotModified {
 27416  		if res.Body != nil {
 27417  			res.Body.Close()
 27418  		}
 27419  		return nil, gensupport.WrapError(&googleapi.Error{
 27420  			Code:   res.StatusCode,
 27421  			Header: res.Header,
 27422  		})
 27423  	}
 27424  	if err != nil {
 27425  		return nil, err
 27426  	}
 27427  	defer googleapi.CloseBody(res)
 27428  	if err := googleapi.CheckResponse(res); err != nil {
 27429  		return nil, gensupport.WrapError(err)
 27430  	}
 27431  	ret := &ListYoutubeAdGroupAssignedTargetingOptionsResponse{
 27432  		ServerResponse: googleapi.ServerResponse{
 27433  			Header:         res.Header,
 27434  			HTTPStatusCode: res.StatusCode,
 27435  		},
 27436  	}
 27437  	target := &ret
 27438  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27439  		return nil, err
 27440  	}
 27441  	return ret, nil
 27442  }
 27443  
 27444  // Pages invokes f for each page of results.
 27445  // A non-nil error returned from f will halt the iteration.
 27446  // The provided context supersedes any context provided to the Context method.
 27447  func (c *AdvertisersYoutubeAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListYoutubeAdGroupAssignedTargetingOptionsResponse) error) error {
 27448  	c.ctx_ = ctx
 27449  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 27450  	for {
 27451  		x, err := c.Do()
 27452  		if err != nil {
 27453  			return err
 27454  		}
 27455  		if err := f(x); err != nil {
 27456  			return err
 27457  		}
 27458  		if x.NextPageToken == "" {
 27459  			return nil
 27460  		}
 27461  		c.PageToken(x.NextPageToken)
 27462  	}
 27463  }
 27464  
 27465  type CombinedAudiencesGetCall struct {
 27466  	s                  *Service
 27467  	combinedAudienceId int64
 27468  	urlParams_         gensupport.URLParams
 27469  	ifNoneMatch_       string
 27470  	ctx_               context.Context
 27471  	header_            http.Header
 27472  }
 27473  
 27474  // Get: Gets a combined audience.
 27475  //
 27476  // - combinedAudienceId: The ID of the combined audience to fetch.
 27477  func (r *CombinedAudiencesService) Get(combinedAudienceId int64) *CombinedAudiencesGetCall {
 27478  	c := &CombinedAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27479  	c.combinedAudienceId = combinedAudienceId
 27480  	return c
 27481  }
 27482  
 27483  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 27484  // advertiser that has access to the fetched combined audience.
 27485  func (c *CombinedAudiencesGetCall) AdvertiserId(advertiserId int64) *CombinedAudiencesGetCall {
 27486  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 27487  	return c
 27488  }
 27489  
 27490  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 27491  // that has access to the fetched combined audience.
 27492  func (c *CombinedAudiencesGetCall) PartnerId(partnerId int64) *CombinedAudiencesGetCall {
 27493  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 27494  	return c
 27495  }
 27496  
 27497  // Fields allows partial responses to be retrieved. See
 27498  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27499  // details.
 27500  func (c *CombinedAudiencesGetCall) Fields(s ...googleapi.Field) *CombinedAudiencesGetCall {
 27501  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27502  	return c
 27503  }
 27504  
 27505  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27506  // object's ETag matches the given value. This is useful for getting updates
 27507  // only after the object has changed since the last request.
 27508  func (c *CombinedAudiencesGetCall) IfNoneMatch(entityTag string) *CombinedAudiencesGetCall {
 27509  	c.ifNoneMatch_ = entityTag
 27510  	return c
 27511  }
 27512  
 27513  // Context sets the context to be used in this call's Do method.
 27514  func (c *CombinedAudiencesGetCall) Context(ctx context.Context) *CombinedAudiencesGetCall {
 27515  	c.ctx_ = ctx
 27516  	return c
 27517  }
 27518  
 27519  // Header returns a http.Header that can be modified by the caller to add
 27520  // headers to the request.
 27521  func (c *CombinedAudiencesGetCall) Header() http.Header {
 27522  	if c.header_ == nil {
 27523  		c.header_ = make(http.Header)
 27524  	}
 27525  	return c.header_
 27526  }
 27527  
 27528  func (c *CombinedAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
 27529  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27530  	if c.ifNoneMatch_ != "" {
 27531  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27532  	}
 27533  	var body io.Reader = nil
 27534  	c.urlParams_.Set("alt", alt)
 27535  	c.urlParams_.Set("prettyPrint", "false")
 27536  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/combinedAudiences/{+combinedAudienceId}")
 27537  	urls += "?" + c.urlParams_.Encode()
 27538  	req, err := http.NewRequest("GET", urls, body)
 27539  	if err != nil {
 27540  		return nil, err
 27541  	}
 27542  	req.Header = reqHeaders
 27543  	googleapi.Expand(req.URL, map[string]string{
 27544  		"combinedAudienceId": strconv.FormatInt(c.combinedAudienceId, 10),
 27545  	})
 27546  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27547  }
 27548  
 27549  // Do executes the "displayvideo.combinedAudiences.get" call.
 27550  // Any non-2xx status code is an error. Response headers are in either
 27551  // *CombinedAudience.ServerResponse.Header or (if a response was returned at
 27552  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 27553  // check whether the returned error was because http.StatusNotModified was
 27554  // returned.
 27555  func (c *CombinedAudiencesGetCall) Do(opts ...googleapi.CallOption) (*CombinedAudience, error) {
 27556  	gensupport.SetOptions(c.urlParams_, opts...)
 27557  	res, err := c.doRequest("json")
 27558  	if res != nil && res.StatusCode == http.StatusNotModified {
 27559  		if res.Body != nil {
 27560  			res.Body.Close()
 27561  		}
 27562  		return nil, gensupport.WrapError(&googleapi.Error{
 27563  			Code:   res.StatusCode,
 27564  			Header: res.Header,
 27565  		})
 27566  	}
 27567  	if err != nil {
 27568  		return nil, err
 27569  	}
 27570  	defer googleapi.CloseBody(res)
 27571  	if err := googleapi.CheckResponse(res); err != nil {
 27572  		return nil, gensupport.WrapError(err)
 27573  	}
 27574  	ret := &CombinedAudience{
 27575  		ServerResponse: googleapi.ServerResponse{
 27576  			Header:         res.Header,
 27577  			HTTPStatusCode: res.StatusCode,
 27578  		},
 27579  	}
 27580  	target := &ret
 27581  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27582  		return nil, err
 27583  	}
 27584  	return ret, nil
 27585  }
 27586  
 27587  type CombinedAudiencesListCall struct {
 27588  	s            *Service
 27589  	urlParams_   gensupport.URLParams
 27590  	ifNoneMatch_ string
 27591  	ctx_         context.Context
 27592  	header_      http.Header
 27593  }
 27594  
 27595  // List: Lists combined audiences. The order is defined by the order_by
 27596  // parameter.
 27597  func (r *CombinedAudiencesService) List() *CombinedAudiencesListCall {
 27598  	c := &CombinedAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27599  	return c
 27600  }
 27601  
 27602  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 27603  // advertiser that has access to the fetched combined audiences.
 27604  func (c *CombinedAudiencesListCall) AdvertiserId(advertiserId int64) *CombinedAudiencesListCall {
 27605  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 27606  	return c
 27607  }
 27608  
 27609  // Filter sets the optional parameter "filter": Allows filtering by combined
 27610  // audience fields. Supported syntax: * Filter expressions for combined
 27611  // audiences can only contain at most one restriction. * A restriction has the
 27612  // form of `{field} {operator} {value}`. * All fields must use the `HAS (:)`
 27613  // operator. Supported fields: * `displayName` Examples: * All combined
 27614  // audiences for which the display name contains "Google": `displayName :
 27615  // "Google". The length of this field should be no more than 500 characters.
 27616  // Reference our filter `LIST` requests
 27617  // (/display-video/api/guides/how-tos/filters) guide for more information.
 27618  func (c *CombinedAudiencesListCall) Filter(filter string) *CombinedAudiencesListCall {
 27619  	c.urlParams_.Set("filter", filter)
 27620  	return c
 27621  }
 27622  
 27623  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 27624  // list. Acceptable values are: * `combinedAudienceId` (default) *
 27625  // `displayName` The default sorting order is ascending. To specify descending
 27626  // order for a field, a suffix "desc" should be added to the field name.
 27627  // Example: `displayName desc`.
 27628  func (c *CombinedAudiencesListCall) OrderBy(orderBy string) *CombinedAudiencesListCall {
 27629  	c.urlParams_.Set("orderBy", orderBy)
 27630  	return c
 27631  }
 27632  
 27633  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 27634  // be between `1` and `200`. If unspecified will default to `100`. Returns
 27635  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 27636  func (c *CombinedAudiencesListCall) PageSize(pageSize int64) *CombinedAudiencesListCall {
 27637  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 27638  	return c
 27639  }
 27640  
 27641  // PageToken sets the optional parameter "pageToken": A token identifying a
 27642  // page of results the server should return. Typically, this is the value of
 27643  // next_page_token returned from the previous call to `ListCombinedAudiences`
 27644  // method. If not specified, the first page of results will be returned.
 27645  func (c *CombinedAudiencesListCall) PageToken(pageToken string) *CombinedAudiencesListCall {
 27646  	c.urlParams_.Set("pageToken", pageToken)
 27647  	return c
 27648  }
 27649  
 27650  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 27651  // that has access to the fetched combined audiences.
 27652  func (c *CombinedAudiencesListCall) PartnerId(partnerId int64) *CombinedAudiencesListCall {
 27653  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 27654  	return c
 27655  }
 27656  
 27657  // Fields allows partial responses to be retrieved. See
 27658  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27659  // details.
 27660  func (c *CombinedAudiencesListCall) Fields(s ...googleapi.Field) *CombinedAudiencesListCall {
 27661  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27662  	return c
 27663  }
 27664  
 27665  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27666  // object's ETag matches the given value. This is useful for getting updates
 27667  // only after the object has changed since the last request.
 27668  func (c *CombinedAudiencesListCall) IfNoneMatch(entityTag string) *CombinedAudiencesListCall {
 27669  	c.ifNoneMatch_ = entityTag
 27670  	return c
 27671  }
 27672  
 27673  // Context sets the context to be used in this call's Do method.
 27674  func (c *CombinedAudiencesListCall) Context(ctx context.Context) *CombinedAudiencesListCall {
 27675  	c.ctx_ = ctx
 27676  	return c
 27677  }
 27678  
 27679  // Header returns a http.Header that can be modified by the caller to add
 27680  // headers to the request.
 27681  func (c *CombinedAudiencesListCall) Header() http.Header {
 27682  	if c.header_ == nil {
 27683  		c.header_ = make(http.Header)
 27684  	}
 27685  	return c.header_
 27686  }
 27687  
 27688  func (c *CombinedAudiencesListCall) doRequest(alt string) (*http.Response, error) {
 27689  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27690  	if c.ifNoneMatch_ != "" {
 27691  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27692  	}
 27693  	var body io.Reader = nil
 27694  	c.urlParams_.Set("alt", alt)
 27695  	c.urlParams_.Set("prettyPrint", "false")
 27696  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/combinedAudiences")
 27697  	urls += "?" + c.urlParams_.Encode()
 27698  	req, err := http.NewRequest("GET", urls, body)
 27699  	if err != nil {
 27700  		return nil, err
 27701  	}
 27702  	req.Header = reqHeaders
 27703  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27704  }
 27705  
 27706  // Do executes the "displayvideo.combinedAudiences.list" call.
 27707  // Any non-2xx status code is an error. Response headers are in either
 27708  // *ListCombinedAudiencesResponse.ServerResponse.Header or (if a response was
 27709  // returned at all) in error.(*googleapi.Error).Header. Use
 27710  // googleapi.IsNotModified to check whether the returned error was because
 27711  // http.StatusNotModified was returned.
 27712  func (c *CombinedAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListCombinedAudiencesResponse, error) {
 27713  	gensupport.SetOptions(c.urlParams_, opts...)
 27714  	res, err := c.doRequest("json")
 27715  	if res != nil && res.StatusCode == http.StatusNotModified {
 27716  		if res.Body != nil {
 27717  			res.Body.Close()
 27718  		}
 27719  		return nil, gensupport.WrapError(&googleapi.Error{
 27720  			Code:   res.StatusCode,
 27721  			Header: res.Header,
 27722  		})
 27723  	}
 27724  	if err != nil {
 27725  		return nil, err
 27726  	}
 27727  	defer googleapi.CloseBody(res)
 27728  	if err := googleapi.CheckResponse(res); err != nil {
 27729  		return nil, gensupport.WrapError(err)
 27730  	}
 27731  	ret := &ListCombinedAudiencesResponse{
 27732  		ServerResponse: googleapi.ServerResponse{
 27733  			Header:         res.Header,
 27734  			HTTPStatusCode: res.StatusCode,
 27735  		},
 27736  	}
 27737  	target := &ret
 27738  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27739  		return nil, err
 27740  	}
 27741  	return ret, nil
 27742  }
 27743  
 27744  // Pages invokes f for each page of results.
 27745  // A non-nil error returned from f will halt the iteration.
 27746  // The provided context supersedes any context provided to the Context method.
 27747  func (c *CombinedAudiencesListCall) Pages(ctx context.Context, f func(*ListCombinedAudiencesResponse) error) error {
 27748  	c.ctx_ = ctx
 27749  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 27750  	for {
 27751  		x, err := c.Do()
 27752  		if err != nil {
 27753  			return err
 27754  		}
 27755  		if err := f(x); err != nil {
 27756  			return err
 27757  		}
 27758  		if x.NextPageToken == "" {
 27759  			return nil
 27760  		}
 27761  		c.PageToken(x.NextPageToken)
 27762  	}
 27763  }
 27764  
 27765  type CustomBiddingAlgorithmsCreateCall struct {
 27766  	s                      *Service
 27767  	custombiddingalgorithm *CustomBiddingAlgorithm
 27768  	urlParams_             gensupport.URLParams
 27769  	ctx_                   context.Context
 27770  	header_                http.Header
 27771  }
 27772  
 27773  // Create: Creates a new custom bidding algorithm. Returns the newly created
 27774  // custom bidding algorithm if successful.
 27775  func (r *CustomBiddingAlgorithmsService) Create(custombiddingalgorithm *CustomBiddingAlgorithm) *CustomBiddingAlgorithmsCreateCall {
 27776  	c := &CustomBiddingAlgorithmsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27777  	c.custombiddingalgorithm = custombiddingalgorithm
 27778  	return c
 27779  }
 27780  
 27781  // Fields allows partial responses to be retrieved. See
 27782  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27783  // details.
 27784  func (c *CustomBiddingAlgorithmsCreateCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsCreateCall {
 27785  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27786  	return c
 27787  }
 27788  
 27789  // Context sets the context to be used in this call's Do method.
 27790  func (c *CustomBiddingAlgorithmsCreateCall) Context(ctx context.Context) *CustomBiddingAlgorithmsCreateCall {
 27791  	c.ctx_ = ctx
 27792  	return c
 27793  }
 27794  
 27795  // Header returns a http.Header that can be modified by the caller to add
 27796  // headers to the request.
 27797  func (c *CustomBiddingAlgorithmsCreateCall) Header() http.Header {
 27798  	if c.header_ == nil {
 27799  		c.header_ = make(http.Header)
 27800  	}
 27801  	return c.header_
 27802  }
 27803  
 27804  func (c *CustomBiddingAlgorithmsCreateCall) doRequest(alt string) (*http.Response, error) {
 27805  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 27806  	var body io.Reader = nil
 27807  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.custombiddingalgorithm)
 27808  	if err != nil {
 27809  		return nil, err
 27810  	}
 27811  	c.urlParams_.Set("alt", alt)
 27812  	c.urlParams_.Set("prettyPrint", "false")
 27813  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms")
 27814  	urls += "?" + c.urlParams_.Encode()
 27815  	req, err := http.NewRequest("POST", urls, body)
 27816  	if err != nil {
 27817  		return nil, err
 27818  	}
 27819  	req.Header = reqHeaders
 27820  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27821  }
 27822  
 27823  // Do executes the "displayvideo.customBiddingAlgorithms.create" call.
 27824  // Any non-2xx status code is an error. Response headers are in either
 27825  // *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was returned
 27826  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 27827  // check whether the returned error was because http.StatusNotModified was
 27828  // returned.
 27829  func (c *CustomBiddingAlgorithmsCreateCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) {
 27830  	gensupport.SetOptions(c.urlParams_, opts...)
 27831  	res, err := c.doRequest("json")
 27832  	if res != nil && res.StatusCode == http.StatusNotModified {
 27833  		if res.Body != nil {
 27834  			res.Body.Close()
 27835  		}
 27836  		return nil, gensupport.WrapError(&googleapi.Error{
 27837  			Code:   res.StatusCode,
 27838  			Header: res.Header,
 27839  		})
 27840  	}
 27841  	if err != nil {
 27842  		return nil, err
 27843  	}
 27844  	defer googleapi.CloseBody(res)
 27845  	if err := googleapi.CheckResponse(res); err != nil {
 27846  		return nil, gensupport.WrapError(err)
 27847  	}
 27848  	ret := &CustomBiddingAlgorithm{
 27849  		ServerResponse: googleapi.ServerResponse{
 27850  			Header:         res.Header,
 27851  			HTTPStatusCode: res.StatusCode,
 27852  		},
 27853  	}
 27854  	target := &ret
 27855  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27856  		return nil, err
 27857  	}
 27858  	return ret, nil
 27859  }
 27860  
 27861  type CustomBiddingAlgorithmsGetCall struct {
 27862  	s                        *Service
 27863  	customBiddingAlgorithmId int64
 27864  	urlParams_               gensupport.URLParams
 27865  	ifNoneMatch_             string
 27866  	ctx_                     context.Context
 27867  	header_                  http.Header
 27868  }
 27869  
 27870  // Get: Gets a custom bidding algorithm.
 27871  //
 27872  // - customBiddingAlgorithmId: The ID of the custom bidding algorithm to fetch.
 27873  func (r *CustomBiddingAlgorithmsService) Get(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsGetCall {
 27874  	c := &CustomBiddingAlgorithmsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27875  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 27876  	return c
 27877  }
 27878  
 27879  // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360
 27880  // partner that has access to the custom bidding algorithm.
 27881  func (c *CustomBiddingAlgorithmsGetCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsGetCall {
 27882  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 27883  	return c
 27884  }
 27885  
 27886  // PartnerId sets the optional parameter "partnerId": The ID of the DV360
 27887  // partner that has access to the custom bidding algorithm.
 27888  func (c *CustomBiddingAlgorithmsGetCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsGetCall {
 27889  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 27890  	return c
 27891  }
 27892  
 27893  // Fields allows partial responses to be retrieved. See
 27894  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27895  // details.
 27896  func (c *CustomBiddingAlgorithmsGetCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsGetCall {
 27897  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27898  	return c
 27899  }
 27900  
 27901  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27902  // object's ETag matches the given value. This is useful for getting updates
 27903  // only after the object has changed since the last request.
 27904  func (c *CustomBiddingAlgorithmsGetCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsGetCall {
 27905  	c.ifNoneMatch_ = entityTag
 27906  	return c
 27907  }
 27908  
 27909  // Context sets the context to be used in this call's Do method.
 27910  func (c *CustomBiddingAlgorithmsGetCall) Context(ctx context.Context) *CustomBiddingAlgorithmsGetCall {
 27911  	c.ctx_ = ctx
 27912  	return c
 27913  }
 27914  
 27915  // Header returns a http.Header that can be modified by the caller to add
 27916  // headers to the request.
 27917  func (c *CustomBiddingAlgorithmsGetCall) Header() http.Header {
 27918  	if c.header_ == nil {
 27919  		c.header_ = make(http.Header)
 27920  	}
 27921  	return c.header_
 27922  }
 27923  
 27924  func (c *CustomBiddingAlgorithmsGetCall) doRequest(alt string) (*http.Response, error) {
 27925  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27926  	if c.ifNoneMatch_ != "" {
 27927  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27928  	}
 27929  	var body io.Reader = nil
 27930  	c.urlParams_.Set("alt", alt)
 27931  	c.urlParams_.Set("prettyPrint", "false")
 27932  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}")
 27933  	urls += "?" + c.urlParams_.Encode()
 27934  	req, err := http.NewRequest("GET", urls, body)
 27935  	if err != nil {
 27936  		return nil, err
 27937  	}
 27938  	req.Header = reqHeaders
 27939  	googleapi.Expand(req.URL, map[string]string{
 27940  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 27941  	})
 27942  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27943  }
 27944  
 27945  // Do executes the "displayvideo.customBiddingAlgorithms.get" call.
 27946  // Any non-2xx status code is an error. Response headers are in either
 27947  // *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was returned
 27948  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 27949  // check whether the returned error was because http.StatusNotModified was
 27950  // returned.
 27951  func (c *CustomBiddingAlgorithmsGetCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) {
 27952  	gensupport.SetOptions(c.urlParams_, opts...)
 27953  	res, err := c.doRequest("json")
 27954  	if res != nil && res.StatusCode == http.StatusNotModified {
 27955  		if res.Body != nil {
 27956  			res.Body.Close()
 27957  		}
 27958  		return nil, gensupport.WrapError(&googleapi.Error{
 27959  			Code:   res.StatusCode,
 27960  			Header: res.Header,
 27961  		})
 27962  	}
 27963  	if err != nil {
 27964  		return nil, err
 27965  	}
 27966  	defer googleapi.CloseBody(res)
 27967  	if err := googleapi.CheckResponse(res); err != nil {
 27968  		return nil, gensupport.WrapError(err)
 27969  	}
 27970  	ret := &CustomBiddingAlgorithm{
 27971  		ServerResponse: googleapi.ServerResponse{
 27972  			Header:         res.Header,
 27973  			HTTPStatusCode: res.StatusCode,
 27974  		},
 27975  	}
 27976  	target := &ret
 27977  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27978  		return nil, err
 27979  	}
 27980  	return ret, nil
 27981  }
 27982  
 27983  type CustomBiddingAlgorithmsListCall struct {
 27984  	s            *Service
 27985  	urlParams_   gensupport.URLParams
 27986  	ifNoneMatch_ string
 27987  	ctx_         context.Context
 27988  	header_      http.Header
 27989  }
 27990  
 27991  // List: Lists custom bidding algorithms that are accessible to the current
 27992  // user and can be used in bidding stratgies. The order is defined by the
 27993  // order_by parameter.
 27994  func (r *CustomBiddingAlgorithmsService) List() *CustomBiddingAlgorithmsListCall {
 27995  	c := &CustomBiddingAlgorithmsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27996  	return c
 27997  }
 27998  
 27999  // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360
 28000  // advertiser that has access to the custom bidding algorithm.
 28001  func (c *CustomBiddingAlgorithmsListCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsListCall {
 28002  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28003  	return c
 28004  }
 28005  
 28006  // Filter sets the optional parameter "filter": Allows filtering by custom
 28007  // bidding algorithm fields. Supported syntax: * Filter expressions are made up
 28008  // of one or more restrictions. * Restrictions can be combined by `AND`. A
 28009  // sequence of restrictions implicitly uses `AND`. * A restriction has the form
 28010  // of `{field} {operator} {value}`. * The `customBiddingAlgorithmType` field
 28011  // must use the `EQUALS (=)` operator. * The `displayName` field must use the
 28012  // `HAS (:)` operator. Supported fields: * `customBiddingAlgorithmType` *
 28013  // `displayName` Examples: * All custom bidding algorithms for which the
 28014  // display name contains "politics": `displayName:"politics". * All custom
 28015  // bidding algorithms for which the type is "SCRIPT_BASED":
 28016  // `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be
 28017  // no more than 500 characters. Reference our filter `LIST` requests
 28018  // (/display-video/api/guides/how-tos/filters) guide for more information.
 28019  func (c *CustomBiddingAlgorithmsListCall) Filter(filter string) *CustomBiddingAlgorithmsListCall {
 28020  	c.urlParams_.Set("filter", filter)
 28021  	return c
 28022  }
 28023  
 28024  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 28025  // list. Acceptable values are: * `displayName` (default) The default sorting
 28026  // order is ascending. To specify descending order for a field, a suffix "desc"
 28027  // should be added to the field name. Example: `displayName desc`.
 28028  func (c *CustomBiddingAlgorithmsListCall) OrderBy(orderBy string) *CustomBiddingAlgorithmsListCall {
 28029  	c.urlParams_.Set("orderBy", orderBy)
 28030  	return c
 28031  }
 28032  
 28033  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 28034  // be between `1` and `200`. If unspecified will default to `100`. Returns
 28035  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 28036  func (c *CustomBiddingAlgorithmsListCall) PageSize(pageSize int64) *CustomBiddingAlgorithmsListCall {
 28037  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 28038  	return c
 28039  }
 28040  
 28041  // PageToken sets the optional parameter "pageToken": A token identifying a
 28042  // page of results the server should return. Typically, this is the value of
 28043  // next_page_token returned from the previous call to
 28044  // `ListCustomBiddingAlgorithms` method. If not specified, the first page of
 28045  // results will be returned.
 28046  func (c *CustomBiddingAlgorithmsListCall) PageToken(pageToken string) *CustomBiddingAlgorithmsListCall {
 28047  	c.urlParams_.Set("pageToken", pageToken)
 28048  	return c
 28049  }
 28050  
 28051  // PartnerId sets the optional parameter "partnerId": The ID of the DV360
 28052  // partner that has access to the custom bidding algorithm.
 28053  func (c *CustomBiddingAlgorithmsListCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsListCall {
 28054  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28055  	return c
 28056  }
 28057  
 28058  // Fields allows partial responses to be retrieved. See
 28059  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28060  // details.
 28061  func (c *CustomBiddingAlgorithmsListCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsListCall {
 28062  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28063  	return c
 28064  }
 28065  
 28066  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 28067  // object's ETag matches the given value. This is useful for getting updates
 28068  // only after the object has changed since the last request.
 28069  func (c *CustomBiddingAlgorithmsListCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsListCall {
 28070  	c.ifNoneMatch_ = entityTag
 28071  	return c
 28072  }
 28073  
 28074  // Context sets the context to be used in this call's Do method.
 28075  func (c *CustomBiddingAlgorithmsListCall) Context(ctx context.Context) *CustomBiddingAlgorithmsListCall {
 28076  	c.ctx_ = ctx
 28077  	return c
 28078  }
 28079  
 28080  // Header returns a http.Header that can be modified by the caller to add
 28081  // headers to the request.
 28082  func (c *CustomBiddingAlgorithmsListCall) Header() http.Header {
 28083  	if c.header_ == nil {
 28084  		c.header_ = make(http.Header)
 28085  	}
 28086  	return c.header_
 28087  }
 28088  
 28089  func (c *CustomBiddingAlgorithmsListCall) doRequest(alt string) (*http.Response, error) {
 28090  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 28091  	if c.ifNoneMatch_ != "" {
 28092  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28093  	}
 28094  	var body io.Reader = nil
 28095  	c.urlParams_.Set("alt", alt)
 28096  	c.urlParams_.Set("prettyPrint", "false")
 28097  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms")
 28098  	urls += "?" + c.urlParams_.Encode()
 28099  	req, err := http.NewRequest("GET", urls, body)
 28100  	if err != nil {
 28101  		return nil, err
 28102  	}
 28103  	req.Header = reqHeaders
 28104  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28105  }
 28106  
 28107  // Do executes the "displayvideo.customBiddingAlgorithms.list" call.
 28108  // Any non-2xx status code is an error. Response headers are in either
 28109  // *ListCustomBiddingAlgorithmsResponse.ServerResponse.Header or (if a response
 28110  // was returned at all) in error.(*googleapi.Error).Header. Use
 28111  // googleapi.IsNotModified to check whether the returned error was because
 28112  // http.StatusNotModified was returned.
 28113  func (c *CustomBiddingAlgorithmsListCall) Do(opts ...googleapi.CallOption) (*ListCustomBiddingAlgorithmsResponse, error) {
 28114  	gensupport.SetOptions(c.urlParams_, opts...)
 28115  	res, err := c.doRequest("json")
 28116  	if res != nil && res.StatusCode == http.StatusNotModified {
 28117  		if res.Body != nil {
 28118  			res.Body.Close()
 28119  		}
 28120  		return nil, gensupport.WrapError(&googleapi.Error{
 28121  			Code:   res.StatusCode,
 28122  			Header: res.Header,
 28123  		})
 28124  	}
 28125  	if err != nil {
 28126  		return nil, err
 28127  	}
 28128  	defer googleapi.CloseBody(res)
 28129  	if err := googleapi.CheckResponse(res); err != nil {
 28130  		return nil, gensupport.WrapError(err)
 28131  	}
 28132  	ret := &ListCustomBiddingAlgorithmsResponse{
 28133  		ServerResponse: googleapi.ServerResponse{
 28134  			Header:         res.Header,
 28135  			HTTPStatusCode: res.StatusCode,
 28136  		},
 28137  	}
 28138  	target := &ret
 28139  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28140  		return nil, err
 28141  	}
 28142  	return ret, nil
 28143  }
 28144  
 28145  // Pages invokes f for each page of results.
 28146  // A non-nil error returned from f will halt the iteration.
 28147  // The provided context supersedes any context provided to the Context method.
 28148  func (c *CustomBiddingAlgorithmsListCall) Pages(ctx context.Context, f func(*ListCustomBiddingAlgorithmsResponse) error) error {
 28149  	c.ctx_ = ctx
 28150  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 28151  	for {
 28152  		x, err := c.Do()
 28153  		if err != nil {
 28154  			return err
 28155  		}
 28156  		if err := f(x); err != nil {
 28157  			return err
 28158  		}
 28159  		if x.NextPageToken == "" {
 28160  			return nil
 28161  		}
 28162  		c.PageToken(x.NextPageToken)
 28163  	}
 28164  }
 28165  
 28166  type CustomBiddingAlgorithmsPatchCall struct {
 28167  	s                        *Service
 28168  	customBiddingAlgorithmId int64
 28169  	custombiddingalgorithm   *CustomBiddingAlgorithm
 28170  	urlParams_               gensupport.URLParams
 28171  	ctx_                     context.Context
 28172  	header_                  http.Header
 28173  }
 28174  
 28175  // Patch: Updates an existing custom bidding algorithm. Returns the updated
 28176  // custom bidding algorithm if successful.
 28177  //
 28178  //   - customBiddingAlgorithmId: Output only. The unique ID of the custom bidding
 28179  //     algorithm. Assigned by the system.
 28180  func (r *CustomBiddingAlgorithmsService) Patch(customBiddingAlgorithmId int64, custombiddingalgorithm *CustomBiddingAlgorithm) *CustomBiddingAlgorithmsPatchCall {
 28181  	c := &CustomBiddingAlgorithmsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28182  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28183  	c.custombiddingalgorithm = custombiddingalgorithm
 28184  	return c
 28185  }
 28186  
 28187  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 28188  // control which fields to update.
 28189  func (c *CustomBiddingAlgorithmsPatchCall) UpdateMask(updateMask string) *CustomBiddingAlgorithmsPatchCall {
 28190  	c.urlParams_.Set("updateMask", updateMask)
 28191  	return c
 28192  }
 28193  
 28194  // Fields allows partial responses to be retrieved. See
 28195  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28196  // details.
 28197  func (c *CustomBiddingAlgorithmsPatchCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsPatchCall {
 28198  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28199  	return c
 28200  }
 28201  
 28202  // Context sets the context to be used in this call's Do method.
 28203  func (c *CustomBiddingAlgorithmsPatchCall) Context(ctx context.Context) *CustomBiddingAlgorithmsPatchCall {
 28204  	c.ctx_ = ctx
 28205  	return c
 28206  }
 28207  
 28208  // Header returns a http.Header that can be modified by the caller to add
 28209  // headers to the request.
 28210  func (c *CustomBiddingAlgorithmsPatchCall) Header() http.Header {
 28211  	if c.header_ == nil {
 28212  		c.header_ = make(http.Header)
 28213  	}
 28214  	return c.header_
 28215  }
 28216  
 28217  func (c *CustomBiddingAlgorithmsPatchCall) doRequest(alt string) (*http.Response, error) {
 28218  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 28219  	var body io.Reader = nil
 28220  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.custombiddingalgorithm)
 28221  	if err != nil {
 28222  		return nil, err
 28223  	}
 28224  	c.urlParams_.Set("alt", alt)
 28225  	c.urlParams_.Set("prettyPrint", "false")
 28226  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}")
 28227  	urls += "?" + c.urlParams_.Encode()
 28228  	req, err := http.NewRequest("PATCH", urls, body)
 28229  	if err != nil {
 28230  		return nil, err
 28231  	}
 28232  	req.Header = reqHeaders
 28233  	googleapi.Expand(req.URL, map[string]string{
 28234  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28235  	})
 28236  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28237  }
 28238  
 28239  // Do executes the "displayvideo.customBiddingAlgorithms.patch" call.
 28240  // Any non-2xx status code is an error. Response headers are in either
 28241  // *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was returned
 28242  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 28243  // check whether the returned error was because http.StatusNotModified was
 28244  // returned.
 28245  func (c *CustomBiddingAlgorithmsPatchCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) {
 28246  	gensupport.SetOptions(c.urlParams_, opts...)
 28247  	res, err := c.doRequest("json")
 28248  	if res != nil && res.StatusCode == http.StatusNotModified {
 28249  		if res.Body != nil {
 28250  			res.Body.Close()
 28251  		}
 28252  		return nil, gensupport.WrapError(&googleapi.Error{
 28253  			Code:   res.StatusCode,
 28254  			Header: res.Header,
 28255  		})
 28256  	}
 28257  	if err != nil {
 28258  		return nil, err
 28259  	}
 28260  	defer googleapi.CloseBody(res)
 28261  	if err := googleapi.CheckResponse(res); err != nil {
 28262  		return nil, gensupport.WrapError(err)
 28263  	}
 28264  	ret := &CustomBiddingAlgorithm{
 28265  		ServerResponse: googleapi.ServerResponse{
 28266  			Header:         res.Header,
 28267  			HTTPStatusCode: res.StatusCode,
 28268  		},
 28269  	}
 28270  	target := &ret
 28271  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28272  		return nil, err
 28273  	}
 28274  	return ret, nil
 28275  }
 28276  
 28277  type CustomBiddingAlgorithmsUploadScriptCall struct {
 28278  	s                        *Service
 28279  	customBiddingAlgorithmId int64
 28280  	urlParams_               gensupport.URLParams
 28281  	ifNoneMatch_             string
 28282  	ctx_                     context.Context
 28283  	header_                  http.Header
 28284  }
 28285  
 28286  // UploadScript: Creates a custom bidding script reference object for a script
 28287  // file. The resulting reference object provides a resource path to which the
 28288  // script file should be uploaded. This reference object should be included in
 28289  // when creating a new custom bidding script object.
 28290  //
 28291  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm owns the
 28292  //     script.
 28293  func (r *CustomBiddingAlgorithmsService) UploadScript(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsUploadScriptCall {
 28294  	c := &CustomBiddingAlgorithmsUploadScriptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28295  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28296  	return c
 28297  }
 28298  
 28299  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28300  // advertiser that owns the parent custom bidding algorithm.
 28301  func (c *CustomBiddingAlgorithmsUploadScriptCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsUploadScriptCall {
 28302  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28303  	return c
 28304  }
 28305  
 28306  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28307  // that owns the parent custom bidding algorithm. Only this partner will have
 28308  // write access to this custom bidding script.
 28309  func (c *CustomBiddingAlgorithmsUploadScriptCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsUploadScriptCall {
 28310  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28311  	return c
 28312  }
 28313  
 28314  // Fields allows partial responses to be retrieved. See
 28315  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28316  // details.
 28317  func (c *CustomBiddingAlgorithmsUploadScriptCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsUploadScriptCall {
 28318  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28319  	return c
 28320  }
 28321  
 28322  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 28323  // object's ETag matches the given value. This is useful for getting updates
 28324  // only after the object has changed since the last request.
 28325  func (c *CustomBiddingAlgorithmsUploadScriptCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsUploadScriptCall {
 28326  	c.ifNoneMatch_ = entityTag
 28327  	return c
 28328  }
 28329  
 28330  // Context sets the context to be used in this call's Do method.
 28331  func (c *CustomBiddingAlgorithmsUploadScriptCall) Context(ctx context.Context) *CustomBiddingAlgorithmsUploadScriptCall {
 28332  	c.ctx_ = ctx
 28333  	return c
 28334  }
 28335  
 28336  // Header returns a http.Header that can be modified by the caller to add
 28337  // headers to the request.
 28338  func (c *CustomBiddingAlgorithmsUploadScriptCall) Header() http.Header {
 28339  	if c.header_ == nil {
 28340  		c.header_ = make(http.Header)
 28341  	}
 28342  	return c.header_
 28343  }
 28344  
 28345  func (c *CustomBiddingAlgorithmsUploadScriptCall) doRequest(alt string) (*http.Response, error) {
 28346  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 28347  	if c.ifNoneMatch_ != "" {
 28348  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28349  	}
 28350  	var body io.Reader = nil
 28351  	c.urlParams_.Set("alt", alt)
 28352  	c.urlParams_.Set("prettyPrint", "false")
 28353  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadScript")
 28354  	urls += "?" + c.urlParams_.Encode()
 28355  	req, err := http.NewRequest("GET", urls, body)
 28356  	if err != nil {
 28357  		return nil, err
 28358  	}
 28359  	req.Header = reqHeaders
 28360  	googleapi.Expand(req.URL, map[string]string{
 28361  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28362  	})
 28363  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28364  }
 28365  
 28366  // Do executes the "displayvideo.customBiddingAlgorithms.uploadScript" call.
 28367  // Any non-2xx status code is an error. Response headers are in either
 28368  // *CustomBiddingScriptRef.ServerResponse.Header or (if a response was returned
 28369  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 28370  // check whether the returned error was because http.StatusNotModified was
 28371  // returned.
 28372  func (c *CustomBiddingAlgorithmsUploadScriptCall) Do(opts ...googleapi.CallOption) (*CustomBiddingScriptRef, error) {
 28373  	gensupport.SetOptions(c.urlParams_, opts...)
 28374  	res, err := c.doRequest("json")
 28375  	if res != nil && res.StatusCode == http.StatusNotModified {
 28376  		if res.Body != nil {
 28377  			res.Body.Close()
 28378  		}
 28379  		return nil, gensupport.WrapError(&googleapi.Error{
 28380  			Code:   res.StatusCode,
 28381  			Header: res.Header,
 28382  		})
 28383  	}
 28384  	if err != nil {
 28385  		return nil, err
 28386  	}
 28387  	defer googleapi.CloseBody(res)
 28388  	if err := googleapi.CheckResponse(res); err != nil {
 28389  		return nil, gensupport.WrapError(err)
 28390  	}
 28391  	ret := &CustomBiddingScriptRef{
 28392  		ServerResponse: googleapi.ServerResponse{
 28393  			Header:         res.Header,
 28394  			HTTPStatusCode: res.StatusCode,
 28395  		},
 28396  	}
 28397  	target := &ret
 28398  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28399  		return nil, err
 28400  	}
 28401  	return ret, nil
 28402  }
 28403  
 28404  type CustomBiddingAlgorithmsScriptsCreateCall struct {
 28405  	s                        *Service
 28406  	customBiddingAlgorithmId int64
 28407  	custombiddingscript      *CustomBiddingScript
 28408  	urlParams_               gensupport.URLParams
 28409  	ctx_                     context.Context
 28410  	header_                  http.Header
 28411  }
 28412  
 28413  // Create: Creates a new custom bidding script. Returns the newly created
 28414  // script if successful.
 28415  //
 28416  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm that owns
 28417  //     the script.
 28418  func (r *CustomBiddingAlgorithmsScriptsService) Create(customBiddingAlgorithmId int64, custombiddingscript *CustomBiddingScript) *CustomBiddingAlgorithmsScriptsCreateCall {
 28419  	c := &CustomBiddingAlgorithmsScriptsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28420  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28421  	c.custombiddingscript = custombiddingscript
 28422  	return c
 28423  }
 28424  
 28425  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28426  // advertiser that owns the parent custom bidding algorithm.
 28427  func (c *CustomBiddingAlgorithmsScriptsCreateCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsScriptsCreateCall {
 28428  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28429  	return c
 28430  }
 28431  
 28432  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28433  // that owns the parent custom bidding algorithm. Only this partner will have
 28434  // write access to this custom bidding script.
 28435  func (c *CustomBiddingAlgorithmsScriptsCreateCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsScriptsCreateCall {
 28436  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28437  	return c
 28438  }
 28439  
 28440  // Fields allows partial responses to be retrieved. See
 28441  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28442  // details.
 28443  func (c *CustomBiddingAlgorithmsScriptsCreateCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsScriptsCreateCall {
 28444  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28445  	return c
 28446  }
 28447  
 28448  // Context sets the context to be used in this call's Do method.
 28449  func (c *CustomBiddingAlgorithmsScriptsCreateCall) Context(ctx context.Context) *CustomBiddingAlgorithmsScriptsCreateCall {
 28450  	c.ctx_ = ctx
 28451  	return c
 28452  }
 28453  
 28454  // Header returns a http.Header that can be modified by the caller to add
 28455  // headers to the request.
 28456  func (c *CustomBiddingAlgorithmsScriptsCreateCall) Header() http.Header {
 28457  	if c.header_ == nil {
 28458  		c.header_ = make(http.Header)
 28459  	}
 28460  	return c.header_
 28461  }
 28462  
 28463  func (c *CustomBiddingAlgorithmsScriptsCreateCall) doRequest(alt string) (*http.Response, error) {
 28464  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 28465  	var body io.Reader = nil
 28466  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.custombiddingscript)
 28467  	if err != nil {
 28468  		return nil, err
 28469  	}
 28470  	c.urlParams_.Set("alt", alt)
 28471  	c.urlParams_.Set("prettyPrint", "false")
 28472  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts")
 28473  	urls += "?" + c.urlParams_.Encode()
 28474  	req, err := http.NewRequest("POST", urls, body)
 28475  	if err != nil {
 28476  		return nil, err
 28477  	}
 28478  	req.Header = reqHeaders
 28479  	googleapi.Expand(req.URL, map[string]string{
 28480  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28481  	})
 28482  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28483  }
 28484  
 28485  // Do executes the "displayvideo.customBiddingAlgorithms.scripts.create" call.
 28486  // Any non-2xx status code is an error. Response headers are in either
 28487  // *CustomBiddingScript.ServerResponse.Header or (if a response was returned at
 28488  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 28489  // check whether the returned error was because http.StatusNotModified was
 28490  // returned.
 28491  func (c *CustomBiddingAlgorithmsScriptsCreateCall) Do(opts ...googleapi.CallOption) (*CustomBiddingScript, error) {
 28492  	gensupport.SetOptions(c.urlParams_, opts...)
 28493  	res, err := c.doRequest("json")
 28494  	if res != nil && res.StatusCode == http.StatusNotModified {
 28495  		if res.Body != nil {
 28496  			res.Body.Close()
 28497  		}
 28498  		return nil, gensupport.WrapError(&googleapi.Error{
 28499  			Code:   res.StatusCode,
 28500  			Header: res.Header,
 28501  		})
 28502  	}
 28503  	if err != nil {
 28504  		return nil, err
 28505  	}
 28506  	defer googleapi.CloseBody(res)
 28507  	if err := googleapi.CheckResponse(res); err != nil {
 28508  		return nil, gensupport.WrapError(err)
 28509  	}
 28510  	ret := &CustomBiddingScript{
 28511  		ServerResponse: googleapi.ServerResponse{
 28512  			Header:         res.Header,
 28513  			HTTPStatusCode: res.StatusCode,
 28514  		},
 28515  	}
 28516  	target := &ret
 28517  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28518  		return nil, err
 28519  	}
 28520  	return ret, nil
 28521  }
 28522  
 28523  type CustomBiddingAlgorithmsScriptsGetCall struct {
 28524  	s                        *Service
 28525  	customBiddingAlgorithmId int64
 28526  	customBiddingScriptId    int64
 28527  	urlParams_               gensupport.URLParams
 28528  	ifNoneMatch_             string
 28529  	ctx_                     context.Context
 28530  	header_                  http.Header
 28531  }
 28532  
 28533  // Get: Gets a custom bidding script.
 28534  //
 28535  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm owns the
 28536  //     script.
 28537  //   - customBiddingScriptId: The ID of the custom bidding script to fetch.
 28538  func (r *CustomBiddingAlgorithmsScriptsService) Get(customBiddingAlgorithmId int64, customBiddingScriptId int64) *CustomBiddingAlgorithmsScriptsGetCall {
 28539  	c := &CustomBiddingAlgorithmsScriptsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28540  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28541  	c.customBiddingScriptId = customBiddingScriptId
 28542  	return c
 28543  }
 28544  
 28545  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28546  // advertiser that owns the parent custom bidding algorithm.
 28547  func (c *CustomBiddingAlgorithmsScriptsGetCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsScriptsGetCall {
 28548  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28549  	return c
 28550  }
 28551  
 28552  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28553  // that owns the parent custom bidding algorithm. Only this partner will have
 28554  // write access to this custom bidding script.
 28555  func (c *CustomBiddingAlgorithmsScriptsGetCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsScriptsGetCall {
 28556  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28557  	return c
 28558  }
 28559  
 28560  // Fields allows partial responses to be retrieved. See
 28561  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28562  // details.
 28563  func (c *CustomBiddingAlgorithmsScriptsGetCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsScriptsGetCall {
 28564  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28565  	return c
 28566  }
 28567  
 28568  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 28569  // object's ETag matches the given value. This is useful for getting updates
 28570  // only after the object has changed since the last request.
 28571  func (c *CustomBiddingAlgorithmsScriptsGetCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsScriptsGetCall {
 28572  	c.ifNoneMatch_ = entityTag
 28573  	return c
 28574  }
 28575  
 28576  // Context sets the context to be used in this call's Do method.
 28577  func (c *CustomBiddingAlgorithmsScriptsGetCall) Context(ctx context.Context) *CustomBiddingAlgorithmsScriptsGetCall {
 28578  	c.ctx_ = ctx
 28579  	return c
 28580  }
 28581  
 28582  // Header returns a http.Header that can be modified by the caller to add
 28583  // headers to the request.
 28584  func (c *CustomBiddingAlgorithmsScriptsGetCall) Header() http.Header {
 28585  	if c.header_ == nil {
 28586  		c.header_ = make(http.Header)
 28587  	}
 28588  	return c.header_
 28589  }
 28590  
 28591  func (c *CustomBiddingAlgorithmsScriptsGetCall) doRequest(alt string) (*http.Response, error) {
 28592  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 28593  	if c.ifNoneMatch_ != "" {
 28594  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28595  	}
 28596  	var body io.Reader = nil
 28597  	c.urlParams_.Set("alt", alt)
 28598  	c.urlParams_.Set("prettyPrint", "false")
 28599  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts/{+customBiddingScriptId}")
 28600  	urls += "?" + c.urlParams_.Encode()
 28601  	req, err := http.NewRequest("GET", urls, body)
 28602  	if err != nil {
 28603  		return nil, err
 28604  	}
 28605  	req.Header = reqHeaders
 28606  	googleapi.Expand(req.URL, map[string]string{
 28607  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28608  		"customBiddingScriptId":    strconv.FormatInt(c.customBiddingScriptId, 10),
 28609  	})
 28610  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28611  }
 28612  
 28613  // Do executes the "displayvideo.customBiddingAlgorithms.scripts.get" call.
 28614  // Any non-2xx status code is an error. Response headers are in either
 28615  // *CustomBiddingScript.ServerResponse.Header or (if a response was returned at
 28616  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 28617  // check whether the returned error was because http.StatusNotModified was
 28618  // returned.
 28619  func (c *CustomBiddingAlgorithmsScriptsGetCall) Do(opts ...googleapi.CallOption) (*CustomBiddingScript, error) {
 28620  	gensupport.SetOptions(c.urlParams_, opts...)
 28621  	res, err := c.doRequest("json")
 28622  	if res != nil && res.StatusCode == http.StatusNotModified {
 28623  		if res.Body != nil {
 28624  			res.Body.Close()
 28625  		}
 28626  		return nil, gensupport.WrapError(&googleapi.Error{
 28627  			Code:   res.StatusCode,
 28628  			Header: res.Header,
 28629  		})
 28630  	}
 28631  	if err != nil {
 28632  		return nil, err
 28633  	}
 28634  	defer googleapi.CloseBody(res)
 28635  	if err := googleapi.CheckResponse(res); err != nil {
 28636  		return nil, gensupport.WrapError(err)
 28637  	}
 28638  	ret := &CustomBiddingScript{
 28639  		ServerResponse: googleapi.ServerResponse{
 28640  			Header:         res.Header,
 28641  			HTTPStatusCode: res.StatusCode,
 28642  		},
 28643  	}
 28644  	target := &ret
 28645  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28646  		return nil, err
 28647  	}
 28648  	return ret, nil
 28649  }
 28650  
 28651  type CustomBiddingAlgorithmsScriptsListCall struct {
 28652  	s                        *Service
 28653  	customBiddingAlgorithmId int64
 28654  	urlParams_               gensupport.URLParams
 28655  	ifNoneMatch_             string
 28656  	ctx_                     context.Context
 28657  	header_                  http.Header
 28658  }
 28659  
 28660  // List: Lists custom bidding scripts that belong to the given algorithm. The
 28661  // order is defined by the order_by parameter.
 28662  //
 28663  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm owns the
 28664  //     script.
 28665  func (r *CustomBiddingAlgorithmsScriptsService) List(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsScriptsListCall {
 28666  	c := &CustomBiddingAlgorithmsScriptsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28667  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28668  	return c
 28669  }
 28670  
 28671  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28672  // advertiser that owns the parent custom bidding algorithm.
 28673  func (c *CustomBiddingAlgorithmsScriptsListCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsScriptsListCall {
 28674  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28675  	return c
 28676  }
 28677  
 28678  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 28679  // list. Acceptable values are: * `createTime desc` (default) The default
 28680  // sorting order is descending. To specify ascending order for a field, the
 28681  // suffix "desc" should be removed. Example: `createTime`.
 28682  func (c *CustomBiddingAlgorithmsScriptsListCall) OrderBy(orderBy string) *CustomBiddingAlgorithmsScriptsListCall {
 28683  	c.urlParams_.Set("orderBy", orderBy)
 28684  	return c
 28685  }
 28686  
 28687  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 28688  // be between `1` and `200`. If unspecified will default to `100`. Returns
 28689  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 28690  func (c *CustomBiddingAlgorithmsScriptsListCall) PageSize(pageSize int64) *CustomBiddingAlgorithmsScriptsListCall {
 28691  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 28692  	return c
 28693  }
 28694  
 28695  // PageToken sets the optional parameter "pageToken": A token identifying a
 28696  // page of results the server should return. Typically, this is the value of
 28697  // next_page_token returned from the previous call to
 28698  // `ListCustomBiddingScripts` method. If not specified, the first page of
 28699  // results will be returned.
 28700  func (c *CustomBiddingAlgorithmsScriptsListCall) PageToken(pageToken string) *CustomBiddingAlgorithmsScriptsListCall {
 28701  	c.urlParams_.Set("pageToken", pageToken)
 28702  	return c
 28703  }
 28704  
 28705  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28706  // that owns the parent custom bidding algorithm. Only this partner will have
 28707  // write access to this custom bidding script.
 28708  func (c *CustomBiddingAlgorithmsScriptsListCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsScriptsListCall {
 28709  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28710  	return c
 28711  }
 28712  
 28713  // Fields allows partial responses to be retrieved. See
 28714  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28715  // details.
 28716  func (c *CustomBiddingAlgorithmsScriptsListCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsScriptsListCall {
 28717  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28718  	return c
 28719  }
 28720  
 28721  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 28722  // object's ETag matches the given value. This is useful for getting updates
 28723  // only after the object has changed since the last request.
 28724  func (c *CustomBiddingAlgorithmsScriptsListCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsScriptsListCall {
 28725  	c.ifNoneMatch_ = entityTag
 28726  	return c
 28727  }
 28728  
 28729  // Context sets the context to be used in this call's Do method.
 28730  func (c *CustomBiddingAlgorithmsScriptsListCall) Context(ctx context.Context) *CustomBiddingAlgorithmsScriptsListCall {
 28731  	c.ctx_ = ctx
 28732  	return c
 28733  }
 28734  
 28735  // Header returns a http.Header that can be modified by the caller to add
 28736  // headers to the request.
 28737  func (c *CustomBiddingAlgorithmsScriptsListCall) Header() http.Header {
 28738  	if c.header_ == nil {
 28739  		c.header_ = make(http.Header)
 28740  	}
 28741  	return c.header_
 28742  }
 28743  
 28744  func (c *CustomBiddingAlgorithmsScriptsListCall) doRequest(alt string) (*http.Response, error) {
 28745  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 28746  	if c.ifNoneMatch_ != "" {
 28747  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28748  	}
 28749  	var body io.Reader = nil
 28750  	c.urlParams_.Set("alt", alt)
 28751  	c.urlParams_.Set("prettyPrint", "false")
 28752  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts")
 28753  	urls += "?" + c.urlParams_.Encode()
 28754  	req, err := http.NewRequest("GET", urls, body)
 28755  	if err != nil {
 28756  		return nil, err
 28757  	}
 28758  	req.Header = reqHeaders
 28759  	googleapi.Expand(req.URL, map[string]string{
 28760  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28761  	})
 28762  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28763  }
 28764  
 28765  // Do executes the "displayvideo.customBiddingAlgorithms.scripts.list" call.
 28766  // Any non-2xx status code is an error. Response headers are in either
 28767  // *ListCustomBiddingScriptsResponse.ServerResponse.Header or (if a response
 28768  // was returned at all) in error.(*googleapi.Error).Header. Use
 28769  // googleapi.IsNotModified to check whether the returned error was because
 28770  // http.StatusNotModified was returned.
 28771  func (c *CustomBiddingAlgorithmsScriptsListCall) Do(opts ...googleapi.CallOption) (*ListCustomBiddingScriptsResponse, error) {
 28772  	gensupport.SetOptions(c.urlParams_, opts...)
 28773  	res, err := c.doRequest("json")
 28774  	if res != nil && res.StatusCode == http.StatusNotModified {
 28775  		if res.Body != nil {
 28776  			res.Body.Close()
 28777  		}
 28778  		return nil, gensupport.WrapError(&googleapi.Error{
 28779  			Code:   res.StatusCode,
 28780  			Header: res.Header,
 28781  		})
 28782  	}
 28783  	if err != nil {
 28784  		return nil, err
 28785  	}
 28786  	defer googleapi.CloseBody(res)
 28787  	if err := googleapi.CheckResponse(res); err != nil {
 28788  		return nil, gensupport.WrapError(err)
 28789  	}
 28790  	ret := &ListCustomBiddingScriptsResponse{
 28791  		ServerResponse: googleapi.ServerResponse{
 28792  			Header:         res.Header,
 28793  			HTTPStatusCode: res.StatusCode,
 28794  		},
 28795  	}
 28796  	target := &ret
 28797  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28798  		return nil, err
 28799  	}
 28800  	return ret, nil
 28801  }
 28802  
 28803  // Pages invokes f for each page of results.
 28804  // A non-nil error returned from f will halt the iteration.
 28805  // The provided context supersedes any context provided to the Context method.
 28806  func (c *CustomBiddingAlgorithmsScriptsListCall) Pages(ctx context.Context, f func(*ListCustomBiddingScriptsResponse) error) error {
 28807  	c.ctx_ = ctx
 28808  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 28809  	for {
 28810  		x, err := c.Do()
 28811  		if err != nil {
 28812  			return err
 28813  		}
 28814  		if err := f(x); err != nil {
 28815  			return err
 28816  		}
 28817  		if x.NextPageToken == "" {
 28818  			return nil
 28819  		}
 28820  		c.PageToken(x.NextPageToken)
 28821  	}
 28822  }
 28823  
 28824  type CustomListsGetCall struct {
 28825  	s            *Service
 28826  	customListId int64
 28827  	urlParams_   gensupport.URLParams
 28828  	ifNoneMatch_ string
 28829  	ctx_         context.Context
 28830  	header_      http.Header
 28831  }
 28832  
 28833  // Get: Gets a custom list.
 28834  //
 28835  // - customListId: The ID of the custom list to fetch.
 28836  func (r *CustomListsService) Get(customListId int64) *CustomListsGetCall {
 28837  	c := &CustomListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28838  	c.customListId = customListId
 28839  	return c
 28840  }
 28841  
 28842  // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360
 28843  // advertiser that has access to the fetched custom lists.
 28844  func (c *CustomListsGetCall) AdvertiserId(advertiserId int64) *CustomListsGetCall {
 28845  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28846  	return c
 28847  }
 28848  
 28849  // Fields allows partial responses to be retrieved. See
 28850  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28851  // details.
 28852  func (c *CustomListsGetCall) Fields(s ...googleapi.Field) *CustomListsGetCall {
 28853  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28854  	return c
 28855  }
 28856  
 28857  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 28858  // object's ETag matches the given value. This is useful for getting updates
 28859  // only after the object has changed since the last request.
 28860  func (c *CustomListsGetCall) IfNoneMatch(entityTag string) *CustomListsGetCall {
 28861  	c.ifNoneMatch_ = entityTag
 28862  	return c
 28863  }
 28864  
 28865  // Context sets the context to be used in this call's Do method.
 28866  func (c *CustomListsGetCall) Context(ctx context.Context) *CustomListsGetCall {
 28867  	c.ctx_ = ctx
 28868  	return c
 28869  }
 28870  
 28871  // Header returns a http.Header that can be modified by the caller to add
 28872  // headers to the request.
 28873  func (c *CustomListsGetCall) Header() http.Header {
 28874  	if c.header_ == nil {
 28875  		c.header_ = make(http.Header)
 28876  	}
 28877  	return c.header_
 28878  }
 28879  
 28880  func (c *CustomListsGetCall) doRequest(alt string) (*http.Response, error) {
 28881  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 28882  	if c.ifNoneMatch_ != "" {
 28883  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28884  	}
 28885  	var body io.Reader = nil
 28886  	c.urlParams_.Set("alt", alt)
 28887  	c.urlParams_.Set("prettyPrint", "false")
 28888  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customLists/{+customListId}")
 28889  	urls += "?" + c.urlParams_.Encode()
 28890  	req, err := http.NewRequest("GET", urls, body)
 28891  	if err != nil {
 28892  		return nil, err
 28893  	}
 28894  	req.Header = reqHeaders
 28895  	googleapi.Expand(req.URL, map[string]string{
 28896  		"customListId": strconv.FormatInt(c.customListId, 10),
 28897  	})
 28898  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28899  }
 28900  
 28901  // Do executes the "displayvideo.customLists.get" call.
 28902  // Any non-2xx status code is an error. Response headers are in either
 28903  // *CustomList.ServerResponse.Header or (if a response was returned at all) in
 28904  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 28905  // whether the returned error was because http.StatusNotModified was returned.
 28906  func (c *CustomListsGetCall) Do(opts ...googleapi.CallOption) (*CustomList, error) {
 28907  	gensupport.SetOptions(c.urlParams_, opts...)
 28908  	res, err := c.doRequest("json")
 28909  	if res != nil && res.StatusCode == http.StatusNotModified {
 28910  		if res.Body != nil {
 28911  			res.Body.Close()
 28912  		}
 28913  		return nil, gensupport.WrapError(&googleapi.Error{
 28914  			Code:   res.StatusCode,
 28915  			Header: res.Header,
 28916  		})
 28917  	}
 28918  	if err != nil {
 28919  		return nil, err
 28920  	}
 28921  	defer googleapi.CloseBody(res)
 28922  	if err := googleapi.CheckResponse(res); err != nil {
 28923  		return nil, gensupport.WrapError(err)
 28924  	}
 28925  	ret := &CustomList{
 28926  		ServerResponse: googleapi.ServerResponse{
 28927  			Header:         res.Header,
 28928  			HTTPStatusCode: res.StatusCode,
 28929  		},
 28930  	}
 28931  	target := &ret
 28932  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28933  		return nil, err
 28934  	}
 28935  	return ret, nil
 28936  }
 28937  
 28938  type CustomListsListCall struct {
 28939  	s            *Service
 28940  	urlParams_   gensupport.URLParams
 28941  	ifNoneMatch_ string
 28942  	ctx_         context.Context
 28943  	header_      http.Header
 28944  }
 28945  
 28946  // List: Lists custom lists. The order is defined by the order_by parameter.
 28947  func (r *CustomListsService) List() *CustomListsListCall {
 28948  	c := &CustomListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28949  	return c
 28950  }
 28951  
 28952  // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360
 28953  // advertiser that has access to the fetched custom lists.
 28954  func (c *CustomListsListCall) AdvertiserId(advertiserId int64) *CustomListsListCall {
 28955  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28956  	return c
 28957  }
 28958  
 28959  // Filter sets the optional parameter "filter": Allows filtering by custom list
 28960  // fields. Supported syntax: * Filter expressions for custom lists can only
 28961  // contain at most one restriction. * A restriction has the form of `{field}
 28962  // {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported
 28963  // fields: * `displayName` Examples: * All custom lists for which the display
 28964  // name contains "Google": `displayName:"Google". The length of this field
 28965  // should be no more than 500 characters. Reference our filter `LIST` requests
 28966  // (/display-video/api/guides/how-tos/filters) guide for more information.
 28967  func (c *CustomListsListCall) Filter(filter string) *CustomListsListCall {
 28968  	c.urlParams_.Set("filter", filter)
 28969  	return c
 28970  }
 28971  
 28972  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 28973  // list. Acceptable values are: * `customListId` (default) * `displayName` The
 28974  // default sorting order is ascending. To specify descending order for a field,
 28975  // a suffix "desc" should be added to the field name. Example: `displayName
 28976  // desc`.
 28977  func (c *CustomListsListCall) OrderBy(orderBy string) *CustomListsListCall {
 28978  	c.urlParams_.Set("orderBy", orderBy)
 28979  	return c
 28980  }
 28981  
 28982  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 28983  // be between `1` and `200`. If unspecified will default to `100`. Returns
 28984  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 28985  func (c *CustomListsListCall) PageSize(pageSize int64) *CustomListsListCall {
 28986  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 28987  	return c
 28988  }
 28989  
 28990  // PageToken sets the optional parameter "pageToken": A token identifying a
 28991  // page of results the server should return. Typically, this is the value of
 28992  // next_page_token returned from the previous call to `ListCustomLists` method.
 28993  // If not specified, the first page of results will be returned.
 28994  func (c *CustomListsListCall) PageToken(pageToken string) *CustomListsListCall {
 28995  	c.urlParams_.Set("pageToken", pageToken)
 28996  	return c
 28997  }
 28998  
 28999  // Fields allows partial responses to be retrieved. See
 29000  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29001  // details.
 29002  func (c *CustomListsListCall) Fields(s ...googleapi.Field) *CustomListsListCall {
 29003  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29004  	return c
 29005  }
 29006  
 29007  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 29008  // object's ETag matches the given value. This is useful for getting updates
 29009  // only after the object has changed since the last request.
 29010  func (c *CustomListsListCall) IfNoneMatch(entityTag string) *CustomListsListCall {
 29011  	c.ifNoneMatch_ = entityTag
 29012  	return c
 29013  }
 29014  
 29015  // Context sets the context to be used in this call's Do method.
 29016  func (c *CustomListsListCall) Context(ctx context.Context) *CustomListsListCall {
 29017  	c.ctx_ = ctx
 29018  	return c
 29019  }
 29020  
 29021  // Header returns a http.Header that can be modified by the caller to add
 29022  // headers to the request.
 29023  func (c *CustomListsListCall) Header() http.Header {
 29024  	if c.header_ == nil {
 29025  		c.header_ = make(http.Header)
 29026  	}
 29027  	return c.header_
 29028  }
 29029  
 29030  func (c *CustomListsListCall) doRequest(alt string) (*http.Response, error) {
 29031  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 29032  	if c.ifNoneMatch_ != "" {
 29033  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29034  	}
 29035  	var body io.Reader = nil
 29036  	c.urlParams_.Set("alt", alt)
 29037  	c.urlParams_.Set("prettyPrint", "false")
 29038  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/customLists")
 29039  	urls += "?" + c.urlParams_.Encode()
 29040  	req, err := http.NewRequest("GET", urls, body)
 29041  	if err != nil {
 29042  		return nil, err
 29043  	}
 29044  	req.Header = reqHeaders
 29045  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29046  }
 29047  
 29048  // Do executes the "displayvideo.customLists.list" call.
 29049  // Any non-2xx status code is an error. Response headers are in either
 29050  // *ListCustomListsResponse.ServerResponse.Header or (if a response was
 29051  // returned at all) in error.(*googleapi.Error).Header. Use
 29052  // googleapi.IsNotModified to check whether the returned error was because
 29053  // http.StatusNotModified was returned.
 29054  func (c *CustomListsListCall) Do(opts ...googleapi.CallOption) (*ListCustomListsResponse, error) {
 29055  	gensupport.SetOptions(c.urlParams_, opts...)
 29056  	res, err := c.doRequest("json")
 29057  	if res != nil && res.StatusCode == http.StatusNotModified {
 29058  		if res.Body != nil {
 29059  			res.Body.Close()
 29060  		}
 29061  		return nil, gensupport.WrapError(&googleapi.Error{
 29062  			Code:   res.StatusCode,
 29063  			Header: res.Header,
 29064  		})
 29065  	}
 29066  	if err != nil {
 29067  		return nil, err
 29068  	}
 29069  	defer googleapi.CloseBody(res)
 29070  	if err := googleapi.CheckResponse(res); err != nil {
 29071  		return nil, gensupport.WrapError(err)
 29072  	}
 29073  	ret := &ListCustomListsResponse{
 29074  		ServerResponse: googleapi.ServerResponse{
 29075  			Header:         res.Header,
 29076  			HTTPStatusCode: res.StatusCode,
 29077  		},
 29078  	}
 29079  	target := &ret
 29080  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29081  		return nil, err
 29082  	}
 29083  	return ret, nil
 29084  }
 29085  
 29086  // Pages invokes f for each page of results.
 29087  // A non-nil error returned from f will halt the iteration.
 29088  // The provided context supersedes any context provided to the Context method.
 29089  func (c *CustomListsListCall) Pages(ctx context.Context, f func(*ListCustomListsResponse) error) error {
 29090  	c.ctx_ = ctx
 29091  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 29092  	for {
 29093  		x, err := c.Do()
 29094  		if err != nil {
 29095  			return err
 29096  		}
 29097  		if err := f(x); err != nil {
 29098  			return err
 29099  		}
 29100  		if x.NextPageToken == "" {
 29101  			return nil
 29102  		}
 29103  		c.PageToken(x.NextPageToken)
 29104  	}
 29105  }
 29106  
 29107  type FirstAndThirdPartyAudiencesCreateCall struct {
 29108  	s                          *Service
 29109  	firstandthirdpartyaudience *FirstAndThirdPartyAudience
 29110  	urlParams_                 gensupport.URLParams
 29111  	ctx_                       context.Context
 29112  	header_                    http.Header
 29113  }
 29114  
 29115  // Create: Creates a FirstAndThirdPartyAudience. Only supported for the
 29116  // following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` *
 29117  // `CUSTOMER_MATCH_DEVICE_ID`
 29118  func (r *FirstAndThirdPartyAudiencesService) Create(firstandthirdpartyaudience *FirstAndThirdPartyAudience) *FirstAndThirdPartyAudiencesCreateCall {
 29119  	c := &FirstAndThirdPartyAudiencesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29120  	c.firstandthirdpartyaudience = firstandthirdpartyaudience
 29121  	return c
 29122  }
 29123  
 29124  // AdvertiserId sets the optional parameter "advertiserId": Required. The ID of
 29125  // the advertiser under whom the FirstAndThirdPartyAudience will be created.
 29126  func (c *FirstAndThirdPartyAudiencesCreateCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesCreateCall {
 29127  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29128  	return c
 29129  }
 29130  
 29131  // Fields allows partial responses to be retrieved. See
 29132  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29133  // details.
 29134  func (c *FirstAndThirdPartyAudiencesCreateCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesCreateCall {
 29135  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29136  	return c
 29137  }
 29138  
 29139  // Context sets the context to be used in this call's Do method.
 29140  func (c *FirstAndThirdPartyAudiencesCreateCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesCreateCall {
 29141  	c.ctx_ = ctx
 29142  	return c
 29143  }
 29144  
 29145  // Header returns a http.Header that can be modified by the caller to add
 29146  // headers to the request.
 29147  func (c *FirstAndThirdPartyAudiencesCreateCall) Header() http.Header {
 29148  	if c.header_ == nil {
 29149  		c.header_ = make(http.Header)
 29150  	}
 29151  	return c.header_
 29152  }
 29153  
 29154  func (c *FirstAndThirdPartyAudiencesCreateCall) doRequest(alt string) (*http.Response, error) {
 29155  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 29156  	var body io.Reader = nil
 29157  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.firstandthirdpartyaudience)
 29158  	if err != nil {
 29159  		return nil, err
 29160  	}
 29161  	c.urlParams_.Set("alt", alt)
 29162  	c.urlParams_.Set("prettyPrint", "false")
 29163  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/firstAndThirdPartyAudiences")
 29164  	urls += "?" + c.urlParams_.Encode()
 29165  	req, err := http.NewRequest("POST", urls, body)
 29166  	if err != nil {
 29167  		return nil, err
 29168  	}
 29169  	req.Header = reqHeaders
 29170  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29171  }
 29172  
 29173  // Do executes the "displayvideo.firstAndThirdPartyAudiences.create" call.
 29174  // Any non-2xx status code is an error. Response headers are in either
 29175  // *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response was
 29176  // returned at all) in error.(*googleapi.Error).Header. Use
 29177  // googleapi.IsNotModified to check whether the returned error was because
 29178  // http.StatusNotModified was returned.
 29179  func (c *FirstAndThirdPartyAudiencesCreateCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) {
 29180  	gensupport.SetOptions(c.urlParams_, opts...)
 29181  	res, err := c.doRequest("json")
 29182  	if res != nil && res.StatusCode == http.StatusNotModified {
 29183  		if res.Body != nil {
 29184  			res.Body.Close()
 29185  		}
 29186  		return nil, gensupport.WrapError(&googleapi.Error{
 29187  			Code:   res.StatusCode,
 29188  			Header: res.Header,
 29189  		})
 29190  	}
 29191  	if err != nil {
 29192  		return nil, err
 29193  	}
 29194  	defer googleapi.CloseBody(res)
 29195  	if err := googleapi.CheckResponse(res); err != nil {
 29196  		return nil, gensupport.WrapError(err)
 29197  	}
 29198  	ret := &FirstAndThirdPartyAudience{
 29199  		ServerResponse: googleapi.ServerResponse{
 29200  			Header:         res.Header,
 29201  			HTTPStatusCode: res.StatusCode,
 29202  		},
 29203  	}
 29204  	target := &ret
 29205  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29206  		return nil, err
 29207  	}
 29208  	return ret, nil
 29209  }
 29210  
 29211  type FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall struct {
 29212  	s                               *Service
 29213  	firstAndThirdPartyAudienceId    int64
 29214  	editcustomermatchmembersrequest *EditCustomerMatchMembersRequest
 29215  	urlParams_                      gensupport.URLParams
 29216  	ctx_                            context.Context
 29217  	header_                         http.Header
 29218  }
 29219  
 29220  // EditCustomerMatchMembers: Updates the member list of a Customer Match
 29221  // audience. Only supported for the following audience_type: *
 29222  // `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`
 29223  //
 29224  //   - firstAndThirdPartyAudienceId: The ID of the Customer Match
 29225  //     FirstAndThirdPartyAudience whose members will be edited.
 29226  func (r *FirstAndThirdPartyAudiencesService) EditCustomerMatchMembers(firstAndThirdPartyAudienceId int64, editcustomermatchmembersrequest *EditCustomerMatchMembersRequest) *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall {
 29227  	c := &FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29228  	c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId
 29229  	c.editcustomermatchmembersrequest = editcustomermatchmembersrequest
 29230  	return c
 29231  }
 29232  
 29233  // Fields allows partial responses to be retrieved. See
 29234  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29235  // details.
 29236  func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall {
 29237  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29238  	return c
 29239  }
 29240  
 29241  // Context sets the context to be used in this call's Do method.
 29242  func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall {
 29243  	c.ctx_ = ctx
 29244  	return c
 29245  }
 29246  
 29247  // Header returns a http.Header that can be modified by the caller to add
 29248  // headers to the request.
 29249  func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Header() http.Header {
 29250  	if c.header_ == nil {
 29251  		c.header_ = make(http.Header)
 29252  	}
 29253  	return c.header_
 29254  }
 29255  
 29256  func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) doRequest(alt string) (*http.Response, error) {
 29257  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 29258  	var body io.Reader = nil
 29259  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.editcustomermatchmembersrequest)
 29260  	if err != nil {
 29261  		return nil, err
 29262  	}
 29263  	c.urlParams_.Set("alt", alt)
 29264  	c.urlParams_.Set("prettyPrint", "false")
 29265  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}:editCustomerMatchMembers")
 29266  	urls += "?" + c.urlParams_.Encode()
 29267  	req, err := http.NewRequest("POST", urls, body)
 29268  	if err != nil {
 29269  		return nil, err
 29270  	}
 29271  	req.Header = reqHeaders
 29272  	googleapi.Expand(req.URL, map[string]string{
 29273  		"firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10),
 29274  	})
 29275  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29276  }
 29277  
 29278  // Do executes the "displayvideo.firstAndThirdPartyAudiences.editCustomerMatchMembers" call.
 29279  // Any non-2xx status code is an error. Response headers are in either
 29280  // *EditCustomerMatchMembersResponse.ServerResponse.Header or (if a response
 29281  // was returned at all) in error.(*googleapi.Error).Header. Use
 29282  // googleapi.IsNotModified to check whether the returned error was because
 29283  // http.StatusNotModified was returned.
 29284  func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Do(opts ...googleapi.CallOption) (*EditCustomerMatchMembersResponse, error) {
 29285  	gensupport.SetOptions(c.urlParams_, opts...)
 29286  	res, err := c.doRequest("json")
 29287  	if res != nil && res.StatusCode == http.StatusNotModified {
 29288  		if res.Body != nil {
 29289  			res.Body.Close()
 29290  		}
 29291  		return nil, gensupport.WrapError(&googleapi.Error{
 29292  			Code:   res.StatusCode,
 29293  			Header: res.Header,
 29294  		})
 29295  	}
 29296  	if err != nil {
 29297  		return nil, err
 29298  	}
 29299  	defer googleapi.CloseBody(res)
 29300  	if err := googleapi.CheckResponse(res); err != nil {
 29301  		return nil, gensupport.WrapError(err)
 29302  	}
 29303  	ret := &EditCustomerMatchMembersResponse{
 29304  		ServerResponse: googleapi.ServerResponse{
 29305  			Header:         res.Header,
 29306  			HTTPStatusCode: res.StatusCode,
 29307  		},
 29308  	}
 29309  	target := &ret
 29310  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29311  		return nil, err
 29312  	}
 29313  	return ret, nil
 29314  }
 29315  
 29316  type FirstAndThirdPartyAudiencesGetCall struct {
 29317  	s                            *Service
 29318  	firstAndThirdPartyAudienceId int64
 29319  	urlParams_                   gensupport.URLParams
 29320  	ifNoneMatch_                 string
 29321  	ctx_                         context.Context
 29322  	header_                      http.Header
 29323  }
 29324  
 29325  // Get: Gets a first and third party audience.
 29326  //
 29327  //   - firstAndThirdPartyAudienceId: The ID of the first and third party audience
 29328  //     to fetch.
 29329  func (r *FirstAndThirdPartyAudiencesService) Get(firstAndThirdPartyAudienceId int64) *FirstAndThirdPartyAudiencesGetCall {
 29330  	c := &FirstAndThirdPartyAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29331  	c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId
 29332  	return c
 29333  }
 29334  
 29335  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 29336  // advertiser that has access to the fetched first and third party audience.
 29337  func (c *FirstAndThirdPartyAudiencesGetCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesGetCall {
 29338  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29339  	return c
 29340  }
 29341  
 29342  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 29343  // that has access to the fetched first and third party audience.
 29344  func (c *FirstAndThirdPartyAudiencesGetCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesGetCall {
 29345  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 29346  	return c
 29347  }
 29348  
 29349  // Fields allows partial responses to be retrieved. See
 29350  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29351  // details.
 29352  func (c *FirstAndThirdPartyAudiencesGetCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesGetCall {
 29353  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29354  	return c
 29355  }
 29356  
 29357  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 29358  // object's ETag matches the given value. This is useful for getting updates
 29359  // only after the object has changed since the last request.
 29360  func (c *FirstAndThirdPartyAudiencesGetCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesGetCall {
 29361  	c.ifNoneMatch_ = entityTag
 29362  	return c
 29363  }
 29364  
 29365  // Context sets the context to be used in this call's Do method.
 29366  func (c *FirstAndThirdPartyAudiencesGetCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesGetCall {
 29367  	c.ctx_ = ctx
 29368  	return c
 29369  }
 29370  
 29371  // Header returns a http.Header that can be modified by the caller to add
 29372  // headers to the request.
 29373  func (c *FirstAndThirdPartyAudiencesGetCall) Header() http.Header {
 29374  	if c.header_ == nil {
 29375  		c.header_ = make(http.Header)
 29376  	}
 29377  	return c.header_
 29378  }
 29379  
 29380  func (c *FirstAndThirdPartyAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
 29381  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 29382  	if c.ifNoneMatch_ != "" {
 29383  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29384  	}
 29385  	var body io.Reader = nil
 29386  	c.urlParams_.Set("alt", alt)
 29387  	c.urlParams_.Set("prettyPrint", "false")
 29388  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}")
 29389  	urls += "?" + c.urlParams_.Encode()
 29390  	req, err := http.NewRequest("GET", urls, body)
 29391  	if err != nil {
 29392  		return nil, err
 29393  	}
 29394  	req.Header = reqHeaders
 29395  	googleapi.Expand(req.URL, map[string]string{
 29396  		"firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10),
 29397  	})
 29398  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29399  }
 29400  
 29401  // Do executes the "displayvideo.firstAndThirdPartyAudiences.get" call.
 29402  // Any non-2xx status code is an error. Response headers are in either
 29403  // *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response was
 29404  // returned at all) in error.(*googleapi.Error).Header. Use
 29405  // googleapi.IsNotModified to check whether the returned error was because
 29406  // http.StatusNotModified was returned.
 29407  func (c *FirstAndThirdPartyAudiencesGetCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) {
 29408  	gensupport.SetOptions(c.urlParams_, opts...)
 29409  	res, err := c.doRequest("json")
 29410  	if res != nil && res.StatusCode == http.StatusNotModified {
 29411  		if res.Body != nil {
 29412  			res.Body.Close()
 29413  		}
 29414  		return nil, gensupport.WrapError(&googleapi.Error{
 29415  			Code:   res.StatusCode,
 29416  			Header: res.Header,
 29417  		})
 29418  	}
 29419  	if err != nil {
 29420  		return nil, err
 29421  	}
 29422  	defer googleapi.CloseBody(res)
 29423  	if err := googleapi.CheckResponse(res); err != nil {
 29424  		return nil, gensupport.WrapError(err)
 29425  	}
 29426  	ret := &FirstAndThirdPartyAudience{
 29427  		ServerResponse: googleapi.ServerResponse{
 29428  			Header:         res.Header,
 29429  			HTTPStatusCode: res.StatusCode,
 29430  		},
 29431  	}
 29432  	target := &ret
 29433  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29434  		return nil, err
 29435  	}
 29436  	return ret, nil
 29437  }
 29438  
 29439  type FirstAndThirdPartyAudiencesListCall struct {
 29440  	s            *Service
 29441  	urlParams_   gensupport.URLParams
 29442  	ifNoneMatch_ string
 29443  	ctx_         context.Context
 29444  	header_      http.Header
 29445  }
 29446  
 29447  // List: Lists first and third party audiences. The order is defined by the
 29448  // order_by parameter.
 29449  func (r *FirstAndThirdPartyAudiencesService) List() *FirstAndThirdPartyAudiencesListCall {
 29450  	c := &FirstAndThirdPartyAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29451  	return c
 29452  }
 29453  
 29454  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 29455  // advertiser that has access to the fetched first and third party audiences.
 29456  func (c *FirstAndThirdPartyAudiencesListCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesListCall {
 29457  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29458  	return c
 29459  }
 29460  
 29461  // Filter sets the optional parameter "filter": Allows filtering by first and
 29462  // third party audience fields. Supported syntax: * Filter expressions for
 29463  // first and third party audiences can only contain at most one restriction. *
 29464  // A restriction has the form of `{field} {operator} {value}`. * All fields
 29465  // must use the `HAS (:)` operator. Supported fields: * `displayName` Examples:
 29466  // * All first and third party audiences for which the display name contains
 29467  // "Google": `displayName:"Google". The length of this field should be no more
 29468  // than 500 characters. Reference our filter `LIST` requests
 29469  // (/display-video/api/guides/how-tos/filters) guide for more information.
 29470  func (c *FirstAndThirdPartyAudiencesListCall) Filter(filter string) *FirstAndThirdPartyAudiencesListCall {
 29471  	c.urlParams_.Set("filter", filter)
 29472  	return c
 29473  }
 29474  
 29475  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 29476  // list. Acceptable values are: * `firstAndThirdPartyAudienceId` (default) *
 29477  // `displayName` The default sorting order is ascending. To specify descending
 29478  // order for a field, a suffix "desc" should be added to the field name.
 29479  // Example: `displayName desc`.
 29480  func (c *FirstAndThirdPartyAudiencesListCall) OrderBy(orderBy string) *FirstAndThirdPartyAudiencesListCall {
 29481  	c.urlParams_.Set("orderBy", orderBy)
 29482  	return c
 29483  }
 29484  
 29485  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 29486  // be between `1` and `200`. If unspecified will default to `100`. Returns
 29487  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 29488  func (c *FirstAndThirdPartyAudiencesListCall) PageSize(pageSize int64) *FirstAndThirdPartyAudiencesListCall {
 29489  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 29490  	return c
 29491  }
 29492  
 29493  // PageToken sets the optional parameter "pageToken": A token identifying a
 29494  // page of results the server should return. Typically, this is the value of
 29495  // next_page_token returned from the previous call to
 29496  // `ListFirstAndThirdPartyAudiences` method. If not specified, the first page
 29497  // of results will be returned.
 29498  func (c *FirstAndThirdPartyAudiencesListCall) PageToken(pageToken string) *FirstAndThirdPartyAudiencesListCall {
 29499  	c.urlParams_.Set("pageToken", pageToken)
 29500  	return c
 29501  }
 29502  
 29503  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 29504  // that has access to the fetched first and third party audiences.
 29505  func (c *FirstAndThirdPartyAudiencesListCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesListCall {
 29506  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 29507  	return c
 29508  }
 29509  
 29510  // Fields allows partial responses to be retrieved. See
 29511  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29512  // details.
 29513  func (c *FirstAndThirdPartyAudiencesListCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesListCall {
 29514  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29515  	return c
 29516  }
 29517  
 29518  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 29519  // object's ETag matches the given value. This is useful for getting updates
 29520  // only after the object has changed since the last request.
 29521  func (c *FirstAndThirdPartyAudiencesListCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesListCall {
 29522  	c.ifNoneMatch_ = entityTag
 29523  	return c
 29524  }
 29525  
 29526  // Context sets the context to be used in this call's Do method.
 29527  func (c *FirstAndThirdPartyAudiencesListCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesListCall {
 29528  	c.ctx_ = ctx
 29529  	return c
 29530  }
 29531  
 29532  // Header returns a http.Header that can be modified by the caller to add
 29533  // headers to the request.
 29534  func (c *FirstAndThirdPartyAudiencesListCall) Header() http.Header {
 29535  	if c.header_ == nil {
 29536  		c.header_ = make(http.Header)
 29537  	}
 29538  	return c.header_
 29539  }
 29540  
 29541  func (c *FirstAndThirdPartyAudiencesListCall) doRequest(alt string) (*http.Response, error) {
 29542  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 29543  	if c.ifNoneMatch_ != "" {
 29544  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29545  	}
 29546  	var body io.Reader = nil
 29547  	c.urlParams_.Set("alt", alt)
 29548  	c.urlParams_.Set("prettyPrint", "false")
 29549  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/firstAndThirdPartyAudiences")
 29550  	urls += "?" + c.urlParams_.Encode()
 29551  	req, err := http.NewRequest("GET", urls, body)
 29552  	if err != nil {
 29553  		return nil, err
 29554  	}
 29555  	req.Header = reqHeaders
 29556  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29557  }
 29558  
 29559  // Do executes the "displayvideo.firstAndThirdPartyAudiences.list" call.
 29560  // Any non-2xx status code is an error. Response headers are in either
 29561  // *ListFirstAndThirdPartyAudiencesResponse.ServerResponse.Header or (if a
 29562  // response was returned at all) in error.(*googleapi.Error).Header. Use
 29563  // googleapi.IsNotModified to check whether the returned error was because
 29564  // http.StatusNotModified was returned.
 29565  func (c *FirstAndThirdPartyAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListFirstAndThirdPartyAudiencesResponse, error) {
 29566  	gensupport.SetOptions(c.urlParams_, opts...)
 29567  	res, err := c.doRequest("json")
 29568  	if res != nil && res.StatusCode == http.StatusNotModified {
 29569  		if res.Body != nil {
 29570  			res.Body.Close()
 29571  		}
 29572  		return nil, gensupport.WrapError(&googleapi.Error{
 29573  			Code:   res.StatusCode,
 29574  			Header: res.Header,
 29575  		})
 29576  	}
 29577  	if err != nil {
 29578  		return nil, err
 29579  	}
 29580  	defer googleapi.CloseBody(res)
 29581  	if err := googleapi.CheckResponse(res); err != nil {
 29582  		return nil, gensupport.WrapError(err)
 29583  	}
 29584  	ret := &ListFirstAndThirdPartyAudiencesResponse{
 29585  		ServerResponse: googleapi.ServerResponse{
 29586  			Header:         res.Header,
 29587  			HTTPStatusCode: res.StatusCode,
 29588  		},
 29589  	}
 29590  	target := &ret
 29591  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29592  		return nil, err
 29593  	}
 29594  	return ret, nil
 29595  }
 29596  
 29597  // Pages invokes f for each page of results.
 29598  // A non-nil error returned from f will halt the iteration.
 29599  // The provided context supersedes any context provided to the Context method.
 29600  func (c *FirstAndThirdPartyAudiencesListCall) Pages(ctx context.Context, f func(*ListFirstAndThirdPartyAudiencesResponse) error) error {
 29601  	c.ctx_ = ctx
 29602  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 29603  	for {
 29604  		x, err := c.Do()
 29605  		if err != nil {
 29606  			return err
 29607  		}
 29608  		if err := f(x); err != nil {
 29609  			return err
 29610  		}
 29611  		if x.NextPageToken == "" {
 29612  			return nil
 29613  		}
 29614  		c.PageToken(x.NextPageToken)
 29615  	}
 29616  }
 29617  
 29618  type FirstAndThirdPartyAudiencesPatchCall struct {
 29619  	s                            *Service
 29620  	firstAndThirdPartyAudienceId int64
 29621  	firstandthirdpartyaudience   *FirstAndThirdPartyAudience
 29622  	urlParams_                   gensupport.URLParams
 29623  	ctx_                         context.Context
 29624  	header_                      http.Header
 29625  }
 29626  
 29627  // Patch: Updates an existing FirstAndThirdPartyAudience. Only supported for
 29628  // the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` *
 29629  // `CUSTOMER_MATCH_DEVICE_ID`
 29630  //
 29631  //   - firstAndThirdPartyAudienceId: Output only. The unique ID of the first and
 29632  //     third party audience. Assigned by the system.
 29633  func (r *FirstAndThirdPartyAudiencesService) Patch(firstAndThirdPartyAudienceId int64, firstandthirdpartyaudience *FirstAndThirdPartyAudience) *FirstAndThirdPartyAudiencesPatchCall {
 29634  	c := &FirstAndThirdPartyAudiencesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29635  	c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId
 29636  	c.firstandthirdpartyaudience = firstandthirdpartyaudience
 29637  	return c
 29638  }
 29639  
 29640  // AdvertiserId sets the optional parameter "advertiserId": Required. The ID of
 29641  // the owner advertiser of the updated FirstAndThirdPartyAudience.
 29642  func (c *FirstAndThirdPartyAudiencesPatchCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesPatchCall {
 29643  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29644  	return c
 29645  }
 29646  
 29647  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 29648  // control which fields to update. Updates are only supported for the following
 29649  // fields: * `displayName` * `description` * `membershipDurationDays`
 29650  func (c *FirstAndThirdPartyAudiencesPatchCall) UpdateMask(updateMask string) *FirstAndThirdPartyAudiencesPatchCall {
 29651  	c.urlParams_.Set("updateMask", updateMask)
 29652  	return c
 29653  }
 29654  
 29655  // Fields allows partial responses to be retrieved. See
 29656  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29657  // details.
 29658  func (c *FirstAndThirdPartyAudiencesPatchCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesPatchCall {
 29659  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29660  	return c
 29661  }
 29662  
 29663  // Context sets the context to be used in this call's Do method.
 29664  func (c *FirstAndThirdPartyAudiencesPatchCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesPatchCall {
 29665  	c.ctx_ = ctx
 29666  	return c
 29667  }
 29668  
 29669  // Header returns a http.Header that can be modified by the caller to add
 29670  // headers to the request.
 29671  func (c *FirstAndThirdPartyAudiencesPatchCall) Header() http.Header {
 29672  	if c.header_ == nil {
 29673  		c.header_ = make(http.Header)
 29674  	}
 29675  	return c.header_
 29676  }
 29677  
 29678  func (c *FirstAndThirdPartyAudiencesPatchCall) doRequest(alt string) (*http.Response, error) {
 29679  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 29680  	var body io.Reader = nil
 29681  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.firstandthirdpartyaudience)
 29682  	if err != nil {
 29683  		return nil, err
 29684  	}
 29685  	c.urlParams_.Set("alt", alt)
 29686  	c.urlParams_.Set("prettyPrint", "false")
 29687  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}")
 29688  	urls += "?" + c.urlParams_.Encode()
 29689  	req, err := http.NewRequest("PATCH", urls, body)
 29690  	if err != nil {
 29691  		return nil, err
 29692  	}
 29693  	req.Header = reqHeaders
 29694  	googleapi.Expand(req.URL, map[string]string{
 29695  		"firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10),
 29696  	})
 29697  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29698  }
 29699  
 29700  // Do executes the "displayvideo.firstAndThirdPartyAudiences.patch" call.
 29701  // Any non-2xx status code is an error. Response headers are in either
 29702  // *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response was
 29703  // returned at all) in error.(*googleapi.Error).Header. Use
 29704  // googleapi.IsNotModified to check whether the returned error was because
 29705  // http.StatusNotModified was returned.
 29706  func (c *FirstAndThirdPartyAudiencesPatchCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) {
 29707  	gensupport.SetOptions(c.urlParams_, opts...)
 29708  	res, err := c.doRequest("json")
 29709  	if res != nil && res.StatusCode == http.StatusNotModified {
 29710  		if res.Body != nil {
 29711  			res.Body.Close()
 29712  		}
 29713  		return nil, gensupport.WrapError(&googleapi.Error{
 29714  			Code:   res.StatusCode,
 29715  			Header: res.Header,
 29716  		})
 29717  	}
 29718  	if err != nil {
 29719  		return nil, err
 29720  	}
 29721  	defer googleapi.CloseBody(res)
 29722  	if err := googleapi.CheckResponse(res); err != nil {
 29723  		return nil, gensupport.WrapError(err)
 29724  	}
 29725  	ret := &FirstAndThirdPartyAudience{
 29726  		ServerResponse: googleapi.ServerResponse{
 29727  			Header:         res.Header,
 29728  			HTTPStatusCode: res.StatusCode,
 29729  		},
 29730  	}
 29731  	target := &ret
 29732  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29733  		return nil, err
 29734  	}
 29735  	return ret, nil
 29736  }
 29737  
 29738  type FloodlightGroupsGetCall struct {
 29739  	s                 *Service
 29740  	floodlightGroupId int64
 29741  	urlParams_        gensupport.URLParams
 29742  	ifNoneMatch_      string
 29743  	ctx_              context.Context
 29744  	header_           http.Header
 29745  }
 29746  
 29747  // Get: Gets a Floodlight group.
 29748  //
 29749  // - floodlightGroupId: The ID of the Floodlight group to fetch.
 29750  func (r *FloodlightGroupsService) Get(floodlightGroupId int64) *FloodlightGroupsGetCall {
 29751  	c := &FloodlightGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29752  	c.floodlightGroupId = floodlightGroupId
 29753  	return c
 29754  }
 29755  
 29756  // PartnerId sets the optional parameter "partnerId": Required. The partner
 29757  // context by which the Floodlight group is being accessed.
 29758  func (c *FloodlightGroupsGetCall) PartnerId(partnerId int64) *FloodlightGroupsGetCall {
 29759  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 29760  	return c
 29761  }
 29762  
 29763  // Fields allows partial responses to be retrieved. See
 29764  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29765  // details.
 29766  func (c *FloodlightGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightGroupsGetCall {
 29767  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29768  	return c
 29769  }
 29770  
 29771  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 29772  // object's ETag matches the given value. This is useful for getting updates
 29773  // only after the object has changed since the last request.
 29774  func (c *FloodlightGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightGroupsGetCall {
 29775  	c.ifNoneMatch_ = entityTag
 29776  	return c
 29777  }
 29778  
 29779  // Context sets the context to be used in this call's Do method.
 29780  func (c *FloodlightGroupsGetCall) Context(ctx context.Context) *FloodlightGroupsGetCall {
 29781  	c.ctx_ = ctx
 29782  	return c
 29783  }
 29784  
 29785  // Header returns a http.Header that can be modified by the caller to add
 29786  // headers to the request.
 29787  func (c *FloodlightGroupsGetCall) Header() http.Header {
 29788  	if c.header_ == nil {
 29789  		c.header_ = make(http.Header)
 29790  	}
 29791  	return c.header_
 29792  }
 29793  
 29794  func (c *FloodlightGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 29795  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 29796  	if c.ifNoneMatch_ != "" {
 29797  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29798  	}
 29799  	var body io.Reader = nil
 29800  	c.urlParams_.Set("alt", alt)
 29801  	c.urlParams_.Set("prettyPrint", "false")
 29802  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/floodlightGroups/{+floodlightGroupId}")
 29803  	urls += "?" + c.urlParams_.Encode()
 29804  	req, err := http.NewRequest("GET", urls, body)
 29805  	if err != nil {
 29806  		return nil, err
 29807  	}
 29808  	req.Header = reqHeaders
 29809  	googleapi.Expand(req.URL, map[string]string{
 29810  		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
 29811  	})
 29812  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29813  }
 29814  
 29815  // Do executes the "displayvideo.floodlightGroups.get" call.
 29816  // Any non-2xx status code is an error. Response headers are in either
 29817  // *FloodlightGroup.ServerResponse.Header or (if a response was returned at
 29818  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 29819  // check whether the returned error was because http.StatusNotModified was
 29820  // returned.
 29821  func (c *FloodlightGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) {
 29822  	gensupport.SetOptions(c.urlParams_, opts...)
 29823  	res, err := c.doRequest("json")
 29824  	if res != nil && res.StatusCode == http.StatusNotModified {
 29825  		if res.Body != nil {
 29826  			res.Body.Close()
 29827  		}
 29828  		return nil, gensupport.WrapError(&googleapi.Error{
 29829  			Code:   res.StatusCode,
 29830  			Header: res.Header,
 29831  		})
 29832  	}
 29833  	if err != nil {
 29834  		return nil, err
 29835  	}
 29836  	defer googleapi.CloseBody(res)
 29837  	if err := googleapi.CheckResponse(res); err != nil {
 29838  		return nil, gensupport.WrapError(err)
 29839  	}
 29840  	ret := &FloodlightGroup{
 29841  		ServerResponse: googleapi.ServerResponse{
 29842  			Header:         res.Header,
 29843  			HTTPStatusCode: res.StatusCode,
 29844  		},
 29845  	}
 29846  	target := &ret
 29847  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29848  		return nil, err
 29849  	}
 29850  	return ret, nil
 29851  }
 29852  
 29853  type FloodlightGroupsPatchCall struct {
 29854  	s                 *Service
 29855  	floodlightGroupId int64
 29856  	floodlightgroup   *FloodlightGroup
 29857  	urlParams_        gensupport.URLParams
 29858  	ctx_              context.Context
 29859  	header_           http.Header
 29860  }
 29861  
 29862  // Patch: Updates an existing Floodlight group. Returns the updated Floodlight
 29863  // group if successful.
 29864  //
 29865  //   - floodlightGroupId: Output only. The unique ID of the Floodlight group.
 29866  //     Assigned by the system.
 29867  func (r *FloodlightGroupsService) Patch(floodlightGroupId int64, floodlightgroup *FloodlightGroup) *FloodlightGroupsPatchCall {
 29868  	c := &FloodlightGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29869  	c.floodlightGroupId = floodlightGroupId
 29870  	c.floodlightgroup = floodlightgroup
 29871  	return c
 29872  }
 29873  
 29874  // PartnerId sets the optional parameter "partnerId": Required. The partner
 29875  // context by which the Floodlight group is being accessed.
 29876  func (c *FloodlightGroupsPatchCall) PartnerId(partnerId int64) *FloodlightGroupsPatchCall {
 29877  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 29878  	return c
 29879  }
 29880  
 29881  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 29882  // control which fields to update.
 29883  func (c *FloodlightGroupsPatchCall) UpdateMask(updateMask string) *FloodlightGroupsPatchCall {
 29884  	c.urlParams_.Set("updateMask", updateMask)
 29885  	return c
 29886  }
 29887  
 29888  // Fields allows partial responses to be retrieved. See
 29889  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29890  // details.
 29891  func (c *FloodlightGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightGroupsPatchCall {
 29892  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29893  	return c
 29894  }
 29895  
 29896  // Context sets the context to be used in this call's Do method.
 29897  func (c *FloodlightGroupsPatchCall) Context(ctx context.Context) *FloodlightGroupsPatchCall {
 29898  	c.ctx_ = ctx
 29899  	return c
 29900  }
 29901  
 29902  // Header returns a http.Header that can be modified by the caller to add
 29903  // headers to the request.
 29904  func (c *FloodlightGroupsPatchCall) Header() http.Header {
 29905  	if c.header_ == nil {
 29906  		c.header_ = make(http.Header)
 29907  	}
 29908  	return c.header_
 29909  }
 29910  
 29911  func (c *FloodlightGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 29912  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 29913  	var body io.Reader = nil
 29914  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightgroup)
 29915  	if err != nil {
 29916  		return nil, err
 29917  	}
 29918  	c.urlParams_.Set("alt", alt)
 29919  	c.urlParams_.Set("prettyPrint", "false")
 29920  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/floodlightGroups/{floodlightGroupId}")
 29921  	urls += "?" + c.urlParams_.Encode()
 29922  	req, err := http.NewRequest("PATCH", urls, body)
 29923  	if err != nil {
 29924  		return nil, err
 29925  	}
 29926  	req.Header = reqHeaders
 29927  	googleapi.Expand(req.URL, map[string]string{
 29928  		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
 29929  	})
 29930  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29931  }
 29932  
 29933  // Do executes the "displayvideo.floodlightGroups.patch" call.
 29934  // Any non-2xx status code is an error. Response headers are in either
 29935  // *FloodlightGroup.ServerResponse.Header or (if a response was returned at
 29936  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 29937  // check whether the returned error was because http.StatusNotModified was
 29938  // returned.
 29939  func (c *FloodlightGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) {
 29940  	gensupport.SetOptions(c.urlParams_, opts...)
 29941  	res, err := c.doRequest("json")
 29942  	if res != nil && res.StatusCode == http.StatusNotModified {
 29943  		if res.Body != nil {
 29944  			res.Body.Close()
 29945  		}
 29946  		return nil, gensupport.WrapError(&googleapi.Error{
 29947  			Code:   res.StatusCode,
 29948  			Header: res.Header,
 29949  		})
 29950  	}
 29951  	if err != nil {
 29952  		return nil, err
 29953  	}
 29954  	defer googleapi.CloseBody(res)
 29955  	if err := googleapi.CheckResponse(res); err != nil {
 29956  		return nil, gensupport.WrapError(err)
 29957  	}
 29958  	ret := &FloodlightGroup{
 29959  		ServerResponse: googleapi.ServerResponse{
 29960  			Header:         res.Header,
 29961  			HTTPStatusCode: res.StatusCode,
 29962  		},
 29963  	}
 29964  	target := &ret
 29965  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29966  		return nil, err
 29967  	}
 29968  	return ret, nil
 29969  }
 29970  
 29971  type FloodlightGroupsFloodlightActivitiesGetCall struct {
 29972  	s                    *Service
 29973  	floodlightGroupId    int64
 29974  	floodlightActivityId int64
 29975  	urlParams_           gensupport.URLParams
 29976  	ifNoneMatch_         string
 29977  	ctx_                 context.Context
 29978  	header_              http.Header
 29979  }
 29980  
 29981  // Get: Gets a Floodlight activity.
 29982  //
 29983  //   - floodlightActivityId: The ID of the Floodlight activity to fetch.
 29984  //   - floodlightGroupId: The ID of the parent Floodlight group to which the
 29985  //     requested Floodlight activity belongs.
 29986  func (r *FloodlightGroupsFloodlightActivitiesService) Get(floodlightGroupId int64, floodlightActivityId int64) *FloodlightGroupsFloodlightActivitiesGetCall {
 29987  	c := &FloodlightGroupsFloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29988  	c.floodlightGroupId = floodlightGroupId
 29989  	c.floodlightActivityId = floodlightActivityId
 29990  	return c
 29991  }
 29992  
 29993  // PartnerId sets the optional parameter "partnerId": Required. The ID of the
 29994  // partner through which the Floodlight activity is being accessed.
 29995  func (c *FloodlightGroupsFloodlightActivitiesGetCall) PartnerId(partnerId int64) *FloodlightGroupsFloodlightActivitiesGetCall {
 29996  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 29997  	return c
 29998  }
 29999  
 30000  // Fields allows partial responses to be retrieved. See
 30001  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30002  // details.
 30003  func (c *FloodlightGroupsFloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightGroupsFloodlightActivitiesGetCall {
 30004  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30005  	return c
 30006  }
 30007  
 30008  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30009  // object's ETag matches the given value. This is useful for getting updates
 30010  // only after the object has changed since the last request.
 30011  func (c *FloodlightGroupsFloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightGroupsFloodlightActivitiesGetCall {
 30012  	c.ifNoneMatch_ = entityTag
 30013  	return c
 30014  }
 30015  
 30016  // Context sets the context to be used in this call's Do method.
 30017  func (c *FloodlightGroupsFloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightGroupsFloodlightActivitiesGetCall {
 30018  	c.ctx_ = ctx
 30019  	return c
 30020  }
 30021  
 30022  // Header returns a http.Header that can be modified by the caller to add
 30023  // headers to the request.
 30024  func (c *FloodlightGroupsFloodlightActivitiesGetCall) Header() http.Header {
 30025  	if c.header_ == nil {
 30026  		c.header_ = make(http.Header)
 30027  	}
 30028  	return c.header_
 30029  }
 30030  
 30031  func (c *FloodlightGroupsFloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 30032  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30033  	if c.ifNoneMatch_ != "" {
 30034  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30035  	}
 30036  	var body io.Reader = nil
 30037  	c.urlParams_.Set("alt", alt)
 30038  	c.urlParams_.Set("prettyPrint", "false")
 30039  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/floodlightGroups/{+floodlightGroupId}/floodlightActivities/{+floodlightActivityId}")
 30040  	urls += "?" + c.urlParams_.Encode()
 30041  	req, err := http.NewRequest("GET", urls, body)
 30042  	if err != nil {
 30043  		return nil, err
 30044  	}
 30045  	req.Header = reqHeaders
 30046  	googleapi.Expand(req.URL, map[string]string{
 30047  		"floodlightGroupId":    strconv.FormatInt(c.floodlightGroupId, 10),
 30048  		"floodlightActivityId": strconv.FormatInt(c.floodlightActivityId, 10),
 30049  	})
 30050  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30051  }
 30052  
 30053  // Do executes the "displayvideo.floodlightGroups.floodlightActivities.get" call.
 30054  // Any non-2xx status code is an error. Response headers are in either
 30055  // *FloodlightActivity.ServerResponse.Header or (if a response was returned at
 30056  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 30057  // check whether the returned error was because http.StatusNotModified was
 30058  // returned.
 30059  func (c *FloodlightGroupsFloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 30060  	gensupport.SetOptions(c.urlParams_, opts...)
 30061  	res, err := c.doRequest("json")
 30062  	if res != nil && res.StatusCode == http.StatusNotModified {
 30063  		if res.Body != nil {
 30064  			res.Body.Close()
 30065  		}
 30066  		return nil, gensupport.WrapError(&googleapi.Error{
 30067  			Code:   res.StatusCode,
 30068  			Header: res.Header,
 30069  		})
 30070  	}
 30071  	if err != nil {
 30072  		return nil, err
 30073  	}
 30074  	defer googleapi.CloseBody(res)
 30075  	if err := googleapi.CheckResponse(res); err != nil {
 30076  		return nil, gensupport.WrapError(err)
 30077  	}
 30078  	ret := &FloodlightActivity{
 30079  		ServerResponse: googleapi.ServerResponse{
 30080  			Header:         res.Header,
 30081  			HTTPStatusCode: res.StatusCode,
 30082  		},
 30083  	}
 30084  	target := &ret
 30085  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30086  		return nil, err
 30087  	}
 30088  	return ret, nil
 30089  }
 30090  
 30091  type FloodlightGroupsFloodlightActivitiesListCall struct {
 30092  	s                 *Service
 30093  	floodlightGroupId int64
 30094  	urlParams_        gensupport.URLParams
 30095  	ifNoneMatch_      string
 30096  	ctx_              context.Context
 30097  	header_           http.Header
 30098  }
 30099  
 30100  // List: Lists Floodlight activities in a Floodlight group.
 30101  //
 30102  //   - floodlightGroupId: The ID of the parent Floodlight group to which the
 30103  //     requested Floodlight activities belong.
 30104  func (r *FloodlightGroupsFloodlightActivitiesService) List(floodlightGroupId int64) *FloodlightGroupsFloodlightActivitiesListCall {
 30105  	c := &FloodlightGroupsFloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30106  	c.floodlightGroupId = floodlightGroupId
 30107  	return c
 30108  }
 30109  
 30110  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 30111  // list. Acceptable values are: * `displayName` (default) *
 30112  // `floodlightActivityId` The default sorting order is ascending. To specify
 30113  // descending order for a field, a suffix "desc" should be added to the field
 30114  // name. Example: `displayName desc`.
 30115  func (c *FloodlightGroupsFloodlightActivitiesListCall) OrderBy(orderBy string) *FloodlightGroupsFloodlightActivitiesListCall {
 30116  	c.urlParams_.Set("orderBy", orderBy)
 30117  	return c
 30118  }
 30119  
 30120  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 30121  // be between `1` and `100`. If unspecified will default to `100`. Returns
 30122  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 30123  func (c *FloodlightGroupsFloodlightActivitiesListCall) PageSize(pageSize int64) *FloodlightGroupsFloodlightActivitiesListCall {
 30124  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 30125  	return c
 30126  }
 30127  
 30128  // PageToken sets the optional parameter "pageToken": A token identifying a
 30129  // page of results the server should return. Typically, this is the value of
 30130  // next_page_token returned from the previous call to
 30131  // `ListFloodlightActivities` method. If not specified, the first page of
 30132  // results will be returned.
 30133  func (c *FloodlightGroupsFloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightGroupsFloodlightActivitiesListCall {
 30134  	c.urlParams_.Set("pageToken", pageToken)
 30135  	return c
 30136  }
 30137  
 30138  // PartnerId sets the optional parameter "partnerId": Required. The ID of the
 30139  // partner through which the Floodlight activities are being accessed.
 30140  func (c *FloodlightGroupsFloodlightActivitiesListCall) PartnerId(partnerId int64) *FloodlightGroupsFloodlightActivitiesListCall {
 30141  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30142  	return c
 30143  }
 30144  
 30145  // Fields allows partial responses to be retrieved. See
 30146  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30147  // details.
 30148  func (c *FloodlightGroupsFloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightGroupsFloodlightActivitiesListCall {
 30149  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30150  	return c
 30151  }
 30152  
 30153  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30154  // object's ETag matches the given value. This is useful for getting updates
 30155  // only after the object has changed since the last request.
 30156  func (c *FloodlightGroupsFloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightGroupsFloodlightActivitiesListCall {
 30157  	c.ifNoneMatch_ = entityTag
 30158  	return c
 30159  }
 30160  
 30161  // Context sets the context to be used in this call's Do method.
 30162  func (c *FloodlightGroupsFloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightGroupsFloodlightActivitiesListCall {
 30163  	c.ctx_ = ctx
 30164  	return c
 30165  }
 30166  
 30167  // Header returns a http.Header that can be modified by the caller to add
 30168  // headers to the request.
 30169  func (c *FloodlightGroupsFloodlightActivitiesListCall) Header() http.Header {
 30170  	if c.header_ == nil {
 30171  		c.header_ = make(http.Header)
 30172  	}
 30173  	return c.header_
 30174  }
 30175  
 30176  func (c *FloodlightGroupsFloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 30177  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30178  	if c.ifNoneMatch_ != "" {
 30179  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30180  	}
 30181  	var body io.Reader = nil
 30182  	c.urlParams_.Set("alt", alt)
 30183  	c.urlParams_.Set("prettyPrint", "false")
 30184  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/floodlightGroups/{+floodlightGroupId}/floodlightActivities")
 30185  	urls += "?" + c.urlParams_.Encode()
 30186  	req, err := http.NewRequest("GET", urls, body)
 30187  	if err != nil {
 30188  		return nil, err
 30189  	}
 30190  	req.Header = reqHeaders
 30191  	googleapi.Expand(req.URL, map[string]string{
 30192  		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
 30193  	})
 30194  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30195  }
 30196  
 30197  // Do executes the "displayvideo.floodlightGroups.floodlightActivities.list" call.
 30198  // Any non-2xx status code is an error. Response headers are in either
 30199  // *ListFloodlightActivitiesResponse.ServerResponse.Header or (if a response
 30200  // was returned at all) in error.(*googleapi.Error).Header. Use
 30201  // googleapi.IsNotModified to check whether the returned error was because
 30202  // http.StatusNotModified was returned.
 30203  func (c *FloodlightGroupsFloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*ListFloodlightActivitiesResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
 30221  	}
 30222  	ret := &ListFloodlightActivitiesResponse{
 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  
 30235  // Pages invokes f for each page of results.
 30236  // A non-nil error returned from f will halt the iteration.
 30237  // The provided context supersedes any context provided to the Context method.
 30238  func (c *FloodlightGroupsFloodlightActivitiesListCall) Pages(ctx context.Context, f func(*ListFloodlightActivitiesResponse) error) error {
 30239  	c.ctx_ = ctx
 30240  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 30241  	for {
 30242  		x, err := c.Do()
 30243  		if err != nil {
 30244  			return err
 30245  		}
 30246  		if err := f(x); err != nil {
 30247  			return err
 30248  		}
 30249  		if x.NextPageToken == "" {
 30250  			return nil
 30251  		}
 30252  		c.PageToken(x.NextPageToken)
 30253  	}
 30254  }
 30255  
 30256  type GoogleAudiencesGetCall struct {
 30257  	s                *Service
 30258  	googleAudienceId int64
 30259  	urlParams_       gensupport.URLParams
 30260  	ifNoneMatch_     string
 30261  	ctx_             context.Context
 30262  	header_          http.Header
 30263  }
 30264  
 30265  // Get: Gets a Google audience.
 30266  //
 30267  // - googleAudienceId: The ID of the Google audience to fetch.
 30268  func (r *GoogleAudiencesService) Get(googleAudienceId int64) *GoogleAudiencesGetCall {
 30269  	c := &GoogleAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30270  	c.googleAudienceId = googleAudienceId
 30271  	return c
 30272  }
 30273  
 30274  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 30275  // advertiser that has access to the fetched Google audience.
 30276  func (c *GoogleAudiencesGetCall) AdvertiserId(advertiserId int64) *GoogleAudiencesGetCall {
 30277  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30278  	return c
 30279  }
 30280  
 30281  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 30282  // that has access to the fetched Google audience.
 30283  func (c *GoogleAudiencesGetCall) PartnerId(partnerId int64) *GoogleAudiencesGetCall {
 30284  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30285  	return c
 30286  }
 30287  
 30288  // Fields allows partial responses to be retrieved. See
 30289  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30290  // details.
 30291  func (c *GoogleAudiencesGetCall) Fields(s ...googleapi.Field) *GoogleAudiencesGetCall {
 30292  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30293  	return c
 30294  }
 30295  
 30296  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30297  // object's ETag matches the given value. This is useful for getting updates
 30298  // only after the object has changed since the last request.
 30299  func (c *GoogleAudiencesGetCall) IfNoneMatch(entityTag string) *GoogleAudiencesGetCall {
 30300  	c.ifNoneMatch_ = entityTag
 30301  	return c
 30302  }
 30303  
 30304  // Context sets the context to be used in this call's Do method.
 30305  func (c *GoogleAudiencesGetCall) Context(ctx context.Context) *GoogleAudiencesGetCall {
 30306  	c.ctx_ = ctx
 30307  	return c
 30308  }
 30309  
 30310  // Header returns a http.Header that can be modified by the caller to add
 30311  // headers to the request.
 30312  func (c *GoogleAudiencesGetCall) Header() http.Header {
 30313  	if c.header_ == nil {
 30314  		c.header_ = make(http.Header)
 30315  	}
 30316  	return c.header_
 30317  }
 30318  
 30319  func (c *GoogleAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
 30320  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30321  	if c.ifNoneMatch_ != "" {
 30322  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30323  	}
 30324  	var body io.Reader = nil
 30325  	c.urlParams_.Set("alt", alt)
 30326  	c.urlParams_.Set("prettyPrint", "false")
 30327  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/googleAudiences/{+googleAudienceId}")
 30328  	urls += "?" + c.urlParams_.Encode()
 30329  	req, err := http.NewRequest("GET", urls, body)
 30330  	if err != nil {
 30331  		return nil, err
 30332  	}
 30333  	req.Header = reqHeaders
 30334  	googleapi.Expand(req.URL, map[string]string{
 30335  		"googleAudienceId": strconv.FormatInt(c.googleAudienceId, 10),
 30336  	})
 30337  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30338  }
 30339  
 30340  // Do executes the "displayvideo.googleAudiences.get" call.
 30341  // Any non-2xx status code is an error. Response headers are in either
 30342  // *GoogleAudience.ServerResponse.Header or (if a response was returned at all)
 30343  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 30344  // whether the returned error was because http.StatusNotModified was returned.
 30345  func (c *GoogleAudiencesGetCall) Do(opts ...googleapi.CallOption) (*GoogleAudience, error) {
 30346  	gensupport.SetOptions(c.urlParams_, opts...)
 30347  	res, err := c.doRequest("json")
 30348  	if res != nil && res.StatusCode == http.StatusNotModified {
 30349  		if res.Body != nil {
 30350  			res.Body.Close()
 30351  		}
 30352  		return nil, gensupport.WrapError(&googleapi.Error{
 30353  			Code:   res.StatusCode,
 30354  			Header: res.Header,
 30355  		})
 30356  	}
 30357  	if err != nil {
 30358  		return nil, err
 30359  	}
 30360  	defer googleapi.CloseBody(res)
 30361  	if err := googleapi.CheckResponse(res); err != nil {
 30362  		return nil, gensupport.WrapError(err)
 30363  	}
 30364  	ret := &GoogleAudience{
 30365  		ServerResponse: googleapi.ServerResponse{
 30366  			Header:         res.Header,
 30367  			HTTPStatusCode: res.StatusCode,
 30368  		},
 30369  	}
 30370  	target := &ret
 30371  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30372  		return nil, err
 30373  	}
 30374  	return ret, nil
 30375  }
 30376  
 30377  type GoogleAudiencesListCall struct {
 30378  	s            *Service
 30379  	urlParams_   gensupport.URLParams
 30380  	ifNoneMatch_ string
 30381  	ctx_         context.Context
 30382  	header_      http.Header
 30383  }
 30384  
 30385  // List: Lists Google audiences. The order is defined by the order_by
 30386  // parameter.
 30387  func (r *GoogleAudiencesService) List() *GoogleAudiencesListCall {
 30388  	c := &GoogleAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30389  	return c
 30390  }
 30391  
 30392  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 30393  // advertiser that has access to the fetched Google audiences.
 30394  func (c *GoogleAudiencesListCall) AdvertiserId(advertiserId int64) *GoogleAudiencesListCall {
 30395  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30396  	return c
 30397  }
 30398  
 30399  // Filter sets the optional parameter "filter": Allows filtering by Google
 30400  // audience fields. Supported syntax: * Filter expressions for Google audiences
 30401  // can only contain at most one restriction. * A restriction has the form of
 30402  // `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator.
 30403  // Supported fields: * `displayName` Examples: * All Google audiences for which
 30404  // the display name contains "Google": `displayName:"Google". The length of
 30405  // this field should be no more than 500 characters. Reference our filter
 30406  // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more
 30407  // information.
 30408  func (c *GoogleAudiencesListCall) Filter(filter string) *GoogleAudiencesListCall {
 30409  	c.urlParams_.Set("filter", filter)
 30410  	return c
 30411  }
 30412  
 30413  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 30414  // list. Acceptable values are: * `googleAudienceId` (default) * `displayName`
 30415  // The default sorting order is ascending. To specify descending order for a
 30416  // field, a suffix "desc" should be added to the field name. Example:
 30417  // `displayName desc`.
 30418  func (c *GoogleAudiencesListCall) OrderBy(orderBy string) *GoogleAudiencesListCall {
 30419  	c.urlParams_.Set("orderBy", orderBy)
 30420  	return c
 30421  }
 30422  
 30423  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 30424  // be between `1` and `200`. If unspecified will default to `100`. Returns
 30425  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 30426  func (c *GoogleAudiencesListCall) PageSize(pageSize int64) *GoogleAudiencesListCall {
 30427  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 30428  	return c
 30429  }
 30430  
 30431  // PageToken sets the optional parameter "pageToken": A token identifying a
 30432  // page of results the server should return. Typically, this is the value of
 30433  // next_page_token returned from the previous call to `ListGoogleAudiences`
 30434  // method. If not specified, the first page of results will be returned.
 30435  func (c *GoogleAudiencesListCall) PageToken(pageToken string) *GoogleAudiencesListCall {
 30436  	c.urlParams_.Set("pageToken", pageToken)
 30437  	return c
 30438  }
 30439  
 30440  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 30441  // that has access to the fetched Google audiences.
 30442  func (c *GoogleAudiencesListCall) PartnerId(partnerId int64) *GoogleAudiencesListCall {
 30443  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30444  	return c
 30445  }
 30446  
 30447  // Fields allows partial responses to be retrieved. See
 30448  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30449  // details.
 30450  func (c *GoogleAudiencesListCall) Fields(s ...googleapi.Field) *GoogleAudiencesListCall {
 30451  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30452  	return c
 30453  }
 30454  
 30455  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30456  // object's ETag matches the given value. This is useful for getting updates
 30457  // only after the object has changed since the last request.
 30458  func (c *GoogleAudiencesListCall) IfNoneMatch(entityTag string) *GoogleAudiencesListCall {
 30459  	c.ifNoneMatch_ = entityTag
 30460  	return c
 30461  }
 30462  
 30463  // Context sets the context to be used in this call's Do method.
 30464  func (c *GoogleAudiencesListCall) Context(ctx context.Context) *GoogleAudiencesListCall {
 30465  	c.ctx_ = ctx
 30466  	return c
 30467  }
 30468  
 30469  // Header returns a http.Header that can be modified by the caller to add
 30470  // headers to the request.
 30471  func (c *GoogleAudiencesListCall) Header() http.Header {
 30472  	if c.header_ == nil {
 30473  		c.header_ = make(http.Header)
 30474  	}
 30475  	return c.header_
 30476  }
 30477  
 30478  func (c *GoogleAudiencesListCall) doRequest(alt string) (*http.Response, error) {
 30479  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30480  	if c.ifNoneMatch_ != "" {
 30481  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30482  	}
 30483  	var body io.Reader = nil
 30484  	c.urlParams_.Set("alt", alt)
 30485  	c.urlParams_.Set("prettyPrint", "false")
 30486  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/googleAudiences")
 30487  	urls += "?" + c.urlParams_.Encode()
 30488  	req, err := http.NewRequest("GET", urls, body)
 30489  	if err != nil {
 30490  		return nil, err
 30491  	}
 30492  	req.Header = reqHeaders
 30493  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30494  }
 30495  
 30496  // Do executes the "displayvideo.googleAudiences.list" call.
 30497  // Any non-2xx status code is an error. Response headers are in either
 30498  // *ListGoogleAudiencesResponse.ServerResponse.Header or (if a response was
 30499  // returned at all) in error.(*googleapi.Error).Header. Use
 30500  // googleapi.IsNotModified to check whether the returned error was because
 30501  // http.StatusNotModified was returned.
 30502  func (c *GoogleAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListGoogleAudiencesResponse, error) {
 30503  	gensupport.SetOptions(c.urlParams_, opts...)
 30504  	res, err := c.doRequest("json")
 30505  	if res != nil && res.StatusCode == http.StatusNotModified {
 30506  		if res.Body != nil {
 30507  			res.Body.Close()
 30508  		}
 30509  		return nil, gensupport.WrapError(&googleapi.Error{
 30510  			Code:   res.StatusCode,
 30511  			Header: res.Header,
 30512  		})
 30513  	}
 30514  	if err != nil {
 30515  		return nil, err
 30516  	}
 30517  	defer googleapi.CloseBody(res)
 30518  	if err := googleapi.CheckResponse(res); err != nil {
 30519  		return nil, gensupport.WrapError(err)
 30520  	}
 30521  	ret := &ListGoogleAudiencesResponse{
 30522  		ServerResponse: googleapi.ServerResponse{
 30523  			Header:         res.Header,
 30524  			HTTPStatusCode: res.StatusCode,
 30525  		},
 30526  	}
 30527  	target := &ret
 30528  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30529  		return nil, err
 30530  	}
 30531  	return ret, nil
 30532  }
 30533  
 30534  // Pages invokes f for each page of results.
 30535  // A non-nil error returned from f will halt the iteration.
 30536  // The provided context supersedes any context provided to the Context method.
 30537  func (c *GoogleAudiencesListCall) Pages(ctx context.Context, f func(*ListGoogleAudiencesResponse) error) error {
 30538  	c.ctx_ = ctx
 30539  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 30540  	for {
 30541  		x, err := c.Do()
 30542  		if err != nil {
 30543  			return err
 30544  		}
 30545  		if err := f(x); err != nil {
 30546  			return err
 30547  		}
 30548  		if x.NextPageToken == "" {
 30549  			return nil
 30550  		}
 30551  		c.PageToken(x.NextPageToken)
 30552  	}
 30553  }
 30554  
 30555  type GuaranteedOrdersCreateCall struct {
 30556  	s               *Service
 30557  	guaranteedorder *GuaranteedOrder
 30558  	urlParams_      gensupport.URLParams
 30559  	ctx_            context.Context
 30560  	header_         http.Header
 30561  }
 30562  
 30563  // Create: Creates a new guaranteed order. Returns the newly created guaranteed
 30564  // order if successful.
 30565  func (r *GuaranteedOrdersService) Create(guaranteedorder *GuaranteedOrder) *GuaranteedOrdersCreateCall {
 30566  	c := &GuaranteedOrdersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30567  	c.guaranteedorder = guaranteedorder
 30568  	return c
 30569  }
 30570  
 30571  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 30572  // advertiser that the request is being made within.
 30573  func (c *GuaranteedOrdersCreateCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersCreateCall {
 30574  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30575  	return c
 30576  }
 30577  
 30578  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 30579  // that the request is being made within.
 30580  func (c *GuaranteedOrdersCreateCall) PartnerId(partnerId int64) *GuaranteedOrdersCreateCall {
 30581  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30582  	return c
 30583  }
 30584  
 30585  // Fields allows partial responses to be retrieved. See
 30586  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30587  // details.
 30588  func (c *GuaranteedOrdersCreateCall) Fields(s ...googleapi.Field) *GuaranteedOrdersCreateCall {
 30589  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30590  	return c
 30591  }
 30592  
 30593  // Context sets the context to be used in this call's Do method.
 30594  func (c *GuaranteedOrdersCreateCall) Context(ctx context.Context) *GuaranteedOrdersCreateCall {
 30595  	c.ctx_ = ctx
 30596  	return c
 30597  }
 30598  
 30599  // Header returns a http.Header that can be modified by the caller to add
 30600  // headers to the request.
 30601  func (c *GuaranteedOrdersCreateCall) Header() http.Header {
 30602  	if c.header_ == nil {
 30603  		c.header_ = make(http.Header)
 30604  	}
 30605  	return c.header_
 30606  }
 30607  
 30608  func (c *GuaranteedOrdersCreateCall) doRequest(alt string) (*http.Response, error) {
 30609  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 30610  	var body io.Reader = nil
 30611  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.guaranteedorder)
 30612  	if err != nil {
 30613  		return nil, err
 30614  	}
 30615  	c.urlParams_.Set("alt", alt)
 30616  	c.urlParams_.Set("prettyPrint", "false")
 30617  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/guaranteedOrders")
 30618  	urls += "?" + c.urlParams_.Encode()
 30619  	req, err := http.NewRequest("POST", urls, body)
 30620  	if err != nil {
 30621  		return nil, err
 30622  	}
 30623  	req.Header = reqHeaders
 30624  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30625  }
 30626  
 30627  // Do executes the "displayvideo.guaranteedOrders.create" call.
 30628  // Any non-2xx status code is an error. Response headers are in either
 30629  // *GuaranteedOrder.ServerResponse.Header or (if a response was returned at
 30630  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 30631  // check whether the returned error was because http.StatusNotModified was
 30632  // returned.
 30633  func (c *GuaranteedOrdersCreateCall) Do(opts ...googleapi.CallOption) (*GuaranteedOrder, error) {
 30634  	gensupport.SetOptions(c.urlParams_, opts...)
 30635  	res, err := c.doRequest("json")
 30636  	if res != nil && res.StatusCode == http.StatusNotModified {
 30637  		if res.Body != nil {
 30638  			res.Body.Close()
 30639  		}
 30640  		return nil, gensupport.WrapError(&googleapi.Error{
 30641  			Code:   res.StatusCode,
 30642  			Header: res.Header,
 30643  		})
 30644  	}
 30645  	if err != nil {
 30646  		return nil, err
 30647  	}
 30648  	defer googleapi.CloseBody(res)
 30649  	if err := googleapi.CheckResponse(res); err != nil {
 30650  		return nil, gensupport.WrapError(err)
 30651  	}
 30652  	ret := &GuaranteedOrder{
 30653  		ServerResponse: googleapi.ServerResponse{
 30654  			Header:         res.Header,
 30655  			HTTPStatusCode: res.StatusCode,
 30656  		},
 30657  	}
 30658  	target := &ret
 30659  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30660  		return nil, err
 30661  	}
 30662  	return ret, nil
 30663  }
 30664  
 30665  type GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall struct {
 30666  	s                                       *Service
 30667  	guaranteedOrderId                       string
 30668  	editguaranteedorderreadaccessorsrequest *EditGuaranteedOrderReadAccessorsRequest
 30669  	urlParams_                              gensupport.URLParams
 30670  	ctx_                                    context.Context
 30671  	header_                                 http.Header
 30672  }
 30673  
 30674  // EditGuaranteedOrderReadAccessors: Edits read advertisers of a guaranteed
 30675  // order.
 30676  //
 30677  //   - guaranteedOrderId: The ID of the guaranteed order to edit. The ID is of
 30678  //     the format `{exchange}-{legacy_guaranteed_order_id}`.
 30679  func (r *GuaranteedOrdersService) EditGuaranteedOrderReadAccessors(guaranteedOrderId string, editguaranteedorderreadaccessorsrequest *EditGuaranteedOrderReadAccessorsRequest) *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall {
 30680  	c := &GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30681  	c.guaranteedOrderId = guaranteedOrderId
 30682  	c.editguaranteedorderreadaccessorsrequest = editguaranteedorderreadaccessorsrequest
 30683  	return c
 30684  }
 30685  
 30686  // Fields allows partial responses to be retrieved. See
 30687  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30688  // details.
 30689  func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Fields(s ...googleapi.Field) *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall {
 30690  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30691  	return c
 30692  }
 30693  
 30694  // Context sets the context to be used in this call's Do method.
 30695  func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Context(ctx context.Context) *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall {
 30696  	c.ctx_ = ctx
 30697  	return c
 30698  }
 30699  
 30700  // Header returns a http.Header that can be modified by the caller to add
 30701  // headers to the request.
 30702  func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Header() http.Header {
 30703  	if c.header_ == nil {
 30704  		c.header_ = make(http.Header)
 30705  	}
 30706  	return c.header_
 30707  }
 30708  
 30709  func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) doRequest(alt string) (*http.Response, error) {
 30710  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 30711  	var body io.Reader = nil
 30712  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.editguaranteedorderreadaccessorsrequest)
 30713  	if err != nil {
 30714  		return nil, err
 30715  	}
 30716  	c.urlParams_.Set("alt", alt)
 30717  	c.urlParams_.Set("prettyPrint", "false")
 30718  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/guaranteedOrders/{+guaranteedOrderId}:editGuaranteedOrderReadAccessors")
 30719  	urls += "?" + c.urlParams_.Encode()
 30720  	req, err := http.NewRequest("POST", urls, body)
 30721  	if err != nil {
 30722  		return nil, err
 30723  	}
 30724  	req.Header = reqHeaders
 30725  	googleapi.Expand(req.URL, map[string]string{
 30726  		"guaranteedOrderId": c.guaranteedOrderId,
 30727  	})
 30728  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30729  }
 30730  
 30731  // Do executes the "displayvideo.guaranteedOrders.editGuaranteedOrderReadAccessors" call.
 30732  // Any non-2xx status code is an error. Response headers are in either
 30733  // *EditGuaranteedOrderReadAccessorsResponse.ServerResponse.Header or (if a
 30734  // response was returned at all) in error.(*googleapi.Error).Header. Use
 30735  // googleapi.IsNotModified to check whether the returned error was because
 30736  // http.StatusNotModified was returned.
 30737  func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Do(opts ...googleapi.CallOption) (*EditGuaranteedOrderReadAccessorsResponse, error) {
 30738  	gensupport.SetOptions(c.urlParams_, opts...)
 30739  	res, err := c.doRequest("json")
 30740  	if res != nil && res.StatusCode == http.StatusNotModified {
 30741  		if res.Body != nil {
 30742  			res.Body.Close()
 30743  		}
 30744  		return nil, gensupport.WrapError(&googleapi.Error{
 30745  			Code:   res.StatusCode,
 30746  			Header: res.Header,
 30747  		})
 30748  	}
 30749  	if err != nil {
 30750  		return nil, err
 30751  	}
 30752  	defer googleapi.CloseBody(res)
 30753  	if err := googleapi.CheckResponse(res); err != nil {
 30754  		return nil, gensupport.WrapError(err)
 30755  	}
 30756  	ret := &EditGuaranteedOrderReadAccessorsResponse{
 30757  		ServerResponse: googleapi.ServerResponse{
 30758  			Header:         res.Header,
 30759  			HTTPStatusCode: res.StatusCode,
 30760  		},
 30761  	}
 30762  	target := &ret
 30763  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30764  		return nil, err
 30765  	}
 30766  	return ret, nil
 30767  }
 30768  
 30769  type GuaranteedOrdersGetCall struct {
 30770  	s                 *Service
 30771  	guaranteedOrderId string
 30772  	urlParams_        gensupport.URLParams
 30773  	ifNoneMatch_      string
 30774  	ctx_              context.Context
 30775  	header_           http.Header
 30776  }
 30777  
 30778  // Get: Gets a guaranteed order.
 30779  //
 30780  //   - guaranteedOrderId: The ID of the guaranteed order to fetch. The ID is of
 30781  //     the format `{exchange}-{legacy_guaranteed_order_id}`.
 30782  func (r *GuaranteedOrdersService) Get(guaranteedOrderId string) *GuaranteedOrdersGetCall {
 30783  	c := &GuaranteedOrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30784  	c.guaranteedOrderId = guaranteedOrderId
 30785  	return c
 30786  }
 30787  
 30788  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 30789  // advertiser that has access to the guaranteed order.
 30790  func (c *GuaranteedOrdersGetCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersGetCall {
 30791  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30792  	return c
 30793  }
 30794  
 30795  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 30796  // that has access to the guaranteed order.
 30797  func (c *GuaranteedOrdersGetCall) PartnerId(partnerId int64) *GuaranteedOrdersGetCall {
 30798  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30799  	return c
 30800  }
 30801  
 30802  // Fields allows partial responses to be retrieved. See
 30803  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30804  // details.
 30805  func (c *GuaranteedOrdersGetCall) Fields(s ...googleapi.Field) *GuaranteedOrdersGetCall {
 30806  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30807  	return c
 30808  }
 30809  
 30810  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30811  // object's ETag matches the given value. This is useful for getting updates
 30812  // only after the object has changed since the last request.
 30813  func (c *GuaranteedOrdersGetCall) IfNoneMatch(entityTag string) *GuaranteedOrdersGetCall {
 30814  	c.ifNoneMatch_ = entityTag
 30815  	return c
 30816  }
 30817  
 30818  // Context sets the context to be used in this call's Do method.
 30819  func (c *GuaranteedOrdersGetCall) Context(ctx context.Context) *GuaranteedOrdersGetCall {
 30820  	c.ctx_ = ctx
 30821  	return c
 30822  }
 30823  
 30824  // Header returns a http.Header that can be modified by the caller to add
 30825  // headers to the request.
 30826  func (c *GuaranteedOrdersGetCall) Header() http.Header {
 30827  	if c.header_ == nil {
 30828  		c.header_ = make(http.Header)
 30829  	}
 30830  	return c.header_
 30831  }
 30832  
 30833  func (c *GuaranteedOrdersGetCall) doRequest(alt string) (*http.Response, error) {
 30834  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30835  	if c.ifNoneMatch_ != "" {
 30836  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30837  	}
 30838  	var body io.Reader = nil
 30839  	c.urlParams_.Set("alt", alt)
 30840  	c.urlParams_.Set("prettyPrint", "false")
 30841  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/guaranteedOrders/{+guaranteedOrderId}")
 30842  	urls += "?" + c.urlParams_.Encode()
 30843  	req, err := http.NewRequest("GET", urls, body)
 30844  	if err != nil {
 30845  		return nil, err
 30846  	}
 30847  	req.Header = reqHeaders
 30848  	googleapi.Expand(req.URL, map[string]string{
 30849  		"guaranteedOrderId": c.guaranteedOrderId,
 30850  	})
 30851  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30852  }
 30853  
 30854  // Do executes the "displayvideo.guaranteedOrders.get" call.
 30855  // Any non-2xx status code is an error. Response headers are in either
 30856  // *GuaranteedOrder.ServerResponse.Header or (if a response was returned at
 30857  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 30858  // check whether the returned error was because http.StatusNotModified was
 30859  // returned.
 30860  func (c *GuaranteedOrdersGetCall) Do(opts ...googleapi.CallOption) (*GuaranteedOrder, error) {
 30861  	gensupport.SetOptions(c.urlParams_, opts...)
 30862  	res, err := c.doRequest("json")
 30863  	if res != nil && res.StatusCode == http.StatusNotModified {
 30864  		if res.Body != nil {
 30865  			res.Body.Close()
 30866  		}
 30867  		return nil, gensupport.WrapError(&googleapi.Error{
 30868  			Code:   res.StatusCode,
 30869  			Header: res.Header,
 30870  		})
 30871  	}
 30872  	if err != nil {
 30873  		return nil, err
 30874  	}
 30875  	defer googleapi.CloseBody(res)
 30876  	if err := googleapi.CheckResponse(res); err != nil {
 30877  		return nil, gensupport.WrapError(err)
 30878  	}
 30879  	ret := &GuaranteedOrder{
 30880  		ServerResponse: googleapi.ServerResponse{
 30881  			Header:         res.Header,
 30882  			HTTPStatusCode: res.StatusCode,
 30883  		},
 30884  	}
 30885  	target := &ret
 30886  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30887  		return nil, err
 30888  	}
 30889  	return ret, nil
 30890  }
 30891  
 30892  type GuaranteedOrdersListCall struct {
 30893  	s            *Service
 30894  	urlParams_   gensupport.URLParams
 30895  	ifNoneMatch_ string
 30896  	ctx_         context.Context
 30897  	header_      http.Header
 30898  }
 30899  
 30900  // List: Lists guaranteed orders that are accessible to the current user. The
 30901  // order is defined by the order_by parameter. If a filter by entity_status is
 30902  // not specified, guaranteed orders with entity status `ENTITY_STATUS_ARCHIVED`
 30903  // will not be included in the results.
 30904  func (r *GuaranteedOrdersService) List() *GuaranteedOrdersListCall {
 30905  	c := &GuaranteedOrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30906  	return c
 30907  }
 30908  
 30909  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 30910  // advertiser that has access to the guaranteed order.
 30911  func (c *GuaranteedOrdersListCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersListCall {
 30912  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30913  	return c
 30914  }
 30915  
 30916  // Filter sets the optional parameter "filter": Allows filtering by guaranteed
 30917  // order fields. * Filter expressions are made up of one or more restrictions.
 30918  // * Restrictions can be combined by `AND` or `OR` logical operators. A
 30919  // sequence of restrictions implicitly uses `AND`. * A restriction has the form
 30920  // of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)`
 30921  // operator. Supported fields: * `guaranteed_order_id` * `exchange` *
 30922  // `display_name` * `status.entityStatus` Examples: * All active guaranteed
 30923  // orders: `status.entityStatus="ENTITY_STATUS_ACTIVE" * Guaranteed orders
 30924  // belonging to Google Ad Manager or Rubicon exchanges:
 30925  // `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR exchange="EXCHANGE_RUBICON" The
 30926  // length of this field should be no more than 500 characters. Reference our
 30927  // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for
 30928  // more information.
 30929  func (c *GuaranteedOrdersListCall) Filter(filter string) *GuaranteedOrdersListCall {
 30930  	c.urlParams_.Set("filter", filter)
 30931  	return c
 30932  }
 30933  
 30934  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 30935  // list. Acceptable values are: * `displayName` (default) The default sorting
 30936  // order is ascending. To specify descending order for a field, a suffix "desc"
 30937  // should be added to the field name. For example, `displayName desc`.
 30938  func (c *GuaranteedOrdersListCall) OrderBy(orderBy string) *GuaranteedOrdersListCall {
 30939  	c.urlParams_.Set("orderBy", orderBy)
 30940  	return c
 30941  }
 30942  
 30943  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 30944  // be between `1` and `200`. If unspecified will default to `100`.
 30945  func (c *GuaranteedOrdersListCall) PageSize(pageSize int64) *GuaranteedOrdersListCall {
 30946  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 30947  	return c
 30948  }
 30949  
 30950  // PageToken sets the optional parameter "pageToken": A token identifying a
 30951  // page of results the server should return. Typically, this is the value of
 30952  // next_page_token returned from the previous call to `ListGuaranteedOrders`
 30953  // method. If not specified, the first page of results will be returned.
 30954  func (c *GuaranteedOrdersListCall) PageToken(pageToken string) *GuaranteedOrdersListCall {
 30955  	c.urlParams_.Set("pageToken", pageToken)
 30956  	return c
 30957  }
 30958  
 30959  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 30960  // that has access to the guaranteed order.
 30961  func (c *GuaranteedOrdersListCall) PartnerId(partnerId int64) *GuaranteedOrdersListCall {
 30962  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30963  	return c
 30964  }
 30965  
 30966  // Fields allows partial responses to be retrieved. See
 30967  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30968  // details.
 30969  func (c *GuaranteedOrdersListCall) Fields(s ...googleapi.Field) *GuaranteedOrdersListCall {
 30970  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30971  	return c
 30972  }
 30973  
 30974  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30975  // object's ETag matches the given value. This is useful for getting updates
 30976  // only after the object has changed since the last request.
 30977  func (c *GuaranteedOrdersListCall) IfNoneMatch(entityTag string) *GuaranteedOrdersListCall {
 30978  	c.ifNoneMatch_ = entityTag
 30979  	return c
 30980  }
 30981  
 30982  // Context sets the context to be used in this call's Do method.
 30983  func (c *GuaranteedOrdersListCall) Context(ctx context.Context) *GuaranteedOrdersListCall {
 30984  	c.ctx_ = ctx
 30985  	return c
 30986  }
 30987  
 30988  // Header returns a http.Header that can be modified by the caller to add
 30989  // headers to the request.
 30990  func (c *GuaranteedOrdersListCall) Header() http.Header {
 30991  	if c.header_ == nil {
 30992  		c.header_ = make(http.Header)
 30993  	}
 30994  	return c.header_
 30995  }
 30996  
 30997  func (c *GuaranteedOrdersListCall) doRequest(alt string) (*http.Response, error) {
 30998  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30999  	if c.ifNoneMatch_ != "" {
 31000  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31001  	}
 31002  	var body io.Reader = nil
 31003  	c.urlParams_.Set("alt", alt)
 31004  	c.urlParams_.Set("prettyPrint", "false")
 31005  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/guaranteedOrders")
 31006  	urls += "?" + c.urlParams_.Encode()
 31007  	req, err := http.NewRequest("GET", urls, body)
 31008  	if err != nil {
 31009  		return nil, err
 31010  	}
 31011  	req.Header = reqHeaders
 31012  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31013  }
 31014  
 31015  // Do executes the "displayvideo.guaranteedOrders.list" call.
 31016  // Any non-2xx status code is an error. Response headers are in either
 31017  // *ListGuaranteedOrdersResponse.ServerResponse.Header or (if a response was
 31018  // returned at all) in error.(*googleapi.Error).Header. Use
 31019  // googleapi.IsNotModified to check whether the returned error was because
 31020  // http.StatusNotModified was returned.
 31021  func (c *GuaranteedOrdersListCall) Do(opts ...googleapi.CallOption) (*ListGuaranteedOrdersResponse, error) {
 31022  	gensupport.SetOptions(c.urlParams_, opts...)
 31023  	res, err := c.doRequest("json")
 31024  	if res != nil && res.StatusCode == http.StatusNotModified {
 31025  		if res.Body != nil {
 31026  			res.Body.Close()
 31027  		}
 31028  		return nil, gensupport.WrapError(&googleapi.Error{
 31029  			Code:   res.StatusCode,
 31030  			Header: res.Header,
 31031  		})
 31032  	}
 31033  	if err != nil {
 31034  		return nil, err
 31035  	}
 31036  	defer googleapi.CloseBody(res)
 31037  	if err := googleapi.CheckResponse(res); err != nil {
 31038  		return nil, gensupport.WrapError(err)
 31039  	}
 31040  	ret := &ListGuaranteedOrdersResponse{
 31041  		ServerResponse: googleapi.ServerResponse{
 31042  			Header:         res.Header,
 31043  			HTTPStatusCode: res.StatusCode,
 31044  		},
 31045  	}
 31046  	target := &ret
 31047  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31048  		return nil, err
 31049  	}
 31050  	return ret, nil
 31051  }
 31052  
 31053  // Pages invokes f for each page of results.
 31054  // A non-nil error returned from f will halt the iteration.
 31055  // The provided context supersedes any context provided to the Context method.
 31056  func (c *GuaranteedOrdersListCall) Pages(ctx context.Context, f func(*ListGuaranteedOrdersResponse) error) error {
 31057  	c.ctx_ = ctx
 31058  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 31059  	for {
 31060  		x, err := c.Do()
 31061  		if err != nil {
 31062  			return err
 31063  		}
 31064  		if err := f(x); err != nil {
 31065  			return err
 31066  		}
 31067  		if x.NextPageToken == "" {
 31068  			return nil
 31069  		}
 31070  		c.PageToken(x.NextPageToken)
 31071  	}
 31072  }
 31073  
 31074  type GuaranteedOrdersPatchCall struct {
 31075  	s                 *Service
 31076  	guaranteedOrderId string
 31077  	guaranteedorder   *GuaranteedOrder
 31078  	urlParams_        gensupport.URLParams
 31079  	ctx_              context.Context
 31080  	header_           http.Header
 31081  }
 31082  
 31083  // Patch: Updates an existing guaranteed order. Returns the updated guaranteed
 31084  // order if successful.
 31085  //
 31086  //   - guaranteedOrderId: Output only. The unique identifier of the guaranteed
 31087  //     order. The guaranteed order IDs have the format
 31088  //     `{exchange}-{legacy_guaranteed_order_id}`.
 31089  func (r *GuaranteedOrdersService) Patch(guaranteedOrderId string, guaranteedorder *GuaranteedOrder) *GuaranteedOrdersPatchCall {
 31090  	c := &GuaranteedOrdersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31091  	c.guaranteedOrderId = guaranteedOrderId
 31092  	c.guaranteedorder = guaranteedorder
 31093  	return c
 31094  }
 31095  
 31096  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31097  // advertiser that the request is being made within.
 31098  func (c *GuaranteedOrdersPatchCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersPatchCall {
 31099  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31100  	return c
 31101  }
 31102  
 31103  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31104  // that the request is being made within.
 31105  func (c *GuaranteedOrdersPatchCall) PartnerId(partnerId int64) *GuaranteedOrdersPatchCall {
 31106  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31107  	return c
 31108  }
 31109  
 31110  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 31111  // control which fields to update.
 31112  func (c *GuaranteedOrdersPatchCall) UpdateMask(updateMask string) *GuaranteedOrdersPatchCall {
 31113  	c.urlParams_.Set("updateMask", updateMask)
 31114  	return c
 31115  }
 31116  
 31117  // Fields allows partial responses to be retrieved. See
 31118  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31119  // details.
 31120  func (c *GuaranteedOrdersPatchCall) Fields(s ...googleapi.Field) *GuaranteedOrdersPatchCall {
 31121  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31122  	return c
 31123  }
 31124  
 31125  // Context sets the context to be used in this call's Do method.
 31126  func (c *GuaranteedOrdersPatchCall) Context(ctx context.Context) *GuaranteedOrdersPatchCall {
 31127  	c.ctx_ = ctx
 31128  	return c
 31129  }
 31130  
 31131  // Header returns a http.Header that can be modified by the caller to add
 31132  // headers to the request.
 31133  func (c *GuaranteedOrdersPatchCall) Header() http.Header {
 31134  	if c.header_ == nil {
 31135  		c.header_ = make(http.Header)
 31136  	}
 31137  	return c.header_
 31138  }
 31139  
 31140  func (c *GuaranteedOrdersPatchCall) doRequest(alt string) (*http.Response, error) {
 31141  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 31142  	var body io.Reader = nil
 31143  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.guaranteedorder)
 31144  	if err != nil {
 31145  		return nil, err
 31146  	}
 31147  	c.urlParams_.Set("alt", alt)
 31148  	c.urlParams_.Set("prettyPrint", "false")
 31149  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/guaranteedOrders/{+guaranteedOrderId}")
 31150  	urls += "?" + c.urlParams_.Encode()
 31151  	req, err := http.NewRequest("PATCH", urls, body)
 31152  	if err != nil {
 31153  		return nil, err
 31154  	}
 31155  	req.Header = reqHeaders
 31156  	googleapi.Expand(req.URL, map[string]string{
 31157  		"guaranteedOrderId": c.guaranteedOrderId,
 31158  	})
 31159  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31160  }
 31161  
 31162  // Do executes the "displayvideo.guaranteedOrders.patch" call.
 31163  // Any non-2xx status code is an error. Response headers are in either
 31164  // *GuaranteedOrder.ServerResponse.Header or (if a response was returned at
 31165  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 31166  // check whether the returned error was because http.StatusNotModified was
 31167  // returned.
 31168  func (c *GuaranteedOrdersPatchCall) Do(opts ...googleapi.CallOption) (*GuaranteedOrder, error) {
 31169  	gensupport.SetOptions(c.urlParams_, opts...)
 31170  	res, err := c.doRequest("json")
 31171  	if res != nil && res.StatusCode == http.StatusNotModified {
 31172  		if res.Body != nil {
 31173  			res.Body.Close()
 31174  		}
 31175  		return nil, gensupport.WrapError(&googleapi.Error{
 31176  			Code:   res.StatusCode,
 31177  			Header: res.Header,
 31178  		})
 31179  	}
 31180  	if err != nil {
 31181  		return nil, err
 31182  	}
 31183  	defer googleapi.CloseBody(res)
 31184  	if err := googleapi.CheckResponse(res); err != nil {
 31185  		return nil, gensupport.WrapError(err)
 31186  	}
 31187  	ret := &GuaranteedOrder{
 31188  		ServerResponse: googleapi.ServerResponse{
 31189  			Header:         res.Header,
 31190  			HTTPStatusCode: res.StatusCode,
 31191  		},
 31192  	}
 31193  	target := &ret
 31194  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31195  		return nil, err
 31196  	}
 31197  	return ret, nil
 31198  }
 31199  
 31200  type InventorySourceGroupsCreateCall struct {
 31201  	s                    *Service
 31202  	inventorysourcegroup *InventorySourceGroup
 31203  	urlParams_           gensupport.URLParams
 31204  	ctx_                 context.Context
 31205  	header_              http.Header
 31206  }
 31207  
 31208  // Create: Creates a new inventory source group. Returns the newly created
 31209  // inventory source group if successful.
 31210  func (r *InventorySourceGroupsService) Create(inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsCreateCall {
 31211  	c := &InventorySourceGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31212  	c.inventorysourcegroup = inventorysourcegroup
 31213  	return c
 31214  }
 31215  
 31216  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31217  // advertiser that owns the inventory source group. The parent partner will not
 31218  // have access to this group.
 31219  func (c *InventorySourceGroupsCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsCreateCall {
 31220  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31221  	return c
 31222  }
 31223  
 31224  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31225  // that owns the inventory source group. Only this partner will have write
 31226  // access to this group. Only advertisers to which this group is explicitly
 31227  // shared will have read access to this group.
 31228  func (c *InventorySourceGroupsCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsCreateCall {
 31229  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31230  	return c
 31231  }
 31232  
 31233  // Fields allows partial responses to be retrieved. See
 31234  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31235  // details.
 31236  func (c *InventorySourceGroupsCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsCreateCall {
 31237  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31238  	return c
 31239  }
 31240  
 31241  // Context sets the context to be used in this call's Do method.
 31242  func (c *InventorySourceGroupsCreateCall) Context(ctx context.Context) *InventorySourceGroupsCreateCall {
 31243  	c.ctx_ = ctx
 31244  	return c
 31245  }
 31246  
 31247  // Header returns a http.Header that can be modified by the caller to add
 31248  // headers to the request.
 31249  func (c *InventorySourceGroupsCreateCall) Header() http.Header {
 31250  	if c.header_ == nil {
 31251  		c.header_ = make(http.Header)
 31252  	}
 31253  	return c.header_
 31254  }
 31255  
 31256  func (c *InventorySourceGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
 31257  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 31258  	var body io.Reader = nil
 31259  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup)
 31260  	if err != nil {
 31261  		return nil, err
 31262  	}
 31263  	c.urlParams_.Set("alt", alt)
 31264  	c.urlParams_.Set("prettyPrint", "false")
 31265  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups")
 31266  	urls += "?" + c.urlParams_.Encode()
 31267  	req, err := http.NewRequest("POST", urls, body)
 31268  	if err != nil {
 31269  		return nil, err
 31270  	}
 31271  	req.Header = reqHeaders
 31272  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31273  }
 31274  
 31275  // Do executes the "displayvideo.inventorySourceGroups.create" call.
 31276  // Any non-2xx status code is an error. Response headers are in either
 31277  // *InventorySourceGroup.ServerResponse.Header or (if a response was returned
 31278  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 31279  // check whether the returned error was because http.StatusNotModified was
 31280  // returned.
 31281  func (c *InventorySourceGroupsCreateCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
 31282  	gensupport.SetOptions(c.urlParams_, opts...)
 31283  	res, err := c.doRequest("json")
 31284  	if res != nil && res.StatusCode == http.StatusNotModified {
 31285  		if res.Body != nil {
 31286  			res.Body.Close()
 31287  		}
 31288  		return nil, gensupport.WrapError(&googleapi.Error{
 31289  			Code:   res.StatusCode,
 31290  			Header: res.Header,
 31291  		})
 31292  	}
 31293  	if err != nil {
 31294  		return nil, err
 31295  	}
 31296  	defer googleapi.CloseBody(res)
 31297  	if err := googleapi.CheckResponse(res); err != nil {
 31298  		return nil, gensupport.WrapError(err)
 31299  	}
 31300  	ret := &InventorySourceGroup{
 31301  		ServerResponse: googleapi.ServerResponse{
 31302  			Header:         res.Header,
 31303  			HTTPStatusCode: res.StatusCode,
 31304  		},
 31305  	}
 31306  	target := &ret
 31307  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31308  		return nil, err
 31309  	}
 31310  	return ret, nil
 31311  }
 31312  
 31313  type InventorySourceGroupsDeleteCall struct {
 31314  	s                      *Service
 31315  	inventorySourceGroupId int64
 31316  	urlParams_             gensupport.URLParams
 31317  	ctx_                   context.Context
 31318  	header_                http.Header
 31319  }
 31320  
 31321  // Delete: Deletes an inventory source group.
 31322  //
 31323  // - inventorySourceGroupId: The ID of the inventory source group to delete.
 31324  func (r *InventorySourceGroupsService) Delete(inventorySourceGroupId int64) *InventorySourceGroupsDeleteCall {
 31325  	c := &InventorySourceGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31326  	c.inventorySourceGroupId = inventorySourceGroupId
 31327  	return c
 31328  }
 31329  
 31330  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31331  // advertiser that owns the inventory source group. The parent partner does not
 31332  // have access to this group.
 31333  func (c *InventorySourceGroupsDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsDeleteCall {
 31334  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31335  	return c
 31336  }
 31337  
 31338  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31339  // that owns the inventory source group. Only this partner has write access to
 31340  // this group.
 31341  func (c *InventorySourceGroupsDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsDeleteCall {
 31342  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31343  	return c
 31344  }
 31345  
 31346  // Fields allows partial responses to be retrieved. See
 31347  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31348  // details.
 31349  func (c *InventorySourceGroupsDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsDeleteCall {
 31350  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31351  	return c
 31352  }
 31353  
 31354  // Context sets the context to be used in this call's Do method.
 31355  func (c *InventorySourceGroupsDeleteCall) Context(ctx context.Context) *InventorySourceGroupsDeleteCall {
 31356  	c.ctx_ = ctx
 31357  	return c
 31358  }
 31359  
 31360  // Header returns a http.Header that can be modified by the caller to add
 31361  // headers to the request.
 31362  func (c *InventorySourceGroupsDeleteCall) Header() http.Header {
 31363  	if c.header_ == nil {
 31364  		c.header_ = make(http.Header)
 31365  	}
 31366  	return c.header_
 31367  }
 31368  
 31369  func (c *InventorySourceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 31370  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 31371  	var body io.Reader = nil
 31372  	c.urlParams_.Set("alt", alt)
 31373  	c.urlParams_.Set("prettyPrint", "false")
 31374  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}")
 31375  	urls += "?" + c.urlParams_.Encode()
 31376  	req, err := http.NewRequest("DELETE", urls, body)
 31377  	if err != nil {
 31378  		return nil, err
 31379  	}
 31380  	req.Header = reqHeaders
 31381  	googleapi.Expand(req.URL, map[string]string{
 31382  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 31383  	})
 31384  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31385  }
 31386  
 31387  // Do executes the "displayvideo.inventorySourceGroups.delete" call.
 31388  // Any non-2xx status code is an error. Response headers are in either
 31389  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 31390  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 31391  // whether the returned error was because http.StatusNotModified was returned.
 31392  func (c *InventorySourceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 31393  	gensupport.SetOptions(c.urlParams_, opts...)
 31394  	res, err := c.doRequest("json")
 31395  	if res != nil && res.StatusCode == http.StatusNotModified {
 31396  		if res.Body != nil {
 31397  			res.Body.Close()
 31398  		}
 31399  		return nil, gensupport.WrapError(&googleapi.Error{
 31400  			Code:   res.StatusCode,
 31401  			Header: res.Header,
 31402  		})
 31403  	}
 31404  	if err != nil {
 31405  		return nil, err
 31406  	}
 31407  	defer googleapi.CloseBody(res)
 31408  	if err := googleapi.CheckResponse(res); err != nil {
 31409  		return nil, gensupport.WrapError(err)
 31410  	}
 31411  	ret := &Empty{
 31412  		ServerResponse: googleapi.ServerResponse{
 31413  			Header:         res.Header,
 31414  			HTTPStatusCode: res.StatusCode,
 31415  		},
 31416  	}
 31417  	target := &ret
 31418  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31419  		return nil, err
 31420  	}
 31421  	return ret, nil
 31422  }
 31423  
 31424  type InventorySourceGroupsGetCall struct {
 31425  	s                      *Service
 31426  	inventorySourceGroupId int64
 31427  	urlParams_             gensupport.URLParams
 31428  	ifNoneMatch_           string
 31429  	ctx_                   context.Context
 31430  	header_                http.Header
 31431  }
 31432  
 31433  // Get: Gets an inventory source group.
 31434  //
 31435  // - inventorySourceGroupId: The ID of the inventory source group to fetch.
 31436  func (r *InventorySourceGroupsService) Get(inventorySourceGroupId int64) *InventorySourceGroupsGetCall {
 31437  	c := &InventorySourceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31438  	c.inventorySourceGroupId = inventorySourceGroupId
 31439  	return c
 31440  }
 31441  
 31442  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31443  // advertiser that has access to the inventory source group. If an inventory
 31444  // source group is partner-owned, only advertisers to which the group is
 31445  // explicitly shared can access the group.
 31446  func (c *InventorySourceGroupsGetCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsGetCall {
 31447  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31448  	return c
 31449  }
 31450  
 31451  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31452  // that has access to the inventory source group. A partner cannot access an
 31453  // advertiser-owned inventory source group.
 31454  func (c *InventorySourceGroupsGetCall) PartnerId(partnerId int64) *InventorySourceGroupsGetCall {
 31455  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31456  	return c
 31457  }
 31458  
 31459  // Fields allows partial responses to be retrieved. See
 31460  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31461  // details.
 31462  func (c *InventorySourceGroupsGetCall) Fields(s ...googleapi.Field) *InventorySourceGroupsGetCall {
 31463  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31464  	return c
 31465  }
 31466  
 31467  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 31468  // object's ETag matches the given value. This is useful for getting updates
 31469  // only after the object has changed since the last request.
 31470  func (c *InventorySourceGroupsGetCall) IfNoneMatch(entityTag string) *InventorySourceGroupsGetCall {
 31471  	c.ifNoneMatch_ = entityTag
 31472  	return c
 31473  }
 31474  
 31475  // Context sets the context to be used in this call's Do method.
 31476  func (c *InventorySourceGroupsGetCall) Context(ctx context.Context) *InventorySourceGroupsGetCall {
 31477  	c.ctx_ = ctx
 31478  	return c
 31479  }
 31480  
 31481  // Header returns a http.Header that can be modified by the caller to add
 31482  // headers to the request.
 31483  func (c *InventorySourceGroupsGetCall) Header() http.Header {
 31484  	if c.header_ == nil {
 31485  		c.header_ = make(http.Header)
 31486  	}
 31487  	return c.header_
 31488  }
 31489  
 31490  func (c *InventorySourceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 31491  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 31492  	if c.ifNoneMatch_ != "" {
 31493  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31494  	}
 31495  	var body io.Reader = nil
 31496  	c.urlParams_.Set("alt", alt)
 31497  	c.urlParams_.Set("prettyPrint", "false")
 31498  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}")
 31499  	urls += "?" + c.urlParams_.Encode()
 31500  	req, err := http.NewRequest("GET", urls, body)
 31501  	if err != nil {
 31502  		return nil, err
 31503  	}
 31504  	req.Header = reqHeaders
 31505  	googleapi.Expand(req.URL, map[string]string{
 31506  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 31507  	})
 31508  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31509  }
 31510  
 31511  // Do executes the "displayvideo.inventorySourceGroups.get" call.
 31512  // Any non-2xx status code is an error. Response headers are in either
 31513  // *InventorySourceGroup.ServerResponse.Header or (if a response was returned
 31514  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 31515  // check whether the returned error was because http.StatusNotModified was
 31516  // returned.
 31517  func (c *InventorySourceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
 31518  	gensupport.SetOptions(c.urlParams_, opts...)
 31519  	res, err := c.doRequest("json")
 31520  	if res != nil && res.StatusCode == http.StatusNotModified {
 31521  		if res.Body != nil {
 31522  			res.Body.Close()
 31523  		}
 31524  		return nil, gensupport.WrapError(&googleapi.Error{
 31525  			Code:   res.StatusCode,
 31526  			Header: res.Header,
 31527  		})
 31528  	}
 31529  	if err != nil {
 31530  		return nil, err
 31531  	}
 31532  	defer googleapi.CloseBody(res)
 31533  	if err := googleapi.CheckResponse(res); err != nil {
 31534  		return nil, gensupport.WrapError(err)
 31535  	}
 31536  	ret := &InventorySourceGroup{
 31537  		ServerResponse: googleapi.ServerResponse{
 31538  			Header:         res.Header,
 31539  			HTTPStatusCode: res.StatusCode,
 31540  		},
 31541  	}
 31542  	target := &ret
 31543  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31544  		return nil, err
 31545  	}
 31546  	return ret, nil
 31547  }
 31548  
 31549  type InventorySourceGroupsListCall struct {
 31550  	s            *Service
 31551  	urlParams_   gensupport.URLParams
 31552  	ifNoneMatch_ string
 31553  	ctx_         context.Context
 31554  	header_      http.Header
 31555  }
 31556  
 31557  // List: Lists inventory source groups that are accessible to the current user.
 31558  // The order is defined by the order_by parameter.
 31559  func (r *InventorySourceGroupsService) List() *InventorySourceGroupsListCall {
 31560  	c := &InventorySourceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31561  	return c
 31562  }
 31563  
 31564  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31565  // advertiser that has access to the inventory source group. If an inventory
 31566  // source group is partner-owned, only advertisers to which the group is
 31567  // explicitly shared can access the group.
 31568  func (c *InventorySourceGroupsListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsListCall {
 31569  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31570  	return c
 31571  }
 31572  
 31573  // Filter sets the optional parameter "filter": Allows filtering by inventory
 31574  // source group fields. Supported syntax: * Filter expressions are made up of
 31575  // one or more restrictions. * Restrictions can be combined by the logical
 31576  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 31577  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 31578  // `inventorySourceGroupId` The length of this field should be no more than 500
 31579  // characters. Reference our filter `LIST` requests
 31580  // (/display-video/api/guides/how-tos/filters) guide for more information.
 31581  func (c *InventorySourceGroupsListCall) Filter(filter string) *InventorySourceGroupsListCall {
 31582  	c.urlParams_.Set("filter", filter)
 31583  	return c
 31584  }
 31585  
 31586  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 31587  // list. Acceptable values are: * `displayName` (default) *
 31588  // `inventorySourceGroupId` The default sorting order is ascending. To specify
 31589  // descending order for a field, a suffix "desc" should be added to the field
 31590  // name. For example, `displayName desc`.
 31591  func (c *InventorySourceGroupsListCall) OrderBy(orderBy string) *InventorySourceGroupsListCall {
 31592  	c.urlParams_.Set("orderBy", orderBy)
 31593  	return c
 31594  }
 31595  
 31596  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 31597  // be between `1` and `200`. If unspecified will default to `100`.
 31598  func (c *InventorySourceGroupsListCall) PageSize(pageSize int64) *InventorySourceGroupsListCall {
 31599  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 31600  	return c
 31601  }
 31602  
 31603  // PageToken sets the optional parameter "pageToken": A token identifying a
 31604  // page of results the server should return. Typically, this is the value of
 31605  // next_page_token returned from the previous call to `ListInventorySources`
 31606  // method. If not specified, the first page of results will be returned.
 31607  func (c *InventorySourceGroupsListCall) PageToken(pageToken string) *InventorySourceGroupsListCall {
 31608  	c.urlParams_.Set("pageToken", pageToken)
 31609  	return c
 31610  }
 31611  
 31612  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31613  // that has access to the inventory source group. A partner cannot access
 31614  // advertiser-owned inventory source groups.
 31615  func (c *InventorySourceGroupsListCall) PartnerId(partnerId int64) *InventorySourceGroupsListCall {
 31616  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31617  	return c
 31618  }
 31619  
 31620  // Fields allows partial responses to be retrieved. See
 31621  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31622  // details.
 31623  func (c *InventorySourceGroupsListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsListCall {
 31624  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31625  	return c
 31626  }
 31627  
 31628  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 31629  // object's ETag matches the given value. This is useful for getting updates
 31630  // only after the object has changed since the last request.
 31631  func (c *InventorySourceGroupsListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsListCall {
 31632  	c.ifNoneMatch_ = entityTag
 31633  	return c
 31634  }
 31635  
 31636  // Context sets the context to be used in this call's Do method.
 31637  func (c *InventorySourceGroupsListCall) Context(ctx context.Context) *InventorySourceGroupsListCall {
 31638  	c.ctx_ = ctx
 31639  	return c
 31640  }
 31641  
 31642  // Header returns a http.Header that can be modified by the caller to add
 31643  // headers to the request.
 31644  func (c *InventorySourceGroupsListCall) Header() http.Header {
 31645  	if c.header_ == nil {
 31646  		c.header_ = make(http.Header)
 31647  	}
 31648  	return c.header_
 31649  }
 31650  
 31651  func (c *InventorySourceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 31652  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 31653  	if c.ifNoneMatch_ != "" {
 31654  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31655  	}
 31656  	var body io.Reader = nil
 31657  	c.urlParams_.Set("alt", alt)
 31658  	c.urlParams_.Set("prettyPrint", "false")
 31659  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups")
 31660  	urls += "?" + c.urlParams_.Encode()
 31661  	req, err := http.NewRequest("GET", urls, body)
 31662  	if err != nil {
 31663  		return nil, err
 31664  	}
 31665  	req.Header = reqHeaders
 31666  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31667  }
 31668  
 31669  // Do executes the "displayvideo.inventorySourceGroups.list" call.
 31670  // Any non-2xx status code is an error. Response headers are in either
 31671  // *ListInventorySourceGroupsResponse.ServerResponse.Header or (if a response
 31672  // was returned at all) in error.(*googleapi.Error).Header. Use
 31673  // googleapi.IsNotModified to check whether the returned error was because
 31674  // http.StatusNotModified was returned.
 31675  func (c *InventorySourceGroupsListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourceGroupsResponse, error) {
 31676  	gensupport.SetOptions(c.urlParams_, opts...)
 31677  	res, err := c.doRequest("json")
 31678  	if res != nil && res.StatusCode == http.StatusNotModified {
 31679  		if res.Body != nil {
 31680  			res.Body.Close()
 31681  		}
 31682  		return nil, gensupport.WrapError(&googleapi.Error{
 31683  			Code:   res.StatusCode,
 31684  			Header: res.Header,
 31685  		})
 31686  	}
 31687  	if err != nil {
 31688  		return nil, err
 31689  	}
 31690  	defer googleapi.CloseBody(res)
 31691  	if err := googleapi.CheckResponse(res); err != nil {
 31692  		return nil, gensupport.WrapError(err)
 31693  	}
 31694  	ret := &ListInventorySourceGroupsResponse{
 31695  		ServerResponse: googleapi.ServerResponse{
 31696  			Header:         res.Header,
 31697  			HTTPStatusCode: res.StatusCode,
 31698  		},
 31699  	}
 31700  	target := &ret
 31701  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31702  		return nil, err
 31703  	}
 31704  	return ret, nil
 31705  }
 31706  
 31707  // Pages invokes f for each page of results.
 31708  // A non-nil error returned from f will halt the iteration.
 31709  // The provided context supersedes any context provided to the Context method.
 31710  func (c *InventorySourceGroupsListCall) Pages(ctx context.Context, f func(*ListInventorySourceGroupsResponse) error) error {
 31711  	c.ctx_ = ctx
 31712  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 31713  	for {
 31714  		x, err := c.Do()
 31715  		if err != nil {
 31716  			return err
 31717  		}
 31718  		if err := f(x); err != nil {
 31719  			return err
 31720  		}
 31721  		if x.NextPageToken == "" {
 31722  			return nil
 31723  		}
 31724  		c.PageToken(x.NextPageToken)
 31725  	}
 31726  }
 31727  
 31728  type InventorySourceGroupsPatchCall struct {
 31729  	s                      *Service
 31730  	inventorySourceGroupId int64
 31731  	inventorysourcegroup   *InventorySourceGroup
 31732  	urlParams_             gensupport.URLParams
 31733  	ctx_                   context.Context
 31734  	header_                http.Header
 31735  }
 31736  
 31737  // Patch: Updates an inventory source group. Returns the updated inventory
 31738  // source group if successful.
 31739  //
 31740  //   - inventorySourceGroupId: Output only. The unique ID of the inventory source
 31741  //     group. Assigned by the system.
 31742  func (r *InventorySourceGroupsService) Patch(inventorySourceGroupId int64, inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsPatchCall {
 31743  	c := &InventorySourceGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31744  	c.inventorySourceGroupId = inventorySourceGroupId
 31745  	c.inventorysourcegroup = inventorysourcegroup
 31746  	return c
 31747  }
 31748  
 31749  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31750  // advertiser that owns the inventory source group. The parent partner does not
 31751  // have access to this group.
 31752  func (c *InventorySourceGroupsPatchCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsPatchCall {
 31753  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31754  	return c
 31755  }
 31756  
 31757  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31758  // that owns the inventory source group. Only this partner has write access to
 31759  // this group.
 31760  func (c *InventorySourceGroupsPatchCall) PartnerId(partnerId int64) *InventorySourceGroupsPatchCall {
 31761  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31762  	return c
 31763  }
 31764  
 31765  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 31766  // control which fields to update.
 31767  func (c *InventorySourceGroupsPatchCall) UpdateMask(updateMask string) *InventorySourceGroupsPatchCall {
 31768  	c.urlParams_.Set("updateMask", updateMask)
 31769  	return c
 31770  }
 31771  
 31772  // Fields allows partial responses to be retrieved. See
 31773  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31774  // details.
 31775  func (c *InventorySourceGroupsPatchCall) Fields(s ...googleapi.Field) *InventorySourceGroupsPatchCall {
 31776  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31777  	return c
 31778  }
 31779  
 31780  // Context sets the context to be used in this call's Do method.
 31781  func (c *InventorySourceGroupsPatchCall) Context(ctx context.Context) *InventorySourceGroupsPatchCall {
 31782  	c.ctx_ = ctx
 31783  	return c
 31784  }
 31785  
 31786  // Header returns a http.Header that can be modified by the caller to add
 31787  // headers to the request.
 31788  func (c *InventorySourceGroupsPatchCall) Header() http.Header {
 31789  	if c.header_ == nil {
 31790  		c.header_ = make(http.Header)
 31791  	}
 31792  	return c.header_
 31793  }
 31794  
 31795  func (c *InventorySourceGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 31796  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 31797  	var body io.Reader = nil
 31798  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup)
 31799  	if err != nil {
 31800  		return nil, err
 31801  	}
 31802  	c.urlParams_.Set("alt", alt)
 31803  	c.urlParams_.Set("prettyPrint", "false")
 31804  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{inventorySourceGroupId}")
 31805  	urls += "?" + c.urlParams_.Encode()
 31806  	req, err := http.NewRequest("PATCH", urls, body)
 31807  	if err != nil {
 31808  		return nil, err
 31809  	}
 31810  	req.Header = reqHeaders
 31811  	googleapi.Expand(req.URL, map[string]string{
 31812  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 31813  	})
 31814  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31815  }
 31816  
 31817  // Do executes the "displayvideo.inventorySourceGroups.patch" call.
 31818  // Any non-2xx status code is an error. Response headers are in either
 31819  // *InventorySourceGroup.ServerResponse.Header or (if a response was returned
 31820  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 31821  // check whether the returned error was because http.StatusNotModified was
 31822  // returned.
 31823  func (c *InventorySourceGroupsPatchCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
 31824  	gensupport.SetOptions(c.urlParams_, opts...)
 31825  	res, err := c.doRequest("json")
 31826  	if res != nil && res.StatusCode == http.StatusNotModified {
 31827  		if res.Body != nil {
 31828  			res.Body.Close()
 31829  		}
 31830  		return nil, gensupport.WrapError(&googleapi.Error{
 31831  			Code:   res.StatusCode,
 31832  			Header: res.Header,
 31833  		})
 31834  	}
 31835  	if err != nil {
 31836  		return nil, err
 31837  	}
 31838  	defer googleapi.CloseBody(res)
 31839  	if err := googleapi.CheckResponse(res); err != nil {
 31840  		return nil, gensupport.WrapError(err)
 31841  	}
 31842  	ret := &InventorySourceGroup{
 31843  		ServerResponse: googleapi.ServerResponse{
 31844  			Header:         res.Header,
 31845  			HTTPStatusCode: res.StatusCode,
 31846  		},
 31847  	}
 31848  	target := &ret
 31849  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31850  		return nil, err
 31851  	}
 31852  	return ret, nil
 31853  }
 31854  
 31855  type InventorySourceGroupsAssignedInventorySourcesBulkEditCall struct {
 31856  	s                                       *Service
 31857  	inventorySourceGroupId                  int64
 31858  	bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest
 31859  	urlParams_                              gensupport.URLParams
 31860  	ctx_                                    context.Context
 31861  	header_                                 http.Header
 31862  }
 31863  
 31864  // BulkEdit: Bulk edits multiple assignments between inventory sources and a
 31865  // single inventory source group. The operation will delete the assigned
 31866  // inventory sources provided in
 31867  // BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources
 31868  // and then create the assigned inventory sources provided in
 31869  // BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources.
 31870  //
 31871  //   - inventorySourceGroupId: The ID of the inventory source group to which the
 31872  //     assignments are assigned.
 31873  func (r *InventorySourceGroupsAssignedInventorySourcesService) BulkEdit(inventorySourceGroupId int64, bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
 31874  	c := &InventorySourceGroupsAssignedInventorySourcesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31875  	c.inventorySourceGroupId = inventorySourceGroupId
 31876  	c.bulkeditassignedinventorysourcesrequest = bulkeditassignedinventorysourcesrequest
 31877  	return c
 31878  }
 31879  
 31880  // Fields allows partial responses to be retrieved. See
 31881  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31882  // details.
 31883  func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
 31884  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31885  	return c
 31886  }
 31887  
 31888  // Context sets the context to be used in this call's Do method.
 31889  func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
 31890  	c.ctx_ = ctx
 31891  	return c
 31892  }
 31893  
 31894  // Header returns a http.Header that can be modified by the caller to add
 31895  // headers to the request.
 31896  func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Header() http.Header {
 31897  	if c.header_ == nil {
 31898  		c.header_ = make(http.Header)
 31899  	}
 31900  	return c.header_
 31901  }
 31902  
 31903  func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) doRequest(alt string) (*http.Response, error) {
 31904  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 31905  	var body io.Reader = nil
 31906  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedinventorysourcesrequest)
 31907  	if err != nil {
 31908  		return nil, err
 31909  	}
 31910  	c.urlParams_.Set("alt", alt)
 31911  	c.urlParams_.Set("prettyPrint", "false")
 31912  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit")
 31913  	urls += "?" + c.urlParams_.Encode()
 31914  	req, err := http.NewRequest("POST", urls, body)
 31915  	if err != nil {
 31916  		return nil, err
 31917  	}
 31918  	req.Header = reqHeaders
 31919  	googleapi.Expand(req.URL, map[string]string{
 31920  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 31921  	})
 31922  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31923  }
 31924  
 31925  // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit" call.
 31926  // Any non-2xx status code is an error. Response headers are in either
 31927  // *BulkEditAssignedInventorySourcesResponse.ServerResponse.Header or (if a
 31928  // response was returned at all) in error.(*googleapi.Error).Header. Use
 31929  // googleapi.IsNotModified to check whether the returned error was because
 31930  // http.StatusNotModified was returned.
 31931  func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedInventorySourcesResponse, error) {
 31932  	gensupport.SetOptions(c.urlParams_, opts...)
 31933  	res, err := c.doRequest("json")
 31934  	if res != nil && res.StatusCode == http.StatusNotModified {
 31935  		if res.Body != nil {
 31936  			res.Body.Close()
 31937  		}
 31938  		return nil, gensupport.WrapError(&googleapi.Error{
 31939  			Code:   res.StatusCode,
 31940  			Header: res.Header,
 31941  		})
 31942  	}
 31943  	if err != nil {
 31944  		return nil, err
 31945  	}
 31946  	defer googleapi.CloseBody(res)
 31947  	if err := googleapi.CheckResponse(res); err != nil {
 31948  		return nil, gensupport.WrapError(err)
 31949  	}
 31950  	ret := &BulkEditAssignedInventorySourcesResponse{
 31951  		ServerResponse: googleapi.ServerResponse{
 31952  			Header:         res.Header,
 31953  			HTTPStatusCode: res.StatusCode,
 31954  		},
 31955  	}
 31956  	target := &ret
 31957  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31958  		return nil, err
 31959  	}
 31960  	return ret, nil
 31961  }
 31962  
 31963  type InventorySourceGroupsAssignedInventorySourcesCreateCall struct {
 31964  	s                       *Service
 31965  	inventorySourceGroupId  int64
 31966  	assignedinventorysource *AssignedInventorySource
 31967  	urlParams_              gensupport.URLParams
 31968  	ctx_                    context.Context
 31969  	header_                 http.Header
 31970  }
 31971  
 31972  // Create: Creates an assignment between an inventory source and an inventory
 31973  // source group.
 31974  //
 31975  //   - inventorySourceGroupId: The ID of the inventory source group to which the
 31976  //     assignment will be assigned.
 31977  func (r *InventorySourceGroupsAssignedInventorySourcesService) Create(inventorySourceGroupId int64, assignedinventorysource *AssignedInventorySource) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
 31978  	c := &InventorySourceGroupsAssignedInventorySourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31979  	c.inventorySourceGroupId = inventorySourceGroupId
 31980  	c.assignedinventorysource = assignedinventorysource
 31981  	return c
 31982  }
 31983  
 31984  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31985  // advertiser that owns the parent inventory source group. The parent partner
 31986  // will not have access to this assigned inventory source.
 31987  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
 31988  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31989  	return c
 31990  }
 31991  
 31992  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31993  // that owns the parent inventory source group. Only this partner will have
 31994  // write access to this assigned inventory source.
 31995  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
 31996  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31997  	return c
 31998  }
 31999  
 32000  // Fields allows partial responses to be retrieved. See
 32001  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32002  // details.
 32003  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
 32004  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32005  	return c
 32006  }
 32007  
 32008  // Context sets the context to be used in this call's Do method.
 32009  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
 32010  	c.ctx_ = ctx
 32011  	return c
 32012  }
 32013  
 32014  // Header returns a http.Header that can be modified by the caller to add
 32015  // headers to the request.
 32016  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Header() http.Header {
 32017  	if c.header_ == nil {
 32018  		c.header_ = make(http.Header)
 32019  	}
 32020  	return c.header_
 32021  }
 32022  
 32023  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 32024  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 32025  	var body io.Reader = nil
 32026  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedinventorysource)
 32027  	if err != nil {
 32028  		return nil, err
 32029  	}
 32030  	c.urlParams_.Set("alt", alt)
 32031  	c.urlParams_.Set("prettyPrint", "false")
 32032  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources")
 32033  	urls += "?" + c.urlParams_.Encode()
 32034  	req, err := http.NewRequest("POST", urls, body)
 32035  	if err != nil {
 32036  		return nil, err
 32037  	}
 32038  	req.Header = reqHeaders
 32039  	googleapi.Expand(req.URL, map[string]string{
 32040  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 32041  	})
 32042  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32043  }
 32044  
 32045  // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.create" call.
 32046  // Any non-2xx status code is an error. Response headers are in either
 32047  // *AssignedInventorySource.ServerResponse.Header or (if a response was
 32048  // returned at all) in error.(*googleapi.Error).Header. Use
 32049  // googleapi.IsNotModified to check whether the returned error was because
 32050  // http.StatusNotModified was returned.
 32051  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Do(opts ...googleapi.CallOption) (*AssignedInventorySource, error) {
 32052  	gensupport.SetOptions(c.urlParams_, opts...)
 32053  	res, err := c.doRequest("json")
 32054  	if res != nil && res.StatusCode == http.StatusNotModified {
 32055  		if res.Body != nil {
 32056  			res.Body.Close()
 32057  		}
 32058  		return nil, gensupport.WrapError(&googleapi.Error{
 32059  			Code:   res.StatusCode,
 32060  			Header: res.Header,
 32061  		})
 32062  	}
 32063  	if err != nil {
 32064  		return nil, err
 32065  	}
 32066  	defer googleapi.CloseBody(res)
 32067  	if err := googleapi.CheckResponse(res); err != nil {
 32068  		return nil, gensupport.WrapError(err)
 32069  	}
 32070  	ret := &AssignedInventorySource{
 32071  		ServerResponse: googleapi.ServerResponse{
 32072  			Header:         res.Header,
 32073  			HTTPStatusCode: res.StatusCode,
 32074  		},
 32075  	}
 32076  	target := &ret
 32077  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32078  		return nil, err
 32079  	}
 32080  	return ret, nil
 32081  }
 32082  
 32083  type InventorySourceGroupsAssignedInventorySourcesDeleteCall struct {
 32084  	s                         *Service
 32085  	inventorySourceGroupId    int64
 32086  	assignedInventorySourceId int64
 32087  	urlParams_                gensupport.URLParams
 32088  	ctx_                      context.Context
 32089  	header_                   http.Header
 32090  }
 32091  
 32092  // Delete: Deletes the assignment between an inventory source and an inventory
 32093  // source group.
 32094  //
 32095  //   - assignedInventorySourceId: The ID of the assigned inventory source to
 32096  //     delete.
 32097  //   - inventorySourceGroupId: The ID of the inventory source group to which this
 32098  //     assignment is assigned.
 32099  func (r *InventorySourceGroupsAssignedInventorySourcesService) Delete(inventorySourceGroupId int64, assignedInventorySourceId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
 32100  	c := &InventorySourceGroupsAssignedInventorySourcesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32101  	c.inventorySourceGroupId = inventorySourceGroupId
 32102  	c.assignedInventorySourceId = assignedInventorySourceId
 32103  	return c
 32104  }
 32105  
 32106  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 32107  // advertiser that owns the parent inventory source group. The parent partner
 32108  // does not have access to this assigned inventory source.
 32109  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
 32110  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32111  	return c
 32112  }
 32113  
 32114  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32115  // that owns the parent inventory source group. Only this partner has write
 32116  // access to this assigned inventory source.
 32117  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
 32118  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32119  	return c
 32120  }
 32121  
 32122  // Fields allows partial responses to be retrieved. See
 32123  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32124  // details.
 32125  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
 32126  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32127  	return c
 32128  }
 32129  
 32130  // Context sets the context to be used in this call's Do method.
 32131  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
 32132  	c.ctx_ = ctx
 32133  	return c
 32134  }
 32135  
 32136  // Header returns a http.Header that can be modified by the caller to add
 32137  // headers to the request.
 32138  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Header() http.Header {
 32139  	if c.header_ == nil {
 32140  		c.header_ = make(http.Header)
 32141  	}
 32142  	return c.header_
 32143  }
 32144  
 32145  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 32146  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 32147  	var body io.Reader = nil
 32148  	c.urlParams_.Set("alt", alt)
 32149  	c.urlParams_.Set("prettyPrint", "false")
 32150  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}")
 32151  	urls += "?" + c.urlParams_.Encode()
 32152  	req, err := http.NewRequest("DELETE", urls, body)
 32153  	if err != nil {
 32154  		return nil, err
 32155  	}
 32156  	req.Header = reqHeaders
 32157  	googleapi.Expand(req.URL, map[string]string{
 32158  		"inventorySourceGroupId":    strconv.FormatInt(c.inventorySourceGroupId, 10),
 32159  		"assignedInventorySourceId": strconv.FormatInt(c.assignedInventorySourceId, 10),
 32160  	})
 32161  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32162  }
 32163  
 32164  // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.delete" call.
 32165  // Any non-2xx status code is an error. Response headers are in either
 32166  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 32167  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 32168  // whether the returned error was because http.StatusNotModified was returned.
 32169  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 32170  	gensupport.SetOptions(c.urlParams_, opts...)
 32171  	res, err := c.doRequest("json")
 32172  	if res != nil && res.StatusCode == http.StatusNotModified {
 32173  		if res.Body != nil {
 32174  			res.Body.Close()
 32175  		}
 32176  		return nil, gensupport.WrapError(&googleapi.Error{
 32177  			Code:   res.StatusCode,
 32178  			Header: res.Header,
 32179  		})
 32180  	}
 32181  	if err != nil {
 32182  		return nil, err
 32183  	}
 32184  	defer googleapi.CloseBody(res)
 32185  	if err := googleapi.CheckResponse(res); err != nil {
 32186  		return nil, gensupport.WrapError(err)
 32187  	}
 32188  	ret := &Empty{
 32189  		ServerResponse: googleapi.ServerResponse{
 32190  			Header:         res.Header,
 32191  			HTTPStatusCode: res.StatusCode,
 32192  		},
 32193  	}
 32194  	target := &ret
 32195  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32196  		return nil, err
 32197  	}
 32198  	return ret, nil
 32199  }
 32200  
 32201  type InventorySourceGroupsAssignedInventorySourcesListCall struct {
 32202  	s                      *Service
 32203  	inventorySourceGroupId int64
 32204  	urlParams_             gensupport.URLParams
 32205  	ifNoneMatch_           string
 32206  	ctx_                   context.Context
 32207  	header_                http.Header
 32208  }
 32209  
 32210  // List: Lists inventory sources assigned to an inventory source group.
 32211  //
 32212  //   - inventorySourceGroupId: The ID of the inventory source group to which
 32213  //     these assignments are assigned.
 32214  func (r *InventorySourceGroupsAssignedInventorySourcesService) List(inventorySourceGroupId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32215  	c := &InventorySourceGroupsAssignedInventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32216  	c.inventorySourceGroupId = inventorySourceGroupId
 32217  	return c
 32218  }
 32219  
 32220  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 32221  // advertiser that has access to the assignment. If the parent inventory source
 32222  // group is partner-owned, only advertisers to which the parent group is
 32223  // explicitly shared can access the assigned inventory source.
 32224  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32225  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32226  	return c
 32227  }
 32228  
 32229  // Filter sets the optional parameter "filter": Allows filtering by assigned
 32230  // inventory source fields. Supported syntax: * Filter expressions are made up
 32231  // of one or more restrictions. * Restrictions can be combined by the `OR`
 32232  // logical operator. * A restriction has the form of `{field} {operator}
 32233  // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields:
 32234  // * `assignedInventorySourceId` The length of this field should be no more
 32235  // than 500 characters. Reference our filter `LIST` requests
 32236  // (/display-video/api/guides/how-tos/filters) guide for more information.
 32237  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Filter(filter string) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32238  	c.urlParams_.Set("filter", filter)
 32239  	return c
 32240  }
 32241  
 32242  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 32243  // list. Acceptable values are: * `assignedInventorySourceId` (default) The
 32244  // default sorting order is ascending. To specify descending order for a field,
 32245  // a suffix " desc" should be added to the field name. Example:
 32246  // `assignedInventorySourceId desc`.
 32247  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) OrderBy(orderBy string) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32248  	c.urlParams_.Set("orderBy", orderBy)
 32249  	return c
 32250  }
 32251  
 32252  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 32253  // be between `1` and `100`. If unspecified will default to `100`. Returns
 32254  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 32255  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageSize(pageSize int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32256  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 32257  	return c
 32258  }
 32259  
 32260  // PageToken sets the optional parameter "pageToken": A token identifying a
 32261  // page of results the server should return. Typically, this is the value of
 32262  // next_page_token returned from the previous call to
 32263  // `ListAssignedInventorySources` method. If not specified, the first page of
 32264  // results will be returned.
 32265  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageToken(pageToken string) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32266  	c.urlParams_.Set("pageToken", pageToken)
 32267  	return c
 32268  }
 32269  
 32270  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32271  // that has access to the assignment. If the parent inventory source group is
 32272  // advertiser-owned, the assignment cannot be accessed via a partner.
 32273  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32274  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32275  	return c
 32276  }
 32277  
 32278  // Fields allows partial responses to be retrieved. See
 32279  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32280  // details.
 32281  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32282  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32283  	return c
 32284  }
 32285  
 32286  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 32287  // object's ETag matches the given value. This is useful for getting updates
 32288  // only after the object has changed since the last request.
 32289  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32290  	c.ifNoneMatch_ = entityTag
 32291  	return c
 32292  }
 32293  
 32294  // Context sets the context to be used in this call's Do method.
 32295  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32296  	c.ctx_ = ctx
 32297  	return c
 32298  }
 32299  
 32300  // Header returns a http.Header that can be modified by the caller to add
 32301  // headers to the request.
 32302  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Header() http.Header {
 32303  	if c.header_ == nil {
 32304  		c.header_ = make(http.Header)
 32305  	}
 32306  	return c.header_
 32307  }
 32308  
 32309  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
 32310  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 32311  	if c.ifNoneMatch_ != "" {
 32312  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32313  	}
 32314  	var body io.Reader = nil
 32315  	c.urlParams_.Set("alt", alt)
 32316  	c.urlParams_.Set("prettyPrint", "false")
 32317  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources")
 32318  	urls += "?" + c.urlParams_.Encode()
 32319  	req, err := http.NewRequest("GET", urls, body)
 32320  	if err != nil {
 32321  		return nil, err
 32322  	}
 32323  	req.Header = reqHeaders
 32324  	googleapi.Expand(req.URL, map[string]string{
 32325  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 32326  	})
 32327  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32328  }
 32329  
 32330  // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.list" call.
 32331  // Any non-2xx status code is an error. Response headers are in either
 32332  // *ListAssignedInventorySourcesResponse.ServerResponse.Header or (if a
 32333  // response was returned at all) in error.(*googleapi.Error).Header. Use
 32334  // googleapi.IsNotModified to check whether the returned error was because
 32335  // http.StatusNotModified was returned.
 32336  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListAssignedInventorySourcesResponse, error) {
 32337  	gensupport.SetOptions(c.urlParams_, opts...)
 32338  	res, err := c.doRequest("json")
 32339  	if res != nil && res.StatusCode == http.StatusNotModified {
 32340  		if res.Body != nil {
 32341  			res.Body.Close()
 32342  		}
 32343  		return nil, gensupport.WrapError(&googleapi.Error{
 32344  			Code:   res.StatusCode,
 32345  			Header: res.Header,
 32346  		})
 32347  	}
 32348  	if err != nil {
 32349  		return nil, err
 32350  	}
 32351  	defer googleapi.CloseBody(res)
 32352  	if err := googleapi.CheckResponse(res); err != nil {
 32353  		return nil, gensupport.WrapError(err)
 32354  	}
 32355  	ret := &ListAssignedInventorySourcesResponse{
 32356  		ServerResponse: googleapi.ServerResponse{
 32357  			Header:         res.Header,
 32358  			HTTPStatusCode: res.StatusCode,
 32359  		},
 32360  	}
 32361  	target := &ret
 32362  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32363  		return nil, err
 32364  	}
 32365  	return ret, nil
 32366  }
 32367  
 32368  // Pages invokes f for each page of results.
 32369  // A non-nil error returned from f will halt the iteration.
 32370  // The provided context supersedes any context provided to the Context method.
 32371  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Pages(ctx context.Context, f func(*ListAssignedInventorySourcesResponse) error) error {
 32372  	c.ctx_ = ctx
 32373  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 32374  	for {
 32375  		x, err := c.Do()
 32376  		if err != nil {
 32377  			return err
 32378  		}
 32379  		if err := f(x); err != nil {
 32380  			return err
 32381  		}
 32382  		if x.NextPageToken == "" {
 32383  			return nil
 32384  		}
 32385  		c.PageToken(x.NextPageToken)
 32386  	}
 32387  }
 32388  
 32389  type InventorySourcesCreateCall struct {
 32390  	s               *Service
 32391  	inventorysource *InventorySource
 32392  	urlParams_      gensupport.URLParams
 32393  	ctx_            context.Context
 32394  	header_         http.Header
 32395  }
 32396  
 32397  // Create: Creates a new inventory source. Returns the newly created inventory
 32398  // source if successful.
 32399  func (r *InventorySourcesService) Create(inventorysource *InventorySource) *InventorySourcesCreateCall {
 32400  	c := &InventorySourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32401  	c.inventorysource = inventorysource
 32402  	return c
 32403  }
 32404  
 32405  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 32406  // advertiser that the request is being made within.
 32407  func (c *InventorySourcesCreateCall) AdvertiserId(advertiserId int64) *InventorySourcesCreateCall {
 32408  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32409  	return c
 32410  }
 32411  
 32412  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32413  // that the request is being made within.
 32414  func (c *InventorySourcesCreateCall) PartnerId(partnerId int64) *InventorySourcesCreateCall {
 32415  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32416  	return c
 32417  }
 32418  
 32419  // Fields allows partial responses to be retrieved. See
 32420  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32421  // details.
 32422  func (c *InventorySourcesCreateCall) Fields(s ...googleapi.Field) *InventorySourcesCreateCall {
 32423  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32424  	return c
 32425  }
 32426  
 32427  // Context sets the context to be used in this call's Do method.
 32428  func (c *InventorySourcesCreateCall) Context(ctx context.Context) *InventorySourcesCreateCall {
 32429  	c.ctx_ = ctx
 32430  	return c
 32431  }
 32432  
 32433  // Header returns a http.Header that can be modified by the caller to add
 32434  // headers to the request.
 32435  func (c *InventorySourcesCreateCall) Header() http.Header {
 32436  	if c.header_ == nil {
 32437  		c.header_ = make(http.Header)
 32438  	}
 32439  	return c.header_
 32440  }
 32441  
 32442  func (c *InventorySourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 32443  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 32444  	var body io.Reader = nil
 32445  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysource)
 32446  	if err != nil {
 32447  		return nil, err
 32448  	}
 32449  	c.urlParams_.Set("alt", alt)
 32450  	c.urlParams_.Set("prettyPrint", "false")
 32451  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySources")
 32452  	urls += "?" + c.urlParams_.Encode()
 32453  	req, err := http.NewRequest("POST", urls, body)
 32454  	if err != nil {
 32455  		return nil, err
 32456  	}
 32457  	req.Header = reqHeaders
 32458  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32459  }
 32460  
 32461  // Do executes the "displayvideo.inventorySources.create" call.
 32462  // Any non-2xx status code is an error. Response headers are in either
 32463  // *InventorySource.ServerResponse.Header or (if a response was returned at
 32464  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 32465  // check whether the returned error was because http.StatusNotModified was
 32466  // returned.
 32467  func (c *InventorySourcesCreateCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) {
 32468  	gensupport.SetOptions(c.urlParams_, opts...)
 32469  	res, err := c.doRequest("json")
 32470  	if res != nil && res.StatusCode == http.StatusNotModified {
 32471  		if res.Body != nil {
 32472  			res.Body.Close()
 32473  		}
 32474  		return nil, gensupport.WrapError(&googleapi.Error{
 32475  			Code:   res.StatusCode,
 32476  			Header: res.Header,
 32477  		})
 32478  	}
 32479  	if err != nil {
 32480  		return nil, err
 32481  	}
 32482  	defer googleapi.CloseBody(res)
 32483  	if err := googleapi.CheckResponse(res); err != nil {
 32484  		return nil, gensupport.WrapError(err)
 32485  	}
 32486  	ret := &InventorySource{
 32487  		ServerResponse: googleapi.ServerResponse{
 32488  			Header:         res.Header,
 32489  			HTTPStatusCode: res.StatusCode,
 32490  		},
 32491  	}
 32492  	target := &ret
 32493  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32494  		return nil, err
 32495  	}
 32496  	return ret, nil
 32497  }
 32498  
 32499  type InventorySourcesEditInventorySourceReadWriteAccessorsCall struct {
 32500  	s                                            *Service
 32501  	inventorySourceId                            int64
 32502  	editinventorysourcereadwriteaccessorsrequest *EditInventorySourceReadWriteAccessorsRequest
 32503  	urlParams_                                   gensupport.URLParams
 32504  	ctx_                                         context.Context
 32505  	header_                                      http.Header
 32506  }
 32507  
 32508  // EditInventorySourceReadWriteAccessors: Edits read/write accessors of an
 32509  // inventory source. Returns the updated read_write_accessors for the inventory
 32510  // source.
 32511  //
 32512  // - inventorySourceId: The ID of inventory source to update.
 32513  func (r *InventorySourcesService) EditInventorySourceReadWriteAccessors(inventorySourceId int64, editinventorysourcereadwriteaccessorsrequest *EditInventorySourceReadWriteAccessorsRequest) *InventorySourcesEditInventorySourceReadWriteAccessorsCall {
 32514  	c := &InventorySourcesEditInventorySourceReadWriteAccessorsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32515  	c.inventorySourceId = inventorySourceId
 32516  	c.editinventorysourcereadwriteaccessorsrequest = editinventorysourcereadwriteaccessorsrequest
 32517  	return c
 32518  }
 32519  
 32520  // Fields allows partial responses to be retrieved. See
 32521  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32522  // details.
 32523  func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Fields(s ...googleapi.Field) *InventorySourcesEditInventorySourceReadWriteAccessorsCall {
 32524  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32525  	return c
 32526  }
 32527  
 32528  // Context sets the context to be used in this call's Do method.
 32529  func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Context(ctx context.Context) *InventorySourcesEditInventorySourceReadWriteAccessorsCall {
 32530  	c.ctx_ = ctx
 32531  	return c
 32532  }
 32533  
 32534  // Header returns a http.Header that can be modified by the caller to add
 32535  // headers to the request.
 32536  func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Header() http.Header {
 32537  	if c.header_ == nil {
 32538  		c.header_ = make(http.Header)
 32539  	}
 32540  	return c.header_
 32541  }
 32542  
 32543  func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) doRequest(alt string) (*http.Response, error) {
 32544  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 32545  	var body io.Reader = nil
 32546  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.editinventorysourcereadwriteaccessorsrequest)
 32547  	if err != nil {
 32548  		return nil, err
 32549  	}
 32550  	c.urlParams_.Set("alt", alt)
 32551  	c.urlParams_.Set("prettyPrint", "false")
 32552  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySources/{+inventorySourceId}:editInventorySourceReadWriteAccessors")
 32553  	urls += "?" + c.urlParams_.Encode()
 32554  	req, err := http.NewRequest("POST", urls, body)
 32555  	if err != nil {
 32556  		return nil, err
 32557  	}
 32558  	req.Header = reqHeaders
 32559  	googleapi.Expand(req.URL, map[string]string{
 32560  		"inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10),
 32561  	})
 32562  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32563  }
 32564  
 32565  // Do executes the "displayvideo.inventorySources.editInventorySourceReadWriteAccessors" call.
 32566  // Any non-2xx status code is an error. Response headers are in either
 32567  // *InventorySourceAccessors.ServerResponse.Header or (if a response was
 32568  // returned at all) in error.(*googleapi.Error).Header. Use
 32569  // googleapi.IsNotModified to check whether the returned error was because
 32570  // http.StatusNotModified was returned.
 32571  func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Do(opts ...googleapi.CallOption) (*InventorySourceAccessors, error) {
 32572  	gensupport.SetOptions(c.urlParams_, opts...)
 32573  	res, err := c.doRequest("json")
 32574  	if res != nil && res.StatusCode == http.StatusNotModified {
 32575  		if res.Body != nil {
 32576  			res.Body.Close()
 32577  		}
 32578  		return nil, gensupport.WrapError(&googleapi.Error{
 32579  			Code:   res.StatusCode,
 32580  			Header: res.Header,
 32581  		})
 32582  	}
 32583  	if err != nil {
 32584  		return nil, err
 32585  	}
 32586  	defer googleapi.CloseBody(res)
 32587  	if err := googleapi.CheckResponse(res); err != nil {
 32588  		return nil, gensupport.WrapError(err)
 32589  	}
 32590  	ret := &InventorySourceAccessors{
 32591  		ServerResponse: googleapi.ServerResponse{
 32592  			Header:         res.Header,
 32593  			HTTPStatusCode: res.StatusCode,
 32594  		},
 32595  	}
 32596  	target := &ret
 32597  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32598  		return nil, err
 32599  	}
 32600  	return ret, nil
 32601  }
 32602  
 32603  type InventorySourcesGetCall struct {
 32604  	s                 *Service
 32605  	inventorySourceId int64
 32606  	urlParams_        gensupport.URLParams
 32607  	ifNoneMatch_      string
 32608  	ctx_              context.Context
 32609  	header_           http.Header
 32610  }
 32611  
 32612  // Get: Gets an inventory source.
 32613  //
 32614  // - inventorySourceId: The ID of the inventory source to fetch.
 32615  func (r *InventorySourcesService) Get(inventorySourceId int64) *InventorySourcesGetCall {
 32616  	c := &InventorySourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32617  	c.inventorySourceId = inventorySourceId
 32618  	return c
 32619  }
 32620  
 32621  // PartnerId sets the optional parameter "partnerId": Required. The ID of the
 32622  // DV360 partner to which the fetched inventory source is permissioned.
 32623  func (c *InventorySourcesGetCall) PartnerId(partnerId int64) *InventorySourcesGetCall {
 32624  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32625  	return c
 32626  }
 32627  
 32628  // Fields allows partial responses to be retrieved. See
 32629  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32630  // details.
 32631  func (c *InventorySourcesGetCall) Fields(s ...googleapi.Field) *InventorySourcesGetCall {
 32632  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32633  	return c
 32634  }
 32635  
 32636  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 32637  // object's ETag matches the given value. This is useful for getting updates
 32638  // only after the object has changed since the last request.
 32639  func (c *InventorySourcesGetCall) IfNoneMatch(entityTag string) *InventorySourcesGetCall {
 32640  	c.ifNoneMatch_ = entityTag
 32641  	return c
 32642  }
 32643  
 32644  // Context sets the context to be used in this call's Do method.
 32645  func (c *InventorySourcesGetCall) Context(ctx context.Context) *InventorySourcesGetCall {
 32646  	c.ctx_ = ctx
 32647  	return c
 32648  }
 32649  
 32650  // Header returns a http.Header that can be modified by the caller to add
 32651  // headers to the request.
 32652  func (c *InventorySourcesGetCall) Header() http.Header {
 32653  	if c.header_ == nil {
 32654  		c.header_ = make(http.Header)
 32655  	}
 32656  	return c.header_
 32657  }
 32658  
 32659  func (c *InventorySourcesGetCall) doRequest(alt string) (*http.Response, error) {
 32660  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 32661  	if c.ifNoneMatch_ != "" {
 32662  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32663  	}
 32664  	var body io.Reader = nil
 32665  	c.urlParams_.Set("alt", alt)
 32666  	c.urlParams_.Set("prettyPrint", "false")
 32667  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySources/{+inventorySourceId}")
 32668  	urls += "?" + c.urlParams_.Encode()
 32669  	req, err := http.NewRequest("GET", urls, body)
 32670  	if err != nil {
 32671  		return nil, err
 32672  	}
 32673  	req.Header = reqHeaders
 32674  	googleapi.Expand(req.URL, map[string]string{
 32675  		"inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10),
 32676  	})
 32677  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32678  }
 32679  
 32680  // Do executes the "displayvideo.inventorySources.get" call.
 32681  // Any non-2xx status code is an error. Response headers are in either
 32682  // *InventorySource.ServerResponse.Header or (if a response was returned at
 32683  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 32684  // check whether the returned error was because http.StatusNotModified was
 32685  // returned.
 32686  func (c *InventorySourcesGetCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) {
 32687  	gensupport.SetOptions(c.urlParams_, opts...)
 32688  	res, err := c.doRequest("json")
 32689  	if res != nil && res.StatusCode == http.StatusNotModified {
 32690  		if res.Body != nil {
 32691  			res.Body.Close()
 32692  		}
 32693  		return nil, gensupport.WrapError(&googleapi.Error{
 32694  			Code:   res.StatusCode,
 32695  			Header: res.Header,
 32696  		})
 32697  	}
 32698  	if err != nil {
 32699  		return nil, err
 32700  	}
 32701  	defer googleapi.CloseBody(res)
 32702  	if err := googleapi.CheckResponse(res); err != nil {
 32703  		return nil, gensupport.WrapError(err)
 32704  	}
 32705  	ret := &InventorySource{
 32706  		ServerResponse: googleapi.ServerResponse{
 32707  			Header:         res.Header,
 32708  			HTTPStatusCode: res.StatusCode,
 32709  		},
 32710  	}
 32711  	target := &ret
 32712  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32713  		return nil, err
 32714  	}
 32715  	return ret, nil
 32716  }
 32717  
 32718  type InventorySourcesListCall struct {
 32719  	s            *Service
 32720  	urlParams_   gensupport.URLParams
 32721  	ifNoneMatch_ string
 32722  	ctx_         context.Context
 32723  	header_      http.Header
 32724  }
 32725  
 32726  // List: Lists inventory sources that are accessible to the current user. The
 32727  // order is defined by the order_by parameter. If a filter by entity_status is
 32728  // not specified, inventory sources with entity status `ENTITY_STATUS_ARCHIVED`
 32729  // will not be included in the results.
 32730  func (r *InventorySourcesService) List() *InventorySourcesListCall {
 32731  	c := &InventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32732  	return c
 32733  }
 32734  
 32735  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 32736  // advertiser that has access to the inventory source.
 32737  func (c *InventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourcesListCall {
 32738  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32739  	return c
 32740  }
 32741  
 32742  // Filter sets the optional parameter "filter": Allows filtering by inventory
 32743  // source fields. Supported syntax: * Filter expressions are made up of one or
 32744  // more restrictions. * Restrictions can be combined by `AND` or `OR` logical
 32745  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 32746  // has the form of `{field} {operator} {value}`. * All fields must use the
 32747  // `EQUALS (=)` operator. Supported fields: * `status.entityStatus` *
 32748  // `commitment` * `deliveryMethod` * `rateDetails.rateType` * `exchange`
 32749  // Examples: * All active inventory sources:
 32750  // `status.entityStatus="ENTITY_STATUS_ACTIVE" * Inventory sources belonging
 32751  // to Google Ad Manager or Rubicon exchanges:
 32752  // `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR exchange="EXCHANGE_RUBICON" The
 32753  // length of this field should be no more than 500 characters. Reference our
 32754  // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for
 32755  // more information.
 32756  func (c *InventorySourcesListCall) Filter(filter string) *InventorySourcesListCall {
 32757  	c.urlParams_.Set("filter", filter)
 32758  	return c
 32759  }
 32760  
 32761  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 32762  // list. Acceptable values are: * `displayName` (default) The default sorting
 32763  // order is ascending. To specify descending order for a field, a suffix "desc"
 32764  // should be added to the field name. For example, `displayName desc`.
 32765  func (c *InventorySourcesListCall) OrderBy(orderBy string) *InventorySourcesListCall {
 32766  	c.urlParams_.Set("orderBy", orderBy)
 32767  	return c
 32768  }
 32769  
 32770  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 32771  // be between `1` and `200`. If unspecified will default to `100`.
 32772  func (c *InventorySourcesListCall) PageSize(pageSize int64) *InventorySourcesListCall {
 32773  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 32774  	return c
 32775  }
 32776  
 32777  // PageToken sets the optional parameter "pageToken": A token identifying a
 32778  // page of results the server should return. Typically, this is the value of
 32779  // next_page_token returned from the previous call to `ListInventorySources`
 32780  // method. If not specified, the first page of results will be returned.
 32781  func (c *InventorySourcesListCall) PageToken(pageToken string) *InventorySourcesListCall {
 32782  	c.urlParams_.Set("pageToken", pageToken)
 32783  	return c
 32784  }
 32785  
 32786  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32787  // that has access to the inventory source.
 32788  func (c *InventorySourcesListCall) PartnerId(partnerId int64) *InventorySourcesListCall {
 32789  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32790  	return c
 32791  }
 32792  
 32793  // Fields allows partial responses to be retrieved. See
 32794  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32795  // details.
 32796  func (c *InventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourcesListCall {
 32797  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32798  	return c
 32799  }
 32800  
 32801  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 32802  // object's ETag matches the given value. This is useful for getting updates
 32803  // only after the object has changed since the last request.
 32804  func (c *InventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourcesListCall {
 32805  	c.ifNoneMatch_ = entityTag
 32806  	return c
 32807  }
 32808  
 32809  // Context sets the context to be used in this call's Do method.
 32810  func (c *InventorySourcesListCall) Context(ctx context.Context) *InventorySourcesListCall {
 32811  	c.ctx_ = ctx
 32812  	return c
 32813  }
 32814  
 32815  // Header returns a http.Header that can be modified by the caller to add
 32816  // headers to the request.
 32817  func (c *InventorySourcesListCall) Header() http.Header {
 32818  	if c.header_ == nil {
 32819  		c.header_ = make(http.Header)
 32820  	}
 32821  	return c.header_
 32822  }
 32823  
 32824  func (c *InventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
 32825  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 32826  	if c.ifNoneMatch_ != "" {
 32827  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32828  	}
 32829  	var body io.Reader = nil
 32830  	c.urlParams_.Set("alt", alt)
 32831  	c.urlParams_.Set("prettyPrint", "false")
 32832  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySources")
 32833  	urls += "?" + c.urlParams_.Encode()
 32834  	req, err := http.NewRequest("GET", urls, body)
 32835  	if err != nil {
 32836  		return nil, err
 32837  	}
 32838  	req.Header = reqHeaders
 32839  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32840  }
 32841  
 32842  // Do executes the "displayvideo.inventorySources.list" call.
 32843  // Any non-2xx status code is an error. Response headers are in either
 32844  // *ListInventorySourcesResponse.ServerResponse.Header or (if a response was
 32845  // returned at all) in error.(*googleapi.Error).Header. Use
 32846  // googleapi.IsNotModified to check whether the returned error was because
 32847  // http.StatusNotModified was returned.
 32848  func (c *InventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourcesResponse, error) {
 32849  	gensupport.SetOptions(c.urlParams_, opts...)
 32850  	res, err := c.doRequest("json")
 32851  	if res != nil && res.StatusCode == http.StatusNotModified {
 32852  		if res.Body != nil {
 32853  			res.Body.Close()
 32854  		}
 32855  		return nil, gensupport.WrapError(&googleapi.Error{
 32856  			Code:   res.StatusCode,
 32857  			Header: res.Header,
 32858  		})
 32859  	}
 32860  	if err != nil {
 32861  		return nil, err
 32862  	}
 32863  	defer googleapi.CloseBody(res)
 32864  	if err := googleapi.CheckResponse(res); err != nil {
 32865  		return nil, gensupport.WrapError(err)
 32866  	}
 32867  	ret := &ListInventorySourcesResponse{
 32868  		ServerResponse: googleapi.ServerResponse{
 32869  			Header:         res.Header,
 32870  			HTTPStatusCode: res.StatusCode,
 32871  		},
 32872  	}
 32873  	target := &ret
 32874  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32875  		return nil, err
 32876  	}
 32877  	return ret, nil
 32878  }
 32879  
 32880  // Pages invokes f for each page of results.
 32881  // A non-nil error returned from f will halt the iteration.
 32882  // The provided context supersedes any context provided to the Context method.
 32883  func (c *InventorySourcesListCall) Pages(ctx context.Context, f func(*ListInventorySourcesResponse) error) error {
 32884  	c.ctx_ = ctx
 32885  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 32886  	for {
 32887  		x, err := c.Do()
 32888  		if err != nil {
 32889  			return err
 32890  		}
 32891  		if err := f(x); err != nil {
 32892  			return err
 32893  		}
 32894  		if x.NextPageToken == "" {
 32895  			return nil
 32896  		}
 32897  		c.PageToken(x.NextPageToken)
 32898  	}
 32899  }
 32900  
 32901  type InventorySourcesPatchCall struct {
 32902  	s                 *Service
 32903  	inventorySourceId int64
 32904  	inventorysource   *InventorySource
 32905  	urlParams_        gensupport.URLParams
 32906  	ctx_              context.Context
 32907  	header_           http.Header
 32908  }
 32909  
 32910  // Patch: Updates an existing inventory source. Returns the updated inventory
 32911  // source if successful.
 32912  //
 32913  //   - inventorySourceId: Output only. The unique ID of the inventory source.
 32914  //     Assigned by the system.
 32915  func (r *InventorySourcesService) Patch(inventorySourceId int64, inventorysource *InventorySource) *InventorySourcesPatchCall {
 32916  	c := &InventorySourcesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32917  	c.inventorySourceId = inventorySourceId
 32918  	c.inventorysource = inventorysource
 32919  	return c
 32920  }
 32921  
 32922  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 32923  // advertiser that the request is being made within.
 32924  func (c *InventorySourcesPatchCall) AdvertiserId(advertiserId int64) *InventorySourcesPatchCall {
 32925  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32926  	return c
 32927  }
 32928  
 32929  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32930  // that the request is being made within.
 32931  func (c *InventorySourcesPatchCall) PartnerId(partnerId int64) *InventorySourcesPatchCall {
 32932  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32933  	return c
 32934  }
 32935  
 32936  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 32937  // control which fields to update.
 32938  func (c *InventorySourcesPatchCall) UpdateMask(updateMask string) *InventorySourcesPatchCall {
 32939  	c.urlParams_.Set("updateMask", updateMask)
 32940  	return c
 32941  }
 32942  
 32943  // Fields allows partial responses to be retrieved. See
 32944  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32945  // details.
 32946  func (c *InventorySourcesPatchCall) Fields(s ...googleapi.Field) *InventorySourcesPatchCall {
 32947  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32948  	return c
 32949  }
 32950  
 32951  // Context sets the context to be used in this call's Do method.
 32952  func (c *InventorySourcesPatchCall) Context(ctx context.Context) *InventorySourcesPatchCall {
 32953  	c.ctx_ = ctx
 32954  	return c
 32955  }
 32956  
 32957  // Header returns a http.Header that can be modified by the caller to add
 32958  // headers to the request.
 32959  func (c *InventorySourcesPatchCall) Header() http.Header {
 32960  	if c.header_ == nil {
 32961  		c.header_ = make(http.Header)
 32962  	}
 32963  	return c.header_
 32964  }
 32965  
 32966  func (c *InventorySourcesPatchCall) doRequest(alt string) (*http.Response, error) {
 32967  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 32968  	var body io.Reader = nil
 32969  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysource)
 32970  	if err != nil {
 32971  		return nil, err
 32972  	}
 32973  	c.urlParams_.Set("alt", alt)
 32974  	c.urlParams_.Set("prettyPrint", "false")
 32975  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/inventorySources/{+inventorySourceId}")
 32976  	urls += "?" + c.urlParams_.Encode()
 32977  	req, err := http.NewRequest("PATCH", urls, body)
 32978  	if err != nil {
 32979  		return nil, err
 32980  	}
 32981  	req.Header = reqHeaders
 32982  	googleapi.Expand(req.URL, map[string]string{
 32983  		"inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10),
 32984  	})
 32985  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32986  }
 32987  
 32988  // Do executes the "displayvideo.inventorySources.patch" call.
 32989  // Any non-2xx status code is an error. Response headers are in either
 32990  // *InventorySource.ServerResponse.Header or (if a response was returned at
 32991  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 32992  // check whether the returned error was because http.StatusNotModified was
 32993  // returned.
 32994  func (c *InventorySourcesPatchCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) {
 32995  	gensupport.SetOptions(c.urlParams_, opts...)
 32996  	res, err := c.doRequest("json")
 32997  	if res != nil && res.StatusCode == http.StatusNotModified {
 32998  		if res.Body != nil {
 32999  			res.Body.Close()
 33000  		}
 33001  		return nil, gensupport.WrapError(&googleapi.Error{
 33002  			Code:   res.StatusCode,
 33003  			Header: res.Header,
 33004  		})
 33005  	}
 33006  	if err != nil {
 33007  		return nil, err
 33008  	}
 33009  	defer googleapi.CloseBody(res)
 33010  	if err := googleapi.CheckResponse(res); err != nil {
 33011  		return nil, gensupport.WrapError(err)
 33012  	}
 33013  	ret := &InventorySource{
 33014  		ServerResponse: googleapi.ServerResponse{
 33015  			Header:         res.Header,
 33016  			HTTPStatusCode: res.StatusCode,
 33017  		},
 33018  	}
 33019  	target := &ret
 33020  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33021  		return nil, err
 33022  	}
 33023  	return ret, nil
 33024  }
 33025  
 33026  type MediaDownloadCall struct {
 33027  	s            *Service
 33028  	resourceName string
 33029  	urlParams_   gensupport.URLParams
 33030  	ifNoneMatch_ string
 33031  	ctx_         context.Context
 33032  	header_      http.Header
 33033  }
 33034  
 33035  // Download: Downloads media. Download is supported on the URI
 33036  // `/download/{resource_name=**}?alt=media.` **Note**: Download requests will
 33037  // not be successful without including `alt=media` query string.
 33038  //
 33039  //   - resourceName: Name of the media that is being downloaded. See
 33040  //     ReadRequest.resource_name.
 33041  func (r *MediaService) Download(resourceName string) *MediaDownloadCall {
 33042  	c := &MediaDownloadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33043  	c.resourceName = resourceName
 33044  	return c
 33045  }
 33046  
 33047  // Fields allows partial responses to be retrieved. See
 33048  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33049  // details.
 33050  func (c *MediaDownloadCall) Fields(s ...googleapi.Field) *MediaDownloadCall {
 33051  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33052  	return c
 33053  }
 33054  
 33055  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 33056  // object's ETag matches the given value. This is useful for getting updates
 33057  // only after the object has changed since the last request.
 33058  func (c *MediaDownloadCall) IfNoneMatch(entityTag string) *MediaDownloadCall {
 33059  	c.ifNoneMatch_ = entityTag
 33060  	return c
 33061  }
 33062  
 33063  // Context sets the context to be used in this call's Do and Download methods.
 33064  func (c *MediaDownloadCall) Context(ctx context.Context) *MediaDownloadCall {
 33065  	c.ctx_ = ctx
 33066  	return c
 33067  }
 33068  
 33069  // Header returns a http.Header that can be modified by the caller to add
 33070  // headers to the request.
 33071  func (c *MediaDownloadCall) Header() http.Header {
 33072  	if c.header_ == nil {
 33073  		c.header_ = make(http.Header)
 33074  	}
 33075  	return c.header_
 33076  }
 33077  
 33078  func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) {
 33079  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 33080  	if c.ifNoneMatch_ != "" {
 33081  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33082  	}
 33083  	var body io.Reader = nil
 33084  	c.urlParams_.Set("alt", alt)
 33085  	c.urlParams_.Set("prettyPrint", "false")
 33086  	urls := googleapi.ResolveRelative(c.s.BasePath, "download/{+resourceName}")
 33087  	urls += "?" + c.urlParams_.Encode()
 33088  	req, err := http.NewRequest("GET", urls, body)
 33089  	if err != nil {
 33090  		return nil, err
 33091  	}
 33092  	req.Header = reqHeaders
 33093  	googleapi.Expand(req.URL, map[string]string{
 33094  		"resourceName": c.resourceName,
 33095  	})
 33096  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33097  }
 33098  
 33099  // Download fetches the API endpoint's "media" value, instead of the normal
 33100  // API response value. If the returned error is nil, the Response is guaranteed to
 33101  // have a 2xx status code. Callers must close the Response.Body as usual.
 33102  func (c *MediaDownloadCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 33103  	gensupport.SetOptions(c.urlParams_, opts...)
 33104  	res, err := c.doRequest("media")
 33105  	if err != nil {
 33106  		return nil, err
 33107  	}
 33108  	if err := googleapi.CheckResponse(res); err != nil {
 33109  		res.Body.Close()
 33110  		return nil, gensupport.WrapError(err)
 33111  	}
 33112  	return res, nil
 33113  }
 33114  
 33115  // Do executes the "displayvideo.media.download" call.
 33116  // Any non-2xx status code is an error. Response headers are in either
 33117  // *GoogleBytestreamMedia.ServerResponse.Header or (if a response was returned
 33118  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 33119  // check whether the returned error was because http.StatusNotModified was
 33120  // returned.
 33121  func (c *MediaDownloadCall) Do(opts ...googleapi.CallOption) (*GoogleBytestreamMedia, error) {
 33122  	gensupport.SetOptions(c.urlParams_, opts...)
 33123  	res, err := c.doRequest("json")
 33124  	if res != nil && res.StatusCode == http.StatusNotModified {
 33125  		if res.Body != nil {
 33126  			res.Body.Close()
 33127  		}
 33128  		return nil, gensupport.WrapError(&googleapi.Error{
 33129  			Code:   res.StatusCode,
 33130  			Header: res.Header,
 33131  		})
 33132  	}
 33133  	if err != nil {
 33134  		return nil, err
 33135  	}
 33136  	defer googleapi.CloseBody(res)
 33137  	if err := googleapi.CheckResponse(res); err != nil {
 33138  		return nil, gensupport.WrapError(err)
 33139  	}
 33140  	ret := &GoogleBytestreamMedia{
 33141  		ServerResponse: googleapi.ServerResponse{
 33142  			Header:         res.Header,
 33143  			HTTPStatusCode: res.StatusCode,
 33144  		},
 33145  	}
 33146  	target := &ret
 33147  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33148  		return nil, err
 33149  	}
 33150  	return ret, nil
 33151  }
 33152  
 33153  type MediaUploadCall struct {
 33154  	s                     *Service
 33155  	resourceName          string
 33156  	googlebytestreammedia *GoogleBytestreamMedia
 33157  	urlParams_            gensupport.URLParams
 33158  	mediaInfo_            *gensupport.MediaInfo
 33159  	ctx_                  context.Context
 33160  	header_               http.Header
 33161  }
 33162  
 33163  // Upload: Uploads media. Upload is supported on the URI
 33164  // `/upload/media/{resource_name=**}?upload_type=media.` **Note**: Upload
 33165  // requests will not be successful without including `upload_type=media` query
 33166  // string.
 33167  //
 33168  //   - resourceName: Name of the media that is being downloaded. See
 33169  //     ReadRequest.resource_name.
 33170  func (r *MediaService) Upload(resourceName string, googlebytestreammedia *GoogleBytestreamMedia) *MediaUploadCall {
 33171  	c := &MediaUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33172  	c.resourceName = resourceName
 33173  	c.googlebytestreammedia = googlebytestreammedia
 33174  	return c
 33175  }
 33176  
 33177  // Media specifies the media to upload in one or more chunks. The chunk size
 33178  // may be controlled by supplying a MediaOption generated by
 33179  // googleapi.ChunkSize. The chunk size defaults to
 33180  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
 33181  // request will be determined by sniffing the contents of r, unless a
 33182  // MediaOption generated by googleapi.ContentType is supplied.
 33183  // At most one of Media and ResumableMedia may be set.
 33184  func (c *MediaUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *MediaUploadCall {
 33185  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 33186  	return c
 33187  }
 33188  
 33189  // ResumableMedia specifies the media to upload in chunks and can be canceled
 33190  // with ctx.
 33191  //
 33192  // Deprecated: use Media instead.
 33193  //
 33194  // At most one of Media and ResumableMedia may be set. mediaType identifies the
 33195  // MIME media type of the upload, such as "image/png". If mediaType is "", it
 33196  // will be auto-detected. The provided ctx will supersede any context
 33197  // previously provided to the Context method.
 33198  func (c *MediaUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *MediaUploadCall {
 33199  	c.ctx_ = ctx
 33200  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 33201  	return c
 33202  }
 33203  
 33204  // ProgressUpdater provides a callback function that will be called after every
 33205  // chunk. It should be a low-latency function in order to not slow down the
 33206  // upload operation. This should only be called when using ResumableMedia (as
 33207  // opposed to Media).
 33208  func (c *MediaUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *MediaUploadCall {
 33209  	c.mediaInfo_.SetProgressUpdater(pu)
 33210  	return c
 33211  }
 33212  
 33213  // Fields allows partial responses to be retrieved. See
 33214  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33215  // details.
 33216  func (c *MediaUploadCall) Fields(s ...googleapi.Field) *MediaUploadCall {
 33217  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33218  	return c
 33219  }
 33220  
 33221  // Context sets the context to be used in this call's Do method.
 33222  // This context will supersede any context previously provided to the
 33223  // ResumableMedia method.
 33224  func (c *MediaUploadCall) Context(ctx context.Context) *MediaUploadCall {
 33225  	c.ctx_ = ctx
 33226  	return c
 33227  }
 33228  
 33229  // Header returns a http.Header that can be modified by the caller to add
 33230  // headers to the request.
 33231  func (c *MediaUploadCall) Header() http.Header {
 33232  	if c.header_ == nil {
 33233  		c.header_ = make(http.Header)
 33234  	}
 33235  	return c.header_
 33236  }
 33237  
 33238  func (c *MediaUploadCall) doRequest(alt string) (*http.Response, error) {
 33239  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 33240  	var body io.Reader = nil
 33241  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlebytestreammedia)
 33242  	if err != nil {
 33243  		return nil, err
 33244  	}
 33245  	c.urlParams_.Set("alt", alt)
 33246  	c.urlParams_.Set("prettyPrint", "false")
 33247  	urls := googleapi.ResolveRelative(c.s.BasePath, "media/{+resourceName}")
 33248  	if c.mediaInfo_ != nil {
 33249  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/media/{+resourceName}")
 33250  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 33251  	}
 33252  	if body == nil {
 33253  		body = new(bytes.Buffer)
 33254  		reqHeaders.Set("Content-Type", "application/json")
 33255  	}
 33256  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 33257  	defer cleanup()
 33258  	urls += "?" + c.urlParams_.Encode()
 33259  	req, err := http.NewRequest("POST", urls, body)
 33260  	if err != nil {
 33261  		return nil, err
 33262  	}
 33263  	req.Header = reqHeaders
 33264  	req.GetBody = getBody
 33265  	googleapi.Expand(req.URL, map[string]string{
 33266  		"resourceName": c.resourceName,
 33267  	})
 33268  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33269  }
 33270  
 33271  // Do executes the "displayvideo.media.upload" call.
 33272  // Any non-2xx status code is an error. Response headers are in either
 33273  // *GoogleBytestreamMedia.ServerResponse.Header or (if a response was returned
 33274  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 33275  // check whether the returned error was because http.StatusNotModified was
 33276  // returned.
 33277  func (c *MediaUploadCall) Do(opts ...googleapi.CallOption) (*GoogleBytestreamMedia, error) {
 33278  	gensupport.SetOptions(c.urlParams_, opts...)
 33279  	res, err := c.doRequest("json")
 33280  	if res != nil && res.StatusCode == http.StatusNotModified {
 33281  		if res.Body != nil {
 33282  			res.Body.Close()
 33283  		}
 33284  		return nil, gensupport.WrapError(&googleapi.Error{
 33285  			Code:   res.StatusCode,
 33286  			Header: res.Header,
 33287  		})
 33288  	}
 33289  	if err != nil {
 33290  		return nil, err
 33291  	}
 33292  	defer googleapi.CloseBody(res)
 33293  	if err := googleapi.CheckResponse(res); err != nil {
 33294  		return nil, gensupport.WrapError(err)
 33295  	}
 33296  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 33297  	if rx != nil {
 33298  		rx.Client = c.s.client
 33299  		rx.UserAgent = c.s.userAgent()
 33300  		ctx := c.ctx_
 33301  		if ctx == nil {
 33302  			ctx = context.TODO()
 33303  		}
 33304  		res, err = rx.Upload(ctx)
 33305  		if err != nil {
 33306  			return nil, err
 33307  		}
 33308  		defer res.Body.Close()
 33309  		if err := googleapi.CheckResponse(res); err != nil {
 33310  			return nil, gensupport.WrapError(err)
 33311  		}
 33312  	}
 33313  	ret := &GoogleBytestreamMedia{
 33314  		ServerResponse: googleapi.ServerResponse{
 33315  			Header:         res.Header,
 33316  			HTTPStatusCode: res.StatusCode,
 33317  		},
 33318  	}
 33319  	target := &ret
 33320  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33321  		return nil, err
 33322  	}
 33323  	return ret, nil
 33324  }
 33325  
 33326  type PartnersEditAssignedTargetingOptionsCall struct {
 33327  	s                                              *Service
 33328  	partnerId                                      int64
 33329  	bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest
 33330  	urlParams_                                     gensupport.URLParams
 33331  	ctx_                                           context.Context
 33332  	header_                                        http.Header
 33333  }
 33334  
 33335  // EditAssignedTargetingOptions: Edits targeting options under a single
 33336  // partner. The operation will delete the assigned targeting options provided
 33337  // in BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and then
 33338  // create the assigned targeting options provided in
 33339  // BulkEditPartnerAssignedTargetingOptionsRequest.createRequests .
 33340  //
 33341  // - partnerId: The ID of the partner.
 33342  func (r *PartnersService) EditAssignedTargetingOptions(partnerId int64, bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest) *PartnersEditAssignedTargetingOptionsCall {
 33343  	c := &PartnersEditAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33344  	c.partnerId = partnerId
 33345  	c.bulkeditpartnerassignedtargetingoptionsrequest = bulkeditpartnerassignedtargetingoptionsrequest
 33346  	return c
 33347  }
 33348  
 33349  // Fields allows partial responses to be retrieved. See
 33350  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33351  // details.
 33352  func (c *PartnersEditAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *PartnersEditAssignedTargetingOptionsCall {
 33353  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33354  	return c
 33355  }
 33356  
 33357  // Context sets the context to be used in this call's Do method.
 33358  func (c *PartnersEditAssignedTargetingOptionsCall) Context(ctx context.Context) *PartnersEditAssignedTargetingOptionsCall {
 33359  	c.ctx_ = ctx
 33360  	return c
 33361  }
 33362  
 33363  // Header returns a http.Header that can be modified by the caller to add
 33364  // headers to the request.
 33365  func (c *PartnersEditAssignedTargetingOptionsCall) Header() http.Header {
 33366  	if c.header_ == nil {
 33367  		c.header_ = make(http.Header)
 33368  	}
 33369  	return c.header_
 33370  }
 33371  
 33372  func (c *PartnersEditAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 33373  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 33374  	var body io.Reader = nil
 33375  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditpartnerassignedtargetingoptionsrequest)
 33376  	if err != nil {
 33377  		return nil, err
 33378  	}
 33379  	c.urlParams_.Set("alt", alt)
 33380  	c.urlParams_.Set("prettyPrint", "false")
 33381  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}:editAssignedTargetingOptions")
 33382  	urls += "?" + c.urlParams_.Encode()
 33383  	req, err := http.NewRequest("POST", urls, body)
 33384  	if err != nil {
 33385  		return nil, err
 33386  	}
 33387  	req.Header = reqHeaders
 33388  	googleapi.Expand(req.URL, map[string]string{
 33389  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 33390  	})
 33391  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33392  }
 33393  
 33394  // Do executes the "displayvideo.partners.editAssignedTargetingOptions" call.
 33395  // Any non-2xx status code is an error. Response headers are in either
 33396  // *BulkEditPartnerAssignedTargetingOptionsResponse.ServerResponse.Header or
 33397  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 33398  // googleapi.IsNotModified to check whether the returned error was because
 33399  // http.StatusNotModified was returned.
 33400  func (c *PartnersEditAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditPartnerAssignedTargetingOptionsResponse, error) {
 33401  	gensupport.SetOptions(c.urlParams_, opts...)
 33402  	res, err := c.doRequest("json")
 33403  	if res != nil && res.StatusCode == http.StatusNotModified {
 33404  		if res.Body != nil {
 33405  			res.Body.Close()
 33406  		}
 33407  		return nil, gensupport.WrapError(&googleapi.Error{
 33408  			Code:   res.StatusCode,
 33409  			Header: res.Header,
 33410  		})
 33411  	}
 33412  	if err != nil {
 33413  		return nil, err
 33414  	}
 33415  	defer googleapi.CloseBody(res)
 33416  	if err := googleapi.CheckResponse(res); err != nil {
 33417  		return nil, gensupport.WrapError(err)
 33418  	}
 33419  	ret := &BulkEditPartnerAssignedTargetingOptionsResponse{
 33420  		ServerResponse: googleapi.ServerResponse{
 33421  			Header:         res.Header,
 33422  			HTTPStatusCode: res.StatusCode,
 33423  		},
 33424  	}
 33425  	target := &ret
 33426  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33427  		return nil, err
 33428  	}
 33429  	return ret, nil
 33430  }
 33431  
 33432  type PartnersGetCall struct {
 33433  	s            *Service
 33434  	partnerId    int64
 33435  	urlParams_   gensupport.URLParams
 33436  	ifNoneMatch_ string
 33437  	ctx_         context.Context
 33438  	header_      http.Header
 33439  }
 33440  
 33441  // Get: Gets a partner.
 33442  //
 33443  // - partnerId: The ID of the partner to fetch.
 33444  func (r *PartnersService) Get(partnerId int64) *PartnersGetCall {
 33445  	c := &PartnersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33446  	c.partnerId = partnerId
 33447  	return c
 33448  }
 33449  
 33450  // Fields allows partial responses to be retrieved. See
 33451  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33452  // details.
 33453  func (c *PartnersGetCall) Fields(s ...googleapi.Field) *PartnersGetCall {
 33454  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33455  	return c
 33456  }
 33457  
 33458  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 33459  // object's ETag matches the given value. This is useful for getting updates
 33460  // only after the object has changed since the last request.
 33461  func (c *PartnersGetCall) IfNoneMatch(entityTag string) *PartnersGetCall {
 33462  	c.ifNoneMatch_ = entityTag
 33463  	return c
 33464  }
 33465  
 33466  // Context sets the context to be used in this call's Do method.
 33467  func (c *PartnersGetCall) Context(ctx context.Context) *PartnersGetCall {
 33468  	c.ctx_ = ctx
 33469  	return c
 33470  }
 33471  
 33472  // Header returns a http.Header that can be modified by the caller to add
 33473  // headers to the request.
 33474  func (c *PartnersGetCall) Header() http.Header {
 33475  	if c.header_ == nil {
 33476  		c.header_ = make(http.Header)
 33477  	}
 33478  	return c.header_
 33479  }
 33480  
 33481  func (c *PartnersGetCall) doRequest(alt string) (*http.Response, error) {
 33482  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 33483  	if c.ifNoneMatch_ != "" {
 33484  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33485  	}
 33486  	var body io.Reader = nil
 33487  	c.urlParams_.Set("alt", alt)
 33488  	c.urlParams_.Set("prettyPrint", "false")
 33489  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}")
 33490  	urls += "?" + c.urlParams_.Encode()
 33491  	req, err := http.NewRequest("GET", urls, body)
 33492  	if err != nil {
 33493  		return nil, err
 33494  	}
 33495  	req.Header = reqHeaders
 33496  	googleapi.Expand(req.URL, map[string]string{
 33497  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 33498  	})
 33499  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33500  }
 33501  
 33502  // Do executes the "displayvideo.partners.get" call.
 33503  // Any non-2xx status code is an error. Response headers are in either
 33504  // *Partner.ServerResponse.Header or (if a response was returned at all) in
 33505  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 33506  // whether the returned error was because http.StatusNotModified was returned.
 33507  func (c *PartnersGetCall) Do(opts ...googleapi.CallOption) (*Partner, error) {
 33508  	gensupport.SetOptions(c.urlParams_, opts...)
 33509  	res, err := c.doRequest("json")
 33510  	if res != nil && res.StatusCode == http.StatusNotModified {
 33511  		if res.Body != nil {
 33512  			res.Body.Close()
 33513  		}
 33514  		return nil, gensupport.WrapError(&googleapi.Error{
 33515  			Code:   res.StatusCode,
 33516  			Header: res.Header,
 33517  		})
 33518  	}
 33519  	if err != nil {
 33520  		return nil, err
 33521  	}
 33522  	defer googleapi.CloseBody(res)
 33523  	if err := googleapi.CheckResponse(res); err != nil {
 33524  		return nil, gensupport.WrapError(err)
 33525  	}
 33526  	ret := &Partner{
 33527  		ServerResponse: googleapi.ServerResponse{
 33528  			Header:         res.Header,
 33529  			HTTPStatusCode: res.StatusCode,
 33530  		},
 33531  	}
 33532  	target := &ret
 33533  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33534  		return nil, err
 33535  	}
 33536  	return ret, nil
 33537  }
 33538  
 33539  type PartnersListCall struct {
 33540  	s            *Service
 33541  	urlParams_   gensupport.URLParams
 33542  	ifNoneMatch_ string
 33543  	ctx_         context.Context
 33544  	header_      http.Header
 33545  }
 33546  
 33547  // List: Lists partners that are accessible to the current user. The order is
 33548  // defined by the order_by parameter.
 33549  func (r *PartnersService) List() *PartnersListCall {
 33550  	c := &PartnersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33551  	return c
 33552  }
 33553  
 33554  // Filter sets the optional parameter "filter": Allows filtering by partner
 33555  // fields. Supported syntax: * Filter expressions are made up of one or more
 33556  // restrictions. * Restrictions can be combined by `AND` or `OR` logical
 33557  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 33558  // has the form of `{field} {operator} {value}`. * All fields must use the
 33559  // `EQUALS (=)` operator. Supported fields: * `entityStatus` Examples: * All
 33560  // active partners: `entityStatus="ENTITY_STATUS_ACTIVE" The length of this
 33561  // field should be no more than 500 characters. Reference our filter `LIST`
 33562  // requests (/display-video/api/guides/how-tos/filters) guide for more
 33563  // information.
 33564  func (c *PartnersListCall) Filter(filter string) *PartnersListCall {
 33565  	c.urlParams_.Set("filter", filter)
 33566  	return c
 33567  }
 33568  
 33569  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 33570  // list. Acceptable values are: * `displayName` The default sorting order is
 33571  // ascending. To specify descending order for a field, a suffix "desc" should
 33572  // be added to the field name. For example, `displayName desc`.
 33573  func (c *PartnersListCall) OrderBy(orderBy string) *PartnersListCall {
 33574  	c.urlParams_.Set("orderBy", orderBy)
 33575  	return c
 33576  }
 33577  
 33578  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 33579  // be between `1` and `200`. If unspecified will default to `100`.
 33580  func (c *PartnersListCall) PageSize(pageSize int64) *PartnersListCall {
 33581  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 33582  	return c
 33583  }
 33584  
 33585  // PageToken sets the optional parameter "pageToken": A token identifying a
 33586  // page of results the server should return. Typically, this is the value of
 33587  // next_page_token returned from the previous call to `ListPartners` method. If
 33588  // not specified, the first page of results will be returned.
 33589  func (c *PartnersListCall) PageToken(pageToken string) *PartnersListCall {
 33590  	c.urlParams_.Set("pageToken", pageToken)
 33591  	return c
 33592  }
 33593  
 33594  // Fields allows partial responses to be retrieved. See
 33595  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33596  // details.
 33597  func (c *PartnersListCall) Fields(s ...googleapi.Field) *PartnersListCall {
 33598  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33599  	return c
 33600  }
 33601  
 33602  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 33603  // object's ETag matches the given value. This is useful for getting updates
 33604  // only after the object has changed since the last request.
 33605  func (c *PartnersListCall) IfNoneMatch(entityTag string) *PartnersListCall {
 33606  	c.ifNoneMatch_ = entityTag
 33607  	return c
 33608  }
 33609  
 33610  // Context sets the context to be used in this call's Do method.
 33611  func (c *PartnersListCall) Context(ctx context.Context) *PartnersListCall {
 33612  	c.ctx_ = ctx
 33613  	return c
 33614  }
 33615  
 33616  // Header returns a http.Header that can be modified by the caller to add
 33617  // headers to the request.
 33618  func (c *PartnersListCall) Header() http.Header {
 33619  	if c.header_ == nil {
 33620  		c.header_ = make(http.Header)
 33621  	}
 33622  	return c.header_
 33623  }
 33624  
 33625  func (c *PartnersListCall) doRequest(alt string) (*http.Response, error) {
 33626  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 33627  	if c.ifNoneMatch_ != "" {
 33628  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33629  	}
 33630  	var body io.Reader = nil
 33631  	c.urlParams_.Set("alt", alt)
 33632  	c.urlParams_.Set("prettyPrint", "false")
 33633  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners")
 33634  	urls += "?" + c.urlParams_.Encode()
 33635  	req, err := http.NewRequest("GET", urls, body)
 33636  	if err != nil {
 33637  		return nil, err
 33638  	}
 33639  	req.Header = reqHeaders
 33640  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33641  }
 33642  
 33643  // Do executes the "displayvideo.partners.list" call.
 33644  // Any non-2xx status code is an error. Response headers are in either
 33645  // *ListPartnersResponse.ServerResponse.Header or (if a response was returned
 33646  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 33647  // check whether the returned error was because http.StatusNotModified was
 33648  // returned.
 33649  func (c *PartnersListCall) Do(opts ...googleapi.CallOption) (*ListPartnersResponse, error) {
 33650  	gensupport.SetOptions(c.urlParams_, opts...)
 33651  	res, err := c.doRequest("json")
 33652  	if res != nil && res.StatusCode == http.StatusNotModified {
 33653  		if res.Body != nil {
 33654  			res.Body.Close()
 33655  		}
 33656  		return nil, gensupport.WrapError(&googleapi.Error{
 33657  			Code:   res.StatusCode,
 33658  			Header: res.Header,
 33659  		})
 33660  	}
 33661  	if err != nil {
 33662  		return nil, err
 33663  	}
 33664  	defer googleapi.CloseBody(res)
 33665  	if err := googleapi.CheckResponse(res); err != nil {
 33666  		return nil, gensupport.WrapError(err)
 33667  	}
 33668  	ret := &ListPartnersResponse{
 33669  		ServerResponse: googleapi.ServerResponse{
 33670  			Header:         res.Header,
 33671  			HTTPStatusCode: res.StatusCode,
 33672  		},
 33673  	}
 33674  	target := &ret
 33675  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33676  		return nil, err
 33677  	}
 33678  	return ret, nil
 33679  }
 33680  
 33681  // Pages invokes f for each page of results.
 33682  // A non-nil error returned from f will halt the iteration.
 33683  // The provided context supersedes any context provided to the Context method.
 33684  func (c *PartnersListCall) Pages(ctx context.Context, f func(*ListPartnersResponse) error) error {
 33685  	c.ctx_ = ctx
 33686  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 33687  	for {
 33688  		x, err := c.Do()
 33689  		if err != nil {
 33690  			return err
 33691  		}
 33692  		if err := f(x); err != nil {
 33693  			return err
 33694  		}
 33695  		if x.NextPageToken == "" {
 33696  			return nil
 33697  		}
 33698  		c.PageToken(x.NextPageToken)
 33699  	}
 33700  }
 33701  
 33702  type PartnersChannelsCreateCall struct {
 33703  	s          *Service
 33704  	partnerId  int64
 33705  	channel    *Channel
 33706  	urlParams_ gensupport.URLParams
 33707  	ctx_       context.Context
 33708  	header_    http.Header
 33709  }
 33710  
 33711  // Create: Creates a new channel. Returns the newly created channel if
 33712  // successful.
 33713  //
 33714  // - partnerId: The ID of the partner that owns the created channel.
 33715  func (r *PartnersChannelsService) Create(partnerId int64, channel *Channel) *PartnersChannelsCreateCall {
 33716  	c := &PartnersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33717  	c.partnerId = partnerId
 33718  	c.channel = channel
 33719  	return c
 33720  }
 33721  
 33722  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 33723  // advertiser that owns the created channel.
 33724  func (c *PartnersChannelsCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsCreateCall {
 33725  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33726  	return c
 33727  }
 33728  
 33729  // Fields allows partial responses to be retrieved. See
 33730  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33731  // details.
 33732  func (c *PartnersChannelsCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsCreateCall {
 33733  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33734  	return c
 33735  }
 33736  
 33737  // Context sets the context to be used in this call's Do method.
 33738  func (c *PartnersChannelsCreateCall) Context(ctx context.Context) *PartnersChannelsCreateCall {
 33739  	c.ctx_ = ctx
 33740  	return c
 33741  }
 33742  
 33743  // Header returns a http.Header that can be modified by the caller to add
 33744  // headers to the request.
 33745  func (c *PartnersChannelsCreateCall) Header() http.Header {
 33746  	if c.header_ == nil {
 33747  		c.header_ = make(http.Header)
 33748  	}
 33749  	return c.header_
 33750  }
 33751  
 33752  func (c *PartnersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
 33753  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 33754  	var body io.Reader = nil
 33755  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
 33756  	if err != nil {
 33757  		return nil, err
 33758  	}
 33759  	c.urlParams_.Set("alt", alt)
 33760  	c.urlParams_.Set("prettyPrint", "false")
 33761  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/channels")
 33762  	urls += "?" + c.urlParams_.Encode()
 33763  	req, err := http.NewRequest("POST", urls, body)
 33764  	if err != nil {
 33765  		return nil, err
 33766  	}
 33767  	req.Header = reqHeaders
 33768  	googleapi.Expand(req.URL, map[string]string{
 33769  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 33770  	})
 33771  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33772  }
 33773  
 33774  // Do executes the "displayvideo.partners.channels.create" call.
 33775  // Any non-2xx status code is an error. Response headers are in either
 33776  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 33777  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 33778  // whether the returned error was because http.StatusNotModified was returned.
 33779  func (c *PartnersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 33780  	gensupport.SetOptions(c.urlParams_, opts...)
 33781  	res, err := c.doRequest("json")
 33782  	if res != nil && res.StatusCode == http.StatusNotModified {
 33783  		if res.Body != nil {
 33784  			res.Body.Close()
 33785  		}
 33786  		return nil, gensupport.WrapError(&googleapi.Error{
 33787  			Code:   res.StatusCode,
 33788  			Header: res.Header,
 33789  		})
 33790  	}
 33791  	if err != nil {
 33792  		return nil, err
 33793  	}
 33794  	defer googleapi.CloseBody(res)
 33795  	if err := googleapi.CheckResponse(res); err != nil {
 33796  		return nil, gensupport.WrapError(err)
 33797  	}
 33798  	ret := &Channel{
 33799  		ServerResponse: googleapi.ServerResponse{
 33800  			Header:         res.Header,
 33801  			HTTPStatusCode: res.StatusCode,
 33802  		},
 33803  	}
 33804  	target := &ret
 33805  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33806  		return nil, err
 33807  	}
 33808  	return ret, nil
 33809  }
 33810  
 33811  type PartnersChannelsGetCall struct {
 33812  	s            *Service
 33813  	partnerId    int64
 33814  	channelId    int64
 33815  	urlParams_   gensupport.URLParams
 33816  	ifNoneMatch_ string
 33817  	ctx_         context.Context
 33818  	header_      http.Header
 33819  }
 33820  
 33821  // Get: Gets a channel for a partner or advertiser.
 33822  //
 33823  // - channelId: The ID of the channel to fetch.
 33824  // - partnerId: The ID of the partner that owns the fetched channel.
 33825  func (r *PartnersChannelsService) Get(partnerId int64, channelId int64) *PartnersChannelsGetCall {
 33826  	c := &PartnersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33827  	c.partnerId = partnerId
 33828  	c.channelId = channelId
 33829  	return c
 33830  }
 33831  
 33832  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 33833  // advertiser that owns the fetched channel.
 33834  func (c *PartnersChannelsGetCall) AdvertiserId(advertiserId int64) *PartnersChannelsGetCall {
 33835  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33836  	return c
 33837  }
 33838  
 33839  // Fields allows partial responses to be retrieved. See
 33840  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33841  // details.
 33842  func (c *PartnersChannelsGetCall) Fields(s ...googleapi.Field) *PartnersChannelsGetCall {
 33843  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33844  	return c
 33845  }
 33846  
 33847  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 33848  // object's ETag matches the given value. This is useful for getting updates
 33849  // only after the object has changed since the last request.
 33850  func (c *PartnersChannelsGetCall) IfNoneMatch(entityTag string) *PartnersChannelsGetCall {
 33851  	c.ifNoneMatch_ = entityTag
 33852  	return c
 33853  }
 33854  
 33855  // Context sets the context to be used in this call's Do method.
 33856  func (c *PartnersChannelsGetCall) Context(ctx context.Context) *PartnersChannelsGetCall {
 33857  	c.ctx_ = ctx
 33858  	return c
 33859  }
 33860  
 33861  // Header returns a http.Header that can be modified by the caller to add
 33862  // headers to the request.
 33863  func (c *PartnersChannelsGetCall) Header() http.Header {
 33864  	if c.header_ == nil {
 33865  		c.header_ = make(http.Header)
 33866  	}
 33867  	return c.header_
 33868  }
 33869  
 33870  func (c *PartnersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
 33871  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 33872  	if c.ifNoneMatch_ != "" {
 33873  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33874  	}
 33875  	var body io.Reader = nil
 33876  	c.urlParams_.Set("alt", alt)
 33877  	c.urlParams_.Set("prettyPrint", "false")
 33878  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/channels/{+channelId}")
 33879  	urls += "?" + c.urlParams_.Encode()
 33880  	req, err := http.NewRequest("GET", urls, body)
 33881  	if err != nil {
 33882  		return nil, err
 33883  	}
 33884  	req.Header = reqHeaders
 33885  	googleapi.Expand(req.URL, map[string]string{
 33886  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 33887  		"channelId": strconv.FormatInt(c.channelId, 10),
 33888  	})
 33889  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33890  }
 33891  
 33892  // Do executes the "displayvideo.partners.channels.get" call.
 33893  // Any non-2xx status code is an error. Response headers are in either
 33894  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 33895  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 33896  // whether the returned error was because http.StatusNotModified was returned.
 33897  func (c *PartnersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 33898  	gensupport.SetOptions(c.urlParams_, opts...)
 33899  	res, err := c.doRequest("json")
 33900  	if res != nil && res.StatusCode == http.StatusNotModified {
 33901  		if res.Body != nil {
 33902  			res.Body.Close()
 33903  		}
 33904  		return nil, gensupport.WrapError(&googleapi.Error{
 33905  			Code:   res.StatusCode,
 33906  			Header: res.Header,
 33907  		})
 33908  	}
 33909  	if err != nil {
 33910  		return nil, err
 33911  	}
 33912  	defer googleapi.CloseBody(res)
 33913  	if err := googleapi.CheckResponse(res); err != nil {
 33914  		return nil, gensupport.WrapError(err)
 33915  	}
 33916  	ret := &Channel{
 33917  		ServerResponse: googleapi.ServerResponse{
 33918  			Header:         res.Header,
 33919  			HTTPStatusCode: res.StatusCode,
 33920  		},
 33921  	}
 33922  	target := &ret
 33923  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33924  		return nil, err
 33925  	}
 33926  	return ret, nil
 33927  }
 33928  
 33929  type PartnersChannelsListCall struct {
 33930  	s            *Service
 33931  	partnerId    int64
 33932  	urlParams_   gensupport.URLParams
 33933  	ifNoneMatch_ string
 33934  	ctx_         context.Context
 33935  	header_      http.Header
 33936  }
 33937  
 33938  // List: Lists channels for a partner or advertiser.
 33939  //
 33940  // - partnerId: The ID of the partner that owns the channels.
 33941  func (r *PartnersChannelsService) List(partnerId int64) *PartnersChannelsListCall {
 33942  	c := &PartnersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33943  	c.partnerId = partnerId
 33944  	return c
 33945  }
 33946  
 33947  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 33948  // advertiser that owns the channels.
 33949  func (c *PartnersChannelsListCall) AdvertiserId(advertiserId int64) *PartnersChannelsListCall {
 33950  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33951  	return c
 33952  }
 33953  
 33954  // Filter sets the optional parameter "filter": Allows filtering by channel
 33955  // fields. Supported syntax: * Filter expressions for channel can only contain
 33956  // at most one restriction. * A restriction has the form of `{field} {operator}
 33957  // {value}`. * All fields must use the `HAS (:)` operator. Supported fields: *
 33958  // `displayName` Examples: * All channels for which the display name contains
 33959  // "google": `displayName : "google". The length of this field should be no
 33960  // more than 500 characters. Reference our filter `LIST` requests
 33961  // (/display-video/api/guides/how-tos/filters) guide for more information.
 33962  func (c *PartnersChannelsListCall) Filter(filter string) *PartnersChannelsListCall {
 33963  	c.urlParams_.Set("filter", filter)
 33964  	return c
 33965  }
 33966  
 33967  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 33968  // list. Acceptable values are: * `displayName` (default) * `channelId` The
 33969  // default sorting order is ascending. To specify descending order for a field,
 33970  // a suffix " desc" should be added to the field name. Example: `displayName
 33971  // desc`.
 33972  func (c *PartnersChannelsListCall) OrderBy(orderBy string) *PartnersChannelsListCall {
 33973  	c.urlParams_.Set("orderBy", orderBy)
 33974  	return c
 33975  }
 33976  
 33977  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 33978  // be between `1` and `200`. If unspecified will default to `100`. Returns
 33979  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 33980  func (c *PartnersChannelsListCall) PageSize(pageSize int64) *PartnersChannelsListCall {
 33981  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 33982  	return c
 33983  }
 33984  
 33985  // PageToken sets the optional parameter "pageToken": A token identifying a
 33986  // page of results the server should return. Typically, this is the value of
 33987  // next_page_token returned from the previous call to `ListChannels` method. If
 33988  // not specified, the first page of results will be returned.
 33989  func (c *PartnersChannelsListCall) PageToken(pageToken string) *PartnersChannelsListCall {
 33990  	c.urlParams_.Set("pageToken", pageToken)
 33991  	return c
 33992  }
 33993  
 33994  // Fields allows partial responses to be retrieved. See
 33995  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33996  // details.
 33997  func (c *PartnersChannelsListCall) Fields(s ...googleapi.Field) *PartnersChannelsListCall {
 33998  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33999  	return c
 34000  }
 34001  
 34002  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 34003  // object's ETag matches the given value. This is useful for getting updates
 34004  // only after the object has changed since the last request.
 34005  func (c *PartnersChannelsListCall) IfNoneMatch(entityTag string) *PartnersChannelsListCall {
 34006  	c.ifNoneMatch_ = entityTag
 34007  	return c
 34008  }
 34009  
 34010  // Context sets the context to be used in this call's Do method.
 34011  func (c *PartnersChannelsListCall) Context(ctx context.Context) *PartnersChannelsListCall {
 34012  	c.ctx_ = ctx
 34013  	return c
 34014  }
 34015  
 34016  // Header returns a http.Header that can be modified by the caller to add
 34017  // headers to the request.
 34018  func (c *PartnersChannelsListCall) Header() http.Header {
 34019  	if c.header_ == nil {
 34020  		c.header_ = make(http.Header)
 34021  	}
 34022  	return c.header_
 34023  }
 34024  
 34025  func (c *PartnersChannelsListCall) doRequest(alt string) (*http.Response, error) {
 34026  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 34027  	if c.ifNoneMatch_ != "" {
 34028  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34029  	}
 34030  	var body io.Reader = nil
 34031  	c.urlParams_.Set("alt", alt)
 34032  	c.urlParams_.Set("prettyPrint", "false")
 34033  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/channels")
 34034  	urls += "?" + c.urlParams_.Encode()
 34035  	req, err := http.NewRequest("GET", urls, body)
 34036  	if err != nil {
 34037  		return nil, err
 34038  	}
 34039  	req.Header = reqHeaders
 34040  	googleapi.Expand(req.URL, map[string]string{
 34041  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34042  	})
 34043  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34044  }
 34045  
 34046  // Do executes the "displayvideo.partners.channels.list" call.
 34047  // Any non-2xx status code is an error. Response headers are in either
 34048  // *ListChannelsResponse.ServerResponse.Header or (if a response was returned
 34049  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 34050  // check whether the returned error was because http.StatusNotModified was
 34051  // returned.
 34052  func (c *PartnersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) {
 34053  	gensupport.SetOptions(c.urlParams_, opts...)
 34054  	res, err := c.doRequest("json")
 34055  	if res != nil && res.StatusCode == http.StatusNotModified {
 34056  		if res.Body != nil {
 34057  			res.Body.Close()
 34058  		}
 34059  		return nil, gensupport.WrapError(&googleapi.Error{
 34060  			Code:   res.StatusCode,
 34061  			Header: res.Header,
 34062  		})
 34063  	}
 34064  	if err != nil {
 34065  		return nil, err
 34066  	}
 34067  	defer googleapi.CloseBody(res)
 34068  	if err := googleapi.CheckResponse(res); err != nil {
 34069  		return nil, gensupport.WrapError(err)
 34070  	}
 34071  	ret := &ListChannelsResponse{
 34072  		ServerResponse: googleapi.ServerResponse{
 34073  			Header:         res.Header,
 34074  			HTTPStatusCode: res.StatusCode,
 34075  		},
 34076  	}
 34077  	target := &ret
 34078  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34079  		return nil, err
 34080  	}
 34081  	return ret, nil
 34082  }
 34083  
 34084  // Pages invokes f for each page of results.
 34085  // A non-nil error returned from f will halt the iteration.
 34086  // The provided context supersedes any context provided to the Context method.
 34087  func (c *PartnersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error {
 34088  	c.ctx_ = ctx
 34089  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 34090  	for {
 34091  		x, err := c.Do()
 34092  		if err != nil {
 34093  			return err
 34094  		}
 34095  		if err := f(x); err != nil {
 34096  			return err
 34097  		}
 34098  		if x.NextPageToken == "" {
 34099  			return nil
 34100  		}
 34101  		c.PageToken(x.NextPageToken)
 34102  	}
 34103  }
 34104  
 34105  type PartnersChannelsPatchCall struct {
 34106  	s          *Service
 34107  	partnerId  int64
 34108  	channelId  int64
 34109  	channel    *Channel
 34110  	urlParams_ gensupport.URLParams
 34111  	ctx_       context.Context
 34112  	header_    http.Header
 34113  }
 34114  
 34115  // Patch: Updates a channel. Returns the updated channel if successful.
 34116  //
 34117  //   - channelId: Output only. The unique ID of the channel. Assigned by the
 34118  //     system.
 34119  //   - partnerId: The ID of the partner that owns the created channel.
 34120  func (r *PartnersChannelsService) Patch(partnerId int64, channelId int64, channel *Channel) *PartnersChannelsPatchCall {
 34121  	c := &PartnersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34122  	c.partnerId = partnerId
 34123  	c.channelId = channelId
 34124  	c.channel = channel
 34125  	return c
 34126  }
 34127  
 34128  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34129  // advertiser that owns the created channel.
 34130  func (c *PartnersChannelsPatchCall) AdvertiserId(advertiserId int64) *PartnersChannelsPatchCall {
 34131  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34132  	return c
 34133  }
 34134  
 34135  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 34136  // control which fields to update.
 34137  func (c *PartnersChannelsPatchCall) UpdateMask(updateMask string) *PartnersChannelsPatchCall {
 34138  	c.urlParams_.Set("updateMask", updateMask)
 34139  	return c
 34140  }
 34141  
 34142  // Fields allows partial responses to be retrieved. See
 34143  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34144  // details.
 34145  func (c *PartnersChannelsPatchCall) Fields(s ...googleapi.Field) *PartnersChannelsPatchCall {
 34146  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34147  	return c
 34148  }
 34149  
 34150  // Context sets the context to be used in this call's Do method.
 34151  func (c *PartnersChannelsPatchCall) Context(ctx context.Context) *PartnersChannelsPatchCall {
 34152  	c.ctx_ = ctx
 34153  	return c
 34154  }
 34155  
 34156  // Header returns a http.Header that can be modified by the caller to add
 34157  // headers to the request.
 34158  func (c *PartnersChannelsPatchCall) Header() http.Header {
 34159  	if c.header_ == nil {
 34160  		c.header_ = make(http.Header)
 34161  	}
 34162  	return c.header_
 34163  }
 34164  
 34165  func (c *PartnersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
 34166  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 34167  	var body io.Reader = nil
 34168  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
 34169  	if err != nil {
 34170  		return nil, err
 34171  	}
 34172  	c.urlParams_.Set("alt", alt)
 34173  	c.urlParams_.Set("prettyPrint", "false")
 34174  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/channels/{channelId}")
 34175  	urls += "?" + c.urlParams_.Encode()
 34176  	req, err := http.NewRequest("PATCH", urls, body)
 34177  	if err != nil {
 34178  		return nil, err
 34179  	}
 34180  	req.Header = reqHeaders
 34181  	googleapi.Expand(req.URL, map[string]string{
 34182  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34183  		"channelId": strconv.FormatInt(c.channelId, 10),
 34184  	})
 34185  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34186  }
 34187  
 34188  // Do executes the "displayvideo.partners.channels.patch" call.
 34189  // Any non-2xx status code is an error. Response headers are in either
 34190  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 34191  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34192  // whether the returned error was because http.StatusNotModified was returned.
 34193  func (c *PartnersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 34194  	gensupport.SetOptions(c.urlParams_, opts...)
 34195  	res, err := c.doRequest("json")
 34196  	if res != nil && res.StatusCode == http.StatusNotModified {
 34197  		if res.Body != nil {
 34198  			res.Body.Close()
 34199  		}
 34200  		return nil, gensupport.WrapError(&googleapi.Error{
 34201  			Code:   res.StatusCode,
 34202  			Header: res.Header,
 34203  		})
 34204  	}
 34205  	if err != nil {
 34206  		return nil, err
 34207  	}
 34208  	defer googleapi.CloseBody(res)
 34209  	if err := googleapi.CheckResponse(res); err != nil {
 34210  		return nil, gensupport.WrapError(err)
 34211  	}
 34212  	ret := &Channel{
 34213  		ServerResponse: googleapi.ServerResponse{
 34214  			Header:         res.Header,
 34215  			HTTPStatusCode: res.StatusCode,
 34216  		},
 34217  	}
 34218  	target := &ret
 34219  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34220  		return nil, err
 34221  	}
 34222  	return ret, nil
 34223  }
 34224  
 34225  type PartnersChannelsSitesBulkEditCall struct {
 34226  	s                    *Service
 34227  	partnerId            int64
 34228  	channelId            int64
 34229  	bulkeditsitesrequest *BulkEditSitesRequest
 34230  	urlParams_           gensupport.URLParams
 34231  	ctx_                 context.Context
 34232  	header_              http.Header
 34233  }
 34234  
 34235  // BulkEdit: Bulk edits sites under a single channel. The operation will delete
 34236  // the sites provided in BulkEditSitesRequest.deleted_sites and then create the
 34237  // sites provided in BulkEditSitesRequest.created_sites.
 34238  //
 34239  // - channelId: The ID of the parent channel to which the sites belong.
 34240  // - partnerId: The ID of the partner that owns the parent channel.
 34241  func (r *PartnersChannelsSitesService) BulkEdit(partnerId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *PartnersChannelsSitesBulkEditCall {
 34242  	c := &PartnersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34243  	c.partnerId = partnerId
 34244  	c.channelId = channelId
 34245  	c.bulkeditsitesrequest = bulkeditsitesrequest
 34246  	return c
 34247  }
 34248  
 34249  // Fields allows partial responses to be retrieved. See
 34250  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34251  // details.
 34252  func (c *PartnersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesBulkEditCall {
 34253  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34254  	return c
 34255  }
 34256  
 34257  // Context sets the context to be used in this call's Do method.
 34258  func (c *PartnersChannelsSitesBulkEditCall) Context(ctx context.Context) *PartnersChannelsSitesBulkEditCall {
 34259  	c.ctx_ = ctx
 34260  	return c
 34261  }
 34262  
 34263  // Header returns a http.Header that can be modified by the caller to add
 34264  // headers to the request.
 34265  func (c *PartnersChannelsSitesBulkEditCall) Header() http.Header {
 34266  	if c.header_ == nil {
 34267  		c.header_ = make(http.Header)
 34268  	}
 34269  	return c.header_
 34270  }
 34271  
 34272  func (c *PartnersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
 34273  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 34274  	var body io.Reader = nil
 34275  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest)
 34276  	if err != nil {
 34277  		return nil, err
 34278  	}
 34279  	c.urlParams_.Set("alt", alt)
 34280  	c.urlParams_.Set("prettyPrint", "false")
 34281  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit")
 34282  	urls += "?" + c.urlParams_.Encode()
 34283  	req, err := http.NewRequest("POST", urls, body)
 34284  	if err != nil {
 34285  		return nil, err
 34286  	}
 34287  	req.Header = reqHeaders
 34288  	googleapi.Expand(req.URL, map[string]string{
 34289  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34290  		"channelId": strconv.FormatInt(c.channelId, 10),
 34291  	})
 34292  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34293  }
 34294  
 34295  // Do executes the "displayvideo.partners.channels.sites.bulkEdit" call.
 34296  // Any non-2xx status code is an error. Response headers are in either
 34297  // *BulkEditSitesResponse.ServerResponse.Header or (if a response was returned
 34298  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 34299  // check whether the returned error was because http.StatusNotModified was
 34300  // returned.
 34301  func (c *PartnersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) {
 34302  	gensupport.SetOptions(c.urlParams_, opts...)
 34303  	res, err := c.doRequest("json")
 34304  	if res != nil && res.StatusCode == http.StatusNotModified {
 34305  		if res.Body != nil {
 34306  			res.Body.Close()
 34307  		}
 34308  		return nil, gensupport.WrapError(&googleapi.Error{
 34309  			Code:   res.StatusCode,
 34310  			Header: res.Header,
 34311  		})
 34312  	}
 34313  	if err != nil {
 34314  		return nil, err
 34315  	}
 34316  	defer googleapi.CloseBody(res)
 34317  	if err := googleapi.CheckResponse(res); err != nil {
 34318  		return nil, gensupport.WrapError(err)
 34319  	}
 34320  	ret := &BulkEditSitesResponse{
 34321  		ServerResponse: googleapi.ServerResponse{
 34322  			Header:         res.Header,
 34323  			HTTPStatusCode: res.StatusCode,
 34324  		},
 34325  	}
 34326  	target := &ret
 34327  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34328  		return nil, err
 34329  	}
 34330  	return ret, nil
 34331  }
 34332  
 34333  type PartnersChannelsSitesCreateCall struct {
 34334  	s          *Service
 34335  	partnerId  int64
 34336  	channelId  int64
 34337  	site       *Site
 34338  	urlParams_ gensupport.URLParams
 34339  	ctx_       context.Context
 34340  	header_    http.Header
 34341  }
 34342  
 34343  // Create: Creates a site in a channel.
 34344  //
 34345  // - channelId: The ID of the parent channel in which the site will be created.
 34346  // - partnerId: The ID of the partner that owns the parent channel.
 34347  func (r *PartnersChannelsSitesService) Create(partnerId int64, channelId int64, site *Site) *PartnersChannelsSitesCreateCall {
 34348  	c := &PartnersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34349  	c.partnerId = partnerId
 34350  	c.channelId = channelId
 34351  	c.site = site
 34352  	return c
 34353  }
 34354  
 34355  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34356  // advertiser that owns the parent channel.
 34357  func (c *PartnersChannelsSitesCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesCreateCall {
 34358  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34359  	return c
 34360  }
 34361  
 34362  // Fields allows partial responses to be retrieved. See
 34363  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34364  // details.
 34365  func (c *PartnersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesCreateCall {
 34366  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34367  	return c
 34368  }
 34369  
 34370  // Context sets the context to be used in this call's Do method.
 34371  func (c *PartnersChannelsSitesCreateCall) Context(ctx context.Context) *PartnersChannelsSitesCreateCall {
 34372  	c.ctx_ = ctx
 34373  	return c
 34374  }
 34375  
 34376  // Header returns a http.Header that can be modified by the caller to add
 34377  // headers to the request.
 34378  func (c *PartnersChannelsSitesCreateCall) Header() http.Header {
 34379  	if c.header_ == nil {
 34380  		c.header_ = make(http.Header)
 34381  	}
 34382  	return c.header_
 34383  }
 34384  
 34385  func (c *PartnersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
 34386  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 34387  	var body io.Reader = nil
 34388  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 34389  	if err != nil {
 34390  		return nil, err
 34391  	}
 34392  	c.urlParams_.Set("alt", alt)
 34393  	c.urlParams_.Set("prettyPrint", "false")
 34394  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{partnerId}/channels/{+channelId}/sites")
 34395  	urls += "?" + c.urlParams_.Encode()
 34396  	req, err := http.NewRequest("POST", urls, body)
 34397  	if err != nil {
 34398  		return nil, err
 34399  	}
 34400  	req.Header = reqHeaders
 34401  	googleapi.Expand(req.URL, map[string]string{
 34402  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34403  		"channelId": strconv.FormatInt(c.channelId, 10),
 34404  	})
 34405  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34406  }
 34407  
 34408  // Do executes the "displayvideo.partners.channels.sites.create" call.
 34409  // Any non-2xx status code is an error. Response headers are in either
 34410  // *Site.ServerResponse.Header or (if a response was returned at all) in
 34411  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34412  // whether the returned error was because http.StatusNotModified was returned.
 34413  func (c *PartnersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 34414  	gensupport.SetOptions(c.urlParams_, opts...)
 34415  	res, err := c.doRequest("json")
 34416  	if res != nil && res.StatusCode == http.StatusNotModified {
 34417  		if res.Body != nil {
 34418  			res.Body.Close()
 34419  		}
 34420  		return nil, gensupport.WrapError(&googleapi.Error{
 34421  			Code:   res.StatusCode,
 34422  			Header: res.Header,
 34423  		})
 34424  	}
 34425  	if err != nil {
 34426  		return nil, err
 34427  	}
 34428  	defer googleapi.CloseBody(res)
 34429  	if err := googleapi.CheckResponse(res); err != nil {
 34430  		return nil, gensupport.WrapError(err)
 34431  	}
 34432  	ret := &Site{
 34433  		ServerResponse: googleapi.ServerResponse{
 34434  			Header:         res.Header,
 34435  			HTTPStatusCode: res.StatusCode,
 34436  		},
 34437  	}
 34438  	target := &ret
 34439  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34440  		return nil, err
 34441  	}
 34442  	return ret, nil
 34443  }
 34444  
 34445  type PartnersChannelsSitesDeleteCall struct {
 34446  	s          *Service
 34447  	partnerId  int64
 34448  	channelId  int64
 34449  	urlOrAppId string
 34450  	urlParams_ gensupport.URLParams
 34451  	ctx_       context.Context
 34452  	header_    http.Header
 34453  }
 34454  
 34455  // Delete: Deletes a site from a channel.
 34456  //
 34457  // - channelId: The ID of the parent channel to which the site belongs.
 34458  // - partnerId: The ID of the partner that owns the parent channel.
 34459  // - urlOrAppId: The URL or app ID of the site to delete.
 34460  func (r *PartnersChannelsSitesService) Delete(partnerId int64, channelId int64, urlOrAppId string) *PartnersChannelsSitesDeleteCall {
 34461  	c := &PartnersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34462  	c.partnerId = partnerId
 34463  	c.channelId = channelId
 34464  	c.urlOrAppId = urlOrAppId
 34465  	return c
 34466  }
 34467  
 34468  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34469  // advertiser that owns the parent channel.
 34470  func (c *PartnersChannelsSitesDeleteCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesDeleteCall {
 34471  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34472  	return c
 34473  }
 34474  
 34475  // Fields allows partial responses to be retrieved. See
 34476  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34477  // details.
 34478  func (c *PartnersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesDeleteCall {
 34479  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34480  	return c
 34481  }
 34482  
 34483  // Context sets the context to be used in this call's Do method.
 34484  func (c *PartnersChannelsSitesDeleteCall) Context(ctx context.Context) *PartnersChannelsSitesDeleteCall {
 34485  	c.ctx_ = ctx
 34486  	return c
 34487  }
 34488  
 34489  // Header returns a http.Header that can be modified by the caller to add
 34490  // headers to the request.
 34491  func (c *PartnersChannelsSitesDeleteCall) Header() http.Header {
 34492  	if c.header_ == nil {
 34493  		c.header_ = make(http.Header)
 34494  	}
 34495  	return c.header_
 34496  }
 34497  
 34498  func (c *PartnersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
 34499  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 34500  	var body io.Reader = nil
 34501  	c.urlParams_.Set("alt", alt)
 34502  	c.urlParams_.Set("prettyPrint", "false")
 34503  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}")
 34504  	urls += "?" + c.urlParams_.Encode()
 34505  	req, err := http.NewRequest("DELETE", urls, body)
 34506  	if err != nil {
 34507  		return nil, err
 34508  	}
 34509  	req.Header = reqHeaders
 34510  	googleapi.Expand(req.URL, map[string]string{
 34511  		"partnerId":  strconv.FormatInt(c.partnerId, 10),
 34512  		"channelId":  strconv.FormatInt(c.channelId, 10),
 34513  		"urlOrAppId": c.urlOrAppId,
 34514  	})
 34515  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34516  }
 34517  
 34518  // Do executes the "displayvideo.partners.channels.sites.delete" call.
 34519  // Any non-2xx status code is an error. Response headers are in either
 34520  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 34521  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34522  // whether the returned error was because http.StatusNotModified was returned.
 34523  func (c *PartnersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 34524  	gensupport.SetOptions(c.urlParams_, opts...)
 34525  	res, err := c.doRequest("json")
 34526  	if res != nil && res.StatusCode == http.StatusNotModified {
 34527  		if res.Body != nil {
 34528  			res.Body.Close()
 34529  		}
 34530  		return nil, gensupport.WrapError(&googleapi.Error{
 34531  			Code:   res.StatusCode,
 34532  			Header: res.Header,
 34533  		})
 34534  	}
 34535  	if err != nil {
 34536  		return nil, err
 34537  	}
 34538  	defer googleapi.CloseBody(res)
 34539  	if err := googleapi.CheckResponse(res); err != nil {
 34540  		return nil, gensupport.WrapError(err)
 34541  	}
 34542  	ret := &Empty{
 34543  		ServerResponse: googleapi.ServerResponse{
 34544  			Header:         res.Header,
 34545  			HTTPStatusCode: res.StatusCode,
 34546  		},
 34547  	}
 34548  	target := &ret
 34549  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34550  		return nil, err
 34551  	}
 34552  	return ret, nil
 34553  }
 34554  
 34555  type PartnersChannelsSitesListCall struct {
 34556  	s            *Service
 34557  	partnerId    int64
 34558  	channelId    int64
 34559  	urlParams_   gensupport.URLParams
 34560  	ifNoneMatch_ string
 34561  	ctx_         context.Context
 34562  	header_      http.Header
 34563  }
 34564  
 34565  // List: Lists sites in a channel.
 34566  //
 34567  //   - channelId: The ID of the parent channel to which the requested sites
 34568  //     belong.
 34569  //   - partnerId: The ID of the partner that owns the parent channel.
 34570  func (r *PartnersChannelsSitesService) List(partnerId int64, channelId int64) *PartnersChannelsSitesListCall {
 34571  	c := &PartnersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34572  	c.partnerId = partnerId
 34573  	c.channelId = channelId
 34574  	return c
 34575  }
 34576  
 34577  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34578  // advertiser that owns the parent channel.
 34579  func (c *PartnersChannelsSitesListCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesListCall {
 34580  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34581  	return c
 34582  }
 34583  
 34584  // Filter sets the optional parameter "filter": Allows filtering by site
 34585  // fields. Supported syntax: * Filter expressions for site retrieval can only
 34586  // contain at most one restriction. * A restriction has the form of `{field}
 34587  // {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported
 34588  // fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID
 34589  // contains "google": `urlOrAppId : "google" The length of this field should
 34590  // be no more than 500 characters. Reference our filter `LIST` requests
 34591  // (/display-video/api/guides/how-tos/filters) guide for more information.
 34592  func (c *PartnersChannelsSitesListCall) Filter(filter string) *PartnersChannelsSitesListCall {
 34593  	c.urlParams_.Set("filter", filter)
 34594  	return c
 34595  }
 34596  
 34597  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 34598  // list. Acceptable values are: * `urlOrAppId` (default) The default sorting
 34599  // order is ascending. To specify descending order for a field, a suffix "
 34600  // desc" should be added to the field name. Example: `urlOrAppId desc`.
 34601  func (c *PartnersChannelsSitesListCall) OrderBy(orderBy string) *PartnersChannelsSitesListCall {
 34602  	c.urlParams_.Set("orderBy", orderBy)
 34603  	return c
 34604  }
 34605  
 34606  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 34607  // be between `1` and `10000`. If unspecified will default to `100`. Returns
 34608  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 34609  func (c *PartnersChannelsSitesListCall) PageSize(pageSize int64) *PartnersChannelsSitesListCall {
 34610  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 34611  	return c
 34612  }
 34613  
 34614  // PageToken sets the optional parameter "pageToken": A token identifying a
 34615  // page of results the server should return. Typically, this is the value of
 34616  // next_page_token returned from the previous call to `ListSites` method. If
 34617  // not specified, the first page of results will be returned.
 34618  func (c *PartnersChannelsSitesListCall) PageToken(pageToken string) *PartnersChannelsSitesListCall {
 34619  	c.urlParams_.Set("pageToken", pageToken)
 34620  	return c
 34621  }
 34622  
 34623  // Fields allows partial responses to be retrieved. See
 34624  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34625  // details.
 34626  func (c *PartnersChannelsSitesListCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesListCall {
 34627  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34628  	return c
 34629  }
 34630  
 34631  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 34632  // object's ETag matches the given value. This is useful for getting updates
 34633  // only after the object has changed since the last request.
 34634  func (c *PartnersChannelsSitesListCall) IfNoneMatch(entityTag string) *PartnersChannelsSitesListCall {
 34635  	c.ifNoneMatch_ = entityTag
 34636  	return c
 34637  }
 34638  
 34639  // Context sets the context to be used in this call's Do method.
 34640  func (c *PartnersChannelsSitesListCall) Context(ctx context.Context) *PartnersChannelsSitesListCall {
 34641  	c.ctx_ = ctx
 34642  	return c
 34643  }
 34644  
 34645  // Header returns a http.Header that can be modified by the caller to add
 34646  // headers to the request.
 34647  func (c *PartnersChannelsSitesListCall) Header() http.Header {
 34648  	if c.header_ == nil {
 34649  		c.header_ = make(http.Header)
 34650  	}
 34651  	return c.header_
 34652  }
 34653  
 34654  func (c *PartnersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
 34655  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 34656  	if c.ifNoneMatch_ != "" {
 34657  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34658  	}
 34659  	var body io.Reader = nil
 34660  	c.urlParams_.Set("alt", alt)
 34661  	c.urlParams_.Set("prettyPrint", "false")
 34662  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/channels/{+channelId}/sites")
 34663  	urls += "?" + c.urlParams_.Encode()
 34664  	req, err := http.NewRequest("GET", urls, body)
 34665  	if err != nil {
 34666  		return nil, err
 34667  	}
 34668  	req.Header = reqHeaders
 34669  	googleapi.Expand(req.URL, map[string]string{
 34670  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34671  		"channelId": strconv.FormatInt(c.channelId, 10),
 34672  	})
 34673  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34674  }
 34675  
 34676  // Do executes the "displayvideo.partners.channels.sites.list" call.
 34677  // Any non-2xx status code is an error. Response headers are in either
 34678  // *ListSitesResponse.ServerResponse.Header or (if a response was returned at
 34679  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 34680  // check whether the returned error was because http.StatusNotModified was
 34681  // returned.
 34682  func (c *PartnersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) {
 34683  	gensupport.SetOptions(c.urlParams_, opts...)
 34684  	res, err := c.doRequest("json")
 34685  	if res != nil && res.StatusCode == http.StatusNotModified {
 34686  		if res.Body != nil {
 34687  			res.Body.Close()
 34688  		}
 34689  		return nil, gensupport.WrapError(&googleapi.Error{
 34690  			Code:   res.StatusCode,
 34691  			Header: res.Header,
 34692  		})
 34693  	}
 34694  	if err != nil {
 34695  		return nil, err
 34696  	}
 34697  	defer googleapi.CloseBody(res)
 34698  	if err := googleapi.CheckResponse(res); err != nil {
 34699  		return nil, gensupport.WrapError(err)
 34700  	}
 34701  	ret := &ListSitesResponse{
 34702  		ServerResponse: googleapi.ServerResponse{
 34703  			Header:         res.Header,
 34704  			HTTPStatusCode: res.StatusCode,
 34705  		},
 34706  	}
 34707  	target := &ret
 34708  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34709  		return nil, err
 34710  	}
 34711  	return ret, nil
 34712  }
 34713  
 34714  // Pages invokes f for each page of results.
 34715  // A non-nil error returned from f will halt the iteration.
 34716  // The provided context supersedes any context provided to the Context method.
 34717  func (c *PartnersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error {
 34718  	c.ctx_ = ctx
 34719  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 34720  	for {
 34721  		x, err := c.Do()
 34722  		if err != nil {
 34723  			return err
 34724  		}
 34725  		if err := f(x); err != nil {
 34726  			return err
 34727  		}
 34728  		if x.NextPageToken == "" {
 34729  			return nil
 34730  		}
 34731  		c.PageToken(x.NextPageToken)
 34732  	}
 34733  }
 34734  
 34735  type PartnersChannelsSitesReplaceCall struct {
 34736  	s                   *Service
 34737  	partnerId           int64
 34738  	channelId           int64
 34739  	replacesitesrequest *ReplaceSitesRequest
 34740  	urlParams_          gensupport.URLParams
 34741  	ctx_                context.Context
 34742  	header_             http.Header
 34743  }
 34744  
 34745  // Replace: Replaces all of the sites under a single channel. The operation
 34746  // will replace the sites under a channel with the sites provided in
 34747  // ReplaceSitesRequest.new_sites. **This method regularly experiences high
 34748  // latency.** We recommend increasing your default timeout
 34749  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 34750  // to avoid errors.
 34751  //
 34752  // - channelId: The ID of the parent channel whose sites will be replaced.
 34753  // - partnerId: The ID of the partner that owns the parent channel.
 34754  func (r *PartnersChannelsSitesService) Replace(partnerId int64, channelId int64, replacesitesrequest *ReplaceSitesRequest) *PartnersChannelsSitesReplaceCall {
 34755  	c := &PartnersChannelsSitesReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34756  	c.partnerId = partnerId
 34757  	c.channelId = channelId
 34758  	c.replacesitesrequest = replacesitesrequest
 34759  	return c
 34760  }
 34761  
 34762  // Fields allows partial responses to be retrieved. See
 34763  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34764  // details.
 34765  func (c *PartnersChannelsSitesReplaceCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesReplaceCall {
 34766  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34767  	return c
 34768  }
 34769  
 34770  // Context sets the context to be used in this call's Do method.
 34771  func (c *PartnersChannelsSitesReplaceCall) Context(ctx context.Context) *PartnersChannelsSitesReplaceCall {
 34772  	c.ctx_ = ctx
 34773  	return c
 34774  }
 34775  
 34776  // Header returns a http.Header that can be modified by the caller to add
 34777  // headers to the request.
 34778  func (c *PartnersChannelsSitesReplaceCall) Header() http.Header {
 34779  	if c.header_ == nil {
 34780  		c.header_ = make(http.Header)
 34781  	}
 34782  	return c.header_
 34783  }
 34784  
 34785  func (c *PartnersChannelsSitesReplaceCall) doRequest(alt string) (*http.Response, error) {
 34786  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 34787  	var body io.Reader = nil
 34788  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacesitesrequest)
 34789  	if err != nil {
 34790  		return nil, err
 34791  	}
 34792  	c.urlParams_.Set("alt", alt)
 34793  	c.urlParams_.Set("prettyPrint", "false")
 34794  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{partnerId}/channels/{+channelId}/sites:replace")
 34795  	urls += "?" + c.urlParams_.Encode()
 34796  	req, err := http.NewRequest("POST", urls, body)
 34797  	if err != nil {
 34798  		return nil, err
 34799  	}
 34800  	req.Header = reqHeaders
 34801  	googleapi.Expand(req.URL, map[string]string{
 34802  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34803  		"channelId": strconv.FormatInt(c.channelId, 10),
 34804  	})
 34805  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34806  }
 34807  
 34808  // Do executes the "displayvideo.partners.channels.sites.replace" call.
 34809  // Any non-2xx status code is an error. Response headers are in either
 34810  // *ReplaceSitesResponse.ServerResponse.Header or (if a response was returned
 34811  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 34812  // check whether the returned error was because http.StatusNotModified was
 34813  // returned.
 34814  func (c *PartnersChannelsSitesReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceSitesResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
 34832  	}
 34833  	ret := &ReplaceSitesResponse{
 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  
 34846  type PartnersTargetingTypesAssignedTargetingOptionsCreateCall struct {
 34847  	s                       *Service
 34848  	partnerId               int64
 34849  	targetingType           string
 34850  	assignedtargetingoption *AssignedTargetingOption
 34851  	urlParams_              gensupport.URLParams
 34852  	ctx_                    context.Context
 34853  	header_                 http.Header
 34854  }
 34855  
 34856  // Create: Assigns a targeting option to a partner. Returns the assigned
 34857  // targeting option if successful.
 34858  //
 34859  //   - partnerId: The ID of the partner.
 34860  //   - targetingType: Identifies the type of this assigned targeting option.
 34861  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
 34862  func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Create(partnerId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
 34863  	c := &PartnersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34864  	c.partnerId = partnerId
 34865  	c.targetingType = targetingType
 34866  	c.assignedtargetingoption = assignedtargetingoption
 34867  	return c
 34868  }
 34869  
 34870  // Fields allows partial responses to be retrieved. See
 34871  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34872  // details.
 34873  func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
 34874  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34875  	return c
 34876  }
 34877  
 34878  // Context sets the context to be used in this call's Do method.
 34879  func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
 34880  	c.ctx_ = ctx
 34881  	return c
 34882  }
 34883  
 34884  // Header returns a http.Header that can be modified by the caller to add
 34885  // headers to the request.
 34886  func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
 34887  	if c.header_ == nil {
 34888  		c.header_ = make(http.Header)
 34889  	}
 34890  	return c.header_
 34891  }
 34892  
 34893  func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 34894  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 34895  	var body io.Reader = nil
 34896  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
 34897  	if err != nil {
 34898  		return nil, err
 34899  	}
 34900  	c.urlParams_.Set("alt", alt)
 34901  	c.urlParams_.Set("prettyPrint", "false")
 34902  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 34903  	urls += "?" + c.urlParams_.Encode()
 34904  	req, err := http.NewRequest("POST", urls, body)
 34905  	if err != nil {
 34906  		return nil, err
 34907  	}
 34908  	req.Header = reqHeaders
 34909  	googleapi.Expand(req.URL, map[string]string{
 34910  		"partnerId":     strconv.FormatInt(c.partnerId, 10),
 34911  		"targetingType": c.targetingType,
 34912  	})
 34913  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34914  }
 34915  
 34916  // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.create" call.
 34917  // Any non-2xx status code is an error. Response headers are in either
 34918  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 34919  // returned at all) in error.(*googleapi.Error).Header. Use
 34920  // googleapi.IsNotModified to check whether the returned error was because
 34921  // http.StatusNotModified was returned.
 34922  func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 34923  	gensupport.SetOptions(c.urlParams_, opts...)
 34924  	res, err := c.doRequest("json")
 34925  	if res != nil && res.StatusCode == http.StatusNotModified {
 34926  		if res.Body != nil {
 34927  			res.Body.Close()
 34928  		}
 34929  		return nil, gensupport.WrapError(&googleapi.Error{
 34930  			Code:   res.StatusCode,
 34931  			Header: res.Header,
 34932  		})
 34933  	}
 34934  	if err != nil {
 34935  		return nil, err
 34936  	}
 34937  	defer googleapi.CloseBody(res)
 34938  	if err := googleapi.CheckResponse(res); err != nil {
 34939  		return nil, gensupport.WrapError(err)
 34940  	}
 34941  	ret := &AssignedTargetingOption{
 34942  		ServerResponse: googleapi.ServerResponse{
 34943  			Header:         res.Header,
 34944  			HTTPStatusCode: res.StatusCode,
 34945  		},
 34946  	}
 34947  	target := &ret
 34948  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34949  		return nil, err
 34950  	}
 34951  	return ret, nil
 34952  }
 34953  
 34954  type PartnersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
 34955  	s                         *Service
 34956  	partnerId                 int64
 34957  	targetingType             string
 34958  	assignedTargetingOptionId string
 34959  	urlParams_                gensupport.URLParams
 34960  	ctx_                      context.Context
 34961  	header_                   http.Header
 34962  }
 34963  
 34964  // Delete: Deletes an assigned targeting option from a partner.
 34965  //
 34966  //   - assignedTargetingOptionId: The ID of the assigned targeting option to
 34967  //     delete.
 34968  //   - partnerId: The ID of the partner.
 34969  //   - targetingType: Identifies the type of this assigned targeting option.
 34970  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
 34971  func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Delete(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
 34972  	c := &PartnersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34973  	c.partnerId = partnerId
 34974  	c.targetingType = targetingType
 34975  	c.assignedTargetingOptionId = assignedTargetingOptionId
 34976  	return c
 34977  }
 34978  
 34979  // Fields allows partial responses to be retrieved. See
 34980  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34981  // details.
 34982  func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
 34983  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34984  	return c
 34985  }
 34986  
 34987  // Context sets the context to be used in this call's Do method.
 34988  func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
 34989  	c.ctx_ = ctx
 34990  	return c
 34991  }
 34992  
 34993  // Header returns a http.Header that can be modified by the caller to add
 34994  // headers to the request.
 34995  func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
 34996  	if c.header_ == nil {
 34997  		c.header_ = make(http.Header)
 34998  	}
 34999  	return c.header_
 35000  }
 35001  
 35002  func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 35003  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35004  	var body io.Reader = nil
 35005  	c.urlParams_.Set("alt", alt)
 35006  	c.urlParams_.Set("prettyPrint", "false")
 35007  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 35008  	urls += "?" + c.urlParams_.Encode()
 35009  	req, err := http.NewRequest("DELETE", urls, body)
 35010  	if err != nil {
 35011  		return nil, err
 35012  	}
 35013  	req.Header = reqHeaders
 35014  	googleapi.Expand(req.URL, map[string]string{
 35015  		"partnerId":                 strconv.FormatInt(c.partnerId, 10),
 35016  		"targetingType":             c.targetingType,
 35017  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 35018  	})
 35019  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35020  }
 35021  
 35022  // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete" call.
 35023  // Any non-2xx status code is an error. Response headers are in either
 35024  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 35025  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 35026  // whether the returned error was because http.StatusNotModified was returned.
 35027  func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 35028  	gensupport.SetOptions(c.urlParams_, opts...)
 35029  	res, err := c.doRequest("json")
 35030  	if res != nil && res.StatusCode == http.StatusNotModified {
 35031  		if res.Body != nil {
 35032  			res.Body.Close()
 35033  		}
 35034  		return nil, gensupport.WrapError(&googleapi.Error{
 35035  			Code:   res.StatusCode,
 35036  			Header: res.Header,
 35037  		})
 35038  	}
 35039  	if err != nil {
 35040  		return nil, err
 35041  	}
 35042  	defer googleapi.CloseBody(res)
 35043  	if err := googleapi.CheckResponse(res); err != nil {
 35044  		return nil, gensupport.WrapError(err)
 35045  	}
 35046  	ret := &Empty{
 35047  		ServerResponse: googleapi.ServerResponse{
 35048  			Header:         res.Header,
 35049  			HTTPStatusCode: res.StatusCode,
 35050  		},
 35051  	}
 35052  	target := &ret
 35053  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35054  		return nil, err
 35055  	}
 35056  	return ret, nil
 35057  }
 35058  
 35059  type PartnersTargetingTypesAssignedTargetingOptionsGetCall struct {
 35060  	s                         *Service
 35061  	partnerId                 int64
 35062  	targetingType             string
 35063  	assignedTargetingOptionId string
 35064  	urlParams_                gensupport.URLParams
 35065  	ifNoneMatch_              string
 35066  	ctx_                      context.Context
 35067  	header_                   http.Header
 35068  }
 35069  
 35070  // Get: Gets a single targeting option assigned to a partner.
 35071  //
 35072  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 35073  //     this partner that identifies the assigned targeting option being
 35074  //     requested.
 35075  //   - partnerId: The ID of the partner.
 35076  //   - targetingType: Identifies the type of this assigned targeting option.
 35077  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
 35078  func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Get(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
 35079  	c := &PartnersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35080  	c.partnerId = partnerId
 35081  	c.targetingType = targetingType
 35082  	c.assignedTargetingOptionId = assignedTargetingOptionId
 35083  	return c
 35084  }
 35085  
 35086  // Fields allows partial responses to be retrieved. See
 35087  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35088  // details.
 35089  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
 35090  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35091  	return c
 35092  }
 35093  
 35094  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 35095  // object's ETag matches the given value. This is useful for getting updates
 35096  // only after the object has changed since the last request.
 35097  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
 35098  	c.ifNoneMatch_ = entityTag
 35099  	return c
 35100  }
 35101  
 35102  // Context sets the context to be used in this call's Do method.
 35103  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
 35104  	c.ctx_ = ctx
 35105  	return c
 35106  }
 35107  
 35108  // Header returns a http.Header that can be modified by the caller to add
 35109  // headers to the request.
 35110  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 35111  	if c.header_ == nil {
 35112  		c.header_ = make(http.Header)
 35113  	}
 35114  	return c.header_
 35115  }
 35116  
 35117  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 35118  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35119  	if c.ifNoneMatch_ != "" {
 35120  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35121  	}
 35122  	var body io.Reader = nil
 35123  	c.urlParams_.Set("alt", alt)
 35124  	c.urlParams_.Set("prettyPrint", "false")
 35125  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 35126  	urls += "?" + c.urlParams_.Encode()
 35127  	req, err := http.NewRequest("GET", urls, body)
 35128  	if err != nil {
 35129  		return nil, err
 35130  	}
 35131  	req.Header = reqHeaders
 35132  	googleapi.Expand(req.URL, map[string]string{
 35133  		"partnerId":                 strconv.FormatInt(c.partnerId, 10),
 35134  		"targetingType":             c.targetingType,
 35135  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 35136  	})
 35137  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35138  }
 35139  
 35140  // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.get" call.
 35141  // Any non-2xx status code is an error. Response headers are in either
 35142  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 35143  // returned at all) in error.(*googleapi.Error).Header. Use
 35144  // googleapi.IsNotModified to check whether the returned error was because
 35145  // http.StatusNotModified was returned.
 35146  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 35147  	gensupport.SetOptions(c.urlParams_, opts...)
 35148  	res, err := c.doRequest("json")
 35149  	if res != nil && res.StatusCode == http.StatusNotModified {
 35150  		if res.Body != nil {
 35151  			res.Body.Close()
 35152  		}
 35153  		return nil, gensupport.WrapError(&googleapi.Error{
 35154  			Code:   res.StatusCode,
 35155  			Header: res.Header,
 35156  		})
 35157  	}
 35158  	if err != nil {
 35159  		return nil, err
 35160  	}
 35161  	defer googleapi.CloseBody(res)
 35162  	if err := googleapi.CheckResponse(res); err != nil {
 35163  		return nil, gensupport.WrapError(err)
 35164  	}
 35165  	ret := &AssignedTargetingOption{
 35166  		ServerResponse: googleapi.ServerResponse{
 35167  			Header:         res.Header,
 35168  			HTTPStatusCode: res.StatusCode,
 35169  		},
 35170  	}
 35171  	target := &ret
 35172  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35173  		return nil, err
 35174  	}
 35175  	return ret, nil
 35176  }
 35177  
 35178  type PartnersTargetingTypesAssignedTargetingOptionsListCall struct {
 35179  	s             *Service
 35180  	partnerId     int64
 35181  	targetingType string
 35182  	urlParams_    gensupport.URLParams
 35183  	ifNoneMatch_  string
 35184  	ctx_          context.Context
 35185  	header_       http.Header
 35186  }
 35187  
 35188  // List: Lists the targeting options assigned to a partner.
 35189  //
 35190  //   - partnerId: The ID of the partner.
 35191  //   - targetingType: Identifies the type of assigned targeting options to list.
 35192  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
 35193  func (r *PartnersTargetingTypesAssignedTargetingOptionsService) List(partnerId int64, targetingType string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35194  	c := &PartnersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35195  	c.partnerId = partnerId
 35196  	c.targetingType = targetingType
 35197  	return c
 35198  }
 35199  
 35200  // Filter sets the optional parameter "filter": Allows filtering by assigned
 35201  // targeting option fields. Supported syntax: * Filter expressions are made up
 35202  // of one or more restrictions. * Restrictions can be combined by the logical
 35203  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 35204  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 35205  // `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resource
 35206  // with ID 123456: `assignedTargetingOptionId="123456" The length of this
 35207  // field should be no more than 500 characters. Reference our filter `LIST`
 35208  // requests (/display-video/api/guides/how-tos/filters) guide for more
 35209  // information.
 35210  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35211  	c.urlParams_.Set("filter", filter)
 35212  	return c
 35213  }
 35214  
 35215  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 35216  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 35217  // default sorting order is ascending. To specify descending order for a field,
 35218  // a suffix "desc" should be added to the field name. Example:
 35219  // `assignedTargetingOptionId desc`.
 35220  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35221  	c.urlParams_.Set("orderBy", orderBy)
 35222  	return c
 35223  }
 35224  
 35225  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 35226  // be between `1` and `200`. If unspecified will default to `100`. Returns
 35227  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 35228  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35229  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 35230  	return c
 35231  }
 35232  
 35233  // PageToken sets the optional parameter "pageToken": A token identifying a
 35234  // page of results the server should return. Typically, this is the value of
 35235  // next_page_token returned from the previous call to
 35236  // `ListPartnerAssignedTargetingOptions` method. If not specified, the first
 35237  // page of results will be returned.
 35238  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35239  	c.urlParams_.Set("pageToken", pageToken)
 35240  	return c
 35241  }
 35242  
 35243  // Fields allows partial responses to be retrieved. See
 35244  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35245  // details.
 35246  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35247  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35248  	return c
 35249  }
 35250  
 35251  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 35252  // object's ETag matches the given value. This is useful for getting updates
 35253  // only after the object has changed since the last request.
 35254  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35255  	c.ifNoneMatch_ = entityTag
 35256  	return c
 35257  }
 35258  
 35259  // Context sets the context to be used in this call's Do method.
 35260  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35261  	c.ctx_ = ctx
 35262  	return c
 35263  }
 35264  
 35265  // Header returns a http.Header that can be modified by the caller to add
 35266  // headers to the request.
 35267  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 35268  	if c.header_ == nil {
 35269  		c.header_ = make(http.Header)
 35270  	}
 35271  	return c.header_
 35272  }
 35273  
 35274  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 35275  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35276  	if c.ifNoneMatch_ != "" {
 35277  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35278  	}
 35279  	var body io.Reader = nil
 35280  	c.urlParams_.Set("alt", alt)
 35281  	c.urlParams_.Set("prettyPrint", "false")
 35282  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 35283  	urls += "?" + c.urlParams_.Encode()
 35284  	req, err := http.NewRequest("GET", urls, body)
 35285  	if err != nil {
 35286  		return nil, err
 35287  	}
 35288  	req.Header = reqHeaders
 35289  	googleapi.Expand(req.URL, map[string]string{
 35290  		"partnerId":     strconv.FormatInt(c.partnerId, 10),
 35291  		"targetingType": c.targetingType,
 35292  	})
 35293  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35294  }
 35295  
 35296  // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.list" call.
 35297  // Any non-2xx status code is an error. Response headers are in either
 35298  // *ListPartnerAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 35299  // response was returned at all) in error.(*googleapi.Error).Header. Use
 35300  // googleapi.IsNotModified to check whether the returned error was because
 35301  // http.StatusNotModified was returned.
 35302  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListPartnerAssignedTargetingOptionsResponse, error) {
 35303  	gensupport.SetOptions(c.urlParams_, opts...)
 35304  	res, err := c.doRequest("json")
 35305  	if res != nil && res.StatusCode == http.StatusNotModified {
 35306  		if res.Body != nil {
 35307  			res.Body.Close()
 35308  		}
 35309  		return nil, gensupport.WrapError(&googleapi.Error{
 35310  			Code:   res.StatusCode,
 35311  			Header: res.Header,
 35312  		})
 35313  	}
 35314  	if err != nil {
 35315  		return nil, err
 35316  	}
 35317  	defer googleapi.CloseBody(res)
 35318  	if err := googleapi.CheckResponse(res); err != nil {
 35319  		return nil, gensupport.WrapError(err)
 35320  	}
 35321  	ret := &ListPartnerAssignedTargetingOptionsResponse{
 35322  		ServerResponse: googleapi.ServerResponse{
 35323  			Header:         res.Header,
 35324  			HTTPStatusCode: res.StatusCode,
 35325  		},
 35326  	}
 35327  	target := &ret
 35328  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35329  		return nil, err
 35330  	}
 35331  	return ret, nil
 35332  }
 35333  
 35334  // Pages invokes f for each page of results.
 35335  // A non-nil error returned from f will halt the iteration.
 35336  // The provided context supersedes any context provided to the Context method.
 35337  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListPartnerAssignedTargetingOptionsResponse) error) error {
 35338  	c.ctx_ = ctx
 35339  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 35340  	for {
 35341  		x, err := c.Do()
 35342  		if err != nil {
 35343  			return err
 35344  		}
 35345  		if err := f(x); err != nil {
 35346  			return err
 35347  		}
 35348  		if x.NextPageToken == "" {
 35349  			return nil
 35350  		}
 35351  		c.PageToken(x.NextPageToken)
 35352  	}
 35353  }
 35354  
 35355  type SdfdownloadtasksCreateCall struct {
 35356  	s                            *Service
 35357  	createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest
 35358  	urlParams_                   gensupport.URLParams
 35359  	ctx_                         context.Context
 35360  	header_                      http.Header
 35361  }
 35362  
 35363  // Create: Creates an SDF Download Task. Returns an Operation. An SDF Download
 35364  // Task is a long-running, asynchronous operation. The metadata type of this
 35365  // operation is SdfDownloadTaskMetadata. If the request is successful, the
 35366  // response type of the operation is SdfDownloadTask. The response will not
 35367  // include the download files, which must be retrieved with media.download. The
 35368  // state of operation can be retrieved with sdfdownloadtask.operations.get. Any
 35369  // errors can be found in the error.message. Note that error.details is
 35370  // expected to be empty.
 35371  func (r *SdfdownloadtasksService) Create(createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest) *SdfdownloadtasksCreateCall {
 35372  	c := &SdfdownloadtasksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35373  	c.createsdfdownloadtaskrequest = createsdfdownloadtaskrequest
 35374  	return c
 35375  }
 35376  
 35377  // Fields allows partial responses to be retrieved. See
 35378  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35379  // details.
 35380  func (c *SdfdownloadtasksCreateCall) Fields(s ...googleapi.Field) *SdfdownloadtasksCreateCall {
 35381  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35382  	return c
 35383  }
 35384  
 35385  // Context sets the context to be used in this call's Do method.
 35386  func (c *SdfdownloadtasksCreateCall) Context(ctx context.Context) *SdfdownloadtasksCreateCall {
 35387  	c.ctx_ = ctx
 35388  	return c
 35389  }
 35390  
 35391  // Header returns a http.Header that can be modified by the caller to add
 35392  // headers to the request.
 35393  func (c *SdfdownloadtasksCreateCall) Header() http.Header {
 35394  	if c.header_ == nil {
 35395  		c.header_ = make(http.Header)
 35396  	}
 35397  	return c.header_
 35398  }
 35399  
 35400  func (c *SdfdownloadtasksCreateCall) doRequest(alt string) (*http.Response, error) {
 35401  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 35402  	var body io.Reader = nil
 35403  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createsdfdownloadtaskrequest)
 35404  	if err != nil {
 35405  		return nil, err
 35406  	}
 35407  	c.urlParams_.Set("alt", alt)
 35408  	c.urlParams_.Set("prettyPrint", "false")
 35409  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/sdfdownloadtasks")
 35410  	urls += "?" + c.urlParams_.Encode()
 35411  	req, err := http.NewRequest("POST", urls, body)
 35412  	if err != nil {
 35413  		return nil, err
 35414  	}
 35415  	req.Header = reqHeaders
 35416  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35417  }
 35418  
 35419  // Do executes the "displayvideo.sdfdownloadtasks.create" call.
 35420  // Any non-2xx status code is an error. Response headers are in either
 35421  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 35422  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 35423  // whether the returned error was because http.StatusNotModified was returned.
 35424  func (c *SdfdownloadtasksCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 35425  	gensupport.SetOptions(c.urlParams_, opts...)
 35426  	res, err := c.doRequest("json")
 35427  	if res != nil && res.StatusCode == http.StatusNotModified {
 35428  		if res.Body != nil {
 35429  			res.Body.Close()
 35430  		}
 35431  		return nil, gensupport.WrapError(&googleapi.Error{
 35432  			Code:   res.StatusCode,
 35433  			Header: res.Header,
 35434  		})
 35435  	}
 35436  	if err != nil {
 35437  		return nil, err
 35438  	}
 35439  	defer googleapi.CloseBody(res)
 35440  	if err := googleapi.CheckResponse(res); err != nil {
 35441  		return nil, gensupport.WrapError(err)
 35442  	}
 35443  	ret := &Operation{
 35444  		ServerResponse: googleapi.ServerResponse{
 35445  			Header:         res.Header,
 35446  			HTTPStatusCode: res.StatusCode,
 35447  		},
 35448  	}
 35449  	target := &ret
 35450  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35451  		return nil, err
 35452  	}
 35453  	return ret, nil
 35454  }
 35455  
 35456  type SdfdownloadtasksOperationsGetCall struct {
 35457  	s            *Service
 35458  	name         string
 35459  	urlParams_   gensupport.URLParams
 35460  	ifNoneMatch_ string
 35461  	ctx_         context.Context
 35462  	header_      http.Header
 35463  }
 35464  
 35465  // Get: Gets the latest state of an asynchronous SDF download task operation.
 35466  // Clients should poll this method at intervals of 30 seconds.
 35467  //
 35468  // - name: The name of the operation resource.
 35469  func (r *SdfdownloadtasksOperationsService) Get(name string) *SdfdownloadtasksOperationsGetCall {
 35470  	c := &SdfdownloadtasksOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35471  	c.name = name
 35472  	return c
 35473  }
 35474  
 35475  // Fields allows partial responses to be retrieved. See
 35476  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35477  // details.
 35478  func (c *SdfdownloadtasksOperationsGetCall) Fields(s ...googleapi.Field) *SdfdownloadtasksOperationsGetCall {
 35479  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35480  	return c
 35481  }
 35482  
 35483  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 35484  // object's ETag matches the given value. This is useful for getting updates
 35485  // only after the object has changed since the last request.
 35486  func (c *SdfdownloadtasksOperationsGetCall) IfNoneMatch(entityTag string) *SdfdownloadtasksOperationsGetCall {
 35487  	c.ifNoneMatch_ = entityTag
 35488  	return c
 35489  }
 35490  
 35491  // Context sets the context to be used in this call's Do method.
 35492  func (c *SdfdownloadtasksOperationsGetCall) Context(ctx context.Context) *SdfdownloadtasksOperationsGetCall {
 35493  	c.ctx_ = ctx
 35494  	return c
 35495  }
 35496  
 35497  // Header returns a http.Header that can be modified by the caller to add
 35498  // headers to the request.
 35499  func (c *SdfdownloadtasksOperationsGetCall) Header() http.Header {
 35500  	if c.header_ == nil {
 35501  		c.header_ = make(http.Header)
 35502  	}
 35503  	return c.header_
 35504  }
 35505  
 35506  func (c *SdfdownloadtasksOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 35507  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35508  	if c.ifNoneMatch_ != "" {
 35509  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35510  	}
 35511  	var body io.Reader = nil
 35512  	c.urlParams_.Set("alt", alt)
 35513  	c.urlParams_.Set("prettyPrint", "false")
 35514  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}")
 35515  	urls += "?" + c.urlParams_.Encode()
 35516  	req, err := http.NewRequest("GET", urls, body)
 35517  	if err != nil {
 35518  		return nil, err
 35519  	}
 35520  	req.Header = reqHeaders
 35521  	googleapi.Expand(req.URL, map[string]string{
 35522  		"name": c.name,
 35523  	})
 35524  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35525  }
 35526  
 35527  // Do executes the "displayvideo.sdfdownloadtasks.operations.get" call.
 35528  // Any non-2xx status code is an error. Response headers are in either
 35529  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 35530  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 35531  // whether the returned error was because http.StatusNotModified was returned.
 35532  func (c *SdfdownloadtasksOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 35533  	gensupport.SetOptions(c.urlParams_, opts...)
 35534  	res, err := c.doRequest("json")
 35535  	if res != nil && res.StatusCode == http.StatusNotModified {
 35536  		if res.Body != nil {
 35537  			res.Body.Close()
 35538  		}
 35539  		return nil, gensupport.WrapError(&googleapi.Error{
 35540  			Code:   res.StatusCode,
 35541  			Header: res.Header,
 35542  		})
 35543  	}
 35544  	if err != nil {
 35545  		return nil, err
 35546  	}
 35547  	defer googleapi.CloseBody(res)
 35548  	if err := googleapi.CheckResponse(res); err != nil {
 35549  		return nil, gensupport.WrapError(err)
 35550  	}
 35551  	ret := &Operation{
 35552  		ServerResponse: googleapi.ServerResponse{
 35553  			Header:         res.Header,
 35554  			HTTPStatusCode: res.StatusCode,
 35555  		},
 35556  	}
 35557  	target := &ret
 35558  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35559  		return nil, err
 35560  	}
 35561  	return ret, nil
 35562  }
 35563  
 35564  type TargetingTypesTargetingOptionsGetCall struct {
 35565  	s                 *Service
 35566  	targetingType     string
 35567  	targetingOptionId string
 35568  	urlParams_        gensupport.URLParams
 35569  	ifNoneMatch_      string
 35570  	ctx_              context.Context
 35571  	header_           http.Header
 35572  }
 35573  
 35574  // Get: Gets a single targeting option.
 35575  //
 35576  //   - targetingOptionId: The ID of the of targeting option to retrieve.
 35577  //   - targetingType: The type of targeting option to retrieve. Accepted values
 35578  //     are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` *
 35579  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` *
 35580  //     `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS`
 35581  //   - `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 35582  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE`
 35583  //   - `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` *
 35584  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 35585  //     `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 35586  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` *
 35587  //     `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
 35588  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` *
 35589  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 35590  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE`
 35591  //   - `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION`
 35592  //   - `TARGETING_TYPE_OMID`.
 35593  func (r *TargetingTypesTargetingOptionsService) Get(targetingType string, targetingOptionId string) *TargetingTypesTargetingOptionsGetCall {
 35594  	c := &TargetingTypesTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35595  	c.targetingType = targetingType
 35596  	c.targetingOptionId = targetingOptionId
 35597  	return c
 35598  }
 35599  
 35600  // AdvertiserId sets the optional parameter "advertiserId": Required. The
 35601  // Advertiser this request is being made in the context of.
 35602  func (c *TargetingTypesTargetingOptionsGetCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsGetCall {
 35603  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 35604  	return c
 35605  }
 35606  
 35607  // Fields allows partial responses to be retrieved. See
 35608  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35609  // details.
 35610  func (c *TargetingTypesTargetingOptionsGetCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsGetCall {
 35611  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35612  	return c
 35613  }
 35614  
 35615  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 35616  // object's ETag matches the given value. This is useful for getting updates
 35617  // only after the object has changed since the last request.
 35618  func (c *TargetingTypesTargetingOptionsGetCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsGetCall {
 35619  	c.ifNoneMatch_ = entityTag
 35620  	return c
 35621  }
 35622  
 35623  // Context sets the context to be used in this call's Do method.
 35624  func (c *TargetingTypesTargetingOptionsGetCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsGetCall {
 35625  	c.ctx_ = ctx
 35626  	return c
 35627  }
 35628  
 35629  // Header returns a http.Header that can be modified by the caller to add
 35630  // headers to the request.
 35631  func (c *TargetingTypesTargetingOptionsGetCall) Header() http.Header {
 35632  	if c.header_ == nil {
 35633  		c.header_ = make(http.Header)
 35634  	}
 35635  	return c.header_
 35636  }
 35637  
 35638  func (c *TargetingTypesTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 35639  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35640  	if c.ifNoneMatch_ != "" {
 35641  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35642  	}
 35643  	var body io.Reader = nil
 35644  	c.urlParams_.Set("alt", alt)
 35645  	c.urlParams_.Set("prettyPrint", "false")
 35646  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}")
 35647  	urls += "?" + c.urlParams_.Encode()
 35648  	req, err := http.NewRequest("GET", urls, body)
 35649  	if err != nil {
 35650  		return nil, err
 35651  	}
 35652  	req.Header = reqHeaders
 35653  	googleapi.Expand(req.URL, map[string]string{
 35654  		"targetingType":     c.targetingType,
 35655  		"targetingOptionId": c.targetingOptionId,
 35656  	})
 35657  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35658  }
 35659  
 35660  // Do executes the "displayvideo.targetingTypes.targetingOptions.get" call.
 35661  // Any non-2xx status code is an error. Response headers are in either
 35662  // *TargetingOption.ServerResponse.Header or (if a response was returned at
 35663  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 35664  // check whether the returned error was because http.StatusNotModified was
 35665  // returned.
 35666  func (c *TargetingTypesTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*TargetingOption, error) {
 35667  	gensupport.SetOptions(c.urlParams_, opts...)
 35668  	res, err := c.doRequest("json")
 35669  	if res != nil && res.StatusCode == http.StatusNotModified {
 35670  		if res.Body != nil {
 35671  			res.Body.Close()
 35672  		}
 35673  		return nil, gensupport.WrapError(&googleapi.Error{
 35674  			Code:   res.StatusCode,
 35675  			Header: res.Header,
 35676  		})
 35677  	}
 35678  	if err != nil {
 35679  		return nil, err
 35680  	}
 35681  	defer googleapi.CloseBody(res)
 35682  	if err := googleapi.CheckResponse(res); err != nil {
 35683  		return nil, gensupport.WrapError(err)
 35684  	}
 35685  	ret := &TargetingOption{
 35686  		ServerResponse: googleapi.ServerResponse{
 35687  			Header:         res.Header,
 35688  			HTTPStatusCode: res.StatusCode,
 35689  		},
 35690  	}
 35691  	target := &ret
 35692  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35693  		return nil, err
 35694  	}
 35695  	return ret, nil
 35696  }
 35697  
 35698  type TargetingTypesTargetingOptionsListCall struct {
 35699  	s             *Service
 35700  	targetingType string
 35701  	urlParams_    gensupport.URLParams
 35702  	ifNoneMatch_  string
 35703  	ctx_          context.Context
 35704  	header_       http.Header
 35705  }
 35706  
 35707  // List: Lists targeting options of a given type.
 35708  //
 35709  //   - targetingType: The type of targeting option to be listed. Accepted values
 35710  //     are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` *
 35711  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` *
 35712  //     `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS`
 35713  //   - `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 35714  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE`
 35715  //   - `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` *
 35716  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 35717  //     `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 35718  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` *
 35719  //     `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
 35720  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` *
 35721  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 35722  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE`
 35723  //   - `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION`
 35724  //   - `TARGETING_TYPE_OMID`.
 35725  func (r *TargetingTypesTargetingOptionsService) List(targetingType string) *TargetingTypesTargetingOptionsListCall {
 35726  	c := &TargetingTypesTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35727  	c.targetingType = targetingType
 35728  	return c
 35729  }
 35730  
 35731  // AdvertiserId sets the optional parameter "advertiserId": Required. The
 35732  // Advertiser this request is being made in the context of.
 35733  func (c *TargetingTypesTargetingOptionsListCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsListCall {
 35734  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 35735  	return c
 35736  }
 35737  
 35738  // Filter sets the optional parameter "filter": Allows filtering by targeting
 35739  // option fields. Supported syntax: * Filter expressions are made up of one or
 35740  // more restrictions. * Restrictions can be combined by `OR` logical operators.
 35741  // * A restriction has the form of `{field} {operator} {value}`. * All fields
 35742  // must use the `EQUALS (=)` operator. Supported fields: *
 35743  // `carrierAndIspDetails.type` * `geoRegionDetails.geoRegionType` *
 35744  // `targetingOptionId` Examples: * All `GEO REGION` targeting options that
 35745  // belong to sub type `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`:
 35746  // `geoRegionDetails.geoRegionType="GEO_REGION_TYPE_COUNTRY" OR
 35747  // geoRegionDetails.geoRegionType="GEO_REGION_TYPE_STATE" * All `CARRIER AND
 35748  // ISP` targeting options that belong to sub type
 35749  // `CARRIER_AND_ISP_TYPE_CARRIER`:
 35750  // `carrierAndIspDetails.type="CARRIER_AND_ISP_TYPE_CARRIER" The length of
 35751  // this field should be no more than 500 characters. Reference our filter
 35752  // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more
 35753  // information.
 35754  func (c *TargetingTypesTargetingOptionsListCall) Filter(filter string) *TargetingTypesTargetingOptionsListCall {
 35755  	c.urlParams_.Set("filter", filter)
 35756  	return c
 35757  }
 35758  
 35759  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 35760  // list. Acceptable values are: * `targetingOptionId` (default) The default
 35761  // sorting order is ascending. To specify descending order for a field, a
 35762  // suffix "desc" should be added to the field name. Example: `targetingOptionId
 35763  // desc`.
 35764  func (c *TargetingTypesTargetingOptionsListCall) OrderBy(orderBy string) *TargetingTypesTargetingOptionsListCall {
 35765  	c.urlParams_.Set("orderBy", orderBy)
 35766  	return c
 35767  }
 35768  
 35769  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 35770  // be between `1` and `200`. If unspecified will default to `100`. Returns
 35771  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 35772  func (c *TargetingTypesTargetingOptionsListCall) PageSize(pageSize int64) *TargetingTypesTargetingOptionsListCall {
 35773  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 35774  	return c
 35775  }
 35776  
 35777  // PageToken sets the optional parameter "pageToken": A token identifying a
 35778  // page of results the server should return. Typically, this is the value of
 35779  // next_page_token returned from the previous call to `ListTargetingOptions`
 35780  // method. If not specified, the first page of results will be returned.
 35781  func (c *TargetingTypesTargetingOptionsListCall) PageToken(pageToken string) *TargetingTypesTargetingOptionsListCall {
 35782  	c.urlParams_.Set("pageToken", pageToken)
 35783  	return c
 35784  }
 35785  
 35786  // Fields allows partial responses to be retrieved. See
 35787  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35788  // details.
 35789  func (c *TargetingTypesTargetingOptionsListCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsListCall {
 35790  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35791  	return c
 35792  }
 35793  
 35794  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 35795  // object's ETag matches the given value. This is useful for getting updates
 35796  // only after the object has changed since the last request.
 35797  func (c *TargetingTypesTargetingOptionsListCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsListCall {
 35798  	c.ifNoneMatch_ = entityTag
 35799  	return c
 35800  }
 35801  
 35802  // Context sets the context to be used in this call's Do method.
 35803  func (c *TargetingTypesTargetingOptionsListCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsListCall {
 35804  	c.ctx_ = ctx
 35805  	return c
 35806  }
 35807  
 35808  // Header returns a http.Header that can be modified by the caller to add
 35809  // headers to the request.
 35810  func (c *TargetingTypesTargetingOptionsListCall) Header() http.Header {
 35811  	if c.header_ == nil {
 35812  		c.header_ = make(http.Header)
 35813  	}
 35814  	return c.header_
 35815  }
 35816  
 35817  func (c *TargetingTypesTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 35818  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35819  	if c.ifNoneMatch_ != "" {
 35820  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35821  	}
 35822  	var body io.Reader = nil
 35823  	c.urlParams_.Set("alt", alt)
 35824  	c.urlParams_.Set("prettyPrint", "false")
 35825  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/targetingTypes/{+targetingType}/targetingOptions")
 35826  	urls += "?" + c.urlParams_.Encode()
 35827  	req, err := http.NewRequest("GET", urls, body)
 35828  	if err != nil {
 35829  		return nil, err
 35830  	}
 35831  	req.Header = reqHeaders
 35832  	googleapi.Expand(req.URL, map[string]string{
 35833  		"targetingType": c.targetingType,
 35834  	})
 35835  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35836  }
 35837  
 35838  // Do executes the "displayvideo.targetingTypes.targetingOptions.list" call.
 35839  // Any non-2xx status code is an error. Response headers are in either
 35840  // *ListTargetingOptionsResponse.ServerResponse.Header or (if a response was
 35841  // returned at all) in error.(*googleapi.Error).Header. Use
 35842  // googleapi.IsNotModified to check whether the returned error was because
 35843  // http.StatusNotModified was returned.
 35844  func (c *TargetingTypesTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListTargetingOptionsResponse, error) {
 35845  	gensupport.SetOptions(c.urlParams_, opts...)
 35846  	res, err := c.doRequest("json")
 35847  	if res != nil && res.StatusCode == http.StatusNotModified {
 35848  		if res.Body != nil {
 35849  			res.Body.Close()
 35850  		}
 35851  		return nil, gensupport.WrapError(&googleapi.Error{
 35852  			Code:   res.StatusCode,
 35853  			Header: res.Header,
 35854  		})
 35855  	}
 35856  	if err != nil {
 35857  		return nil, err
 35858  	}
 35859  	defer googleapi.CloseBody(res)
 35860  	if err := googleapi.CheckResponse(res); err != nil {
 35861  		return nil, gensupport.WrapError(err)
 35862  	}
 35863  	ret := &ListTargetingOptionsResponse{
 35864  		ServerResponse: googleapi.ServerResponse{
 35865  			Header:         res.Header,
 35866  			HTTPStatusCode: res.StatusCode,
 35867  		},
 35868  	}
 35869  	target := &ret
 35870  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35871  		return nil, err
 35872  	}
 35873  	return ret, nil
 35874  }
 35875  
 35876  // Pages invokes f for each page of results.
 35877  // A non-nil error returned from f will halt the iteration.
 35878  // The provided context supersedes any context provided to the Context method.
 35879  func (c *TargetingTypesTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListTargetingOptionsResponse) error) error {
 35880  	c.ctx_ = ctx
 35881  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 35882  	for {
 35883  		x, err := c.Do()
 35884  		if err != nil {
 35885  			return err
 35886  		}
 35887  		if err := f(x); err != nil {
 35888  			return err
 35889  		}
 35890  		if x.NextPageToken == "" {
 35891  			return nil
 35892  		}
 35893  		c.PageToken(x.NextPageToken)
 35894  	}
 35895  }
 35896  
 35897  type TargetingTypesTargetingOptionsSearchCall struct {
 35898  	s                             *Service
 35899  	targetingType                 string
 35900  	searchtargetingoptionsrequest *SearchTargetingOptionsRequest
 35901  	urlParams_                    gensupport.URLParams
 35902  	ctx_                          context.Context
 35903  	header_                       http.Header
 35904  }
 35905  
 35906  // Search: Searches for targeting options of a given type based on the given
 35907  // search terms.
 35908  //
 35909  //   - targetingType: The type of targeting options to retrieve. Accepted values
 35910  //     are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` *
 35911  //     `TARGETING_TYPE_BUSINESS_CHAIN`.
 35912  func (r *TargetingTypesTargetingOptionsService) Search(targetingType string, searchtargetingoptionsrequest *SearchTargetingOptionsRequest) *TargetingTypesTargetingOptionsSearchCall {
 35913  	c := &TargetingTypesTargetingOptionsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35914  	c.targetingType = targetingType
 35915  	c.searchtargetingoptionsrequest = searchtargetingoptionsrequest
 35916  	return c
 35917  }
 35918  
 35919  // Fields allows partial responses to be retrieved. See
 35920  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35921  // details.
 35922  func (c *TargetingTypesTargetingOptionsSearchCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsSearchCall {
 35923  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35924  	return c
 35925  }
 35926  
 35927  // Context sets the context to be used in this call's Do method.
 35928  func (c *TargetingTypesTargetingOptionsSearchCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsSearchCall {
 35929  	c.ctx_ = ctx
 35930  	return c
 35931  }
 35932  
 35933  // Header returns a http.Header that can be modified by the caller to add
 35934  // headers to the request.
 35935  func (c *TargetingTypesTargetingOptionsSearchCall) Header() http.Header {
 35936  	if c.header_ == nil {
 35937  		c.header_ = make(http.Header)
 35938  	}
 35939  	return c.header_
 35940  }
 35941  
 35942  func (c *TargetingTypesTargetingOptionsSearchCall) doRequest(alt string) (*http.Response, error) {
 35943  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 35944  	var body io.Reader = nil
 35945  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchtargetingoptionsrequest)
 35946  	if err != nil {
 35947  		return nil, err
 35948  	}
 35949  	c.urlParams_.Set("alt", alt)
 35950  	c.urlParams_.Set("prettyPrint", "false")
 35951  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/targetingTypes/{+targetingType}/targetingOptions:search")
 35952  	urls += "?" + c.urlParams_.Encode()
 35953  	req, err := http.NewRequest("POST", urls, body)
 35954  	if err != nil {
 35955  		return nil, err
 35956  	}
 35957  	req.Header = reqHeaders
 35958  	googleapi.Expand(req.URL, map[string]string{
 35959  		"targetingType": c.targetingType,
 35960  	})
 35961  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35962  }
 35963  
 35964  // Do executes the "displayvideo.targetingTypes.targetingOptions.search" call.
 35965  // Any non-2xx status code is an error. Response headers are in either
 35966  // *SearchTargetingOptionsResponse.ServerResponse.Header or (if a response was
 35967  // returned at all) in error.(*googleapi.Error).Header. Use
 35968  // googleapi.IsNotModified to check whether the returned error was because
 35969  // http.StatusNotModified was returned.
 35970  func (c *TargetingTypesTargetingOptionsSearchCall) Do(opts ...googleapi.CallOption) (*SearchTargetingOptionsResponse, error) {
 35971  	gensupport.SetOptions(c.urlParams_, opts...)
 35972  	res, err := c.doRequest("json")
 35973  	if res != nil && res.StatusCode == http.StatusNotModified {
 35974  		if res.Body != nil {
 35975  			res.Body.Close()
 35976  		}
 35977  		return nil, gensupport.WrapError(&googleapi.Error{
 35978  			Code:   res.StatusCode,
 35979  			Header: res.Header,
 35980  		})
 35981  	}
 35982  	if err != nil {
 35983  		return nil, err
 35984  	}
 35985  	defer googleapi.CloseBody(res)
 35986  	if err := googleapi.CheckResponse(res); err != nil {
 35987  		return nil, gensupport.WrapError(err)
 35988  	}
 35989  	ret := &SearchTargetingOptionsResponse{
 35990  		ServerResponse: googleapi.ServerResponse{
 35991  			Header:         res.Header,
 35992  			HTTPStatusCode: res.StatusCode,
 35993  		},
 35994  	}
 35995  	target := &ret
 35996  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35997  		return nil, err
 35998  	}
 35999  	return ret, nil
 36000  }
 36001  
 36002  // Pages invokes f for each page of results.
 36003  // A non-nil error returned from f will halt the iteration.
 36004  // The provided context supersedes any context provided to the Context method.
 36005  func (c *TargetingTypesTargetingOptionsSearchCall) Pages(ctx context.Context, f func(*SearchTargetingOptionsResponse) error) error {
 36006  	c.ctx_ = ctx
 36007  	defer func(pt string) { c.searchtargetingoptionsrequest.PageToken = pt }(c.searchtargetingoptionsrequest.PageToken)
 36008  	for {
 36009  		x, err := c.Do()
 36010  		if err != nil {
 36011  			return err
 36012  		}
 36013  		if err := f(x); err != nil {
 36014  			return err
 36015  		}
 36016  		if x.NextPageToken == "" {
 36017  			return nil
 36018  		}
 36019  		c.searchtargetingoptionsrequest.PageToken = x.NextPageToken
 36020  	}
 36021  }
 36022  
 36023  type UsersBulkEditAssignedUserRolesCall struct {
 36024  	s                                *Service
 36025  	userId                           int64
 36026  	bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest
 36027  	urlParams_                       gensupport.URLParams
 36028  	ctx_                             context.Context
 36029  	header_                          http.Header
 36030  }
 36031  
 36032  // BulkEditAssignedUserRoles: Bulk edits user roles for a user. The operation
 36033  // will delete the assigned user roles provided in
 36034  // BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then assign
 36035  // the user roles provided in
 36036  // BulkEditAssignedUserRolesRequest.createdAssignedUserRoles. This method has
 36037  // unique authentication requirements. Read the prerequisites in our Managing
 36038  // Users guide (/display-video/api/guides/users/overview#prerequisites) before
 36039  // using this method. The "Try this method" feature does not work for this
 36040  // method.
 36041  //
 36042  // - userId: The ID of the user to which the assigned user roles belong.
 36043  func (r *UsersService) BulkEditAssignedUserRoles(userId int64, bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest) *UsersBulkEditAssignedUserRolesCall {
 36044  	c := &UsersBulkEditAssignedUserRolesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36045  	c.userId = userId
 36046  	c.bulkeditassigneduserrolesrequest = bulkeditassigneduserrolesrequest
 36047  	return c
 36048  }
 36049  
 36050  // Fields allows partial responses to be retrieved. See
 36051  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36052  // details.
 36053  func (c *UsersBulkEditAssignedUserRolesCall) Fields(s ...googleapi.Field) *UsersBulkEditAssignedUserRolesCall {
 36054  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36055  	return c
 36056  }
 36057  
 36058  // Context sets the context to be used in this call's Do method.
 36059  func (c *UsersBulkEditAssignedUserRolesCall) Context(ctx context.Context) *UsersBulkEditAssignedUserRolesCall {
 36060  	c.ctx_ = ctx
 36061  	return c
 36062  }
 36063  
 36064  // Header returns a http.Header that can be modified by the caller to add
 36065  // headers to the request.
 36066  func (c *UsersBulkEditAssignedUserRolesCall) Header() http.Header {
 36067  	if c.header_ == nil {
 36068  		c.header_ = make(http.Header)
 36069  	}
 36070  	return c.header_
 36071  }
 36072  
 36073  func (c *UsersBulkEditAssignedUserRolesCall) doRequest(alt string) (*http.Response, error) {
 36074  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 36075  	var body io.Reader = nil
 36076  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassigneduserrolesrequest)
 36077  	if err != nil {
 36078  		return nil, err
 36079  	}
 36080  	c.urlParams_.Set("alt", alt)
 36081  	c.urlParams_.Set("prettyPrint", "false")
 36082  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users/{+userId}:bulkEditAssignedUserRoles")
 36083  	urls += "?" + c.urlParams_.Encode()
 36084  	req, err := http.NewRequest("POST", urls, body)
 36085  	if err != nil {
 36086  		return nil, err
 36087  	}
 36088  	req.Header = reqHeaders
 36089  	googleapi.Expand(req.URL, map[string]string{
 36090  		"userId": strconv.FormatInt(c.userId, 10),
 36091  	})
 36092  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36093  }
 36094  
 36095  // Do executes the "displayvideo.users.bulkEditAssignedUserRoles" call.
 36096  // Any non-2xx status code is an error. Response headers are in either
 36097  // *BulkEditAssignedUserRolesResponse.ServerResponse.Header or (if a response
 36098  // was returned at all) in error.(*googleapi.Error).Header. Use
 36099  // googleapi.IsNotModified to check whether the returned error was because
 36100  // http.StatusNotModified was returned.
 36101  func (c *UsersBulkEditAssignedUserRolesCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedUserRolesResponse, error) {
 36102  	gensupport.SetOptions(c.urlParams_, opts...)
 36103  	res, err := c.doRequest("json")
 36104  	if res != nil && res.StatusCode == http.StatusNotModified {
 36105  		if res.Body != nil {
 36106  			res.Body.Close()
 36107  		}
 36108  		return nil, gensupport.WrapError(&googleapi.Error{
 36109  			Code:   res.StatusCode,
 36110  			Header: res.Header,
 36111  		})
 36112  	}
 36113  	if err != nil {
 36114  		return nil, err
 36115  	}
 36116  	defer googleapi.CloseBody(res)
 36117  	if err := googleapi.CheckResponse(res); err != nil {
 36118  		return nil, gensupport.WrapError(err)
 36119  	}
 36120  	ret := &BulkEditAssignedUserRolesResponse{
 36121  		ServerResponse: googleapi.ServerResponse{
 36122  			Header:         res.Header,
 36123  			HTTPStatusCode: res.StatusCode,
 36124  		},
 36125  	}
 36126  	target := &ret
 36127  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36128  		return nil, err
 36129  	}
 36130  	return ret, nil
 36131  }
 36132  
 36133  type UsersCreateCall struct {
 36134  	s          *Service
 36135  	user       *User
 36136  	urlParams_ gensupport.URLParams
 36137  	ctx_       context.Context
 36138  	header_    http.Header
 36139  }
 36140  
 36141  // Create: Creates a new user. Returns the newly created user if successful.
 36142  // This method has unique authentication requirements. Read the prerequisites
 36143  // in our Managing Users guide
 36144  // (/display-video/api/guides/users/overview#prerequisites) before using this
 36145  // method. The "Try this method" feature does not work for this method.
 36146  func (r *UsersService) Create(user *User) *UsersCreateCall {
 36147  	c := &UsersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36148  	c.user = user
 36149  	return c
 36150  }
 36151  
 36152  // Fields allows partial responses to be retrieved. See
 36153  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36154  // details.
 36155  func (c *UsersCreateCall) Fields(s ...googleapi.Field) *UsersCreateCall {
 36156  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36157  	return c
 36158  }
 36159  
 36160  // Context sets the context to be used in this call's Do method.
 36161  func (c *UsersCreateCall) Context(ctx context.Context) *UsersCreateCall {
 36162  	c.ctx_ = ctx
 36163  	return c
 36164  }
 36165  
 36166  // Header returns a http.Header that can be modified by the caller to add
 36167  // headers to the request.
 36168  func (c *UsersCreateCall) Header() http.Header {
 36169  	if c.header_ == nil {
 36170  		c.header_ = make(http.Header)
 36171  	}
 36172  	return c.header_
 36173  }
 36174  
 36175  func (c *UsersCreateCall) doRequest(alt string) (*http.Response, error) {
 36176  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 36177  	var body io.Reader = nil
 36178  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 36179  	if err != nil {
 36180  		return nil, err
 36181  	}
 36182  	c.urlParams_.Set("alt", alt)
 36183  	c.urlParams_.Set("prettyPrint", "false")
 36184  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users")
 36185  	urls += "?" + c.urlParams_.Encode()
 36186  	req, err := http.NewRequest("POST", urls, body)
 36187  	if err != nil {
 36188  		return nil, err
 36189  	}
 36190  	req.Header = reqHeaders
 36191  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36192  }
 36193  
 36194  // Do executes the "displayvideo.users.create" call.
 36195  // Any non-2xx status code is an error. Response headers are in either
 36196  // *User.ServerResponse.Header or (if a response was returned at all) in
 36197  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36198  // whether the returned error was because http.StatusNotModified was returned.
 36199  func (c *UsersCreateCall) Do(opts ...googleapi.CallOption) (*User, error) {
 36200  	gensupport.SetOptions(c.urlParams_, opts...)
 36201  	res, err := c.doRequest("json")
 36202  	if res != nil && res.StatusCode == http.StatusNotModified {
 36203  		if res.Body != nil {
 36204  			res.Body.Close()
 36205  		}
 36206  		return nil, gensupport.WrapError(&googleapi.Error{
 36207  			Code:   res.StatusCode,
 36208  			Header: res.Header,
 36209  		})
 36210  	}
 36211  	if err != nil {
 36212  		return nil, err
 36213  	}
 36214  	defer googleapi.CloseBody(res)
 36215  	if err := googleapi.CheckResponse(res); err != nil {
 36216  		return nil, gensupport.WrapError(err)
 36217  	}
 36218  	ret := &User{
 36219  		ServerResponse: googleapi.ServerResponse{
 36220  			Header:         res.Header,
 36221  			HTTPStatusCode: res.StatusCode,
 36222  		},
 36223  	}
 36224  	target := &ret
 36225  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36226  		return nil, err
 36227  	}
 36228  	return ret, nil
 36229  }
 36230  
 36231  type UsersDeleteCall struct {
 36232  	s          *Service
 36233  	userId     int64
 36234  	urlParams_ gensupport.URLParams
 36235  	ctx_       context.Context
 36236  	header_    http.Header
 36237  }
 36238  
 36239  // Delete: Deletes a user. This method has unique authentication requirements.
 36240  // Read the prerequisites in our Managing Users guide
 36241  // (/display-video/api/guides/users/overview#prerequisites) before using this
 36242  // method. The "Try this method" feature does not work for this method.
 36243  //
 36244  // - userId: The ID of the user to delete.
 36245  func (r *UsersService) Delete(userId int64) *UsersDeleteCall {
 36246  	c := &UsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36247  	c.userId = userId
 36248  	return c
 36249  }
 36250  
 36251  // Fields allows partial responses to be retrieved. See
 36252  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36253  // details.
 36254  func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
 36255  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36256  	return c
 36257  }
 36258  
 36259  // Context sets the context to be used in this call's Do method.
 36260  func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 36261  	c.ctx_ = ctx
 36262  	return c
 36263  }
 36264  
 36265  // Header returns a http.Header that can be modified by the caller to add
 36266  // headers to the request.
 36267  func (c *UsersDeleteCall) Header() http.Header {
 36268  	if c.header_ == nil {
 36269  		c.header_ = make(http.Header)
 36270  	}
 36271  	return c.header_
 36272  }
 36273  
 36274  func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 36275  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 36276  	var body io.Reader = nil
 36277  	c.urlParams_.Set("alt", alt)
 36278  	c.urlParams_.Set("prettyPrint", "false")
 36279  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users/{+userId}")
 36280  	urls += "?" + c.urlParams_.Encode()
 36281  	req, err := http.NewRequest("DELETE", urls, body)
 36282  	if err != nil {
 36283  		return nil, err
 36284  	}
 36285  	req.Header = reqHeaders
 36286  	googleapi.Expand(req.URL, map[string]string{
 36287  		"userId": strconv.FormatInt(c.userId, 10),
 36288  	})
 36289  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36290  }
 36291  
 36292  // Do executes the "displayvideo.users.delete" call.
 36293  // Any non-2xx status code is an error. Response headers are in either
 36294  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 36295  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36296  // whether the returned error was because http.StatusNotModified was returned.
 36297  func (c *UsersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 36298  	gensupport.SetOptions(c.urlParams_, opts...)
 36299  	res, err := c.doRequest("json")
 36300  	if res != nil && res.StatusCode == http.StatusNotModified {
 36301  		if res.Body != nil {
 36302  			res.Body.Close()
 36303  		}
 36304  		return nil, gensupport.WrapError(&googleapi.Error{
 36305  			Code:   res.StatusCode,
 36306  			Header: res.Header,
 36307  		})
 36308  	}
 36309  	if err != nil {
 36310  		return nil, err
 36311  	}
 36312  	defer googleapi.CloseBody(res)
 36313  	if err := googleapi.CheckResponse(res); err != nil {
 36314  		return nil, gensupport.WrapError(err)
 36315  	}
 36316  	ret := &Empty{
 36317  		ServerResponse: googleapi.ServerResponse{
 36318  			Header:         res.Header,
 36319  			HTTPStatusCode: res.StatusCode,
 36320  		},
 36321  	}
 36322  	target := &ret
 36323  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36324  		return nil, err
 36325  	}
 36326  	return ret, nil
 36327  }
 36328  
 36329  type UsersGetCall struct {
 36330  	s            *Service
 36331  	userId       int64
 36332  	urlParams_   gensupport.URLParams
 36333  	ifNoneMatch_ string
 36334  	ctx_         context.Context
 36335  	header_      http.Header
 36336  }
 36337  
 36338  // Get: Gets a user. This method has unique authentication requirements. Read
 36339  // the prerequisites in our Managing Users guide
 36340  // (/display-video/api/guides/users/overview#prerequisites) before using this
 36341  // method. The "Try this method" feature does not work for this method.
 36342  //
 36343  // - userId: The ID of the user to fetch.
 36344  func (r *UsersService) Get(userId int64) *UsersGetCall {
 36345  	c := &UsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36346  	c.userId = userId
 36347  	return c
 36348  }
 36349  
 36350  // Fields allows partial responses to be retrieved. See
 36351  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36352  // details.
 36353  func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
 36354  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36355  	return c
 36356  }
 36357  
 36358  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 36359  // object's ETag matches the given value. This is useful for getting updates
 36360  // only after the object has changed since the last request.
 36361  func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
 36362  	c.ifNoneMatch_ = entityTag
 36363  	return c
 36364  }
 36365  
 36366  // Context sets the context to be used in this call's Do method.
 36367  func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 36368  	c.ctx_ = ctx
 36369  	return c
 36370  }
 36371  
 36372  // Header returns a http.Header that can be modified by the caller to add
 36373  // headers to the request.
 36374  func (c *UsersGetCall) Header() http.Header {
 36375  	if c.header_ == nil {
 36376  		c.header_ = make(http.Header)
 36377  	}
 36378  	return c.header_
 36379  }
 36380  
 36381  func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 36382  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 36383  	if c.ifNoneMatch_ != "" {
 36384  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36385  	}
 36386  	var body io.Reader = nil
 36387  	c.urlParams_.Set("alt", alt)
 36388  	c.urlParams_.Set("prettyPrint", "false")
 36389  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users/{+userId}")
 36390  	urls += "?" + c.urlParams_.Encode()
 36391  	req, err := http.NewRequest("GET", urls, body)
 36392  	if err != nil {
 36393  		return nil, err
 36394  	}
 36395  	req.Header = reqHeaders
 36396  	googleapi.Expand(req.URL, map[string]string{
 36397  		"userId": strconv.FormatInt(c.userId, 10),
 36398  	})
 36399  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36400  }
 36401  
 36402  // Do executes the "displayvideo.users.get" call.
 36403  // Any non-2xx status code is an error. Response headers are in either
 36404  // *User.ServerResponse.Header or (if a response was returned at all) in
 36405  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36406  // whether the returned error was because http.StatusNotModified was returned.
 36407  func (c *UsersGetCall) Do(opts ...googleapi.CallOption) (*User, error) {
 36408  	gensupport.SetOptions(c.urlParams_, opts...)
 36409  	res, err := c.doRequest("json")
 36410  	if res != nil && res.StatusCode == http.StatusNotModified {
 36411  		if res.Body != nil {
 36412  			res.Body.Close()
 36413  		}
 36414  		return nil, gensupport.WrapError(&googleapi.Error{
 36415  			Code:   res.StatusCode,
 36416  			Header: res.Header,
 36417  		})
 36418  	}
 36419  	if err != nil {
 36420  		return nil, err
 36421  	}
 36422  	defer googleapi.CloseBody(res)
 36423  	if err := googleapi.CheckResponse(res); err != nil {
 36424  		return nil, gensupport.WrapError(err)
 36425  	}
 36426  	ret := &User{
 36427  		ServerResponse: googleapi.ServerResponse{
 36428  			Header:         res.Header,
 36429  			HTTPStatusCode: res.StatusCode,
 36430  		},
 36431  	}
 36432  	target := &ret
 36433  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36434  		return nil, err
 36435  	}
 36436  	return ret, nil
 36437  }
 36438  
 36439  type UsersListCall struct {
 36440  	s            *Service
 36441  	urlParams_   gensupport.URLParams
 36442  	ifNoneMatch_ string
 36443  	ctx_         context.Context
 36444  	header_      http.Header
 36445  }
 36446  
 36447  // List: Lists users that are accessible to the current user. If two users have
 36448  // user roles on the same partner or advertiser, they can access each other.
 36449  // This method has unique authentication requirements. Read the prerequisites
 36450  // in our Managing Users guide
 36451  // (/display-video/api/guides/users/overview#prerequisites) before using this
 36452  // method. The "Try this method" feature does not work for this method.
 36453  func (r *UsersService) List() *UsersListCall {
 36454  	c := &UsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36455  	return c
 36456  }
 36457  
 36458  // Filter sets the optional parameter "filter": Allows filtering by user
 36459  // fields. Supported syntax: * Filter expressions are made up of one or more
 36460  // restrictions. * Restrictions can be combined by the logical operator `AND`.
 36461  // * A restriction has the form of `{field} {operator} {value}`. * The
 36462  // `displayName` and `email` fields must use the `HAS (:)` operator. * The
 36463  // `lastLoginTime` field must use either the `LESS THAN OR EQUAL TO (<=)` or
 36464  // `GREATER THAN OR EQUAL TO (>=)` operator. * All other fields must use the
 36465  // `EQUALS (=)` operator. Supported fields: * `assignedUserRole.advertiserId` *
 36466  // `assignedUserRole.entityType`: This is synthetic field of `AssignedUserRole`
 36467  // used for filtering. Identifies the type of entity to which the user role is
 36468  // assigned. Valid values are `Partner` and `Advertiser`. *
 36469  // `assignedUserRole.parentPartnerId`: This is a synthetic field of
 36470  // `AssignedUserRole` used for filtering. Identifies the parent partner of the
 36471  // entity to which the user role is assigned. * `assignedUserRole.partnerId` *
 36472  // `assignedUserRole.userRole` * `displayName` * `email` * `lastLoginTime`
 36473  // (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * The user
 36474  // with `displayName` containing "foo": `displayName:"foo" * The user with
 36475  // `email` containing "bar": `email:"bar" * All users with standard user
 36476  // roles: `assignedUserRole.userRole="STANDARD" * All users with user roles
 36477  // for partner 123: `assignedUserRole.partnerId="123" * All users with user
 36478  // roles for advertiser 123: `assignedUserRole.advertiserId="123" * All users
 36479  // with partner level user roles: `entityType="PARTNER" * All users with user
 36480  // roles for partner 123 and advertisers under partner 123:
 36481  // `parentPartnerId="123" * All users that last logged in on or after
 36482  // 2023-01-01T00:00:00Z (format of ISO 8601):
 36483  // `lastLoginTime>="2023-01-01T00:00:00Z" The length of this field should be
 36484  // no more than 500 characters. Reference our filter `LIST` requests
 36485  // (/display-video/api/guides/how-tos/filters) guide for more information.
 36486  func (c *UsersListCall) Filter(filter string) *UsersListCall {
 36487  	c.urlParams_.Set("filter", filter)
 36488  	return c
 36489  }
 36490  
 36491  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 36492  // list. Acceptable values are: * `displayName` (default) The default sorting
 36493  // order is ascending. To specify descending order for a field, a suffix "desc"
 36494  // should be added to the field name. For example, `displayName desc`.
 36495  func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
 36496  	c.urlParams_.Set("orderBy", orderBy)
 36497  	return c
 36498  }
 36499  
 36500  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 36501  // be between `1` and `200`. If unspecified will default to `100`.
 36502  func (c *UsersListCall) PageSize(pageSize int64) *UsersListCall {
 36503  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 36504  	return c
 36505  }
 36506  
 36507  // PageToken sets the optional parameter "pageToken": A token identifying a
 36508  // page of results the server should return. Typically, this is the value of
 36509  // next_page_token returned from the previous call to `ListUsers` method. If
 36510  // not specified, the first page of results will be returned.
 36511  func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
 36512  	c.urlParams_.Set("pageToken", pageToken)
 36513  	return c
 36514  }
 36515  
 36516  // Fields allows partial responses to be retrieved. See
 36517  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36518  // details.
 36519  func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
 36520  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36521  	return c
 36522  }
 36523  
 36524  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 36525  // object's ETag matches the given value. This is useful for getting updates
 36526  // only after the object has changed since the last request.
 36527  func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
 36528  	c.ifNoneMatch_ = entityTag
 36529  	return c
 36530  }
 36531  
 36532  // Context sets the context to be used in this call's Do method.
 36533  func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 36534  	c.ctx_ = ctx
 36535  	return c
 36536  }
 36537  
 36538  // Header returns a http.Header that can be modified by the caller to add
 36539  // headers to the request.
 36540  func (c *UsersListCall) Header() http.Header {
 36541  	if c.header_ == nil {
 36542  		c.header_ = make(http.Header)
 36543  	}
 36544  	return c.header_
 36545  }
 36546  
 36547  func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 36548  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 36549  	if c.ifNoneMatch_ != "" {
 36550  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36551  	}
 36552  	var body io.Reader = nil
 36553  	c.urlParams_.Set("alt", alt)
 36554  	c.urlParams_.Set("prettyPrint", "false")
 36555  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users")
 36556  	urls += "?" + c.urlParams_.Encode()
 36557  	req, err := http.NewRequest("GET", urls, body)
 36558  	if err != nil {
 36559  		return nil, err
 36560  	}
 36561  	req.Header = reqHeaders
 36562  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36563  }
 36564  
 36565  // Do executes the "displayvideo.users.list" call.
 36566  // Any non-2xx status code is an error. Response headers are in either
 36567  // *ListUsersResponse.ServerResponse.Header or (if a response was returned at
 36568  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 36569  // check whether the returned error was because http.StatusNotModified was
 36570  // returned.
 36571  func (c *UsersListCall) Do(opts ...googleapi.CallOption) (*ListUsersResponse, error) {
 36572  	gensupport.SetOptions(c.urlParams_, opts...)
 36573  	res, err := c.doRequest("json")
 36574  	if res != nil && res.StatusCode == http.StatusNotModified {
 36575  		if res.Body != nil {
 36576  			res.Body.Close()
 36577  		}
 36578  		return nil, gensupport.WrapError(&googleapi.Error{
 36579  			Code:   res.StatusCode,
 36580  			Header: res.Header,
 36581  		})
 36582  	}
 36583  	if err != nil {
 36584  		return nil, err
 36585  	}
 36586  	defer googleapi.CloseBody(res)
 36587  	if err := googleapi.CheckResponse(res); err != nil {
 36588  		return nil, gensupport.WrapError(err)
 36589  	}
 36590  	ret := &ListUsersResponse{
 36591  		ServerResponse: googleapi.ServerResponse{
 36592  			Header:         res.Header,
 36593  			HTTPStatusCode: res.StatusCode,
 36594  		},
 36595  	}
 36596  	target := &ret
 36597  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36598  		return nil, err
 36599  	}
 36600  	return ret, nil
 36601  }
 36602  
 36603  // Pages invokes f for each page of results.
 36604  // A non-nil error returned from f will halt the iteration.
 36605  // The provided context supersedes any context provided to the Context method.
 36606  func (c *UsersListCall) Pages(ctx context.Context, f func(*ListUsersResponse) error) error {
 36607  	c.ctx_ = ctx
 36608  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 36609  	for {
 36610  		x, err := c.Do()
 36611  		if err != nil {
 36612  			return err
 36613  		}
 36614  		if err := f(x); err != nil {
 36615  			return err
 36616  		}
 36617  		if x.NextPageToken == "" {
 36618  			return nil
 36619  		}
 36620  		c.PageToken(x.NextPageToken)
 36621  	}
 36622  }
 36623  
 36624  type UsersPatchCall struct {
 36625  	s          *Service
 36626  	userId     int64
 36627  	user       *User
 36628  	urlParams_ gensupport.URLParams
 36629  	ctx_       context.Context
 36630  	header_    http.Header
 36631  }
 36632  
 36633  // Patch: Updates an existing user. Returns the updated user if successful.
 36634  // This method has unique authentication requirements. Read the prerequisites
 36635  // in our Managing Users guide
 36636  // (/display-video/api/guides/users/overview#prerequisites) before using this
 36637  // method. The "Try this method" feature does not work for this method.
 36638  //
 36639  // - userId: Output only. The unique ID of the user. Assigned by the system.
 36640  func (r *UsersService) Patch(userId int64, user *User) *UsersPatchCall {
 36641  	c := &UsersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36642  	c.userId = userId
 36643  	c.user = user
 36644  	return c
 36645  }
 36646  
 36647  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 36648  // control which fields to update.
 36649  func (c *UsersPatchCall) UpdateMask(updateMask string) *UsersPatchCall {
 36650  	c.urlParams_.Set("updateMask", updateMask)
 36651  	return c
 36652  }
 36653  
 36654  // Fields allows partial responses to be retrieved. See
 36655  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36656  // details.
 36657  func (c *UsersPatchCall) Fields(s ...googleapi.Field) *UsersPatchCall {
 36658  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36659  	return c
 36660  }
 36661  
 36662  // Context sets the context to be used in this call's Do method.
 36663  func (c *UsersPatchCall) Context(ctx context.Context) *UsersPatchCall {
 36664  	c.ctx_ = ctx
 36665  	return c
 36666  }
 36667  
 36668  // Header returns a http.Header that can be modified by the caller to add
 36669  // headers to the request.
 36670  func (c *UsersPatchCall) Header() http.Header {
 36671  	if c.header_ == nil {
 36672  		c.header_ = make(http.Header)
 36673  	}
 36674  	return c.header_
 36675  }
 36676  
 36677  func (c *UsersPatchCall) doRequest(alt string) (*http.Response, error) {
 36678  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 36679  	var body io.Reader = nil
 36680  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 36681  	if err != nil {
 36682  		return nil, err
 36683  	}
 36684  	c.urlParams_.Set("alt", alt)
 36685  	c.urlParams_.Set("prettyPrint", "false")
 36686  	urls := googleapi.ResolveRelative(c.s.BasePath, "v2/users/{+userId}")
 36687  	urls += "?" + c.urlParams_.Encode()
 36688  	req, err := http.NewRequest("PATCH", urls, body)
 36689  	if err != nil {
 36690  		return nil, err
 36691  	}
 36692  	req.Header = reqHeaders
 36693  	googleapi.Expand(req.URL, map[string]string{
 36694  		"userId": strconv.FormatInt(c.userId, 10),
 36695  	})
 36696  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36697  }
 36698  
 36699  // Do executes the "displayvideo.users.patch" call.
 36700  // Any non-2xx status code is an error. Response headers are in either
 36701  // *User.ServerResponse.Header or (if a response was returned at all) in
 36702  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36703  // whether the returned error was because http.StatusNotModified was returned.
 36704  func (c *UsersPatchCall) Do(opts ...googleapi.CallOption) (*User, error) {
 36705  	gensupport.SetOptions(c.urlParams_, opts...)
 36706  	res, err := c.doRequest("json")
 36707  	if res != nil && res.StatusCode == http.StatusNotModified {
 36708  		if res.Body != nil {
 36709  			res.Body.Close()
 36710  		}
 36711  		return nil, gensupport.WrapError(&googleapi.Error{
 36712  			Code:   res.StatusCode,
 36713  			Header: res.Header,
 36714  		})
 36715  	}
 36716  	if err != nil {
 36717  		return nil, err
 36718  	}
 36719  	defer googleapi.CloseBody(res)
 36720  	if err := googleapi.CheckResponse(res); err != nil {
 36721  		return nil, gensupport.WrapError(err)
 36722  	}
 36723  	ret := &User{
 36724  		ServerResponse: googleapi.ServerResponse{
 36725  			Header:         res.Header,
 36726  			HTTPStatusCode: res.StatusCode,
 36727  		},
 36728  	}
 36729  	target := &ret
 36730  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36731  		return nil, err
 36732  	}
 36733  	return ret, nil
 36734  }
 36735  

View as plain text