...

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

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

     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/v3"
    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/v3"
    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:v3"
    95  const apiName = "displayvideo"
    96  const apiVersion = "v3"
    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.AdGroupAds = NewAdvertisersAdGroupAdsService(s)
   221  	rs.AdGroups = NewAdvertisersAdGroupsService(s)
   222  	rs.Assets = NewAdvertisersAssetsService(s)
   223  	rs.Campaigns = NewAdvertisersCampaignsService(s)
   224  	rs.Channels = NewAdvertisersChannelsService(s)
   225  	rs.Creatives = NewAdvertisersCreativesService(s)
   226  	rs.InsertionOrders = NewAdvertisersInsertionOrdersService(s)
   227  	rs.Invoices = NewAdvertisersInvoicesService(s)
   228  	rs.LineItems = NewAdvertisersLineItemsService(s)
   229  	rs.LocationLists = NewAdvertisersLocationListsService(s)
   230  	rs.NegativeKeywordLists = NewAdvertisersNegativeKeywordListsService(s)
   231  	rs.TargetingTypes = NewAdvertisersTargetingTypesService(s)
   232  	return rs
   233  }
   234  
   235  type AdvertisersService struct {
   236  	s *Service
   237  
   238  	AdGroupAds *AdvertisersAdGroupAdsService
   239  
   240  	AdGroups *AdvertisersAdGroupsService
   241  
   242  	Assets *AdvertisersAssetsService
   243  
   244  	Campaigns *AdvertisersCampaignsService
   245  
   246  	Channels *AdvertisersChannelsService
   247  
   248  	Creatives *AdvertisersCreativesService
   249  
   250  	InsertionOrders *AdvertisersInsertionOrdersService
   251  
   252  	Invoices *AdvertisersInvoicesService
   253  
   254  	LineItems *AdvertisersLineItemsService
   255  
   256  	LocationLists *AdvertisersLocationListsService
   257  
   258  	NegativeKeywordLists *AdvertisersNegativeKeywordListsService
   259  
   260  	TargetingTypes *AdvertisersTargetingTypesService
   261  }
   262  
   263  func NewAdvertisersAdGroupAdsService(s *Service) *AdvertisersAdGroupAdsService {
   264  	rs := &AdvertisersAdGroupAdsService{s: s}
   265  	return rs
   266  }
   267  
   268  type AdvertisersAdGroupAdsService struct {
   269  	s *Service
   270  }
   271  
   272  func NewAdvertisersAdGroupsService(s *Service) *AdvertisersAdGroupsService {
   273  	rs := &AdvertisersAdGroupsService{s: s}
   274  	rs.TargetingTypes = NewAdvertisersAdGroupsTargetingTypesService(s)
   275  	return rs
   276  }
   277  
   278  type AdvertisersAdGroupsService struct {
   279  	s *Service
   280  
   281  	TargetingTypes *AdvertisersAdGroupsTargetingTypesService
   282  }
   283  
   284  func NewAdvertisersAdGroupsTargetingTypesService(s *Service) *AdvertisersAdGroupsTargetingTypesService {
   285  	rs := &AdvertisersAdGroupsTargetingTypesService{s: s}
   286  	rs.AssignedTargetingOptions = NewAdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsService(s)
   287  	return rs
   288  }
   289  
   290  type AdvertisersAdGroupsTargetingTypesService struct {
   291  	s *Service
   292  
   293  	AssignedTargetingOptions *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsService
   294  }
   295  
   296  func NewAdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsService {
   297  	rs := &AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsService{s: s}
   298  	return rs
   299  }
   300  
   301  type AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsService struct {
   302  	s *Service
   303  }
   304  
   305  func NewAdvertisersAssetsService(s *Service) *AdvertisersAssetsService {
   306  	rs := &AdvertisersAssetsService{s: s}
   307  	return rs
   308  }
   309  
   310  type AdvertisersAssetsService struct {
   311  	s *Service
   312  }
   313  
   314  func NewAdvertisersCampaignsService(s *Service) *AdvertisersCampaignsService {
   315  	rs := &AdvertisersCampaignsService{s: s}
   316  	rs.TargetingTypes = NewAdvertisersCampaignsTargetingTypesService(s)
   317  	return rs
   318  }
   319  
   320  type AdvertisersCampaignsService struct {
   321  	s *Service
   322  
   323  	TargetingTypes *AdvertisersCampaignsTargetingTypesService
   324  }
   325  
   326  func NewAdvertisersCampaignsTargetingTypesService(s *Service) *AdvertisersCampaignsTargetingTypesService {
   327  	rs := &AdvertisersCampaignsTargetingTypesService{s: s}
   328  	rs.AssignedTargetingOptions = NewAdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService(s)
   329  	return rs
   330  }
   331  
   332  type AdvertisersCampaignsTargetingTypesService struct {
   333  	s *Service
   334  
   335  	AssignedTargetingOptions *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService
   336  }
   337  
   338  func NewAdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService {
   339  	rs := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService{s: s}
   340  	return rs
   341  }
   342  
   343  type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService struct {
   344  	s *Service
   345  }
   346  
   347  func NewAdvertisersChannelsService(s *Service) *AdvertisersChannelsService {
   348  	rs := &AdvertisersChannelsService{s: s}
   349  	rs.Sites = NewAdvertisersChannelsSitesService(s)
   350  	return rs
   351  }
   352  
   353  type AdvertisersChannelsService struct {
   354  	s *Service
   355  
   356  	Sites *AdvertisersChannelsSitesService
   357  }
   358  
   359  func NewAdvertisersChannelsSitesService(s *Service) *AdvertisersChannelsSitesService {
   360  	rs := &AdvertisersChannelsSitesService{s: s}
   361  	return rs
   362  }
   363  
   364  type AdvertisersChannelsSitesService struct {
   365  	s *Service
   366  }
   367  
   368  func NewAdvertisersCreativesService(s *Service) *AdvertisersCreativesService {
   369  	rs := &AdvertisersCreativesService{s: s}
   370  	return rs
   371  }
   372  
   373  type AdvertisersCreativesService struct {
   374  	s *Service
   375  }
   376  
   377  func NewAdvertisersInsertionOrdersService(s *Service) *AdvertisersInsertionOrdersService {
   378  	rs := &AdvertisersInsertionOrdersService{s: s}
   379  	rs.TargetingTypes = NewAdvertisersInsertionOrdersTargetingTypesService(s)
   380  	return rs
   381  }
   382  
   383  type AdvertisersInsertionOrdersService struct {
   384  	s *Service
   385  
   386  	TargetingTypes *AdvertisersInsertionOrdersTargetingTypesService
   387  }
   388  
   389  func NewAdvertisersInsertionOrdersTargetingTypesService(s *Service) *AdvertisersInsertionOrdersTargetingTypesService {
   390  	rs := &AdvertisersInsertionOrdersTargetingTypesService{s: s}
   391  	rs.AssignedTargetingOptions = NewAdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService(s)
   392  	return rs
   393  }
   394  
   395  type AdvertisersInsertionOrdersTargetingTypesService struct {
   396  	s *Service
   397  
   398  	AssignedTargetingOptions *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService
   399  }
   400  
   401  func NewAdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService {
   402  	rs := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService{s: s}
   403  	return rs
   404  }
   405  
   406  type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService struct {
   407  	s *Service
   408  }
   409  
   410  func NewAdvertisersInvoicesService(s *Service) *AdvertisersInvoicesService {
   411  	rs := &AdvertisersInvoicesService{s: s}
   412  	return rs
   413  }
   414  
   415  type AdvertisersInvoicesService struct {
   416  	s *Service
   417  }
   418  
   419  func NewAdvertisersLineItemsService(s *Service) *AdvertisersLineItemsService {
   420  	rs := &AdvertisersLineItemsService{s: s}
   421  	rs.TargetingTypes = NewAdvertisersLineItemsTargetingTypesService(s)
   422  	return rs
   423  }
   424  
   425  type AdvertisersLineItemsService struct {
   426  	s *Service
   427  
   428  	TargetingTypes *AdvertisersLineItemsTargetingTypesService
   429  }
   430  
   431  func NewAdvertisersLineItemsTargetingTypesService(s *Service) *AdvertisersLineItemsTargetingTypesService {
   432  	rs := &AdvertisersLineItemsTargetingTypesService{s: s}
   433  	rs.AssignedTargetingOptions = NewAdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService(s)
   434  	return rs
   435  }
   436  
   437  type AdvertisersLineItemsTargetingTypesService struct {
   438  	s *Service
   439  
   440  	AssignedTargetingOptions *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService
   441  }
   442  
   443  func NewAdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService {
   444  	rs := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService{s: s}
   445  	return rs
   446  }
   447  
   448  type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService struct {
   449  	s *Service
   450  }
   451  
   452  func NewAdvertisersLocationListsService(s *Service) *AdvertisersLocationListsService {
   453  	rs := &AdvertisersLocationListsService{s: s}
   454  	rs.AssignedLocations = NewAdvertisersLocationListsAssignedLocationsService(s)
   455  	return rs
   456  }
   457  
   458  type AdvertisersLocationListsService struct {
   459  	s *Service
   460  
   461  	AssignedLocations *AdvertisersLocationListsAssignedLocationsService
   462  }
   463  
   464  func NewAdvertisersLocationListsAssignedLocationsService(s *Service) *AdvertisersLocationListsAssignedLocationsService {
   465  	rs := &AdvertisersLocationListsAssignedLocationsService{s: s}
   466  	return rs
   467  }
   468  
   469  type AdvertisersLocationListsAssignedLocationsService struct {
   470  	s *Service
   471  }
   472  
   473  func NewAdvertisersNegativeKeywordListsService(s *Service) *AdvertisersNegativeKeywordListsService {
   474  	rs := &AdvertisersNegativeKeywordListsService{s: s}
   475  	rs.NegativeKeywords = NewAdvertisersNegativeKeywordListsNegativeKeywordsService(s)
   476  	return rs
   477  }
   478  
   479  type AdvertisersNegativeKeywordListsService struct {
   480  	s *Service
   481  
   482  	NegativeKeywords *AdvertisersNegativeKeywordListsNegativeKeywordsService
   483  }
   484  
   485  func NewAdvertisersNegativeKeywordListsNegativeKeywordsService(s *Service) *AdvertisersNegativeKeywordListsNegativeKeywordsService {
   486  	rs := &AdvertisersNegativeKeywordListsNegativeKeywordsService{s: s}
   487  	return rs
   488  }
   489  
   490  type AdvertisersNegativeKeywordListsNegativeKeywordsService struct {
   491  	s *Service
   492  }
   493  
   494  func NewAdvertisersTargetingTypesService(s *Service) *AdvertisersTargetingTypesService {
   495  	rs := &AdvertisersTargetingTypesService{s: s}
   496  	rs.AssignedTargetingOptions = NewAdvertisersTargetingTypesAssignedTargetingOptionsService(s)
   497  	return rs
   498  }
   499  
   500  type AdvertisersTargetingTypesService struct {
   501  	s *Service
   502  
   503  	AssignedTargetingOptions *AdvertisersTargetingTypesAssignedTargetingOptionsService
   504  }
   505  
   506  func NewAdvertisersTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersTargetingTypesAssignedTargetingOptionsService {
   507  	rs := &AdvertisersTargetingTypesAssignedTargetingOptionsService{s: s}
   508  	return rs
   509  }
   510  
   511  type AdvertisersTargetingTypesAssignedTargetingOptionsService struct {
   512  	s *Service
   513  }
   514  
   515  func NewCombinedAudiencesService(s *Service) *CombinedAudiencesService {
   516  	rs := &CombinedAudiencesService{s: s}
   517  	return rs
   518  }
   519  
   520  type CombinedAudiencesService struct {
   521  	s *Service
   522  }
   523  
   524  func NewCustomBiddingAlgorithmsService(s *Service) *CustomBiddingAlgorithmsService {
   525  	rs := &CustomBiddingAlgorithmsService{s: s}
   526  	rs.Rules = NewCustomBiddingAlgorithmsRulesService(s)
   527  	rs.Scripts = NewCustomBiddingAlgorithmsScriptsService(s)
   528  	return rs
   529  }
   530  
   531  type CustomBiddingAlgorithmsService struct {
   532  	s *Service
   533  
   534  	Rules *CustomBiddingAlgorithmsRulesService
   535  
   536  	Scripts *CustomBiddingAlgorithmsScriptsService
   537  }
   538  
   539  func NewCustomBiddingAlgorithmsRulesService(s *Service) *CustomBiddingAlgorithmsRulesService {
   540  	rs := &CustomBiddingAlgorithmsRulesService{s: s}
   541  	return rs
   542  }
   543  
   544  type CustomBiddingAlgorithmsRulesService struct {
   545  	s *Service
   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  // ActiveViewVideoViewabilityMetricConfig: Configuration for custom Active View
   762  // video viewability metrics.
   763  type ActiveViewVideoViewabilityMetricConfig struct {
   764  	// DisplayName: Required. The display name of the custom metric.
   765  	DisplayName string `json:"displayName,omitempty"`
   766  	// MinimumDuration: The minimum visible video duration required (in seconds) in
   767  	// order for an impression to be recorded. You must specify minimum_duration,
   768  	// minimum_quartile or both. If both are specified, an impression meets the
   769  	// metric criteria if either requirement is met (whichever happens first).
   770  	//
   771  	// Possible values:
   772  	//   "VIDEO_DURATION_UNSPECIFIED" - Value is not specified or is unknown in
   773  	// this version.
   774  	//   "VIDEO_DURATION_SECONDS_NONE" - No duration value.
   775  	//   "VIDEO_DURATION_SECONDS_0" - 0 seconds.
   776  	//   "VIDEO_DURATION_SECONDS_1" - 1 second.
   777  	//   "VIDEO_DURATION_SECONDS_2" - 2 seconds.
   778  	//   "VIDEO_DURATION_SECONDS_3" - 3 seconds.
   779  	//   "VIDEO_DURATION_SECONDS_4" - 4 seconds.
   780  	//   "VIDEO_DURATION_SECONDS_5" - 5 seconds.
   781  	//   "VIDEO_DURATION_SECONDS_6" - 6 seconds.
   782  	//   "VIDEO_DURATION_SECONDS_7" - 7 seconds.
   783  	//   "VIDEO_DURATION_SECONDS_8" - 8 seconds.
   784  	//   "VIDEO_DURATION_SECONDS_9" - 9 seconds.
   785  	//   "VIDEO_DURATION_SECONDS_10" - 10 seconds.
   786  	//   "VIDEO_DURATION_SECONDS_11" - 11 seconds.
   787  	//   "VIDEO_DURATION_SECONDS_12" - 12 seconds.
   788  	//   "VIDEO_DURATION_SECONDS_13" - 13 seconds.
   789  	//   "VIDEO_DURATION_SECONDS_14" - 14 seconds.
   790  	//   "VIDEO_DURATION_SECONDS_15" - 15 seconds.
   791  	//   "VIDEO_DURATION_SECONDS_30" - 30 seconds.
   792  	//   "VIDEO_DURATION_SECONDS_45" - 45 seconds.
   793  	//   "VIDEO_DURATION_SECONDS_60" - 60 seconds.
   794  	MinimumDuration string `json:"minimumDuration,omitempty"`
   795  	// MinimumQuartile: The minimum visible video duration required, based on the
   796  	// video quartiles, in order for an impression to be recorded. You must specify
   797  	// minimum_duration, minimum_quartile or both. If both are specified, an
   798  	// impression meets the metric criteria if either requirement is met (whichever
   799  	// happens first).
   800  	//
   801  	// Possible values:
   802  	//   "VIDEO_DURATION_QUARTILE_UNSPECIFIED" - Value is not specified or is
   803  	// unknown in this version.
   804  	//   "VIDEO_DURATION_QUARTILE_NONE" - No quartile value.
   805  	//   "VIDEO_DURATION_QUARTILE_FIRST" - First quartile.
   806  	//   "VIDEO_DURATION_QUARTILE_SECOND" - Second quartile (midpoint).
   807  	//   "VIDEO_DURATION_QUARTILE_THIRD" - Third quartile.
   808  	//   "VIDEO_DURATION_QUARTILE_FOURTH" - Fourth quartile (completion).
   809  	MinimumQuartile string `json:"minimumQuartile,omitempty"`
   810  	// MinimumViewability: Required. The minimum percentage of the video ad's
   811  	// pixels visible on the screen in order for an impression to be recorded.
   812  	//
   813  	// Possible values:
   814  	//   "VIEWABILITY_PERCENT_UNSPECIFIED" - Value is not specified or is unknown
   815  	// in this version.
   816  	//   "VIEWABILITY_PERCENT_0" - 0% viewable.
   817  	//   "VIEWABILITY_PERCENT_25" - 25% viewable.
   818  	//   "VIEWABILITY_PERCENT_50" - 50% viewable.
   819  	//   "VIEWABILITY_PERCENT_75" - 75% viewable.
   820  	//   "VIEWABILITY_PERCENT_100" - 100% viewable.
   821  	MinimumViewability string `json:"minimumViewability,omitempty"`
   822  	// MinimumVolume: Required. The minimum percentage of the video ad's volume
   823  	// required in order for an impression to be recorded.
   824  	//
   825  	// Possible values:
   826  	//   "VIDEO_VOLUME_PERCENT_UNSPECIFIED" - Value is not specified or is unknown
   827  	// in this version.
   828  	//   "VIDEO_VOLUME_PERCENT_0" - 0% volume.
   829  	//   "VIDEO_VOLUME_PERCENT_10" - 10% volume.
   830  	MinimumVolume string `json:"minimumVolume,omitempty"`
   831  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
   832  	// unconditionally include in API requests. By default, fields with empty or
   833  	// default values are omitted from API requests. See
   834  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   835  	// details.
   836  	ForceSendFields []string `json:"-"`
   837  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
   838  	// requests with the JSON null value. By default, fields with empty values are
   839  	// omitted from API requests. See
   840  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   841  	NullFields []string `json:"-"`
   842  }
   843  
   844  func (s *ActiveViewVideoViewabilityMetricConfig) MarshalJSON() ([]byte, error) {
   845  	type NoMethod ActiveViewVideoViewabilityMetricConfig
   846  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   847  }
   848  
   849  // AdGroup: A single ad group associated with a line item.
   850  type AdGroup struct {
   851  	// AdGroupFormat: The format of the ads in the ad group.
   852  	//
   853  	// Possible values:
   854  	//   "AD_GROUP_FORMAT_UNSPECIFIED" - Format value is not specified or is
   855  	// unknown in this version.
   856  	//   "AD_GROUP_FORMAT_IN_STREAM" - In-stream ads.
   857  	//   "AD_GROUP_FORMAT_VIDEO_DISCOVERY" - In-feed ads.
   858  	//   "AD_GROUP_FORMAT_BUMPER" - Bumper ads.
   859  	//   "AD_GROUP_FORMAT_NON_SKIPPABLE_IN_STREAM" - Non-skippable in-stream ads.
   860  	//   "AD_GROUP_FORMAT_AUDIO" - Non-skippable in-stream audio ads.
   861  	//   "AD_GROUP_FORMAT_RESPONSIVE" - Responsive ads.
   862  	//   "AD_GROUP_FORMAT_REACH" - [Effective reach ad groups]
   863  	// (https://support.google.com/displayvideo/answer/9173684), including
   864  	// in-stream and bumper ads.
   865  	//   "AD_GROUP_FORMAT_MASTHEAD" - Masthead Ad that is surfaced on the top slot
   866  	// on the YouTube homepage.
   867  	AdGroupFormat string `json:"adGroupFormat,omitempty"`
   868  	// AdGroupId: The unique ID of the ad group. Assigned by the system.
   869  	AdGroupId int64 `json:"adGroupId,omitempty,string"`
   870  	// AdvertiserId: The unique ID of the advertiser the ad group belongs to.
   871  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
   872  	// BidStrategy: The bidding strategy used by the ad group. Only the
   873  	// youtubeAndPartnersBid field can be used in the bidding strategy.
   874  	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
   875  	// DisplayName: The display name of the ad group. Must be UTF-8 encoded with a
   876  	// maximum size of 255 bytes.
   877  	DisplayName string `json:"displayName,omitempty"`
   878  	// EntityStatus: Controls whether or not the ad group can spend its budget and
   879  	// bid on inventory. If the ad group's parent line item is not active, the ad
   880  	// group can't spend its budget even if its own status is
   881  	// `ENTITY_STATUS_ACTIVE`.
   882  	//
   883  	// Possible values:
   884  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
   885  	// or is unknown in this version.
   886  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
   887  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
   888  	// spending are disabled. An entity can be deleted after archived. Deleted
   889  	// entities cannot be retrieved.
   890  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
   891  	// spending are disabled.
   892  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
   893  	// entity.
   894  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
   895  	// deletion.
   896  	EntityStatus string `json:"entityStatus,omitempty"`
   897  	// LineItemId: The unique ID of the line item that the ad group belongs to.
   898  	LineItemId int64 `json:"lineItemId,omitempty,string"`
   899  	// Name: The resource name of the ad group.
   900  	Name string `json:"name,omitempty"`
   901  	// ProductFeedData: The settings of the product feed in this ad group.
   902  	ProductFeedData *ProductFeedData `json:"productFeedData,omitempty"`
   903  	// TargetingExpansion: The optimized targeting
   904  	// (//support.google.com/displayvideo/answer/12060859) settings of the ad
   905  	// group.
   906  	TargetingExpansion *TargetingExpansionConfig `json:"targetingExpansion,omitempty"`
   907  
   908  	// ServerResponse contains the HTTP response code and headers from the server.
   909  	googleapi.ServerResponse `json:"-"`
   910  	// ForceSendFields is a list of field names (e.g. "AdGroupFormat") to
   911  	// unconditionally include in API requests. By default, fields with empty or
   912  	// default values are omitted from API requests. See
   913  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   914  	// details.
   915  	ForceSendFields []string `json:"-"`
   916  	// NullFields is a list of field names (e.g. "AdGroupFormat") to include in API
   917  	// requests with the JSON null value. By default, fields with empty values are
   918  	// omitted from API requests. See
   919  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
   920  	NullFields []string `json:"-"`
   921  }
   922  
   923  func (s *AdGroup) MarshalJSON() ([]byte, error) {
   924  	type NoMethod AdGroup
   925  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
   926  }
   927  
   928  // AdGroupAd: A single ad associated with an ad group.
   929  type AdGroupAd struct {
   930  	// AdGroupAdId: The unique ID of the ad. Assigned by the system.
   931  	AdGroupAdId int64 `json:"adGroupAdId,omitempty,string"`
   932  	// AdGroupId: The unique ID of the ad group that the ad belongs to.
   933  	AdGroupId int64 `json:"adGroupId,omitempty,string"`
   934  	// AdUrls: List of URLs used by the ad.
   935  	AdUrls []*AdUrl `json:"adUrls,omitempty"`
   936  	// AdvertiserId: The unique ID of the advertiser the ad belongs to.
   937  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
   938  	// AudioAd: Details of an audio ad
   939  	// (//support.google.com/displayvideo/answer/6274216) used for reach marketing
   940  	// objectives.
   941  	AudioAd *AudioAd `json:"audioAd,omitempty"`
   942  	// BumperAd: Details of a non-skippable short video ad
   943  	// (//support.google.com/displayvideo/answer/6274216), equal to or less than 6
   944  	// seconds, used for reach.
   945  	BumperAd *BumperAd `json:"bumperAd,omitempty"`
   946  	// DisplayName: The display name of the ad. Must be UTF-8 encoded with a
   947  	// maximum size of 255 bytes.
   948  	DisplayName string `json:"displayName,omitempty"`
   949  	// DisplayVideoSourceAd: Details of an ad sourced from a Display & Video 360
   950  	// creative.
   951  	DisplayVideoSourceAd *DisplayVideoSourceAd `json:"displayVideoSourceAd,omitempty"`
   952  	// EntityStatus: The entity status of the ad.
   953  	//
   954  	// Possible values:
   955  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
   956  	// or is unknown in this version.
   957  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
   958  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
   959  	// spending are disabled. An entity can be deleted after archived. Deleted
   960  	// entities cannot be retrieved.
   961  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
   962  	// spending are disabled.
   963  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
   964  	// entity.
   965  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
   966  	// deletion.
   967  	EntityStatus string `json:"entityStatus,omitempty"`
   968  	// InStreamAd: Details of an in-stream ad skippable after 5 seconds
   969  	// (//support.google.com/displayvideo/answer/6274216), used for brand awareness
   970  	// or reach marketing objectives.
   971  	InStreamAd *InStreamAd `json:"inStreamAd,omitempty"`
   972  	// MastheadAd: Details of an ad served on the YouTube Home feed
   973  	// (//support.google.com/google-ads/answer/9709826).
   974  	MastheadAd *MastheadAd `json:"mastheadAd,omitempty"`
   975  	// Name: The resource name of the ad.
   976  	Name string `json:"name,omitempty"`
   977  	// NonSkippableAd: Details of a non-skippable short in-stream video ad
   978  	// (//support.google.com/displayvideo/answer/6274216), between 6 and 15
   979  	// seconds, used for reach marketing objectives.
   980  	NonSkippableAd *NonSkippableAd `json:"nonSkippableAd,omitempty"`
   981  	// VideoDiscoverAd: Details of an ad promoting a video
   982  	// (//support.google.com/displayvideo/answer/6274216) that shows in places of
   983  	// discovery.
   984  	VideoDiscoverAd *VideoDiscoveryAd `json:"videoDiscoverAd,omitempty"`
   985  	// VideoPerformanceAd: Details of an ad used in a video action campaign
   986  	// (//support.google.com/google-ads/answer/10147229) to drive actions to the
   987  	// business, service or product.
   988  	VideoPerformanceAd *VideoPerformanceAd `json:"videoPerformanceAd,omitempty"`
   989  
   990  	// ServerResponse contains the HTTP response code and headers from the server.
   991  	googleapi.ServerResponse `json:"-"`
   992  	// ForceSendFields is a list of field names (e.g. "AdGroupAdId") to
   993  	// unconditionally include in API requests. By default, fields with empty or
   994  	// default values are omitted from API requests. See
   995  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
   996  	// details.
   997  	ForceSendFields []string `json:"-"`
   998  	// NullFields is a list of field names (e.g. "AdGroupAdId") to include in API
   999  	// requests with the JSON null value. By default, fields with empty values are
  1000  	// omitted from API requests. See
  1001  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1002  	NullFields []string `json:"-"`
  1003  }
  1004  
  1005  func (s *AdGroupAd) MarshalJSON() ([]byte, error) {
  1006  	type NoMethod AdGroupAd
  1007  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1008  }
  1009  
  1010  // AdGroupAssignedTargetingOption: Wrapper object associating an
  1011  // AssignedTargetingOption resource and the ad group it is assigned to.
  1012  type AdGroupAssignedTargetingOption struct {
  1013  	// AdGroupId: The ID of the ad group the assigned targeting option is assigned
  1014  	// to.
  1015  	AdGroupId int64 `json:"adGroupId,omitempty,string"`
  1016  	// AssignedTargetingOption: The assigned targeting option resource.
  1017  	AssignedTargetingOption *AssignedTargetingOption `json:"assignedTargetingOption,omitempty"`
  1018  	// ForceSendFields is a list of field names (e.g. "AdGroupId") to
  1019  	// unconditionally include in API requests. By default, fields with empty or
  1020  	// default values are omitted from API requests. See
  1021  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1022  	// details.
  1023  	ForceSendFields []string `json:"-"`
  1024  	// NullFields is a list of field names (e.g. "AdGroupId") to include in API
  1025  	// requests with the JSON null value. By default, fields with empty values are
  1026  	// omitted from API requests. See
  1027  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1028  	NullFields []string `json:"-"`
  1029  }
  1030  
  1031  func (s *AdGroupAssignedTargetingOption) MarshalJSON() ([]byte, error) {
  1032  	type NoMethod AdGroupAssignedTargetingOption
  1033  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1034  }
  1035  
  1036  // AdUrl: Additional URLs related to the ad, including beacons.
  1037  type AdUrl struct {
  1038  	// Type: The type of the Ad URL.
  1039  	//
  1040  	// Possible values:
  1041  	//   "AD_URL_TYPE_UNSPECIFIED" - Unknown or unspecified.
  1042  	//   "AD_URL_TYPE_BEACON_IMPRESSION" - A 1x1 tracking pixel to ping when an
  1043  	// impression of a creative is delivered.
  1044  	//   "AD_URL_TYPE_BEACON_EXPANDABLE_DCM_IMPRESSION" - Expandable DCM impression
  1045  	// beacon. At serving time, it is expanded to several beacons.
  1046  	//   "AD_URL_TYPE_BEACON_CLICK" - Tracking URL to ping when the click event is
  1047  	// triggered.
  1048  	//   "AD_URL_TYPE_BEACON_SKIP" - Tracking URL to ping when the skip event is
  1049  	// triggered.
  1050  	Type string `json:"type,omitempty"`
  1051  	// Url: The URL string value.
  1052  	Url string `json:"url,omitempty"`
  1053  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
  1054  	// include in API requests. By default, fields with empty or default values are
  1055  	// omitted from API requests. See
  1056  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1057  	// details.
  1058  	ForceSendFields []string `json:"-"`
  1059  	// NullFields is a list of field names (e.g. "Type") to include in API requests
  1060  	// with the JSON null value. By default, fields with empty values are omitted
  1061  	// from API requests. See
  1062  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1063  	NullFields []string `json:"-"`
  1064  }
  1065  
  1066  func (s *AdUrl) MarshalJSON() ([]byte, error) {
  1067  	type NoMethod AdUrl
  1068  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1069  }
  1070  
  1071  // Adloox: Details of Adloox settings.
  1072  type Adloox struct {
  1073  	// ExcludedAdlooxCategories: Adloox's brand safety settings.
  1074  	//
  1075  	// Possible values:
  1076  	//   "ADLOOX_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  1077  	// specify any Adloox option.
  1078  	//   "ADULT_CONTENT_HARD" - Adult content (hard).
  1079  	//   "ADULT_CONTENT_SOFT" - Adult content (soft).
  1080  	//   "ILLEGAL_CONTENT" - Illegal content.
  1081  	//   "BORDERLINE_CONTENT" - Borderline content.
  1082  	//   "DISCRIMINATORY_CONTENT" - Discriminatory content.
  1083  	//   "VIOLENT_CONTENT_WEAPONS" - Violent content & weapons.
  1084  	//   "LOW_VIEWABILITY_DOMAINS" - Low viewability domains.
  1085  	//   "FRAUD" - Fraud.
  1086  	ExcludedAdlooxCategories []string `json:"excludedAdlooxCategories,omitempty"`
  1087  	// ForceSendFields is a list of field names (e.g. "ExcludedAdlooxCategories")
  1088  	// to unconditionally include in API requests. By default, fields with empty or
  1089  	// default values are omitted from API requests. See
  1090  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1091  	// details.
  1092  	ForceSendFields []string `json:"-"`
  1093  	// NullFields is a list of field names (e.g. "ExcludedAdlooxCategories") to
  1094  	// include in API requests with the JSON null value. By default, fields with
  1095  	// empty values are omitted from API requests. See
  1096  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1097  	NullFields []string `json:"-"`
  1098  }
  1099  
  1100  func (s *Adloox) MarshalJSON() ([]byte, error) {
  1101  	type NoMethod Adloox
  1102  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1103  }
  1104  
  1105  // Advertiser: A single advertiser in Display & Video 360 (DV360).
  1106  type Advertiser struct {
  1107  	// AdServerConfig: Required. Immutable. Ad server related settings of the
  1108  	// advertiser.
  1109  	AdServerConfig *AdvertiserAdServerConfig `json:"adServerConfig,omitempty"`
  1110  	// AdvertiserId: Output only. The unique ID of the advertiser. Assigned by the
  1111  	// system.
  1112  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  1113  	// BillingConfig: Optional. Required. Billing related settings of the
  1114  	// advertiser.
  1115  	BillingConfig *AdvertiserBillingConfig `json:"billingConfig,omitempty"`
  1116  	// CreativeConfig: Required. Creative related settings of the advertiser.
  1117  	CreativeConfig *AdvertiserCreativeConfig `json:"creativeConfig,omitempty"`
  1118  	// DataAccessConfig: Settings that control how advertiser data may be accessed.
  1119  	DataAccessConfig *AdvertiserDataAccessConfig `json:"dataAccessConfig,omitempty"`
  1120  	// DisplayName: Required. The display name of the advertiser. Must be UTF-8
  1121  	// encoded with a maximum size of 240 bytes.
  1122  	DisplayName string `json:"displayName,omitempty"`
  1123  	// EntityStatus: Required. Controls whether or not insertion orders and line
  1124  	// items of the advertiser can spend their budgets and bid on inventory. *
  1125  	// Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_PAUSED` and
  1126  	// `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to
  1127  	// `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30
  1128  	// days from when it was first scheduled for deletion.
  1129  	//
  1130  	// Possible values:
  1131  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  1132  	// or is unknown in this version.
  1133  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  1134  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  1135  	// spending are disabled. An entity can be deleted after archived. Deleted
  1136  	// entities cannot be retrieved.
  1137  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  1138  	// spending are disabled.
  1139  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  1140  	// entity.
  1141  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  1142  	// deletion.
  1143  	EntityStatus string `json:"entityStatus,omitempty"`
  1144  	// GeneralConfig: Required. General settings of the advertiser.
  1145  	GeneralConfig *AdvertiserGeneralConfig `json:"generalConfig,omitempty"`
  1146  	// IntegrationDetails: Integration details of the advertiser. Only
  1147  	// integrationCode is currently applicable to advertiser. Other fields of
  1148  	// IntegrationDetails are not supported and will be ignored if provided.
  1149  	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
  1150  	// Name: Output only. The resource name of the advertiser.
  1151  	Name string `json:"name,omitempty"`
  1152  	// PartnerId: Required. Immutable. The unique ID of the partner that the
  1153  	// advertiser belongs to.
  1154  	PartnerId int64 `json:"partnerId,omitempty,string"`
  1155  	// PrismaEnabled: Whether integration with Mediaocean (Prisma) is enabled. By
  1156  	// enabling this, you agree to the following: On behalf of my company, I
  1157  	// authorize Mediaocean (Prisma) to send budget segment plans to Google, and I
  1158  	// authorize Google to send corresponding reporting and invoices from DV360 to
  1159  	// Mediaocean for the purposes of budget planning, billing, and reconciliation
  1160  	// for this advertiser.
  1161  	PrismaEnabled bool `json:"prismaEnabled,omitempty"`
  1162  	// ServingConfig: Targeting settings related to ad serving of the advertiser.
  1163  	ServingConfig *AdvertiserTargetingConfig `json:"servingConfig,omitempty"`
  1164  	// UpdateTime: Output only. The timestamp when the advertiser was last updated.
  1165  	// Assigned by the system.
  1166  	UpdateTime string `json:"updateTime,omitempty"`
  1167  
  1168  	// ServerResponse contains the HTTP response code and headers from the server.
  1169  	googleapi.ServerResponse `json:"-"`
  1170  	// ForceSendFields is a list of field names (e.g. "AdServerConfig") to
  1171  	// unconditionally include in API requests. By default, fields with empty or
  1172  	// default values are omitted from API requests. See
  1173  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1174  	// details.
  1175  	ForceSendFields []string `json:"-"`
  1176  	// NullFields is a list of field names (e.g. "AdServerConfig") to include in
  1177  	// API requests with the JSON null value. By default, fields with empty values
  1178  	// are omitted from API requests. See
  1179  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1180  	NullFields []string `json:"-"`
  1181  }
  1182  
  1183  func (s *Advertiser) MarshalJSON() ([]byte, error) {
  1184  	type NoMethod Advertiser
  1185  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1186  }
  1187  
  1188  // AdvertiserAdServerConfig: Ad server related settings of an advertiser.
  1189  type AdvertiserAdServerConfig struct {
  1190  	// CmHybridConfig: The configuration for advertisers that use both Campaign
  1191  	// Manager 360 (CM360) and third-party ad servers.
  1192  	CmHybridConfig *CmHybridConfig `json:"cmHybridConfig,omitempty"`
  1193  	// ThirdPartyOnlyConfig: The configuration for advertisers that use third-party
  1194  	// ad servers only.
  1195  	ThirdPartyOnlyConfig *ThirdPartyOnlyConfig `json:"thirdPartyOnlyConfig,omitempty"`
  1196  	// ForceSendFields is a list of field names (e.g. "CmHybridConfig") to
  1197  	// unconditionally include in API requests. By default, fields with empty or
  1198  	// default values are omitted from API requests. See
  1199  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1200  	// details.
  1201  	ForceSendFields []string `json:"-"`
  1202  	// NullFields is a list of field names (e.g. "CmHybridConfig") to include in
  1203  	// API requests with the JSON null value. By default, fields with empty values
  1204  	// are omitted from API requests. See
  1205  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1206  	NullFields []string `json:"-"`
  1207  }
  1208  
  1209  func (s *AdvertiserAdServerConfig) MarshalJSON() ([]byte, error) {
  1210  	type NoMethod AdvertiserAdServerConfig
  1211  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1212  }
  1213  
  1214  // AdvertiserBillingConfig: Billing related settings of an advertiser.
  1215  type AdvertiserBillingConfig struct {
  1216  	// BillingProfileId: Optional. The ID of a billing profile assigned to the
  1217  	// advertiser.
  1218  	BillingProfileId int64 `json:"billingProfileId,omitempty,string"`
  1219  	// ForceSendFields is a list of field names (e.g. "BillingProfileId") to
  1220  	// unconditionally include in API requests. By default, fields with empty or
  1221  	// default values are omitted from API requests. See
  1222  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1223  	// details.
  1224  	ForceSendFields []string `json:"-"`
  1225  	// NullFields is a list of field names (e.g. "BillingProfileId") to include in
  1226  	// API requests with the JSON null value. By default, fields with empty values
  1227  	// are omitted from API requests. See
  1228  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1229  	NullFields []string `json:"-"`
  1230  }
  1231  
  1232  func (s *AdvertiserBillingConfig) MarshalJSON() ([]byte, error) {
  1233  	type NoMethod AdvertiserBillingConfig
  1234  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1235  }
  1236  
  1237  // AdvertiserCreativeConfig: Creatives related settings of an advertiser.
  1238  type AdvertiserCreativeConfig struct {
  1239  	// DynamicCreativeEnabled: Whether or not the advertiser is enabled for dynamic
  1240  	// creatives.
  1241  	DynamicCreativeEnabled bool `json:"dynamicCreativeEnabled,omitempty"`
  1242  	// IasClientId: An ID for configuring campaign monitoring provided by Integral
  1243  	// Ad Service (IAS). The DV360 system will append an IAS "Campaign Monitor" tag
  1244  	// containing this ID to the creative tag.
  1245  	IasClientId int64 `json:"iasClientId,omitempty,string"`
  1246  	// ObaComplianceDisabled: Whether or not to disable Google's About this Ad
  1247  	// feature that adds badging (to identify the content as an ad) and
  1248  	// transparency information (on interaction with About this Ad) to your ads for
  1249  	// Online Behavioral Advertising (OBA) and regulatory requirements. About this
  1250  	// Ad gives users greater control over the ads they see and helps you explain
  1251  	// why they're seeing your ad. Learn more
  1252  	// (//support.google.com/displayvideo/answer/14315795). If you choose to set
  1253  	// this field to `true`, note that ads served through Display & Video 360 must
  1254  	// comply to the following: * Be Online Behavioral Advertising (OBA) compliant,
  1255  	// as per your contract with Google Marketing Platform. * In the European
  1256  	// Economic Area (EEA), include transparency information and a mechanism for
  1257  	// users to report illegal content in ads. If using an alternative ad badging,
  1258  	// transparency, and reporting solution, you must ensure it includes the
  1259  	// required transparency information and illegal content flagging mechanism and
  1260  	// that you notify Google of any illegal content reports using the appropriate
  1261  	// form
  1262  	// (//support.google.com/legal/troubleshooter/1114905?sjid=6787484030557261960-E
  1263  	// U#ts=2981967%2C2982031%2C12980091).
  1264  	ObaComplianceDisabled bool `json:"obaComplianceDisabled,omitempty"`
  1265  	// VideoCreativeDataSharingAuthorized: By setting this field to `true`, you, on
  1266  	// behalf of your company, authorize Google to use video creatives associated
  1267  	// with this Display & Video 360 advertiser to provide reporting and features
  1268  	// related to the advertiser's television campaigns. Applicable only when the
  1269  	// advertiser has a CM360 hybrid ad server configuration.
  1270  	VideoCreativeDataSharingAuthorized bool `json:"videoCreativeDataSharingAuthorized,omitempty"`
  1271  	// ForceSendFields is a list of field names (e.g. "DynamicCreativeEnabled") to
  1272  	// unconditionally include in API requests. By default, fields with empty or
  1273  	// default values are omitted from API requests. See
  1274  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1275  	// details.
  1276  	ForceSendFields []string `json:"-"`
  1277  	// NullFields is a list of field names (e.g. "DynamicCreativeEnabled") to
  1278  	// include in API requests with the JSON null value. By default, fields with
  1279  	// empty values are omitted from API requests. See
  1280  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1281  	NullFields []string `json:"-"`
  1282  }
  1283  
  1284  func (s *AdvertiserCreativeConfig) MarshalJSON() ([]byte, error) {
  1285  	type NoMethod AdvertiserCreativeConfig
  1286  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1287  }
  1288  
  1289  // AdvertiserDataAccessConfig: Settings that control how advertiser related
  1290  // data may be accessed.
  1291  type AdvertiserDataAccessConfig struct {
  1292  	// SdfConfig: Structured Data Files (SDF) settings for the advertiser. If not
  1293  	// specified, the SDF settings of the parent partner are used.
  1294  	SdfConfig *AdvertiserSdfConfig `json:"sdfConfig,omitempty"`
  1295  	// ForceSendFields is a list of field names (e.g. "SdfConfig") to
  1296  	// unconditionally include in API requests. By default, fields with empty or
  1297  	// default values are omitted from API requests. See
  1298  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1299  	// details.
  1300  	ForceSendFields []string `json:"-"`
  1301  	// NullFields is a list of field names (e.g. "SdfConfig") to include in API
  1302  	// requests with the JSON null value. By default, fields with empty values are
  1303  	// omitted from API requests. See
  1304  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1305  	NullFields []string `json:"-"`
  1306  }
  1307  
  1308  func (s *AdvertiserDataAccessConfig) MarshalJSON() ([]byte, error) {
  1309  	type NoMethod AdvertiserDataAccessConfig
  1310  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1311  }
  1312  
  1313  // AdvertiserGeneralConfig: General settings of an advertiser.
  1314  type AdvertiserGeneralConfig struct {
  1315  	// CurrencyCode: Required. Immutable. Advertiser's currency in ISO 4217 format.
  1316  	// Accepted codes and the currencies they represent are: Currency Code :
  1317  	// Currency Name * `ARS` : Argentine Peso * `AUD` : Australian Dollar * `BRL` :
  1318  	// Brazilian Real * `CAD` : Canadian Dollar * `CHF` : Swiss Franc * `CLP` :
  1319  	// Chilean Peso * `CNY` : Chinese Yuan * `COP` : Colombian Peso * `CZK` : Czech
  1320  	// Koruna * `DKK` : Danish Krone * `EGP` : Egyption Pound * `EUR` : Euro *
  1321  	// `GBP` : British Pound * `HKD` : Hong Kong Dollar * `HUF` : Hungarian Forint
  1322  	// * `IDR` : Indonesian Rupiah * `ILS` : Israeli Shekel * `INR` : Indian Rupee
  1323  	// * `JPY` : Japanese Yen * `KRW` : South Korean Won * `MXN` : Mexican Pesos *
  1324  	// `MYR` : Malaysian Ringgit * `NGN` : Nigerian Naira * `NOK` : Norwegian Krone
  1325  	// * `NZD` : New Zealand Dollar * `PEN` : Peruvian Nuevo Sol * `PLN` : Polish
  1326  	// Zloty * `RON` : New Romanian Leu * `RUB` : Russian Ruble * `SEK` : Swedish
  1327  	// Krona * `TRY` : Turkish Lira * `TWD` : New Taiwan Dollar * `USD` : US Dollar
  1328  	// * `ZAR` : South African Rand
  1329  	CurrencyCode string `json:"currencyCode,omitempty"`
  1330  	// DomainUrl: Required. The domain URL of the advertiser's primary website. The
  1331  	// system will send this information to publishers that require website URL to
  1332  	// associate a campaign with an advertiser. Provide a URL with no path or query
  1333  	// string, beginning with `http:` or `https:`. For example,
  1334  	// http://www.example.com
  1335  	DomainUrl string `json:"domainUrl,omitempty"`
  1336  	// TimeZone: Output only. The standard TZ database name of the advertiser's
  1337  	// time zone. For example, `America/New_York`. See more at:
  1338  	// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones For CM360
  1339  	// hybrid advertisers, the time zone is the same as that of the associated
  1340  	// CM360 account; for third-party only advertisers, the time zone is the same
  1341  	// as that of the parent partner.
  1342  	TimeZone string `json:"timeZone,omitempty"`
  1343  	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
  1344  	// unconditionally include in API requests. By default, fields with empty or
  1345  	// default values are omitted from API requests. See
  1346  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1347  	// details.
  1348  	ForceSendFields []string `json:"-"`
  1349  	// NullFields is a list of field names (e.g. "CurrencyCode") to include in API
  1350  	// requests with the JSON null value. By default, fields with empty values are
  1351  	// omitted from API requests. See
  1352  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1353  	NullFields []string `json:"-"`
  1354  }
  1355  
  1356  func (s *AdvertiserGeneralConfig) MarshalJSON() ([]byte, error) {
  1357  	type NoMethod AdvertiserGeneralConfig
  1358  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1359  }
  1360  
  1361  // AdvertiserSdfConfig: Structured Data Files (SDF) settings of an advertiser.
  1362  type AdvertiserSdfConfig struct {
  1363  	// OverridePartnerSdfConfig: Whether or not this advertiser overrides the SDF
  1364  	// configuration of its parent partner. By default, an advertiser inherits the
  1365  	// SDF configuration from the parent partner. To override the partner
  1366  	// configuration, set this field to `true` and provide the new configuration in
  1367  	// sdfConfig.
  1368  	OverridePartnerSdfConfig bool `json:"overridePartnerSdfConfig,omitempty"`
  1369  	// SdfConfig: The SDF configuration for the advertiser. * Required when
  1370  	// overridePartnerSdfConfig is `true`. * Output only when
  1371  	// overridePartnerSdfConfig is `false`.
  1372  	SdfConfig *SdfConfig `json:"sdfConfig,omitempty"`
  1373  	// ForceSendFields is a list of field names (e.g. "OverridePartnerSdfConfig")
  1374  	// to unconditionally include in API requests. By default, fields with empty or
  1375  	// default values are omitted from API requests. See
  1376  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1377  	// details.
  1378  	ForceSendFields []string `json:"-"`
  1379  	// NullFields is a list of field names (e.g. "OverridePartnerSdfConfig") to
  1380  	// include in API requests with the JSON null value. By default, fields with
  1381  	// empty values are omitted from API requests. See
  1382  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1383  	NullFields []string `json:"-"`
  1384  }
  1385  
  1386  func (s *AdvertiserSdfConfig) MarshalJSON() ([]byte, error) {
  1387  	type NoMethod AdvertiserSdfConfig
  1388  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1389  }
  1390  
  1391  // AdvertiserTargetingConfig: Targeting settings related to ad serving of an
  1392  // advertiser.
  1393  type AdvertiserTargetingConfig struct {
  1394  	// ExemptTvFromViewabilityTargeting: Whether or not connected TV devices are
  1395  	// exempt from viewability targeting for all video line items under the
  1396  	// advertiser.
  1397  	ExemptTvFromViewabilityTargeting bool `json:"exemptTvFromViewabilityTargeting,omitempty"`
  1398  	// ForceSendFields is a list of field names (e.g.
  1399  	// "ExemptTvFromViewabilityTargeting") to unconditionally include in API
  1400  	// requests. By default, fields with empty or default values are omitted from
  1401  	// API requests. See
  1402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1403  	// details.
  1404  	ForceSendFields []string `json:"-"`
  1405  	// NullFields is a list of field names (e.g.
  1406  	// "ExemptTvFromViewabilityTargeting") to include in API requests with the JSON
  1407  	// null value. By default, fields with empty values are omitted from API
  1408  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
  1409  	// more details.
  1410  	NullFields []string `json:"-"`
  1411  }
  1412  
  1413  func (s *AdvertiserTargetingConfig) MarshalJSON() ([]byte, error) {
  1414  	type NoMethod AdvertiserTargetingConfig
  1415  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1416  }
  1417  
  1418  // AgeRangeAssignedTargetingOptionDetails: Represents a targetable age range.
  1419  // This will be populated in the details field of an AssignedTargetingOption
  1420  // when targeting_type is `TARGETING_TYPE_AGE_RANGE`.
  1421  type AgeRangeAssignedTargetingOptionDetails struct {
  1422  	// AgeRange: Required. The age range of an audience. We only support targeting
  1423  	// a continuous age range of an audience. Thus, the age range represented in
  1424  	// this field can be 1) targeted solely, or, 2) part of a larger continuous age
  1425  	// range. The reach of a continuous age range targeting can be expanded by also
  1426  	// targeting an audience of an unknown age.
  1427  	//
  1428  	// Possible values:
  1429  	//   "AGE_RANGE_UNSPECIFIED" - Default value when age range is not specified in
  1430  	// this version. This enum is a placeholder for default value and does not
  1431  	// represent a real age range option.
  1432  	//   "AGE_RANGE_18_24" - The age range of the audience is 18 to 24.
  1433  	//   "AGE_RANGE_25_34" - The age range of the audience is 25 to 34.
  1434  	//   "AGE_RANGE_35_44" - The age range of the audience is 35 to 44.
  1435  	//   "AGE_RANGE_45_54" - The age range of the audience is 45 to 54.
  1436  	//   "AGE_RANGE_55_64" - The age range of the audience is 55 to 64.
  1437  	//   "AGE_RANGE_65_PLUS" - The age range of the audience is 65 and up.
  1438  	//   "AGE_RANGE_UNKNOWN" - The age range of the audience is unknown.
  1439  	//   "AGE_RANGE_18_20" - The age range of the audience is 18 to 20, only
  1440  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1441  	//   "AGE_RANGE_21_24" - The age range of the audience is 21 to 24, only
  1442  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1443  	//   "AGE_RANGE_25_29" - The age range of the audience is 25 to 29, only
  1444  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1445  	//   "AGE_RANGE_30_34" - The age range of the audience is 30 to 34, only
  1446  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1447  	//   "AGE_RANGE_35_39" - The age range of the audience is 35 to 39, only
  1448  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1449  	//   "AGE_RANGE_40_44" - The age range of the audience is 40 to 44, only
  1450  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1451  	//   "AGE_RANGE_45_49" - The age range of the audience is 45 to 49, only
  1452  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1453  	//   "AGE_RANGE_50_54" - The age range of the audience is 50 to 54, only
  1454  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1455  	//   "AGE_RANGE_55_59" - The age range of the audience is 55 to 59, only
  1456  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1457  	//   "AGE_RANGE_60_64" - The age range of the audience is 60 to 64, only
  1458  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1459  	AgeRange string `json:"ageRange,omitempty"`
  1460  	// ForceSendFields is a list of field names (e.g. "AgeRange") to
  1461  	// unconditionally include in API requests. By default, fields with empty or
  1462  	// default values are omitted from API requests. See
  1463  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1464  	// details.
  1465  	ForceSendFields []string `json:"-"`
  1466  	// NullFields is a list of field names (e.g. "AgeRange") to include in API
  1467  	// requests with the JSON null value. By default, fields with empty values are
  1468  	// omitted from API requests. See
  1469  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1470  	NullFields []string `json:"-"`
  1471  }
  1472  
  1473  func (s *AgeRangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  1474  	type NoMethod AgeRangeAssignedTargetingOptionDetails
  1475  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1476  }
  1477  
  1478  // AgeRangeTargetingOptionDetails: Represents a targetable age range. This will
  1479  // be populated in the age_range_details field when targeting_type is
  1480  // `TARGETING_TYPE_AGE_RANGE`.
  1481  type AgeRangeTargetingOptionDetails struct {
  1482  	// AgeRange: Output only. The age range of an audience.
  1483  	//
  1484  	// Possible values:
  1485  	//   "AGE_RANGE_UNSPECIFIED" - Default value when age range is not specified in
  1486  	// this version. This enum is a placeholder for default value and does not
  1487  	// represent a real age range option.
  1488  	//   "AGE_RANGE_18_24" - The age range of the audience is 18 to 24.
  1489  	//   "AGE_RANGE_25_34" - The age range of the audience is 25 to 34.
  1490  	//   "AGE_RANGE_35_44" - The age range of the audience is 35 to 44.
  1491  	//   "AGE_RANGE_45_54" - The age range of the audience is 45 to 54.
  1492  	//   "AGE_RANGE_55_64" - The age range of the audience is 55 to 64.
  1493  	//   "AGE_RANGE_65_PLUS" - The age range of the audience is 65 and up.
  1494  	//   "AGE_RANGE_UNKNOWN" - The age range of the audience is unknown.
  1495  	//   "AGE_RANGE_18_20" - The age range of the audience is 18 to 20, only
  1496  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1497  	//   "AGE_RANGE_21_24" - The age range of the audience is 21 to 24, only
  1498  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1499  	//   "AGE_RANGE_25_29" - The age range of the audience is 25 to 29, only
  1500  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1501  	//   "AGE_RANGE_30_34" - The age range of the audience is 30 to 34, only
  1502  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1503  	//   "AGE_RANGE_35_39" - The age range of the audience is 35 to 39, only
  1504  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1505  	//   "AGE_RANGE_40_44" - The age range of the audience is 40 to 44, only
  1506  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1507  	//   "AGE_RANGE_45_49" - The age range of the audience is 45 to 49, only
  1508  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1509  	//   "AGE_RANGE_50_54" - The age range of the audience is 50 to 54, only
  1510  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1511  	//   "AGE_RANGE_55_59" - The age range of the audience is 55 to 59, only
  1512  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1513  	//   "AGE_RANGE_60_64" - The age range of the audience is 60 to 64, only
  1514  	// supported for the AdGroup of YouTube Programmatic Reservation line item.
  1515  	AgeRange string `json:"ageRange,omitempty"`
  1516  	// ForceSendFields is a list of field names (e.g. "AgeRange") to
  1517  	// unconditionally include in API requests. By default, fields with empty or
  1518  	// default values are omitted from API requests. See
  1519  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1520  	// details.
  1521  	ForceSendFields []string `json:"-"`
  1522  	// NullFields is a list of field names (e.g. "AgeRange") to include in API
  1523  	// requests with the JSON null value. By default, fields with empty values are
  1524  	// omitted from API requests. See
  1525  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1526  	NullFields []string `json:"-"`
  1527  }
  1528  
  1529  func (s *AgeRangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  1530  	type NoMethod AgeRangeTargetingOptionDetails
  1531  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1532  }
  1533  
  1534  // AlgorithmRules: Rule-based algorithm.
  1535  type AlgorithmRules struct {
  1536  	// ImpressionSignalRuleset: Rules for the impression signals.
  1537  	ImpressionSignalRuleset *AlgorithmRulesRuleset `json:"impressionSignalRuleset,omitempty"`
  1538  	// ForceSendFields is a list of field names (e.g. "ImpressionSignalRuleset") to
  1539  	// unconditionally include in API requests. By default, fields with empty or
  1540  	// default values are omitted from API requests. See
  1541  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1542  	// details.
  1543  	ForceSendFields []string `json:"-"`
  1544  	// NullFields is a list of field names (e.g. "ImpressionSignalRuleset") to
  1545  	// include in API requests with the JSON null value. By default, fields with
  1546  	// empty values are omitted from API requests. See
  1547  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1548  	NullFields []string `json:"-"`
  1549  }
  1550  
  1551  func (s *AlgorithmRules) MarshalJSON() ([]byte, error) {
  1552  	type NoMethod AlgorithmRules
  1553  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1554  }
  1555  
  1556  // AlgorithmRulesComparisonValue: A value to compare the signal to.
  1557  type AlgorithmRulesComparisonValue struct {
  1558  	// BoolValue: Boolean value.
  1559  	BoolValue bool `json:"boolValue,omitempty"`
  1560  	// CreativeDimensionValue: Creative dimension value.
  1561  	CreativeDimensionValue *Dimensions `json:"creativeDimensionValue,omitempty"`
  1562  	// DayAndTimeValue: Day and time value. Only `TIME_ZONE_RESOLUTION_END_USER` is
  1563  	// supported.
  1564  	DayAndTimeValue *DayAndTime `json:"dayAndTimeValue,omitempty"`
  1565  	// DeviceTypeValue: Device type value.
  1566  	//
  1567  	// Possible values:
  1568  	//   "RULE_DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
  1569  	// specified in this version. This enum is a placeholder for default value and
  1570  	// does not represent a real device type option.
  1571  	//   "RULE_DEVICE_TYPE_COMPUTER" - Computer.
  1572  	//   "RULE_DEVICE_TYPE_CONNECTED_TV" - Connected TV.
  1573  	//   "RULE_DEVICE_TYPE_SMART_PHONE" - Smart phone.
  1574  	//   "RULE_DEVICE_TYPE_TABLET" - Tablet.
  1575  	//   "RULE_DEVICE_TYPE_CONNECTED_DEVICE" - Connected device.
  1576  	//   "RULE_DEVICE_TYPE_SET_TOP_BOX" - Set top box.
  1577  	DeviceTypeValue string `json:"deviceTypeValue,omitempty"`
  1578  	// DoubleValue: Double value.
  1579  	DoubleValue float64 `json:"doubleValue,omitempty"`
  1580  	// EnvironmentValue: Environment value.
  1581  	//
  1582  	// Possible values:
  1583  	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
  1584  	// specified in this version. This enum is a placeholder for default value and
  1585  	// does not represent a real environment option.
  1586  	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in browsers. This
  1587  	// includes inventory that was designed for the device it was viewed on, such
  1588  	// as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED,
  1589  	// if targeted, should be deleted prior to the deletion of this targeting
  1590  	// option.
  1591  	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in browsers.
  1592  	// This includes inventory that was not designed for the device but viewed on
  1593  	// it, such as websites optimized for desktop but viewed on a mobile device.
  1594  	// ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this
  1595  	// targeting option.
  1596  	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
  1597  	EnvironmentValue string `json:"environmentValue,omitempty"`
  1598  	// ExchangeValue: Exchange value.
  1599  	//
  1600  	// Possible values:
  1601  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  1602  	// version.
  1603  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  1604  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  1605  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  1606  	//   "EXCHANGE_ADFORM" - Adform.
  1607  	//   "EXCHANGE_ADMETA" - Admeta.
  1608  	//   "EXCHANGE_ADMIXER" - Admixer.
  1609  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  1610  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  1611  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  1612  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  1613  	// Yahoo!.
  1614  	//   "EXCHANGE_CADREON" - Cadreon.
  1615  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  1616  	//   "EXCHANGE_FIVE" - Five.
  1617  	//   "EXCHANGE_FLUCT" - Fluct.
  1618  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  1619  	//   "EXCHANGE_GENIEE" - Geniee.
  1620  	//   "EXCHANGE_GUMGUM" - GumGum.
  1621  	//   "EXCHANGE_IMOBILE" - i-mobile.
  1622  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  1623  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  1624  	//   "EXCHANGE_INDEX" - Index Exchange.
  1625  	//   "EXCHANGE_KARGO" - Kargo.
  1626  	//   "EXCHANGE_MICROAD" - MicroAd.
  1627  	//   "EXCHANGE_MOPUB" - MoPub.
  1628  	//   "EXCHANGE_NEND" - Nend.
  1629  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  1630  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  1631  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  1632  	//   "EXCHANGE_OOYALA" - Ooyala.
  1633  	//   "EXCHANGE_OPENX" - OpenX.
  1634  	//   "EXCHANGE_PERMODO" - Permodo.
  1635  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  1636  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  1637  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  1638  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  1639  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  1640  	//   "EXCHANGE_RUBICON" - Rubicon.
  1641  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  1642  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  1643  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  1644  	//   "EXCHANGE_SOVRN" - Sovrn.
  1645  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  1646  	//   "EXCHANGE_STROER" - Ströer SSP.
  1647  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  1648  	//   "EXCHANGE_TELARIA" - Telaria.
  1649  	//   "EXCHANGE_TVN" - TVN.
  1650  	//   "EXCHANGE_UNITED" - United.
  1651  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  1652  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  1653  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  1654  	//   "EXCHANGE_OPEN8" - Open8.
  1655  	//   "EXCHANGE_TRITON" - Triton.
  1656  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  1657  	//   "EXCHANGE_TABOOLA" - Taboola.
  1658  	//   "EXCHANGE_INMOBI" - InMobi.
  1659  	//   "EXCHANGE_SMAATO" - Smaato.
  1660  	//   "EXCHANGE_AJA" - Aja.
  1661  	//   "EXCHANGE_SUPERSHIP" - Supership.
  1662  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  1663  	//   "EXCHANGE_WAZE" - Waze.
  1664  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  1665  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  1666  	//   "EXCHANGE_FYBER" - Fyber.
  1667  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  1668  	//   "EXCHANGE_MEDIANET" - Media.net.
  1669  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  1670  	//   "EXCHANGE_VISTAR" - Vistar.
  1671  	//   "EXCHANGE_DAX" - DAX.
  1672  	//   "EXCHANGE_JCD" - JCD.
  1673  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  1674  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  1675  	//   "EXCHANGE_CONNATIX" - Connatix.
  1676  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  1677  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  1678  	//   "EXCHANGE_DRAX" - Drax.
  1679  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  1680  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  1681  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  1682  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  1683  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  1684  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  1685  	ExchangeValue string `json:"exchangeValue,omitempty"`
  1686  	// Int64Value: Integer value.
  1687  	Int64Value int64 `json:"int64Value,omitempty,string"`
  1688  	// OnScreenPositionValue: Ad position value.
  1689  	//
  1690  	// Possible values:
  1691  	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not specified in
  1692  	// this version. This enum is a place holder for a default value and does not
  1693  	// represent a real on screen position.
  1694  	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the screen.
  1695  	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the fold.
  1696  	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the fold.
  1697  	OnScreenPositionValue string `json:"onScreenPositionValue,omitempty"`
  1698  	// StringValue: String value.
  1699  	StringValue string `json:"stringValue,omitempty"`
  1700  	// ForceSendFields is a list of field names (e.g. "BoolValue") to
  1701  	// unconditionally include in API requests. By default, fields with empty or
  1702  	// default values are omitted from API requests. See
  1703  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1704  	// details.
  1705  	ForceSendFields []string `json:"-"`
  1706  	// NullFields is a list of field names (e.g. "BoolValue") to include in API
  1707  	// requests with the JSON null value. By default, fields with empty values are
  1708  	// omitted from API requests. See
  1709  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1710  	NullFields []string `json:"-"`
  1711  }
  1712  
  1713  func (s *AlgorithmRulesComparisonValue) MarshalJSON() ([]byte, error) {
  1714  	type NoMethod AlgorithmRulesComparisonValue
  1715  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1716  }
  1717  
  1718  func (s *AlgorithmRulesComparisonValue) UnmarshalJSON(data []byte) error {
  1719  	type NoMethod AlgorithmRulesComparisonValue
  1720  	var s1 struct {
  1721  		DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
  1722  		*NoMethod
  1723  	}
  1724  	s1.NoMethod = (*NoMethod)(s)
  1725  	if err := json.Unmarshal(data, &s1); err != nil {
  1726  		return err
  1727  	}
  1728  	s.DoubleValue = float64(s1.DoubleValue)
  1729  	return nil
  1730  }
  1731  
  1732  // AlgorithmRulesRule: Set of conditions. The return value of the rule is
  1733  // either: * The return value for single met condition or * The defined default
  1734  // return value if no conditions are met.
  1735  type AlgorithmRulesRule struct {
  1736  	// Conditions: List of conditions in this rule. The criteria among conditions
  1737  	// should be mutually exclusive.
  1738  	Conditions []*AlgorithmRulesRuleCondition `json:"conditions,omitempty"`
  1739  	// DefaultReturnValue: The default return value applied when none of the
  1740  	// conditions are met.
  1741  	DefaultReturnValue *AlgorithmRulesSignalValue `json:"defaultReturnValue,omitempty"`
  1742  	// ForceSendFields is a list of field names (e.g. "Conditions") to
  1743  	// unconditionally include in API requests. By default, fields with empty or
  1744  	// default values are omitted from API requests. See
  1745  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1746  	// details.
  1747  	ForceSendFields []string `json:"-"`
  1748  	// NullFields is a list of field names (e.g. "Conditions") to include in API
  1749  	// requests with the JSON null value. By default, fields with empty values are
  1750  	// omitted from API requests. See
  1751  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1752  	NullFields []string `json:"-"`
  1753  }
  1754  
  1755  func (s *AlgorithmRulesRule) MarshalJSON() ([]byte, error) {
  1756  	type NoMethod AlgorithmRulesRule
  1757  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1758  }
  1759  
  1760  // AlgorithmRulesRuleCondition: Set of signal comparisons. Equivalent of an
  1761  // `if` statement.
  1762  type AlgorithmRulesRuleCondition struct {
  1763  	// ReturnValue: The value returned if the `signalComparisons` condition
  1764  	// evaluates to `TRUE`.
  1765  	ReturnValue *AlgorithmRulesSignalValue `json:"returnValue,omitempty"`
  1766  	// SignalComparisons: List of comparisons that build `if` statement condition.
  1767  	// The comparisons are combined into a single condition with `AND` logical
  1768  	// operators.
  1769  	SignalComparisons []*AlgorithmRulesSignalComparison `json:"signalComparisons,omitempty"`
  1770  	// ForceSendFields is a list of field names (e.g. "ReturnValue") to
  1771  	// unconditionally include in API requests. By default, fields with empty or
  1772  	// default values are omitted from API requests. See
  1773  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1774  	// details.
  1775  	ForceSendFields []string `json:"-"`
  1776  	// NullFields is a list of field names (e.g. "ReturnValue") to include in API
  1777  	// requests with the JSON null value. By default, fields with empty values are
  1778  	// omitted from API requests. See
  1779  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1780  	NullFields []string `json:"-"`
  1781  }
  1782  
  1783  func (s *AlgorithmRulesRuleCondition) MarshalJSON() ([]byte, error) {
  1784  	type NoMethod AlgorithmRulesRuleCondition
  1785  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1786  }
  1787  
  1788  // AlgorithmRulesRuleset: A ruleset consisting of a list of rules and how to
  1789  // aggregate the resulting values.
  1790  type AlgorithmRulesRuleset struct {
  1791  	// AggregationType: How to aggregate values of evaluated rules.
  1792  	//
  1793  	// Possible values:
  1794  	//   "RULE_AGGREGATION_TYPE_UNSPECIFIED" - Unknown aggregation type.
  1795  	//   "SUM_OF_VALUES" - The sum of rule values.
  1796  	//   "PRODUCT_OF_VALUES" - The product of rule values.
  1797  	//   "MAXIMUM_VALUE" - The maximum rule value.
  1798  	AggregationType string `json:"aggregationType,omitempty"`
  1799  	// MaxValue: Maximum value the ruleset can evaluate to.
  1800  	MaxValue float64 `json:"maxValue,omitempty"`
  1801  	// Rules: List of rules to generate the impression value.
  1802  	Rules []*AlgorithmRulesRule `json:"rules,omitempty"`
  1803  	// ForceSendFields is a list of field names (e.g. "AggregationType") to
  1804  	// unconditionally include in API requests. By default, fields with empty or
  1805  	// default values are omitted from API requests. See
  1806  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1807  	// details.
  1808  	ForceSendFields []string `json:"-"`
  1809  	// NullFields is a list of field names (e.g. "AggregationType") to include in
  1810  	// API requests with the JSON null value. By default, fields with empty values
  1811  	// are omitted from API requests. See
  1812  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1813  	NullFields []string `json:"-"`
  1814  }
  1815  
  1816  func (s *AlgorithmRulesRuleset) MarshalJSON() ([]byte, error) {
  1817  	type NoMethod AlgorithmRulesRuleset
  1818  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1819  }
  1820  
  1821  func (s *AlgorithmRulesRuleset) UnmarshalJSON(data []byte) error {
  1822  	type NoMethod AlgorithmRulesRuleset
  1823  	var s1 struct {
  1824  		MaxValue gensupport.JSONFloat64 `json:"maxValue"`
  1825  		*NoMethod
  1826  	}
  1827  	s1.NoMethod = (*NoMethod)(s)
  1828  	if err := json.Unmarshal(data, &s1); err != nil {
  1829  		return err
  1830  	}
  1831  	s.MaxValue = float64(s1.MaxValue)
  1832  	return nil
  1833  }
  1834  
  1835  // AlgorithmRulesSignal: Signal used to evaluate rules.
  1836  type AlgorithmRulesSignal struct {
  1837  	// ImpressionSignal: Signal based on impressions.
  1838  	//
  1839  	// Possible values:
  1840  	//   "IMPRESSION_SIGNAL_UNSPECIFIED" - Unknown signal.
  1841  	//   "DAY_AND_TIME" - The day of the week and hour of day the impression was
  1842  	// made using browser's local time zone. Value is stored in the dayAndTimeValue
  1843  	// field of the comparison value.
  1844  	//   "DEVICE_TYPE" - Device type. Value is stored in the deviceTypeValue field
  1845  	// of the comparison value.
  1846  	//   "AD_POSITION" - Ad position. Value is stored in the onScreenPositionValue
  1847  	// field of the comparison value.
  1848  	//   "OPERATING_SYSTEM_ID" - The operating system identifier. Value is stored
  1849  	// in the int64Value field of the comparison value.
  1850  	//   "MOBILE_MODEL_ID" - The mobile model identifier. Value is stored in the
  1851  	// int64Value field of the comparison value.
  1852  	//   "EXCHANGE" - Exchange. Value is stored in the exchangeValue field of the
  1853  	// comparison value.
  1854  	//   "ENVIRONMENT" - Serving environment. Value is stored in the
  1855  	// environmentValue field of the comparison value.
  1856  	//   "COUNTRY_ID" - The country or region identifier. Value is stored in the
  1857  	// int64Value field of the comparison value.
  1858  	//   "CITY_ID" - The city identifier. Value is stored in the int64Value field
  1859  	// of the comparison value.
  1860  	//   "BROWSER_ID" - The browser identifier. Value is stored in the int64Value
  1861  	// field of the comparison value.
  1862  	//   "CREATIVE_DIMENSION" - Creative height and width in pixels. Value is
  1863  	// stored in the creativeDimensionValue field of the comparison value.
  1864  	ImpressionSignal string `json:"impressionSignal,omitempty"`
  1865  	// ForceSendFields is a list of field names (e.g. "ImpressionSignal") to
  1866  	// unconditionally include in API requests. By default, fields with empty or
  1867  	// default values are omitted from API requests. See
  1868  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1869  	// details.
  1870  	ForceSendFields []string `json:"-"`
  1871  	// NullFields is a list of field names (e.g. "ImpressionSignal") to include in
  1872  	// API requests with the JSON null value. By default, fields with empty values
  1873  	// are omitted from API requests. See
  1874  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1875  	NullFields []string `json:"-"`
  1876  }
  1877  
  1878  func (s *AlgorithmRulesSignal) MarshalJSON() ([]byte, error) {
  1879  	type NoMethod AlgorithmRulesSignal
  1880  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1881  }
  1882  
  1883  // AlgorithmRulesSignalComparison: A single comparison. The comparison compares
  1884  // the `signal` to the `comparisonValue`. The comparison of `siteId==123` is
  1885  // represented with the following field values: * `signal` has an
  1886  // `impressionSignal` of `SITE_ID`. * `comparisonOperator` is set to `EQUAL`. *
  1887  // `comparisonValue` is set to 123.
  1888  type AlgorithmRulesSignalComparison struct {
  1889  	// ComparisonOperator: Operator used to compare the two values. In the
  1890  	// resulting experession, the `signal` will be the first value and the
  1891  	// `comparisonValue will be the second.
  1892  	//
  1893  	// Possible values:
  1894  	//   "COMPARISON_OPERATOR_UNSPECIFIED" - Unknown operator.
  1895  	//   "EQUAL" - Values are equal.
  1896  	//   "GREATER_THAN" - First value is greater than the comparison value.
  1897  	//   "LESS_THAN" - First value is less than the second.
  1898  	//   "GREATER_THAN_OR_EQUAL_TO" - First value is greater than or equal to the
  1899  	// second.
  1900  	//   "LESS_THAN_OR_EQUAL_TO" - First value is less or equals to the comparison
  1901  	// value.
  1902  	ComparisonOperator string `json:"comparisonOperator,omitempty"`
  1903  	// ComparisonValue: Value to compare signal to.
  1904  	ComparisonValue *AlgorithmRulesComparisonValue `json:"comparisonValue,omitempty"`
  1905  	// Signal: Signal to compare.
  1906  	Signal *AlgorithmRulesSignal `json:"signal,omitempty"`
  1907  	// ForceSendFields is a list of field names (e.g. "ComparisonOperator") to
  1908  	// unconditionally include in API requests. By default, fields with empty or
  1909  	// default values are omitted from API requests. See
  1910  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1911  	// details.
  1912  	ForceSendFields []string `json:"-"`
  1913  	// NullFields is a list of field names (e.g. "ComparisonOperator") to include
  1914  	// in API requests with the JSON null value. By default, fields with empty
  1915  	// values are omitted from API requests. See
  1916  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1917  	NullFields []string `json:"-"`
  1918  }
  1919  
  1920  func (s *AlgorithmRulesSignalComparison) MarshalJSON() ([]byte, error) {
  1921  	type NoMethod AlgorithmRulesSignalComparison
  1922  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1923  }
  1924  
  1925  // AlgorithmRulesSignalValue: Adjusted value of the signal used for rule
  1926  // evaluation.
  1927  type AlgorithmRulesSignalValue struct {
  1928  	// Number: Value to use as result.
  1929  	Number float64 `json:"number,omitempty"`
  1930  	// ForceSendFields is a list of field names (e.g. "Number") to unconditionally
  1931  	// include in API requests. By default, fields with empty or default values are
  1932  	// omitted from API requests. See
  1933  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  1934  	// details.
  1935  	ForceSendFields []string `json:"-"`
  1936  	// NullFields is a list of field names (e.g. "Number") to include in API
  1937  	// requests with the JSON null value. By default, fields with empty values are
  1938  	// omitted from API requests. See
  1939  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  1940  	NullFields []string `json:"-"`
  1941  }
  1942  
  1943  func (s *AlgorithmRulesSignalValue) MarshalJSON() ([]byte, error) {
  1944  	type NoMethod AlgorithmRulesSignalValue
  1945  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  1946  }
  1947  
  1948  func (s *AlgorithmRulesSignalValue) UnmarshalJSON(data []byte) error {
  1949  	type NoMethod AlgorithmRulesSignalValue
  1950  	var s1 struct {
  1951  		Number gensupport.JSONFloat64 `json:"number"`
  1952  		*NoMethod
  1953  	}
  1954  	s1.NoMethod = (*NoMethod)(s)
  1955  	if err := json.Unmarshal(data, &s1); err != nil {
  1956  		return err
  1957  	}
  1958  	s.Number = float64(s1.Number)
  1959  	return nil
  1960  }
  1961  
  1962  // AppAssignedTargetingOptionDetails: Details for assigned app targeting
  1963  // option. This will be populated in the details field of an
  1964  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`.
  1965  type AppAssignedTargetingOptionDetails struct {
  1966  	// AppId: Required. The ID of the app. Android's Play store app uses bundle ID,
  1967  	// for example `com.google.android.gm`. Apple's App store app ID uses 9 digit
  1968  	// string, for example `422689480`.
  1969  	AppId string `json:"appId,omitempty"`
  1970  	// AppPlatform: Indicates the platform of the targeted app. If this field is
  1971  	// not specified, the app platform will be assumed to be mobile (i.e., Android
  1972  	// or iOS), and we will derive the appropriate mobile platform from the app ID.
  1973  	//
  1974  	// Possible values:
  1975  	//   "APP_PLATFORM_UNSPECIFIED" - Default value when app platform is not
  1976  	// specified in this version. This enum is a placeholder for default value and
  1977  	// does not represent a real platform option.
  1978  	//   "APP_PLATFORM_IOS" - The app platform is iOS.
  1979  	//   "APP_PLATFORM_ANDROID" - The app platform is Android.
  1980  	//   "APP_PLATFORM_ROKU" - The app platform is Roku.
  1981  	//   "APP_PLATFORM_AMAZON_FIRETV" - The app platform is Amazon FireTV.
  1982  	//   "APP_PLATFORM_PLAYSTATION" - The app platform is Playstation.
  1983  	//   "APP_PLATFORM_APPLE_TV" - The app platform is Apple TV.
  1984  	//   "APP_PLATFORM_XBOX" - The app platform is Xbox.
  1985  	//   "APP_PLATFORM_SAMSUNG_TV" - The app platform is Samsung TV.
  1986  	//   "APP_PLATFORM_ANDROID_TV" - The app platform is Android TV.
  1987  	//   "APP_PLATFORM_GENERIC_CTV" - The app platform is a CTV platform that is
  1988  	// not explicitly listed elsewhere.
  1989  	//   "APP_PLATFORM_LG_TV" - The app platform is LG TV.
  1990  	//   "APP_PLATFORM_VIZIO_TV" - The app platform is VIZIO TV.
  1991  	AppPlatform string `json:"appPlatform,omitempty"`
  1992  	// DisplayName: Output only. The display name of the app.
  1993  	DisplayName string `json:"displayName,omitempty"`
  1994  	// Negative: Indicates if this option is being negatively targeted.
  1995  	Negative bool `json:"negative,omitempty"`
  1996  	// ForceSendFields is a list of field names (e.g. "AppId") to unconditionally
  1997  	// include in API requests. By default, fields with empty or default values are
  1998  	// omitted from API requests. See
  1999  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2000  	// details.
  2001  	ForceSendFields []string `json:"-"`
  2002  	// NullFields is a list of field names (e.g. "AppId") to include in API
  2003  	// requests with the JSON null value. By default, fields with empty values are
  2004  	// omitted from API requests. See
  2005  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2006  	NullFields []string `json:"-"`
  2007  }
  2008  
  2009  func (s *AppAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2010  	type NoMethod AppAssignedTargetingOptionDetails
  2011  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2012  }
  2013  
  2014  // AppCategoryAssignedTargetingOptionDetails: Details for assigned app category
  2015  // targeting option. This will be populated in the app_category_details field
  2016  // of an AssignedTargetingOption when targeting_type is
  2017  // `TARGETING_TYPE_APP_CATEGORY`.
  2018  type AppCategoryAssignedTargetingOptionDetails struct {
  2019  	// DisplayName: Output only. The display name of the app category.
  2020  	DisplayName string `json:"displayName,omitempty"`
  2021  	// Negative: Indicates if this option is being negatively targeted.
  2022  	Negative bool `json:"negative,omitempty"`
  2023  	// TargetingOptionId: Required. The targeting_option_id field when
  2024  	// targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
  2025  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  2026  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  2027  	// unconditionally include in API requests. By default, fields with empty or
  2028  	// default values are omitted from API requests. See
  2029  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2030  	// details.
  2031  	ForceSendFields []string `json:"-"`
  2032  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  2033  	// requests with the JSON null value. By default, fields with empty values are
  2034  	// omitted from API requests. See
  2035  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2036  	NullFields []string `json:"-"`
  2037  }
  2038  
  2039  func (s *AppCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2040  	type NoMethod AppCategoryAssignedTargetingOptionDetails
  2041  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2042  }
  2043  
  2044  // AppCategoryTargetingOptionDetails: Represents a targetable collection of
  2045  // apps. A collection lets you target dynamic groups of related apps that are
  2046  // maintained by the platform, for example `All Apps/Google Play/Games`. This
  2047  // will be populated in the app_category_details field when targeting_type is
  2048  // `TARGETING_TYPE_APP_CATEGORY`.
  2049  type AppCategoryTargetingOptionDetails struct {
  2050  	// DisplayName: Output only. The name of the app collection.
  2051  	DisplayName string `json:"displayName,omitempty"`
  2052  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  2053  	// unconditionally include in API requests. By default, fields with empty or
  2054  	// default values are omitted from API requests. See
  2055  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2056  	// details.
  2057  	ForceSendFields []string `json:"-"`
  2058  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  2059  	// requests with the JSON null value. By default, fields with empty values are
  2060  	// omitted from API requests. See
  2061  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2062  	NullFields []string `json:"-"`
  2063  }
  2064  
  2065  func (s *AppCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2066  	type NoMethod AppCategoryTargetingOptionDetails
  2067  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2068  }
  2069  
  2070  // Asset: A single asset.
  2071  type Asset struct {
  2072  	// Content: The asset content. For uploaded assets, the content is the serving
  2073  	// path.
  2074  	Content string `json:"content,omitempty"`
  2075  	// MediaId: Media ID of the uploaded asset. This is a unique identifier for the
  2076  	// asset. This ID can be passed to other API calls, e.g. CreateCreative to
  2077  	// associate the asset with a creative. The Media ID space updated on **April
  2078  	// 5, 2023**. Update media IDs cached before **April 5, 2023** by retrieving
  2079  	// the new media ID from associated creative resources or re-uploading the
  2080  	// asset.
  2081  	MediaId int64 `json:"mediaId,omitempty,string"`
  2082  	// ForceSendFields is a list of field names (e.g. "Content") to unconditionally
  2083  	// include in API requests. By default, fields with empty or default values are
  2084  	// omitted from API requests. See
  2085  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2086  	// details.
  2087  	ForceSendFields []string `json:"-"`
  2088  	// NullFields is a list of field names (e.g. "Content") to include in API
  2089  	// requests with the JSON null value. By default, fields with empty values are
  2090  	// omitted from API requests. See
  2091  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2092  	NullFields []string `json:"-"`
  2093  }
  2094  
  2095  func (s *Asset) MarshalJSON() ([]byte, error) {
  2096  	type NoMethod Asset
  2097  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2098  }
  2099  
  2100  // AssetAssociation: Asset association for the creative.
  2101  type AssetAssociation struct {
  2102  	// Asset: The associated asset.
  2103  	Asset *Asset `json:"asset,omitempty"`
  2104  	// Role: The role of this asset for the creative.
  2105  	//
  2106  	// Possible values:
  2107  	//   "ASSET_ROLE_UNSPECIFIED" - Asset role is not specified or is unknown in
  2108  	// this version.
  2109  	//   "ASSET_ROLE_MAIN" - The asset is the main asset of the creative.
  2110  	//   "ASSET_ROLE_BACKUP" - The asset is a backup asset of the creative.
  2111  	//   "ASSET_ROLE_POLITE_LOAD" - The asset is a polite load asset of the
  2112  	// creative.
  2113  	//   "ASSET_ROLE_HEADLINE" - Headline of a native creative. The content must be
  2114  	// UTF-8 encoded with a length of no more than 25 characters. This role is only
  2115  	// supported in following creative_type: * `CREATIVE_TYPE_NATIVE` *
  2116  	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`
  2117  	//   "ASSET_ROLE_LONG_HEADLINE" - Long headline of a native creative. The
  2118  	// content must be UTF-8 encoded with a length of no more than 50 characters.
  2119  	// This role is only supported in following creative_type: *
  2120  	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
  2121  	// `CREATIVE_TYPE_NATIVE_VIDEO`
  2122  	//   "ASSET_ROLE_BODY" - Body text of a native creative. The content must be
  2123  	// UTF-8 encoded with a length of no more than 90 characters. This role is only
  2124  	// supported in following creative_type: * `CREATIVE_TYPE_NATIVE` *
  2125  	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`
  2126  	//   "ASSET_ROLE_LONG_BODY" - Long body text of a native creative. The content
  2127  	// must be UTF-8 encoded with a length of no more than 150 characters. This
  2128  	// role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE`
  2129  	// * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`
  2130  	//   "ASSET_ROLE_CAPTION_URL" - A short, friendly version of the landing page
  2131  	// URL to show in the creative. This URL gives people an idea of where they'll
  2132  	// arrive after they click on the creative. The content must be UTF-8 encoded
  2133  	// with a length of no more than 30 characters. For example, if the landing
  2134  	// page URL is 'http://www.example.com/page', the caption URL can be
  2135  	// 'example.com'. The protocol (http://) is optional, but the URL can't contain
  2136  	// spaces or special characters. This role is only supported in following
  2137  	// creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`
  2138  	// * `CREATIVE_TYPE_NATIVE_VIDEO`
  2139  	//   "ASSET_ROLE_CALL_TO_ACTION" - The text to use on the call-to-action button
  2140  	// of a native creative. The content must be UTF-8 encoded with a length of no
  2141  	// more than 15 characters. This role is only supported in following
  2142  	// creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`
  2143  	// * `CREATIVE_TYPE_NATIVE_VIDEO`
  2144  	//   "ASSET_ROLE_ADVERTISER_NAME" - The text that identifies the advertiser or
  2145  	// brand name. The content must be UTF-8 encoded with a length of no more than
  2146  	// 25 characters. This role is only supported in following creative_type: *
  2147  	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
  2148  	// `CREATIVE_TYPE_NATIVE_VIDEO`
  2149  	//   "ASSET_ROLE_PRICE" - The purchase price of your app in the Google play
  2150  	// store or iOS app store (for example, $5.99). Note that this value is not
  2151  	// automatically synced with the actual value listed in the store. It will
  2152  	// always be the one provided when save the creative. The content must be UTF-8
  2153  	// encoded with a length of no more than 15 characters. Assets of this role are
  2154  	// read-only.
  2155  	//   "ASSET_ROLE_ANDROID_APP_ID" - The ID of an Android app in the Google play
  2156  	// store. You can find this ID in the App’s Google Play Store URL after
  2157  	// ‘id’. For example, in
  2158  	// https://play.google.com/store/apps/details?id=com.company.appname the
  2159  	// identifier is com.company.appname. Assets of this role are read-only.
  2160  	//   "ASSET_ROLE_IOS_APP_ID" - The ID of an iOS app in the Apple app store.
  2161  	// This ID number can be found in the Apple App Store URL as the string of
  2162  	// numbers directly after "id". For example, in
  2163  	// https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is
  2164  	// 422689480. Assets of this role are read-only.
  2165  	//   "ASSET_ROLE_RATING" - The rating of an app in the Google play store or iOS
  2166  	// app store. Note that this value is not automatically synced with the actual
  2167  	// rating in the store. It will always be the one provided when save the
  2168  	// creative. Assets of this role are read-only.
  2169  	//   "ASSET_ROLE_ICON" - The icon of a creative. This role is only supported
  2170  	// and required in following creative_type: * `CREATIVE_TYPE_NATIVE` *
  2171  	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE`
  2172  	//   "ASSET_ROLE_COVER_IMAGE" - The cover image of a native video creative.
  2173  	// This role is only supported and required in following creative_type: *
  2174  	// `CREATIVE_TYPE_VIDEO`
  2175  	Role string `json:"role,omitempty"`
  2176  	// ForceSendFields is a list of field names (e.g. "Asset") to unconditionally
  2177  	// include in API requests. By default, fields with empty or default values are
  2178  	// omitted from API requests. See
  2179  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2180  	// details.
  2181  	ForceSendFields []string `json:"-"`
  2182  	// NullFields is a list of field names (e.g. "Asset") to include in API
  2183  	// requests with the JSON null value. By default, fields with empty values are
  2184  	// omitted from API requests. See
  2185  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2186  	NullFields []string `json:"-"`
  2187  }
  2188  
  2189  func (s *AssetAssociation) MarshalJSON() ([]byte, error) {
  2190  	type NoMethod AssetAssociation
  2191  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2192  }
  2193  
  2194  // AssignedInventorySource: An assignment between a targetable inventory source
  2195  // and an inventory source group.
  2196  type AssignedInventorySource struct {
  2197  	// AssignedInventorySourceId: Output only. The unique ID of the assigned
  2198  	// inventory source. The ID is only unique within a given inventory source
  2199  	// group. It may be reused in other contexts.
  2200  	AssignedInventorySourceId int64 `json:"assignedInventorySourceId,omitempty,string"`
  2201  	// InventorySourceId: Required. The ID of the inventory source entity being
  2202  	// targeted.
  2203  	InventorySourceId string `json:"inventorySourceId,omitempty"`
  2204  	// Name: Output only. The resource name of the assigned inventory source.
  2205  	Name string `json:"name,omitempty"`
  2206  
  2207  	// ServerResponse contains the HTTP response code and headers from the server.
  2208  	googleapi.ServerResponse `json:"-"`
  2209  	// ForceSendFields is a list of field names (e.g. "AssignedInventorySourceId")
  2210  	// to unconditionally include in API requests. By default, fields with empty or
  2211  	// default values are omitted from API requests. See
  2212  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2213  	// details.
  2214  	ForceSendFields []string `json:"-"`
  2215  	// NullFields is a list of field names (e.g. "AssignedInventorySourceId") to
  2216  	// include in API requests with the JSON null value. By default, fields with
  2217  	// empty values are omitted from API requests. See
  2218  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2219  	NullFields []string `json:"-"`
  2220  }
  2221  
  2222  func (s *AssignedInventorySource) MarshalJSON() ([]byte, error) {
  2223  	type NoMethod AssignedInventorySource
  2224  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2225  }
  2226  
  2227  // AssignedLocation: An assignment between a location list and a relevant
  2228  // targeting option.
  2229  type AssignedLocation struct {
  2230  	// AssignedLocationId: Output only. The unique ID of the assigned location. The
  2231  	// ID is only unique within a location list. It may be reused in other
  2232  	// contexts.
  2233  	AssignedLocationId int64 `json:"assignedLocationId,omitempty,string"`
  2234  	// Name: Output only. The resource name of the assigned location.
  2235  	Name string `json:"name,omitempty"`
  2236  	// TargetingOptionId: Required. The ID of the targeting option assigned to the
  2237  	// location list.
  2238  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  2239  
  2240  	// ServerResponse contains the HTTP response code and headers from the server.
  2241  	googleapi.ServerResponse `json:"-"`
  2242  	// ForceSendFields is a list of field names (e.g. "AssignedLocationId") to
  2243  	// unconditionally include in API requests. By default, fields with empty or
  2244  	// default values are omitted from API requests. See
  2245  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2246  	// details.
  2247  	ForceSendFields []string `json:"-"`
  2248  	// NullFields is a list of field names (e.g. "AssignedLocationId") to include
  2249  	// in API requests with the JSON null value. By default, fields with empty
  2250  	// values are omitted from API requests. See
  2251  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2252  	NullFields []string `json:"-"`
  2253  }
  2254  
  2255  func (s *AssignedLocation) MarshalJSON() ([]byte, error) {
  2256  	type NoMethod AssignedLocation
  2257  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2258  }
  2259  
  2260  // AssignedTargetingOption: A single assigned targeting option, which defines
  2261  // the state of a targeting option for an entity with targeting settings.
  2262  type AssignedTargetingOption struct {
  2263  	// AgeRangeDetails: Age range details. This field will be populated when the
  2264  	// targeting_type is `TARGETING_TYPE_AGE_RANGE`.
  2265  	AgeRangeDetails *AgeRangeAssignedTargetingOptionDetails `json:"ageRangeDetails,omitempty"`
  2266  	// AppCategoryDetails: App category details. This field will be populated when
  2267  	// the targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
  2268  	AppCategoryDetails *AppCategoryAssignedTargetingOptionDetails `json:"appCategoryDetails,omitempty"`
  2269  	// AppDetails: App details. This field will be populated when the
  2270  	// targeting_type is `TARGETING_TYPE_APP`.
  2271  	AppDetails *AppAssignedTargetingOptionDetails `json:"appDetails,omitempty"`
  2272  	// AssignedTargetingOptionId: Output only. The unique ID of the assigned
  2273  	// targeting option. The ID is only unique within a given resource and
  2274  	// targeting type. It may be reused in other contexts.
  2275  	AssignedTargetingOptionId string `json:"assignedTargetingOptionId,omitempty"`
  2276  	// AssignedTargetingOptionIdAlias: Output only. An alias for the
  2277  	// assigned_targeting_option_id. This value can be used in place of
  2278  	// `assignedTargetingOptionId` when retrieving or deleting existing targeting.
  2279  	// This field will only be supported for all assigned targeting options of the
  2280  	// following targeting types: * `TARGETING_TYPE_AGE_RANGE` *
  2281  	// `TARGETING_TYPE_DEVICE_TYPE` *
  2282  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
  2283  	// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
  2284  	// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` *
  2285  	// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` *
  2286  	// `TARGETING_TYPE_PARENTAL_STATUS` *
  2287  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
  2288  	// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` This field
  2289  	// is also supported for line item assigned targeting options of the following
  2290  	// targeting types: * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
  2291  	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`
  2292  	AssignedTargetingOptionIdAlias string `json:"assignedTargetingOptionIdAlias,omitempty"`
  2293  	// AudienceGroupDetails: Audience targeting details. This field will be
  2294  	// populated when the targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. You
  2295  	// can only target one audience group option per resource.
  2296  	AudienceGroupDetails *AudienceGroupAssignedTargetingOptionDetails `json:"audienceGroupDetails,omitempty"`
  2297  	// AudioContentTypeDetails: Audio content type details. This field will be
  2298  	// populated when the targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.
  2299  	AudioContentTypeDetails *AudioContentTypeAssignedTargetingOptionDetails `json:"audioContentTypeDetails,omitempty"`
  2300  	// AuthorizedSellerStatusDetails: Authorized seller status details. This field
  2301  	// will be populated when the targeting_type is
  2302  	// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one
  2303  	// authorized seller status option per resource. If a resource doesn't have an
  2304  	// authorized seller status option, all authorized sellers indicated as DIRECT
  2305  	// or RESELLER in the ads.txt file are targeted by default.
  2306  	AuthorizedSellerStatusDetails *AuthorizedSellerStatusAssignedTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"`
  2307  	// BrowserDetails: Browser details. This field will be populated when the
  2308  	// targeting_type is `TARGETING_TYPE_BROWSER`.
  2309  	BrowserDetails *BrowserAssignedTargetingOptionDetails `json:"browserDetails,omitempty"`
  2310  	// BusinessChainDetails: Business chain details. This field will be populated
  2311  	// when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
  2312  	BusinessChainDetails *BusinessChainAssignedTargetingOptionDetails `json:"businessChainDetails,omitempty"`
  2313  	// CarrierAndIspDetails: Carrier and ISP details. This field will be populated
  2314  	// when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
  2315  	CarrierAndIspDetails *CarrierAndIspAssignedTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"`
  2316  	// CategoryDetails: Category details. This field will be populated when the
  2317  	// targeting_type is `TARGETING_TYPE_CATEGORY`. Targeting a category will also
  2318  	// target its subcategories. If a category is excluded from targeting and a
  2319  	// subcategory is included, the exclusion will take precedence.
  2320  	CategoryDetails *CategoryAssignedTargetingOptionDetails `json:"categoryDetails,omitempty"`
  2321  	// ChannelDetails: Channel details. This field will be populated when the
  2322  	// targeting_type is `TARGETING_TYPE_CHANNEL`.
  2323  	ChannelDetails *ChannelAssignedTargetingOptionDetails `json:"channelDetails,omitempty"`
  2324  	// ContentDurationDetails: Content duration details. This field will be
  2325  	// populated when the targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.
  2326  	ContentDurationDetails *ContentDurationAssignedTargetingOptionDetails `json:"contentDurationDetails,omitempty"`
  2327  	// ContentGenreDetails: Content genre details. This field will be populated
  2328  	// when the targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.
  2329  	ContentGenreDetails *ContentGenreAssignedTargetingOptionDetails `json:"contentGenreDetails,omitempty"`
  2330  	// ContentInstreamPositionDetails: Content instream position details. This
  2331  	// field will be populated when the targeting_type is
  2332  	// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
  2333  	ContentInstreamPositionDetails *ContentInstreamPositionAssignedTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"`
  2334  	// ContentOutstreamPositionDetails: Content outstream position details. This
  2335  	// field will be populated when the targeting_type is
  2336  	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
  2337  	ContentOutstreamPositionDetails *ContentOutstreamPositionAssignedTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"`
  2338  	// ContentStreamTypeDetails: Content duration details. This field will be
  2339  	// populated when the TargetingType is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.
  2340  	ContentStreamTypeDetails *ContentStreamTypeAssignedTargetingOptionDetails `json:"contentStreamTypeDetails,omitempty"`
  2341  	// DayAndTimeDetails: Day and time details. This field will be populated when
  2342  	// the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`.
  2343  	DayAndTimeDetails *DayAndTimeAssignedTargetingOptionDetails `json:"dayAndTimeDetails,omitempty"`
  2344  	// DeviceMakeModelDetails: Device make and model details. This field will be
  2345  	// populated when the targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
  2346  	DeviceMakeModelDetails *DeviceMakeModelAssignedTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"`
  2347  	// DeviceTypeDetails: Device Type details. This field will be populated when
  2348  	// the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
  2349  	DeviceTypeDetails *DeviceTypeAssignedTargetingOptionDetails `json:"deviceTypeDetails,omitempty"`
  2350  	// DigitalContentLabelExclusionDetails: Digital content label details. This
  2351  	// field will be populated when the targeting_type is
  2352  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content labels are
  2353  	// targeting exclusions. Advertiser level digital content label exclusions, if
  2354  	// set, are always applied in serving (even though they aren't visible in
  2355  	// resource settings). Resource settings can exclude content labels in addition
  2356  	// to advertiser exclusions, but can't override them. A line item won't serve
  2357  	// if all the digital content labels are excluded.
  2358  	DigitalContentLabelExclusionDetails *DigitalContentLabelAssignedTargetingOptionDetails `json:"digitalContentLabelExclusionDetails,omitempty"`
  2359  	// EnvironmentDetails: Environment details. This field will be populated when
  2360  	// the targeting_type is `TARGETING_TYPE_ENVIRONMENT`.
  2361  	EnvironmentDetails *EnvironmentAssignedTargetingOptionDetails `json:"environmentDetails,omitempty"`
  2362  	// ExchangeDetails: Exchange details. This field will be populated when the
  2363  	// targeting_type is `TARGETING_TYPE_EXCHANGE`.
  2364  	ExchangeDetails *ExchangeAssignedTargetingOptionDetails `json:"exchangeDetails,omitempty"`
  2365  	// GenderDetails: Gender details. This field will be populated when the
  2366  	// targeting_type is `TARGETING_TYPE_GENDER`.
  2367  	GenderDetails *GenderAssignedTargetingOptionDetails `json:"genderDetails,omitempty"`
  2368  	// GeoRegionDetails: Geographic region details. This field will be populated
  2369  	// when the targeting_type is `TARGETING_TYPE_GEO_REGION`.
  2370  	GeoRegionDetails *GeoRegionAssignedTargetingOptionDetails `json:"geoRegionDetails,omitempty"`
  2371  	// HouseholdIncomeDetails: Household income details. This field will be
  2372  	// populated when the targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.
  2373  	HouseholdIncomeDetails *HouseholdIncomeAssignedTargetingOptionDetails `json:"householdIncomeDetails,omitempty"`
  2374  	// Inheritance: Output only. The inheritance status of the assigned targeting
  2375  	// option.
  2376  	//
  2377  	// Possible values:
  2378  	//   "INHERITANCE_UNSPECIFIED" - The inheritance is unspecified or unknown.
  2379  	//   "NOT_INHERITED" - The assigned targeting option is not inherited from
  2380  	// higher level entity.
  2381  	//   "INHERITED_FROM_PARTNER" - The assigned targeting option is inherited from
  2382  	// partner targeting settings.
  2383  	//   "INHERITED_FROM_ADVERTISER" - The assigned targeting option is inherited
  2384  	// from advertiser targeting settings.
  2385  	Inheritance string `json:"inheritance,omitempty"`
  2386  	// InventorySourceDetails: Inventory source details. This field will be
  2387  	// populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`.
  2388  	InventorySourceDetails *InventorySourceAssignedTargetingOptionDetails `json:"inventorySourceDetails,omitempty"`
  2389  	// InventorySourceGroupDetails: Inventory source group details. This field will
  2390  	// be populated when the targeting_type is
  2391  	// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
  2392  	InventorySourceGroupDetails *InventorySourceGroupAssignedTargetingOptionDetails `json:"inventorySourceGroupDetails,omitempty"`
  2393  	// KeywordDetails: Keyword details. This field will be populated when the
  2394  	// targeting_type is `TARGETING_TYPE_KEYWORD`. A maximum of 5000 direct
  2395  	// negative keywords can be assigned to a resource. No limit on number of
  2396  	// positive keywords that can be assigned.
  2397  	KeywordDetails *KeywordAssignedTargetingOptionDetails `json:"keywordDetails,omitempty"`
  2398  	// LanguageDetails: Language details. This field will be populated when the
  2399  	// targeting_type is `TARGETING_TYPE_LANGUAGE`.
  2400  	LanguageDetails *LanguageAssignedTargetingOptionDetails `json:"languageDetails,omitempty"`
  2401  	// Name: Output only. The resource name for this assigned targeting option.
  2402  	Name string `json:"name,omitempty"`
  2403  	// NativeContentPositionDetails: Native content position details. This field
  2404  	// will be populated when the targeting_type is
  2405  	// `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
  2406  	NativeContentPositionDetails *NativeContentPositionAssignedTargetingOptionDetails `json:"nativeContentPositionDetails,omitempty"`
  2407  	// NegativeKeywordListDetails: Keyword details. This field will be populated
  2408  	// when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum
  2409  	// of 4 negative keyword lists can be assigned to a resource.
  2410  	NegativeKeywordListDetails *NegativeKeywordListAssignedTargetingOptionDetails `json:"negativeKeywordListDetails,omitempty"`
  2411  	// OmidDetails: Open Measurement enabled inventory details. This field will be
  2412  	// populated when the targeting_type is `TARGETING_TYPE_OMID`.
  2413  	OmidDetails *OmidAssignedTargetingOptionDetails `json:"omidDetails,omitempty"`
  2414  	// OnScreenPositionDetails: On screen position details. This field will be
  2415  	// populated when the targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
  2416  	OnScreenPositionDetails *OnScreenPositionAssignedTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"`
  2417  	// OperatingSystemDetails: Operating system details. This field will be
  2418  	// populated when the targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
  2419  	OperatingSystemDetails *OperatingSystemAssignedTargetingOptionDetails `json:"operatingSystemDetails,omitempty"`
  2420  	// ParentalStatusDetails: Parental status details. This field will be populated
  2421  	// when the targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.
  2422  	ParentalStatusDetails *ParentalStatusAssignedTargetingOptionDetails `json:"parentalStatusDetails,omitempty"`
  2423  	// PoiDetails: POI details. This field will be populated when the
  2424  	// targeting_type is `TARGETING_TYPE_POI`.
  2425  	PoiDetails *PoiAssignedTargetingOptionDetails `json:"poiDetails,omitempty"`
  2426  	// ProximityLocationListDetails: Proximity location list details. This field
  2427  	// will be populated when the targeting_type is
  2428  	// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
  2429  	ProximityLocationListDetails *ProximityLocationListAssignedTargetingOptionDetails `json:"proximityLocationListDetails,omitempty"`
  2430  	// RegionalLocationListDetails: Regional location list details. This field will
  2431  	// be populated when the targeting_type is
  2432  	// `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
  2433  	RegionalLocationListDetails *RegionalLocationListAssignedTargetingOptionDetails `json:"regionalLocationListDetails,omitempty"`
  2434  	// SensitiveCategoryExclusionDetails: Sensitive category details. This field
  2435  	// will be populated when the targeting_type is
  2436  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories are
  2437  	// targeting exclusions. Advertiser level sensitive category exclusions, if
  2438  	// set, are always applied in serving (even though they aren't visible in
  2439  	// resource settings). Resource settings can exclude sensitive categories in
  2440  	// addition to advertiser exclusions, but can't override them.
  2441  	SensitiveCategoryExclusionDetails *SensitiveCategoryAssignedTargetingOptionDetails `json:"sensitiveCategoryExclusionDetails,omitempty"`
  2442  	// SessionPositionDetails: Session position details. This field will be
  2443  	// populated when the targeting_type is `TARGETING_TYPE_SESSION_POSITION`.
  2444  	SessionPositionDetails *SessionPositionAssignedTargetingOptionDetails `json:"sessionPositionDetails,omitempty"`
  2445  	// SubExchangeDetails: Sub-exchange details. This field will be populated when
  2446  	// the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.
  2447  	SubExchangeDetails *SubExchangeAssignedTargetingOptionDetails `json:"subExchangeDetails,omitempty"`
  2448  	// TargetingType: Output only. Identifies the type of this assigned targeting
  2449  	// option.
  2450  	//
  2451  	// Possible values:
  2452  	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or
  2453  	// is unknown in this version.
  2454  	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related
  2455  	// websites or apps).
  2456  	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example,
  2457  	// education or puzzle games).
  2458  	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds).
  2459  	//   "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com).
  2460  	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on
  2461  	// a specific day.
  2462  	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for
  2463  	// example, 18-24).
  2464  	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified
  2465  	// regions on a regional location list.
  2466  	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified
  2467  	// points of interest on a proximity location list.
  2468  	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example,
  2469  	// female or male).
  2470  	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size
  2471  	// for video ads.
  2472  	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for
  2473  	// video ads.
  2474  	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental
  2475  	// status (for example, parent or not a parent).
  2476  	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in
  2477  	// a specific content instream position (for example, pre-roll, mid-roll, or
  2478  	// post-roll).
  2479  	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific
  2480  	// content outstream position.
  2481  	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for
  2482  	// example, tablet or connected TV).
  2483  	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of
  2484  	// audiences. Singleton field, at most one can exist on a single Lineitem at a
  2485  	// time.
  2486  	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
  2487  	// example, Chrome).
  2488  	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household
  2489  	// income range (for example, top 10%).
  2490  	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen
  2491  	// position.
  2492  	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third
  2493  	// party verification (for example, IAS or DoubleVerify).
  2494  	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by
  2495  	// specific digital content label ratings (for example, DL-MA: suitable only
  2496  	// for mature audiences).
  2497  	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by
  2498  	// sensitive categories (for example, adult).
  2499  	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for
  2500  	// example, web or app).
  2501  	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
  2502  	// carrier or internet service provider (ISP) (for example, Comcast or Orange).
  2503  	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating
  2504  	// system (for example, macOS).
  2505  	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make
  2506  	// or model (for example, Roku or Samsung).
  2507  	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example,
  2508  	// dog or retriever).
  2509  	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative
  2510  	// keyword list.
  2511  	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for
  2512  	// example, 80% viewable).
  2513  	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for
  2514  	// example, arts & entertainment).
  2515  	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific
  2516  	// deals and auction packages.
  2517  	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
  2518  	// example, English or Japanese).
  2519  	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
  2520  	// authorized sellers. If no targeting option of this type is assigned, the
  2521  	// resource uses the "Authorized Direct Sellers and Resellers" option by
  2522  	// default.
  2523  	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location
  2524  	// (for example, a city or state).
  2525  	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a
  2526  	// group of deals and auction packages.
  2527  	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges.
  2528  	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
  2529  	// sub-exchanges.
  2530  	//   "TARGETING_TYPE_POI" - Target ads around a specific point of interest,
  2531  	// such as a notable building, a street address, or latitude/longitude
  2532  	// coordinates.
  2533  	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
  2534  	// business chain within a specific geo region.
  2535  	//   "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content
  2536  	// duration.
  2537  	//   "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video
  2538  	// content stream type.
  2539  	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native
  2540  	// content position.
  2541  	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
  2542  	// inventory.
  2543  	//   "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio
  2544  	// content type.
  2545  	//   "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre.
  2546  	//   "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video.
  2547  	// Targeting of this type cannot be created or updated using the API. Although
  2548  	// this targeting is inherited by child resources, **inherited targeting of
  2549  	// this type will not be retrieveable**.
  2550  	//   "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube
  2551  	// channel. Targeting of this type cannot be created or updated using the API.
  2552  	// Although this targeting is inherited by child resources, **inherited
  2553  	// targeting of this type will not be retrieveable**.
  2554  	//   "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain
  2555  	// position of a session. Only supported for Ad Group resources under YouTube
  2556  	// Programmatic Reservation line items. Targeting of this type cannot be
  2557  	// created or updated using the API.
  2558  	TargetingType string `json:"targetingType,omitempty"`
  2559  	// ThirdPartyVerifierDetails: Third party verification details. This field will
  2560  	// be populated when the targeting_type is
  2561  	// `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
  2562  	ThirdPartyVerifierDetails *ThirdPartyVerifierAssignedTargetingOptionDetails `json:"thirdPartyVerifierDetails,omitempty"`
  2563  	// UrlDetails: URL details. This field will be populated when the
  2564  	// targeting_type is `TARGETING_TYPE_URL`.
  2565  	UrlDetails *UrlAssignedTargetingOptionDetails `json:"urlDetails,omitempty"`
  2566  	// UserRewardedContentDetails: User rewarded content details. This field will
  2567  	// be populated when the targeting_type is
  2568  	// `TARGETING_TYPE_USER_REWARDED_CONTENT`.
  2569  	UserRewardedContentDetails *UserRewardedContentAssignedTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"`
  2570  	// VideoPlayerSizeDetails: Video player size details. This field will be
  2571  	// populated when the targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
  2572  	VideoPlayerSizeDetails *VideoPlayerSizeAssignedTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"`
  2573  	// ViewabilityDetails: Viewability details. This field will be populated when
  2574  	// the targeting_type is `TARGETING_TYPE_VIEWABILITY`. You can only target one
  2575  	// viewability option per resource.
  2576  	ViewabilityDetails *ViewabilityAssignedTargetingOptionDetails `json:"viewabilityDetails,omitempty"`
  2577  	// YoutubeChannelDetails: YouTube channel details. This field will be populated
  2578  	// when the targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`.
  2579  	YoutubeChannelDetails *YoutubeChannelAssignedTargetingOptionDetails `json:"youtubeChannelDetails,omitempty"`
  2580  	// YoutubeVideoDetails: YouTube video details. This field will be populated
  2581  	// when the targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`.
  2582  	YoutubeVideoDetails *YoutubeVideoAssignedTargetingOptionDetails `json:"youtubeVideoDetails,omitempty"`
  2583  
  2584  	// ServerResponse contains the HTTP response code and headers from the server.
  2585  	googleapi.ServerResponse `json:"-"`
  2586  	// ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to
  2587  	// unconditionally include in API requests. By default, fields with empty or
  2588  	// default values are omitted from API requests. See
  2589  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2590  	// details.
  2591  	ForceSendFields []string `json:"-"`
  2592  	// NullFields is a list of field names (e.g. "AgeRangeDetails") to include in
  2593  	// API requests with the JSON null value. By default, fields with empty values
  2594  	// are omitted from API requests. See
  2595  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2596  	NullFields []string `json:"-"`
  2597  }
  2598  
  2599  func (s *AssignedTargetingOption) MarshalJSON() ([]byte, error) {
  2600  	type NoMethod AssignedTargetingOption
  2601  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2602  }
  2603  
  2604  // AssignedUserRole: A single assigned user role, which defines a user's
  2605  // authorized interaction with a specified partner or advertiser.
  2606  type AssignedUserRole struct {
  2607  	// AdvertiserId: The ID of the advertiser that the assigend user role applies
  2608  	// to.
  2609  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  2610  	// AssignedUserRoleId: Output only. The ID of the assigned user role.
  2611  	AssignedUserRoleId string `json:"assignedUserRoleId,omitempty"`
  2612  	// PartnerId: The ID of the partner that the assigned user role applies to.
  2613  	PartnerId int64 `json:"partnerId,omitempty,string"`
  2614  	// UserRole: Required. The user role to assign to a user for the entity.
  2615  	//
  2616  	// Possible values:
  2617  	//   "USER_ROLE_UNSPECIFIED" - Default value when the user role is not
  2618  	// specified or is unknown in this version.
  2619  	//   "ADMIN" - The user can manage campaigns, creatives, insertion orders, line
  2620  	// items, and reports for the entity. They can view and edit billing
  2621  	// information, create or modify users, and enable or disable exchanges. This
  2622  	// role can only be assigned for a partner entity.
  2623  	//   "ADMIN_PARTNER_CLIENT" - The user can manage campaigns, creatives,
  2624  	// insertion orders, line items, and reports for the entity. They can create
  2625  	// and modify other `ADMIN_PARTNER_CLIENT` users and view billing information.
  2626  	// They cannot view revenue models, markups, or any other reseller-sensitive
  2627  	// fields. This role can only be assigned for a partner entity.
  2628  	//   "STANDARD" - The user can manage campaigns, creatives, insertion orders,
  2629  	// line items, and reports for the entity. They cannot create and modify users
  2630  	// or view billing information.
  2631  	//   "STANDARD_PLANNER" - The user can view all campaigns, creatives, insertion
  2632  	// orders, line items, and reports for the entity, including all cost data.
  2633  	// They can create and modify planning-related features, including plans and
  2634  	// inventory.
  2635  	//   "STANDARD_PLANNER_LIMITED" - The user can view all campaigns, creatives,
  2636  	// insertion orders, line items, and reports for the entity. They can create or
  2637  	// modify planning-related features, including plans and inventory. They have
  2638  	// no access to cost data and cannot start, accept, or negotiate deals.
  2639  	//   "STANDARD_PARTNER_CLIENT" - The user can manage campaigns, creatives,
  2640  	// insertion orders, line items, and reports for the entity. They cannot create
  2641  	// or modify other users or view billing information. They cannot view revenue
  2642  	// models, markups, or any other reseller-sensitive fields. This role can only
  2643  	// be assigned for an advertiser entity.
  2644  	//   "READ_ONLY" - The user can only build reports and view data for the
  2645  	// entity.
  2646  	//   "REPORTING_ONLY" - The user can only create and manage reports.
  2647  	//   "LIMITED_REPORTING_ONLY" - The user can only create and manage the
  2648  	// following client-safe reports: General, Audience Performance, Cross-Partner,
  2649  	// Keyword, Order ID, Category, and Third-Party Data Provider.
  2650  	//   "CREATIVE" - The user can view media plan information they need to
  2651  	// collaborate, but can't view cost-related data or Marketplace.
  2652  	//   "CREATIVE_ADMIN" - The user can view media plan information they need to
  2653  	// collaborate, but can't view cost-related data or Marketplace. In addition,
  2654  	// they can add other creative admins or creative users to the entity.
  2655  	UserRole string `json:"userRole,omitempty"`
  2656  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  2657  	// unconditionally include in API requests. By default, fields with empty or
  2658  	// default values are omitted from API requests. See
  2659  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2660  	// details.
  2661  	ForceSendFields []string `json:"-"`
  2662  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  2663  	// requests with the JSON null value. By default, fields with empty values are
  2664  	// omitted from API requests. See
  2665  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2666  	NullFields []string `json:"-"`
  2667  }
  2668  
  2669  func (s *AssignedUserRole) MarshalJSON() ([]byte, error) {
  2670  	type NoMethod AssignedUserRole
  2671  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2672  }
  2673  
  2674  // AudienceGroupAssignedTargetingOptionDetails: Assigned audience group
  2675  // targeting option details. This will be populated in the details field of an
  2676  // AssignedTargetingOption when targeting_type is
  2677  // `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION,
  2678  // except for excluded_first_and_third_party_audience_group and
  2679  // excluded_google_audience_group, of which COMPLEMENT is used as an
  2680  // INTERSECTION with other groups.
  2681  type AudienceGroupAssignedTargetingOptionDetails struct {
  2682  	// ExcludedFirstAndThirdPartyAudienceGroup: The first and third party audience
  2683  	// ids and recencies of the excluded first and third party audience group. Used
  2684  	// for negative targeting. The COMPLEMENT of the UNION of this group and other
  2685  	// excluded audience groups is used as an INTERSECTION to any positive audience
  2686  	// targeting. All items are logically ‘OR’ of each other.
  2687  	ExcludedFirstAndThirdPartyAudienceGroup *FirstAndThirdPartyAudienceGroup `json:"excludedFirstAndThirdPartyAudienceGroup,omitempty"`
  2688  	// ExcludedGoogleAudienceGroup: The Google audience ids of the excluded Google
  2689  	// audience group. Used for negative targeting. The COMPLEMENT of the UNION of
  2690  	// this group and other excluded audience groups is used as an INTERSECTION to
  2691  	// any positive audience targeting. Only contains Affinity, In-market and
  2692  	// Installed-apps type Google audiences. All items are logically ‘OR’ of
  2693  	// each other.
  2694  	ExcludedGoogleAudienceGroup *GoogleAudienceGroup `json:"excludedGoogleAudienceGroup,omitempty"`
  2695  	// IncludedCombinedAudienceGroup: The combined audience ids of the included
  2696  	// combined audience group. Contains combined audience ids only.
  2697  	IncludedCombinedAudienceGroup *CombinedAudienceGroup `json:"includedCombinedAudienceGroup,omitempty"`
  2698  	// IncludedCustomListGroup: The custom list ids of the included custom list
  2699  	// group. Contains custom list ids only.
  2700  	IncludedCustomListGroup *CustomListGroup `json:"includedCustomListGroup,omitempty"`
  2701  	// IncludedFirstAndThirdPartyAudienceGroups: The first and third party audience
  2702  	// ids and recencies of included first and third party audience groups. Each
  2703  	// first and third party audience group contains first and third party audience
  2704  	// ids only. The relation between each first and third party audience group is
  2705  	// INTERSECTION, and the result is UNION'ed with other audience groups.
  2706  	// Repeated groups with same settings will be ignored.
  2707  	IncludedFirstAndThirdPartyAudienceGroups []*FirstAndThirdPartyAudienceGroup `json:"includedFirstAndThirdPartyAudienceGroups,omitempty"`
  2708  	// IncludedGoogleAudienceGroup: The Google audience ids of the included Google
  2709  	// audience group. Contains Google audience ids only.
  2710  	IncludedGoogleAudienceGroup *GoogleAudienceGroup `json:"includedGoogleAudienceGroup,omitempty"`
  2711  	// ForceSendFields is a list of field names (e.g.
  2712  	// "ExcludedFirstAndThirdPartyAudienceGroup") to unconditionally include in API
  2713  	// requests. By default, fields with empty or default values are omitted from
  2714  	// API requests. See
  2715  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2716  	// details.
  2717  	ForceSendFields []string `json:"-"`
  2718  	// NullFields is a list of field names (e.g.
  2719  	// "ExcludedFirstAndThirdPartyAudienceGroup") to include in API requests with
  2720  	// the JSON null value. By default, fields with empty values are omitted from
  2721  	// API requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields
  2722  	// for more details.
  2723  	NullFields []string `json:"-"`
  2724  }
  2725  
  2726  func (s *AudienceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2727  	type NoMethod AudienceGroupAssignedTargetingOptionDetails
  2728  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2729  }
  2730  
  2731  // AudioAd: Details for an audio ad.
  2732  type AudioAd struct {
  2733  	// DisplayUrl: The webpage address that appears with the ad.
  2734  	DisplayUrl string `json:"displayUrl,omitempty"`
  2735  	// FinalUrl: The URL address of the webpage that people reach after they click
  2736  	// the ad.
  2737  	FinalUrl string `json:"finalUrl,omitempty"`
  2738  	// TrackingUrl: The URL address loaded in the background for tracking purposes.
  2739  	TrackingUrl string `json:"trackingUrl,omitempty"`
  2740  	// Video: The YouTube video of the ad.
  2741  	Video *YoutubeVideoDetails `json:"video,omitempty"`
  2742  	// ForceSendFields is a list of field names (e.g. "DisplayUrl") to
  2743  	// unconditionally include in API requests. By default, fields with empty or
  2744  	// default values are omitted from API requests. See
  2745  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2746  	// details.
  2747  	ForceSendFields []string `json:"-"`
  2748  	// NullFields is a list of field names (e.g. "DisplayUrl") to include in API
  2749  	// requests with the JSON null value. By default, fields with empty values are
  2750  	// omitted from API requests. See
  2751  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2752  	NullFields []string `json:"-"`
  2753  }
  2754  
  2755  func (s *AudioAd) MarshalJSON() ([]byte, error) {
  2756  	type NoMethod AudioAd
  2757  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2758  }
  2759  
  2760  // AudioContentTypeAssignedTargetingOptionDetails: Details for audio content
  2761  // type assigned targeting option. This will be populated in the
  2762  // audio_content_type_details field when targeting_type is
  2763  // `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. Explicitly targeting all options is not
  2764  // supported. Remove all audio content type targeting options to achieve this
  2765  // effect.
  2766  type AudioContentTypeAssignedTargetingOptionDetails struct {
  2767  	// AudioContentType: Required. The audio content type.
  2768  	//
  2769  	// Possible values:
  2770  	//   "AUDIO_CONTENT_TYPE_UNSPECIFIED" - Audio content type is not specified in
  2771  	// this version. This enum is a place holder for a default value and does not
  2772  	// represent a real content stream type.
  2773  	//   "AUDIO_CONTENT_TYPE_UNKNOWN" - The audio content type is unknown.
  2774  	//   "AUDIO_CONTENT_TYPE_MUSIC" - The audio content type is music.
  2775  	//   "AUDIO_CONTENT_TYPE_BROADCAST" - The audio content type is broadcast.
  2776  	//   "AUDIO_CONTENT_TYPE_PODCAST" - The audio content type is podcast.
  2777  	AudioContentType string `json:"audioContentType,omitempty"`
  2778  	// ForceSendFields is a list of field names (e.g. "AudioContentType") to
  2779  	// unconditionally include in API requests. By default, fields with empty or
  2780  	// default values are omitted from API requests. See
  2781  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2782  	// details.
  2783  	ForceSendFields []string `json:"-"`
  2784  	// NullFields is a list of field names (e.g. "AudioContentType") to include in
  2785  	// API requests with the JSON null value. By default, fields with empty values
  2786  	// are omitted from API requests. See
  2787  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2788  	NullFields []string `json:"-"`
  2789  }
  2790  
  2791  func (s *AudioContentTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2792  	type NoMethod AudioContentTypeAssignedTargetingOptionDetails
  2793  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2794  }
  2795  
  2796  // AudioContentTypeTargetingOptionDetails: Represents a targetable audio
  2797  // content type. This will be populated in the audio_content_type_details field
  2798  // when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.
  2799  type AudioContentTypeTargetingOptionDetails struct {
  2800  	// AudioContentType: Output only. The audio content type.
  2801  	//
  2802  	// Possible values:
  2803  	//   "AUDIO_CONTENT_TYPE_UNSPECIFIED" - Audio content type is not specified in
  2804  	// this version. This enum is a place holder for a default value and does not
  2805  	// represent a real content stream type.
  2806  	//   "AUDIO_CONTENT_TYPE_UNKNOWN" - The audio content type is unknown.
  2807  	//   "AUDIO_CONTENT_TYPE_MUSIC" - The audio content type is music.
  2808  	//   "AUDIO_CONTENT_TYPE_BROADCAST" - The audio content type is broadcast.
  2809  	//   "AUDIO_CONTENT_TYPE_PODCAST" - The audio content type is podcast.
  2810  	AudioContentType string `json:"audioContentType,omitempty"`
  2811  	// ForceSendFields is a list of field names (e.g. "AudioContentType") to
  2812  	// unconditionally include in API requests. By default, fields with empty or
  2813  	// default values are omitted from API requests. See
  2814  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2815  	// details.
  2816  	ForceSendFields []string `json:"-"`
  2817  	// NullFields is a list of field names (e.g. "AudioContentType") to include in
  2818  	// API requests with the JSON null value. By default, fields with empty values
  2819  	// are omitted from API requests. See
  2820  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2821  	NullFields []string `json:"-"`
  2822  }
  2823  
  2824  func (s *AudioContentTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2825  	type NoMethod AudioContentTypeTargetingOptionDetails
  2826  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2827  }
  2828  
  2829  // AudioVideoOffset: The length an audio or a video has been played.
  2830  type AudioVideoOffset struct {
  2831  	// Percentage: The offset in percentage of the audio or video duration.
  2832  	Percentage int64 `json:"percentage,omitempty,string"`
  2833  	// Seconds: The offset in seconds from the start of the audio or video.
  2834  	Seconds int64 `json:"seconds,omitempty,string"`
  2835  	// ForceSendFields is a list of field names (e.g. "Percentage") to
  2836  	// unconditionally include in API requests. By default, fields with empty or
  2837  	// default values are omitted from API requests. See
  2838  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2839  	// details.
  2840  	ForceSendFields []string `json:"-"`
  2841  	// NullFields is a list of field names (e.g. "Percentage") to include in API
  2842  	// requests with the JSON null value. By default, fields with empty values are
  2843  	// omitted from API requests. See
  2844  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2845  	NullFields []string `json:"-"`
  2846  }
  2847  
  2848  func (s *AudioVideoOffset) MarshalJSON() ([]byte, error) {
  2849  	type NoMethod AudioVideoOffset
  2850  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2851  }
  2852  
  2853  // AuditAdvertiserResponse: Response message for
  2854  // AdvertiserService.AuditAdvertiser.
  2855  type AuditAdvertiserResponse struct {
  2856  	// AdGroupCriteriaCount: The number of individual targeting options from the
  2857  	// following targeting types that are assigned to a line item under this
  2858  	// advertiser. These individual targeting options count towards the limit of
  2859  	// 4500000 ad group targeting options per advertiser. Qualifying Targeting
  2860  	// types: * Channels, URLs, apps, and collections * Demographic * Google
  2861  	// Audiences, including Affinity, Custom Affinity, and In-market audiences *
  2862  	// Inventory source * Keyword * Mobile app category * User lists * Video
  2863  	// targeting * Viewability
  2864  	AdGroupCriteriaCount int64 `json:"adGroupCriteriaCount,omitempty,string"`
  2865  	// CampaignCriteriaCount: The number of individual targeting options from the
  2866  	// following targeting types that are assigned to a line item under this
  2867  	// advertiser. These individual targeting options count towards the limit of
  2868  	// 900000 campaign targeting options per advertiser. Qualifying Targeting
  2869  	// types: * Position * Browser * Connection speed * Day and time * Device and
  2870  	// operating system * Digital content label * Sensitive categories *
  2871  	// Environment * Geography, including business chains and proximity * ISP *
  2872  	// Language * Third-party verification
  2873  	CampaignCriteriaCount int64 `json:"campaignCriteriaCount,omitempty,string"`
  2874  	// ChannelsCount: The number of channels created under this advertiser. These
  2875  	// channels count towards the limit of 1000 channels per advertiser.
  2876  	ChannelsCount int64 `json:"channelsCount,omitempty,string"`
  2877  	// NegativeKeywordListsCount: The number of negative keyword lists created
  2878  	// under this advertiser. These negative keyword lists count towards the limit
  2879  	// of 20 negative keyword lists per advertiser.
  2880  	NegativeKeywordListsCount int64 `json:"negativeKeywordListsCount,omitempty,string"`
  2881  	// NegativelyTargetedChannelsCount: The number of negatively targeted channels
  2882  	// created under this advertiser. These negatively targeted channels count
  2883  	// towards the limit of 5 negatively targeted channels per advertiser.
  2884  	NegativelyTargetedChannelsCount int64 `json:"negativelyTargetedChannelsCount,omitempty,string"`
  2885  	// UsedCampaignsCount: The number of ACTIVE and PAUSED campaigns under this
  2886  	// advertiser. These campaigns count towards the limit of 9999 campaigns per
  2887  	// advertiser.
  2888  	UsedCampaignsCount int64 `json:"usedCampaignsCount,omitempty,string"`
  2889  	// UsedInsertionOrdersCount: The number of ACTIVE, PAUSED and DRAFT insertion
  2890  	// orders under this advertiser. These insertion orders count towards the limit
  2891  	// of 9999 insertion orders per advertiser.
  2892  	UsedInsertionOrdersCount int64 `json:"usedInsertionOrdersCount,omitempty,string"`
  2893  	// UsedLineItemsCount: The number of ACTIVE, PAUSED, and DRAFT line items under
  2894  	// this advertiser. These line items count towards the limit of 9999 line items
  2895  	// per advertiser.
  2896  	UsedLineItemsCount int64 `json:"usedLineItemsCount,omitempty,string"`
  2897  
  2898  	// ServerResponse contains the HTTP response code and headers from the server.
  2899  	googleapi.ServerResponse `json:"-"`
  2900  	// ForceSendFields is a list of field names (e.g. "AdGroupCriteriaCount") to
  2901  	// unconditionally include in API requests. By default, fields with empty or
  2902  	// default values are omitted from API requests. See
  2903  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2904  	// details.
  2905  	ForceSendFields []string `json:"-"`
  2906  	// NullFields is a list of field names (e.g. "AdGroupCriteriaCount") to include
  2907  	// in API requests with the JSON null value. By default, fields with empty
  2908  	// values are omitted from API requests. See
  2909  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2910  	NullFields []string `json:"-"`
  2911  }
  2912  
  2913  func (s *AuditAdvertiserResponse) MarshalJSON() ([]byte, error) {
  2914  	type NoMethod AuditAdvertiserResponse
  2915  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2916  }
  2917  
  2918  // AuthorizedSellerStatusAssignedTargetingOptionDetails: Represents an assigned
  2919  // authorized seller status. This will be populated in the details field of an
  2920  // AssignedTargetingOption when targeting_type is
  2921  // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. If a resource does not have an
  2922  // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` assigned targeting option, it is
  2923  // using the "Authorized Direct Sellers and Resellers" option.
  2924  type AuthorizedSellerStatusAssignedTargetingOptionDetails struct {
  2925  	// AuthorizedSellerStatus: Output only. The authorized seller status to target.
  2926  	//
  2927  	// Possible values:
  2928  	//   "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when authorized
  2929  	// seller status is not specified in this version. This enum is a placeholder
  2930  	// for the default value, or "Authorized Direct Sellers and Resellers" in the
  2931  	// UI.
  2932  	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only
  2933  	// authorized sellers that directly own the inventory being monetized, as
  2934  	// indicated by a DIRECT declaration in the ads.txt file. This value is
  2935  	// equivalent to "Authorized Direct Sellers" in the UI.
  2936  	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" -
  2937  	// All authorized sellers, including publishers that have not posted an ads.txt
  2938  	// file. Display & Video 360 automatically disallows unauthorized sellers. This
  2939  	// value is equivalent to "Authorized and Non-Participating Publishers" in the
  2940  	// UI.
  2941  	AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"`
  2942  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  2943  	// type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
  2944  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  2945  	// ForceSendFields is a list of field names (e.g. "AuthorizedSellerStatus") to
  2946  	// unconditionally include in API requests. By default, fields with empty or
  2947  	// default values are omitted from API requests. See
  2948  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2949  	// details.
  2950  	ForceSendFields []string `json:"-"`
  2951  	// NullFields is a list of field names (e.g. "AuthorizedSellerStatus") to
  2952  	// include in API requests with the JSON null value. By default, fields with
  2953  	// empty values are omitted from API requests. See
  2954  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2955  	NullFields []string `json:"-"`
  2956  }
  2957  
  2958  func (s *AuthorizedSellerStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2959  	type NoMethod AuthorizedSellerStatusAssignedTargetingOptionDetails
  2960  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  2961  }
  2962  
  2963  // AuthorizedSellerStatusTargetingOptionDetails: Represents a targetable
  2964  // authorized seller status. This will be populated in the
  2965  // authorized_seller_status_details field when targeting_type is
  2966  // `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
  2967  type AuthorizedSellerStatusTargetingOptionDetails struct {
  2968  	// AuthorizedSellerStatus: Output only. The authorized seller status.
  2969  	//
  2970  	// Possible values:
  2971  	//   "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when authorized
  2972  	// seller status is not specified in this version. This enum is a placeholder
  2973  	// for the default value, or "Authorized Direct Sellers and Resellers" in the
  2974  	// UI.
  2975  	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only
  2976  	// authorized sellers that directly own the inventory being monetized, as
  2977  	// indicated by a DIRECT declaration in the ads.txt file. This value is
  2978  	// equivalent to "Authorized Direct Sellers" in the UI.
  2979  	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" -
  2980  	// All authorized sellers, including publishers that have not posted an ads.txt
  2981  	// file. Display & Video 360 automatically disallows unauthorized sellers. This
  2982  	// value is equivalent to "Authorized and Non-Participating Publishers" in the
  2983  	// UI.
  2984  	AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"`
  2985  	// ForceSendFields is a list of field names (e.g. "AuthorizedSellerStatus") to
  2986  	// unconditionally include in API requests. By default, fields with empty or
  2987  	// default values are omitted from API requests. See
  2988  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  2989  	// details.
  2990  	ForceSendFields []string `json:"-"`
  2991  	// NullFields is a list of field names (e.g. "AuthorizedSellerStatus") to
  2992  	// include in API requests with the JSON null value. By default, fields with
  2993  	// empty values are omitted from API requests. See
  2994  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  2995  	NullFields []string `json:"-"`
  2996  }
  2997  
  2998  func (s *AuthorizedSellerStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  2999  	type NoMethod AuthorizedSellerStatusTargetingOptionDetails
  3000  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3001  }
  3002  
  3003  // BiddingStrategy: Settings that control the bid strategy. Bid strategy
  3004  // determines the bid price.
  3005  type BiddingStrategy struct {
  3006  	// FixedBid: A strategy that uses a fixed bid price.
  3007  	FixedBid *FixedBidStrategy `json:"fixedBid,omitempty"`
  3008  	// MaximizeSpendAutoBid: A strategy that automatically adjusts the bid to
  3009  	// optimize to your performance goal while spending the full budget. At
  3010  	// insertion order level, the markup_type of line items cannot be set to
  3011  	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when
  3012  	// performance_goal_type is one of: *
  3013  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` *
  3014  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` *
  3015  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the line_item_type of
  3016  	// the insertion order line items must be either: *
  3017  	// `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` , and when
  3018  	// performance_goal_type is either: *
  3019  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` *
  3020  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type of the
  3021  	// insertion order line items must be `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
  3022  	MaximizeSpendAutoBid *MaximizeSpendBidStrategy `json:"maximizeSpendAutoBid,omitempty"`
  3023  	// PerformanceGoalAutoBid: A strategy that automatically adjusts the bid to
  3024  	// meet or beat a specified performance goal. It is to be used only for a line
  3025  	// item entity.
  3026  	PerformanceGoalAutoBid *PerformanceGoalBidStrategy `json:"performanceGoalAutoBid,omitempty"`
  3027  	// YoutubeAndPartnersBid: A bid strategy used by YouTube and Partners
  3028  	// resources. It can only be used for a YouTube and Partners line item or ad
  3029  	// group entity.
  3030  	YoutubeAndPartnersBid *YoutubeAndPartnersBiddingStrategy `json:"youtubeAndPartnersBid,omitempty"`
  3031  	// ForceSendFields is a list of field names (e.g. "FixedBid") to
  3032  	// unconditionally include in API requests. By default, fields with empty or
  3033  	// default values are omitted from API requests. See
  3034  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3035  	// details.
  3036  	ForceSendFields []string `json:"-"`
  3037  	// NullFields is a list of field names (e.g. "FixedBid") to include in API
  3038  	// requests with the JSON null value. By default, fields with empty values are
  3039  	// omitted from API requests. See
  3040  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3041  	NullFields []string `json:"-"`
  3042  }
  3043  
  3044  func (s *BiddingStrategy) MarshalJSON() ([]byte, error) {
  3045  	type NoMethod BiddingStrategy
  3046  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3047  }
  3048  
  3049  // BrowserAssignedTargetingOptionDetails: Details for assigned browser
  3050  // targeting option. This will be populated in the details field of an
  3051  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BROWSER`.
  3052  type BrowserAssignedTargetingOptionDetails struct {
  3053  	// DisplayName: Output only. The display name of the browser.
  3054  	DisplayName string `json:"displayName,omitempty"`
  3055  	// Negative: Indicates if this option is being negatively targeted. All
  3056  	// assigned browser targeting options on the same resource must have the same
  3057  	// value for this field.
  3058  	Negative bool `json:"negative,omitempty"`
  3059  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  3060  	// type `TARGETING_TYPE_BROWSER`.
  3061  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  3062  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3063  	// unconditionally include in API requests. By default, fields with empty or
  3064  	// default values are omitted from API requests. See
  3065  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3066  	// details.
  3067  	ForceSendFields []string `json:"-"`
  3068  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3069  	// requests with the JSON null value. By default, fields with empty values are
  3070  	// omitted from API requests. See
  3071  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3072  	NullFields []string `json:"-"`
  3073  }
  3074  
  3075  func (s *BrowserAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  3076  	type NoMethod BrowserAssignedTargetingOptionDetails
  3077  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3078  }
  3079  
  3080  // BrowserTargetingOptionDetails: Represents a targetable browser. This will be
  3081  // populated in the browser_details field when targeting_type is
  3082  // `TARGETING_TYPE_BROWSER`.
  3083  type BrowserTargetingOptionDetails struct {
  3084  	// DisplayName: Output only. The display name of the browser.
  3085  	DisplayName string `json:"displayName,omitempty"`
  3086  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3087  	// unconditionally include in API requests. By default, fields with empty or
  3088  	// default values are omitted from API requests. See
  3089  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3090  	// details.
  3091  	ForceSendFields []string `json:"-"`
  3092  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3093  	// requests with the JSON null value. By default, fields with empty values are
  3094  	// omitted from API requests. See
  3095  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3096  	NullFields []string `json:"-"`
  3097  }
  3098  
  3099  func (s *BrowserTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  3100  	type NoMethod BrowserTargetingOptionDetails
  3101  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3102  }
  3103  
  3104  // BudgetSummary: Summarized information of an individual campaign budget.
  3105  type BudgetSummary struct {
  3106  	// ExternalBudgetId: Corresponds to the external_budget_id of a campaign
  3107  	// budget. If the value is not set in the campaign budget, this field will be
  3108  	// empty.
  3109  	ExternalBudgetId string `json:"externalBudgetId,omitempty"`
  3110  	// PreTaxAmountMicros: The sum of charges made under this budget before taxes,
  3111  	// in micros of the invoice's currency. For example, if currency_code is `USD`,
  3112  	// then 1000000 represents one US dollar.
  3113  	PreTaxAmountMicros int64 `json:"preTaxAmountMicros,omitempty,string"`
  3114  	// PrismaCpeCode: Relevant client, product, and estimate codes from the
  3115  	// Mediaocean Prisma tool. Only applicable for campaign budgets with an
  3116  	// external_budget_source of EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN.
  3117  	PrismaCpeCode *PrismaCpeCode `json:"prismaCpeCode,omitempty"`
  3118  	// TaxAmountMicros: The amount of tax applied to charges under this budget, in
  3119  	// micros of the invoice's currency. For example, if currency_code is `USD`,
  3120  	// then 1000000 represents one US dollar.
  3121  	TaxAmountMicros int64 `json:"taxAmountMicros,omitempty,string"`
  3122  	// TotalAmountMicros: The total sum of charges made under this budget,
  3123  	// including tax, in micros of the invoice's currency. For example, if
  3124  	// currency_code is `USD`, then 1000000 represents one US dollar.
  3125  	TotalAmountMicros int64 `json:"totalAmountMicros,omitempty,string"`
  3126  	// ForceSendFields is a list of field names (e.g. "ExternalBudgetId") to
  3127  	// unconditionally include in API requests. By default, fields with empty or
  3128  	// default values are omitted from API requests. See
  3129  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3130  	// details.
  3131  	ForceSendFields []string `json:"-"`
  3132  	// NullFields is a list of field names (e.g. "ExternalBudgetId") to include in
  3133  	// API requests with the JSON null value. By default, fields with empty values
  3134  	// are omitted from API requests. See
  3135  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3136  	NullFields []string `json:"-"`
  3137  }
  3138  
  3139  func (s *BudgetSummary) MarshalJSON() ([]byte, error) {
  3140  	type NoMethod BudgetSummary
  3141  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3142  }
  3143  
  3144  // BulkEditAdvertiserAssignedTargetingOptionsRequest: Request message for
  3145  // BulkEditAdvertiserAssignedTargetingOptions.
  3146  type BulkEditAdvertiserAssignedTargetingOptionsRequest struct {
  3147  	// CreateRequests: The assigned targeting options to create in batch, specified
  3148  	// as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting
  3149  	// types: * `TARGETING_TYPE_CHANNEL` *
  3150  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
  3151  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`
  3152  	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
  3153  	// DeleteRequests: The assigned targeting options to delete in batch, specified
  3154  	// as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting
  3155  	// types: * `TARGETING_TYPE_CHANNEL` *
  3156  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
  3157  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`
  3158  	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
  3159  	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
  3160  	// unconditionally include in API requests. By default, fields with empty or
  3161  	// default values are omitted from API requests. See
  3162  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3163  	// details.
  3164  	ForceSendFields []string `json:"-"`
  3165  	// NullFields is a list of field names (e.g. "CreateRequests") to include in
  3166  	// API requests with the JSON null value. By default, fields with empty values
  3167  	// are omitted from API requests. See
  3168  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3169  	NullFields []string `json:"-"`
  3170  }
  3171  
  3172  func (s *BulkEditAdvertiserAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
  3173  	type NoMethod BulkEditAdvertiserAssignedTargetingOptionsRequest
  3174  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3175  }
  3176  
  3177  type BulkEditAdvertiserAssignedTargetingOptionsResponse struct {
  3178  	// CreatedAssignedTargetingOptions: The list of assigned targeting options that
  3179  	// have been successfully created. This list will be absent if empty.
  3180  	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
  3181  
  3182  	// ServerResponse contains the HTTP response code and headers from the server.
  3183  	googleapi.ServerResponse `json:"-"`
  3184  	// ForceSendFields is a list of field names (e.g.
  3185  	// "CreatedAssignedTargetingOptions") to unconditionally include in API
  3186  	// requests. By default, fields with empty or default values are omitted from
  3187  	// API requests. See
  3188  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3189  	// details.
  3190  	ForceSendFields []string `json:"-"`
  3191  	// NullFields is a list of field names (e.g. "CreatedAssignedTargetingOptions")
  3192  	// to include in API requests with the JSON null value. By default, fields with
  3193  	// empty values are omitted from API requests. See
  3194  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3195  	NullFields []string `json:"-"`
  3196  }
  3197  
  3198  func (s *BulkEditAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3199  	type NoMethod BulkEditAdvertiserAssignedTargetingOptionsResponse
  3200  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3201  }
  3202  
  3203  // BulkEditAssignedInventorySourcesRequest: Request message for
  3204  // AssignedInventorySourceService.BulkEdit.
  3205  type BulkEditAssignedInventorySourcesRequest struct {
  3206  	// AdvertiserId: The ID of the advertiser that owns the parent inventory source
  3207  	// group. The parent partner does not have access to these assigned inventory
  3208  	// sources.
  3209  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  3210  	// CreatedAssignedInventorySources: The assigned inventory sources to create in
  3211  	// bulk, specified as a list of AssignedInventorySources.
  3212  	CreatedAssignedInventorySources []*AssignedInventorySource `json:"createdAssignedInventorySources,omitempty"`
  3213  	// DeletedAssignedInventorySources: The IDs of the assigned inventory sources
  3214  	// to delete in bulk, specified as a list of assigned_inventory_source_ids.
  3215  	DeletedAssignedInventorySources googleapi.Int64s `json:"deletedAssignedInventorySources,omitempty"`
  3216  	// PartnerId: The ID of the partner that owns the inventory source group. Only
  3217  	// this partner has write access to these assigned inventory sources.
  3218  	PartnerId int64 `json:"partnerId,omitempty,string"`
  3219  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  3220  	// unconditionally include in API requests. By default, fields with empty or
  3221  	// default values are omitted from API requests. See
  3222  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3223  	// details.
  3224  	ForceSendFields []string `json:"-"`
  3225  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  3226  	// requests with the JSON null value. By default, fields with empty values are
  3227  	// omitted from API requests. See
  3228  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3229  	NullFields []string `json:"-"`
  3230  }
  3231  
  3232  func (s *BulkEditAssignedInventorySourcesRequest) MarshalJSON() ([]byte, error) {
  3233  	type NoMethod BulkEditAssignedInventorySourcesRequest
  3234  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3235  }
  3236  
  3237  // BulkEditAssignedInventorySourcesResponse: Response message for
  3238  // AssignedInventorySourceService.BulkEdit.
  3239  type BulkEditAssignedInventorySourcesResponse struct {
  3240  	// AssignedInventorySources: The list of assigned inventory sources that have
  3241  	// been successfully created. This list will be absent if empty.
  3242  	AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"`
  3243  
  3244  	// ServerResponse contains the HTTP response code and headers from the server.
  3245  	googleapi.ServerResponse `json:"-"`
  3246  	// ForceSendFields is a list of field names (e.g. "AssignedInventorySources")
  3247  	// to unconditionally include in API requests. By default, fields with empty or
  3248  	// default values are omitted from API requests. See
  3249  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3250  	// details.
  3251  	ForceSendFields []string `json:"-"`
  3252  	// NullFields is a list of field names (e.g. "AssignedInventorySources") to
  3253  	// include in API requests with the JSON null value. By default, fields with
  3254  	// empty values are omitted from API requests. See
  3255  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3256  	NullFields []string `json:"-"`
  3257  }
  3258  
  3259  func (s *BulkEditAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) {
  3260  	type NoMethod BulkEditAssignedInventorySourcesResponse
  3261  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3262  }
  3263  
  3264  // BulkEditAssignedLocationsRequest: Request message for
  3265  // AssignedLocationService.BulkEditAssignedLocations.
  3266  type BulkEditAssignedLocationsRequest struct {
  3267  	// CreatedAssignedLocations: The assigned locations to create in bulk,
  3268  	// specified as a list of AssignedLocation resources.
  3269  	CreatedAssignedLocations []*AssignedLocation `json:"createdAssignedLocations,omitempty"`
  3270  	// DeletedAssignedLocations: The IDs of the assigned locations to delete in
  3271  	// bulk, specified as a list of assignedLocationId values.
  3272  	DeletedAssignedLocations googleapi.Int64s `json:"deletedAssignedLocations,omitempty"`
  3273  	// ForceSendFields is a list of field names (e.g. "CreatedAssignedLocations")
  3274  	// to unconditionally include in API requests. By default, fields with empty or
  3275  	// default values are omitted from API requests. See
  3276  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3277  	// details.
  3278  	ForceSendFields []string `json:"-"`
  3279  	// NullFields is a list of field names (e.g. "CreatedAssignedLocations") to
  3280  	// include in API requests with the JSON null value. By default, fields with
  3281  	// empty values are omitted from API requests. See
  3282  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3283  	NullFields []string `json:"-"`
  3284  }
  3285  
  3286  func (s *BulkEditAssignedLocationsRequest) MarshalJSON() ([]byte, error) {
  3287  	type NoMethod BulkEditAssignedLocationsRequest
  3288  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3289  }
  3290  
  3291  type BulkEditAssignedLocationsResponse struct {
  3292  	// AssignedLocations: The list of assigned locations that have been
  3293  	// successfully created. This list will be absent if empty.
  3294  	AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"`
  3295  
  3296  	// ServerResponse contains the HTTP response code and headers from the server.
  3297  	googleapi.ServerResponse `json:"-"`
  3298  	// ForceSendFields is a list of field names (e.g. "AssignedLocations") to
  3299  	// unconditionally include in API requests. By default, fields with empty or
  3300  	// default values are omitted from API requests. See
  3301  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3302  	// details.
  3303  	ForceSendFields []string `json:"-"`
  3304  	// NullFields is a list of field names (e.g. "AssignedLocations") to include in
  3305  	// API requests with the JSON null value. By default, fields with empty values
  3306  	// are omitted from API requests. See
  3307  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3308  	NullFields []string `json:"-"`
  3309  }
  3310  
  3311  func (s *BulkEditAssignedLocationsResponse) MarshalJSON() ([]byte, error) {
  3312  	type NoMethod BulkEditAssignedLocationsResponse
  3313  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3314  }
  3315  
  3316  // BulkEditAssignedTargetingOptionsRequest: Request message for
  3317  // BulkEditLineItemsAssignedTargetingOptions.
  3318  type BulkEditAssignedTargetingOptionsRequest struct {
  3319  	// CreateRequests: The assigned targeting options to create in batch, specified
  3320  	// as a list of CreateAssignedTargetingOptionsRequest. Supported targeting
  3321  	// types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` *
  3322  	// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` *
  3323  	// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
  3324  	// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
  3325  	// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
  3326  	// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
  3327  	// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
  3328  	// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
  3329  	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
  3330  	// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
  3331  	// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
  3332  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
  3333  	// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
  3334  	// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
  3335  	// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
  3336  	// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
  3337  	// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
  3338  	// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
  3339  	// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
  3340  	// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
  3341  	// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
  3342  	// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
  3343  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
  3344  	// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
  3345  	// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
  3346  	// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`
  3347  	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
  3348  	// DeleteRequests: The assigned targeting options to delete in batch, specified
  3349  	// as a list of DeleteAssignedTargetingOptionsRequest. Supported targeting
  3350  	// types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` *
  3351  	// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` *
  3352  	// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
  3353  	// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
  3354  	// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
  3355  	// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
  3356  	// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
  3357  	// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
  3358  	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
  3359  	// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
  3360  	// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
  3361  	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
  3362  	// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
  3363  	// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
  3364  	// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
  3365  	// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
  3366  	// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
  3367  	// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
  3368  	// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
  3369  	// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
  3370  	// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
  3371  	// `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
  3372  	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
  3373  	// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
  3374  	// `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
  3375  	// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`
  3376  	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
  3377  	// LineItemIds: Required. The ID of the line items whose targeting is being
  3378  	// updated.
  3379  	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
  3380  	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
  3381  	// unconditionally include in API requests. By default, fields with empty or
  3382  	// default values are omitted from API requests. See
  3383  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3384  	// details.
  3385  	ForceSendFields []string `json:"-"`
  3386  	// NullFields is a list of field names (e.g. "CreateRequests") to include in
  3387  	// API requests with the JSON null value. By default, fields with empty values
  3388  	// are omitted from API requests. See
  3389  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3390  	NullFields []string `json:"-"`
  3391  }
  3392  
  3393  func (s *BulkEditAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
  3394  	type NoMethod BulkEditAssignedTargetingOptionsRequest
  3395  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3396  }
  3397  
  3398  type BulkEditAssignedTargetingOptionsResponse struct {
  3399  	// Errors: The error information for each line item that failed to update.
  3400  	Errors []*Status `json:"errors,omitempty"`
  3401  	// FailedLineItemIds: Output only. The IDs of the line items which failed.
  3402  	FailedLineItemIds googleapi.Int64s `json:"failedLineItemIds,omitempty"`
  3403  	// UpdatedLineItemIds: Output only. The IDs of the line items which
  3404  	// successfully updated.
  3405  	UpdatedLineItemIds googleapi.Int64s `json:"updatedLineItemIds,omitempty"`
  3406  
  3407  	// ServerResponse contains the HTTP response code and headers from the server.
  3408  	googleapi.ServerResponse `json:"-"`
  3409  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  3410  	// include in API requests. By default, fields with empty or default values are
  3411  	// omitted from API requests. See
  3412  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3413  	// details.
  3414  	ForceSendFields []string `json:"-"`
  3415  	// NullFields is a list of field names (e.g. "Errors") to include in API
  3416  	// requests with the JSON null value. By default, fields with empty values are
  3417  	// omitted from API requests. See
  3418  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3419  	NullFields []string `json:"-"`
  3420  }
  3421  
  3422  func (s *BulkEditAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3423  	type NoMethod BulkEditAssignedTargetingOptionsResponse
  3424  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3425  }
  3426  
  3427  // BulkEditAssignedUserRolesRequest: Request message for
  3428  // BulkEditAssignedUserRoles.
  3429  type BulkEditAssignedUserRolesRequest struct {
  3430  	// CreatedAssignedUserRoles: The assigned user roles to create in batch,
  3431  	// specified as a list of AssignedUserRoles.
  3432  	CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"`
  3433  	// DeletedAssignedUserRoles: The assigned user roles to delete in batch,
  3434  	// specified as a list of assigned_user_role_ids. The format of
  3435  	// assigned_user_role_id is `entityType-entityid`, for example `partner-123`.
  3436  	DeletedAssignedUserRoles []string `json:"deletedAssignedUserRoles,omitempty"`
  3437  	// ForceSendFields is a list of field names (e.g. "CreatedAssignedUserRoles")
  3438  	// to unconditionally include in API requests. By default, fields with empty or
  3439  	// default values are omitted from API requests. See
  3440  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3441  	// details.
  3442  	ForceSendFields []string `json:"-"`
  3443  	// NullFields is a list of field names (e.g. "CreatedAssignedUserRoles") to
  3444  	// include in API requests with the JSON null value. By default, fields with
  3445  	// empty values are omitted from API requests. See
  3446  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3447  	NullFields []string `json:"-"`
  3448  }
  3449  
  3450  func (s *BulkEditAssignedUserRolesRequest) MarshalJSON() ([]byte, error) {
  3451  	type NoMethod BulkEditAssignedUserRolesRequest
  3452  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3453  }
  3454  
  3455  type BulkEditAssignedUserRolesResponse struct {
  3456  	// CreatedAssignedUserRoles: The list of assigned user roles that have been
  3457  	// successfully created. This list will be absent if empty.
  3458  	CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"`
  3459  
  3460  	// ServerResponse contains the HTTP response code and headers from the server.
  3461  	googleapi.ServerResponse `json:"-"`
  3462  	// ForceSendFields is a list of field names (e.g. "CreatedAssignedUserRoles")
  3463  	// to unconditionally include in API requests. By default, fields with empty or
  3464  	// default values are omitted from API requests. See
  3465  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3466  	// details.
  3467  	ForceSendFields []string `json:"-"`
  3468  	// NullFields is a list of field names (e.g. "CreatedAssignedUserRoles") to
  3469  	// include in API requests with the JSON null value. By default, fields with
  3470  	// empty values are omitted from API requests. See
  3471  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3472  	NullFields []string `json:"-"`
  3473  }
  3474  
  3475  func (s *BulkEditAssignedUserRolesResponse) MarshalJSON() ([]byte, error) {
  3476  	type NoMethod BulkEditAssignedUserRolesResponse
  3477  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3478  }
  3479  
  3480  // BulkEditNegativeKeywordsRequest: Request message for
  3481  // NegativeKeywordService.BulkEditNegativeKeywords.
  3482  type BulkEditNegativeKeywordsRequest struct {
  3483  	// CreatedNegativeKeywords: The negative keywords to create in batch, specified
  3484  	// as a list of NegativeKeywords.
  3485  	CreatedNegativeKeywords []*NegativeKeyword `json:"createdNegativeKeywords,omitempty"`
  3486  	// DeletedNegativeKeywords: The negative keywords to delete in batch, specified
  3487  	// as a list of keyword_values.
  3488  	DeletedNegativeKeywords []string `json:"deletedNegativeKeywords,omitempty"`
  3489  	// ForceSendFields is a list of field names (e.g. "CreatedNegativeKeywords") to
  3490  	// unconditionally include in API requests. By default, fields with empty or
  3491  	// default values are omitted from API requests. See
  3492  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3493  	// details.
  3494  	ForceSendFields []string `json:"-"`
  3495  	// NullFields is a list of field names (e.g. "CreatedNegativeKeywords") to
  3496  	// include in API requests with the JSON null value. By default, fields with
  3497  	// empty values are omitted from API requests. See
  3498  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3499  	NullFields []string `json:"-"`
  3500  }
  3501  
  3502  func (s *BulkEditNegativeKeywordsRequest) MarshalJSON() ([]byte, error) {
  3503  	type NoMethod BulkEditNegativeKeywordsRequest
  3504  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3505  }
  3506  
  3507  // BulkEditNegativeKeywordsResponse: Response message for
  3508  // NegativeKeywordService.BulkEditNegativeKeywords.
  3509  type BulkEditNegativeKeywordsResponse struct {
  3510  	// NegativeKeywords: The list of negative keywords that have been successfully
  3511  	// created. This list will be absent if empty.
  3512  	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
  3513  
  3514  	// ServerResponse contains the HTTP response code and headers from the server.
  3515  	googleapi.ServerResponse `json:"-"`
  3516  	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
  3517  	// unconditionally include in API requests. By default, fields with empty or
  3518  	// default values are omitted from API requests. See
  3519  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3520  	// details.
  3521  	ForceSendFields []string `json:"-"`
  3522  	// NullFields is a list of field names (e.g. "NegativeKeywords") to include in
  3523  	// API requests with the JSON null value. By default, fields with empty values
  3524  	// are omitted from API requests. See
  3525  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3526  	NullFields []string `json:"-"`
  3527  }
  3528  
  3529  func (s *BulkEditNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
  3530  	type NoMethod BulkEditNegativeKeywordsResponse
  3531  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3532  }
  3533  
  3534  // BulkEditPartnerAssignedTargetingOptionsRequest: Request message for
  3535  // BulkEditPartnerAssignedTargetingOptions.
  3536  type BulkEditPartnerAssignedTargetingOptionsRequest struct {
  3537  	// CreateRequests: The assigned targeting options to create in batch, specified
  3538  	// as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting
  3539  	// types: * `TARGETING_TYPE_CHANNEL`
  3540  	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
  3541  	// DeleteRequests: The assigned targeting options to delete in batch, specified
  3542  	// as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting
  3543  	// types: * `TARGETING_TYPE_CHANNEL`
  3544  	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
  3545  	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
  3546  	// unconditionally include in API requests. By default, fields with empty or
  3547  	// default values are omitted from API requests. See
  3548  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3549  	// details.
  3550  	ForceSendFields []string `json:"-"`
  3551  	// NullFields is a list of field names (e.g. "CreateRequests") to include in
  3552  	// API requests with the JSON null value. By default, fields with empty values
  3553  	// are omitted from API requests. See
  3554  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3555  	NullFields []string `json:"-"`
  3556  }
  3557  
  3558  func (s *BulkEditPartnerAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
  3559  	type NoMethod BulkEditPartnerAssignedTargetingOptionsRequest
  3560  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3561  }
  3562  
  3563  type BulkEditPartnerAssignedTargetingOptionsResponse struct {
  3564  	// CreatedAssignedTargetingOptions: The list of assigned targeting options that
  3565  	// have been successfully created. This list will be absent if empty.
  3566  	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
  3567  
  3568  	// ServerResponse contains the HTTP response code and headers from the server.
  3569  	googleapi.ServerResponse `json:"-"`
  3570  	// ForceSendFields is a list of field names (e.g.
  3571  	// "CreatedAssignedTargetingOptions") to unconditionally include in API
  3572  	// requests. By default, fields with empty or default values are omitted from
  3573  	// API requests. See
  3574  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3575  	// details.
  3576  	ForceSendFields []string `json:"-"`
  3577  	// NullFields is a list of field names (e.g. "CreatedAssignedTargetingOptions")
  3578  	// to include in API requests with the JSON null value. By default, fields with
  3579  	// empty values are omitted from API requests. See
  3580  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3581  	NullFields []string `json:"-"`
  3582  }
  3583  
  3584  func (s *BulkEditPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3585  	type NoMethod BulkEditPartnerAssignedTargetingOptionsResponse
  3586  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3587  }
  3588  
  3589  // BulkEditSitesRequest: Request message for SiteService.BulkEditSites.
  3590  type BulkEditSitesRequest struct {
  3591  	// AdvertiserId: The ID of the advertiser that owns the parent channel.
  3592  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  3593  	// CreatedSites: The sites to create in batch, specified as a list of Sites.
  3594  	CreatedSites []*Site `json:"createdSites,omitempty"`
  3595  	// DeletedSites: The sites to delete in batch, specified as a list of site
  3596  	// url_or_app_ids.
  3597  	DeletedSites []string `json:"deletedSites,omitempty"`
  3598  	// PartnerId: The ID of the partner that owns the parent channel.
  3599  	PartnerId int64 `json:"partnerId,omitempty,string"`
  3600  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  3601  	// unconditionally include in API requests. By default, fields with empty or
  3602  	// default values are omitted from API requests. See
  3603  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3604  	// details.
  3605  	ForceSendFields []string `json:"-"`
  3606  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  3607  	// requests with the JSON null value. By default, fields with empty values are
  3608  	// omitted from API requests. See
  3609  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3610  	NullFields []string `json:"-"`
  3611  }
  3612  
  3613  func (s *BulkEditSitesRequest) MarshalJSON() ([]byte, error) {
  3614  	type NoMethod BulkEditSitesRequest
  3615  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3616  }
  3617  
  3618  // BulkEditSitesResponse: Response message for SiteService.BulkEditSites.
  3619  type BulkEditSitesResponse struct {
  3620  	// Sites: The list of sites that have been successfully created. This list will
  3621  	// be absent if empty.
  3622  	Sites []*Site `json:"sites,omitempty"`
  3623  
  3624  	// ServerResponse contains the HTTP response code and headers from the server.
  3625  	googleapi.ServerResponse `json:"-"`
  3626  	// ForceSendFields is a list of field names (e.g. "Sites") to unconditionally
  3627  	// include in API requests. By default, fields with empty or default values are
  3628  	// omitted from API requests. See
  3629  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3630  	// details.
  3631  	ForceSendFields []string `json:"-"`
  3632  	// NullFields is a list of field names (e.g. "Sites") to include in API
  3633  	// requests with the JSON null value. By default, fields with empty values are
  3634  	// omitted from API requests. See
  3635  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3636  	NullFields []string `json:"-"`
  3637  }
  3638  
  3639  func (s *BulkEditSitesResponse) MarshalJSON() ([]byte, error) {
  3640  	type NoMethod BulkEditSitesResponse
  3641  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3642  }
  3643  
  3644  type BulkListAdGroupAssignedTargetingOptionsResponse struct {
  3645  	// AdGroupAssignedTargetingOptions: The list of wrapper objects, each providing
  3646  	// an assigned targeting option and the ad group it is assigned to. This list
  3647  	// will be absent if empty.
  3648  	AdGroupAssignedTargetingOptions []*AdGroupAssignedTargetingOption `json:"adGroupAssignedTargetingOptions,omitempty"`
  3649  	// NextPageToken: A token identifying the next page of results. This value
  3650  	// should be specified as the pageToken in a subsequent call to
  3651  	// `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results.
  3652  	// This token will be absent if there are no more
  3653  	// AdGroupAssignedTargetingOption resources to return.
  3654  	NextPageToken string `json:"nextPageToken,omitempty"`
  3655  
  3656  	// ServerResponse contains the HTTP response code and headers from the server.
  3657  	googleapi.ServerResponse `json:"-"`
  3658  	// ForceSendFields is a list of field names (e.g.
  3659  	// "AdGroupAssignedTargetingOptions") to unconditionally include in API
  3660  	// requests. By default, fields with empty or default values are omitted from
  3661  	// API requests. See
  3662  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3663  	// details.
  3664  	ForceSendFields []string `json:"-"`
  3665  	// NullFields is a list of field names (e.g. "AdGroupAssignedTargetingOptions")
  3666  	// to include in API requests with the JSON null value. By default, fields with
  3667  	// empty values are omitted from API requests. See
  3668  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3669  	NullFields []string `json:"-"`
  3670  }
  3671  
  3672  func (s *BulkListAdGroupAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3673  	type NoMethod BulkListAdGroupAssignedTargetingOptionsResponse
  3674  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3675  }
  3676  
  3677  type BulkListAdvertiserAssignedTargetingOptionsResponse struct {
  3678  	// AssignedTargetingOptions: The list of assigned targeting options. This list
  3679  	// will be absent if empty.
  3680  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
  3681  	// NextPageToken: A token identifying the next page of results. This value
  3682  	// should be specified as the pageToken in a subsequent
  3683  	// BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of
  3684  	// results. This token will be absent if there are no more
  3685  	// assigned_targeting_options to return.
  3686  	NextPageToken string `json:"nextPageToken,omitempty"`
  3687  
  3688  	// ServerResponse contains the HTTP response code and headers from the server.
  3689  	googleapi.ServerResponse `json:"-"`
  3690  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
  3691  	// to unconditionally include in API requests. By default, fields with empty or
  3692  	// default values are omitted from API requests. See
  3693  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3694  	// details.
  3695  	ForceSendFields []string `json:"-"`
  3696  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
  3697  	// include in API requests with the JSON null value. By default, fields with
  3698  	// empty values are omitted from API requests. See
  3699  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3700  	NullFields []string `json:"-"`
  3701  }
  3702  
  3703  func (s *BulkListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3704  	type NoMethod BulkListAdvertiserAssignedTargetingOptionsResponse
  3705  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3706  }
  3707  
  3708  type BulkListAssignedTargetingOptionsResponse struct {
  3709  	// LineItemAssignedTargetingOptions: The list of wrapper objects, each
  3710  	// providing an assigned targeting option and the line item it is assigned to.
  3711  	// This list will be absent if empty.
  3712  	LineItemAssignedTargetingOptions []*LineItemAssignedTargetingOption `json:"lineItemAssignedTargetingOptions,omitempty"`
  3713  	// NextPageToken: A token identifying the next page of results. This value
  3714  	// should be specified as the pageToken in a subsequent call to
  3715  	// `BulkListAssignedTargetingOptions` to fetch the next page of results. This
  3716  	// token will be absent if there are no more
  3717  	// line_item_assigned_targeting_options to return.
  3718  	NextPageToken string `json:"nextPageToken,omitempty"`
  3719  
  3720  	// ServerResponse contains the HTTP response code and headers from the server.
  3721  	googleapi.ServerResponse `json:"-"`
  3722  	// ForceSendFields is a list of field names (e.g.
  3723  	// "LineItemAssignedTargetingOptions") to unconditionally include in API
  3724  	// requests. By default, fields with empty or default values are omitted from
  3725  	// API requests. See
  3726  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3727  	// details.
  3728  	ForceSendFields []string `json:"-"`
  3729  	// NullFields is a list of field names (e.g.
  3730  	// "LineItemAssignedTargetingOptions") to include in API requests with the JSON
  3731  	// null value. By default, fields with empty values are omitted from API
  3732  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for
  3733  	// more details.
  3734  	NullFields []string `json:"-"`
  3735  }
  3736  
  3737  func (s *BulkListAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3738  	type NoMethod BulkListAssignedTargetingOptionsResponse
  3739  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3740  }
  3741  
  3742  type BulkListCampaignAssignedTargetingOptionsResponse struct {
  3743  	// AssignedTargetingOptions: The list of assigned targeting options. This list
  3744  	// will be absent if empty.
  3745  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
  3746  	// NextPageToken: A token identifying the next page of results. This value
  3747  	// should be specified as the pageToken in a subsequent
  3748  	// BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of
  3749  	// results. This token will be absent if there are no more
  3750  	// assigned_targeting_options to return.
  3751  	NextPageToken string `json:"nextPageToken,omitempty"`
  3752  
  3753  	// ServerResponse contains the HTTP response code and headers from the server.
  3754  	googleapi.ServerResponse `json:"-"`
  3755  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
  3756  	// to unconditionally include in API requests. By default, fields with empty or
  3757  	// default values are omitted from API requests. See
  3758  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3759  	// details.
  3760  	ForceSendFields []string `json:"-"`
  3761  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
  3762  	// include in API requests with the JSON null value. By default, fields with
  3763  	// empty values are omitted from API requests. See
  3764  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3765  	NullFields []string `json:"-"`
  3766  }
  3767  
  3768  func (s *BulkListCampaignAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3769  	type NoMethod BulkListCampaignAssignedTargetingOptionsResponse
  3770  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3771  }
  3772  
  3773  type BulkListInsertionOrderAssignedTargetingOptionsResponse struct {
  3774  	// AssignedTargetingOptions: The list of assigned targeting options. This list
  3775  	// will be absent if empty.
  3776  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
  3777  	// NextPageToken: A token identifying the next page of results. This value
  3778  	// should be specified as the pageToken in a subsequent
  3779  	// BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page
  3780  	// of results. This token will be absent if there are no more
  3781  	// assigned_targeting_options to return.
  3782  	NextPageToken string `json:"nextPageToken,omitempty"`
  3783  
  3784  	// ServerResponse contains the HTTP response code and headers from the server.
  3785  	googleapi.ServerResponse `json:"-"`
  3786  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
  3787  	// to unconditionally include in API requests. By default, fields with empty or
  3788  	// default values are omitted from API requests. See
  3789  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3790  	// details.
  3791  	ForceSendFields []string `json:"-"`
  3792  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
  3793  	// include in API requests with the JSON null value. By default, fields with
  3794  	// empty values are omitted from API requests. See
  3795  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3796  	NullFields []string `json:"-"`
  3797  }
  3798  
  3799  func (s *BulkListInsertionOrderAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
  3800  	type NoMethod BulkListInsertionOrderAssignedTargetingOptionsResponse
  3801  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3802  }
  3803  
  3804  // BulkUpdateLineItemsRequest: Request message for
  3805  // LineItemService.BulkUpdateLineItems.
  3806  type BulkUpdateLineItemsRequest struct {
  3807  	// LineItemIds: Required. IDs of line items to update.
  3808  	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
  3809  	// TargetLineItem: Required. A line item object containing the fields to be
  3810  	// updated and the new values to assign to all line items specified in
  3811  	// line_item_ids."
  3812  	TargetLineItem *LineItem `json:"targetLineItem,omitempty"`
  3813  	// UpdateMask: Required. A field mask identifying which fields to update. Only
  3814  	// the following fields are currently supported: * entityStatus
  3815  	UpdateMask string `json:"updateMask,omitempty"`
  3816  	// ForceSendFields is a list of field names (e.g. "LineItemIds") to
  3817  	// unconditionally include in API requests. By default, fields with empty or
  3818  	// default values are omitted from API requests. See
  3819  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3820  	// details.
  3821  	ForceSendFields []string `json:"-"`
  3822  	// NullFields is a list of field names (e.g. "LineItemIds") to include in API
  3823  	// requests with the JSON null value. By default, fields with empty values are
  3824  	// omitted from API requests. See
  3825  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3826  	NullFields []string `json:"-"`
  3827  }
  3828  
  3829  func (s *BulkUpdateLineItemsRequest) MarshalJSON() ([]byte, error) {
  3830  	type NoMethod BulkUpdateLineItemsRequest
  3831  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3832  }
  3833  
  3834  // BulkUpdateLineItemsResponse: Response message for
  3835  // LineItemService.BulkUpdateLineItems.
  3836  type BulkUpdateLineItemsResponse struct {
  3837  	// Errors: Errors returned by line items that failed to update.
  3838  	Errors []*Status `json:"errors,omitempty"`
  3839  	// FailedLineItemIds: The IDs of line items that failed to update.
  3840  	FailedLineItemIds googleapi.Int64s `json:"failedLineItemIds,omitempty"`
  3841  	// SkippedLineItemIds: The IDs of line items that are skipped for updates. For
  3842  	// example, unnecessary mutates that will result in effectively no changes to
  3843  	// line items will be skipped and corresponding line item IDs can be tracked
  3844  	// here.
  3845  	SkippedLineItemIds googleapi.Int64s `json:"skippedLineItemIds,omitempty"`
  3846  	// UpdatedLineItemIds: The IDs of successfully updated line items.
  3847  	UpdatedLineItemIds googleapi.Int64s `json:"updatedLineItemIds,omitempty"`
  3848  
  3849  	// ServerResponse contains the HTTP response code and headers from the server.
  3850  	googleapi.ServerResponse `json:"-"`
  3851  	// ForceSendFields is a list of field names (e.g. "Errors") to unconditionally
  3852  	// include in API requests. By default, fields with empty or default values are
  3853  	// omitted from API requests. See
  3854  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3855  	// details.
  3856  	ForceSendFields []string `json:"-"`
  3857  	// NullFields is a list of field names (e.g. "Errors") to include in API
  3858  	// requests with the JSON null value. By default, fields with empty values are
  3859  	// omitted from API requests. See
  3860  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3861  	NullFields []string `json:"-"`
  3862  }
  3863  
  3864  func (s *BulkUpdateLineItemsResponse) MarshalJSON() ([]byte, error) {
  3865  	type NoMethod BulkUpdateLineItemsResponse
  3866  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3867  }
  3868  
  3869  // BumperAd: Details for a bumper ad.
  3870  type BumperAd struct {
  3871  	// CommonInStreamAttribute: Common ad attributes.
  3872  	CommonInStreamAttribute *CommonInStreamAttribute `json:"commonInStreamAttribute,omitempty"`
  3873  	// ForceSendFields is a list of field names (e.g. "CommonInStreamAttribute") to
  3874  	// unconditionally include in API requests. By default, fields with empty or
  3875  	// default values are omitted from API requests. See
  3876  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3877  	// details.
  3878  	ForceSendFields []string `json:"-"`
  3879  	// NullFields is a list of field names (e.g. "CommonInStreamAttribute") to
  3880  	// include in API requests with the JSON null value. By default, fields with
  3881  	// empty values are omitted from API requests. See
  3882  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3883  	NullFields []string `json:"-"`
  3884  }
  3885  
  3886  func (s *BumperAd) MarshalJSON() ([]byte, error) {
  3887  	type NoMethod BumperAd
  3888  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3889  }
  3890  
  3891  // BusinessChainAssignedTargetingOptionDetails: Details for assigned Business
  3892  // chain targeting option. This will be populated in the details field of an
  3893  // AssignedTargetingOption when targeting_type is
  3894  // `TARGETING_TYPE_BUSINESS_CHAIN`.
  3895  type BusinessChainAssignedTargetingOptionDetails struct {
  3896  	// DisplayName: Output only. The display name of a business chain, e.g. "KFC",
  3897  	// "Chase Bank".
  3898  	DisplayName string `json:"displayName,omitempty"`
  3899  	// ProximityRadiusAmount: Required. The radius of the area around the business
  3900  	// chain that will be targeted. The units of the radius are specified by
  3901  	// proximity_radius_unit. Must be 1 to 800 if unit is
  3902  	// `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
  3903  	// The minimum increment for both cases is 0.1. Inputs will be rounded to the
  3904  	// nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
  3905  	ProximityRadiusAmount float64 `json:"proximityRadiusAmount,omitempty"`
  3906  	// ProximityRadiusUnit: Required. The unit of distance by which the targeting
  3907  	// radius is measured.
  3908  	//
  3909  	// Possible values:
  3910  	//   "DISTANCE_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in
  3911  	// this version.
  3912  	//   "DISTANCE_UNIT_MILES" - Miles.
  3913  	//   "DISTANCE_UNIT_KILOMETERS" - Kilometers.
  3914  	ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"`
  3915  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  3916  	// type `TARGETING_TYPE_BUSINESS_CHAIN`. Accepted business chain targeting
  3917  	// option IDs can be retrieved using SearchTargetingOptions.
  3918  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  3919  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  3920  	// unconditionally include in API requests. By default, fields with empty or
  3921  	// default values are omitted from API requests. See
  3922  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3923  	// details.
  3924  	ForceSendFields []string `json:"-"`
  3925  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  3926  	// requests with the JSON null value. By default, fields with empty values are
  3927  	// omitted from API requests. See
  3928  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3929  	NullFields []string `json:"-"`
  3930  }
  3931  
  3932  func (s *BusinessChainAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  3933  	type NoMethod BusinessChainAssignedTargetingOptionDetails
  3934  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3935  }
  3936  
  3937  func (s *BusinessChainAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error {
  3938  	type NoMethod BusinessChainAssignedTargetingOptionDetails
  3939  	var s1 struct {
  3940  		ProximityRadiusAmount gensupport.JSONFloat64 `json:"proximityRadiusAmount"`
  3941  		*NoMethod
  3942  	}
  3943  	s1.NoMethod = (*NoMethod)(s)
  3944  	if err := json.Unmarshal(data, &s1); err != nil {
  3945  		return err
  3946  	}
  3947  	s.ProximityRadiusAmount = float64(s1.ProximityRadiusAmount)
  3948  	return nil
  3949  }
  3950  
  3951  // BusinessChainSearchTerms: Search terms for Business Chain targeting options.
  3952  // At least one of the field should be populated.
  3953  type BusinessChainSearchTerms struct {
  3954  	// BusinessChainQuery: The search query for the desired business chain. The
  3955  	// query must be the full name of the business, e.g. "KFC", "mercedes-benz".
  3956  	BusinessChainQuery string `json:"businessChainQuery,omitempty"`
  3957  	// RegionQuery: The search query for the desired geo region, e.g. "Seattle",
  3958  	// "United State".
  3959  	RegionQuery string `json:"regionQuery,omitempty"`
  3960  	// ForceSendFields is a list of field names (e.g. "BusinessChainQuery") to
  3961  	// unconditionally include in API requests. By default, fields with empty or
  3962  	// default values are omitted from API requests. See
  3963  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  3964  	// details.
  3965  	ForceSendFields []string `json:"-"`
  3966  	// NullFields is a list of field names (e.g. "BusinessChainQuery") to include
  3967  	// in API requests with the JSON null value. By default, fields with empty
  3968  	// values are omitted from API requests. See
  3969  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  3970  	NullFields []string `json:"-"`
  3971  }
  3972  
  3973  func (s *BusinessChainSearchTerms) MarshalJSON() ([]byte, error) {
  3974  	type NoMethod BusinessChainSearchTerms
  3975  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  3976  }
  3977  
  3978  // BusinessChainTargetingOptionDetails: Represents a targetable business chain
  3979  // within a geo region. This will be populated in the business_chain_details
  3980  // field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
  3981  type BusinessChainTargetingOptionDetails struct {
  3982  	// BusinessChain: Output only. The display name of the business chain, e.g.
  3983  	// "KFC", "Chase Bank".
  3984  	BusinessChain string `json:"businessChain,omitempty"`
  3985  	// GeoRegion: Output only. The display name of the geographic region, e.g.
  3986  	// "Ontario, Canada".
  3987  	GeoRegion string `json:"geoRegion,omitempty"`
  3988  	// GeoRegionType: Output only. The type of the geographic region.
  3989  	//
  3990  	// Possible values:
  3991  	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
  3992  	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
  3993  	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
  3994  	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
  3995  	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
  3996  	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
  3997  	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
  3998  	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a prefecture.
  3999  	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a governorate.
  4000  	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
  4001  	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a union
  4002  	// territory.
  4003  	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is an
  4004  	// autonomous community.
  4005  	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a designated
  4006  	// market area (DMA) region.
  4007  	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
  4008  	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is a
  4009  	// congressional district.
  4010  	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
  4011  	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a municipality.
  4012  	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
  4013  	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting type is
  4014  	// postal code.
  4015  	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type is
  4016  	// department.
  4017  	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
  4018  	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
  4019  	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
  4020  	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
  4021  	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city region.
  4022  	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
  4023  	// arrondissement.
  4024  	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a neighborhood.
  4025  	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a university.
  4026  	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
  4027  	GeoRegionType string `json:"geoRegionType,omitempty"`
  4028  	// ForceSendFields is a list of field names (e.g. "BusinessChain") to
  4029  	// unconditionally include in API requests. By default, fields with empty or
  4030  	// default values are omitted from API requests. See
  4031  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4032  	// details.
  4033  	ForceSendFields []string `json:"-"`
  4034  	// NullFields is a list of field names (e.g. "BusinessChain") to include in API
  4035  	// requests with the JSON null value. By default, fields with empty values are
  4036  	// omitted from API requests. See
  4037  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4038  	NullFields []string `json:"-"`
  4039  }
  4040  
  4041  func (s *BusinessChainTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4042  	type NoMethod BusinessChainTargetingOptionDetails
  4043  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4044  }
  4045  
  4046  // Campaign: A single campaign.
  4047  type Campaign struct {
  4048  	// AdvertiserId: Output only. The unique ID of the advertiser the campaign
  4049  	// belongs to.
  4050  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  4051  	// CampaignBudgets: The list of budgets available to this campaign. If this
  4052  	// field is not set, the campaign uses an unlimited budget.
  4053  	CampaignBudgets []*CampaignBudget `json:"campaignBudgets,omitempty"`
  4054  	// CampaignFlight: Required. The planned spend and duration of the campaign.
  4055  	CampaignFlight *CampaignFlight `json:"campaignFlight,omitempty"`
  4056  	// CampaignGoal: Required. The goal of the campaign.
  4057  	CampaignGoal *CampaignGoal `json:"campaignGoal,omitempty"`
  4058  	// CampaignId: Output only. The unique ID of the campaign. Assigned by the
  4059  	// system.
  4060  	CampaignId int64 `json:"campaignId,omitempty,string"`
  4061  	// DisplayName: Required. The display name of the campaign. Must be UTF-8
  4062  	// encoded with a maximum size of 240 bytes.
  4063  	DisplayName string `json:"displayName,omitempty"`
  4064  	// EntityStatus: Required. Controls whether or not the insertion orders under
  4065  	// this campaign can spend their budgets and bid on inventory. * Accepted
  4066  	// values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and
  4067  	// `ENTITY_STATUS_PAUSED`. * For CreateCampaign method,
  4068  	// `ENTITY_STATUS_ARCHIVED` is not allowed.
  4069  	//
  4070  	// Possible values:
  4071  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  4072  	// or is unknown in this version.
  4073  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  4074  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  4075  	// spending are disabled. An entity can be deleted after archived. Deleted
  4076  	// entities cannot be retrieved.
  4077  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  4078  	// spending are disabled.
  4079  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  4080  	// entity.
  4081  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  4082  	// deletion.
  4083  	EntityStatus string `json:"entityStatus,omitempty"`
  4084  	// FrequencyCap: Required. The frequency cap setting of the campaign.
  4085  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  4086  	// Name: Output only. The resource name of the campaign.
  4087  	Name string `json:"name,omitempty"`
  4088  	// UpdateTime: Output only. The timestamp when the campaign was last updated.
  4089  	// Assigned by the system.
  4090  	UpdateTime string `json:"updateTime,omitempty"`
  4091  
  4092  	// ServerResponse contains the HTTP response code and headers from the server.
  4093  	googleapi.ServerResponse `json:"-"`
  4094  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  4095  	// unconditionally include in API requests. By default, fields with empty or
  4096  	// default values are omitted from API requests. See
  4097  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4098  	// details.
  4099  	ForceSendFields []string `json:"-"`
  4100  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  4101  	// requests with the JSON null value. By default, fields with empty values are
  4102  	// omitted from API requests. See
  4103  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4104  	NullFields []string `json:"-"`
  4105  }
  4106  
  4107  func (s *Campaign) MarshalJSON() ([]byte, error) {
  4108  	type NoMethod Campaign
  4109  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4110  }
  4111  
  4112  // CampaignBudget: Settings that control how the campaign budget is allocated.
  4113  type CampaignBudget struct {
  4114  	// BudgetAmountMicros: Required. The total amount the linked insertion order
  4115  	// segments can budget. The amount is in micros. Must be greater than 0. For
  4116  	// example, 500000000 represents 500 standard units of the currency.
  4117  	BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"`
  4118  	// BudgetId: The unique ID of the campaign budget. Assigned by the system. Do
  4119  	// not set for new budgets. Must be included when updating or adding budgets to
  4120  	// campaign_budgets. Otherwise, a new ID will be generated and assigned.
  4121  	BudgetId int64 `json:"budgetId,omitempty,string"`
  4122  	// BudgetUnit: Required. Immutable. Specifies whether the budget is measured in
  4123  	// currency or impressions.
  4124  	//
  4125  	// Possible values:
  4126  	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in
  4127  	// this version.
  4128  	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
  4129  	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
  4130  	BudgetUnit string `json:"budgetUnit,omitempty"`
  4131  	// DateRange: Required. The date range for the campaign budget. Linked budget
  4132  	// segments may have a different date range. They are resolved relative to the
  4133  	// parent advertiser's time zone. Both `start_date` and `end_date` must be
  4134  	// before the year 2037.
  4135  	DateRange *DateRange `json:"dateRange,omitempty"`
  4136  	// DisplayName: Required. The display name of the budget. Must be UTF-8 encoded
  4137  	// with a maximum size of 240 bytes.
  4138  	DisplayName string `json:"displayName,omitempty"`
  4139  	// ExternalBudgetId: Immutable. The ID identifying this budget to the external
  4140  	// source. If this field is set and the invoice detail level of the
  4141  	// corresponding billing profile is set to "Budget level PO", all impressions
  4142  	// served against this budget will include this ID on the invoice. Must be
  4143  	// unique under the campaign.
  4144  	ExternalBudgetId string `json:"externalBudgetId,omitempty"`
  4145  	// ExternalBudgetSource: Required. The external source of the budget.
  4146  	//
  4147  	// Possible values:
  4148  	//   "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED" - External budget source value is not
  4149  	// specified or unknown in this version.
  4150  	//   "EXTERNAL_BUDGET_SOURCE_NONE" - Budget has no external source.
  4151  	//   "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" - Budget source is Mediaocean.
  4152  	ExternalBudgetSource string `json:"externalBudgetSource,omitempty"`
  4153  	// InvoiceGroupingId: Immutable. The ID used to group budgets to be included
  4154  	// the same invoice. If this field is set and the invoice level of the
  4155  	// corresponding billing profile is set to "Budget invoice grouping ID", all
  4156  	// external_budget_id sharing the same invoice_grouping_id will be grouped in
  4157  	// the same invoice.
  4158  	InvoiceGroupingId string `json:"invoiceGroupingId,omitempty"`
  4159  	// PrismaConfig: Additional metadata for use by the Mediaocean Prisma tool.
  4160  	// Required for Mediaocean budgets. Only applicable to prisma_enabled
  4161  	// advertisers.
  4162  	PrismaConfig *PrismaConfig `json:"prismaConfig,omitempty"`
  4163  	// ForceSendFields is a list of field names (e.g. "BudgetAmountMicros") to
  4164  	// unconditionally include in API requests. By default, fields with empty or
  4165  	// default values are omitted from API requests. See
  4166  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4167  	// details.
  4168  	ForceSendFields []string `json:"-"`
  4169  	// NullFields is a list of field names (e.g. "BudgetAmountMicros") to include
  4170  	// in API requests with the JSON null value. By default, fields with empty
  4171  	// values are omitted from API requests. See
  4172  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4173  	NullFields []string `json:"-"`
  4174  }
  4175  
  4176  func (s *CampaignBudget) MarshalJSON() ([]byte, error) {
  4177  	type NoMethod CampaignBudget
  4178  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4179  }
  4180  
  4181  // CampaignFlight: Settings that track the planned spend and duration of a
  4182  // campaign.
  4183  type CampaignFlight struct {
  4184  	// PlannedDates: Required. The dates that the campaign is expected to run. They
  4185  	// are resolved relative to the parent advertiser's time zone. * The dates
  4186  	// specified here will not affect serving. They are used to generate alerts and
  4187  	// warnings. For example, if the flight date of any child insertion order is
  4188  	// outside the range of these dates, the user interface will show a warning. *
  4189  	// `start_date` is required and must be the current date or later. * `end_date`
  4190  	// is optional. If specified, it must be the `start_date` or later. * Any
  4191  	// specified date must be before the year 2037.
  4192  	PlannedDates *DateRange `json:"plannedDates,omitempty"`
  4193  	// PlannedSpendAmountMicros: The amount the campaign is expected to spend for
  4194  	// its given planned_dates. This will not limit serving, but will be used for
  4195  	// tracking spend in the DV360 UI. The amount is in micros. Must be greater
  4196  	// than or equal to 0. For example, 500000000 represents 500 standard units of
  4197  	// the currency.
  4198  	PlannedSpendAmountMicros int64 `json:"plannedSpendAmountMicros,omitempty,string"`
  4199  	// ForceSendFields is a list of field names (e.g. "PlannedDates") to
  4200  	// unconditionally include in API requests. By default, fields with empty or
  4201  	// default values are omitted from API requests. See
  4202  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4203  	// details.
  4204  	ForceSendFields []string `json:"-"`
  4205  	// NullFields is a list of field names (e.g. "PlannedDates") to include in API
  4206  	// requests with the JSON null value. By default, fields with empty values are
  4207  	// omitted from API requests. See
  4208  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4209  	NullFields []string `json:"-"`
  4210  }
  4211  
  4212  func (s *CampaignFlight) MarshalJSON() ([]byte, error) {
  4213  	type NoMethod CampaignFlight
  4214  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4215  }
  4216  
  4217  // CampaignGoal: Settings that control the goal of a campaign.
  4218  type CampaignGoal struct {
  4219  	// CampaignGoalType: Required. The type of the campaign goal.
  4220  	//
  4221  	// Possible values:
  4222  	//   "CAMPAIGN_GOAL_TYPE_UNSPECIFIED" - Goal value is not specified or unknown
  4223  	// in this version.
  4224  	//   "CAMPAIGN_GOAL_TYPE_APP_INSTALL" - Drive app installs or engagements.
  4225  	//   "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS" - Raise awareness of a brand or
  4226  	// product.
  4227  	//   "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION" - Drive offline or in-store sales.
  4228  	//   "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" - Drive online action or visits.
  4229  	CampaignGoalType string `json:"campaignGoalType,omitempty"`
  4230  	// PerformanceGoal: Required. The performance goal of the campaign. Acceptable
  4231  	// values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` *
  4232  	// `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` *
  4233  	// `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` *
  4234  	// `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER`
  4235  	PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"`
  4236  	// ForceSendFields is a list of field names (e.g. "CampaignGoalType") to
  4237  	// unconditionally include in API requests. By default, fields with empty or
  4238  	// default values are omitted from API requests. See
  4239  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4240  	// details.
  4241  	ForceSendFields []string `json:"-"`
  4242  	// NullFields is a list of field names (e.g. "CampaignGoalType") to include in
  4243  	// API requests with the JSON null value. By default, fields with empty values
  4244  	// are omitted from API requests. See
  4245  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4246  	NullFields []string `json:"-"`
  4247  }
  4248  
  4249  func (s *CampaignGoal) MarshalJSON() ([]byte, error) {
  4250  	type NoMethod CampaignGoal
  4251  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4252  }
  4253  
  4254  // CarrierAndIspAssignedTargetingOptionDetails: Details for assigned carrier
  4255  // and ISP targeting option. This will be populated in the details field of an
  4256  // AssignedTargetingOption when targeting_type is
  4257  // `TARGETING_TYPE_CARRIER_AND_ISP`.
  4258  type CarrierAndIspAssignedTargetingOptionDetails struct {
  4259  	// DisplayName: Output only. The display name of the carrier or ISP.
  4260  	DisplayName string `json:"displayName,omitempty"`
  4261  	// Negative: Indicates if this option is being negatively targeted. All
  4262  	// assigned carrier and ISP targeting options on the same resource must have
  4263  	// the same value for this field.
  4264  	Negative bool `json:"negative,omitempty"`
  4265  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  4266  	// type `TARGETING_TYPE_CARRIER_AND_ISP`.
  4267  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  4268  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4269  	// unconditionally include in API requests. By default, fields with empty or
  4270  	// default values are omitted from API requests. See
  4271  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4272  	// details.
  4273  	ForceSendFields []string `json:"-"`
  4274  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4275  	// requests with the JSON null value. By default, fields with empty values are
  4276  	// omitted from API requests. See
  4277  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4278  	NullFields []string `json:"-"`
  4279  }
  4280  
  4281  func (s *CarrierAndIspAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4282  	type NoMethod CarrierAndIspAssignedTargetingOptionDetails
  4283  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4284  }
  4285  
  4286  // CarrierAndIspTargetingOptionDetails: Represents a targetable carrier or ISP.
  4287  // This will be populated in the carrier_and_isp_details field of a
  4288  // TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
  4289  type CarrierAndIspTargetingOptionDetails struct {
  4290  	// DisplayName: Output only. The display name of the carrier or ISP.
  4291  	DisplayName string `json:"displayName,omitempty"`
  4292  	// Type: Output only. The type indicating if it's carrier or ISP.
  4293  	//
  4294  	// Possible values:
  4295  	//   "CARRIER_AND_ISP_TYPE_UNSPECIFIED" - Default value when type is not
  4296  	// specified or is unknown in this version.
  4297  	//   "CARRIER_AND_ISP_TYPE_ISP" - Indicates this targeting resource refers to
  4298  	// an ISP.
  4299  	//   "CARRIER_AND_ISP_TYPE_CARRIER" - Indicates this targeting resource refers
  4300  	// to a mobile carrier.
  4301  	Type string `json:"type,omitempty"`
  4302  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4303  	// unconditionally include in API requests. By default, fields with empty or
  4304  	// default values are omitted from API requests. See
  4305  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4306  	// details.
  4307  	ForceSendFields []string `json:"-"`
  4308  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4309  	// requests with the JSON null value. By default, fields with empty values are
  4310  	// omitted from API requests. See
  4311  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4312  	NullFields []string `json:"-"`
  4313  }
  4314  
  4315  func (s *CarrierAndIspTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4316  	type NoMethod CarrierAndIspTargetingOptionDetails
  4317  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4318  }
  4319  
  4320  // CategoryAssignedTargetingOptionDetails: Assigned category targeting option
  4321  // details. This will be populated in the category_details field when
  4322  // targeting_type is `TARGETING_TYPE_CATEGORY`.
  4323  type CategoryAssignedTargetingOptionDetails struct {
  4324  	// DisplayName: Output only. The display name of the category.
  4325  	DisplayName string `json:"displayName,omitempty"`
  4326  	// Negative: Indicates if this option is being negatively targeted.
  4327  	Negative bool `json:"negative,omitempty"`
  4328  	// TargetingOptionId: Required. The targeting_option_id field when
  4329  	// targeting_type is `TARGETING_TYPE_CATEGORY`.
  4330  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  4331  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4332  	// unconditionally include in API requests. By default, fields with empty or
  4333  	// default values are omitted from API requests. See
  4334  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4335  	// details.
  4336  	ForceSendFields []string `json:"-"`
  4337  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4338  	// requests with the JSON null value. By default, fields with empty values are
  4339  	// omitted from API requests. See
  4340  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4341  	NullFields []string `json:"-"`
  4342  }
  4343  
  4344  func (s *CategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4345  	type NoMethod CategoryAssignedTargetingOptionDetails
  4346  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4347  }
  4348  
  4349  // CategoryTargetingOptionDetails: Represents a targetable category. This will
  4350  // be populated in the category_details field of a TargetingOption when
  4351  // targeting_type is `TARGETING_TYPE_CATEGORY`.
  4352  type CategoryTargetingOptionDetails struct {
  4353  	// DisplayName: Output only. The display name of the category.
  4354  	DisplayName string `json:"displayName,omitempty"`
  4355  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4356  	// unconditionally include in API requests. By default, fields with empty or
  4357  	// default values are omitted from API requests. See
  4358  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4359  	// details.
  4360  	ForceSendFields []string `json:"-"`
  4361  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4362  	// requests with the JSON null value. By default, fields with empty values are
  4363  	// omitted from API requests. See
  4364  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4365  	NullFields []string `json:"-"`
  4366  }
  4367  
  4368  func (s *CategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4369  	type NoMethod CategoryTargetingOptionDetails
  4370  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4371  }
  4372  
  4373  // Channel: A single channel. Channels are custom groups of related websites
  4374  // and apps.
  4375  type Channel struct {
  4376  	// AdvertiserId: The ID of the advertiser that owns the channel.
  4377  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  4378  	// ChannelId: Output only. The unique ID of the channel. Assigned by the
  4379  	// system.
  4380  	ChannelId int64 `json:"channelId,omitempty,string"`
  4381  	// DisplayName: Required. The display name of the channel. Must be UTF-8
  4382  	// encoded with a maximum length of 240 bytes.
  4383  	DisplayName string `json:"displayName,omitempty"`
  4384  	// Name: Output only. The resource name of the channel.
  4385  	Name string `json:"name,omitempty"`
  4386  	// NegativelyTargetedLineItemCount: Output only. Number of line items that are
  4387  	// directly targeting this channel negatively.
  4388  	NegativelyTargetedLineItemCount int64 `json:"negativelyTargetedLineItemCount,omitempty,string"`
  4389  	// PartnerId: The ID of the partner that owns the channel.
  4390  	PartnerId int64 `json:"partnerId,omitempty,string"`
  4391  	// PositivelyTargetedLineItemCount: Output only. Number of line items that are
  4392  	// directly targeting this channel positively.
  4393  	PositivelyTargetedLineItemCount int64 `json:"positivelyTargetedLineItemCount,omitempty,string"`
  4394  
  4395  	// ServerResponse contains the HTTP response code and headers from the server.
  4396  	googleapi.ServerResponse `json:"-"`
  4397  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  4398  	// unconditionally include in API requests. By default, fields with empty or
  4399  	// default values are omitted from API requests. See
  4400  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4401  	// details.
  4402  	ForceSendFields []string `json:"-"`
  4403  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  4404  	// requests with the JSON null value. By default, fields with empty values are
  4405  	// omitted from API requests. See
  4406  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4407  	NullFields []string `json:"-"`
  4408  }
  4409  
  4410  func (s *Channel) MarshalJSON() ([]byte, error) {
  4411  	type NoMethod Channel
  4412  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4413  }
  4414  
  4415  // ChannelAssignedTargetingOptionDetails: Details for assigned channel
  4416  // targeting option. This will be populated in the details field of an
  4417  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CHANNEL`.
  4418  type ChannelAssignedTargetingOptionDetails struct {
  4419  	// ChannelId: Required. ID of the channel. Should refer to the channel ID field
  4420  	// on a Partner-owned channel (partners.channels#Channel.FIELDS.channel_id) or
  4421  	// advertiser-owned channel (advertisers.channels#Channel.FIELDS.channel_id)
  4422  	// resource.
  4423  	ChannelId int64 `json:"channelId,omitempty,string"`
  4424  	// Negative: Indicates if this option is being negatively targeted. For
  4425  	// advertiser level assigned targeting option, this field must be true.
  4426  	Negative bool `json:"negative,omitempty"`
  4427  	// ForceSendFields is a list of field names (e.g. "ChannelId") to
  4428  	// unconditionally include in API requests. By default, fields with empty or
  4429  	// default values are omitted from API requests. See
  4430  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4431  	// details.
  4432  	ForceSendFields []string `json:"-"`
  4433  	// NullFields is a list of field names (e.g. "ChannelId") to include in API
  4434  	// requests with the JSON null value. By default, fields with empty values are
  4435  	// omitted from API requests. See
  4436  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4437  	NullFields []string `json:"-"`
  4438  }
  4439  
  4440  func (s *ChannelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4441  	type NoMethod ChannelAssignedTargetingOptionDetails
  4442  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4443  }
  4444  
  4445  // CmHybridConfig: Settings for advertisers that use both Campaign Manager 360
  4446  // (CM360) and third-party ad servers.
  4447  type CmHybridConfig struct {
  4448  	// CmAccountId: Required. Immutable. Account ID of the CM360 Floodlight
  4449  	// configuration linked with the DV360 advertiser.
  4450  	CmAccountId int64 `json:"cmAccountId,omitempty,string"`
  4451  	// CmAdvertiserIds: Output only. The set of CM360 Advertiser IDs sharing the
  4452  	// CM360 Floodlight configuration.
  4453  	CmAdvertiserIds googleapi.Int64s `json:"cmAdvertiserIds,omitempty"`
  4454  	// CmFloodlightConfigId: Required. Immutable. ID of the CM360 Floodlight
  4455  	// configuration linked with the DV360 advertiser.
  4456  	CmFloodlightConfigId int64 `json:"cmFloodlightConfigId,omitempty,string"`
  4457  	// CmFloodlightLinkingAuthorized: Required. Immutable. By setting this field to
  4458  	// `true`, you, on behalf of your company, authorize the sharing of information
  4459  	// from the given Floodlight configuration to this Display & Video 360
  4460  	// advertiser.
  4461  	CmFloodlightLinkingAuthorized bool `json:"cmFloodlightLinkingAuthorized,omitempty"`
  4462  	// CmSyncableSiteIds: A list of CM360 sites whose placements will be synced to
  4463  	// DV360 as creatives. If absent or empty in CreateAdvertiser method, the
  4464  	// system will automatically create a CM360 site. Removing sites from this list
  4465  	// may cause DV360 creatives synced from CM360 to be deleted. At least one site
  4466  	// must be specified.
  4467  	CmSyncableSiteIds googleapi.Int64s `json:"cmSyncableSiteIds,omitempty"`
  4468  	// Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to CM360.
  4469  	Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"`
  4470  	// Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in CM360
  4471  	// data transfer reports.
  4472  	Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"`
  4473  	// ForceSendFields is a list of field names (e.g. "CmAccountId") to
  4474  	// unconditionally include in API requests. By default, fields with empty or
  4475  	// default values are omitted from API requests. See
  4476  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4477  	// details.
  4478  	ForceSendFields []string `json:"-"`
  4479  	// NullFields is a list of field names (e.g. "CmAccountId") to include in API
  4480  	// requests with the JSON null value. By default, fields with empty values are
  4481  	// omitted from API requests. See
  4482  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4483  	NullFields []string `json:"-"`
  4484  }
  4485  
  4486  func (s *CmHybridConfig) MarshalJSON() ([]byte, error) {
  4487  	type NoMethod CmHybridConfig
  4488  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4489  }
  4490  
  4491  // CmTrackingAd: A Campaign Manager 360 tracking ad.
  4492  type CmTrackingAd struct {
  4493  	// CmAdId: The ad ID of the campaign manager 360 tracking Ad.
  4494  	CmAdId int64 `json:"cmAdId,omitempty,string"`
  4495  	// CmCreativeId: The creative ID of the campaign manager 360 tracking Ad.
  4496  	CmCreativeId int64 `json:"cmCreativeId,omitempty,string"`
  4497  	// CmPlacementId: The placement ID of the campaign manager 360 tracking Ad.
  4498  	CmPlacementId int64 `json:"cmPlacementId,omitempty,string"`
  4499  	// ForceSendFields is a list of field names (e.g. "CmAdId") to unconditionally
  4500  	// include in API requests. By default, fields with empty or default values are
  4501  	// omitted from API requests. See
  4502  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4503  	// details.
  4504  	ForceSendFields []string `json:"-"`
  4505  	// NullFields is a list of field names (e.g. "CmAdId") to include in API
  4506  	// requests with the JSON null value. By default, fields with empty values are
  4507  	// omitted from API requests. See
  4508  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4509  	NullFields []string `json:"-"`
  4510  }
  4511  
  4512  func (s *CmTrackingAd) MarshalJSON() ([]byte, error) {
  4513  	type NoMethod CmTrackingAd
  4514  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4515  }
  4516  
  4517  // CombinedAudience: Describes a combined audience resource.
  4518  type CombinedAudience struct {
  4519  	// CombinedAudienceId: Output only. The unique ID of the combined audience.
  4520  	// Assigned by the system.
  4521  	CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"`
  4522  	// DisplayName: Output only. The display name of the combined audience. .
  4523  	DisplayName string `json:"displayName,omitempty"`
  4524  	// Name: Output only. The resource name of the combined audience.
  4525  	Name string `json:"name,omitempty"`
  4526  
  4527  	// ServerResponse contains the HTTP response code and headers from the server.
  4528  	googleapi.ServerResponse `json:"-"`
  4529  	// ForceSendFields is a list of field names (e.g. "CombinedAudienceId") to
  4530  	// unconditionally include in API requests. By default, fields with empty or
  4531  	// default values are omitted from API requests. See
  4532  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4533  	// details.
  4534  	ForceSendFields []string `json:"-"`
  4535  	// NullFields is a list of field names (e.g. "CombinedAudienceId") to include
  4536  	// in API requests with the JSON null value. By default, fields with empty
  4537  	// values are omitted from API requests. See
  4538  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4539  	NullFields []string `json:"-"`
  4540  }
  4541  
  4542  func (s *CombinedAudience) MarshalJSON() ([]byte, error) {
  4543  	type NoMethod CombinedAudience
  4544  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4545  }
  4546  
  4547  // CombinedAudienceGroup: Details of combined audience group. All combined
  4548  // audience targeting settings are logically ‘OR’ of each other.
  4549  type CombinedAudienceGroup struct {
  4550  	// Settings: Required. All combined audience targeting settings in combined
  4551  	// audience group. Repeated settings with same id will be ignored. The number
  4552  	// of combined audience settings should be no more than five, error will be
  4553  	// thrown otherwise.
  4554  	Settings []*CombinedAudienceTargetingSetting `json:"settings,omitempty"`
  4555  	// ForceSendFields is a list of field names (e.g. "Settings") to
  4556  	// unconditionally include in API requests. By default, fields with empty or
  4557  	// default values are omitted from API requests. See
  4558  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4559  	// details.
  4560  	ForceSendFields []string `json:"-"`
  4561  	// NullFields is a list of field names (e.g. "Settings") to include in API
  4562  	// requests with the JSON null value. By default, fields with empty values are
  4563  	// omitted from API requests. See
  4564  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4565  	NullFields []string `json:"-"`
  4566  }
  4567  
  4568  func (s *CombinedAudienceGroup) MarshalJSON() ([]byte, error) {
  4569  	type NoMethod CombinedAudienceGroup
  4570  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4571  }
  4572  
  4573  // CombinedAudienceTargetingSetting: Details of combined audience targeting
  4574  // setting.
  4575  type CombinedAudienceTargetingSetting struct {
  4576  	// CombinedAudienceId: Required. Combined audience id of combined audience
  4577  	// targeting setting. This id is combined_audience_id.
  4578  	CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"`
  4579  	// ForceSendFields is a list of field names (e.g. "CombinedAudienceId") to
  4580  	// unconditionally include in API requests. By default, fields with empty or
  4581  	// default values are omitted from API requests. See
  4582  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4583  	// details.
  4584  	ForceSendFields []string `json:"-"`
  4585  	// NullFields is a list of field names (e.g. "CombinedAudienceId") to include
  4586  	// in API requests with the JSON null value. By default, fields with empty
  4587  	// values are omitted from API requests. See
  4588  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4589  	NullFields []string `json:"-"`
  4590  }
  4591  
  4592  func (s *CombinedAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
  4593  	type NoMethod CombinedAudienceTargetingSetting
  4594  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4595  }
  4596  
  4597  // CommonInStreamAttribute: Common attributes for in-stream, non-skippable and
  4598  // bumper ads.
  4599  type CommonInStreamAttribute struct {
  4600  	// ActionButtonLabel: The text on the call-to-action button.
  4601  	ActionButtonLabel string `json:"actionButtonLabel,omitempty"`
  4602  	// ActionHeadline: The headline of the call-to-action banner.
  4603  	ActionHeadline string `json:"actionHeadline,omitempty"`
  4604  	// CompanionBanner: The image which shows next to the video ad.
  4605  	CompanionBanner *ImageAsset `json:"companionBanner,omitempty"`
  4606  	// DisplayUrl: The webpage address that appears with the ad.
  4607  	DisplayUrl string `json:"displayUrl,omitempty"`
  4608  	// FinalUrl: The URL address of the webpage that people reach after they click
  4609  	// the ad.
  4610  	FinalUrl string `json:"finalUrl,omitempty"`
  4611  	// TrackingUrl: The URL address loaded in the background for tracking purposes.
  4612  	TrackingUrl string `json:"trackingUrl,omitempty"`
  4613  	// Video: The YouTube video of the ad.
  4614  	Video *YoutubeVideoDetails `json:"video,omitempty"`
  4615  	// ForceSendFields is a list of field names (e.g. "ActionButtonLabel") to
  4616  	// unconditionally include in API requests. By default, fields with empty or
  4617  	// default values are omitted from API requests. See
  4618  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4619  	// details.
  4620  	ForceSendFields []string `json:"-"`
  4621  	// NullFields is a list of field names (e.g. "ActionButtonLabel") to include in
  4622  	// API requests with the JSON null value. By default, fields with empty values
  4623  	// are omitted from API requests. See
  4624  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4625  	NullFields []string `json:"-"`
  4626  }
  4627  
  4628  func (s *CommonInStreamAttribute) MarshalJSON() ([]byte, error) {
  4629  	type NoMethod CommonInStreamAttribute
  4630  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4631  }
  4632  
  4633  // Consent: User consent status.
  4634  type Consent struct {
  4635  	// AdPersonalization: Represents consent for ad personalization.
  4636  	//
  4637  	// Possible values:
  4638  	//   "CONSENT_STATUS_UNSPECIFIED" - Type value is not specified or is unknown
  4639  	// in this version.
  4640  	//   "CONSENT_STATUS_GRANTED" - Consent is granted.
  4641  	//   "CONSENT_STATUS_DENIED" - Consent is denied.
  4642  	AdPersonalization string `json:"adPersonalization,omitempty"`
  4643  	// AdUserData: Represents consent for ad user data.
  4644  	//
  4645  	// Possible values:
  4646  	//   "CONSENT_STATUS_UNSPECIFIED" - Type value is not specified or is unknown
  4647  	// in this version.
  4648  	//   "CONSENT_STATUS_GRANTED" - Consent is granted.
  4649  	//   "CONSENT_STATUS_DENIED" - Consent is denied.
  4650  	AdUserData string `json:"adUserData,omitempty"`
  4651  	// ForceSendFields is a list of field names (e.g. "AdPersonalization") to
  4652  	// unconditionally include in API requests. By default, fields with empty or
  4653  	// default values are omitted from API requests. See
  4654  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4655  	// details.
  4656  	ForceSendFields []string `json:"-"`
  4657  	// NullFields is a list of field names (e.g. "AdPersonalization") to include in
  4658  	// API requests with the JSON null value. By default, fields with empty values
  4659  	// are omitted from API requests. See
  4660  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4661  	NullFields []string `json:"-"`
  4662  }
  4663  
  4664  func (s *Consent) MarshalJSON() ([]byte, error) {
  4665  	type NoMethod Consent
  4666  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4667  }
  4668  
  4669  // ContactInfo: Contact information defining a Customer Match audience member.
  4670  type ContactInfo struct {
  4671  	// CountryCode: Country code of the member. Must also be set with the following
  4672  	// fields: * hashed_first_name * hashed_last_name * zip_codes
  4673  	CountryCode string `json:"countryCode,omitempty"`
  4674  	// HashedEmails: A list of SHA256 hashed email of the member. Before hashing,
  4675  	// remove all whitespace and make sure the string is all lowercase.
  4676  	HashedEmails []string `json:"hashedEmails,omitempty"`
  4677  	// HashedFirstName: SHA256 hashed first name of the member. Before hashing,
  4678  	// remove all whitespace and make sure the string is all lowercase. Must also
  4679  	// be set with the following fields: * country_code * hashed_last_name *
  4680  	// zip_codes
  4681  	HashedFirstName string `json:"hashedFirstName,omitempty"`
  4682  	// HashedLastName: SHA256 hashed last name of the member. Before hashing,
  4683  	// remove all whitespace and make sure the string is all lowercase. Must also
  4684  	// be set with the following fields: * country_code * hashed_first_name *
  4685  	// zip_codes
  4686  	HashedLastName string `json:"hashedLastName,omitempty"`
  4687  	// HashedPhoneNumbers: A list of SHA256 hashed phone numbers of the member.
  4688  	// Before hashing, all phone numbers must be formatted using the E.164 format
  4689  	// (//en.wikipedia.org/wiki/E.164) and include the country calling code.
  4690  	HashedPhoneNumbers []string `json:"hashedPhoneNumbers,omitempty"`
  4691  	// ZipCodes: A list of zip codes of the member. Must also be set with the
  4692  	// following fields: * country_code * hashed_first_name * hashed_last_name
  4693  	ZipCodes []string `json:"zipCodes,omitempty"`
  4694  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  4695  	// unconditionally include in API requests. By default, fields with empty or
  4696  	// default values are omitted from API requests. See
  4697  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4698  	// details.
  4699  	ForceSendFields []string `json:"-"`
  4700  	// NullFields is a list of field names (e.g. "CountryCode") to include in API
  4701  	// requests with the JSON null value. By default, fields with empty values are
  4702  	// omitted from API requests. See
  4703  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4704  	NullFields []string `json:"-"`
  4705  }
  4706  
  4707  func (s *ContactInfo) MarshalJSON() ([]byte, error) {
  4708  	type NoMethod ContactInfo
  4709  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4710  }
  4711  
  4712  // ContactInfoList: Wrapper message for a list of contact information defining
  4713  // Customer Match audience members.
  4714  type ContactInfoList struct {
  4715  	// Consent: Input only. The consent setting for the users in contact_infos.
  4716  	// Leaving this field unset indicates that consent is not specified. If
  4717  	// ad_user_data or ad_personalization fields are set to
  4718  	// `CONSENT_STATUS_DENIED`, the request will return an error.
  4719  	Consent *Consent `json:"consent,omitempty"`
  4720  	// ContactInfos: A list of ContactInfo objects defining Customer Match audience
  4721  	// members. The size of members after splitting the contact_infos mustn't be
  4722  	// greater than 500,000.
  4723  	ContactInfos []*ContactInfo `json:"contactInfos,omitempty"`
  4724  	// ForceSendFields is a list of field names (e.g. "Consent") to unconditionally
  4725  	// include in API requests. By default, fields with empty or default values are
  4726  	// omitted from API requests. See
  4727  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4728  	// details.
  4729  	ForceSendFields []string `json:"-"`
  4730  	// NullFields is a list of field names (e.g. "Consent") to include in API
  4731  	// requests with the JSON null value. By default, fields with empty values are
  4732  	// omitted from API requests. See
  4733  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4734  	NullFields []string `json:"-"`
  4735  }
  4736  
  4737  func (s *ContactInfoList) MarshalJSON() ([]byte, error) {
  4738  	type NoMethod ContactInfoList
  4739  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4740  }
  4741  
  4742  // ContentDurationAssignedTargetingOptionDetails: Details for content duration
  4743  // assigned targeting option. This will be populated in the
  4744  // content_duration_details field when targeting_type is
  4745  // `TARGETING_TYPE_CONTENT_DURATION`. Explicitly targeting all options is not
  4746  // supported. Remove all content duration targeting options to achieve this
  4747  // effect.
  4748  type ContentDurationAssignedTargetingOptionDetails struct {
  4749  	// ContentDuration: Output only. The content duration.
  4750  	//
  4751  	// Possible values:
  4752  	//   "CONTENT_DURATION_UNSPECIFIED" - Content duration is not specified in this
  4753  	// version. This enum is a place holder for a default value and does not
  4754  	// represent a real content duration.
  4755  	//   "CONTENT_DURATION_UNKNOWN" - The content duration is unknown.
  4756  	//   "CONTENT_DURATION_0_TO_1_MIN" - Content is 0-1 minute long.
  4757  	//   "CONTENT_DURATION_1_TO_5_MIN" - Content is 1-5 minutes long.
  4758  	//   "CONTENT_DURATION_5_TO_15_MIN" - Content is 5-15 minutes long.
  4759  	//   "CONTENT_DURATION_15_TO_30_MIN" - Content is 15-30 minutes long.
  4760  	//   "CONTENT_DURATION_30_TO_60_MIN" - Content is 30-60 minutes long.
  4761  	//   "CONTENT_DURATION_OVER_60_MIN" - Content is over 60 minutes long.
  4762  	ContentDuration string `json:"contentDuration,omitempty"`
  4763  	// TargetingOptionId: Required. The targeting_option_id field when
  4764  	// targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.
  4765  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  4766  	// ForceSendFields is a list of field names (e.g. "ContentDuration") to
  4767  	// unconditionally include in API requests. By default, fields with empty or
  4768  	// default values are omitted from API requests. See
  4769  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4770  	// details.
  4771  	ForceSendFields []string `json:"-"`
  4772  	// NullFields is a list of field names (e.g. "ContentDuration") to include in
  4773  	// API requests with the JSON null value. By default, fields with empty values
  4774  	// are omitted from API requests. See
  4775  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4776  	NullFields []string `json:"-"`
  4777  }
  4778  
  4779  func (s *ContentDurationAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4780  	type NoMethod ContentDurationAssignedTargetingOptionDetails
  4781  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4782  }
  4783  
  4784  // ContentDurationTargetingOptionDetails: Represents a targetable content
  4785  // duration. This will be populated in the content_duration_details field when
  4786  // targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.
  4787  type ContentDurationTargetingOptionDetails struct {
  4788  	// ContentDuration: Output only. The content duration.
  4789  	//
  4790  	// Possible values:
  4791  	//   "CONTENT_DURATION_UNSPECIFIED" - Content duration is not specified in this
  4792  	// version. This enum is a place holder for a default value and does not
  4793  	// represent a real content duration.
  4794  	//   "CONTENT_DURATION_UNKNOWN" - The content duration is unknown.
  4795  	//   "CONTENT_DURATION_0_TO_1_MIN" - Content is 0-1 minute long.
  4796  	//   "CONTENT_DURATION_1_TO_5_MIN" - Content is 1-5 minutes long.
  4797  	//   "CONTENT_DURATION_5_TO_15_MIN" - Content is 5-15 minutes long.
  4798  	//   "CONTENT_DURATION_15_TO_30_MIN" - Content is 15-30 minutes long.
  4799  	//   "CONTENT_DURATION_30_TO_60_MIN" - Content is 30-60 minutes long.
  4800  	//   "CONTENT_DURATION_OVER_60_MIN" - Content is over 60 minutes long.
  4801  	ContentDuration string `json:"contentDuration,omitempty"`
  4802  	// ForceSendFields is a list of field names (e.g. "ContentDuration") to
  4803  	// unconditionally include in API requests. By default, fields with empty or
  4804  	// default values are omitted from API requests. See
  4805  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4806  	// details.
  4807  	ForceSendFields []string `json:"-"`
  4808  	// NullFields is a list of field names (e.g. "ContentDuration") to include in
  4809  	// API requests with the JSON null value. By default, fields with empty values
  4810  	// are omitted from API requests. See
  4811  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4812  	NullFields []string `json:"-"`
  4813  }
  4814  
  4815  func (s *ContentDurationTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4816  	type NoMethod ContentDurationTargetingOptionDetails
  4817  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4818  }
  4819  
  4820  // ContentGenreAssignedTargetingOptionDetails: Details for content genre
  4821  // assigned targeting option. This will be populated in the
  4822  // content_genre_details field when targeting_type is
  4823  // `TARGETING_TYPE_CONTENT_GENRE`. Explicitly targeting all options is not
  4824  // supported. Remove all content genre targeting options to achieve this
  4825  // effect.
  4826  type ContentGenreAssignedTargetingOptionDetails struct {
  4827  	// DisplayName: Output only. The display name of the content genre.
  4828  	DisplayName string `json:"displayName,omitempty"`
  4829  	// Negative: Indicates if this option is being negatively targeted.
  4830  	Negative bool `json:"negative,omitempty"`
  4831  	// TargetingOptionId: Required. The targeting_option_id field when
  4832  	// targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.
  4833  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  4834  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4835  	// unconditionally include in API requests. By default, fields with empty or
  4836  	// default values are omitted from API requests. See
  4837  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4838  	// details.
  4839  	ForceSendFields []string `json:"-"`
  4840  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4841  	// requests with the JSON null value. By default, fields with empty values are
  4842  	// omitted from API requests. See
  4843  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4844  	NullFields []string `json:"-"`
  4845  }
  4846  
  4847  func (s *ContentGenreAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4848  	type NoMethod ContentGenreAssignedTargetingOptionDetails
  4849  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4850  }
  4851  
  4852  // ContentGenreTargetingOptionDetails: Represents a targetable content genre.
  4853  // This will be populated in the content_genre_details field when
  4854  // targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.
  4855  type ContentGenreTargetingOptionDetails struct {
  4856  	// DisplayName: Output only. The display name of the content genre
  4857  	DisplayName string `json:"displayName,omitempty"`
  4858  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  4859  	// unconditionally include in API requests. By default, fields with empty or
  4860  	// default values are omitted from API requests. See
  4861  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4862  	// details.
  4863  	ForceSendFields []string `json:"-"`
  4864  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  4865  	// requests with the JSON null value. By default, fields with empty values are
  4866  	// omitted from API requests. See
  4867  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4868  	NullFields []string `json:"-"`
  4869  }
  4870  
  4871  func (s *ContentGenreTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4872  	type NoMethod ContentGenreTargetingOptionDetails
  4873  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4874  }
  4875  
  4876  // ContentInstreamPositionAssignedTargetingOptionDetails: Assigned content
  4877  // instream position targeting option details. This will be populated in the
  4878  // content_instream_position_details field when targeting_type is
  4879  // `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
  4880  type ContentInstreamPositionAssignedTargetingOptionDetails struct {
  4881  	// AdType: Output only. The ad type to target. Only applicable to insertion
  4882  	// order targeting and new line items supporting the specified ad type will
  4883  	// inherit this targeting option by default. Possible values are: *
  4884  	// `AD_TYPE_VIDEO`, the setting will be inherited by new line item when
  4885  	// line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`. * `AD_TYPE_AUDIO`, the
  4886  	// setting will be inherited by new line item when line_item_type is
  4887  	// `LINE_ITEM_TYPE_AUDIO_DEFAULT`.
  4888  	//
  4889  	// Possible values:
  4890  	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in this
  4891  	// version.
  4892  	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
  4893  	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
  4894  	// streaming content in video players.
  4895  	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during audio
  4896  	// content.
  4897  	AdType string `json:"adType,omitempty"`
  4898  	// ContentInstreamPosition: Required. The content instream position for video
  4899  	// or audio ads.
  4900  	//
  4901  	// Possible values:
  4902  	//   "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position is not
  4903  	// specified in this version. This enum is a place holder for a default value
  4904  	// and does not represent a real in stream ad position.
  4905  	//   "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before streaming
  4906  	// content.
  4907  	//   "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the beginning
  4908  	// and end of streaming content.
  4909  	//   "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of
  4910  	// streaming content.
  4911  	//   "CONTENT_INSTREAM_POSITION_UNKNOWN" - Ads instream position is unknown.
  4912  	ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"`
  4913  	// ForceSendFields is a list of field names (e.g. "AdType") to unconditionally
  4914  	// include in API requests. By default, fields with empty or default values are
  4915  	// omitted from API requests. See
  4916  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4917  	// details.
  4918  	ForceSendFields []string `json:"-"`
  4919  	// NullFields is a list of field names (e.g. "AdType") to include in API
  4920  	// requests with the JSON null value. By default, fields with empty values are
  4921  	// omitted from API requests. See
  4922  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4923  	NullFields []string `json:"-"`
  4924  }
  4925  
  4926  func (s *ContentInstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4927  	type NoMethod ContentInstreamPositionAssignedTargetingOptionDetails
  4928  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4929  }
  4930  
  4931  // ContentInstreamPositionTargetingOptionDetails: Represents a targetable
  4932  // content instream position, which could be used by video and audio ads. This
  4933  // will be populated in the content_instream_position_details field when
  4934  // targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
  4935  type ContentInstreamPositionTargetingOptionDetails struct {
  4936  	// ContentInstreamPosition: Output only. The content instream position.
  4937  	//
  4938  	// Possible values:
  4939  	//   "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position is not
  4940  	// specified in this version. This enum is a place holder for a default value
  4941  	// and does not represent a real in stream ad position.
  4942  	//   "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before streaming
  4943  	// content.
  4944  	//   "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the beginning
  4945  	// and end of streaming content.
  4946  	//   "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of
  4947  	// streaming content.
  4948  	//   "CONTENT_INSTREAM_POSITION_UNKNOWN" - Ads instream position is unknown.
  4949  	ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"`
  4950  	// ForceSendFields is a list of field names (e.g. "ContentInstreamPosition") to
  4951  	// unconditionally include in API requests. By default, fields with empty or
  4952  	// default values are omitted from API requests. See
  4953  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  4954  	// details.
  4955  	ForceSendFields []string `json:"-"`
  4956  	// NullFields is a list of field names (e.g. "ContentInstreamPosition") to
  4957  	// include in API requests with the JSON null value. By default, fields with
  4958  	// empty values are omitted from API requests. See
  4959  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  4960  	NullFields []string `json:"-"`
  4961  }
  4962  
  4963  func (s *ContentInstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  4964  	type NoMethod ContentInstreamPositionTargetingOptionDetails
  4965  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  4966  }
  4967  
  4968  // ContentOutstreamPositionAssignedTargetingOptionDetails: Assigned content
  4969  // outstream position targeting option details. This will be populated in the
  4970  // content_outstream_position_details field when targeting_type is
  4971  // `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
  4972  type ContentOutstreamPositionAssignedTargetingOptionDetails struct {
  4973  	// AdType: Output only. The ad type to target. Only applicable to insertion
  4974  	// order targeting and new line items supporting the specified ad type will
  4975  	// inherit this targeting option by default. Possible values are: *
  4976  	// `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when
  4977  	// line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the
  4978  	// setting will be inherited by new line item when line_item_type is
  4979  	// `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
  4980  	//
  4981  	// Possible values:
  4982  	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in this
  4983  	// version.
  4984  	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
  4985  	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
  4986  	// streaming content in video players.
  4987  	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during audio
  4988  	// content.
  4989  	AdType string `json:"adType,omitempty"`
  4990  	// ContentOutstreamPosition: Required. The content outstream position.
  4991  	//
  4992  	// Possible values:
  4993  	//   "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream position is
  4994  	// not specified in this version. This enum is a place holder for a default
  4995  	// value and does not represent a real content outstream position.
  4996  	//   "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown in the
  4997  	// content outstream.
  4998  	//   "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between the
  4999  	// paragraphs of your pages.
  5000  	//   "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the top and
  5001  	// the sides of a page.
  5002  	//   "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a scrollable
  5003  	// stream of content. A feed is typically editorial (e.g. a list of articles or
  5004  	// news) or listings (e.g. a list of products or services).
  5005  	//   "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or between
  5006  	// content loads.
  5007  	ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"`
  5008  	// ForceSendFields is a list of field names (e.g. "AdType") to unconditionally
  5009  	// include in API requests. By default, fields with empty or default values are
  5010  	// omitted from API requests. See
  5011  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5012  	// details.
  5013  	ForceSendFields []string `json:"-"`
  5014  	// NullFields is a list of field names (e.g. "AdType") to include in API
  5015  	// requests with the JSON null value. By default, fields with empty values are
  5016  	// omitted from API requests. See
  5017  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5018  	NullFields []string `json:"-"`
  5019  }
  5020  
  5021  func (s *ContentOutstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  5022  	type NoMethod ContentOutstreamPositionAssignedTargetingOptionDetails
  5023  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5024  }
  5025  
  5026  // ContentOutstreamPositionTargetingOptionDetails: Represents a targetable
  5027  // content outstream position, which could be used by display and video ads.
  5028  // This will be populated in the content_outstream_position_details field when
  5029  // targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
  5030  type ContentOutstreamPositionTargetingOptionDetails struct {
  5031  	// ContentOutstreamPosition: Output only. The content outstream position.
  5032  	//
  5033  	// Possible values:
  5034  	//   "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream position is
  5035  	// not specified in this version. This enum is a place holder for a default
  5036  	// value and does not represent a real content outstream position.
  5037  	//   "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown in the
  5038  	// content outstream.
  5039  	//   "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between the
  5040  	// paragraphs of your pages.
  5041  	//   "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the top and
  5042  	// the sides of a page.
  5043  	//   "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a scrollable
  5044  	// stream of content. A feed is typically editorial (e.g. a list of articles or
  5045  	// news) or listings (e.g. a list of products or services).
  5046  	//   "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or between
  5047  	// content loads.
  5048  	ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"`
  5049  	// ForceSendFields is a list of field names (e.g. "ContentOutstreamPosition")
  5050  	// to unconditionally include in API requests. By default, fields with empty or
  5051  	// default values are omitted from API requests. See
  5052  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5053  	// details.
  5054  	ForceSendFields []string `json:"-"`
  5055  	// NullFields is a list of field names (e.g. "ContentOutstreamPosition") to
  5056  	// include in API requests with the JSON null value. By default, fields with
  5057  	// empty values are omitted from API requests. See
  5058  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5059  	NullFields []string `json:"-"`
  5060  }
  5061  
  5062  func (s *ContentOutstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  5063  	type NoMethod ContentOutstreamPositionTargetingOptionDetails
  5064  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5065  }
  5066  
  5067  // ContentStreamTypeAssignedTargetingOptionDetails: Details for content stream
  5068  // type assigned targeting option. This will be populated in the
  5069  // content_stream_type_details field when targeting_type is
  5070  // `TARGETING_TYPE_CONTENT_STREAM_TYPE`. Explicitly targeting all options is
  5071  // not supported. Remove all content stream type targeting options to achieve
  5072  // this effect.
  5073  type ContentStreamTypeAssignedTargetingOptionDetails struct {
  5074  	// ContentStreamType: Output only. The content stream type.
  5075  	//
  5076  	// Possible values:
  5077  	//   "CONTENT_STREAM_TYPE_UNSPECIFIED" - Content stream type is not specified
  5078  	// in this version. This enum is a place holder for a default value and does
  5079  	// not represent a real content stream type.
  5080  	//   "CONTENT_LIVE_STREAM" - The content is being live-streamed.
  5081  	//   "CONTENT_ON_DEMAND" - The content is viewed on-demand.
  5082  	ContentStreamType string `json:"contentStreamType,omitempty"`
  5083  	// TargetingOptionId: Required. The targeting_option_id field when
  5084  	// targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.
  5085  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  5086  	// ForceSendFields is a list of field names (e.g. "ContentStreamType") to
  5087  	// unconditionally include in API requests. By default, fields with empty or
  5088  	// default values are omitted from API requests. See
  5089  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5090  	// details.
  5091  	ForceSendFields []string `json:"-"`
  5092  	// NullFields is a list of field names (e.g. "ContentStreamType") to include in
  5093  	// API requests with the JSON null value. By default, fields with empty values
  5094  	// are omitted from API requests. See
  5095  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5096  	NullFields []string `json:"-"`
  5097  }
  5098  
  5099  func (s *ContentStreamTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  5100  	type NoMethod ContentStreamTypeAssignedTargetingOptionDetails
  5101  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5102  }
  5103  
  5104  // ContentStreamTypeTargetingOptionDetails: Represents a targetable content
  5105  // stream type. This will be populated in the content_stream_type_details field
  5106  // when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.
  5107  type ContentStreamTypeTargetingOptionDetails struct {
  5108  	// ContentStreamType: Output only. The content stream type.
  5109  	//
  5110  	// Possible values:
  5111  	//   "CONTENT_STREAM_TYPE_UNSPECIFIED" - Content stream type is not specified
  5112  	// in this version. This enum is a place holder for a default value and does
  5113  	// not represent a real content stream type.
  5114  	//   "CONTENT_LIVE_STREAM" - The content is being live-streamed.
  5115  	//   "CONTENT_ON_DEMAND" - The content is viewed on-demand.
  5116  	ContentStreamType string `json:"contentStreamType,omitempty"`
  5117  	// ForceSendFields is a list of field names (e.g. "ContentStreamType") to
  5118  	// unconditionally include in API requests. By default, fields with empty or
  5119  	// default values are omitted from API requests. See
  5120  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5121  	// details.
  5122  	ForceSendFields []string `json:"-"`
  5123  	// NullFields is a list of field names (e.g. "ContentStreamType") to include in
  5124  	// API requests with the JSON null value. By default, fields with empty values
  5125  	// are omitted from API requests. See
  5126  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5127  	NullFields []string `json:"-"`
  5128  }
  5129  
  5130  func (s *ContentStreamTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  5131  	type NoMethod ContentStreamTypeTargetingOptionDetails
  5132  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5133  }
  5134  
  5135  // ConversionCountingConfig: Settings that control how conversions are counted.
  5136  // All post-click conversions will be counted. A percentage value can be set
  5137  // for post-view conversions counting.
  5138  type ConversionCountingConfig struct {
  5139  	// FloodlightActivityConfigs: The Floodlight activity configs used to track
  5140  	// conversions. The number of conversions counted is the sum of all of the
  5141  	// conversions counted by all of the Floodlight activity IDs specified in this
  5142  	// field.
  5143  	FloodlightActivityConfigs []*TrackingFloodlightActivityConfig `json:"floodlightActivityConfigs,omitempty"`
  5144  	// PostViewCountPercentageMillis: The percentage of post-view conversions to
  5145  	// count, in millis (1/1000 of a percent). Must be between 0 and 100000
  5146  	// inclusive. For example, to track 50% of the post-click conversions, set a
  5147  	// value of 50000.
  5148  	PostViewCountPercentageMillis int64 `json:"postViewCountPercentageMillis,omitempty,string"`
  5149  	// ForceSendFields is a list of field names (e.g. "FloodlightActivityConfigs")
  5150  	// to unconditionally include in API requests. By default, fields with empty or
  5151  	// default values are omitted from API requests. See
  5152  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5153  	// details.
  5154  	ForceSendFields []string `json:"-"`
  5155  	// NullFields is a list of field names (e.g. "FloodlightActivityConfigs") to
  5156  	// include in API requests with the JSON null value. By default, fields with
  5157  	// empty values are omitted from API requests. See
  5158  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5159  	NullFields []string `json:"-"`
  5160  }
  5161  
  5162  func (s *ConversionCountingConfig) MarshalJSON() ([]byte, error) {
  5163  	type NoMethod ConversionCountingConfig
  5164  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5165  }
  5166  
  5167  // CounterEvent: Counter event of the creative.
  5168  type CounterEvent struct {
  5169  	// Name: Required. The name of the counter event.
  5170  	Name string `json:"name,omitempty"`
  5171  	// ReportingName: Required. The name used to identify this counter event in
  5172  	// reports.
  5173  	ReportingName string `json:"reportingName,omitempty"`
  5174  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  5175  	// include in API requests. By default, fields with empty or default values are
  5176  	// omitted from API requests. See
  5177  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5178  	// details.
  5179  	ForceSendFields []string `json:"-"`
  5180  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  5181  	// with the JSON null value. By default, fields with empty values are omitted
  5182  	// from API requests. See
  5183  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5184  	NullFields []string `json:"-"`
  5185  }
  5186  
  5187  func (s *CounterEvent) MarshalJSON() ([]byte, error) {
  5188  	type NoMethod CounterEvent
  5189  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5190  }
  5191  
  5192  // CreateAssetRequest: A request message for CreateAsset.
  5193  type CreateAssetRequest struct {
  5194  	// Filename: Required. The filename of the asset, including the file extension.
  5195  	// The filename must be UTF-8 encoded with a maximum size of 240 bytes.
  5196  	Filename string `json:"filename,omitempty"`
  5197  	// ForceSendFields is a list of field names (e.g. "Filename") to
  5198  	// unconditionally include in API requests. By default, fields with empty or
  5199  	// default values are omitted from API requests. See
  5200  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5201  	// details.
  5202  	ForceSendFields []string `json:"-"`
  5203  	// NullFields is a list of field names (e.g. "Filename") to include in API
  5204  	// requests with the JSON null value. By default, fields with empty values are
  5205  	// omitted from API requests. See
  5206  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5207  	NullFields []string `json:"-"`
  5208  }
  5209  
  5210  func (s *CreateAssetRequest) MarshalJSON() ([]byte, error) {
  5211  	type NoMethod CreateAssetRequest
  5212  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5213  }
  5214  
  5215  // CreateAssetResponse: A response message for CreateAsset.
  5216  type CreateAssetResponse struct {
  5217  	// Asset: The uploaded asset, if successful.
  5218  	Asset *Asset `json:"asset,omitempty"`
  5219  
  5220  	// ServerResponse contains the HTTP response code and headers from the server.
  5221  	googleapi.ServerResponse `json:"-"`
  5222  	// ForceSendFields is a list of field names (e.g. "Asset") to unconditionally
  5223  	// include in API requests. By default, fields with empty or default values are
  5224  	// omitted from API requests. See
  5225  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5226  	// details.
  5227  	ForceSendFields []string `json:"-"`
  5228  	// NullFields is a list of field names (e.g. "Asset") to include in API
  5229  	// requests with the JSON null value. By default, fields with empty values are
  5230  	// omitted from API requests. See
  5231  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5232  	NullFields []string `json:"-"`
  5233  }
  5234  
  5235  func (s *CreateAssetResponse) MarshalJSON() ([]byte, error) {
  5236  	type NoMethod CreateAssetResponse
  5237  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5238  }
  5239  
  5240  // CreateAssignedTargetingOptionsRequest: A request listing which assigned
  5241  // targeting options of a given targeting type should be created and added.
  5242  type CreateAssignedTargetingOptionsRequest struct {
  5243  	// AssignedTargetingOptions: Required. The assigned targeting options to create
  5244  	// and add.
  5245  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
  5246  	// TargetingType: Required. Identifies the type of this assigned targeting
  5247  	// option.
  5248  	//
  5249  	// Possible values:
  5250  	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or
  5251  	// is unknown in this version.
  5252  	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related
  5253  	// websites or apps).
  5254  	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example,
  5255  	// education or puzzle games).
  5256  	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds).
  5257  	//   "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com).
  5258  	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on
  5259  	// a specific day.
  5260  	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for
  5261  	// example, 18-24).
  5262  	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified
  5263  	// regions on a regional location list.
  5264  	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified
  5265  	// points of interest on a proximity location list.
  5266  	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example,
  5267  	// female or male).
  5268  	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size
  5269  	// for video ads.
  5270  	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for
  5271  	// video ads.
  5272  	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental
  5273  	// status (for example, parent or not a parent).
  5274  	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in
  5275  	// a specific content instream position (for example, pre-roll, mid-roll, or
  5276  	// post-roll).
  5277  	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific
  5278  	// content outstream position.
  5279  	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for
  5280  	// example, tablet or connected TV).
  5281  	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of
  5282  	// audiences. Singleton field, at most one can exist on a single Lineitem at a
  5283  	// time.
  5284  	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
  5285  	// example, Chrome).
  5286  	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household
  5287  	// income range (for example, top 10%).
  5288  	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen
  5289  	// position.
  5290  	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third
  5291  	// party verification (for example, IAS or DoubleVerify).
  5292  	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by
  5293  	// specific digital content label ratings (for example, DL-MA: suitable only
  5294  	// for mature audiences).
  5295  	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by
  5296  	// sensitive categories (for example, adult).
  5297  	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for
  5298  	// example, web or app).
  5299  	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
  5300  	// carrier or internet service provider (ISP) (for example, Comcast or Orange).
  5301  	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating
  5302  	// system (for example, macOS).
  5303  	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make
  5304  	// or model (for example, Roku or Samsung).
  5305  	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example,
  5306  	// dog or retriever).
  5307  	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative
  5308  	// keyword list.
  5309  	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for
  5310  	// example, 80% viewable).
  5311  	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for
  5312  	// example, arts & entertainment).
  5313  	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific
  5314  	// deals and auction packages.
  5315  	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
  5316  	// example, English or Japanese).
  5317  	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
  5318  	// authorized sellers. If no targeting option of this type is assigned, the
  5319  	// resource uses the "Authorized Direct Sellers and Resellers" option by
  5320  	// default.
  5321  	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location
  5322  	// (for example, a city or state).
  5323  	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a
  5324  	// group of deals and auction packages.
  5325  	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges.
  5326  	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
  5327  	// sub-exchanges.
  5328  	//   "TARGETING_TYPE_POI" - Target ads around a specific point of interest,
  5329  	// such as a notable building, a street address, or latitude/longitude
  5330  	// coordinates.
  5331  	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
  5332  	// business chain within a specific geo region.
  5333  	//   "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content
  5334  	// duration.
  5335  	//   "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video
  5336  	// content stream type.
  5337  	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native
  5338  	// content position.
  5339  	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
  5340  	// inventory.
  5341  	//   "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio
  5342  	// content type.
  5343  	//   "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre.
  5344  	//   "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video.
  5345  	// Targeting of this type cannot be created or updated using the API. Although
  5346  	// this targeting is inherited by child resources, **inherited targeting of
  5347  	// this type will not be retrieveable**.
  5348  	//   "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube
  5349  	// channel. Targeting of this type cannot be created or updated using the API.
  5350  	// Although this targeting is inherited by child resources, **inherited
  5351  	// targeting of this type will not be retrieveable**.
  5352  	//   "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain
  5353  	// position of a session. Only supported for Ad Group resources under YouTube
  5354  	// Programmatic Reservation line items. Targeting of this type cannot be
  5355  	// created or updated using the API.
  5356  	TargetingType string `json:"targetingType,omitempty"`
  5357  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
  5358  	// to unconditionally include in API requests. By default, fields with empty or
  5359  	// default values are omitted from API requests. See
  5360  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5361  	// details.
  5362  	ForceSendFields []string `json:"-"`
  5363  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
  5364  	// include in API requests with the JSON null value. By default, fields with
  5365  	// empty values are omitted from API requests. See
  5366  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5367  	NullFields []string `json:"-"`
  5368  }
  5369  
  5370  func (s *CreateAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
  5371  	type NoMethod CreateAssignedTargetingOptionsRequest
  5372  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5373  }
  5374  
  5375  // CreateSdfDownloadTaskRequest: Request message for
  5376  // [SdfDownloadTaskService.CreateSdfDownloadTask].
  5377  type CreateSdfDownloadTaskRequest struct {
  5378  	// AdvertiserId: The ID of the advertiser to download SDF for.
  5379  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5380  	// IdFilter: Filters on entities by their entity IDs.
  5381  	IdFilter *IdFilter `json:"idFilter,omitempty"`
  5382  	// InventorySourceFilter: Filters on Inventory Sources by their IDs.
  5383  	InventorySourceFilter *InventorySourceFilter `json:"inventorySourceFilter,omitempty"`
  5384  	// ParentEntityFilter: Filters on selected file types. The entities in each
  5385  	// file are filtered by a chosen set of filter entities. The filter entities
  5386  	// must be the same type as, or a parent type of, the selected file types.
  5387  	ParentEntityFilter *ParentEntityFilter `json:"parentEntityFilter,omitempty"`
  5388  	// PartnerId: The ID of the partner to download SDF for.
  5389  	PartnerId int64 `json:"partnerId,omitempty,string"`
  5390  	// Version: Required. The SDF version of the downloaded file. If set to
  5391  	// `SDF_VERSION_UNSPECIFIED`, this will default to the version specified by the
  5392  	// advertiser or partner identified by `root_id`. An advertiser inherits its
  5393  	// SDF version from its partner unless configured otherwise.
  5394  	//
  5395  	// Possible values:
  5396  	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or is
  5397  	// unknown in this version.
  5398  	//   "SDF_VERSION_3_1" - SDF version 3.1
  5399  	//   "SDF_VERSION_4" - SDF version 4
  5400  	//   "SDF_VERSION_4_1" - SDF version 4.1
  5401  	//   "SDF_VERSION_4_2" - SDF version 4.2
  5402  	//   "SDF_VERSION_5" - SDF version 5.
  5403  	//   "SDF_VERSION_5_1" - SDF version 5.1
  5404  	//   "SDF_VERSION_5_2" - SDF version 5.2
  5405  	//   "SDF_VERSION_5_3" - SDF version 5.3
  5406  	//   "SDF_VERSION_5_4" - SDF version 5.4
  5407  	//   "SDF_VERSION_5_5" - SDF version 5.5
  5408  	//   "SDF_VERSION_6" - SDF version 6
  5409  	//   "SDF_VERSION_7" - SDF version 7. Read the [v7 migration
  5410  	// guide](/display-video/api/structured-data-file/v7-migration-guide) before
  5411  	// migrating to this version.
  5412  	Version string `json:"version,omitempty"`
  5413  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  5414  	// unconditionally include in API requests. By default, fields with empty or
  5415  	// default values are omitted from API requests. See
  5416  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5417  	// details.
  5418  	ForceSendFields []string `json:"-"`
  5419  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  5420  	// requests with the JSON null value. By default, fields with empty values are
  5421  	// omitted from API requests. See
  5422  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5423  	NullFields []string `json:"-"`
  5424  }
  5425  
  5426  func (s *CreateSdfDownloadTaskRequest) MarshalJSON() ([]byte, error) {
  5427  	type NoMethod CreateSdfDownloadTaskRequest
  5428  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5429  }
  5430  
  5431  // Creative: A single Creative.
  5432  type Creative struct {
  5433  	// AdditionalDimensions: Additional dimensions. Applicable when creative_type
  5434  	// is one of: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` *
  5435  	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
  5436  	// `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is
  5437  	// specified, width_pixels and height_pixels are both required and must be
  5438  	// greater than or equal to 0.
  5439  	AdditionalDimensions []*Dimensions `json:"additionalDimensions,omitempty"`
  5440  	// AdvertiserId: Output only. The unique ID of the advertiser the creative
  5441  	// belongs to.
  5442  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5443  	// AppendedTag: Third-party HTML tracking tag to be appended to the creative
  5444  	// tag.
  5445  	AppendedTag string `json:"appendedTag,omitempty"`
  5446  	// Assets: Required. Assets associated to this creative.
  5447  	Assets []*AssetAssociation `json:"assets,omitempty"`
  5448  	// CmPlacementId: Output only. The unique ID of the Campaign Manager 360
  5449  	// placement associated with the creative. This field is only applicable for
  5450  	// creatives that are synced from Campaign Manager.
  5451  	CmPlacementId int64 `json:"cmPlacementId,omitempty,string"`
  5452  	// CmTrackingAd: The Campaign Manager 360 tracking ad associated with the
  5453  	// creative. Optional for the following creative_type when created by an
  5454  	// advertiser that uses both Campaign Manager 360 and third-party ad serving: *
  5455  	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for
  5456  	// other cases.
  5457  	CmTrackingAd *CmTrackingAd `json:"cmTrackingAd,omitempty"`
  5458  	// CompanionCreativeIds: The IDs of companion creatives for a video creative.
  5459  	// You can assign existing display creatives (with image or HTML5 assets) to
  5460  	// serve surrounding the publisher's video player. Companions display around
  5461  	// the video player while the video is playing and remain after the video has
  5462  	// completed. Creatives contain additional dimensions can not be companion
  5463  	// creatives. This field is only supported for following creative_type: *
  5464  	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`
  5465  	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
  5466  	// CounterEvents: Counter events for a rich media creative. Counters track the
  5467  	// number of times that a user interacts with any part of a rich media creative
  5468  	// in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading,
  5469  	// keyboard entries, etc.). Any event that can be captured in the creative can
  5470  	// be recorded as a counter. Leave it empty or unset for creatives containing
  5471  	// image assets only.
  5472  	CounterEvents []*CounterEvent `json:"counterEvents,omitempty"`
  5473  	// CreateTime: Output only. The timestamp when the creative was created.
  5474  	// Assigned by the system.
  5475  	CreateTime string `json:"createTime,omitempty"`
  5476  	// CreativeAttributes: Output only. A list of attributes of the creative that
  5477  	// is generated by the system.
  5478  	//
  5479  	// Possible values:
  5480  	//   "CREATIVE_ATTRIBUTE_UNSPECIFIED" - The creative attribute is not specified
  5481  	// or is unknown in this version.
  5482  	//   "CREATIVE_ATTRIBUTE_VAST" - The creative is a VAST creative.
  5483  	//   "CREATIVE_ATTRIBUTE_VPAID_LINEAR" - The creative is a linear VPAID
  5484  	// creative.
  5485  	//   "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR" - The creative is a non-linear VPAID
  5486  	// creative.
  5487  	CreativeAttributes []string `json:"creativeAttributes,omitempty"`
  5488  	// CreativeId: Output only. The unique ID of the creative. Assigned by the
  5489  	// system.
  5490  	CreativeId int64 `json:"creativeId,omitempty,string"`
  5491  	// CreativeType: Required. Immutable. The type of the creative.
  5492  	//
  5493  	// Possible values:
  5494  	//   "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is unknown in
  5495  	// this version.
  5496  	//   "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and update
  5497  	// methods are supported for this creative type if the hosting_source is one of
  5498  	// the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`
  5499  	//   "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update
  5500  	// methods are supported for this creative type if the hosting_source is
  5501  	// `HOSTING_SOURCE_THIRD_PARTY`
  5502  	//   "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods are
  5503  	// supported for this creative type if the hosting_source is one of the
  5504  	// following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`
  5505  	//   "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers with
  5506  	// assets from advertiser. Create and update methods are supported for this
  5507  	// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`
  5508  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install mobile
  5509  	// creative (banner). Create and update methods are **not** supported for this
  5510  	// creative type.
  5511  	//   "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create and
  5512  	// update methods are supported for this creative type if the hosting_source is
  5513  	// `HOSTING_SOURCE_HOSTED`
  5514  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial creative
  5515  	// including both display and video. Create and update methods are **not**
  5516  	// supported for this creative type.
  5517  	//   "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox creative.
  5518  	// Create and update methods are **not** supported for this creative type.
  5519  	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative. Create
  5520  	// and update methods are **not** supported for this creative type.
  5521  	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app install
  5522  	// creative. Create and update methods are **not** supported for this creative
  5523  	// type.
  5524  	//   "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods are
  5525  	// supported for this creative type if the hosting_source is
  5526  	// `HOSTING_SOURCE_HOSTED`
  5527  	//   "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative. Create and
  5528  	// update methods are **not** supported for this creative type.
  5529  	//   "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and update
  5530  	// methods are supported for this creative type if the hosting_source is
  5531  	// `HOSTING_SOURCE_HOSTED`
  5532  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install mobile
  5533  	// video creative. Create and update methods are **not** supported for this
  5534  	// creative type.
  5535  	CreativeType string `json:"creativeType,omitempty"`
  5536  	// Dimensions: Required. Primary dimensions of the creative. Applicable to all
  5537  	// creative types. The value of width_pixels and height_pixels defaults to `0`
  5538  	// when creative_type is one of: * `CREATIVE_TYPE_VIDEO` *
  5539  	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO`
  5540  	Dimensions *Dimensions `json:"dimensions,omitempty"`
  5541  	// DisplayName: Required. The display name of the creative. Must be UTF-8
  5542  	// encoded with a maximum size of 240 bytes.
  5543  	DisplayName string `json:"displayName,omitempty"`
  5544  	// Dynamic: Output only. Indicates whether the creative is dynamic.
  5545  	Dynamic bool `json:"dynamic,omitempty"`
  5546  	// EntityStatus: Required. Controls whether or not the creative can serve.
  5547  	// Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED` *
  5548  	// `ENTITY_STATUS_PAUSED`
  5549  	//
  5550  	// Possible values:
  5551  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  5552  	// or is unknown in this version.
  5553  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  5554  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  5555  	// spending are disabled. An entity can be deleted after archived. Deleted
  5556  	// entities cannot be retrieved.
  5557  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  5558  	// spending are disabled.
  5559  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  5560  	// entity.
  5561  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  5562  	// deletion.
  5563  	EntityStatus string `json:"entityStatus,omitempty"`
  5564  	// ExitEvents: Required. Exit events for this creative. An exit (also known as
  5565  	// a click tag) is any area in your creative that someone can click or tap to
  5566  	// open an advertiser's landing page. Every creative must include at least one
  5567  	// exit. You can add an exit to your creative in any of the following ways: *
  5568  	// Use Google Web Designer's tap area. * Define a JavaScript variable called
  5569  	// "clickTag". * Use the Enabler (Enabler.exit()) to track exits in rich media
  5570  	// formats.
  5571  	ExitEvents []*ExitEvent `json:"exitEvents,omitempty"`
  5572  	// ExpandOnHover: Optional. Indicates the creative will automatically expand on
  5573  	// hover. Optional and only valid for third-party expandable creatives.
  5574  	// Third-party expandable creatives are creatives with following hosting
  5575  	// source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following
  5576  	// creative_type: * `CREATIVE_TYPE_EXPANDABLE`
  5577  	ExpandOnHover bool `json:"expandOnHover,omitempty"`
  5578  	// ExpandingDirection: Optional. Specifies the expanding direction of the
  5579  	// creative. Required and only valid for third-party expandable creatives.
  5580  	// Third-party expandable creatives are creatives with following hosting
  5581  	// source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following
  5582  	// creative_type: * `CREATIVE_TYPE_EXPANDABLE`
  5583  	//
  5584  	// Possible values:
  5585  	//   "EXPANDING_DIRECTION_UNSPECIFIED" - The expanding direction is not
  5586  	// specified.
  5587  	//   "EXPANDING_DIRECTION_NONE" - Does not expand in any direction.
  5588  	//   "EXPANDING_DIRECTION_UP" - Expands up.
  5589  	//   "EXPANDING_DIRECTION_DOWN" - Expands down.
  5590  	//   "EXPANDING_DIRECTION_LEFT" - Expands left.
  5591  	//   "EXPANDING_DIRECTION_RIGHT" - Expands right.
  5592  	//   "EXPANDING_DIRECTION_UP_AND_LEFT" - Expands up and to the left side.
  5593  	//   "EXPANDING_DIRECTION_UP_AND_RIGHT" - Expands up and to the right side.
  5594  	//   "EXPANDING_DIRECTION_DOWN_AND_LEFT" - Expands down and to the left side.
  5595  	//   "EXPANDING_DIRECTION_DOWN_AND_RIGHT" - Expands down and to the right side.
  5596  	//   "EXPANDING_DIRECTION_UP_OR_DOWN" - Expands either up or down.
  5597  	//   "EXPANDING_DIRECTION_LEFT_OR_RIGHT" - Expands to either the left or the
  5598  	// right side.
  5599  	//   "EXPANDING_DIRECTION_ANY_DIAGONAL" - Can expand in any diagonal direction.
  5600  	ExpandingDirection string `json:"expandingDirection,omitempty"`
  5601  	// HostingSource: Required. Indicates where the creative is hosted.
  5602  	//
  5603  	// Possible values:
  5604  	//   "HOSTING_SOURCE_UNSPECIFIED" - Hosting source is not specified or is
  5605  	// unknown in this version.
  5606  	//   "HOSTING_SOURCE_CM" - A creative synced from Campaign Manager 360. Create
  5607  	// and update methods are **not** supported for this hosting type.
  5608  	//   "HOSTING_SOURCE_THIRD_PARTY" - A creative hosted by a third-party ad
  5609  	// server (3PAS). Create and update methods are supported for this hosting type
  5610  	// if the creative_type is one of the following: * `CREATIVE_TYPE_AUDIO` *
  5611  	// `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_STANDARD` *
  5612  	// `CREATIVE_TYPE_VIDEO`
  5613  	//   "HOSTING_SOURCE_HOSTED" - A creative created in DV360 and hosted by
  5614  	// Campaign Manager 360. Create and update methods are supported for this
  5615  	// hosting type if the creative_type is one of the following: *
  5616  	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE` *
  5617  	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` *
  5618  	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`
  5619  	//   "HOSTING_SOURCE_RICH_MEDIA" - A rich media creative created in Studio and
  5620  	// hosted by Campaign Manager 360. Create and update methods are **not**
  5621  	// supported for this hosting type.
  5622  	HostingSource string `json:"hostingSource,omitempty"`
  5623  	// Html5Video: Output only. Indicates the third-party VAST tag creative
  5624  	// requires HTML5 Video support. Output only and only valid for third-party
  5625  	// VAST tag creatives. Third-party VAST tag creatives are creatives with
  5626  	// following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
  5627  	// following creative_type: * `CREATIVE_TYPE_VIDEO`
  5628  	Html5Video bool `json:"html5Video,omitempty"`
  5629  	// IasCampaignMonitoring: Indicates whether Integral Ad Science (IAS) campaign
  5630  	// monitoring is enabled. To enable this for the creative, make sure the
  5631  	// Advertiser.creative_config.ias_client_id has been set to your IAS client ID.
  5632  	IasCampaignMonitoring bool `json:"iasCampaignMonitoring,omitempty"`
  5633  	// IntegrationCode: ID information used to link this creative to an external
  5634  	// system. Must be UTF-8 encoded with a length of no more than 10,000
  5635  	// characters.
  5636  	IntegrationCode string `json:"integrationCode,omitempty"`
  5637  	// JsTrackerUrl: JavaScript measurement URL from supported third-party
  5638  	// verification providers (ComScore, DoubleVerify, IAS, Moat). HTML script tags
  5639  	// are not supported. This field is only writeable in following creative_type:
  5640  	// * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
  5641  	// `CREATIVE_TYPE_NATIVE_VIDEO`
  5642  	JsTrackerUrl string `json:"jsTrackerUrl,omitempty"`
  5643  	// LineItemIds: Output only. The IDs of the line items this creative is
  5644  	// associated with. To associate a creative to a line item, use
  5645  	// LineItem.creative_ids instead.
  5646  	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
  5647  	// MediaDuration: Output only. Media duration of the creative. Applicable when
  5648  	// creative_type is one of: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` *
  5649  	// `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_PUBLISHER_HOSTED`
  5650  	MediaDuration string `json:"mediaDuration,omitempty"`
  5651  	// Mp3Audio: Output only. Indicates the third-party audio creative supports
  5652  	// MP3. Output only and only valid for third-party audio creatives. Third-party
  5653  	// audio creatives are creatives with following hosting_source: *
  5654  	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
  5655  	// `CREATIVE_TYPE_AUDIO`
  5656  	Mp3Audio bool `json:"mp3Audio,omitempty"`
  5657  	// Name: Output only. The resource name of the creative.
  5658  	Name string `json:"name,omitempty"`
  5659  	// Notes: User notes for this creative. Must be UTF-8 encoded with a length of
  5660  	// no more than 20,000 characters.
  5661  	Notes string `json:"notes,omitempty"`
  5662  	// ObaIcon: Specifies the OBA icon for a video creative. This field is only
  5663  	// supported in following creative_type: * `CREATIVE_TYPE_VIDEO`
  5664  	ObaIcon *ObaIcon `json:"obaIcon,omitempty"`
  5665  	// OggAudio: Output only. Indicates the third-party audio creative supports
  5666  	// OGG. Output only and only valid for third-party audio creatives. Third-party
  5667  	// audio creatives are creatives with following hosting_source: *
  5668  	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
  5669  	// `CREATIVE_TYPE_AUDIO`
  5670  	OggAudio bool `json:"oggAudio,omitempty"`
  5671  	// ProgressOffset: Amount of time to play the video before counting a view.
  5672  	// This field is required when skippable is true. This field is only supported
  5673  	// for the following creative_type: * `CREATIVE_TYPE_VIDEO`
  5674  	ProgressOffset *AudioVideoOffset `json:"progressOffset,omitempty"`
  5675  	// RequireHtml5: Optional. Indicates that the creative relies on HTML5 to
  5676  	// render properly. Optional and only valid for third-party tag creatives.
  5677  	// Third-party tag creatives are creatives with following hosting_source: *
  5678  	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
  5679  	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`
  5680  	RequireHtml5 bool `json:"requireHtml5,omitempty"`
  5681  	// RequireMraid: Optional. Indicates that the creative requires MRAID (Mobile
  5682  	// Rich Media Ad Interface Definitions system). Set this if the creative relies
  5683  	// on mobile gestures for interactivity, such as swiping or tapping. Optional
  5684  	// and only valid for third-party tag creatives. Third-party tag creatives are
  5685  	// creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY`
  5686  	// combined with following creative_type: * `CREATIVE_TYPE_STANDARD` *
  5687  	// `CREATIVE_TYPE_EXPANDABLE`
  5688  	RequireMraid bool `json:"requireMraid,omitempty"`
  5689  	// RequirePingForAttribution: Optional. Indicates that the creative will wait
  5690  	// for a return ping for attribution. Only valid when using a Campaign Manager
  5691  	// 360 tracking ad with a third-party ad server parameter and the
  5692  	// ${DC_DBM_TOKEN} macro. Optional and only valid for third-party tag creatives
  5693  	// or third-party VAST tag creatives. Third-party tag creatives are creatives
  5694  	// with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
  5695  	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
  5696  	// `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag creatives are creatives with
  5697  	// following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
  5698  	// following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`
  5699  	RequirePingForAttribution bool `json:"requirePingForAttribution,omitempty"`
  5700  	// ReviewStatus: Output only. The current status of the creative review
  5701  	// process.
  5702  	ReviewStatus *ReviewStatusInfo `json:"reviewStatus,omitempty"`
  5703  	// SkipOffset: Amount of time to play the video before the skip button appears.
  5704  	// This field is required when skippable is true. This field is only supported
  5705  	// for the following creative_type: * `CREATIVE_TYPE_VIDEO`
  5706  	SkipOffset *AudioVideoOffset `json:"skipOffset,omitempty"`
  5707  	// Skippable: Whether the user can choose to skip a video creative. This field
  5708  	// is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`
  5709  	Skippable bool `json:"skippable,omitempty"`
  5710  	// ThirdPartyTag: Optional. The original third-party tag used for the creative.
  5711  	// Required and only valid for third-party tag creatives. Third-party tag
  5712  	// creatives are creatives with following hosting_source: *
  5713  	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
  5714  	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`
  5715  	ThirdPartyTag string `json:"thirdPartyTag,omitempty"`
  5716  	// ThirdPartyUrls: Tracking URLs from third parties to track interactions with
  5717  	// a video creative. This field is only supported for the following
  5718  	// creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` *
  5719  	// `CREATIVE_TYPE_NATIVE_VIDEO`
  5720  	ThirdPartyUrls []*ThirdPartyUrl `json:"thirdPartyUrls,omitempty"`
  5721  	// TimerEvents: Timer custom events for a rich media creative. Timers track the
  5722  	// time during which a user views and interacts with a specified part of a rich
  5723  	// media creative. A creative can have multiple timer events, each timed
  5724  	// independently. Leave it empty or unset for creatives containing image assets
  5725  	// only.
  5726  	TimerEvents []*TimerEvent `json:"timerEvents,omitempty"`
  5727  	// TrackerUrls: Tracking URLs for analytics providers or third-party ad
  5728  	// technology vendors. The URLs must start with https (except on inventory that
  5729  	// doesn't require SSL compliance). If using macros in your URL, use only
  5730  	// macros supported by Display & Video 360. Standard URLs only, no IMG or
  5731  	// SCRIPT tags. This field is only writeable in following creative_type: *
  5732  	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
  5733  	// `CREATIVE_TYPE_NATIVE_VIDEO`
  5734  	TrackerUrls []string `json:"trackerUrls,omitempty"`
  5735  	// Transcodes: Output only. Audio/Video transcodes. Display & Video 360
  5736  	// transcodes the main asset into a number of alternative versions that use
  5737  	// different file formats or have different properties (resolution, audio bit
  5738  	// rate, and video bit rate), each designed for specific video players or
  5739  	// bandwidths. These transcodes give a publisher's system more options to
  5740  	// choose from for each impression on your video and ensures that the
  5741  	// appropriate file serves based on the viewer’s connection and screen size.
  5742  	// This field is only supported in following creative_type: *
  5743  	// `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO`
  5744  	Transcodes []*Transcode `json:"transcodes,omitempty"`
  5745  	// UniversalAdId: Optional. An optional creative identifier provided by a
  5746  	// registry that is unique across all platforms. Universal Ad ID is part of the
  5747  	// VAST 4.0 standard. It can be modified after the creative is created. This
  5748  	// field is only supported for the following creative_type: *
  5749  	// `CREATIVE_TYPE_VIDEO`
  5750  	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
  5751  	// UpdateTime: Output only. The timestamp when the creative was last updated,
  5752  	// either by the user or system (e.g. creative review). Assigned by the system.
  5753  	UpdateTime string `json:"updateTime,omitempty"`
  5754  	// VastTagUrl: Optional. The URL of the VAST tag for a third-party VAST tag
  5755  	// creative. Required and only valid for third-party VAST tag creatives.
  5756  	// Third-party VAST tag creatives are creatives with following hosting_source:
  5757  	// * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
  5758  	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`
  5759  	VastTagUrl string `json:"vastTagUrl,omitempty"`
  5760  	// Vpaid: Output only. Indicates the third-party VAST tag creative requires
  5761  	// VPAID (Digital Video Player-Ad Interface). Output only and only valid for
  5762  	// third-party VAST tag creatives. Third-party VAST tag creatives are creatives
  5763  	// with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
  5764  	// following creative_type: * `CREATIVE_TYPE_VIDEO`
  5765  	Vpaid bool `json:"vpaid,omitempty"`
  5766  
  5767  	// ServerResponse contains the HTTP response code and headers from the server.
  5768  	googleapi.ServerResponse `json:"-"`
  5769  	// ForceSendFields is a list of field names (e.g. "AdditionalDimensions") to
  5770  	// unconditionally include in API requests. By default, fields with empty or
  5771  	// default values are omitted from API requests. See
  5772  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5773  	// details.
  5774  	ForceSendFields []string `json:"-"`
  5775  	// NullFields is a list of field names (e.g. "AdditionalDimensions") to include
  5776  	// in API requests with the JSON null value. By default, fields with empty
  5777  	// values are omitted from API requests. See
  5778  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5779  	NullFields []string `json:"-"`
  5780  }
  5781  
  5782  func (s *Creative) MarshalJSON() ([]byte, error) {
  5783  	type NoMethod Creative
  5784  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5785  }
  5786  
  5787  // CreativeConfig: Creative requirements configuration for the inventory
  5788  // source.
  5789  type CreativeConfig struct {
  5790  	// CreativeType: The type of creative that can be assigned to the inventory
  5791  	// source. Only the following types are supported: * `CREATIVE_TYPE_STANDARD` *
  5792  	// `CREATIVE_TYPE_VIDEO`
  5793  	//
  5794  	// Possible values:
  5795  	//   "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is unknown in
  5796  	// this version.
  5797  	//   "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and update
  5798  	// methods are supported for this creative type if the hosting_source is one of
  5799  	// the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`
  5800  	//   "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update
  5801  	// methods are supported for this creative type if the hosting_source is
  5802  	// `HOSTING_SOURCE_THIRD_PARTY`
  5803  	//   "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods are
  5804  	// supported for this creative type if the hosting_source is one of the
  5805  	// following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`
  5806  	//   "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers with
  5807  	// assets from advertiser. Create and update methods are supported for this
  5808  	// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`
  5809  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install mobile
  5810  	// creative (banner). Create and update methods are **not** supported for this
  5811  	// creative type.
  5812  	//   "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create and
  5813  	// update methods are supported for this creative type if the hosting_source is
  5814  	// `HOSTING_SOURCE_HOSTED`
  5815  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial creative
  5816  	// including both display and video. Create and update methods are **not**
  5817  	// supported for this creative type.
  5818  	//   "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox creative.
  5819  	// Create and update methods are **not** supported for this creative type.
  5820  	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative. Create
  5821  	// and update methods are **not** supported for this creative type.
  5822  	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app install
  5823  	// creative. Create and update methods are **not** supported for this creative
  5824  	// type.
  5825  	//   "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods are
  5826  	// supported for this creative type if the hosting_source is
  5827  	// `HOSTING_SOURCE_HOSTED`
  5828  	//   "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative. Create and
  5829  	// update methods are **not** supported for this creative type.
  5830  	//   "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and update
  5831  	// methods are supported for this creative type if the hosting_source is
  5832  	// `HOSTING_SOURCE_HOSTED`
  5833  	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install mobile
  5834  	// video creative. Create and update methods are **not** supported for this
  5835  	// creative type.
  5836  	CreativeType string `json:"creativeType,omitempty"`
  5837  	// DisplayCreativeConfig: The configuration for display creatives. Applicable
  5838  	// when creative_type is `CREATIVE_TYPE_STANDARD`.
  5839  	DisplayCreativeConfig *InventorySourceDisplayCreativeConfig `json:"displayCreativeConfig,omitempty"`
  5840  	// VideoCreativeConfig: The configuration for video creatives. Applicable when
  5841  	// creative_type is `CREATIVE_TYPE_VIDEO`.
  5842  	VideoCreativeConfig *InventorySourceVideoCreativeConfig `json:"videoCreativeConfig,omitempty"`
  5843  	// ForceSendFields is a list of field names (e.g. "CreativeType") to
  5844  	// unconditionally include in API requests. By default, fields with empty or
  5845  	// default values are omitted from API requests. See
  5846  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5847  	// details.
  5848  	ForceSendFields []string `json:"-"`
  5849  	// NullFields is a list of field names (e.g. "CreativeType") to include in API
  5850  	// requests with the JSON null value. By default, fields with empty values are
  5851  	// omitted from API requests. See
  5852  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5853  	NullFields []string `json:"-"`
  5854  }
  5855  
  5856  func (s *CreativeConfig) MarshalJSON() ([]byte, error) {
  5857  	type NoMethod CreativeConfig
  5858  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5859  }
  5860  
  5861  // CustomBiddingAlgorithm: A single custom bidding algorithm.
  5862  type CustomBiddingAlgorithm struct {
  5863  	// AdvertiserId: Immutable. The unique ID of the advertiser that owns the
  5864  	// custom bidding algorithm.
  5865  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5866  	// CustomBiddingAlgorithmId: Output only. The unique ID of the custom bidding
  5867  	// algorithm. Assigned by the system.
  5868  	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
  5869  	// CustomBiddingAlgorithmType: Required. Immutable. The type of custom bidding
  5870  	// algorithm.
  5871  	//
  5872  	// Possible values:
  5873  	//   "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED" - Algorithm type is not
  5874  	// specified or is unknown in this version.
  5875  	//   "SCRIPT_BASED" - Algorithm generated through customer-uploaded custom
  5876  	// bidding script files.
  5877  	//   "ADS_DATA_HUB_BASED" - Algorithm created through Ads Data Hub product.
  5878  	//   "GOAL_BUILDER_BASED" - Algorithm created through goal builder in DV3 UI.
  5879  	//   "RULE_BASED" - Algorithm based in defined rules. These rules are defined
  5880  	// in the API using the AlgorithmRules object. This algorithm type is only
  5881  	// available to allowlisted customers. Other customers attempting to use this
  5882  	// type will receive an error.
  5883  	CustomBiddingAlgorithmType string `json:"customBiddingAlgorithmType,omitempty"`
  5884  	// DisplayName: Required. The display name of the custom bidding algorithm.
  5885  	// Must be UTF-8 encoded with a maximum size of 240 bytes.
  5886  	DisplayName string `json:"displayName,omitempty"`
  5887  	// EntityStatus: Controls whether or not the custom bidding algorithm can be
  5888  	// used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` *
  5889  	// `ENTITY_STATUS_ARCHIVED`
  5890  	//
  5891  	// Possible values:
  5892  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  5893  	// or is unknown in this version.
  5894  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  5895  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  5896  	// spending are disabled. An entity can be deleted after archived. Deleted
  5897  	// entities cannot be retrieved.
  5898  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  5899  	// spending are disabled.
  5900  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  5901  	// entity.
  5902  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  5903  	// deletion.
  5904  	EntityStatus string `json:"entityStatus,omitempty"`
  5905  	// ModelDetails: Output only. The details of custom bidding models for each
  5906  	// advertiser who has access. This field may only include the details of the
  5907  	// queried advertiser if the algorithm `owner`
  5908  	// (/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAl
  5909  	// gorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an
  5910  	// advertiser `accessor`
  5911  	// (/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY
  5912  	// _PARAMETERS.oneof_accessor).
  5913  	ModelDetails []*CustomBiddingModelDetails `json:"modelDetails,omitempty"`
  5914  	// Name: Output only. The resource name of the custom bidding algorithm.
  5915  	Name string `json:"name,omitempty"`
  5916  	// PartnerId: Immutable. The unique ID of the partner that owns the custom
  5917  	// bidding algorithm.
  5918  	PartnerId int64 `json:"partnerId,omitempty,string"`
  5919  	// SharedAdvertiserIds: The IDs of the advertisers who have access to this
  5920  	// algorithm. If advertiser_id is set, this field will only consist of that
  5921  	// value. This field will not be set if the algorithm `owner`
  5922  	// (/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAl
  5923  	// gorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an
  5924  	// advertiser `accessor`
  5925  	// (/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY
  5926  	// _PARAMETERS.oneof_accessor).
  5927  	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
  5928  
  5929  	// ServerResponse contains the HTTP response code and headers from the server.
  5930  	googleapi.ServerResponse `json:"-"`
  5931  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  5932  	// unconditionally include in API requests. By default, fields with empty or
  5933  	// default values are omitted from API requests. See
  5934  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5935  	// details.
  5936  	ForceSendFields []string `json:"-"`
  5937  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  5938  	// requests with the JSON null value. By default, fields with empty values are
  5939  	// omitted from API requests. See
  5940  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5941  	NullFields []string `json:"-"`
  5942  }
  5943  
  5944  func (s *CustomBiddingAlgorithm) MarshalJSON() ([]byte, error) {
  5945  	type NoMethod CustomBiddingAlgorithm
  5946  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5947  }
  5948  
  5949  // CustomBiddingAlgorithmRules: A single custom bidding algorithm rules.
  5950  type CustomBiddingAlgorithmRules struct {
  5951  	// Active: Output only. Whether the rules resource is currently being used for
  5952  	// scoring by the parent algorithm.
  5953  	Active bool `json:"active,omitempty"`
  5954  	// CreateTime: Output only. The time when the rules resource was created.
  5955  	CreateTime string `json:"createTime,omitempty"`
  5956  	// CustomBiddingAlgorithmId: Output only. The unique ID of the custom bidding
  5957  	// algorithm that the rules resource belongs to.
  5958  	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
  5959  	// CustomBiddingAlgorithmRulesId: Output only. The unique ID of the rules
  5960  	// resource.
  5961  	CustomBiddingAlgorithmRulesId int64 `json:"customBiddingAlgorithmRulesId,omitempty,string"`
  5962  	// Error: Output only. Error code of the rejected rules resource. This field
  5963  	// will only be populated when the state is `REJECTED`.
  5964  	Error *CustomBiddingAlgorithmRulesError `json:"error,omitempty"`
  5965  	// Name: Output only. The resource name of the rules resource.
  5966  	Name string `json:"name,omitempty"`
  5967  	// Rules: Required. Immutable. The reference to the uploaded AlgorithmRules
  5968  	// file.
  5969  	Rules *CustomBiddingAlgorithmRulesRef `json:"rules,omitempty"`
  5970  	// State: Output only. The state of the rules resource.
  5971  	//
  5972  	// Possible values:
  5973  	//   "STATE_UNSPECIFIED" - The rules state are unspecified or unknown in this
  5974  	// version.
  5975  	//   "ACCEPTED" - The rules have been accepted for scoring impressions.
  5976  	//   "REJECTED" - The rules have been rejected by backend pipelines. They may
  5977  	// have errors.
  5978  	State string `json:"state,omitempty"`
  5979  
  5980  	// ServerResponse contains the HTTP response code and headers from the server.
  5981  	googleapi.ServerResponse `json:"-"`
  5982  	// ForceSendFields is a list of field names (e.g. "Active") to unconditionally
  5983  	// include in API requests. By default, fields with empty or default values are
  5984  	// omitted from API requests. See
  5985  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  5986  	// details.
  5987  	ForceSendFields []string `json:"-"`
  5988  	// NullFields is a list of field names (e.g. "Active") to include in API
  5989  	// requests with the JSON null value. By default, fields with empty values are
  5990  	// omitted from API requests. See
  5991  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  5992  	NullFields []string `json:"-"`
  5993  }
  5994  
  5995  func (s *CustomBiddingAlgorithmRules) MarshalJSON() ([]byte, error) {
  5996  	type NoMethod CustomBiddingAlgorithmRules
  5997  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  5998  }
  5999  
  6000  // CustomBiddingAlgorithmRulesError: An error message for a
  6001  // CustomBiddingAlgorithmRules resource.
  6002  type CustomBiddingAlgorithmRulesError struct {
  6003  	// ErrorCode: The type of error.
  6004  	//
  6005  	// Possible values:
  6006  	//   "ERROR_CODE_UNSPECIFIED" - The error is not specified or is unknown in
  6007  	// this version.
  6008  	//   "SYNTAX_ERROR" - The rules have a syntax error.
  6009  	//   "CONSTRAINT_VIOLATION_ERROR" - The rules have a constraint violation
  6010  	// error.
  6011  	//   "INTERNAL_ERROR" - Internal errors were thrown while processing the rules.
  6012  	ErrorCode string `json:"errorCode,omitempty"`
  6013  	// ForceSendFields is a list of field names (e.g. "ErrorCode") to
  6014  	// unconditionally include in API requests. By default, fields with empty or
  6015  	// default values are omitted from API requests. See
  6016  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6017  	// details.
  6018  	ForceSendFields []string `json:"-"`
  6019  	// NullFields is a list of field names (e.g. "ErrorCode") to include in API
  6020  	// requests with the JSON null value. By default, fields with empty values are
  6021  	// omitted from API requests. See
  6022  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6023  	NullFields []string `json:"-"`
  6024  }
  6025  
  6026  func (s *CustomBiddingAlgorithmRulesError) MarshalJSON() ([]byte, error) {
  6027  	type NoMethod CustomBiddingAlgorithmRulesError
  6028  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6029  }
  6030  
  6031  // CustomBiddingAlgorithmRulesRef: The reference to the uploaded AlgorithmRules
  6032  // file. Retrieve the location to upload new AlgorithmRules file to using
  6033  // customBiddingAlgorithms.uploadRules.
  6034  type CustomBiddingAlgorithmRulesRef struct {
  6035  	// ResourceName: A resource name to be used in media.download to download the
  6036  	// rules files. Or media.upload to upload the rules files. Resource names have
  6037  	// the format
  6038  	// `customBiddingAlgorithms/{custom_bidding_algorithm_id}/rulesRef/{ref_id}`.
  6039  	ResourceName string `json:"resourceName,omitempty"`
  6040  
  6041  	// ServerResponse contains the HTTP response code and headers from the server.
  6042  	googleapi.ServerResponse `json:"-"`
  6043  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  6044  	// unconditionally include in API requests. By default, fields with empty or
  6045  	// default values are omitted from API requests. See
  6046  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6047  	// details.
  6048  	ForceSendFields []string `json:"-"`
  6049  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  6050  	// requests with the JSON null value. By default, fields with empty values are
  6051  	// omitted from API requests. See
  6052  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6053  	NullFields []string `json:"-"`
  6054  }
  6055  
  6056  func (s *CustomBiddingAlgorithmRulesRef) MarshalJSON() ([]byte, error) {
  6057  	type NoMethod CustomBiddingAlgorithmRulesRef
  6058  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6059  }
  6060  
  6061  // CustomBiddingModelDetails: The details of a custom bidding algorithm model
  6062  // for a single shared advertiser.
  6063  type CustomBiddingModelDetails struct {
  6064  	// AdvertiserId: The unique ID of the relevant advertiser.
  6065  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  6066  	// ReadinessState: The readiness state of custom bidding model.
  6067  	//
  6068  	// Possible values:
  6069  	//   "READINESS_STATE_UNSPECIFIED" - State is not specified or is unknown in
  6070  	// this version.
  6071  	//   "READINESS_STATE_ACTIVE" - The model is trained and ready for serving.
  6072  	//   "READINESS_STATE_INSUFFICIENT_DATA" - There is not enough data to train
  6073  	// the serving model.
  6074  	//   "READINESS_STATE_TRAINING" - The model is training and not ready for
  6075  	// serving.
  6076  	//   "READINESS_STATE_NO_VALID_SCRIPT" - A valid custom bidding script has not
  6077  	// been provided with which to train the model. This state will only be applied
  6078  	// to algorithms whose `custom_bidding_algorithm_type` is `SCRIPT_BASED`.
  6079  	//   "READINESS_STATE_EVALUATION_FAILURE" - A valid script was provided but
  6080  	// failed evaluation. This is applicable for scripts that could not be
  6081  	// evaluated in the alloted time.
  6082  	ReadinessState string `json:"readinessState,omitempty"`
  6083  	// SuspensionState: Output only. The suspension state of custom bidding model.
  6084  	//
  6085  	// Possible values:
  6086  	//   "SUSPENSION_STATE_UNSPECIFIED" - State is not specified or is unknown in
  6087  	// this version.
  6088  	//   "SUSPENSION_STATE_ENABLED" - Model is enabled, either recently used,
  6089  	// currently used or scheduled to be used. The algorithm is actively scoring
  6090  	// impressions for this advertiser.
  6091  	//   "SUSPENSION_STATE_DORMANT" - Model has not been used recently. Although
  6092  	// the model still acts as `ENABLED`, it will eventually be suspended if not
  6093  	// used.
  6094  	//   "SUSPENSION_STATE_SUSPENDED" - Model is suspended from scoring impressions
  6095  	// and cannot serve. If the algorithm is assigned to a line item under this
  6096  	// advertiser or otherwise updated, it will switch back to the `ENABLED` state
  6097  	// and require time to prepare the serving model again.
  6098  	SuspensionState string `json:"suspensionState,omitempty"`
  6099  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  6100  	// unconditionally include in API requests. By default, fields with empty or
  6101  	// default values are omitted from API requests. See
  6102  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6103  	// details.
  6104  	ForceSendFields []string `json:"-"`
  6105  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  6106  	// requests with the JSON null value. By default, fields with empty values are
  6107  	// omitted from API requests. See
  6108  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6109  	NullFields []string `json:"-"`
  6110  }
  6111  
  6112  func (s *CustomBiddingModelDetails) MarshalJSON() ([]byte, error) {
  6113  	type NoMethod CustomBiddingModelDetails
  6114  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6115  }
  6116  
  6117  // CustomBiddingScript: A single custom bidding script.
  6118  type CustomBiddingScript struct {
  6119  	// Active: Output only. Whether the script is currently being used for scoring
  6120  	// by the parent algorithm.
  6121  	Active bool `json:"active,omitempty"`
  6122  	// CreateTime: Output only. The time when the script was created.
  6123  	CreateTime string `json:"createTime,omitempty"`
  6124  	// CustomBiddingAlgorithmId: Output only. The unique ID of the custom bidding
  6125  	// algorithm the script belongs to.
  6126  	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
  6127  	// CustomBiddingScriptId: Output only. The unique ID of the custom bidding
  6128  	// script.
  6129  	CustomBiddingScriptId int64 `json:"customBiddingScriptId,omitempty,string"`
  6130  	// Errors: Output only. Error details of a rejected custom bidding script. This
  6131  	// field will only be populated when state is REJECTED.
  6132  	Errors []*ScriptError `json:"errors,omitempty"`
  6133  	// Name: Output only. The resource name of the custom bidding script.
  6134  	Name string `json:"name,omitempty"`
  6135  	// Script: The reference to the uploaded script file.
  6136  	Script *CustomBiddingScriptRef `json:"script,omitempty"`
  6137  	// State: Output only. The state of the custom bidding script.
  6138  	//
  6139  	// Possible values:
  6140  	//   "STATE_UNSPECIFIED" - The script state is not specified or is unknown in
  6141  	// this version.
  6142  	//   "ACCEPTED" - The script has been accepted for scoring impressions.
  6143  	//   "REJECTED" - The script has been rejected by backend pipelines. It may
  6144  	// have errors.
  6145  	//   "PENDING" - The script is being processed for backend pipelines.
  6146  	State string `json:"state,omitempty"`
  6147  
  6148  	// ServerResponse contains the HTTP response code and headers from the server.
  6149  	googleapi.ServerResponse `json:"-"`
  6150  	// ForceSendFields is a list of field names (e.g. "Active") to unconditionally
  6151  	// include in API requests. By default, fields with empty or default values are
  6152  	// omitted from API requests. See
  6153  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6154  	// details.
  6155  	ForceSendFields []string `json:"-"`
  6156  	// NullFields is a list of field names (e.g. "Active") to include in API
  6157  	// requests with the JSON null value. By default, fields with empty values are
  6158  	// omitted from API requests. See
  6159  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6160  	NullFields []string `json:"-"`
  6161  }
  6162  
  6163  func (s *CustomBiddingScript) MarshalJSON() ([]byte, error) {
  6164  	type NoMethod CustomBiddingScript
  6165  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6166  }
  6167  
  6168  // CustomBiddingScriptRef: The reference to the uploaded custom bidding script
  6169  // file.
  6170  type CustomBiddingScriptRef struct {
  6171  	// ResourceName: A resource name to be used in media.download to Download the
  6172  	// script files. Or media.upload to Upload the script files. Resource names
  6173  	// have the format
  6174  	// `customBiddingAlgorithms/{custom_bidding_algorithm_id}/scriptRef/{ref_id}`.
  6175  	ResourceName string `json:"resourceName,omitempty"`
  6176  
  6177  	// ServerResponse contains the HTTP response code and headers from the server.
  6178  	googleapi.ServerResponse `json:"-"`
  6179  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  6180  	// unconditionally include in API requests. By default, fields with empty or
  6181  	// default values are omitted from API requests. See
  6182  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6183  	// details.
  6184  	ForceSendFields []string `json:"-"`
  6185  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  6186  	// requests with the JSON null value. By default, fields with empty values are
  6187  	// omitted from API requests. See
  6188  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6189  	NullFields []string `json:"-"`
  6190  }
  6191  
  6192  func (s *CustomBiddingScriptRef) MarshalJSON() ([]byte, error) {
  6193  	type NoMethod CustomBiddingScriptRef
  6194  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6195  }
  6196  
  6197  // CustomLabel: The key and value of a custom label.
  6198  type CustomLabel struct {
  6199  	// Key: The key of the label.
  6200  	//
  6201  	// Possible values:
  6202  	//   "CUSTOM_LABEL_KEY_UNSPECIFIED" - Not specified or unknown.
  6203  	//   "CUSTOM_LABEL_KEY_0" - Key index 0.
  6204  	//   "CUSTOM_LABEL_KEY_1" - Key index 1.
  6205  	//   "CUSTOM_LABEL_KEY_2" - Key index 2.
  6206  	//   "CUSTOM_LABEL_KEY_3" - Key index 3.
  6207  	//   "CUSTOM_LABEL_KEY_4" - Key index 4.
  6208  	Key string `json:"key,omitempty"`
  6209  	// Value: The value of the label.
  6210  	Value string `json:"value,omitempty"`
  6211  	// ForceSendFields is a list of field names (e.g. "Key") to unconditionally
  6212  	// include in API requests. By default, fields with empty or default values are
  6213  	// omitted from API requests. See
  6214  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6215  	// details.
  6216  	ForceSendFields []string `json:"-"`
  6217  	// NullFields is a list of field names (e.g. "Key") to include in API requests
  6218  	// with the JSON null value. By default, fields with empty values are omitted
  6219  	// from API requests. See
  6220  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6221  	NullFields []string `json:"-"`
  6222  }
  6223  
  6224  func (s *CustomLabel) MarshalJSON() ([]byte, error) {
  6225  	type NoMethod CustomLabel
  6226  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6227  }
  6228  
  6229  // CustomList: Describes a custom list entity, such as a custom affinity or
  6230  // custom intent audience list.
  6231  type CustomList struct {
  6232  	// CustomListId: Output only. The unique ID of the custom list. Assigned by the
  6233  	// system.
  6234  	CustomListId int64 `json:"customListId,omitempty,string"`
  6235  	// DisplayName: Output only. The display name of the custom list. .
  6236  	DisplayName string `json:"displayName,omitempty"`
  6237  	// Name: Output only. The resource name of the custom list.
  6238  	Name string `json:"name,omitempty"`
  6239  
  6240  	// ServerResponse contains the HTTP response code and headers from the server.
  6241  	googleapi.ServerResponse `json:"-"`
  6242  	// ForceSendFields is a list of field names (e.g. "CustomListId") to
  6243  	// unconditionally include in API requests. By default, fields with empty or
  6244  	// default values are omitted from API requests. See
  6245  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6246  	// details.
  6247  	ForceSendFields []string `json:"-"`
  6248  	// NullFields is a list of field names (e.g. "CustomListId") to include in API
  6249  	// requests with the JSON null value. By default, fields with empty values are
  6250  	// omitted from API requests. See
  6251  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6252  	NullFields []string `json:"-"`
  6253  }
  6254  
  6255  func (s *CustomList) MarshalJSON() ([]byte, error) {
  6256  	type NoMethod CustomList
  6257  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6258  }
  6259  
  6260  // CustomListGroup: Details of custom list group. All custom list targeting
  6261  // settings are logically ‘OR’ of each other.
  6262  type CustomListGroup struct {
  6263  	// Settings: Required. All custom list targeting settings in custom list group.
  6264  	// Repeated settings with same id will be ignored.
  6265  	Settings []*CustomListTargetingSetting `json:"settings,omitempty"`
  6266  	// ForceSendFields is a list of field names (e.g. "Settings") to
  6267  	// unconditionally include in API requests. By default, fields with empty or
  6268  	// default values are omitted from API requests. See
  6269  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6270  	// details.
  6271  	ForceSendFields []string `json:"-"`
  6272  	// NullFields is a list of field names (e.g. "Settings") to include in API
  6273  	// requests with the JSON null value. By default, fields with empty values are
  6274  	// omitted from API requests. See
  6275  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6276  	NullFields []string `json:"-"`
  6277  }
  6278  
  6279  func (s *CustomListGroup) MarshalJSON() ([]byte, error) {
  6280  	type NoMethod CustomListGroup
  6281  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6282  }
  6283  
  6284  // CustomListTargetingSetting: Details of custom list targeting setting.
  6285  type CustomListTargetingSetting struct {
  6286  	// CustomListId: Required. Custom id of custom list targeting setting. This id
  6287  	// is custom_list_id.
  6288  	CustomListId int64 `json:"customListId,omitempty,string"`
  6289  	// ForceSendFields is a list of field names (e.g. "CustomListId") to
  6290  	// unconditionally include in API requests. By default, fields with empty or
  6291  	// default values are omitted from API requests. See
  6292  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6293  	// details.
  6294  	ForceSendFields []string `json:"-"`
  6295  	// NullFields is a list of field names (e.g. "CustomListId") to include in API
  6296  	// requests with the JSON null value. By default, fields with empty values are
  6297  	// omitted from API requests. See
  6298  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6299  	NullFields []string `json:"-"`
  6300  }
  6301  
  6302  func (s *CustomListTargetingSetting) MarshalJSON() ([]byte, error) {
  6303  	type NoMethod CustomListTargetingSetting
  6304  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6305  }
  6306  
  6307  // Date: Represents a whole or partial calendar date, such as a birthday. The
  6308  // time of day and time zone are either specified elsewhere or are
  6309  // insignificant. The date is relative to the Gregorian Calendar. This can
  6310  // represent one of the following: * A full date, with non-zero year, month,
  6311  // and day values. * A month and day, with a zero year (for example, an
  6312  // anniversary). * A year on its own, with a zero month and a zero day. * A
  6313  // year and month, with a zero day (for example, a credit card expiration
  6314  // date). Related types: * google.type.TimeOfDay * google.type.DateTime *
  6315  // google.protobuf.Timestamp
  6316  type Date struct {
  6317  	// Day: Day of a month. Must be from 1 to 31 and valid for the year and month,
  6318  	// or 0 to specify a year by itself or a year and month where the day isn't
  6319  	// significant.
  6320  	Day int64 `json:"day,omitempty"`
  6321  	// Month: Month of a year. Must be from 1 to 12, or 0 to specify a year without
  6322  	// a month and day.
  6323  	Month int64 `json:"month,omitempty"`
  6324  	// Year: Year of the date. Must be from 1 to 9999, or 0 to specify a date
  6325  	// without a year.
  6326  	Year int64 `json:"year,omitempty"`
  6327  	// ForceSendFields is a list of field names (e.g. "Day") to unconditionally
  6328  	// include in API requests. By default, fields with empty or default values are
  6329  	// omitted from API requests. See
  6330  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6331  	// details.
  6332  	ForceSendFields []string `json:"-"`
  6333  	// NullFields is a list of field names (e.g. "Day") to include in API requests
  6334  	// with the JSON null value. By default, fields with empty values are omitted
  6335  	// from API requests. See
  6336  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6337  	NullFields []string `json:"-"`
  6338  }
  6339  
  6340  func (s *Date) MarshalJSON() ([]byte, error) {
  6341  	type NoMethod Date
  6342  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6343  }
  6344  
  6345  // DateRange: A date range.
  6346  type DateRange struct {
  6347  	// EndDate: The upper bound of the date range, inclusive. Must specify a
  6348  	// positive value for `year`, `month`, and `day`.
  6349  	EndDate *Date `json:"endDate,omitempty"`
  6350  	// StartDate: The lower bound of the date range, inclusive. Must specify a
  6351  	// positive value for `year`, `month`, and `day`.
  6352  	StartDate *Date `json:"startDate,omitempty"`
  6353  	// ForceSendFields is a list of field names (e.g. "EndDate") to unconditionally
  6354  	// include in API requests. By default, fields with empty or default values are
  6355  	// omitted from API requests. See
  6356  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6357  	// details.
  6358  	ForceSendFields []string `json:"-"`
  6359  	// NullFields is a list of field names (e.g. "EndDate") to include in API
  6360  	// requests with the JSON null value. By default, fields with empty values are
  6361  	// omitted from API requests. See
  6362  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6363  	NullFields []string `json:"-"`
  6364  }
  6365  
  6366  func (s *DateRange) MarshalJSON() ([]byte, error) {
  6367  	type NoMethod DateRange
  6368  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6369  }
  6370  
  6371  // DayAndTime: Representation of time defined by day of the week and hour of
  6372  // the day.
  6373  type DayAndTime struct {
  6374  	// DayOfWeek: Required. Day of the week.
  6375  	//
  6376  	// Possible values:
  6377  	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
  6378  	//   "MONDAY" - Monday
  6379  	//   "TUESDAY" - Tuesday
  6380  	//   "WEDNESDAY" - Wednesday
  6381  	//   "THURSDAY" - Thursday
  6382  	//   "FRIDAY" - Friday
  6383  	//   "SATURDAY" - Saturday
  6384  	//   "SUNDAY" - Sunday
  6385  	DayOfWeek string `json:"dayOfWeek,omitempty"`
  6386  	// HourOfDay: Required. Hour of the day.
  6387  	HourOfDay int64 `json:"hourOfDay,omitempty"`
  6388  	// TimeZoneResolution: Required. The mechanism used to determine the relevant
  6389  	// timezone.
  6390  	//
  6391  	// Possible values:
  6392  	//   "TIME_ZONE_RESOLUTION_UNSPECIFIED" - Time zone resolution is either
  6393  	// unspecific or unknown.
  6394  	//   "TIME_ZONE_RESOLUTION_END_USER" - Times are resolved in the time zone of
  6395  	// the user that saw the ad.
  6396  	//   "TIME_ZONE_RESOLUTION_ADVERTISER" - Times are resolved in the time zone of
  6397  	// the advertiser that served the ad.
  6398  	TimeZoneResolution string `json:"timeZoneResolution,omitempty"`
  6399  	// ForceSendFields is a list of field names (e.g. "DayOfWeek") to
  6400  	// unconditionally include in API requests. By default, fields with empty or
  6401  	// default values are omitted from API requests. See
  6402  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6403  	// details.
  6404  	ForceSendFields []string `json:"-"`
  6405  	// NullFields is a list of field names (e.g. "DayOfWeek") to include in API
  6406  	// requests with the JSON null value. By default, fields with empty values are
  6407  	// omitted from API requests. See
  6408  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6409  	NullFields []string `json:"-"`
  6410  }
  6411  
  6412  func (s *DayAndTime) MarshalJSON() ([]byte, error) {
  6413  	type NoMethod DayAndTime
  6414  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6415  }
  6416  
  6417  // DayAndTimeAssignedTargetingOptionDetails: Representation of a segment of
  6418  // time defined on a specific day of the week and with a start and end time.
  6419  // The time represented by `start_hour` must be before the time represented by
  6420  // `end_hour`.
  6421  type DayAndTimeAssignedTargetingOptionDetails struct {
  6422  	// DayOfWeek: Required. The day of the week for this day and time targeting
  6423  	// setting.
  6424  	//
  6425  	// Possible values:
  6426  	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
  6427  	//   "MONDAY" - Monday
  6428  	//   "TUESDAY" - Tuesday
  6429  	//   "WEDNESDAY" - Wednesday
  6430  	//   "THURSDAY" - Thursday
  6431  	//   "FRIDAY" - Friday
  6432  	//   "SATURDAY" - Saturday
  6433  	//   "SUNDAY" - Sunday
  6434  	DayOfWeek string `json:"dayOfWeek,omitempty"`
  6435  	// EndHour: Required. The end hour for day and time targeting. Must be between
  6436  	// 1 (1 hour after start of day) and 24 (end of day).
  6437  	EndHour int64 `json:"endHour,omitempty"`
  6438  	// StartHour: Required. The start hour for day and time targeting. Must be
  6439  	// between 0 (start of day) and 23 (1 hour before end of day).
  6440  	StartHour int64 `json:"startHour,omitempty"`
  6441  	// TimeZoneResolution: Required. The mechanism used to determine which timezone
  6442  	// to use for this day and time targeting setting.
  6443  	//
  6444  	// Possible values:
  6445  	//   "TIME_ZONE_RESOLUTION_UNSPECIFIED" - Time zone resolution is either
  6446  	// unspecific or unknown.
  6447  	//   "TIME_ZONE_RESOLUTION_END_USER" - Times are resolved in the time zone of
  6448  	// the user that saw the ad.
  6449  	//   "TIME_ZONE_RESOLUTION_ADVERTISER" - Times are resolved in the time zone of
  6450  	// the advertiser that served the ad.
  6451  	TimeZoneResolution string `json:"timeZoneResolution,omitempty"`
  6452  	// ForceSendFields is a list of field names (e.g. "DayOfWeek") to
  6453  	// unconditionally include in API requests. By default, fields with empty or
  6454  	// default values are omitted from API requests. See
  6455  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6456  	// details.
  6457  	ForceSendFields []string `json:"-"`
  6458  	// NullFields is a list of field names (e.g. "DayOfWeek") to include in API
  6459  	// requests with the JSON null value. By default, fields with empty values are
  6460  	// omitted from API requests. See
  6461  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6462  	NullFields []string `json:"-"`
  6463  }
  6464  
  6465  func (s *DayAndTimeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6466  	type NoMethod DayAndTimeAssignedTargetingOptionDetails
  6467  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6468  }
  6469  
  6470  // DeleteAssignedTargetingOptionsRequest: A request listing which assigned
  6471  // targeting options of a given targeting type should be deleted.
  6472  type DeleteAssignedTargetingOptionsRequest struct {
  6473  	// AssignedTargetingOptionIds: Required. The assigned targeting option IDs to
  6474  	// delete.
  6475  	AssignedTargetingOptionIds []string `json:"assignedTargetingOptionIds,omitempty"`
  6476  	// TargetingType: Required. Identifies the type of this assigned targeting
  6477  	// option.
  6478  	//
  6479  	// Possible values:
  6480  	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or
  6481  	// is unknown in this version.
  6482  	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related
  6483  	// websites or apps).
  6484  	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example,
  6485  	// education or puzzle games).
  6486  	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds).
  6487  	//   "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com).
  6488  	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on
  6489  	// a specific day.
  6490  	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for
  6491  	// example, 18-24).
  6492  	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified
  6493  	// regions on a regional location list.
  6494  	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified
  6495  	// points of interest on a proximity location list.
  6496  	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example,
  6497  	// female or male).
  6498  	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size
  6499  	// for video ads.
  6500  	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for
  6501  	// video ads.
  6502  	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental
  6503  	// status (for example, parent or not a parent).
  6504  	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in
  6505  	// a specific content instream position (for example, pre-roll, mid-roll, or
  6506  	// post-roll).
  6507  	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific
  6508  	// content outstream position.
  6509  	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for
  6510  	// example, tablet or connected TV).
  6511  	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of
  6512  	// audiences. Singleton field, at most one can exist on a single Lineitem at a
  6513  	// time.
  6514  	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
  6515  	// example, Chrome).
  6516  	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household
  6517  	// income range (for example, top 10%).
  6518  	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen
  6519  	// position.
  6520  	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third
  6521  	// party verification (for example, IAS or DoubleVerify).
  6522  	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by
  6523  	// specific digital content label ratings (for example, DL-MA: suitable only
  6524  	// for mature audiences).
  6525  	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by
  6526  	// sensitive categories (for example, adult).
  6527  	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for
  6528  	// example, web or app).
  6529  	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
  6530  	// carrier or internet service provider (ISP) (for example, Comcast or Orange).
  6531  	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating
  6532  	// system (for example, macOS).
  6533  	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make
  6534  	// or model (for example, Roku or Samsung).
  6535  	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example,
  6536  	// dog or retriever).
  6537  	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative
  6538  	// keyword list.
  6539  	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for
  6540  	// example, 80% viewable).
  6541  	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for
  6542  	// example, arts & entertainment).
  6543  	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific
  6544  	// deals and auction packages.
  6545  	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
  6546  	// example, English or Japanese).
  6547  	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
  6548  	// authorized sellers. If no targeting option of this type is assigned, the
  6549  	// resource uses the "Authorized Direct Sellers and Resellers" option by
  6550  	// default.
  6551  	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location
  6552  	// (for example, a city or state).
  6553  	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a
  6554  	// group of deals and auction packages.
  6555  	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges.
  6556  	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
  6557  	// sub-exchanges.
  6558  	//   "TARGETING_TYPE_POI" - Target ads around a specific point of interest,
  6559  	// such as a notable building, a street address, or latitude/longitude
  6560  	// coordinates.
  6561  	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
  6562  	// business chain within a specific geo region.
  6563  	//   "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content
  6564  	// duration.
  6565  	//   "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video
  6566  	// content stream type.
  6567  	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native
  6568  	// content position.
  6569  	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
  6570  	// inventory.
  6571  	//   "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio
  6572  	// content type.
  6573  	//   "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre.
  6574  	//   "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video.
  6575  	// Targeting of this type cannot be created or updated using the API. Although
  6576  	// this targeting is inherited by child resources, **inherited targeting of
  6577  	// this type will not be retrieveable**.
  6578  	//   "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube
  6579  	// channel. Targeting of this type cannot be created or updated using the API.
  6580  	// Although this targeting is inherited by child resources, **inherited
  6581  	// targeting of this type will not be retrieveable**.
  6582  	//   "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain
  6583  	// position of a session. Only supported for Ad Group resources under YouTube
  6584  	// Programmatic Reservation line items. Targeting of this type cannot be
  6585  	// created or updated using the API.
  6586  	TargetingType string `json:"targetingType,omitempty"`
  6587  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptionIds")
  6588  	// to unconditionally include in API requests. By default, fields with empty or
  6589  	// default values are omitted from API requests. See
  6590  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6591  	// details.
  6592  	ForceSendFields []string `json:"-"`
  6593  	// NullFields is a list of field names (e.g. "AssignedTargetingOptionIds") to
  6594  	// include in API requests with the JSON null value. By default, fields with
  6595  	// empty values are omitted from API requests. See
  6596  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6597  	NullFields []string `json:"-"`
  6598  }
  6599  
  6600  func (s *DeleteAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
  6601  	type NoMethod DeleteAssignedTargetingOptionsRequest
  6602  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6603  }
  6604  
  6605  // DeviceMakeModelAssignedTargetingOptionDetails: Assigned device make and
  6606  // model targeting option details. This will be populated in the
  6607  // device_make_model_details field when targeting_type is
  6608  // `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
  6609  type DeviceMakeModelAssignedTargetingOptionDetails struct {
  6610  	// DisplayName: Output only. The display name of the device make and model.
  6611  	DisplayName string `json:"displayName,omitempty"`
  6612  	// Negative: Indicates if this option is being negatively targeted.
  6613  	Negative bool `json:"negative,omitempty"`
  6614  	// TargetingOptionId: Required. The targeting_option_id field when
  6615  	// targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
  6616  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  6617  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  6618  	// unconditionally include in API requests. By default, fields with empty or
  6619  	// default values are omitted from API requests. See
  6620  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6621  	// details.
  6622  	ForceSendFields []string `json:"-"`
  6623  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  6624  	// requests with the JSON null value. By default, fields with empty values are
  6625  	// omitted from API requests. See
  6626  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6627  	NullFields []string `json:"-"`
  6628  }
  6629  
  6630  func (s *DeviceMakeModelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6631  	type NoMethod DeviceMakeModelAssignedTargetingOptionDetails
  6632  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6633  }
  6634  
  6635  // DeviceMakeModelTargetingOptionDetails: Represents a targetable device make
  6636  // and model. This will be populated in the device_make_model_details field of
  6637  // a TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
  6638  type DeviceMakeModelTargetingOptionDetails struct {
  6639  	// DisplayName: Output only. The display name of the device make and model.
  6640  	DisplayName string `json:"displayName,omitempty"`
  6641  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  6642  	// unconditionally include in API requests. By default, fields with empty or
  6643  	// default values are omitted from API requests. See
  6644  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6645  	// details.
  6646  	ForceSendFields []string `json:"-"`
  6647  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  6648  	// requests with the JSON null value. By default, fields with empty values are
  6649  	// omitted from API requests. See
  6650  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6651  	NullFields []string `json:"-"`
  6652  }
  6653  
  6654  func (s *DeviceMakeModelTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6655  	type NoMethod DeviceMakeModelTargetingOptionDetails
  6656  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6657  }
  6658  
  6659  // DeviceTypeAssignedTargetingOptionDetails: Targeting details for device type.
  6660  // This will be populated in the details field of an AssignedTargetingOption
  6661  // when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
  6662  type DeviceTypeAssignedTargetingOptionDetails struct {
  6663  	// DeviceType: Required. The display name of the device type.
  6664  	//
  6665  	// Possible values:
  6666  	//   "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
  6667  	// specified in this version. This enum is a placeholder for default value and
  6668  	// does not represent a real device type option.
  6669  	//   "DEVICE_TYPE_COMPUTER" - Computer.
  6670  	//   "DEVICE_TYPE_CONNECTED_TV" - Connected TV.
  6671  	//   "DEVICE_TYPE_SMART_PHONE" - Smart phone.
  6672  	//   "DEVICE_TYPE_TABLET" - Tablet.
  6673  	DeviceType string `json:"deviceType,omitempty"`
  6674  	// YoutubeAndPartnersBidMultiplier: Output only. Bid multiplier allows you to
  6675  	// show your ads more or less frequently based on the device type. It will
  6676  	// apply a multiplier on the original bid price. When this field is 0, it
  6677  	// indicates this field is not applicable instead of multiplying 0 on the
  6678  	// original bid price. For example, if the bid price without multiplier is
  6679  	// $10.0 and the multiplier is 1.5 for Tablet, the resulting bid price for
  6680  	// Tablet will be $15.0. Only applicable to YouTube and Partners line items.
  6681  	YoutubeAndPartnersBidMultiplier float64 `json:"youtubeAndPartnersBidMultiplier,omitempty"`
  6682  	// ForceSendFields is a list of field names (e.g. "DeviceType") to
  6683  	// unconditionally include in API requests. By default, fields with empty or
  6684  	// default values are omitted from API requests. See
  6685  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6686  	// details.
  6687  	ForceSendFields []string `json:"-"`
  6688  	// NullFields is a list of field names (e.g. "DeviceType") to include in API
  6689  	// requests with the JSON null value. By default, fields with empty values are
  6690  	// omitted from API requests. See
  6691  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6692  	NullFields []string `json:"-"`
  6693  }
  6694  
  6695  func (s *DeviceTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6696  	type NoMethod DeviceTypeAssignedTargetingOptionDetails
  6697  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6698  }
  6699  
  6700  func (s *DeviceTypeAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error {
  6701  	type NoMethod DeviceTypeAssignedTargetingOptionDetails
  6702  	var s1 struct {
  6703  		YoutubeAndPartnersBidMultiplier gensupport.JSONFloat64 `json:"youtubeAndPartnersBidMultiplier"`
  6704  		*NoMethod
  6705  	}
  6706  	s1.NoMethod = (*NoMethod)(s)
  6707  	if err := json.Unmarshal(data, &s1); err != nil {
  6708  		return err
  6709  	}
  6710  	s.YoutubeAndPartnersBidMultiplier = float64(s1.YoutubeAndPartnersBidMultiplier)
  6711  	return nil
  6712  }
  6713  
  6714  // DeviceTypeTargetingOptionDetails: Represents a targetable device type. This
  6715  // will be populated in the device_type_details field of a TargetingOption when
  6716  // targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
  6717  type DeviceTypeTargetingOptionDetails struct {
  6718  	// DeviceType: Output only. The device type that is used to be targeted.
  6719  	//
  6720  	// Possible values:
  6721  	//   "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
  6722  	// specified in this version. This enum is a placeholder for default value and
  6723  	// does not represent a real device type option.
  6724  	//   "DEVICE_TYPE_COMPUTER" - Computer.
  6725  	//   "DEVICE_TYPE_CONNECTED_TV" - Connected TV.
  6726  	//   "DEVICE_TYPE_SMART_PHONE" - Smart phone.
  6727  	//   "DEVICE_TYPE_TABLET" - Tablet.
  6728  	DeviceType string `json:"deviceType,omitempty"`
  6729  	// ForceSendFields is a list of field names (e.g. "DeviceType") to
  6730  	// unconditionally include in API requests. By default, fields with empty or
  6731  	// default values are omitted from API requests. See
  6732  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6733  	// details.
  6734  	ForceSendFields []string `json:"-"`
  6735  	// NullFields is a list of field names (e.g. "DeviceType") to include in API
  6736  	// requests with the JSON null value. By default, fields with empty values are
  6737  	// omitted from API requests. See
  6738  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6739  	NullFields []string `json:"-"`
  6740  }
  6741  
  6742  func (s *DeviceTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6743  	type NoMethod DeviceTypeTargetingOptionDetails
  6744  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6745  }
  6746  
  6747  // DigitalContentLabelAssignedTargetingOptionDetails: Targeting details for
  6748  // digital content label. This will be populated in the details field of an
  6749  // AssignedTargetingOption when targeting_type is
  6750  // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
  6751  type DigitalContentLabelAssignedTargetingOptionDetails struct {
  6752  	// ExcludedContentRatingTier: Required. The display name of the digital content
  6753  	// label rating tier to be EXCLUDED.
  6754  	//
  6755  	// Possible values:
  6756  	//   "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified in this
  6757  	// version. This enum is a place holder for a default value and does not
  6758  	// represent a real content rating.
  6759  	//   "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled.
  6760  	//   "CONTENT_RATING_TIER_GENERAL" - Content suitable for general audiences.
  6761  	//   "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most
  6762  	// audiences with parental guidance.
  6763  	//   "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older
  6764  	// audiences.
  6765  	//   "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature audiences.
  6766  	//   "CONTENT_RATING_TIER_FAMILIES" - Content suitable for family audiences. It
  6767  	// is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and
  6768  	// Partners line items.
  6769  	ExcludedContentRatingTier string `json:"excludedContentRatingTier,omitempty"`
  6770  	// ForceSendFields is a list of field names (e.g. "ExcludedContentRatingTier")
  6771  	// to unconditionally include in API requests. By default, fields with empty or
  6772  	// default values are omitted from API requests. See
  6773  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6774  	// details.
  6775  	ForceSendFields []string `json:"-"`
  6776  	// NullFields is a list of field names (e.g. "ExcludedContentRatingTier") to
  6777  	// include in API requests with the JSON null value. By default, fields with
  6778  	// empty values are omitted from API requests. See
  6779  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6780  	NullFields []string `json:"-"`
  6781  }
  6782  
  6783  func (s *DigitalContentLabelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6784  	type NoMethod DigitalContentLabelAssignedTargetingOptionDetails
  6785  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6786  }
  6787  
  6788  // DigitalContentLabelTargetingOptionDetails: Represents a targetable digital
  6789  // content label rating tier. This will be populated in the
  6790  // digital_content_label_details field of the TargetingOption when
  6791  // targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
  6792  type DigitalContentLabelTargetingOptionDetails struct {
  6793  	// ContentRatingTier: Output only. An enum for the content label brand safety
  6794  	// tiers.
  6795  	//
  6796  	// Possible values:
  6797  	//   "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified in this
  6798  	// version. This enum is a place holder for a default value and does not
  6799  	// represent a real content rating.
  6800  	//   "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled.
  6801  	//   "CONTENT_RATING_TIER_GENERAL" - Content suitable for general audiences.
  6802  	//   "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most
  6803  	// audiences with parental guidance.
  6804  	//   "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older
  6805  	// audiences.
  6806  	//   "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature audiences.
  6807  	//   "CONTENT_RATING_TIER_FAMILIES" - Content suitable for family audiences. It
  6808  	// is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and
  6809  	// Partners line items.
  6810  	ContentRatingTier string `json:"contentRatingTier,omitempty"`
  6811  	// ForceSendFields is a list of field names (e.g. "ContentRatingTier") to
  6812  	// unconditionally include in API requests. By default, fields with empty or
  6813  	// default values are omitted from API requests. See
  6814  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6815  	// details.
  6816  	ForceSendFields []string `json:"-"`
  6817  	// NullFields is a list of field names (e.g. "ContentRatingTier") to include in
  6818  	// API requests with the JSON null value. By default, fields with empty values
  6819  	// are omitted from API requests. See
  6820  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6821  	NullFields []string `json:"-"`
  6822  }
  6823  
  6824  func (s *DigitalContentLabelTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  6825  	type NoMethod DigitalContentLabelTargetingOptionDetails
  6826  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6827  }
  6828  
  6829  // Dimensions: Dimensions.
  6830  type Dimensions struct {
  6831  	// HeightPixels: The height in pixels.
  6832  	HeightPixels int64 `json:"heightPixels,omitempty"`
  6833  	// WidthPixels: The width in pixels.
  6834  	WidthPixels int64 `json:"widthPixels,omitempty"`
  6835  	// ForceSendFields is a list of field names (e.g. "HeightPixels") to
  6836  	// unconditionally include in API requests. By default, fields with empty or
  6837  	// default values are omitted from API requests. See
  6838  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6839  	// details.
  6840  	ForceSendFields []string `json:"-"`
  6841  	// NullFields is a list of field names (e.g. "HeightPixels") to include in API
  6842  	// requests with the JSON null value. By default, fields with empty values are
  6843  	// omitted from API requests. See
  6844  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6845  	NullFields []string `json:"-"`
  6846  }
  6847  
  6848  func (s *Dimensions) MarshalJSON() ([]byte, error) {
  6849  	type NoMethod Dimensions
  6850  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6851  }
  6852  
  6853  // DisplayVideoSourceAd: The ad sourced from a DV360 creative.
  6854  type DisplayVideoSourceAd struct {
  6855  	// CreativeId: The ID of the source creative.
  6856  	CreativeId int64 `json:"creativeId,omitempty,string"`
  6857  	// ForceSendFields is a list of field names (e.g. "CreativeId") to
  6858  	// unconditionally include in API requests. By default, fields with empty or
  6859  	// default values are omitted from API requests. See
  6860  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6861  	// details.
  6862  	ForceSendFields []string `json:"-"`
  6863  	// NullFields is a list of field names (e.g. "CreativeId") to include in API
  6864  	// requests with the JSON null value. By default, fields with empty values are
  6865  	// omitted from API requests. See
  6866  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6867  	NullFields []string `json:"-"`
  6868  }
  6869  
  6870  func (s *DisplayVideoSourceAd) MarshalJSON() ([]byte, error) {
  6871  	type NoMethod DisplayVideoSourceAd
  6872  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6873  }
  6874  
  6875  // DoubleVerify: Details of DoubleVerify settings.
  6876  type DoubleVerify struct {
  6877  	// AppStarRating: Avoid bidding on apps with the star ratings.
  6878  	AppStarRating *DoubleVerifyAppStarRating `json:"appStarRating,omitempty"`
  6879  	// AvoidedAgeRatings: Avoid bidding on apps with the age rating.
  6880  	//
  6881  	// Possible values:
  6882  	//   "AGE_RATING_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  6883  	// specify any age rating options.
  6884  	//   "APP_AGE_RATE_UNKNOWN" - Apps with unknown age rating.
  6885  	//   "APP_AGE_RATE_4_PLUS" - Apps rated for Everyone (4+).
  6886  	//   "APP_AGE_RATE_9_PLUS" - Apps rated for Everyone (9+).
  6887  	//   "APP_AGE_RATE_12_PLUS" - Apps rated for Teens (12+).
  6888  	//   "APP_AGE_RATE_17_PLUS" - Apps rated for Mature (17+).
  6889  	//   "APP_AGE_RATE_18_PLUS" - Apps rated for Adults Only (18+).
  6890  	AvoidedAgeRatings []string `json:"avoidedAgeRatings,omitempty"`
  6891  	// BrandSafetyCategories: DV Brand Safety Controls.
  6892  	BrandSafetyCategories *DoubleVerifyBrandSafetyCategories `json:"brandSafetyCategories,omitempty"`
  6893  	// CustomSegmentId: The custom segment ID provided by DoubleVerify. The ID must
  6894  	// start with "51" and consist of eight digits. Custom segment ID cannot be
  6895  	// specified along with any of the following fields: * brand_safety_categories
  6896  	// * avoided_age_ratings * app_star_rating * fraud_invalid_traffic
  6897  	CustomSegmentId int64 `json:"customSegmentId,omitempty,string"`
  6898  	// DisplayViewability: Display viewability settings (applicable to display line
  6899  	// items only).
  6900  	DisplayViewability *DoubleVerifyDisplayViewability `json:"displayViewability,omitempty"`
  6901  	// FraudInvalidTraffic: Avoid Sites and Apps with historical Fraud & IVT Rates.
  6902  	FraudInvalidTraffic *DoubleVerifyFraudInvalidTraffic `json:"fraudInvalidTraffic,omitempty"`
  6903  	// VideoViewability: Video viewability settings (applicable to video line items
  6904  	// only).
  6905  	VideoViewability *DoubleVerifyVideoViewability `json:"videoViewability,omitempty"`
  6906  	// ForceSendFields is a list of field names (e.g. "AppStarRating") to
  6907  	// unconditionally include in API requests. By default, fields with empty or
  6908  	// default values are omitted from API requests. See
  6909  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  6910  	// details.
  6911  	ForceSendFields []string `json:"-"`
  6912  	// NullFields is a list of field names (e.g. "AppStarRating") to include in API
  6913  	// requests with the JSON null value. By default, fields with empty values are
  6914  	// omitted from API requests. See
  6915  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6916  	NullFields []string `json:"-"`
  6917  }
  6918  
  6919  func (s *DoubleVerify) MarshalJSON() ([]byte, error) {
  6920  	type NoMethod DoubleVerify
  6921  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6922  }
  6923  
  6924  // DoubleVerifyAppStarRating: Details of DoubleVerify star ratings settings.
  6925  type DoubleVerifyAppStarRating struct {
  6926  	// AvoidInsufficientStarRating: Avoid bidding on apps with insufficient star
  6927  	// ratings.
  6928  	AvoidInsufficientStarRating bool `json:"avoidInsufficientStarRating,omitempty"`
  6929  	// AvoidedStarRating: Avoid bidding on apps with the star ratings.
  6930  	//
  6931  	// Possible values:
  6932  	//   "APP_STAR_RATE_UNSPECIFIED" - This enum is only a placeholder and it
  6933  	// doesn't specify any app star rating options.
  6934  	//   "APP_STAR_RATE_1_POINT_5_LESS" - Official Apps with rating < 1.5 Stars.
  6935  	//   "APP_STAR_RATE_2_LESS" - Official Apps with rating < 2 Stars.
  6936  	//   "APP_STAR_RATE_2_POINT_5_LESS" - Official Apps with rating < 2.5 Stars.
  6937  	//   "APP_STAR_RATE_3_LESS" - Official Apps with rating < 3 Stars.
  6938  	//   "APP_STAR_RATE_3_POINT_5_LESS" - Official Apps with rating < 3.5 Stars.
  6939  	//   "APP_STAR_RATE_4_LESS" - Official Apps with rating < 4 Stars.
  6940  	//   "APP_STAR_RATE_4_POINT_5_LESS" - Official Apps with rating < 4.5 Stars.
  6941  	AvoidedStarRating string `json:"avoidedStarRating,omitempty"`
  6942  	// ForceSendFields is a list of field names (e.g.
  6943  	// "AvoidInsufficientStarRating") to unconditionally include in API requests.
  6944  	// By default, fields with empty or default values are omitted from API
  6945  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  6946  	// for more details.
  6947  	ForceSendFields []string `json:"-"`
  6948  	// NullFields is a list of field names (e.g. "AvoidInsufficientStarRating") to
  6949  	// include in API requests with the JSON null value. By default, fields with
  6950  	// empty values are omitted from API requests. See
  6951  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  6952  	NullFields []string `json:"-"`
  6953  }
  6954  
  6955  func (s *DoubleVerifyAppStarRating) MarshalJSON() ([]byte, error) {
  6956  	type NoMethod DoubleVerifyAppStarRating
  6957  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  6958  }
  6959  
  6960  // DoubleVerifyBrandSafetyCategories: Settings for brand safety controls.
  6961  type DoubleVerifyBrandSafetyCategories struct {
  6962  	// AvoidUnknownBrandSafetyCategory: Unknown or unrateable.
  6963  	AvoidUnknownBrandSafetyCategory bool `json:"avoidUnknownBrandSafetyCategory,omitempty"`
  6964  	// AvoidedHighSeverityCategories: Brand safety high severity avoidance
  6965  	// categories.
  6966  	//
  6967  	// Possible values:
  6968  	//   "HIGHER_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and it
  6969  	// doesn't specify any high severity categories.
  6970  	//   "ADULT_CONTENT_PORNOGRAPHY" - Adult Content: Pornography, Mature Topics &
  6971  	// Nudity.
  6972  	//   "COPYRIGHT_INFRINGEMENT" - Copyright Infringement.
  6973  	//   "SUBSTANCE_ABUSE" - Drugs/Alcohol/Controlled Substances: Substance Abuse.
  6974  	//   "GRAPHIC_VIOLENCE_WEAPONS" - Extreme Graphic/Explicit Violence/Weapons.
  6975  	//   "HATE_PROFANITY" - Hate/Profanity.
  6976  	//   "CRIMINAL_SKILLS" - Illegal Activities: Criminal Skills.
  6977  	//   "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" - Incentivized/Malware/Clutter.
  6978  	AvoidedHighSeverityCategories []string `json:"avoidedHighSeverityCategories,omitempty"`
  6979  	// AvoidedMediumSeverityCategories: Brand safety medium severity avoidance
  6980  	// categories.
  6981  	//
  6982  	// Possible values:
  6983  	//   "MEDIUM_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and it
  6984  	// doesn't specify any medium severity categories.
  6985  	//   "AD_SERVERS" - Ad Servers.
  6986  	//   "ADULT_CONTENT_SWIMSUIT" - Adult Content: Swimsuit.
  6987  	//   "ALTERNATIVE_LIFESTYLES" - Controversial Subjects: Alternative Lifestyles.
  6988  	//   "CELEBRITY_GOSSIP" - Controversial Subjects: Celebrity Gossip.
  6989  	//   "GAMBLING" - Controversial Subjects: Gambling.
  6990  	//   "OCCULT" - Controversial Subjects: Occult.
  6991  	//   "SEX_EDUCATION" - Controversial Subjects: Sex Education.
  6992  	//   "DISASTER_AVIATION" - Disaster: Aviation.
  6993  	//   "DISASTER_MAN_MADE" - Disaster: Man-made.
  6994  	//   "DISASTER_NATURAL" - Disaster: Natural.
  6995  	//   "DISASTER_TERRORIST_EVENTS" - Disaster: Terrorist Events.
  6996  	//   "DISASTER_VEHICLE" - Disaster: Vehicle.
  6997  	//   "ALCOHOL" - Drugs/Alcohol/Controlled Substances: Alcohol.
  6998  	//   "SMOKING" - Drugs/Alcohol/Controlled Substances: Smoking.
  6999  	//   "NEGATIVE_NEWS_FINANCIAL" - Negative News: Financial.
  7000  	//   "NON_ENGLISH" - Non-Std Content: Non-English.
  7001  	//   "PARKING_PAGE" - Non-Std Content: Parking Page.
  7002  	//   "UNMODERATED_UGC" - Unmoderated UGC: Forums, Images & Video.
  7003  	//   "INFLAMMATORY_POLITICS_AND_NEWS" - Controversial Subjects: Inflammatory
  7004  	// Politics and News.
  7005  	//   "NEGATIVE_NEWS_PHARMACEUTICAL" - Negative News: Pharmaceutical.
  7006  	AvoidedMediumSeverityCategories []string `json:"avoidedMediumSeverityCategories,omitempty"`
  7007  	// ForceSendFields is a list of field names (e.g.
  7008  	// "AvoidUnknownBrandSafetyCategory") to unconditionally include in API
  7009  	// requests. By default, fields with empty or default values are omitted from
  7010  	// API requests. See
  7011  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7012  	// details.
  7013  	ForceSendFields []string `json:"-"`
  7014  	// NullFields is a list of field names (e.g. "AvoidUnknownBrandSafetyCategory")
  7015  	// to include in API requests with the JSON null value. By default, fields with
  7016  	// empty values are omitted from API requests. See
  7017  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7018  	NullFields []string `json:"-"`
  7019  }
  7020  
  7021  func (s *DoubleVerifyBrandSafetyCategories) MarshalJSON() ([]byte, error) {
  7022  	type NoMethod DoubleVerifyBrandSafetyCategories
  7023  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7024  }
  7025  
  7026  // DoubleVerifyDisplayViewability: Details of DoubleVerify display viewability
  7027  // settings.
  7028  type DoubleVerifyDisplayViewability struct {
  7029  	// Iab: Target web and app inventory to maximize IAB viewable rate.
  7030  	//
  7031  	// Possible values:
  7032  	//   "IAB_VIEWED_RATE_UNSPECIFIED" - This enum is only a placeholder and it
  7033  	// doesn't specify any IAB viewed rate options.
  7034  	//   "IAB_VIEWED_RATE_80_PERCENT_HIGHER" - Target web and app inventory to
  7035  	// maximize IAB viewable rate 80% or higher.
  7036  	//   "IAB_VIEWED_RATE_75_PERCENT_HIGHER" - Target web and app inventory to
  7037  	// maximize IAB viewable rate 75% or higher.
  7038  	//   "IAB_VIEWED_RATE_70_PERCENT_HIGHER" - Target web and app inventory to
  7039  	// maximize IAB viewable rate 70% or higher.
  7040  	//   "IAB_VIEWED_RATE_65_PERCENT_HIGHER" - Target web and app inventory to
  7041  	// maximize IAB viewable rate 65% or higher.
  7042  	//   "IAB_VIEWED_RATE_60_PERCENT_HIGHER" - Target web and app inventory to
  7043  	// maximize IAB viewable rate 60% or higher.
  7044  	//   "IAB_VIEWED_RATE_55_PERCENT_HIGHER" - Target web and app inventory to
  7045  	// maximize IAB viewable rate 55% or higher.
  7046  	//   "IAB_VIEWED_RATE_50_PERCENT_HIGHER" - Target web and app inventory to
  7047  	// maximize IAB viewable rate 50% or higher.
  7048  	//   "IAB_VIEWED_RATE_40_PERCENT_HIGHER" - Target web and app inventory to
  7049  	// maximize IAB viewable rate 40% or higher.
  7050  	//   "IAB_VIEWED_RATE_30_PERCENT_HIGHER" - Target web and app inventory to
  7051  	// maximize IAB viewable rate 30% or higher.
  7052  	Iab string `json:"iab,omitempty"`
  7053  	// ViewableDuring: Target web and app inventory to maximize 100% viewable
  7054  	// duration.
  7055  	//
  7056  	// Possible values:
  7057  	//   "AVERAGE_VIEW_DURATION_UNSPECIFIED" - This enum is only a placeholder and
  7058  	// it doesn't specify any average view duration options.
  7059  	//   "AVERAGE_VIEW_DURATION_5_SEC" - Target web and app inventory to maximize
  7060  	// 100% viewable duration 5 seconds or more.
  7061  	//   "AVERAGE_VIEW_DURATION_10_SEC" - Target web and app inventory to maximize
  7062  	// 100% viewable duration 10 seconds or more.
  7063  	//   "AVERAGE_VIEW_DURATION_15_SEC" - Target web and app inventory to maximize
  7064  	// 100% viewable duration 15 seconds or more.
  7065  	ViewableDuring string `json:"viewableDuring,omitempty"`
  7066  	// ForceSendFields is a list of field names (e.g. "Iab") to unconditionally
  7067  	// include in API requests. By default, fields with empty or default values are
  7068  	// omitted from API requests. See
  7069  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7070  	// details.
  7071  	ForceSendFields []string `json:"-"`
  7072  	// NullFields is a list of field names (e.g. "Iab") to include in API requests
  7073  	// with the JSON null value. By default, fields with empty values are omitted
  7074  	// from API requests. See
  7075  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7076  	NullFields []string `json:"-"`
  7077  }
  7078  
  7079  func (s *DoubleVerifyDisplayViewability) MarshalJSON() ([]byte, error) {
  7080  	type NoMethod DoubleVerifyDisplayViewability
  7081  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7082  }
  7083  
  7084  // DoubleVerifyFraudInvalidTraffic: DoubleVerify Fraud & Invalid Traffic
  7085  // settings.
  7086  type DoubleVerifyFraudInvalidTraffic struct {
  7087  	// AvoidInsufficientOption: Insufficient Historical Fraud & IVT Stats.
  7088  	AvoidInsufficientOption bool `json:"avoidInsufficientOption,omitempty"`
  7089  	// AvoidedFraudOption: Avoid Sites and Apps with historical Fraud & IVT.
  7090  	//
  7091  	// Possible values:
  7092  	//   "FRAUD_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  7093  	// specify any fraud and invalid traffic options.
  7094  	//   "AD_IMPRESSION_FRAUD_100" - 100% Fraud & IVT.
  7095  	//   "AD_IMPRESSION_FRAUD_50" - 50% or Higher Fraud & IVT.
  7096  	//   "AD_IMPRESSION_FRAUD_25" - 25% or Higher Fraud & IVT.
  7097  	//   "AD_IMPRESSION_FRAUD_10" - 10% or Higher Fraud & IVT.
  7098  	//   "AD_IMPRESSION_FRAUD_8" - 8% or Higher Fraud & IVT.
  7099  	//   "AD_IMPRESSION_FRAUD_6" - 6% or Higher Fraud & IVT.
  7100  	//   "AD_IMPRESSION_FRAUD_4" - 4% or Higher Fraud & IVT.
  7101  	//   "AD_IMPRESSION_FRAUD_2" - 2% or Higher Fraud & IVT.
  7102  	AvoidedFraudOption string `json:"avoidedFraudOption,omitempty"`
  7103  	// ForceSendFields is a list of field names (e.g. "AvoidInsufficientOption") to
  7104  	// unconditionally include in API requests. By default, fields with empty or
  7105  	// default values are omitted from API requests. See
  7106  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7107  	// details.
  7108  	ForceSendFields []string `json:"-"`
  7109  	// NullFields is a list of field names (e.g. "AvoidInsufficientOption") to
  7110  	// include in API requests with the JSON null value. By default, fields with
  7111  	// empty values are omitted from API requests. See
  7112  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7113  	NullFields []string `json:"-"`
  7114  }
  7115  
  7116  func (s *DoubleVerifyFraudInvalidTraffic) MarshalJSON() ([]byte, error) {
  7117  	type NoMethod DoubleVerifyFraudInvalidTraffic
  7118  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7119  }
  7120  
  7121  // DoubleVerifyVideoViewability: Details of DoubleVerify video viewability
  7122  // settings.
  7123  type DoubleVerifyVideoViewability struct {
  7124  	// PlayerImpressionRate: Target inventory to maximize impressions with 400x300
  7125  	// or greater player size.
  7126  	//
  7127  	// Possible values:
  7128  	//   "PLAYER_SIZE_400X300_UNSPECIFIED" - This enum is only a placeholder and it
  7129  	// doesn't specify any impressions options.
  7130  	//   "PLAYER_SIZE_400X300_95" - Sites with 95%+ of impressions.
  7131  	//   "PLAYER_SIZE_400X300_70" - Sites with 70%+ of impressions.
  7132  	//   "PLAYER_SIZE_400X300_25" - Sites with 25%+ of impressions.
  7133  	//   "PLAYER_SIZE_400X300_5" - Sites with 5%+ of impressions.
  7134  	PlayerImpressionRate string `json:"playerImpressionRate,omitempty"`
  7135  	// VideoIab: Target web inventory to maximize IAB viewable rate.
  7136  	//
  7137  	// Possible values:
  7138  	//   "VIDEO_IAB_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  7139  	// specify any video IAB viewable rate options.
  7140  	//   "IAB_VIEWABILITY_80_PERCENT_HIGHER" - Target web and app inventory to
  7141  	// maximize IAB viewable rate 80% or higher.
  7142  	//   "IAB_VIEWABILITY_75_PERCENT_HIGHER" - Target web and app inventory to
  7143  	// maximize IAB viewable rate 75% or higher.
  7144  	//   "IAB_VIEWABILITY_70_PERCENT_HIGHER" - Target web and app inventory to
  7145  	// maximize IAB viewable rate 70% or higher.
  7146  	//   "IAB_VIEWABILITY_65_PERCENT_HIHGER" - Target web and app inventory to
  7147  	// maximize IAB viewable rate 65% or higher.
  7148  	//   "IAB_VIEWABILITY_60_PERCENT_HIGHER" - Target web and app inventory to
  7149  	// maximize IAB viewable rate 60% or higher.
  7150  	//   "IAB_VIEWABILITY_55_PERCENT_HIHGER" - Target web and app inventory to
  7151  	// maximize IAB viewable rate 55% or higher.
  7152  	//   "IAB_VIEWABILITY_50_PERCENT_HIGHER" - Target web and app inventory to
  7153  	// maximize IAB viewable rate 50% or higher.
  7154  	//   "IAB_VIEWABILITY_40_PERCENT_HIHGER" - Target web and app inventory to
  7155  	// maximize IAB viewable rate 40% or higher.
  7156  	//   "IAB_VIEWABILITY_30_PERCENT_HIHGER" - Target web and app inventory to
  7157  	// maximize IAB viewable rate 30% or higher.
  7158  	VideoIab string `json:"videoIab,omitempty"`
  7159  	// VideoViewableRate: Target web inventory to maximize fully viewable rate.
  7160  	//
  7161  	// Possible values:
  7162  	//   "VIDEO_VIEWABLE_RATE_UNSPECIFIED" - This enum is only a placeholder and it
  7163  	// doesn't specify any video viewable rate options.
  7164  	//   "VIEWED_PERFORMANCE_40_PERCENT_HIGHER" - Target web inventory to maximize
  7165  	// fully viewable rate 40% or higher.
  7166  	//   "VIEWED_PERFORMANCE_35_PERCENT_HIGHER" - Target web inventory to maximize
  7167  	// fully viewable rate 35% or higher.
  7168  	//   "VIEWED_PERFORMANCE_30_PERCENT_HIGHER" - Target web inventory to maximize
  7169  	// fully viewable rate 30% or higher.
  7170  	//   "VIEWED_PERFORMANCE_25_PERCENT_HIGHER" - Target web inventory to maximize
  7171  	// fully viewable rate 25% or higher.
  7172  	//   "VIEWED_PERFORMANCE_20_PERCENT_HIGHER" - Target web inventory to maximize
  7173  	// fully viewable rate 20% or higher.
  7174  	//   "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" - Target web inventory to maximize
  7175  	// fully viewable rate 10% or higher.
  7176  	VideoViewableRate string `json:"videoViewableRate,omitempty"`
  7177  	// ForceSendFields is a list of field names (e.g. "PlayerImpressionRate") to
  7178  	// unconditionally include in API requests. By default, fields with empty or
  7179  	// default values are omitted from API requests. See
  7180  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7181  	// details.
  7182  	ForceSendFields []string `json:"-"`
  7183  	// NullFields is a list of field names (e.g. "PlayerImpressionRate") to include
  7184  	// in API requests with the JSON null value. By default, fields with empty
  7185  	// values are omitted from API requests. See
  7186  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7187  	NullFields []string `json:"-"`
  7188  }
  7189  
  7190  func (s *DoubleVerifyVideoViewability) MarshalJSON() ([]byte, error) {
  7191  	type NoMethod DoubleVerifyVideoViewability
  7192  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7193  }
  7194  
  7195  // DuplicateLineItemRequest: Request message for
  7196  // LineItemService.DuplicateLineItem.
  7197  type DuplicateLineItemRequest struct {
  7198  	// TargetDisplayName: The display name of the new line item. Must be UTF-8
  7199  	// encoded with a maximum size of 240 bytes.
  7200  	TargetDisplayName string `json:"targetDisplayName,omitempty"`
  7201  	// ForceSendFields is a list of field names (e.g. "TargetDisplayName") to
  7202  	// unconditionally include in API requests. By default, fields with empty or
  7203  	// default values are omitted from API requests. See
  7204  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7205  	// details.
  7206  	ForceSendFields []string `json:"-"`
  7207  	// NullFields is a list of field names (e.g. "TargetDisplayName") to include in
  7208  	// API requests with the JSON null value. By default, fields with empty values
  7209  	// are omitted from API requests. See
  7210  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7211  	NullFields []string `json:"-"`
  7212  }
  7213  
  7214  func (s *DuplicateLineItemRequest) MarshalJSON() ([]byte, error) {
  7215  	type NoMethod DuplicateLineItemRequest
  7216  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7217  }
  7218  
  7219  type DuplicateLineItemResponse struct {
  7220  	// DuplicateLineItemId: The ID of the created line item.
  7221  	DuplicateLineItemId int64 `json:"duplicateLineItemId,omitempty,string"`
  7222  
  7223  	// ServerResponse contains the HTTP response code and headers from the server.
  7224  	googleapi.ServerResponse `json:"-"`
  7225  	// ForceSendFields is a list of field names (e.g. "DuplicateLineItemId") to
  7226  	// unconditionally include in API requests. By default, fields with empty or
  7227  	// default values are omitted from API requests. See
  7228  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7229  	// details.
  7230  	ForceSendFields []string `json:"-"`
  7231  	// NullFields is a list of field names (e.g. "DuplicateLineItemId") to include
  7232  	// in API requests with the JSON null value. By default, fields with empty
  7233  	// values are omitted from API requests. See
  7234  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7235  	NullFields []string `json:"-"`
  7236  }
  7237  
  7238  func (s *DuplicateLineItemResponse) MarshalJSON() ([]byte, error) {
  7239  	type NoMethod DuplicateLineItemResponse
  7240  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7241  }
  7242  
  7243  // EditCustomerMatchMembersRequest: Request message for
  7244  // FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.
  7245  type EditCustomerMatchMembersRequest struct {
  7246  	// AddedContactInfoList: Input only. A list of contact information to define
  7247  	// the members to be added.
  7248  	AddedContactInfoList *ContactInfoList `json:"addedContactInfoList,omitempty"`
  7249  	// AddedMobileDeviceIdList: Input only. A list of mobile device IDs to define
  7250  	// the members to be added.
  7251  	AddedMobileDeviceIdList *MobileDeviceIdList `json:"addedMobileDeviceIdList,omitempty"`
  7252  	// AdvertiserId: Required. The ID of the owner advertiser of the updated
  7253  	// Customer Match FirstAndThirdPartyAudience.
  7254  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7255  	// RemovedContactInfoList: Input only. A list of contact information to define
  7256  	// the members to be removed.
  7257  	RemovedContactInfoList *ContactInfoList `json:"removedContactInfoList,omitempty"`
  7258  	// RemovedMobileDeviceIdList: Input only. A list of mobile device IDs to define
  7259  	// the members to be removed.
  7260  	RemovedMobileDeviceIdList *MobileDeviceIdList `json:"removedMobileDeviceIdList,omitempty"`
  7261  	// ForceSendFields is a list of field names (e.g. "AddedContactInfoList") to
  7262  	// unconditionally include in API requests. By default, fields with empty or
  7263  	// default values are omitted from API requests. See
  7264  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7265  	// details.
  7266  	ForceSendFields []string `json:"-"`
  7267  	// NullFields is a list of field names (e.g. "AddedContactInfoList") to include
  7268  	// in API requests with the JSON null value. By default, fields with empty
  7269  	// values are omitted from API requests. See
  7270  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7271  	NullFields []string `json:"-"`
  7272  }
  7273  
  7274  func (s *EditCustomerMatchMembersRequest) MarshalJSON() ([]byte, error) {
  7275  	type NoMethod EditCustomerMatchMembersRequest
  7276  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7277  }
  7278  
  7279  // EditCustomerMatchMembersResponse: The response of
  7280  // FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.
  7281  type EditCustomerMatchMembersResponse struct {
  7282  	// FirstAndThirdPartyAudienceId: Required. The ID of the updated Customer Match
  7283  	// FirstAndThirdPartyAudience.
  7284  	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
  7285  
  7286  	// ServerResponse contains the HTTP response code and headers from the server.
  7287  	googleapi.ServerResponse `json:"-"`
  7288  	// ForceSendFields is a list of field names (e.g.
  7289  	// "FirstAndThirdPartyAudienceId") to unconditionally include in API requests.
  7290  	// By default, fields with empty or default values are omitted from API
  7291  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  7292  	// for more details.
  7293  	ForceSendFields []string `json:"-"`
  7294  	// NullFields is a list of field names (e.g. "FirstAndThirdPartyAudienceId") to
  7295  	// include in API requests with the JSON null value. By default, fields with
  7296  	// empty values are omitted from API requests. See
  7297  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7298  	NullFields []string `json:"-"`
  7299  }
  7300  
  7301  func (s *EditCustomerMatchMembersResponse) MarshalJSON() ([]byte, error) {
  7302  	type NoMethod EditCustomerMatchMembersResponse
  7303  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7304  }
  7305  
  7306  // EditGuaranteedOrderReadAccessorsRequest: Request message for
  7307  // GuaranteedOrderService.EditGuaranteedOrderReadAccessors.
  7308  type EditGuaranteedOrderReadAccessorsRequest struct {
  7309  	// AddedAdvertisers: The advertisers to add as read accessors to the guaranteed
  7310  	// order.
  7311  	AddedAdvertisers googleapi.Int64s `json:"addedAdvertisers,omitempty"`
  7312  	// PartnerId: Required. The partner context in which the change is being made.
  7313  	PartnerId int64 `json:"partnerId,omitempty,string"`
  7314  	// ReadAccessInherited: Whether to give all advertisers of the read/write
  7315  	// accessor partner read access to the guaranteed order. Only applicable if
  7316  	// read_write_partner_id is set in the guaranteed order.
  7317  	ReadAccessInherited bool `json:"readAccessInherited,omitempty"`
  7318  	// RemovedAdvertisers: The advertisers to remove as read accessors to the
  7319  	// guaranteed order.
  7320  	RemovedAdvertisers googleapi.Int64s `json:"removedAdvertisers,omitempty"`
  7321  	// ForceSendFields is a list of field names (e.g. "AddedAdvertisers") to
  7322  	// unconditionally include in API requests. By default, fields with empty or
  7323  	// default values are omitted from API requests. See
  7324  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7325  	// details.
  7326  	ForceSendFields []string `json:"-"`
  7327  	// NullFields is a list of field names (e.g. "AddedAdvertisers") to include in
  7328  	// API requests with the JSON null value. By default, fields with empty values
  7329  	// are omitted from API requests. See
  7330  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7331  	NullFields []string `json:"-"`
  7332  }
  7333  
  7334  func (s *EditGuaranteedOrderReadAccessorsRequest) MarshalJSON() ([]byte, error) {
  7335  	type NoMethod EditGuaranteedOrderReadAccessorsRequest
  7336  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7337  }
  7338  
  7339  type EditGuaranteedOrderReadAccessorsResponse struct {
  7340  	// ReadAccessInherited: Whether all advertisers of read_write_partner_id have
  7341  	// read access to the guaranteed order.
  7342  	ReadAccessInherited bool `json:"readAccessInherited,omitempty"`
  7343  	// ReadAdvertiserIds: The IDs of advertisers with read access to the guaranteed
  7344  	// order.
  7345  	ReadAdvertiserIds googleapi.Int64s `json:"readAdvertiserIds,omitempty"`
  7346  
  7347  	// ServerResponse contains the HTTP response code and headers from the server.
  7348  	googleapi.ServerResponse `json:"-"`
  7349  	// ForceSendFields is a list of field names (e.g. "ReadAccessInherited") to
  7350  	// unconditionally include in API requests. By default, fields with empty or
  7351  	// default values are omitted from API requests. See
  7352  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7353  	// details.
  7354  	ForceSendFields []string `json:"-"`
  7355  	// NullFields is a list of field names (e.g. "ReadAccessInherited") to include
  7356  	// in API requests with the JSON null value. By default, fields with empty
  7357  	// values are omitted from API requests. See
  7358  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7359  	NullFields []string `json:"-"`
  7360  }
  7361  
  7362  func (s *EditGuaranteedOrderReadAccessorsResponse) MarshalJSON() ([]byte, error) {
  7363  	type NoMethod EditGuaranteedOrderReadAccessorsResponse
  7364  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7365  }
  7366  
  7367  // EditInventorySourceReadWriteAccessorsRequest: Request message for
  7368  // InventorySourceService.EditInventorySourceReadWriteAccessors.
  7369  type EditInventorySourceReadWriteAccessorsRequest struct {
  7370  	// AdvertisersUpdate: The advertisers to add or remove from the list of
  7371  	// advertisers that have read/write access to the inventory source. This change
  7372  	// will remove an existing partner read/write accessor.
  7373  	AdvertisersUpdate *EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate `json:"advertisersUpdate,omitempty"`
  7374  	// AssignPartner: Set the partner context as read/write accessor of the
  7375  	// inventory source. This will remove all other current read/write advertiser
  7376  	// accessors.
  7377  	AssignPartner bool `json:"assignPartner,omitempty"`
  7378  	// PartnerId: Required. The partner context by which the accessors change is
  7379  	// being made.
  7380  	PartnerId int64 `json:"partnerId,omitempty,string"`
  7381  	// ForceSendFields is a list of field names (e.g. "AdvertisersUpdate") to
  7382  	// unconditionally include in API requests. By default, fields with empty or
  7383  	// default values are omitted from API requests. See
  7384  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7385  	// details.
  7386  	ForceSendFields []string `json:"-"`
  7387  	// NullFields is a list of field names (e.g. "AdvertisersUpdate") to include in
  7388  	// API requests with the JSON null value. By default, fields with empty values
  7389  	// are omitted from API requests. See
  7390  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7391  	NullFields []string `json:"-"`
  7392  }
  7393  
  7394  func (s *EditInventorySourceReadWriteAccessorsRequest) MarshalJSON() ([]byte, error) {
  7395  	type NoMethod EditInventorySourceReadWriteAccessorsRequest
  7396  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7397  }
  7398  
  7399  // EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate: Update to the
  7400  // list of advertisers with read/write access to the inventory source.
  7401  type EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate struct {
  7402  	// AddedAdvertisers: The advertisers to add.
  7403  	AddedAdvertisers googleapi.Int64s `json:"addedAdvertisers,omitempty"`
  7404  	// RemovedAdvertisers: The advertisers to remove.
  7405  	RemovedAdvertisers googleapi.Int64s `json:"removedAdvertisers,omitempty"`
  7406  	// ForceSendFields is a list of field names (e.g. "AddedAdvertisers") to
  7407  	// unconditionally include in API requests. By default, fields with empty or
  7408  	// default values are omitted from API requests. See
  7409  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7410  	// details.
  7411  	ForceSendFields []string `json:"-"`
  7412  	// NullFields is a list of field names (e.g. "AddedAdvertisers") to include in
  7413  	// API requests with the JSON null value. By default, fields with empty values
  7414  	// are omitted from API requests. See
  7415  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7416  	NullFields []string `json:"-"`
  7417  }
  7418  
  7419  func (s *EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate) MarshalJSON() ([]byte, error) {
  7420  	type NoMethod EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate
  7421  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7422  }
  7423  
  7424  // Empty: A generic empty message that you can re-use to avoid defining
  7425  // duplicated empty messages in your APIs. A typical example is to use it as
  7426  // the request or the response type of an API method. For instance: service Foo
  7427  // { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
  7428  type Empty struct {
  7429  	// ServerResponse contains the HTTP response code and headers from the server.
  7430  	googleapi.ServerResponse `json:"-"`
  7431  }
  7432  
  7433  // EnvironmentAssignedTargetingOptionDetails: Assigned environment targeting
  7434  // option details. This will be populated in the details field of an
  7435  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`.
  7436  type EnvironmentAssignedTargetingOptionDetails struct {
  7437  	// Environment: Required. The serving environment.
  7438  	//
  7439  	// Possible values:
  7440  	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
  7441  	// specified in this version. This enum is a placeholder for default value and
  7442  	// does not represent a real environment option.
  7443  	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in browsers. This
  7444  	// includes inventory that was designed for the device it was viewed on, such
  7445  	// as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED,
  7446  	// if targeted, should be deleted prior to the deletion of this targeting
  7447  	// option.
  7448  	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in browsers.
  7449  	// This includes inventory that was not designed for the device but viewed on
  7450  	// it, such as websites optimized for desktop but viewed on a mobile device.
  7451  	// ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this
  7452  	// targeting option.
  7453  	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
  7454  	Environment string `json:"environment,omitempty"`
  7455  	// ForceSendFields is a list of field names (e.g. "Environment") to
  7456  	// unconditionally include in API requests. By default, fields with empty or
  7457  	// default values are omitted from API requests. See
  7458  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7459  	// details.
  7460  	ForceSendFields []string `json:"-"`
  7461  	// NullFields is a list of field names (e.g. "Environment") to include in API
  7462  	// requests with the JSON null value. By default, fields with empty values are
  7463  	// omitted from API requests. See
  7464  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7465  	NullFields []string `json:"-"`
  7466  }
  7467  
  7468  func (s *EnvironmentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  7469  	type NoMethod EnvironmentAssignedTargetingOptionDetails
  7470  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7471  }
  7472  
  7473  // EnvironmentTargetingOptionDetails: Represents a targetable environment. This
  7474  // will be populated in the environment_details field of a TargetingOption when
  7475  // targeting_type is `TARGETING_TYPE_ENVIRONMENT`.
  7476  type EnvironmentTargetingOptionDetails struct {
  7477  	// Environment: Output only. The serving environment.
  7478  	//
  7479  	// Possible values:
  7480  	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
  7481  	// specified in this version. This enum is a placeholder for default value and
  7482  	// does not represent a real environment option.
  7483  	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in browsers. This
  7484  	// includes inventory that was designed for the device it was viewed on, such
  7485  	// as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED,
  7486  	// if targeted, should be deleted prior to the deletion of this targeting
  7487  	// option.
  7488  	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in browsers.
  7489  	// This includes inventory that was not designed for the device but viewed on
  7490  	// it, such as websites optimized for desktop but viewed on a mobile device.
  7491  	// ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this
  7492  	// targeting option.
  7493  	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
  7494  	Environment string `json:"environment,omitempty"`
  7495  	// ForceSendFields is a list of field names (e.g. "Environment") to
  7496  	// unconditionally include in API requests. By default, fields with empty or
  7497  	// default values are omitted from API requests. See
  7498  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7499  	// details.
  7500  	ForceSendFields []string `json:"-"`
  7501  	// NullFields is a list of field names (e.g. "Environment") to include in API
  7502  	// requests with the JSON null value. By default, fields with empty values are
  7503  	// omitted from API requests. See
  7504  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7505  	NullFields []string `json:"-"`
  7506  }
  7507  
  7508  func (s *EnvironmentTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  7509  	type NoMethod EnvironmentTargetingOptionDetails
  7510  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7511  }
  7512  
  7513  // ExchangeAssignedTargetingOptionDetails: Details for assigned exchange
  7514  // targeting option. This will be populated in the details field of an
  7515  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`.
  7516  type ExchangeAssignedTargetingOptionDetails struct {
  7517  	// Exchange: Required. The enum value for the exchange.
  7518  	//
  7519  	// Possible values:
  7520  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  7521  	// version.
  7522  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  7523  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  7524  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  7525  	//   "EXCHANGE_ADFORM" - Adform.
  7526  	//   "EXCHANGE_ADMETA" - Admeta.
  7527  	//   "EXCHANGE_ADMIXER" - Admixer.
  7528  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  7529  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  7530  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  7531  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  7532  	// Yahoo!.
  7533  	//   "EXCHANGE_CADREON" - Cadreon.
  7534  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  7535  	//   "EXCHANGE_FIVE" - Five.
  7536  	//   "EXCHANGE_FLUCT" - Fluct.
  7537  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  7538  	//   "EXCHANGE_GENIEE" - Geniee.
  7539  	//   "EXCHANGE_GUMGUM" - GumGum.
  7540  	//   "EXCHANGE_IMOBILE" - i-mobile.
  7541  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  7542  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  7543  	//   "EXCHANGE_INDEX" - Index Exchange.
  7544  	//   "EXCHANGE_KARGO" - Kargo.
  7545  	//   "EXCHANGE_MICROAD" - MicroAd.
  7546  	//   "EXCHANGE_MOPUB" - MoPub.
  7547  	//   "EXCHANGE_NEND" - Nend.
  7548  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  7549  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  7550  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  7551  	//   "EXCHANGE_OOYALA" - Ooyala.
  7552  	//   "EXCHANGE_OPENX" - OpenX.
  7553  	//   "EXCHANGE_PERMODO" - Permodo.
  7554  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  7555  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  7556  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  7557  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  7558  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  7559  	//   "EXCHANGE_RUBICON" - Rubicon.
  7560  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  7561  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  7562  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  7563  	//   "EXCHANGE_SOVRN" - Sovrn.
  7564  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  7565  	//   "EXCHANGE_STROER" - Ströer SSP.
  7566  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  7567  	//   "EXCHANGE_TELARIA" - Telaria.
  7568  	//   "EXCHANGE_TVN" - TVN.
  7569  	//   "EXCHANGE_UNITED" - United.
  7570  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  7571  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  7572  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  7573  	//   "EXCHANGE_OPEN8" - Open8.
  7574  	//   "EXCHANGE_TRITON" - Triton.
  7575  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  7576  	//   "EXCHANGE_TABOOLA" - Taboola.
  7577  	//   "EXCHANGE_INMOBI" - InMobi.
  7578  	//   "EXCHANGE_SMAATO" - Smaato.
  7579  	//   "EXCHANGE_AJA" - Aja.
  7580  	//   "EXCHANGE_SUPERSHIP" - Supership.
  7581  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  7582  	//   "EXCHANGE_WAZE" - Waze.
  7583  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  7584  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  7585  	//   "EXCHANGE_FYBER" - Fyber.
  7586  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  7587  	//   "EXCHANGE_MEDIANET" - Media.net.
  7588  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  7589  	//   "EXCHANGE_VISTAR" - Vistar.
  7590  	//   "EXCHANGE_DAX" - DAX.
  7591  	//   "EXCHANGE_JCD" - JCD.
  7592  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  7593  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  7594  	//   "EXCHANGE_CONNATIX" - Connatix.
  7595  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  7596  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  7597  	//   "EXCHANGE_DRAX" - Drax.
  7598  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  7599  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  7600  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  7601  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  7602  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  7603  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  7604  	Exchange string `json:"exchange,omitempty"`
  7605  	// ForceSendFields is a list of field names (e.g. "Exchange") to
  7606  	// unconditionally include in API requests. By default, fields with empty or
  7607  	// default values are omitted from API requests. See
  7608  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7609  	// details.
  7610  	ForceSendFields []string `json:"-"`
  7611  	// NullFields is a list of field names (e.g. "Exchange") to include in API
  7612  	// requests with the JSON null value. By default, fields with empty values are
  7613  	// omitted from API requests. See
  7614  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7615  	NullFields []string `json:"-"`
  7616  }
  7617  
  7618  func (s *ExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  7619  	type NoMethod ExchangeAssignedTargetingOptionDetails
  7620  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7621  }
  7622  
  7623  // ExchangeConfig: Settings that control which exchanges are enabled for a
  7624  // partner.
  7625  type ExchangeConfig struct {
  7626  	// EnabledExchanges: All enabled exchanges in the partner. Duplicate enabled
  7627  	// exchanges will be ignored.
  7628  	EnabledExchanges []*ExchangeConfigEnabledExchange `json:"enabledExchanges,omitempty"`
  7629  	// ForceSendFields is a list of field names (e.g. "EnabledExchanges") to
  7630  	// unconditionally include in API requests. By default, fields with empty or
  7631  	// default values are omitted from API requests. See
  7632  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7633  	// details.
  7634  	ForceSendFields []string `json:"-"`
  7635  	// NullFields is a list of field names (e.g. "EnabledExchanges") to include in
  7636  	// API requests with the JSON null value. By default, fields with empty values
  7637  	// are omitted from API requests. See
  7638  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7639  	NullFields []string `json:"-"`
  7640  }
  7641  
  7642  func (s *ExchangeConfig) MarshalJSON() ([]byte, error) {
  7643  	type NoMethod ExchangeConfig
  7644  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7645  }
  7646  
  7647  // ExchangeConfigEnabledExchange: An enabled exchange in the partner.
  7648  type ExchangeConfigEnabledExchange struct {
  7649  	// Exchange: The enabled exchange.
  7650  	//
  7651  	// Possible values:
  7652  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  7653  	// version.
  7654  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  7655  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  7656  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  7657  	//   "EXCHANGE_ADFORM" - Adform.
  7658  	//   "EXCHANGE_ADMETA" - Admeta.
  7659  	//   "EXCHANGE_ADMIXER" - Admixer.
  7660  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  7661  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  7662  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  7663  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  7664  	// Yahoo!.
  7665  	//   "EXCHANGE_CADREON" - Cadreon.
  7666  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  7667  	//   "EXCHANGE_FIVE" - Five.
  7668  	//   "EXCHANGE_FLUCT" - Fluct.
  7669  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  7670  	//   "EXCHANGE_GENIEE" - Geniee.
  7671  	//   "EXCHANGE_GUMGUM" - GumGum.
  7672  	//   "EXCHANGE_IMOBILE" - i-mobile.
  7673  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  7674  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  7675  	//   "EXCHANGE_INDEX" - Index Exchange.
  7676  	//   "EXCHANGE_KARGO" - Kargo.
  7677  	//   "EXCHANGE_MICROAD" - MicroAd.
  7678  	//   "EXCHANGE_MOPUB" - MoPub.
  7679  	//   "EXCHANGE_NEND" - Nend.
  7680  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  7681  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  7682  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  7683  	//   "EXCHANGE_OOYALA" - Ooyala.
  7684  	//   "EXCHANGE_OPENX" - OpenX.
  7685  	//   "EXCHANGE_PERMODO" - Permodo.
  7686  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  7687  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  7688  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  7689  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  7690  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  7691  	//   "EXCHANGE_RUBICON" - Rubicon.
  7692  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  7693  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  7694  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  7695  	//   "EXCHANGE_SOVRN" - Sovrn.
  7696  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  7697  	//   "EXCHANGE_STROER" - Ströer SSP.
  7698  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  7699  	//   "EXCHANGE_TELARIA" - Telaria.
  7700  	//   "EXCHANGE_TVN" - TVN.
  7701  	//   "EXCHANGE_UNITED" - United.
  7702  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  7703  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  7704  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  7705  	//   "EXCHANGE_OPEN8" - Open8.
  7706  	//   "EXCHANGE_TRITON" - Triton.
  7707  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  7708  	//   "EXCHANGE_TABOOLA" - Taboola.
  7709  	//   "EXCHANGE_INMOBI" - InMobi.
  7710  	//   "EXCHANGE_SMAATO" - Smaato.
  7711  	//   "EXCHANGE_AJA" - Aja.
  7712  	//   "EXCHANGE_SUPERSHIP" - Supership.
  7713  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  7714  	//   "EXCHANGE_WAZE" - Waze.
  7715  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  7716  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  7717  	//   "EXCHANGE_FYBER" - Fyber.
  7718  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  7719  	//   "EXCHANGE_MEDIANET" - Media.net.
  7720  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  7721  	//   "EXCHANGE_VISTAR" - Vistar.
  7722  	//   "EXCHANGE_DAX" - DAX.
  7723  	//   "EXCHANGE_JCD" - JCD.
  7724  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  7725  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  7726  	//   "EXCHANGE_CONNATIX" - Connatix.
  7727  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  7728  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  7729  	//   "EXCHANGE_DRAX" - Drax.
  7730  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  7731  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  7732  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  7733  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  7734  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  7735  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  7736  	Exchange string `json:"exchange,omitempty"`
  7737  	// GoogleAdManagerAgencyId: Output only. Agency ID of Google Ad Manager. The
  7738  	// field is only relevant when Google Ad Manager is the enabled exchange.
  7739  	GoogleAdManagerAgencyId string `json:"googleAdManagerAgencyId,omitempty"`
  7740  	// GoogleAdManagerBuyerNetworkId: Output only. Network ID of Google Ad Manager.
  7741  	// The field is only relevant when Google Ad Manager is the enabled exchange.
  7742  	GoogleAdManagerBuyerNetworkId string `json:"googleAdManagerBuyerNetworkId,omitempty"`
  7743  	// SeatId: Output only. Seat ID of the enabled exchange.
  7744  	SeatId string `json:"seatId,omitempty"`
  7745  	// ForceSendFields is a list of field names (e.g. "Exchange") to
  7746  	// unconditionally include in API requests. By default, fields with empty or
  7747  	// default values are omitted from API requests. See
  7748  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7749  	// details.
  7750  	ForceSendFields []string `json:"-"`
  7751  	// NullFields is a list of field names (e.g. "Exchange") to include in API
  7752  	// requests with the JSON null value. By default, fields with empty values are
  7753  	// omitted from API requests. See
  7754  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7755  	NullFields []string `json:"-"`
  7756  }
  7757  
  7758  func (s *ExchangeConfigEnabledExchange) MarshalJSON() ([]byte, error) {
  7759  	type NoMethod ExchangeConfigEnabledExchange
  7760  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7761  }
  7762  
  7763  // ExchangeReviewStatus: Exchange review status for the creative.
  7764  type ExchangeReviewStatus struct {
  7765  	// Exchange: The exchange reviewing the creative.
  7766  	//
  7767  	// Possible values:
  7768  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  7769  	// version.
  7770  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  7771  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  7772  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  7773  	//   "EXCHANGE_ADFORM" - Adform.
  7774  	//   "EXCHANGE_ADMETA" - Admeta.
  7775  	//   "EXCHANGE_ADMIXER" - Admixer.
  7776  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  7777  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  7778  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  7779  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  7780  	// Yahoo!.
  7781  	//   "EXCHANGE_CADREON" - Cadreon.
  7782  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  7783  	//   "EXCHANGE_FIVE" - Five.
  7784  	//   "EXCHANGE_FLUCT" - Fluct.
  7785  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  7786  	//   "EXCHANGE_GENIEE" - Geniee.
  7787  	//   "EXCHANGE_GUMGUM" - GumGum.
  7788  	//   "EXCHANGE_IMOBILE" - i-mobile.
  7789  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  7790  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  7791  	//   "EXCHANGE_INDEX" - Index Exchange.
  7792  	//   "EXCHANGE_KARGO" - Kargo.
  7793  	//   "EXCHANGE_MICROAD" - MicroAd.
  7794  	//   "EXCHANGE_MOPUB" - MoPub.
  7795  	//   "EXCHANGE_NEND" - Nend.
  7796  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  7797  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  7798  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  7799  	//   "EXCHANGE_OOYALA" - Ooyala.
  7800  	//   "EXCHANGE_OPENX" - OpenX.
  7801  	//   "EXCHANGE_PERMODO" - Permodo.
  7802  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  7803  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  7804  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  7805  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  7806  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  7807  	//   "EXCHANGE_RUBICON" - Rubicon.
  7808  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  7809  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  7810  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  7811  	//   "EXCHANGE_SOVRN" - Sovrn.
  7812  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  7813  	//   "EXCHANGE_STROER" - Ströer SSP.
  7814  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  7815  	//   "EXCHANGE_TELARIA" - Telaria.
  7816  	//   "EXCHANGE_TVN" - TVN.
  7817  	//   "EXCHANGE_UNITED" - United.
  7818  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  7819  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  7820  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  7821  	//   "EXCHANGE_OPEN8" - Open8.
  7822  	//   "EXCHANGE_TRITON" - Triton.
  7823  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  7824  	//   "EXCHANGE_TABOOLA" - Taboola.
  7825  	//   "EXCHANGE_INMOBI" - InMobi.
  7826  	//   "EXCHANGE_SMAATO" - Smaato.
  7827  	//   "EXCHANGE_AJA" - Aja.
  7828  	//   "EXCHANGE_SUPERSHIP" - Supership.
  7829  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  7830  	//   "EXCHANGE_WAZE" - Waze.
  7831  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  7832  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  7833  	//   "EXCHANGE_FYBER" - Fyber.
  7834  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  7835  	//   "EXCHANGE_MEDIANET" - Media.net.
  7836  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  7837  	//   "EXCHANGE_VISTAR" - Vistar.
  7838  	//   "EXCHANGE_DAX" - DAX.
  7839  	//   "EXCHANGE_JCD" - JCD.
  7840  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  7841  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  7842  	//   "EXCHANGE_CONNATIX" - Connatix.
  7843  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  7844  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  7845  	//   "EXCHANGE_DRAX" - Drax.
  7846  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  7847  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  7848  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  7849  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  7850  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  7851  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  7852  	Exchange string `json:"exchange,omitempty"`
  7853  	// Status: Status of the exchange review.
  7854  	//
  7855  	// Possible values:
  7856  	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in
  7857  	// this version.
  7858  	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
  7859  	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
  7860  	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
  7861  	Status string `json:"status,omitempty"`
  7862  	// ForceSendFields is a list of field names (e.g. "Exchange") to
  7863  	// unconditionally include in API requests. By default, fields with empty or
  7864  	// default values are omitted from API requests. See
  7865  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7866  	// details.
  7867  	ForceSendFields []string `json:"-"`
  7868  	// NullFields is a list of field names (e.g. "Exchange") to include in API
  7869  	// requests with the JSON null value. By default, fields with empty values are
  7870  	// omitted from API requests. See
  7871  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7872  	NullFields []string `json:"-"`
  7873  }
  7874  
  7875  func (s *ExchangeReviewStatus) MarshalJSON() ([]byte, error) {
  7876  	type NoMethod ExchangeReviewStatus
  7877  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7878  }
  7879  
  7880  // ExchangeTargetingOptionDetails: Represents a targetable exchange. This will
  7881  // be populated in the exchange_details field of a TargetingOption when
  7882  // targeting_type is `TARGETING_TYPE_EXCHANGE`.
  7883  type ExchangeTargetingOptionDetails struct {
  7884  	// Exchange: Output only. The type of exchange.
  7885  	//
  7886  	// Possible values:
  7887  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  7888  	// version.
  7889  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  7890  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  7891  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  7892  	//   "EXCHANGE_ADFORM" - Adform.
  7893  	//   "EXCHANGE_ADMETA" - Admeta.
  7894  	//   "EXCHANGE_ADMIXER" - Admixer.
  7895  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  7896  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  7897  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  7898  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  7899  	// Yahoo!.
  7900  	//   "EXCHANGE_CADREON" - Cadreon.
  7901  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  7902  	//   "EXCHANGE_FIVE" - Five.
  7903  	//   "EXCHANGE_FLUCT" - Fluct.
  7904  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  7905  	//   "EXCHANGE_GENIEE" - Geniee.
  7906  	//   "EXCHANGE_GUMGUM" - GumGum.
  7907  	//   "EXCHANGE_IMOBILE" - i-mobile.
  7908  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  7909  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  7910  	//   "EXCHANGE_INDEX" - Index Exchange.
  7911  	//   "EXCHANGE_KARGO" - Kargo.
  7912  	//   "EXCHANGE_MICROAD" - MicroAd.
  7913  	//   "EXCHANGE_MOPUB" - MoPub.
  7914  	//   "EXCHANGE_NEND" - Nend.
  7915  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  7916  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  7917  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  7918  	//   "EXCHANGE_OOYALA" - Ooyala.
  7919  	//   "EXCHANGE_OPENX" - OpenX.
  7920  	//   "EXCHANGE_PERMODO" - Permodo.
  7921  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  7922  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  7923  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  7924  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  7925  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  7926  	//   "EXCHANGE_RUBICON" - Rubicon.
  7927  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  7928  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  7929  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  7930  	//   "EXCHANGE_SOVRN" - Sovrn.
  7931  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  7932  	//   "EXCHANGE_STROER" - Ströer SSP.
  7933  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  7934  	//   "EXCHANGE_TELARIA" - Telaria.
  7935  	//   "EXCHANGE_TVN" - TVN.
  7936  	//   "EXCHANGE_UNITED" - United.
  7937  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  7938  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  7939  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  7940  	//   "EXCHANGE_OPEN8" - Open8.
  7941  	//   "EXCHANGE_TRITON" - Triton.
  7942  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  7943  	//   "EXCHANGE_TABOOLA" - Taboola.
  7944  	//   "EXCHANGE_INMOBI" - InMobi.
  7945  	//   "EXCHANGE_SMAATO" - Smaato.
  7946  	//   "EXCHANGE_AJA" - Aja.
  7947  	//   "EXCHANGE_SUPERSHIP" - Supership.
  7948  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  7949  	//   "EXCHANGE_WAZE" - Waze.
  7950  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  7951  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  7952  	//   "EXCHANGE_FYBER" - Fyber.
  7953  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  7954  	//   "EXCHANGE_MEDIANET" - Media.net.
  7955  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  7956  	//   "EXCHANGE_VISTAR" - Vistar.
  7957  	//   "EXCHANGE_DAX" - DAX.
  7958  	//   "EXCHANGE_JCD" - JCD.
  7959  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  7960  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  7961  	//   "EXCHANGE_CONNATIX" - Connatix.
  7962  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  7963  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  7964  	//   "EXCHANGE_DRAX" - Drax.
  7965  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  7966  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  7967  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  7968  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  7969  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  7970  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  7971  	Exchange string `json:"exchange,omitempty"`
  7972  	// ForceSendFields is a list of field names (e.g. "Exchange") to
  7973  	// unconditionally include in API requests. By default, fields with empty or
  7974  	// default values are omitted from API requests. See
  7975  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  7976  	// details.
  7977  	ForceSendFields []string `json:"-"`
  7978  	// NullFields is a list of field names (e.g. "Exchange") to include in API
  7979  	// requests with the JSON null value. By default, fields with empty values are
  7980  	// omitted from API requests. See
  7981  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  7982  	NullFields []string `json:"-"`
  7983  }
  7984  
  7985  func (s *ExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  7986  	type NoMethod ExchangeTargetingOptionDetails
  7987  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  7988  }
  7989  
  7990  // ExitEvent: Exit event of the creative.
  7991  type ExitEvent struct {
  7992  	// Name: The name of the click tag of the exit event. The name must be unique
  7993  	// within one creative. Leave it empty or unset for creatives containing image
  7994  	// assets only.
  7995  	Name string `json:"name,omitempty"`
  7996  	// ReportingName: The name used to identify this event in reports. Leave it
  7997  	// empty or unset for creatives containing image assets only.
  7998  	ReportingName string `json:"reportingName,omitempty"`
  7999  	// Type: Required. The type of the exit event.
  8000  	//
  8001  	// Possible values:
  8002  	//   "EXIT_EVENT_TYPE_UNSPECIFIED" - Exit event type is not specified or is
  8003  	// unknown in this version.
  8004  	//   "EXIT_EVENT_TYPE_DEFAULT" - The exit event is the default one.
  8005  	//   "EXIT_EVENT_TYPE_BACKUP" - The exit event is a backup exit event. There
  8006  	// could be multiple backup exit events in a creative.
  8007  	Type string `json:"type,omitempty"`
  8008  	// Url: Required. The click through URL of the exit event. This is required
  8009  	// when type is: * `EXIT_EVENT_TYPE_DEFAULT` * `EXIT_EVENT_TYPE_BACKUP`
  8010  	Url string `json:"url,omitempty"`
  8011  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
  8012  	// include in API requests. By default, fields with empty or default values are
  8013  	// omitted from API requests. See
  8014  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8015  	// details.
  8016  	ForceSendFields []string `json:"-"`
  8017  	// NullFields is a list of field names (e.g. "Name") to include in API requests
  8018  	// with the JSON null value. By default, fields with empty values are omitted
  8019  	// from API requests. See
  8020  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8021  	NullFields []string `json:"-"`
  8022  }
  8023  
  8024  func (s *ExitEvent) MarshalJSON() ([]byte, error) {
  8025  	type NoMethod ExitEvent
  8026  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8027  }
  8028  
  8029  // FirstAndThirdPartyAudience: Describes a first or third party audience list
  8030  // used for targeting. First party audiences are created via usage of client
  8031  // data. Third party audiences are provided by Third Party data providers and
  8032  // can only be licensed to customers.
  8033  type FirstAndThirdPartyAudience struct {
  8034  	// ActiveDisplayAudienceSize: Output only. The estimated audience size for the
  8035  	// Display network in the past month. If the size is less than 1000, the number
  8036  	// will be hidden and 0 will be returned due to privacy reasons. Otherwise, the
  8037  	// number will be rounded off to two significant digits. Only returned in GET
  8038  	// request.
  8039  	ActiveDisplayAudienceSize int64 `json:"activeDisplayAudienceSize,omitempty,string"`
  8040  	// AppId: The app_id matches with the type of the mobile_device_ids being
  8041  	// uploaded. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID`
  8042  	AppId string `json:"appId,omitempty"`
  8043  	// AudienceSource: Output only. The source of the audience.
  8044  	//
  8045  	// Possible values:
  8046  	//   "AUDIENCE_SOURCE_UNSPECIFIED" - Default value when audience source is not
  8047  	// specified or is unknown.
  8048  	//   "DISPLAY_VIDEO_360" - Originated from Display & Video 360.
  8049  	//   "CAMPAIGN_MANAGER" - Originated from Campaign Manager 360.
  8050  	//   "AD_MANAGER" - Originated from Google Ad Manager.
  8051  	//   "SEARCH_ADS_360" - Originated from Search Ads 360.
  8052  	//   "YOUTUBE" - Originated from Youtube.
  8053  	//   "ADS_DATA_HUB" - Originated from Ads Data Hub.
  8054  	AudienceSource string `json:"audienceSource,omitempty"`
  8055  	// AudienceType: The type of the audience.
  8056  	//
  8057  	// Possible values:
  8058  	//   "AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not specified or
  8059  	// is unknown.
  8060  	//   "CUSTOMER_MATCH_CONTACT_INFO" - Audience was generated through matching
  8061  	// customers to known contact information.
  8062  	//   "CUSTOMER_MATCH_DEVICE_ID" - Audience was generated through matching
  8063  	// customers to known Mobile device IDs.
  8064  	//   "CUSTOMER_MATCH_USER_ID" - Audience was generated through matching
  8065  	// customers to known User IDs.
  8066  	//   "ACTIVITY_BASED" - Audience was created based on campaign activity.
  8067  	//   "FREQUENCY_CAP" - Audience was created based on excluding the number of
  8068  	// impressions they were served.
  8069  	//   "TAG_BASED" - Audience was created based on custom variables attached to
  8070  	// pixel.
  8071  	//   "YOUTUBE_USERS" - Audience was created based on past interactions with
  8072  	// videos, YouTube ads, or YouTube channel.
  8073  	//   "LICENSED" - Subtype of third party audience type.
  8074  	AudienceType string `json:"audienceType,omitempty"`
  8075  	// ContactInfoList: Input only. A list of contact information to define the
  8076  	// initial audience members. Only applicable to audience_type
  8077  	// `CUSTOMER_MATCH_CONTACT_INFO`
  8078  	ContactInfoList *ContactInfoList `json:"contactInfoList,omitempty"`
  8079  	// Description: The user-provided description of the audience. Only applicable
  8080  	// to first party audiences.
  8081  	Description string `json:"description,omitempty"`
  8082  	// DisplayAudienceSize: Output only. The estimated audience size for the
  8083  	// Display network. If the size is less than 1000, the number will be hidden
  8084  	// and 0 will be returned due to privacy reasons. Otherwise, the number will be
  8085  	// rounded off to two significant digits. Only returned in GET request.
  8086  	DisplayAudienceSize int64 `json:"displayAudienceSize,omitempty,string"`
  8087  	// DisplayDesktopAudienceSize: Output only. The estimated desktop audience size
  8088  	// in Display network. If the size is less than 1000, the number will be hidden
  8089  	// and 0 will be returned due to privacy reasons. Otherwise, the number will be
  8090  	// rounded off to two significant digits. Only applicable to first party
  8091  	// audiences. Only returned in GET request.
  8092  	DisplayDesktopAudienceSize int64 `json:"displayDesktopAudienceSize,omitempty,string"`
  8093  	// DisplayMobileAppAudienceSize: Output only. The estimated mobile app audience
  8094  	// size in Display network. If the size is less than 1000, the number will be
  8095  	// hidden and 0 will be returned due to privacy reasons. Otherwise, the number
  8096  	// will be rounded off to two significant digits. Only applicable to first
  8097  	// party audiences. Only returned in GET request.
  8098  	DisplayMobileAppAudienceSize int64 `json:"displayMobileAppAudienceSize,omitempty,string"`
  8099  	// DisplayMobileWebAudienceSize: Output only. The estimated mobile web audience
  8100  	// size in Display network. If the size is less than 1000, the number will be
  8101  	// hidden and 0 will be returned due to privacy reasons. Otherwise, the number
  8102  	// will be rounded off to two significant digits. Only applicable to first
  8103  	// party audiences. Only returned in GET request.
  8104  	DisplayMobileWebAudienceSize int64 `json:"displayMobileWebAudienceSize,omitempty,string"`
  8105  	// DisplayName: The display name of the first and third party audience.
  8106  	DisplayName string `json:"displayName,omitempty"`
  8107  	// FirstAndThirdPartyAudienceId: Output only. The unique ID of the first and
  8108  	// third party audience. Assigned by the system.
  8109  	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
  8110  	// FirstAndThirdPartyAudienceType: Whether the audience is a first or third
  8111  	// party audience.
  8112  	//
  8113  	// Possible values:
  8114  	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED" - Default value when
  8115  	// type is not specified or is unknown.
  8116  	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY" - Audience that is
  8117  	// created via usage of client data.
  8118  	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" - Audience that is
  8119  	// provided by Third Party data providers.
  8120  	FirstAndThirdPartyAudienceType string `json:"firstAndThirdPartyAudienceType,omitempty"`
  8121  	// GmailAudienceSize: Output only. The estimated audience size for Gmail
  8122  	// network. If the size is less than 1000, the number will be hidden and 0 will
  8123  	// be returned due to privacy reasons. Otherwise, the number will be rounded
  8124  	// off to two significant digits. Only applicable to first party audiences.
  8125  	// Only returned in GET request.
  8126  	GmailAudienceSize int64 `json:"gmailAudienceSize,omitempty,string"`
  8127  	// MembershipDurationDays: The duration in days that an entry remains in the
  8128  	// audience after the qualifying event. If the audience has no expiration, set
  8129  	// the value of this field to 10000. Otherwise, the set value must be greater
  8130  	// than 0 and less than or equal to 540. Only applicable to first party
  8131  	// audiences. This field is required if one of the following audience_type is
  8132  	// used: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`
  8133  	MembershipDurationDays int64 `json:"membershipDurationDays,omitempty,string"`
  8134  	// MobileDeviceIdList: Input only. A list of mobile device IDs to define the
  8135  	// initial audience members. Only applicable to audience_type
  8136  	// `CUSTOMER_MATCH_DEVICE_ID`
  8137  	MobileDeviceIdList *MobileDeviceIdList `json:"mobileDeviceIdList,omitempty"`
  8138  	// Name: Output only. The resource name of the first and third party audience.
  8139  	Name string `json:"name,omitempty"`
  8140  	// YoutubeAudienceSize: Output only. The estimated audience size for YouTube
  8141  	// network. If the size is less than 1000, the number will be hidden and 0 will
  8142  	// be returned due to privacy reasons. Otherwise, the number will be rounded
  8143  	// off to two significant digits. Only applicable to first party audiences.
  8144  	// Only returned in GET request.
  8145  	YoutubeAudienceSize int64 `json:"youtubeAudienceSize,omitempty,string"`
  8146  
  8147  	// ServerResponse contains the HTTP response code and headers from the server.
  8148  	googleapi.ServerResponse `json:"-"`
  8149  	// ForceSendFields is a list of field names (e.g. "ActiveDisplayAudienceSize")
  8150  	// to unconditionally include in API requests. By default, fields with empty or
  8151  	// default values are omitted from API requests. See
  8152  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8153  	// details.
  8154  	ForceSendFields []string `json:"-"`
  8155  	// NullFields is a list of field names (e.g. "ActiveDisplayAudienceSize") to
  8156  	// include in API requests with the JSON null value. By default, fields with
  8157  	// empty values are omitted from API requests. See
  8158  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8159  	NullFields []string `json:"-"`
  8160  }
  8161  
  8162  func (s *FirstAndThirdPartyAudience) MarshalJSON() ([]byte, error) {
  8163  	type NoMethod FirstAndThirdPartyAudience
  8164  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8165  }
  8166  
  8167  // FirstAndThirdPartyAudienceGroup: Details of first and third party audience
  8168  // group. All first and third party audience targeting settings are logically
  8169  // ‘OR’ of each other.
  8170  type FirstAndThirdPartyAudienceGroup struct {
  8171  	// Settings: Required. All first and third party audience targeting settings in
  8172  	// first and third party audience group. Repeated settings with same id are not
  8173  	// allowed.
  8174  	Settings []*FirstAndThirdPartyAudienceTargetingSetting `json:"settings,omitempty"`
  8175  	// ForceSendFields is a list of field names (e.g. "Settings") to
  8176  	// unconditionally include in API requests. By default, fields with empty or
  8177  	// default values are omitted from API requests. See
  8178  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8179  	// details.
  8180  	ForceSendFields []string `json:"-"`
  8181  	// NullFields is a list of field names (e.g. "Settings") to include in API
  8182  	// requests with the JSON null value. By default, fields with empty values are
  8183  	// omitted from API requests. See
  8184  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8185  	NullFields []string `json:"-"`
  8186  }
  8187  
  8188  func (s *FirstAndThirdPartyAudienceGroup) MarshalJSON() ([]byte, error) {
  8189  	type NoMethod FirstAndThirdPartyAudienceGroup
  8190  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8191  }
  8192  
  8193  // FirstAndThirdPartyAudienceTargetingSetting: Details of first and third party
  8194  // audience targeting setting.
  8195  type FirstAndThirdPartyAudienceTargetingSetting struct {
  8196  	// FirstAndThirdPartyAudienceId: Required. First and third party audience id of
  8197  	// the first and third party audience targeting setting. This id is
  8198  	// first_and_third_party_audience_id.
  8199  	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
  8200  	// Recency: The recency of the first and third party audience targeting
  8201  	// setting. Only applicable to first party audiences, otherwise will be
  8202  	// ignored. For more info, refer to
  8203  	// https://support.google.com/displayvideo/answer/2949947#recency When
  8204  	// unspecified, no recency limit will be used.
  8205  	//
  8206  	// Possible values:
  8207  	//   "RECENCY_NO_LIMIT" - No limit of recency.
  8208  	//   "RECENCY_1_MINUTE" - Recency is 1 minute.
  8209  	//   "RECENCY_5_MINUTES" - Recency is 5 minutes.
  8210  	//   "RECENCY_10_MINUTES" - Recency is 10 minutes.
  8211  	//   "RECENCY_15_MINUTES" - Recency is 15 minutes.
  8212  	//   "RECENCY_30_MINUTES" - Recency is 30 minutes.
  8213  	//   "RECENCY_1_HOUR" - Recency is 1 hour.
  8214  	//   "RECENCY_2_HOURS" - Recency is 2 hours.
  8215  	//   "RECENCY_3_HOURS" - Recency is 3 hours.
  8216  	//   "RECENCY_6_HOURS" - Recency is 6 hours.
  8217  	//   "RECENCY_12_HOURS" - Recency is 12 hours.
  8218  	//   "RECENCY_1_DAY" - Recency is 1 day.
  8219  	//   "RECENCY_2_DAYS" - Recency is 2 days.
  8220  	//   "RECENCY_3_DAYS" - Recency is 3 days.
  8221  	//   "RECENCY_5_DAYS" - Recency is 5 days.
  8222  	//   "RECENCY_7_DAYS" - Recency is 7 days.
  8223  	//   "RECENCY_10_DAYS" - Recency is 10 days.
  8224  	//   "RECENCY_14_DAYS" - Recency is 14 days.
  8225  	//   "RECENCY_15_DAYS" - Recency is 15 days.
  8226  	//   "RECENCY_21_DAYS" - Recency is 21 days.
  8227  	//   "RECENCY_28_DAYS" - Recency is 28 days.
  8228  	//   "RECENCY_30_DAYS" - Recency is 30 days.
  8229  	//   "RECENCY_40_DAYS" - Recency is 40 days.
  8230  	//   "RECENCY_45_DAYS" - Recency is 45 days.
  8231  	//   "RECENCY_60_DAYS" - Recency is 60 days.
  8232  	//   "RECENCY_90_DAYS" - Recency is 90 days.
  8233  	//   "RECENCY_120_DAYS" - Recency is 120 days.
  8234  	//   "RECENCY_180_DAYS" - Recency is 180 days.
  8235  	//   "RECENCY_270_DAYS" - Recency is 270 days.
  8236  	//   "RECENCY_365_DAYS" - Recency is 365 days.
  8237  	Recency string `json:"recency,omitempty"`
  8238  	// ForceSendFields is a list of field names (e.g.
  8239  	// "FirstAndThirdPartyAudienceId") to unconditionally include in API requests.
  8240  	// By default, fields with empty or default values are omitted from API
  8241  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
  8242  	// for more details.
  8243  	ForceSendFields []string `json:"-"`
  8244  	// NullFields is a list of field names (e.g. "FirstAndThirdPartyAudienceId") to
  8245  	// include in API requests with the JSON null value. By default, fields with
  8246  	// empty values are omitted from API requests. See
  8247  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8248  	NullFields []string `json:"-"`
  8249  }
  8250  
  8251  func (s *FirstAndThirdPartyAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
  8252  	type NoMethod FirstAndThirdPartyAudienceTargetingSetting
  8253  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8254  }
  8255  
  8256  // FixedBidStrategy: A strategy that uses a fixed bidding price.
  8257  type FixedBidStrategy struct {
  8258  	// BidAmountMicros: The fixed bid amount, in micros of the advertiser's
  8259  	// currency. For insertion order entity, bid_amount_micros should be set as 0.
  8260  	// For line item entity, bid_amount_micros must be greater than or equal to
  8261  	// billable unit of the given currency and smaller than or equal to the upper
  8262  	// limit 1000000000. For example, 1500000 represents 1.5 standard units of the
  8263  	// currency.
  8264  	BidAmountMicros int64 `json:"bidAmountMicros,omitempty,string"`
  8265  	// ForceSendFields is a list of field names (e.g. "BidAmountMicros") to
  8266  	// unconditionally include in API requests. By default, fields with empty or
  8267  	// default values are omitted from API requests. See
  8268  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8269  	// details.
  8270  	ForceSendFields []string `json:"-"`
  8271  	// NullFields is a list of field names (e.g. "BidAmountMicros") to include in
  8272  	// API requests with the JSON null value. By default, fields with empty values
  8273  	// are omitted from API requests. See
  8274  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8275  	NullFields []string `json:"-"`
  8276  }
  8277  
  8278  func (s *FixedBidStrategy) MarshalJSON() ([]byte, error) {
  8279  	type NoMethod FixedBidStrategy
  8280  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8281  }
  8282  
  8283  // FloodlightActivity: A single Floodlight activity.
  8284  type FloodlightActivity struct {
  8285  	// AdvertiserIds: Output only. IDs of the advertisers that have access to the
  8286  	// parent Floodlight group. Only advertisers under the provided partner ID will
  8287  	// be listed in this field.
  8288  	AdvertiserIds googleapi.Int64s `json:"advertiserIds,omitempty"`
  8289  	// DisplayName: Required. The display name of the Floodlight activity.
  8290  	DisplayName string `json:"displayName,omitempty"`
  8291  	// FloodlightActivityId: Output only. The unique ID of the Floodlight activity.
  8292  	// Assigned by the system.
  8293  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  8294  	// FloodlightGroupId: Required. Immutable. The ID of the parent Floodlight
  8295  	// group.
  8296  	FloodlightGroupId int64 `json:"floodlightGroupId,omitempty,string"`
  8297  	// Name: Output only. The resource name of the Floodlight activity.
  8298  	Name string `json:"name,omitempty"`
  8299  	// RemarketingConfigs: Output only. A list of configuration objects designating
  8300  	// whether remarketing for this Floodlight Activity is enabled and available
  8301  	// for a specifc advertiser. If enabled, this Floodlight Activity generates a
  8302  	// remarketing user list that is able to be used in targeting under the
  8303  	// advertiser.
  8304  	RemarketingConfigs []*RemarketingConfig `json:"remarketingConfigs,omitempty"`
  8305  	// ServingStatus: Optional. Whether the Floodlight activity is served.
  8306  	//
  8307  	// Possible values:
  8308  	//   "FLOODLIGHT_ACTIVITY_SERVING_STATUS_UNSPECIFIED" - Type value is not
  8309  	// specified or is unknown in this version.
  8310  	//   "FLOODLIGHT_ACTIVITY_SERVING_STATUS_ENABLED" - Enabled.
  8311  	//   "FLOODLIGHT_ACTIVITY_SERVING_STATUS_DISABLED" - Disabled.
  8312  	ServingStatus string `json:"servingStatus,omitempty"`
  8313  	// SslRequired: Output only. Whether tags are required to be compliant.
  8314  	SslRequired bool `json:"sslRequired,omitempty"`
  8315  
  8316  	// ServerResponse contains the HTTP response code and headers from the server.
  8317  	googleapi.ServerResponse `json:"-"`
  8318  	// ForceSendFields is a list of field names (e.g. "AdvertiserIds") to
  8319  	// unconditionally include in API requests. By default, fields with empty or
  8320  	// default values are omitted from API requests. See
  8321  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8322  	// details.
  8323  	ForceSendFields []string `json:"-"`
  8324  	// NullFields is a list of field names (e.g. "AdvertiserIds") to include in API
  8325  	// requests with the JSON null value. By default, fields with empty values are
  8326  	// omitted from API requests. See
  8327  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8328  	NullFields []string `json:"-"`
  8329  }
  8330  
  8331  func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
  8332  	type NoMethod FloodlightActivity
  8333  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8334  }
  8335  
  8336  // FloodlightGroup: A single Floodlight group.
  8337  type FloodlightGroup struct {
  8338  	// ActiveViewConfig: The Active View video viewability metric configuration for
  8339  	// the Floodlight group.
  8340  	ActiveViewConfig *ActiveViewVideoViewabilityMetricConfig `json:"activeViewConfig,omitempty"`
  8341  	// CustomVariables: User-defined custom variables owned by the Floodlight
  8342  	// group. Use custom Floodlight variables to create reporting data that is
  8343  	// tailored to your unique business needs. Custom Floodlight variables use the
  8344  	// keys `U1=`, `U2=`, and so on, and can take any values that you choose to
  8345  	// pass to them. You can use them to track virtually any type of data that you
  8346  	// collect about your customers, such as the genre of movie that a customer
  8347  	// purchases, the country to which the item is shipped, and so on. Custom
  8348  	// Floodlight variables may not be used to pass any data that could be used or
  8349  	// recognized as personally identifiable information (PII). Example:
  8350  	// `custom_variables { fields { "U1": value { number_value: 123.4 }, "U2":
  8351  	// value { string_value: "MyVariable2" }, "U3": value { string_value:
  8352  	// "MyVariable3" } } }` Acceptable values for keys are "U1" through "U100",
  8353  	// inclusive. String values must be less than 64 characters long, and cannot
  8354  	// contain the following characters: "<>`.
  8355  	CustomVariables googleapi.RawMessage `json:"customVariables,omitempty"`
  8356  	// DisplayName: Required. The display name of the Floodlight group.
  8357  	DisplayName string `json:"displayName,omitempty"`
  8358  	// FloodlightGroupId: Output only. The unique ID of the Floodlight group.
  8359  	// Assigned by the system.
  8360  	FloodlightGroupId int64 `json:"floodlightGroupId,omitempty,string"`
  8361  	// LookbackWindow: Required. The lookback window for the Floodlight group. Both
  8362  	// click_days and impression_days are required. Acceptable values for both are
  8363  	// `0` to `90`, inclusive.
  8364  	LookbackWindow *LookbackWindow `json:"lookbackWindow,omitempty"`
  8365  	// Name: Output only. The resource name of the Floodlight group.
  8366  	Name string `json:"name,omitempty"`
  8367  	// WebTagType: Required. The web tag type enabled for the Floodlight group.
  8368  	//
  8369  	// Possible values:
  8370  	//   "WEB_TAG_TYPE_UNSPECIFIED" - Type value is not specified or is unknown in
  8371  	// this version.
  8372  	//   "WEB_TAG_TYPE_NONE" - No tag type.
  8373  	//   "WEB_TAG_TYPE_IMAGE" - Image tag.
  8374  	//   "WEB_TAG_TYPE_DYNAMIC" - Dynamic tag.
  8375  	WebTagType string `json:"webTagType,omitempty"`
  8376  
  8377  	// ServerResponse contains the HTTP response code and headers from the server.
  8378  	googleapi.ServerResponse `json:"-"`
  8379  	// ForceSendFields is a list of field names (e.g. "ActiveViewConfig") to
  8380  	// unconditionally include in API requests. By default, fields with empty or
  8381  	// default values are omitted from API requests. See
  8382  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8383  	// details.
  8384  	ForceSendFields []string `json:"-"`
  8385  	// NullFields is a list of field names (e.g. "ActiveViewConfig") to include in
  8386  	// API requests with the JSON null value. By default, fields with empty values
  8387  	// are omitted from API requests. See
  8388  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8389  	NullFields []string `json:"-"`
  8390  }
  8391  
  8392  func (s *FloodlightGroup) MarshalJSON() ([]byte, error) {
  8393  	type NoMethod FloodlightGroup
  8394  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8395  }
  8396  
  8397  // FrequencyCap: Settings that control the number of times a user may be shown
  8398  // with the same ad during a given time period.
  8399  type FrequencyCap struct {
  8400  	// MaxImpressions: The maximum number of times a user may be shown the same ad
  8401  	// during this period. Must be greater than 0. Required when unlimited is
  8402  	// `false` and max_views is not set.
  8403  	MaxImpressions int64 `json:"maxImpressions,omitempty"`
  8404  	// MaxViews: Optional. The maximum number of times a user may click-through or
  8405  	// fully view an ad during this period until it is no longer served to them.
  8406  	// Must be greater than 0. Only applicable to YouTube and Partners resources.
  8407  	// Required when unlimited is `false` and max_impressions is not set.
  8408  	MaxViews int64 `json:"maxViews,omitempty"`
  8409  	// TimeUnit: The time unit in which the frequency cap will be applied. Required
  8410  	// when unlimited is `false`.
  8411  	//
  8412  	// Possible values:
  8413  	//   "TIME_UNIT_UNSPECIFIED" - Time unit value is not specified or is unknown
  8414  	// in this version.
  8415  	//   "TIME_UNIT_LIFETIME" - The frequency cap will be applied to the whole life
  8416  	// time of the line item.
  8417  	//   "TIME_UNIT_MONTHS" - The frequency cap will be applied to a number of
  8418  	// months.
  8419  	//   "TIME_UNIT_WEEKS" - The frequency cap will be applied to a number of
  8420  	// weeks.
  8421  	//   "TIME_UNIT_DAYS" - The frequency cap will be applied to a number of days.
  8422  	//   "TIME_UNIT_HOURS" - The frequency cap will be applied to a number of
  8423  	// hours.
  8424  	//   "TIME_UNIT_MINUTES" - The frequency cap will be applied to a number of
  8425  	// minutes.
  8426  	TimeUnit string `json:"timeUnit,omitempty"`
  8427  	// TimeUnitCount: The number of time_unit the frequency cap will last. Required
  8428  	// when unlimited is `false`. The following restrictions apply based on the
  8429  	// value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and
  8430  	// will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 *
  8431  	// `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be
  8432  	// between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 *
  8433  	// `TIME_UNIT_MINUTES` - must be between 1 and 59
  8434  	TimeUnitCount int64 `json:"timeUnitCount,omitempty"`
  8435  	// Unlimited: Whether unlimited frequency capping is applied. When this field
  8436  	// is set to `true`, the remaining frequency cap fields are not applicable.
  8437  	Unlimited bool `json:"unlimited,omitempty"`
  8438  	// ForceSendFields is a list of field names (e.g. "MaxImpressions") to
  8439  	// unconditionally include in API requests. By default, fields with empty or
  8440  	// default values are omitted from API requests. See
  8441  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8442  	// details.
  8443  	ForceSendFields []string `json:"-"`
  8444  	// NullFields is a list of field names (e.g. "MaxImpressions") to include in
  8445  	// API requests with the JSON null value. By default, fields with empty values
  8446  	// are omitted from API requests. See
  8447  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8448  	NullFields []string `json:"-"`
  8449  }
  8450  
  8451  func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
  8452  	type NoMethod FrequencyCap
  8453  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8454  }
  8455  
  8456  // GenderAssignedTargetingOptionDetails: Details for assigned gender targeting
  8457  // option. This will be populated in the details field of an
  8458  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.
  8459  type GenderAssignedTargetingOptionDetails struct {
  8460  	// Gender: Required. The gender of the audience.
  8461  	//
  8462  	// Possible values:
  8463  	//   "GENDER_UNSPECIFIED" - Default value when gender is not specified in this
  8464  	// version. This enum is a place holder for default value and does not
  8465  	// represent a real gender option.
  8466  	//   "GENDER_MALE" - The audience gender is male.
  8467  	//   "GENDER_FEMALE" - The audience gender is female.
  8468  	//   "GENDER_UNKNOWN" - The audience gender is unknown.
  8469  	Gender string `json:"gender,omitempty"`
  8470  	// ForceSendFields is a list of field names (e.g. "Gender") to unconditionally
  8471  	// include in API requests. By default, fields with empty or default values are
  8472  	// omitted from API requests. See
  8473  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8474  	// details.
  8475  	ForceSendFields []string `json:"-"`
  8476  	// NullFields is a list of field names (e.g. "Gender") to include in API
  8477  	// requests with the JSON null value. By default, fields with empty values are
  8478  	// omitted from API requests. See
  8479  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8480  	NullFields []string `json:"-"`
  8481  }
  8482  
  8483  func (s *GenderAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  8484  	type NoMethod GenderAssignedTargetingOptionDetails
  8485  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8486  }
  8487  
  8488  // GenderTargetingOptionDetails: Represents a targetable gender. This will be
  8489  // populated in the gender_details field of a TargetingOption when
  8490  // targeting_type is `TARGETING_TYPE_GENDER`.
  8491  type GenderTargetingOptionDetails struct {
  8492  	// Gender: Output only. The gender of an audience.
  8493  	//
  8494  	// Possible values:
  8495  	//   "GENDER_UNSPECIFIED" - Default value when gender is not specified in this
  8496  	// version. This enum is a place holder for default value and does not
  8497  	// represent a real gender option.
  8498  	//   "GENDER_MALE" - The audience gender is male.
  8499  	//   "GENDER_FEMALE" - The audience gender is female.
  8500  	//   "GENDER_UNKNOWN" - The audience gender is unknown.
  8501  	Gender string `json:"gender,omitempty"`
  8502  	// ForceSendFields is a list of field names (e.g. "Gender") to unconditionally
  8503  	// include in API requests. By default, fields with empty or default values are
  8504  	// omitted from API requests. See
  8505  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8506  	// details.
  8507  	ForceSendFields []string `json:"-"`
  8508  	// NullFields is a list of field names (e.g. "Gender") to include in API
  8509  	// requests with the JSON null value. By default, fields with empty values are
  8510  	// omitted from API requests. See
  8511  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8512  	NullFields []string `json:"-"`
  8513  }
  8514  
  8515  func (s *GenderTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  8516  	type NoMethod GenderTargetingOptionDetails
  8517  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8518  }
  8519  
  8520  // GenerateDefaultLineItemRequest: Request message for
  8521  // LineItemService.GenerateDefaultLineItem.
  8522  type GenerateDefaultLineItemRequest struct {
  8523  	// DisplayName: Required. The display name of the line item. Must be UTF-8
  8524  	// encoded with a maximum size of 240 bytes.
  8525  	DisplayName string `json:"displayName,omitempty"`
  8526  	// InsertionOrderId: Required. The unique ID of the insertion order that the
  8527  	// line item belongs to.
  8528  	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
  8529  	// LineItemType: Required. The type of the line item.
  8530  	//
  8531  	// Possible values:
  8532  	//   "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is unknown
  8533  	// in this version. Line items of this type and their targeting cannot be
  8534  	// created or updated using the API.
  8535  	//   "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich media
  8536  	// ads.
  8537  	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that drive
  8538  	// installs of an app.
  8539  	//   "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for a
  8540  	// variety of environments.
  8541  	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive installs
  8542  	// of an app.
  8543  	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served on
  8544  	// mobile app inventory. Line items of this type and their targeting cannot be
  8545  	// created or updated using the API.
  8546  	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on mobile
  8547  	// app inventory. Line items of this type and their targeting cannot be created
  8548  	// or updated using the API.
  8549  	//   "LINE_ITEM_TYPE_AUDIO_DEFAULT" - RTB Audio ads sold for a variety of
  8550  	// environments.
  8551  	//   "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over-the-top ads present in OTT
  8552  	// insertion orders. This type is only applicable to line items with an
  8553  	// insertion order of insertion_order_type `OVER_THE_TOP`.
  8554  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION" - YouTube video ads that
  8555  	// promote conversions. Line items of this type and their targeting cannot be
  8556  	// created or updated using the API.
  8557  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE" - YouTube video ads
  8558  	// (up to 15 seconds) that cannot be skipped. Line items of this type and their
  8559  	// targeting cannot be created or updated using the API.
  8560  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE" - YouTube video ads
  8561  	// that show a story in a particular sequence using a mix of formats. Line
  8562  	// items of this type and their targeting cannot be created or updated using
  8563  	// the API.
  8564  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO" - YouTube audio ads. Line
  8565  	// items of this type and their targeting cannot be created or updated using
  8566  	// the API.
  8567  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH" - YouTube video ads that
  8568  	// optimize reaching more unique users at lower cost. May include bumper ads,
  8569  	// skippable in-stream ads, or a mix of types. Line items of this type and
  8570  	// their targeting cannot be created or updated using the API.
  8571  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE" - Default YouTube video ads.
  8572  	// Line items of this type and their targeting cannot be created or updated
  8573  	// using the API.
  8574  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP" -
  8575  	// Connected TV youTube video ads (up to 15 seconds) that cannot be skipped.
  8576  	// Line items of this type and their targeting cannot be created or updated
  8577  	// using the API.
  8578  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP" - Connected TV
  8579  	// youTube video ads that optimize reaching more unique users at lower cost.
  8580  	// May include bumper ads, skippable in-stream ads, or a mix of types. Line
  8581  	// items of this type and their targeting cannot be created or updated using
  8582  	// the API.
  8583  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP" - Connected TV
  8584  	// default YouTube video ads. Only include in-stream ad-format. Line items of
  8585  	// this type and their targeting cannot be created or updated using the API.
  8586  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY" - The goal of this
  8587  	// line item type is to show the YouTube ads target number of times to the same
  8588  	// person in a certain period of time. Line items of this type and their
  8589  	// targeting cannot be created or updated using the API.
  8590  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW" - YouTube video ads that aim to
  8591  	// get more views with a variety of ad formats. Line items of this type and
  8592  	// their targeting cannot be created or updated using the API.
  8593  	//   "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME" - Display ads served on
  8594  	// digital-out-of-home inventory. Line items of this type and their targeting
  8595  	// cannot be created or updated using the API.
  8596  	//   "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" - Video ads served on
  8597  	// digital-out-of-home inventory. Line items of this type and their targeting
  8598  	// cannot be created or updated using the API.
  8599  	LineItemType string `json:"lineItemType,omitempty"`
  8600  	// MobileApp: The mobile app promoted by the line item. This is applicable only
  8601  	// when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or
  8602  	// `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`.
  8603  	MobileApp *MobileApp `json:"mobileApp,omitempty"`
  8604  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  8605  	// unconditionally include in API requests. By default, fields with empty or
  8606  	// default values are omitted from API requests. See
  8607  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8608  	// details.
  8609  	ForceSendFields []string `json:"-"`
  8610  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  8611  	// requests with the JSON null value. By default, fields with empty values are
  8612  	// omitted from API requests. See
  8613  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8614  	NullFields []string `json:"-"`
  8615  }
  8616  
  8617  func (s *GenerateDefaultLineItemRequest) MarshalJSON() ([]byte, error) {
  8618  	type NoMethod GenerateDefaultLineItemRequest
  8619  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8620  }
  8621  
  8622  // GeoRegionAssignedTargetingOptionDetails: Details for assigned geographic
  8623  // region targeting option. This will be populated in the details field of an
  8624  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GEO_REGION`.
  8625  type GeoRegionAssignedTargetingOptionDetails struct {
  8626  	// DisplayName: Output only. The display name of the geographic region (e.g.,
  8627  	// "Ontario, Canada").
  8628  	DisplayName string `json:"displayName,omitempty"`
  8629  	// GeoRegionType: Output only. The type of geographic region targeting.
  8630  	//
  8631  	// Possible values:
  8632  	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
  8633  	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
  8634  	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
  8635  	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
  8636  	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
  8637  	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
  8638  	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
  8639  	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a prefecture.
  8640  	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a governorate.
  8641  	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
  8642  	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a union
  8643  	// territory.
  8644  	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is an
  8645  	// autonomous community.
  8646  	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a designated
  8647  	// market area (DMA) region.
  8648  	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
  8649  	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is a
  8650  	// congressional district.
  8651  	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
  8652  	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a municipality.
  8653  	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
  8654  	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting type is
  8655  	// postal code.
  8656  	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type is
  8657  	// department.
  8658  	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
  8659  	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
  8660  	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
  8661  	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
  8662  	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city region.
  8663  	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
  8664  	// arrondissement.
  8665  	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a neighborhood.
  8666  	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a university.
  8667  	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
  8668  	GeoRegionType string `json:"geoRegionType,omitempty"`
  8669  	// Negative: Indicates if this option is being negatively targeted.
  8670  	Negative bool `json:"negative,omitempty"`
  8671  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
  8672  	// type `TARGETING_TYPE_GEO_REGION`.
  8673  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
  8674  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  8675  	// unconditionally include in API requests. By default, fields with empty or
  8676  	// default values are omitted from API requests. See
  8677  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8678  	// details.
  8679  	ForceSendFields []string `json:"-"`
  8680  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  8681  	// requests with the JSON null value. By default, fields with empty values are
  8682  	// omitted from API requests. See
  8683  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8684  	NullFields []string `json:"-"`
  8685  }
  8686  
  8687  func (s *GeoRegionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  8688  	type NoMethod GeoRegionAssignedTargetingOptionDetails
  8689  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8690  }
  8691  
  8692  // GeoRegionSearchTerms: Search terms for geo region targeting options.
  8693  type GeoRegionSearchTerms struct {
  8694  	// GeoRegionQuery: The search query for the desired geo region. The query can
  8695  	// be a prefix, e.g. "New Yor", "Seattle", "USA", etc.
  8696  	GeoRegionQuery string `json:"geoRegionQuery,omitempty"`
  8697  	// ForceSendFields is a list of field names (e.g. "GeoRegionQuery") to
  8698  	// unconditionally include in API requests. By default, fields with empty or
  8699  	// default values are omitted from API requests. See
  8700  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8701  	// details.
  8702  	ForceSendFields []string `json:"-"`
  8703  	// NullFields is a list of field names (e.g. "GeoRegionQuery") to include in
  8704  	// API requests with the JSON null value. By default, fields with empty values
  8705  	// are omitted from API requests. See
  8706  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8707  	NullFields []string `json:"-"`
  8708  }
  8709  
  8710  func (s *GeoRegionSearchTerms) MarshalJSON() ([]byte, error) {
  8711  	type NoMethod GeoRegionSearchTerms
  8712  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8713  }
  8714  
  8715  // GeoRegionTargetingOptionDetails: Represents a targetable geographic region.
  8716  // This will be populated in the geo_region_details field when targeting_type
  8717  // is `TARGETING_TYPE_GEO_REGION`.
  8718  type GeoRegionTargetingOptionDetails struct {
  8719  	// DisplayName: Output only. The display name of the geographic region (e.g.,
  8720  	// "Ontario, Canada").
  8721  	DisplayName string `json:"displayName,omitempty"`
  8722  	// GeoRegionType: Output only. The type of geographic region targeting.
  8723  	//
  8724  	// Possible values:
  8725  	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
  8726  	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
  8727  	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
  8728  	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
  8729  	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
  8730  	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
  8731  	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
  8732  	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a prefecture.
  8733  	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a governorate.
  8734  	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
  8735  	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a union
  8736  	// territory.
  8737  	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is an
  8738  	// autonomous community.
  8739  	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a designated
  8740  	// market area (DMA) region.
  8741  	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
  8742  	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is a
  8743  	// congressional district.
  8744  	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
  8745  	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a municipality.
  8746  	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
  8747  	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting type is
  8748  	// postal code.
  8749  	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type is
  8750  	// department.
  8751  	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
  8752  	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
  8753  	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
  8754  	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
  8755  	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city region.
  8756  	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
  8757  	// arrondissement.
  8758  	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a neighborhood.
  8759  	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a university.
  8760  	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
  8761  	GeoRegionType string `json:"geoRegionType,omitempty"`
  8762  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  8763  	// unconditionally include in API requests. By default, fields with empty or
  8764  	// default values are omitted from API requests. See
  8765  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8766  	// details.
  8767  	ForceSendFields []string `json:"-"`
  8768  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  8769  	// requests with the JSON null value. By default, fields with empty values are
  8770  	// omitted from API requests. See
  8771  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8772  	NullFields []string `json:"-"`
  8773  }
  8774  
  8775  func (s *GeoRegionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  8776  	type NoMethod GeoRegionTargetingOptionDetails
  8777  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8778  }
  8779  
  8780  // GoogleAudience: Describes a Google audience resource. Includes Google
  8781  // audience lists.
  8782  type GoogleAudience struct {
  8783  	// DisplayName: Output only. The display name of the Google audience. .
  8784  	DisplayName string `json:"displayName,omitempty"`
  8785  	// GoogleAudienceId: Output only. The unique ID of the Google audience.
  8786  	// Assigned by the system.
  8787  	GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"`
  8788  	// GoogleAudienceType: Output only. The type of Google audience. .
  8789  	//
  8790  	// Possible values:
  8791  	//   "GOOGLE_AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not
  8792  	// specified or is unknown.
  8793  	//   "GOOGLE_AUDIENCE_TYPE_AFFINITY" - Affinity type Google audience.
  8794  	//   "GOOGLE_AUDIENCE_TYPE_IN_MARKET" - In-Market type Google audience.
  8795  	//   "GOOGLE_AUDIENCE_TYPE_INSTALLED_APPS" - Installed-Apps type Google
  8796  	// audience.
  8797  	//   "GOOGLE_AUDIENCE_TYPE_NEW_MOBILE_DEVICES" - New-Mobile-Devices type Google
  8798  	// audience.
  8799  	//   "GOOGLE_AUDIENCE_TYPE_LIFE_EVENT" - Life-Event type Google audience.
  8800  	//   "GOOGLE_AUDIENCE_TYPE_EXTENDED_DEMOGRAPHIC" - Extended-Demographic type
  8801  	// Google audience.
  8802  	GoogleAudienceType string `json:"googleAudienceType,omitempty"`
  8803  	// Name: Output only. The resource name of the google audience.
  8804  	Name string `json:"name,omitempty"`
  8805  
  8806  	// ServerResponse contains the HTTP response code and headers from the server.
  8807  	googleapi.ServerResponse `json:"-"`
  8808  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
  8809  	// unconditionally include in API requests. By default, fields with empty or
  8810  	// default values are omitted from API requests. See
  8811  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8812  	// details.
  8813  	ForceSendFields []string `json:"-"`
  8814  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
  8815  	// requests with the JSON null value. By default, fields with empty values are
  8816  	// omitted from API requests. See
  8817  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8818  	NullFields []string `json:"-"`
  8819  }
  8820  
  8821  func (s *GoogleAudience) MarshalJSON() ([]byte, error) {
  8822  	type NoMethod GoogleAudience
  8823  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8824  }
  8825  
  8826  // GoogleAudienceGroup: Details of Google audience group. All Google audience
  8827  // targeting settings are logically ‘OR’ of each other.
  8828  type GoogleAudienceGroup struct {
  8829  	// Settings: Required. All Google audience targeting settings in Google
  8830  	// audience group. Repeated settings with same id will be ignored.
  8831  	Settings []*GoogleAudienceTargetingSetting `json:"settings,omitempty"`
  8832  	// ForceSendFields is a list of field names (e.g. "Settings") to
  8833  	// unconditionally include in API requests. By default, fields with empty or
  8834  	// default values are omitted from API requests. See
  8835  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8836  	// details.
  8837  	ForceSendFields []string `json:"-"`
  8838  	// NullFields is a list of field names (e.g. "Settings") to include in API
  8839  	// requests with the JSON null value. By default, fields with empty values are
  8840  	// omitted from API requests. See
  8841  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8842  	NullFields []string `json:"-"`
  8843  }
  8844  
  8845  func (s *GoogleAudienceGroup) MarshalJSON() ([]byte, error) {
  8846  	type NoMethod GoogleAudienceGroup
  8847  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8848  }
  8849  
  8850  // GoogleAudienceTargetingSetting: Details of Google audience targeting
  8851  // setting.
  8852  type GoogleAudienceTargetingSetting struct {
  8853  	// GoogleAudienceId: Required. Google audience id of the Google audience
  8854  	// targeting setting. This id is google_audience_id.
  8855  	GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"`
  8856  	// ForceSendFields is a list of field names (e.g. "GoogleAudienceId") to
  8857  	// unconditionally include in API requests. By default, fields with empty or
  8858  	// default values are omitted from API requests. See
  8859  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8860  	// details.
  8861  	ForceSendFields []string `json:"-"`
  8862  	// NullFields is a list of field names (e.g. "GoogleAudienceId") to include in
  8863  	// API requests with the JSON null value. By default, fields with empty values
  8864  	// are omitted from API requests. See
  8865  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8866  	NullFields []string `json:"-"`
  8867  }
  8868  
  8869  func (s *GoogleAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
  8870  	type NoMethod GoogleAudienceTargetingSetting
  8871  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8872  }
  8873  
  8874  // GoogleBytestreamMedia: Media resource.
  8875  type GoogleBytestreamMedia struct {
  8876  	// ResourceName: Name of the media resource.
  8877  	ResourceName string `json:"resourceName,omitempty"`
  8878  
  8879  	// ServerResponse contains the HTTP response code and headers from the server.
  8880  	googleapi.ServerResponse `json:"-"`
  8881  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
  8882  	// unconditionally include in API requests. By default, fields with empty or
  8883  	// default values are omitted from API requests. See
  8884  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  8885  	// details.
  8886  	ForceSendFields []string `json:"-"`
  8887  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
  8888  	// requests with the JSON null value. By default, fields with empty values are
  8889  	// omitted from API requests. See
  8890  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  8891  	NullFields []string `json:"-"`
  8892  }
  8893  
  8894  func (s *GoogleBytestreamMedia) MarshalJSON() ([]byte, error) {
  8895  	type NoMethod GoogleBytestreamMedia
  8896  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  8897  }
  8898  
  8899  // GuaranteedOrder: A guaranteed order. Guaranteed orders are parent entity of
  8900  // guaranteed inventory sources. When creating a guaranteed inventory source, a
  8901  // guaranteed order ID must be assigned to the inventory source.
  8902  type GuaranteedOrder struct {
  8903  	// DefaultAdvertiserId: Output only. The ID of default advertiser of the
  8904  	// guaranteed order. The default advertiser is either the
  8905  	// read_write_advertiser_id or, if that is not set, the first advertiser listed
  8906  	// in read_advertiser_ids. Otherwise, there is no default advertiser.
  8907  	DefaultAdvertiserId int64 `json:"defaultAdvertiserId,omitempty,string"`
  8908  	// DefaultCampaignId: The ID of the default campaign that is assigned to the
  8909  	// guaranteed order. The default campaign must belong to the default
  8910  	// advertiser.
  8911  	DefaultCampaignId int64 `json:"defaultCampaignId,omitempty,string"`
  8912  	// DisplayName: Required. The display name of the guaranteed order. Must be
  8913  	// UTF-8 encoded with a maximum size of 240 bytes.
  8914  	DisplayName string `json:"displayName,omitempty"`
  8915  	// Exchange: Required. Immutable. The exchange where the guaranteed order
  8916  	// originated.
  8917  	//
  8918  	// Possible values:
  8919  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  8920  	// version.
  8921  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  8922  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  8923  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  8924  	//   "EXCHANGE_ADFORM" - Adform.
  8925  	//   "EXCHANGE_ADMETA" - Admeta.
  8926  	//   "EXCHANGE_ADMIXER" - Admixer.
  8927  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  8928  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  8929  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  8930  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  8931  	// Yahoo!.
  8932  	//   "EXCHANGE_CADREON" - Cadreon.
  8933  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  8934  	//   "EXCHANGE_FIVE" - Five.
  8935  	//   "EXCHANGE_FLUCT" - Fluct.
  8936  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  8937  	//   "EXCHANGE_GENIEE" - Geniee.
  8938  	//   "EXCHANGE_GUMGUM" - GumGum.
  8939  	//   "EXCHANGE_IMOBILE" - i-mobile.
  8940  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  8941  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  8942  	//   "EXCHANGE_INDEX" - Index Exchange.
  8943  	//   "EXCHANGE_KARGO" - Kargo.
  8944  	//   "EXCHANGE_MICROAD" - MicroAd.
  8945  	//   "EXCHANGE_MOPUB" - MoPub.
  8946  	//   "EXCHANGE_NEND" - Nend.
  8947  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  8948  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  8949  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  8950  	//   "EXCHANGE_OOYALA" - Ooyala.
  8951  	//   "EXCHANGE_OPENX" - OpenX.
  8952  	//   "EXCHANGE_PERMODO" - Permodo.
  8953  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  8954  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  8955  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  8956  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  8957  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  8958  	//   "EXCHANGE_RUBICON" - Rubicon.
  8959  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  8960  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  8961  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  8962  	//   "EXCHANGE_SOVRN" - Sovrn.
  8963  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  8964  	//   "EXCHANGE_STROER" - Ströer SSP.
  8965  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  8966  	//   "EXCHANGE_TELARIA" - Telaria.
  8967  	//   "EXCHANGE_TVN" - TVN.
  8968  	//   "EXCHANGE_UNITED" - United.
  8969  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  8970  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  8971  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  8972  	//   "EXCHANGE_OPEN8" - Open8.
  8973  	//   "EXCHANGE_TRITON" - Triton.
  8974  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  8975  	//   "EXCHANGE_TABOOLA" - Taboola.
  8976  	//   "EXCHANGE_INMOBI" - InMobi.
  8977  	//   "EXCHANGE_SMAATO" - Smaato.
  8978  	//   "EXCHANGE_AJA" - Aja.
  8979  	//   "EXCHANGE_SUPERSHIP" - Supership.
  8980  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  8981  	//   "EXCHANGE_WAZE" - Waze.
  8982  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  8983  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  8984  	//   "EXCHANGE_FYBER" - Fyber.
  8985  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  8986  	//   "EXCHANGE_MEDIANET" - Media.net.
  8987  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  8988  	//   "EXCHANGE_VISTAR" - Vistar.
  8989  	//   "EXCHANGE_DAX" - DAX.
  8990  	//   "EXCHANGE_JCD" - JCD.
  8991  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  8992  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  8993  	//   "EXCHANGE_CONNATIX" - Connatix.
  8994  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  8995  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  8996  	//   "EXCHANGE_DRAX" - Drax.
  8997  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  8998  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  8999  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  9000  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  9001  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  9002  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  9003  	Exchange string `json:"exchange,omitempty"`
  9004  	// GuaranteedOrderId: Output only. The unique identifier of the guaranteed
  9005  	// order. The guaranteed order IDs have the format
  9006  	// `{exchange}-{legacy_guaranteed_order_id}`.
  9007  	GuaranteedOrderId string `json:"guaranteedOrderId,omitempty"`
  9008  	// LegacyGuaranteedOrderId: Output only. The legacy ID of the guaranteed order.
  9009  	// Assigned by the original exchange. The legacy ID is unique within one
  9010  	// exchange, but is not guaranteed to be unique across all guaranteed orders.
  9011  	// This ID is used in SDF and UI.
  9012  	LegacyGuaranteedOrderId string `json:"legacyGuaranteedOrderId,omitempty"`
  9013  	// Name: Output only. The resource name of the guaranteed order.
  9014  	Name string `json:"name,omitempty"`
  9015  	// PublisherName: Required. The publisher name of the guaranteed order. Must be
  9016  	// UTF-8 encoded with a maximum size of 240 bytes.
  9017  	PublisherName string `json:"publisherName,omitempty"`
  9018  	// ReadAccessInherited: Whether all advertisers of read_write_partner_id have
  9019  	// read access to the guaranteed order. Only applicable if
  9020  	// read_write_partner_id is set. If True, overrides read_advertiser_ids.
  9021  	ReadAccessInherited bool `json:"readAccessInherited,omitempty"`
  9022  	// ReadAdvertiserIds: The IDs of advertisers with read access to the guaranteed
  9023  	// order. This field must not include the advertiser assigned to
  9024  	// read_write_advertiser_id if it is set. All advertisers in this field must
  9025  	// belong to read_write_partner_id or the same partner as
  9026  	// read_write_advertiser_id.
  9027  	ReadAdvertiserIds googleapi.Int64s `json:"readAdvertiserIds,omitempty"`
  9028  	// ReadWriteAdvertiserId: The advertiser with read/write access to the
  9029  	// guaranteed order. This is also the default advertiser of the guaranteed
  9030  	// order.
  9031  	ReadWriteAdvertiserId int64 `json:"readWriteAdvertiserId,omitempty,string"`
  9032  	// ReadWritePartnerId: The partner with read/write access to the guaranteed
  9033  	// order.
  9034  	ReadWritePartnerId int64 `json:"readWritePartnerId,omitempty,string"`
  9035  	// Status: The status settings of the guaranteed order.
  9036  	Status *GuaranteedOrderStatus `json:"status,omitempty"`
  9037  	// UpdateTime: Output only. The timestamp when the guaranteed order was last
  9038  	// updated. Assigned by the system.
  9039  	UpdateTime string `json:"updateTime,omitempty"`
  9040  
  9041  	// ServerResponse contains the HTTP response code and headers from the server.
  9042  	googleapi.ServerResponse `json:"-"`
  9043  	// ForceSendFields is a list of field names (e.g. "DefaultAdvertiserId") to
  9044  	// unconditionally include in API requests. By default, fields with empty or
  9045  	// default values are omitted from API requests. See
  9046  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9047  	// details.
  9048  	ForceSendFields []string `json:"-"`
  9049  	// NullFields is a list of field names (e.g. "DefaultAdvertiserId") to include
  9050  	// in API requests with the JSON null value. By default, fields with empty
  9051  	// values are omitted from API requests. See
  9052  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9053  	NullFields []string `json:"-"`
  9054  }
  9055  
  9056  func (s *GuaranteedOrder) MarshalJSON() ([]byte, error) {
  9057  	type NoMethod GuaranteedOrder
  9058  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9059  }
  9060  
  9061  // GuaranteedOrderStatus: The status settings of the guaranteed order.
  9062  type GuaranteedOrderStatus struct {
  9063  	// ConfigStatus: Output only. The configuration status of the guaranteed order.
  9064  	// Acceptable values are `PENDING` and `COMPLETED`. A guaranteed order must be
  9065  	// configured (fill in the required fields, choose creatives, and select a
  9066  	// default campaign) before it can serve. Currently the configuration action
  9067  	// can only be performed via UI.
  9068  	//
  9069  	// Possible values:
  9070  	//   "GUARANTEED_ORDER_CONFIG_STATUS_UNSPECIFIED" - The approval status is not
  9071  	// specified or is unknown in this version.
  9072  	//   "PENDING" - The beginning state of a guaranteed order. The guaranteed
  9073  	// order in this state needs to be configured before it can serve.
  9074  	//   "COMPLETED" - The state after the buyer configures a guaranteed order.
  9075  	ConfigStatus string `json:"configStatus,omitempty"`
  9076  	// EntityPauseReason: The user-provided reason for pausing this guaranteed
  9077  	// order. Must be UTF-8 encoded with a maximum length of 100 bytes. Only
  9078  	// applicable when entity_status is set to `ENTITY_STATUS_PAUSED`.
  9079  	EntityPauseReason string `json:"entityPauseReason,omitempty"`
  9080  	// EntityStatus: Whether or not the guaranteed order is servable. Acceptable
  9081  	// values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and
  9082  	// `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`.
  9083  	//
  9084  	// Possible values:
  9085  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  9086  	// or is unknown in this version.
  9087  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  9088  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  9089  	// spending are disabled. An entity can be deleted after archived. Deleted
  9090  	// entities cannot be retrieved.
  9091  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  9092  	// spending are disabled.
  9093  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  9094  	// entity.
  9095  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  9096  	// deletion.
  9097  	EntityStatus string `json:"entityStatus,omitempty"`
  9098  	// ForceSendFields is a list of field names (e.g. "ConfigStatus") to
  9099  	// unconditionally include in API requests. By default, fields with empty or
  9100  	// default values are omitted from API requests. See
  9101  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9102  	// details.
  9103  	ForceSendFields []string `json:"-"`
  9104  	// NullFields is a list of field names (e.g. "ConfigStatus") to include in API
  9105  	// requests with the JSON null value. By default, fields with empty values are
  9106  	// omitted from API requests. See
  9107  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9108  	NullFields []string `json:"-"`
  9109  }
  9110  
  9111  func (s *GuaranteedOrderStatus) MarshalJSON() ([]byte, error) {
  9112  	type NoMethod GuaranteedOrderStatus
  9113  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9114  }
  9115  
  9116  // HouseholdIncomeAssignedTargetingOptionDetails: Details for assigned
  9117  // household income targeting option. This will be populated in the details
  9118  // field of an AssignedTargetingOption when targeting_type is
  9119  // `TARGETING_TYPE_HOUSEHOLD_INCOME`.
  9120  type HouseholdIncomeAssignedTargetingOptionDetails struct {
  9121  	// HouseholdIncome: Required. The household income of the audience.
  9122  	//
  9123  	// Possible values:
  9124  	//   "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household income is
  9125  	// not specified in this version. This enum is a placeholder for default value
  9126  	// and does not represent a real household income option.
  9127  	//   "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience is
  9128  	// unknown.
  9129  	//   "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower 50% of
  9130  	// U.S. household incomes.
  9131  	//   "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the top
  9132  	// 41-50% of U.S. household incomes.
  9133  	//   "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the top
  9134  	// 31-40% of U.S. household incomes.
  9135  	//   "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the top
  9136  	// 21-30% of U.S. household incomes.
  9137  	//   "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the top
  9138  	// 11-20% of U.S. household incomes.
  9139  	//   "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10% of U.S.
  9140  	// household incomes.
  9141  	HouseholdIncome string `json:"householdIncome,omitempty"`
  9142  	// ForceSendFields is a list of field names (e.g. "HouseholdIncome") 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. "HouseholdIncome") to include in
  9149  	// API requests with the JSON null value. By default, fields with empty values
  9150  	// are 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 *HouseholdIncomeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  9156  	type NoMethod HouseholdIncomeAssignedTargetingOptionDetails
  9157  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9158  }
  9159  
  9160  // HouseholdIncomeTargetingOptionDetails: Represents a targetable household
  9161  // income. This will be populated in the household_income_details field of a
  9162  // TargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.
  9163  type HouseholdIncomeTargetingOptionDetails struct {
  9164  	// HouseholdIncome: Output only. The household income of an audience.
  9165  	//
  9166  	// Possible values:
  9167  	//   "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household income is
  9168  	// not specified in this version. This enum is a placeholder for default value
  9169  	// and does not represent a real household income option.
  9170  	//   "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience is
  9171  	// unknown.
  9172  	//   "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower 50% of
  9173  	// U.S. household incomes.
  9174  	//   "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the top
  9175  	// 41-50% of U.S. household incomes.
  9176  	//   "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the top
  9177  	// 31-40% of U.S. household incomes.
  9178  	//   "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the top
  9179  	// 21-30% of U.S. household incomes.
  9180  	//   "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the top
  9181  	// 11-20% of U.S. household incomes.
  9182  	//   "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10% of U.S.
  9183  	// household incomes.
  9184  	HouseholdIncome string `json:"householdIncome,omitempty"`
  9185  	// ForceSendFields is a list of field names (e.g. "HouseholdIncome") to
  9186  	// unconditionally include in API requests. By default, fields with empty or
  9187  	// default values are omitted from API requests. See
  9188  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9189  	// details.
  9190  	ForceSendFields []string `json:"-"`
  9191  	// NullFields is a list of field names (e.g. "HouseholdIncome") to include in
  9192  	// API requests with the JSON null value. By default, fields with empty values
  9193  	// are omitted from API requests. See
  9194  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9195  	NullFields []string `json:"-"`
  9196  }
  9197  
  9198  func (s *HouseholdIncomeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  9199  	type NoMethod HouseholdIncomeTargetingOptionDetails
  9200  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9201  }
  9202  
  9203  // IdFilter: A filtering option that filters entities by their entity IDs.
  9204  type IdFilter struct {
  9205  	// AdGroupAdIds: YouTube Ads to download by ID. All IDs must belong to the same
  9206  	// Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  9207  	AdGroupAdIds googleapi.Int64s `json:"adGroupAdIds,omitempty"`
  9208  	// AdGroupIds: YouTube Ad Groups to download by ID. All IDs must belong to the
  9209  	// same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  9210  	AdGroupIds googleapi.Int64s `json:"adGroupIds,omitempty"`
  9211  	// CampaignIds: Campaigns to download by ID. All IDs must belong to the same
  9212  	// Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  9213  	CampaignIds googleapi.Int64s `json:"campaignIds,omitempty"`
  9214  	// InsertionOrderIds: Insertion Orders to download by ID. All IDs must belong
  9215  	// to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  9216  	InsertionOrderIds googleapi.Int64s `json:"insertionOrderIds,omitempty"`
  9217  	// LineItemIds: Line Items to download by ID. All IDs must belong to the same
  9218  	// Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  9219  	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
  9220  	// MediaProductIds: Media Products to download by ID. All IDs must belong to
  9221  	// the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
  9222  	MediaProductIds googleapi.Int64s `json:"mediaProductIds,omitempty"`
  9223  	// ForceSendFields is a list of field names (e.g. "AdGroupAdIds") to
  9224  	// unconditionally include in API requests. By default, fields with empty or
  9225  	// default values are omitted from API requests. See
  9226  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9227  	// details.
  9228  	ForceSendFields []string `json:"-"`
  9229  	// NullFields is a list of field names (e.g. "AdGroupAdIds") to include in API
  9230  	// requests with the JSON null value. By default, fields with empty values are
  9231  	// omitted from API requests. See
  9232  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9233  	NullFields []string `json:"-"`
  9234  }
  9235  
  9236  func (s *IdFilter) MarshalJSON() ([]byte, error) {
  9237  	type NoMethod IdFilter
  9238  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9239  }
  9240  
  9241  // ImageAsset: Meta data of an image asset.
  9242  type ImageAsset struct {
  9243  	// FileSize: File size of the image asset in bytes.
  9244  	FileSize int64 `json:"fileSize,omitempty,string"`
  9245  	// FullSize: Metadata for this image at its original size.
  9246  	FullSize *Dimensions `json:"fullSize,omitempty"`
  9247  	// MimeType: MIME type of the image asset.
  9248  	MimeType string `json:"mimeType,omitempty"`
  9249  	// ForceSendFields is a list of field names (e.g. "FileSize") to
  9250  	// unconditionally include in API requests. By default, fields with empty or
  9251  	// default values are omitted from API requests. See
  9252  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9253  	// details.
  9254  	ForceSendFields []string `json:"-"`
  9255  	// NullFields is a list of field names (e.g. "FileSize") to include in API
  9256  	// requests with the JSON null value. By default, fields with empty values are
  9257  	// omitted from API requests. See
  9258  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9259  	NullFields []string `json:"-"`
  9260  }
  9261  
  9262  func (s *ImageAsset) MarshalJSON() ([]byte, error) {
  9263  	type NoMethod ImageAsset
  9264  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9265  }
  9266  
  9267  // InStreamAd: Details for an in-stream ad.
  9268  type InStreamAd struct {
  9269  	// CommonInStreamAttribute: Common ad attributes.
  9270  	CommonInStreamAttribute *CommonInStreamAttribute `json:"commonInStreamAttribute,omitempty"`
  9271  	// CustomParameters: The custom parameters to pass custom values to tracking
  9272  	// URL template.
  9273  	CustomParameters map[string]string `json:"customParameters,omitempty"`
  9274  	// ForceSendFields is a list of field names (e.g. "CommonInStreamAttribute") to
  9275  	// unconditionally include in API requests. By default, fields with empty or
  9276  	// default values are omitted from API requests. See
  9277  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9278  	// details.
  9279  	ForceSendFields []string `json:"-"`
  9280  	// NullFields is a list of field names (e.g. "CommonInStreamAttribute") to
  9281  	// include in API requests with the JSON null value. By default, fields with
  9282  	// empty values are omitted from API requests. See
  9283  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9284  	NullFields []string `json:"-"`
  9285  }
  9286  
  9287  func (s *InStreamAd) MarshalJSON() ([]byte, error) {
  9288  	type NoMethod InStreamAd
  9289  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9290  }
  9291  
  9292  // InsertionOrder: A single insertion order.
  9293  type InsertionOrder struct {
  9294  	// AdvertiserId: Output only. The unique ID of the advertiser the insertion
  9295  	// order belongs to.
  9296  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9297  	// BidStrategy: The bidding strategy of the insertion order. By default,
  9298  	// fixed_bid is set.
  9299  	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
  9300  	// Budget: Required. The budget allocation settings of the insertion order.
  9301  	Budget *InsertionOrderBudget `json:"budget,omitempty"`
  9302  	// CampaignId: Required. Immutable. The unique ID of the campaign that the
  9303  	// insertion order belongs to.
  9304  	CampaignId int64 `json:"campaignId,omitempty,string"`
  9305  	// DisplayName: Required. The display name of the insertion order. Must be
  9306  	// UTF-8 encoded with a maximum size of 240 bytes.
  9307  	DisplayName string `json:"displayName,omitempty"`
  9308  	// EntityStatus: Required. Controls whether or not the insertion order can
  9309  	// spend its budget and bid on inventory. * For CreateInsertionOrder method,
  9310  	// only `ENTITY_STATUS_DRAFT` is allowed. To activate an insertion order, use
  9311  	// UpdateInsertionOrder method and update the status to `ENTITY_STATUS_ACTIVE`
  9312  	// after creation. * An insertion order cannot be changed back to
  9313  	// `ENTITY_STATUS_DRAFT` status from any other status. * An insertion order
  9314  	// cannot be set to `ENTITY_STATUS_ACTIVE` if its parent campaign is not
  9315  	// active.
  9316  	//
  9317  	// Possible values:
  9318  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
  9319  	// or is unknown in this version.
  9320  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
  9321  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
  9322  	// spending are disabled. An entity can be deleted after archived. Deleted
  9323  	// entities cannot be retrieved.
  9324  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
  9325  	// spending are disabled.
  9326  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
  9327  	// entity.
  9328  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
  9329  	// deletion.
  9330  	EntityStatus string `json:"entityStatus,omitempty"`
  9331  	// FrequencyCap: Required. The frequency capping setting of the insertion
  9332  	// order.
  9333  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  9334  	// InsertionOrderId: Output only. The unique ID of the insertion order.
  9335  	// Assigned by the system.
  9336  	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
  9337  	// InsertionOrderType: The type of insertion order. If this field is
  9338  	// unspecified in creation, the value defaults to `RTB`.
  9339  	//
  9340  	// Possible values:
  9341  	//   "INSERTION_ORDER_TYPE_UNSPECIFIED" - Insertion order type is not specified
  9342  	// or is unknown.
  9343  	//   "RTB" - Real-time bidding.
  9344  	//   "OVER_THE_TOP" - Over-the-top.
  9345  	InsertionOrderType string `json:"insertionOrderType,omitempty"`
  9346  	// IntegrationDetails: Additional integration details of the insertion order.
  9347  	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
  9348  	// Kpi: Required. The key performance indicator (KPI) of the insertion order.
  9349  	// This is represented as referred to as the "Goal" in the Display & Video 360
  9350  	// interface.
  9351  	Kpi *Kpi `json:"kpi,omitempty"`
  9352  	// Name: Output only. The resource name of the insertion order.
  9353  	Name string `json:"name,omitempty"`
  9354  	// Pacing: Required. The budget spending speed setting of the insertion order.
  9355  	Pacing *Pacing `json:"pacing,omitempty"`
  9356  	// PartnerCosts: The partner costs associated with the insertion order. If
  9357  	// absent or empty in CreateInsertionOrder method, the newly created insertion
  9358  	// order will inherit partner costs from the partner settings.
  9359  	PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"`
  9360  	// ReservationType: Output only. The reservation type of the insertion order.
  9361  	//
  9362  	// Possible values:
  9363  	//   "RESERVATION_TYPE_UNSPECIFIED" - Reservation type value is not specified
  9364  	// or is unknown in this version.
  9365  	//   "RESERVATION_TYPE_NOT_GUARANTEED" - Not created through a guaranteed
  9366  	// inventory source.
  9367  	//   "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED" - Created through a
  9368  	// programmatic guaranteed inventory source.
  9369  	//   "RESERVATION_TYPE_TAG_GUARANTEED" - Created through a tag guaranteed
  9370  	// inventory source.
  9371  	//   "RESERVATION_TYPE_PETRA_VIRAL" - Created through a Petra inventory source.
  9372  	// Only applicable to YouTube and Partners line items.
  9373  	//   "RESERVATION_TYPE_INSTANT_RESERVE" - Created with an instant quote. Only
  9374  	// applicable to YouTube and partners line items.
  9375  	ReservationType string `json:"reservationType,omitempty"`
  9376  	// UpdateTime: Output only. The timestamp when the insertion order was last
  9377  	// updated. Assigned by the system.
  9378  	UpdateTime string `json:"updateTime,omitempty"`
  9379  
  9380  	// ServerResponse contains the HTTP response code and headers from the server.
  9381  	googleapi.ServerResponse `json:"-"`
  9382  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  9383  	// unconditionally include in API requests. By default, fields with empty or
  9384  	// default values are omitted from API requests. See
  9385  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9386  	// details.
  9387  	ForceSendFields []string `json:"-"`
  9388  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
  9389  	// requests with the JSON null value. By default, fields with empty values are
  9390  	// omitted from API requests. See
  9391  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9392  	NullFields []string `json:"-"`
  9393  }
  9394  
  9395  func (s *InsertionOrder) MarshalJSON() ([]byte, error) {
  9396  	type NoMethod InsertionOrder
  9397  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9398  }
  9399  
  9400  // InsertionOrderBudget: Settings that control how insertion order budget is
  9401  // allocated.
  9402  type InsertionOrderBudget struct {
  9403  	// AutomationType: The type of automation used to manage bid and budget for the
  9404  	// insertion order. If this field is unspecified in creation, the value
  9405  	// defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.
  9406  	//
  9407  	// Possible values:
  9408  	//   "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED" - Insertion order automation
  9409  	// option is not specified or is unknown in this version.
  9410  	//   "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET" - Automatic budget allocation.
  9411  	// Allow the system to automatically shift budget to owning line items to
  9412  	// optimize performance defined by kpi. No automation on bid settings.
  9413  	//   "INSERTION_ORDER_AUTOMATION_TYPE_NONE" - No automation of bid or budget on
  9414  	// insertion order level. Bid and budget must be manually configured at the
  9415  	// line item level.
  9416  	//   "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" - Allow the system to
  9417  	// automatically adjust bids and shift budget to owning line items to optimize
  9418  	// performance defined by kpi.
  9419  	AutomationType string `json:"automationType,omitempty"`
  9420  	// BudgetSegments: Required. The list of budget segments. Use a budget segment
  9421  	// to specify a specific budget for a given period of time an insertion order
  9422  	// is running.
  9423  	BudgetSegments []*InsertionOrderBudgetSegment `json:"budgetSegments,omitempty"`
  9424  	// BudgetUnit: Required. Immutable. The budget unit specifies whether the
  9425  	// budget is currency based or impression based.
  9426  	//
  9427  	// Possible values:
  9428  	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in
  9429  	// this version.
  9430  	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
  9431  	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
  9432  	BudgetUnit string `json:"budgetUnit,omitempty"`
  9433  	// ForceSendFields is a list of field names (e.g. "AutomationType") to
  9434  	// unconditionally include in API requests. By default, fields with empty or
  9435  	// default values are omitted from API requests. See
  9436  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9437  	// details.
  9438  	ForceSendFields []string `json:"-"`
  9439  	// NullFields is a list of field names (e.g. "AutomationType") to include in
  9440  	// API requests with the JSON null value. By default, fields with empty values
  9441  	// are omitted from API requests. See
  9442  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9443  	NullFields []string `json:"-"`
  9444  }
  9445  
  9446  func (s *InsertionOrderBudget) MarshalJSON() ([]byte, error) {
  9447  	type NoMethod InsertionOrderBudget
  9448  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9449  }
  9450  
  9451  // InsertionOrderBudgetSegment: Settings that control the budget of a single
  9452  // budget segment.
  9453  type InsertionOrderBudgetSegment struct {
  9454  	// BudgetAmountMicros: Required. The budget amount the insertion order will
  9455  	// spend for the given date_range. The amount is in micros. Must be greater
  9456  	// than 0. For example, 500000000 represents 500 standard units of the
  9457  	// currency.
  9458  	BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"`
  9459  	// CampaignBudgetId: The budget_id of the campaign budget that this insertion
  9460  	// order budget segment is a part of.
  9461  	CampaignBudgetId int64 `json:"campaignBudgetId,omitempty,string"`
  9462  	// DateRange: Required. The start and end date settings of the budget segment.
  9463  	// They are resolved relative to the parent advertiser's time zone. * When
  9464  	// creating a new budget segment, both `start_date` and `end_date` must be in
  9465  	// the future. * An existing budget segment with a `start_date` in the past has
  9466  	// a mutable `end_date` but an immutable `start_date`. * `end_date` must be the
  9467  	// `start_date` or later, both before the year 2037.
  9468  	DateRange *DateRange `json:"dateRange,omitempty"`
  9469  	// Description: The budget segment description. It can be used to enter
  9470  	// Purchase Order information for each budget segment and have that information
  9471  	// printed on the invoices. Must be UTF-8 encoded.
  9472  	Description string `json:"description,omitempty"`
  9473  	// ForceSendFields is a list of field names (e.g. "BudgetAmountMicros") to
  9474  	// unconditionally include in API requests. By default, fields with empty or
  9475  	// default values are omitted from API requests. See
  9476  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9477  	// details.
  9478  	ForceSendFields []string `json:"-"`
  9479  	// NullFields is a list of field names (e.g. "BudgetAmountMicros") to include
  9480  	// in API requests with the JSON null value. By default, fields with empty
  9481  	// values are omitted from API requests. See
  9482  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9483  	NullFields []string `json:"-"`
  9484  }
  9485  
  9486  func (s *InsertionOrderBudgetSegment) MarshalJSON() ([]byte, error) {
  9487  	type NoMethod InsertionOrderBudgetSegment
  9488  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9489  }
  9490  
  9491  // IntegralAdScience: Details of Integral Ad Science settings.
  9492  type IntegralAdScience struct {
  9493  	// CustomSegmentId: The custom segment ID provided by Integral Ad Science. The
  9494  	// ID must be between `1000001` and `1999999`, inclusive.
  9495  	CustomSegmentId googleapi.Int64s `json:"customSegmentId,omitempty"`
  9496  	// DisplayViewability: Display Viewability section (applicable to display line
  9497  	// items only).
  9498  	//
  9499  	// Possible values:
  9500  	//   "PERFORMANCE_VIEWABILITY_UNSPECIFIED" - This enum is only a placeholder
  9501  	// and it doesn't specify any display viewability options.
  9502  	//   "PERFORMANCE_VIEWABILITY_40" - Target 40% Viewability or Higher.
  9503  	//   "PERFORMANCE_VIEWABILITY_50" - Target 50% Viewability or Higher.
  9504  	//   "PERFORMANCE_VIEWABILITY_60" - Target 60% Viewability or Higher.
  9505  	//   "PERFORMANCE_VIEWABILITY_70" - Target 70% Viewability or Higher.
  9506  	DisplayViewability string `json:"displayViewability,omitempty"`
  9507  	// ExcludeUnrateable: Brand Safety - **Unrateable**.
  9508  	ExcludeUnrateable bool `json:"excludeUnrateable,omitempty"`
  9509  	// ExcludedAdFraudRisk: Ad Fraud settings.
  9510  	//
  9511  	// Possible values:
  9512  	//   "SUSPICIOUS_ACTIVITY_UNSPECIFIED" - This enum is only a placeholder and it
  9513  	// doesn't specify any ad fraud prevention options.
  9514  	//   "SUSPICIOUS_ACTIVITY_HR" - Ad Fraud - Exclude High Risk.
  9515  	//   "SUSPICIOUS_ACTIVITY_HMR" - Ad Fraud - Exclude High and Moderate Risk.
  9516  	ExcludedAdFraudRisk string `json:"excludedAdFraudRisk,omitempty"`
  9517  	// ExcludedAdultRisk: Brand Safety - **Adult content**.
  9518  	//
  9519  	// Possible values:
  9520  	//   "ADULT_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  9521  	// specify any adult options.
  9522  	//   "ADULT_HR" - Adult - Exclude High Risk.
  9523  	//   "ADULT_HMR" - Adult - Exclude High and Moderate Risk.
  9524  	ExcludedAdultRisk string `json:"excludedAdultRisk,omitempty"`
  9525  	// ExcludedAlcoholRisk: Brand Safety - **Alcohol**.
  9526  	//
  9527  	// Possible values:
  9528  	//   "ALCOHOL_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  9529  	// specify any alcohol options.
  9530  	//   "ALCOHOL_HR" - Alcohol - Exclude High Risk.
  9531  	//   "ALCOHOL_HMR" - Alcohol - Exclude High and Moderate Risk.
  9532  	ExcludedAlcoholRisk string `json:"excludedAlcoholRisk,omitempty"`
  9533  	// ExcludedDrugsRisk: Brand Safety - **Drugs**.
  9534  	//
  9535  	// Possible values:
  9536  	//   "DRUGS_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  9537  	// specify any drugs options.
  9538  	//   "DRUGS_HR" - Drugs - Exclude High Risk.
  9539  	//   "DRUGS_HMR" - Drugs - Exclude High and Moderate Risk.
  9540  	ExcludedDrugsRisk string `json:"excludedDrugsRisk,omitempty"`
  9541  	// ExcludedGamblingRisk: Brand Safety - **Gambling**.
  9542  	//
  9543  	// Possible values:
  9544  	//   "GAMBLING_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  9545  	// specify any gambling options.
  9546  	//   "GAMBLING_HR" - Gambling - Exclude High Risk.
  9547  	//   "GAMBLING_HMR" - Gambling - Exclude High and Moderate Risk.
  9548  	ExcludedGamblingRisk string `json:"excludedGamblingRisk,omitempty"`
  9549  	// ExcludedHateSpeechRisk: Brand Safety - **Hate speech**.
  9550  	//
  9551  	// Possible values:
  9552  	//   "HATE_SPEECH_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  9553  	// specify any hate speech options.
  9554  	//   "HATE_SPEECH_HR" - Hate Speech - Exclude High Risk.
  9555  	//   "HATE_SPEECH_HMR" - Hate Speech - Exclude High and Moderate Risk.
  9556  	ExcludedHateSpeechRisk string `json:"excludedHateSpeechRisk,omitempty"`
  9557  	// ExcludedIllegalDownloadsRisk: Brand Safety - **Illegal downloads**.
  9558  	//
  9559  	// Possible values:
  9560  	//   "ILLEGAL_DOWNLOADS_UNSPECIFIED" - This enum is only a placeholder and it
  9561  	// doesn't specify any illegal downloads options.
  9562  	//   "ILLEGAL_DOWNLOADS_HR" - Illegal Downloads - Exclude High Risk.
  9563  	//   "ILLEGAL_DOWNLOADS_HMR" - Illegal Downloads - Exclude High and Moderate
  9564  	// Risk.
  9565  	ExcludedIllegalDownloadsRisk string `json:"excludedIllegalDownloadsRisk,omitempty"`
  9566  	// ExcludedOffensiveLanguageRisk: Brand Safety - **Offensive language**.
  9567  	//
  9568  	// Possible values:
  9569  	//   "OFFENSIVE_LANGUAGE_UNSPECIFIED" - This enum is only a placeholder and it
  9570  	// doesn't specify any language options.
  9571  	//   "OFFENSIVE_LANGUAGE_HR" - Offensive Language - Exclude High Risk.
  9572  	//   "OFFENSIVE_LANGUAGE_HMR" - Offensive Language - Exclude High and Moderate
  9573  	// Risk.
  9574  	ExcludedOffensiveLanguageRisk string `json:"excludedOffensiveLanguageRisk,omitempty"`
  9575  	// ExcludedViolenceRisk: Brand Safety - **Violence**.
  9576  	//
  9577  	// Possible values:
  9578  	//   "VIOLENCE_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  9579  	// specify any violence options.
  9580  	//   "VIOLENCE_HR" - Violence - Exclude High Risk.
  9581  	//   "VIOLENCE_HMR" - Violence - Exclude High and Moderate Risk.
  9582  	ExcludedViolenceRisk string `json:"excludedViolenceRisk,omitempty"`
  9583  	// TraqScoreOption: True advertising quality (applicable to Display line items
  9584  	// only).
  9585  	//
  9586  	// Possible values:
  9587  	//   "TRAQ_UNSPECIFIED" - This enum is only a placeholder and it doesn't
  9588  	// specify any true advertising quality scores.
  9589  	//   "TRAQ_250" - TRAQ score 250-1000.
  9590  	//   "TRAQ_500" - TRAQ score 500-1000.
  9591  	//   "TRAQ_600" - TRAQ score 600-1000.
  9592  	//   "TRAQ_700" - TRAQ score 700-1000.
  9593  	//   "TRAQ_750" - TRAQ score 750-1000.
  9594  	//   "TRAQ_875" - TRAQ score 875-1000.
  9595  	//   "TRAQ_1000" - TRAQ score 1000.
  9596  	TraqScoreOption string `json:"traqScoreOption,omitempty"`
  9597  	// VideoViewability: Video Viewability Section (applicable to video line items
  9598  	// only).
  9599  	//
  9600  	// Possible values:
  9601  	//   "VIDEO_VIEWABILITY_UNSPECIFIED" - This enum is only a placeholder and it
  9602  	// doesn't specify any video viewability options.
  9603  	//   "VIDEO_VIEWABILITY_40" - 40%+ in view (IAB video viewability standard).
  9604  	//   "VIDEO_VIEWABILITY_50" - 50%+ in view (IAB video viewability standard).
  9605  	//   "VIDEO_VIEWABILITY_60" - 60%+ in view (IAB video viewability standard).
  9606  	//   "VIDEO_VIEWABILITY_70" - 70%+ in view (IAB video viewability standard).
  9607  	VideoViewability string `json:"videoViewability,omitempty"`
  9608  	// ForceSendFields is a list of field names (e.g. "CustomSegmentId") to
  9609  	// unconditionally include in API requests. By default, fields with empty or
  9610  	// default values are omitted from API requests. See
  9611  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9612  	// details.
  9613  	ForceSendFields []string `json:"-"`
  9614  	// NullFields is a list of field names (e.g. "CustomSegmentId") to include in
  9615  	// API requests with the JSON null value. By default, fields with empty values
  9616  	// are omitted from API requests. See
  9617  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9618  	NullFields []string `json:"-"`
  9619  }
  9620  
  9621  func (s *IntegralAdScience) MarshalJSON() ([]byte, error) {
  9622  	type NoMethod IntegralAdScience
  9623  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9624  }
  9625  
  9626  // IntegrationDetails: Integration details of an entry.
  9627  type IntegrationDetails struct {
  9628  	// Details: Additional details of the entry in string format. Must be UTF-8
  9629  	// encoded with a length of no more than 1000 characters.
  9630  	Details string `json:"details,omitempty"`
  9631  	// IntegrationCode: An external identifier to be associated with the entry. The
  9632  	// integration code will show up together with the entry in many places in the
  9633  	// system, for example, reporting. Must be UTF-8 encoded with a length of no
  9634  	// more than 500 characters.
  9635  	IntegrationCode string `json:"integrationCode,omitempty"`
  9636  	// ForceSendFields is a list of field names (e.g. "Details") to unconditionally
  9637  	// include in API requests. By default, fields with empty or default values are
  9638  	// omitted from API requests. See
  9639  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9640  	// details.
  9641  	ForceSendFields []string `json:"-"`
  9642  	// NullFields is a list of field names (e.g. "Details") to include in API
  9643  	// requests with the JSON null value. By default, fields with empty values are
  9644  	// omitted from API requests. See
  9645  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9646  	NullFields []string `json:"-"`
  9647  }
  9648  
  9649  func (s *IntegrationDetails) MarshalJSON() ([]byte, error) {
  9650  	type NoMethod IntegrationDetails
  9651  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9652  }
  9653  
  9654  // InventorySource: An inventory source.
  9655  type InventorySource struct {
  9656  	// Commitment: Whether the inventory source has a guaranteed or non-guaranteed
  9657  	// delivery.
  9658  	//
  9659  	// Possible values:
  9660  	//   "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED" - The commitment is not
  9661  	// specified or is unknown in this version.
  9662  	//   "INVENTORY_SOURCE_COMMITMENT_GUARANTEED" - The commitment is guaranteed
  9663  	// delivery.
  9664  	//   "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" - The commitment is
  9665  	// non-guaranteed delivery.
  9666  	Commitment string `json:"commitment,omitempty"`
  9667  	// CreativeConfigs: The creative requirements of the inventory source. Not
  9668  	// applicable for auction packages.
  9669  	CreativeConfigs []*CreativeConfig `json:"creativeConfigs,omitempty"`
  9670  	// DealId: The ID in the exchange space that uniquely identifies the inventory
  9671  	// source. Must be unique across buyers within each exchange but not
  9672  	// necessarily unique across exchanges.
  9673  	DealId string `json:"dealId,omitempty"`
  9674  	// DeliveryMethod: The delivery method of the inventory source. * For
  9675  	// non-guaranteed inventory sources, the only acceptable value is
  9676  	// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed inventory
  9677  	// sources, acceptable values are `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and
  9678  	// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`.
  9679  	//
  9680  	// Possible values:
  9681  	//   "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED" - The delivery method is
  9682  	// not specified or is unknown in this version.
  9683  	//   "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC" - The delivery method is
  9684  	// programmatic.
  9685  	//   "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" - The delivery method is tag.
  9686  	DeliveryMethod string `json:"deliveryMethod,omitempty"`
  9687  	// DisplayName: The display name of the inventory source. Must be UTF-8 encoded
  9688  	// with a maximum size of 240 bytes.
  9689  	DisplayName string `json:"displayName,omitempty"`
  9690  	// Exchange: The exchange to which the inventory source belongs.
  9691  	//
  9692  	// Possible values:
  9693  	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in this
  9694  	// version.
  9695  	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
  9696  	//   "EXCHANGE_APPNEXUS" - AppNexus.
  9697  	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
  9698  	//   "EXCHANGE_ADFORM" - Adform.
  9699  	//   "EXCHANGE_ADMETA" - Admeta.
  9700  	//   "EXCHANGE_ADMIXER" - Admixer.
  9701  	//   "EXCHANGE_ADSMOGO" - AdsMogo.
  9702  	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
  9703  	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
  9704  	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display from
  9705  	// Yahoo!.
  9706  	//   "EXCHANGE_CADREON" - Cadreon.
  9707  	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
  9708  	//   "EXCHANGE_FIVE" - Five.
  9709  	//   "EXCHANGE_FLUCT" - Fluct.
  9710  	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
  9711  	//   "EXCHANGE_GENIEE" - Geniee.
  9712  	//   "EXCHANGE_GUMGUM" - GumGum.
  9713  	//   "EXCHANGE_IMOBILE" - i-mobile.
  9714  	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
  9715  	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
  9716  	//   "EXCHANGE_INDEX" - Index Exchange.
  9717  	//   "EXCHANGE_KARGO" - Kargo.
  9718  	//   "EXCHANGE_MICROAD" - MicroAd.
  9719  	//   "EXCHANGE_MOPUB" - MoPub.
  9720  	//   "EXCHANGE_NEND" - Nend.
  9721  	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
  9722  	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
  9723  	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
  9724  	//   "EXCHANGE_OOYALA" - Ooyala.
  9725  	//   "EXCHANGE_OPENX" - OpenX.
  9726  	//   "EXCHANGE_PERMODO" - Permodo.
  9727  	//   "EXCHANGE_PLATFORMONE" - Platform One.
  9728  	//   "EXCHANGE_PLATFORMID" - PlatformId.
  9729  	//   "EXCHANGE_PUBMATIC" - PubMatic.
  9730  	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
  9731  	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
  9732  	//   "EXCHANGE_RUBICON" - Rubicon.
  9733  	//   "EXCHANGE_SMARTCLIP" - SmartClip.
  9734  	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
  9735  	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
  9736  	//   "EXCHANGE_SOVRN" - Sovrn.
  9737  	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
  9738  	//   "EXCHANGE_STROER" - Ströer SSP.
  9739  	//   "EXCHANGE_TEADSTV" - TeadsTv.
  9740  	//   "EXCHANGE_TELARIA" - Telaria.
  9741  	//   "EXCHANGE_TVN" - TVN.
  9742  	//   "EXCHANGE_UNITED" - United.
  9743  	//   "EXCHANGE_YIELDLAB" - Yieldlab.
  9744  	//   "EXCHANGE_YIELDMO" - Yieldmo.
  9745  	//   "EXCHANGE_UNRULYX" - UnrulyX.
  9746  	//   "EXCHANGE_OPEN8" - Open8.
  9747  	//   "EXCHANGE_TRITON" - Triton.
  9748  	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
  9749  	//   "EXCHANGE_TABOOLA" - Taboola.
  9750  	//   "EXCHANGE_INMOBI" - InMobi.
  9751  	//   "EXCHANGE_SMAATO" - Smaato.
  9752  	//   "EXCHANGE_AJA" - Aja.
  9753  	//   "EXCHANGE_SUPERSHIP" - Supership.
  9754  	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
  9755  	//   "EXCHANGE_WAZE" - Waze.
  9756  	//   "EXCHANGE_SOUNDCAST" - SoundCast.
  9757  	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
  9758  	//   "EXCHANGE_FYBER" - Fyber.
  9759  	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
  9760  	//   "EXCHANGE_MEDIANET" - Media.net.
  9761  	//   "EXCHANGE_TAPJOY" - Tapjoy.
  9762  	//   "EXCHANGE_VISTAR" - Vistar.
  9763  	//   "EXCHANGE_DAX" - DAX.
  9764  	//   "EXCHANGE_JCD" - JCD.
  9765  	//   "EXCHANGE_PLACE_EXCHANGE" - Place Exchange.
  9766  	//   "EXCHANGE_APPLOVIN" - AppLovin.
  9767  	//   "EXCHANGE_CONNATIX" - Connatix.
  9768  	//   "EXCHANGE_RESET_DIGITAL" - Reset Digital.
  9769  	//   "EXCHANGE_HIVESTACK" - Hivestack.
  9770  	//   "EXCHANGE_DRAX" - Drax.
  9771  	//   "EXCHANGE_APPLOVIN_GBID" - AppLovin MAX.
  9772  	//   "EXCHANGE_FYBER_GBID" - DT Fairbid.
  9773  	//   "EXCHANGE_UNITY_GBID" - Unity LevelPlay.
  9774  	//   "EXCHANGE_CHARTBOOST_GBID" - Chartboost Mediation.
  9775  	//   "EXCHANGE_ADMOST_GBID" - AdMost.
  9776  	//   "EXCHANGE_TOPON_GBID" - TopOn.
  9777  	Exchange string `json:"exchange,omitempty"`
  9778  	// GuaranteedOrderId: Immutable. The ID of the guaranteed order that this
  9779  	// inventory source belongs to. Only applicable when commitment is
  9780  	// `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`.
  9781  	GuaranteedOrderId string `json:"guaranteedOrderId,omitempty"`
  9782  	// InventorySourceId: Output only. The unique ID of the inventory source.
  9783  	// Assigned by the system.
  9784  	InventorySourceId int64 `json:"inventorySourceId,omitempty,string"`
  9785  	// InventorySourceProductType: Output only. The product type of the inventory
  9786  	// source, denoting the way through which it sells inventory.
  9787  	//
  9788  	// Possible values:
  9789  	//   "INVENTORY_SOURCE_PRODUCT_TYPE_UNSPECIFIED" - The product type is not
  9790  	// specified or is unknown in this version. Modifying inventory sources of this
  9791  	// product type are not supported via API.
  9792  	//   "PREFERRED_DEAL" - The inventory source sells inventory through Preferred
  9793  	// Deal.
  9794  	//   "PRIVATE_AUCTION" - The inventory source sells inventory through Private
  9795  	// Auction.
  9796  	//   "PROGRAMMATIC_GUARANTEED" - The inventory source sells inventory through
  9797  	// Programmatic Guaranteed.
  9798  	//   "TAG_GUARANTEED" - The inventory source sells inventory through Tag
  9799  	// Guaranteed.
  9800  	//   "YOUTUBE_RESERVE" - The inventory source sells inventory through YouTube
  9801  	// Reserve.
  9802  	//   "INSTANT_RESERVE" - The inventory source sells inventory through Instant
  9803  	// Reserve. Modifying inventory sources of this product type are not supported
  9804  	// via API.
  9805  	//   "GUARANTEED_PACKAGE" - The inventory source sells inventory through
  9806  	// Guaranteed Package. Modifying inventory sources of this product type are not
  9807  	// supported via API.
  9808  	//   "PROGRAMMATIC_TV" - The inventory source sells inventory through
  9809  	// Programmtic TV. Modifying inventory sources of this product type are not
  9810  	// supported via API.
  9811  	//   "AUCTION_PACKAGE" - The inventory source sells inventory through Auction
  9812  	// Package. Modifying inventory sources of this product type are not supported
  9813  	// via API.
  9814  	InventorySourceProductType string `json:"inventorySourceProductType,omitempty"`
  9815  	// InventorySourceType: Denotes the type of the inventory source.
  9816  	//
  9817  	// Possible values:
  9818  	//   "INVENTORY_SOURCE_TYPE_UNSPECIFIED" - The inventory source type is not
  9819  	// specified or is unknown in this version.
  9820  	//   "INVENTORY_SOURCE_TYPE_PRIVATE" - Private inventory source.
  9821  	//   "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" - Auction package.
  9822  	InventorySourceType string `json:"inventorySourceType,omitempty"`
  9823  	// Name: Output only. The resource name of the inventory source.
  9824  	Name string `json:"name,omitempty"`
  9825  	// PublisherName: The publisher/seller name of the inventory source.
  9826  	PublisherName string `json:"publisherName,omitempty"`
  9827  	// RateDetails: Required. The rate details of the inventory source.
  9828  	RateDetails *RateDetails `json:"rateDetails,omitempty"`
  9829  	// ReadAdvertiserIds: Output only. The IDs of advertisers with read-only access
  9830  	// to the inventory source.
  9831  	ReadAdvertiserIds googleapi.Int64s `json:"readAdvertiserIds,omitempty"`
  9832  	// ReadPartnerIds: Output only. The IDs of partners with read-only access to
  9833  	// the inventory source. All advertisers of partners in this field inherit
  9834  	// read-only access to the inventory source.
  9835  	ReadPartnerIds googleapi.Int64s `json:"readPartnerIds,omitempty"`
  9836  	// ReadWriteAccessors: The partner or advertisers that have read/write access
  9837  	// to the inventory source. Output only when commitment is
  9838  	// `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`, in which case the read/write
  9839  	// accessors are inherited from the parent guaranteed order. Required when
  9840  	// commitment is `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED`. If commitment is
  9841  	// `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED` and a partner is set in this
  9842  	// field, all advertisers under this partner will automatically have read-only
  9843  	// access to the inventory source. These advertisers will not be included in
  9844  	// read_advertiser_ids.
  9845  	ReadWriteAccessors *InventorySourceAccessors `json:"readWriteAccessors,omitempty"`
  9846  	// Status: The status settings of the inventory source.
  9847  	Status *InventorySourceStatus `json:"status,omitempty"`
  9848  	// TimeRange: The time range when this inventory source starts and stops
  9849  	// serving.
  9850  	TimeRange *TimeRange `json:"timeRange,omitempty"`
  9851  	// UpdateTime: Output only. The timestamp when the inventory source was last
  9852  	// updated. Assigned by the system.
  9853  	UpdateTime string `json:"updateTime,omitempty"`
  9854  
  9855  	// ServerResponse contains the HTTP response code and headers from the server.
  9856  	googleapi.ServerResponse `json:"-"`
  9857  	// ForceSendFields is a list of field names (e.g. "Commitment") to
  9858  	// unconditionally include in API requests. By default, fields with empty or
  9859  	// default values are omitted from API requests. See
  9860  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9861  	// details.
  9862  	ForceSendFields []string `json:"-"`
  9863  	// NullFields is a list of field names (e.g. "Commitment") to include in API
  9864  	// requests with the JSON null value. By default, fields with empty values are
  9865  	// omitted from API requests. See
  9866  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9867  	NullFields []string `json:"-"`
  9868  }
  9869  
  9870  func (s *InventorySource) MarshalJSON() ([]byte, error) {
  9871  	type NoMethod InventorySource
  9872  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9873  }
  9874  
  9875  // InventorySourceAccessors: The partner or advertisers with access to the
  9876  // inventory source.
  9877  type InventorySourceAccessors struct {
  9878  	// Advertisers: The advertisers with access to the inventory source. All
  9879  	// advertisers must belong to the same partner.
  9880  	Advertisers *InventorySourceAccessorsAdvertiserAccessors `json:"advertisers,omitempty"`
  9881  	// Partner: The partner with access to the inventory source.
  9882  	Partner *InventorySourceAccessorsPartnerAccessor `json:"partner,omitempty"`
  9883  
  9884  	// ServerResponse contains the HTTP response code and headers from the server.
  9885  	googleapi.ServerResponse `json:"-"`
  9886  	// ForceSendFields is a list of field names (e.g. "Advertisers") to
  9887  	// unconditionally include in API requests. By default, fields with empty or
  9888  	// default values are omitted from API requests. See
  9889  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9890  	// details.
  9891  	ForceSendFields []string `json:"-"`
  9892  	// NullFields is a list of field names (e.g. "Advertisers") to include in API
  9893  	// requests with the JSON null value. By default, fields with empty values are
  9894  	// omitted from API requests. See
  9895  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9896  	NullFields []string `json:"-"`
  9897  }
  9898  
  9899  func (s *InventorySourceAccessors) MarshalJSON() ([]byte, error) {
  9900  	type NoMethod InventorySourceAccessors
  9901  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9902  }
  9903  
  9904  // InventorySourceAccessorsAdvertiserAccessors: The advertisers with access to
  9905  // the inventory source.
  9906  type InventorySourceAccessorsAdvertiserAccessors struct {
  9907  	// AdvertiserIds: The IDs of the advertisers.
  9908  	AdvertiserIds googleapi.Int64s `json:"advertiserIds,omitempty"`
  9909  	// ForceSendFields is a list of field names (e.g. "AdvertiserIds") to
  9910  	// unconditionally include in API requests. By default, fields with empty or
  9911  	// default values are omitted from API requests. See
  9912  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9913  	// details.
  9914  	ForceSendFields []string `json:"-"`
  9915  	// NullFields is a list of field names (e.g. "AdvertiserIds") to include in API
  9916  	// requests with the JSON null value. By default, fields with empty values are
  9917  	// omitted from API requests. See
  9918  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9919  	NullFields []string `json:"-"`
  9920  }
  9921  
  9922  func (s *InventorySourceAccessorsAdvertiserAccessors) MarshalJSON() ([]byte, error) {
  9923  	type NoMethod InventorySourceAccessorsAdvertiserAccessors
  9924  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9925  }
  9926  
  9927  // InventorySourceAccessorsPartnerAccessor: The partner with access to the
  9928  // inventory source.
  9929  type InventorySourceAccessorsPartnerAccessor struct {
  9930  	// PartnerId: The ID of the partner.
  9931  	PartnerId int64 `json:"partnerId,omitempty,string"`
  9932  	// ForceSendFields is a list of field names (e.g. "PartnerId") to
  9933  	// unconditionally include in API requests. By default, fields with empty or
  9934  	// default values are omitted from API requests. See
  9935  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9936  	// details.
  9937  	ForceSendFields []string `json:"-"`
  9938  	// NullFields is a list of field names (e.g. "PartnerId") to include in API
  9939  	// requests with the JSON null value. By default, fields with empty values are
  9940  	// omitted from API requests. See
  9941  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9942  	NullFields []string `json:"-"`
  9943  }
  9944  
  9945  func (s *InventorySourceAccessorsPartnerAccessor) MarshalJSON() ([]byte, error) {
  9946  	type NoMethod InventorySourceAccessorsPartnerAccessor
  9947  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9948  }
  9949  
  9950  // InventorySourceAssignedTargetingOptionDetails: Targeting details for
  9951  // inventory source. This will be populated in the details field of an
  9952  // AssignedTargetingOption when targeting_type is
  9953  // `TARGETING_TYPE_INVENTORY_SOURCE`.
  9954  type InventorySourceAssignedTargetingOptionDetails struct {
  9955  	// InventorySourceId: Required. ID of the inventory source. Should refer to the
  9956  	// inventory_source_id field of an InventorySource resource.
  9957  	InventorySourceId int64 `json:"inventorySourceId,omitempty,string"`
  9958  	// ForceSendFields is a list of field names (e.g. "InventorySourceId") to
  9959  	// unconditionally include in API requests. By default, fields with empty or
  9960  	// default values are omitted from API requests. See
  9961  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9962  	// details.
  9963  	ForceSendFields []string `json:"-"`
  9964  	// NullFields is a list of field names (e.g. "InventorySourceId") to include in
  9965  	// API requests with the JSON null value. By default, fields with empty values
  9966  	// are omitted from API requests. See
  9967  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9968  	NullFields []string `json:"-"`
  9969  }
  9970  
  9971  func (s *InventorySourceAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
  9972  	type NoMethod InventorySourceAssignedTargetingOptionDetails
  9973  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9974  }
  9975  
  9976  // InventorySourceDisplayCreativeConfig: The configuration for display
  9977  // creatives.
  9978  type InventorySourceDisplayCreativeConfig struct {
  9979  	// CreativeSize: The size requirements for display creatives that can be
  9980  	// assigned to the inventory source.
  9981  	CreativeSize *Dimensions `json:"creativeSize,omitempty"`
  9982  	// ForceSendFields is a list of field names (e.g. "CreativeSize") to
  9983  	// unconditionally include in API requests. By default, fields with empty or
  9984  	// default values are omitted from API requests. See
  9985  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
  9986  	// details.
  9987  	ForceSendFields []string `json:"-"`
  9988  	// NullFields is a list of field names (e.g. "CreativeSize") to include in API
  9989  	// requests with the JSON null value. By default, fields with empty values are
  9990  	// omitted from API requests. See
  9991  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
  9992  	NullFields []string `json:"-"`
  9993  }
  9994  
  9995  func (s *InventorySourceDisplayCreativeConfig) MarshalJSON() ([]byte, error) {
  9996  	type NoMethod InventorySourceDisplayCreativeConfig
  9997  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
  9998  }
  9999  
 10000  // InventorySourceFilter: A filtering option for filtering on Inventory Source
 10001  // entities.
 10002  type InventorySourceFilter struct {
 10003  	// InventorySourceIds: Inventory Sources to download by ID. All IDs must belong
 10004  	// to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
 10005  	// Leave empty to download all Inventory Sources for the selected Advertiser or
 10006  	// Partner.
 10007  	InventorySourceIds googleapi.Int64s `json:"inventorySourceIds,omitempty"`
 10008  	// ForceSendFields is a list of field names (e.g. "InventorySourceIds") to
 10009  	// unconditionally include in API requests. By default, fields with empty or
 10010  	// default values are omitted from API requests. See
 10011  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10012  	// details.
 10013  	ForceSendFields []string `json:"-"`
 10014  	// NullFields is a list of field names (e.g. "InventorySourceIds") to include
 10015  	// in API requests with the JSON null value. By default, fields with empty
 10016  	// values are omitted from API requests. See
 10017  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10018  	NullFields []string `json:"-"`
 10019  }
 10020  
 10021  func (s *InventorySourceFilter) MarshalJSON() ([]byte, error) {
 10022  	type NoMethod InventorySourceFilter
 10023  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10024  }
 10025  
 10026  // InventorySourceGroup: A collection of targetable inventory sources.
 10027  type InventorySourceGroup struct {
 10028  	// DisplayName: Required. The display name of the inventory source group. Must
 10029  	// be UTF-8 encoded with a maximum size of 240 bytes.
 10030  	DisplayName string `json:"displayName,omitempty"`
 10031  	// InventorySourceGroupId: Output only. The unique ID of the inventory source
 10032  	// group. Assigned by the system.
 10033  	InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"`
 10034  	// Name: Output only. The resource name of the inventory source group.
 10035  	Name string `json:"name,omitempty"`
 10036  
 10037  	// ServerResponse contains the HTTP response code and headers from the server.
 10038  	googleapi.ServerResponse `json:"-"`
 10039  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 10040  	// unconditionally include in API requests. By default, fields with empty or
 10041  	// default values are omitted from API requests. See
 10042  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10043  	// details.
 10044  	ForceSendFields []string `json:"-"`
 10045  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 10046  	// requests with the JSON null value. By default, fields with empty values are
 10047  	// omitted from API requests. See
 10048  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10049  	NullFields []string `json:"-"`
 10050  }
 10051  
 10052  func (s *InventorySourceGroup) MarshalJSON() ([]byte, error) {
 10053  	type NoMethod InventorySourceGroup
 10054  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10055  }
 10056  
 10057  // InventorySourceGroupAssignedTargetingOptionDetails: Targeting details for
 10058  // inventory source group. This will be populated in the details field of an
 10059  // AssignedTargetingOption when targeting_type is
 10060  // `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
 10061  type InventorySourceGroupAssignedTargetingOptionDetails struct {
 10062  	// InventorySourceGroupId: Required. ID of the inventory source group. Should
 10063  	// refer to the inventory_source_group_id field of an InventorySourceGroup
 10064  	// resource.
 10065  	InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"`
 10066  	// ForceSendFields is a list of field names (e.g. "InventorySourceGroupId") to
 10067  	// unconditionally include in API requests. By default, fields with empty or
 10068  	// default values are omitted from API requests. See
 10069  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10070  	// details.
 10071  	ForceSendFields []string `json:"-"`
 10072  	// NullFields is a list of field names (e.g. "InventorySourceGroupId") to
 10073  	// include in API requests with the JSON null value. By default, fields with
 10074  	// empty values are omitted from API requests. See
 10075  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10076  	NullFields []string `json:"-"`
 10077  }
 10078  
 10079  func (s *InventorySourceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 10080  	type NoMethod InventorySourceGroupAssignedTargetingOptionDetails
 10081  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10082  }
 10083  
 10084  // InventorySourceStatus: The status related settings of the inventory source.
 10085  type InventorySourceStatus struct {
 10086  	// ConfigStatus: Output only. The configuration status of the inventory source.
 10087  	// Only applicable for guaranteed inventory sources. Acceptable values are
 10088  	// `INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and
 10089  	// `INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`. An inventory source must be
 10090  	// configured (fill in the required fields, choose creatives, and select a
 10091  	// default campaign) before it can serve.
 10092  	//
 10093  	// Possible values:
 10094  	//   "INVENTORY_SOURCE_CONFIG_STATUS_UNSPECIFIED" - The approval status is not
 10095  	// specified or is unknown in this version.
 10096  	//   "INVENTORY_SOURCE_CONFIG_STATUS_PENDING" - The beginning state of a
 10097  	// guaranteed inventory source. The inventory source in this state needs to be
 10098  	// configured.
 10099  	//   "INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED" - The state after the buyer
 10100  	// configures a guaranteed inventory source.
 10101  	ConfigStatus string `json:"configStatus,omitempty"`
 10102  	// EntityPauseReason: The user-provided reason for pausing this inventory
 10103  	// source. Must not exceed 100 characters. Only applicable when entity_status
 10104  	// is set to `ENTITY_STATUS_PAUSED`.
 10105  	EntityPauseReason string `json:"entityPauseReason,omitempty"`
 10106  	// EntityStatus: Whether or not the inventory source is servable. Acceptable
 10107  	// values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and
 10108  	// `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`.
 10109  	//
 10110  	// Possible values:
 10111  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
 10112  	// or is unknown in this version.
 10113  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
 10114  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
 10115  	// spending are disabled. An entity can be deleted after archived. Deleted
 10116  	// entities cannot be retrieved.
 10117  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
 10118  	// spending are disabled.
 10119  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
 10120  	// entity.
 10121  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
 10122  	// deletion.
 10123  	EntityStatus string `json:"entityStatus,omitempty"`
 10124  	// SellerPauseReason: Output only. The seller-provided reason for pausing this
 10125  	// inventory source. Only applicable for inventory sources synced directly from
 10126  	// the publishers and when seller_status is set to `ENTITY_STATUS_PAUSED`.
 10127  	SellerPauseReason string `json:"sellerPauseReason,omitempty"`
 10128  	// SellerStatus: Output only. The status set by the seller for the inventory
 10129  	// source. Only applicable for inventory sources synced directly from the
 10130  	// publishers. Acceptable values are `ENTITY_STATUS_ACTIVE` and
 10131  	// `ENTITY_STATUS_PAUSED`.
 10132  	//
 10133  	// Possible values:
 10134  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
 10135  	// or is unknown in this version.
 10136  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
 10137  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
 10138  	// spending are disabled. An entity can be deleted after archived. Deleted
 10139  	// entities cannot be retrieved.
 10140  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
 10141  	// spending are disabled.
 10142  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
 10143  	// entity.
 10144  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
 10145  	// deletion.
 10146  	SellerStatus string `json:"sellerStatus,omitempty"`
 10147  	// ForceSendFields is a list of field names (e.g. "ConfigStatus") to
 10148  	// unconditionally include in API requests. By default, fields with empty or
 10149  	// default values are omitted from API requests. See
 10150  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10151  	// details.
 10152  	ForceSendFields []string `json:"-"`
 10153  	// NullFields is a list of field names (e.g. "ConfigStatus") to include in API
 10154  	// requests with the JSON null value. By default, fields with empty values are
 10155  	// omitted from API requests. See
 10156  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10157  	NullFields []string `json:"-"`
 10158  }
 10159  
 10160  func (s *InventorySourceStatus) MarshalJSON() ([]byte, error) {
 10161  	type NoMethod InventorySourceStatus
 10162  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10163  }
 10164  
 10165  // InventorySourceVideoCreativeConfig: The configuration for video creatives.
 10166  type InventorySourceVideoCreativeConfig struct {
 10167  	// Duration: The duration requirements for the video creatives that can be
 10168  	// assigned to the inventory source.
 10169  	Duration string `json:"duration,omitempty"`
 10170  	// ForceSendFields is a list of field names (e.g. "Duration") to
 10171  	// unconditionally include in API requests. By default, fields with empty or
 10172  	// default values are omitted from API requests. See
 10173  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10174  	// details.
 10175  	ForceSendFields []string `json:"-"`
 10176  	// NullFields is a list of field names (e.g. "Duration") to include in API
 10177  	// requests with the JSON null value. By default, fields with empty values are
 10178  	// omitted from API requests. See
 10179  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10180  	NullFields []string `json:"-"`
 10181  }
 10182  
 10183  func (s *InventorySourceVideoCreativeConfig) MarshalJSON() ([]byte, error) {
 10184  	type NoMethod InventorySourceVideoCreativeConfig
 10185  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10186  }
 10187  
 10188  // Invoice: A single invoice.
 10189  type Invoice struct {
 10190  	// BudgetInvoiceGroupingId: The budget grouping ID for this invoice. This field
 10191  	// will only be set if the invoice level of the corresponding billing profile
 10192  	// was set to "Budget invoice grouping ID".
 10193  	BudgetInvoiceGroupingId string `json:"budgetInvoiceGroupingId,omitempty"`
 10194  	// BudgetSummaries: The list of summarized information for each budget
 10195  	// associated with this invoice. This field will only be set if the invoice
 10196  	// detail level of the corresponding billing profile was set to "Budget level
 10197  	// PO".
 10198  	BudgetSummaries []*BudgetSummary `json:"budgetSummaries,omitempty"`
 10199  	// CorrectedInvoiceId: The ID of the original invoice being adjusted by this
 10200  	// invoice, if applicable. May appear on the invoice PDF as `Reference invoice
 10201  	// number`. If replaced_invoice_ids is set, this field will be empty.
 10202  	CorrectedInvoiceId string `json:"correctedInvoiceId,omitempty"`
 10203  	// CurrencyCode: The currency used in the invoice in ISO 4217 format.
 10204  	CurrencyCode string `json:"currencyCode,omitempty"`
 10205  	// DisplayName: The display name of the invoice.
 10206  	DisplayName string `json:"displayName,omitempty"`
 10207  	// DueDate: The date when the invoice is due.
 10208  	DueDate *Date `json:"dueDate,omitempty"`
 10209  	// InvoiceId: The unique ID of the invoice.
 10210  	InvoiceId string `json:"invoiceId,omitempty"`
 10211  	// InvoiceType: The type of invoice document.
 10212  	//
 10213  	// Possible values:
 10214  	//   "INVOICE_TYPE_UNSPECIFIED" - Not specified or is unknown in this version.
 10215  	//   "INVOICE_TYPE_CREDIT" - The invoice has a negative amount.
 10216  	//   "INVOICE_TYPE_INVOICE" - The invoice has a positive amount.
 10217  	InvoiceType string `json:"invoiceType,omitempty"`
 10218  	// IssueDate: The date when the invoice was issued.
 10219  	IssueDate *Date `json:"issueDate,omitempty"`
 10220  	// Name: The resource name of the invoice.
 10221  	Name string `json:"name,omitempty"`
 10222  	// NonBudgetMicros: The total amount of costs or adjustments not tied to a
 10223  	// particular budget, in micros of the invoice's currency. For example, if
 10224  	// currency_code is `USD`, then 1000000 represents one US dollar.
 10225  	NonBudgetMicros int64 `json:"nonBudgetMicros,omitempty,string"`
 10226  	// PaymentsAccountId: The ID of the payments account the invoice belongs to.
 10227  	// Appears on the invoice PDF as `Billing Account Number`.
 10228  	PaymentsAccountId string `json:"paymentsAccountId,omitempty"`
 10229  	// PaymentsProfileId: The ID of the payments profile the invoice belongs to.
 10230  	// Appears on the invoice PDF as `Billing ID`.
 10231  	PaymentsProfileId string `json:"paymentsProfileId,omitempty"`
 10232  	// PdfUrl: The URL to download a PDF copy of the invoice. This URL is user
 10233  	// specific and requires a valid OAuth 2.0 access token to access. The access
 10234  	// token must be provided in an `Authorization: Bearer` HTTP header and be
 10235  	// authorized for one of the following scopes: *
 10236  	// `https://www.googleapis.com/auth/display-video-mediaplanning` *
 10237  	// `https://www.googleapis.com/auth/display-video` The URL will be valid for 7
 10238  	// days after retrieval of this invoice object or until this invoice is
 10239  	// retrieved again.
 10240  	PdfUrl string `json:"pdfUrl,omitempty"`
 10241  	// PurchaseOrderNumber: Purchase order number associated with the invoice.
 10242  	PurchaseOrderNumber string `json:"purchaseOrderNumber,omitempty"`
 10243  	// ReplacedInvoiceIds: The ID(s) of any originally issued invoice that is being
 10244  	// cancelled by this invoice, if applicable. Multiple invoices may be listed if
 10245  	// those invoices are being consolidated into a single invoice. May appear on
 10246  	// invoice PDF as `Replaced invoice numbers`. If corrected_invoice_id is set,
 10247  	// this field will be empty.
 10248  	ReplacedInvoiceIds []string `json:"replacedInvoiceIds,omitempty"`
 10249  	// ServiceDateRange: The service start and end dates which are covered by this
 10250  	// invoice.
 10251  	ServiceDateRange *DateRange `json:"serviceDateRange,omitempty"`
 10252  	// SubtotalAmountMicros: The pre-tax subtotal amount, in micros of the
 10253  	// invoice's currency. For example, if currency_code is `USD`, then 1000000
 10254  	// represents one US dollar.
 10255  	SubtotalAmountMicros int64 `json:"subtotalAmountMicros,omitempty,string"`
 10256  	// TotalAmountMicros: The invoice total amount, in micros of the invoice's
 10257  	// currency. For example, if currency_code is `USD`, then 1000000 represents
 10258  	// one US dollar.
 10259  	TotalAmountMicros int64 `json:"totalAmountMicros,omitempty,string"`
 10260  	// TotalTaxAmountMicros: The sum of all taxes in invoice, in micros of the
 10261  	// invoice's currency. For example, if currency_code is `USD`, then 1000000
 10262  	// represents one US dollar.
 10263  	TotalTaxAmountMicros int64 `json:"totalTaxAmountMicros,omitempty,string"`
 10264  	// ForceSendFields is a list of field names (e.g. "BudgetInvoiceGroupingId") to
 10265  	// unconditionally include in API requests. By default, fields with empty or
 10266  	// default values are omitted from API requests. See
 10267  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10268  	// details.
 10269  	ForceSendFields []string `json:"-"`
 10270  	// NullFields is a list of field names (e.g. "BudgetInvoiceGroupingId") to
 10271  	// include in API requests with the JSON null value. By default, fields with
 10272  	// empty values are omitted from API requests. See
 10273  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10274  	NullFields []string `json:"-"`
 10275  }
 10276  
 10277  func (s *Invoice) MarshalJSON() ([]byte, error) {
 10278  	type NoMethod Invoice
 10279  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10280  }
 10281  
 10282  // KeywordAssignedTargetingOptionDetails: Details for assigned keyword
 10283  // targeting option. This will be populated in the details field of an
 10284  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_KEYWORD`.
 10285  type KeywordAssignedTargetingOptionDetails struct {
 10286  	// Keyword: Required. The keyword, for example `car insurance`. Positive
 10287  	// keyword cannot be offensive word. Must be UTF-8 encoded with a maximum size
 10288  	// of 255 bytes. Maximum number of characters is 80. Maximum number of words is
 10289  	// 10.
 10290  	Keyword string `json:"keyword,omitempty"`
 10291  	// Negative: Indicates if this option is being negatively targeted.
 10292  	Negative bool `json:"negative,omitempty"`
 10293  	// ForceSendFields is a list of field names (e.g. "Keyword") to unconditionally
 10294  	// include in API requests. By default, fields with empty or default values are
 10295  	// omitted from API requests. See
 10296  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10297  	// details.
 10298  	ForceSendFields []string `json:"-"`
 10299  	// NullFields is a list of field names (e.g. "Keyword") to include in API
 10300  	// requests with the JSON null value. By default, fields with empty values are
 10301  	// omitted from API requests. See
 10302  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10303  	NullFields []string `json:"-"`
 10304  }
 10305  
 10306  func (s *KeywordAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 10307  	type NoMethod KeywordAssignedTargetingOptionDetails
 10308  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10309  }
 10310  
 10311  // Kpi: Settings that control the key performance indicator, or KPI, of an
 10312  // insertion order.
 10313  type Kpi struct {
 10314  	// KpiAlgorithmId: Optional. Custom Bidding Algorithm ID associated with
 10315  	// KPI_CUSTOM_IMPRESSION_VALUE_OVER_COST. This field is ignored if the proper
 10316  	// KPI is not selected.
 10317  	KpiAlgorithmId int64 `json:"kpiAlgorithmId,omitempty,string"`
 10318  	// KpiAmountMicros: The goal amount, in micros of the advertiser's currency.
 10319  	// Applicable when kpi_type is one of: * `KPI_TYPE_CPM` * `KPI_TYPE_CPC` *
 10320  	// `KPI_TYPE_CPA` * `KPI_TYPE_CPIAVC` * `KPI_TYPE_VCPM` For example: 1500000
 10321  	// represents 1.5 standard units of the currency.
 10322  	KpiAmountMicros int64 `json:"kpiAmountMicros,omitempty,string"`
 10323  	// KpiPercentageMicros: The decimal representation of the goal percentage in
 10324  	// micros. Applicable when kpi_type is one of: * `KPI_TYPE_CTR` *
 10325  	// `KPI_TYPE_VIEWABILITY` * `KPI_TYPE_CLICK_CVR` * `KPI_TYPE_IMPRESSION_CVR` *
 10326  	// `KPI_TYPE_VTR` * `KPI_TYPE_AUDIO_COMPLETION_RATE` *
 10327  	// `KPI_TYPE_VIDEO_COMPLETION_RATE` For example: 70000 represents 7% (decimal
 10328  	// 0.07).
 10329  	KpiPercentageMicros int64 `json:"kpiPercentageMicros,omitempty,string"`
 10330  	// KpiString: A KPI string, which can be empty. Must be UTF-8 encoded with a
 10331  	// length of no more than 100 characters. Applicable when kpi_type is
 10332  	// `KPI_TYPE_OTHER`.
 10333  	KpiString string `json:"kpiString,omitempty"`
 10334  	// KpiType: Required. The type of KPI.
 10335  	//
 10336  	// Possible values:
 10337  	//   "KPI_TYPE_UNSPECIFIED" - KPI type is not specified or is unknown in this
 10338  	// version.
 10339  	//   "KPI_TYPE_CPM" - The KPI is CPM (cost per mille).
 10340  	//   "KPI_TYPE_CPC" - The KPI is CPC (cost per click).
 10341  	//   "KPI_TYPE_CPA" - The KPI is CPA (cost per action).
 10342  	//   "KPI_TYPE_CTR" - The KPI is CTR (click-through rate) percentage.
 10343  	//   "KPI_TYPE_VIEWABILITY" - The KPI is Viewability percentage.
 10344  	//   "KPI_TYPE_CPIAVC" - The KPI is CPIAVC (cost per impression audible and
 10345  	// visible at completion).
 10346  	//   "KPI_TYPE_CPE" - The KPI is CPE (cost per engagement).
 10347  	//   "KPI_TYPE_CPV" - The KPI is set in CPV (cost per view).
 10348  	//   "KPI_TYPE_CLICK_CVR" - The KPI is click conversion rate (conversions per
 10349  	// click) percentage.
 10350  	//   "KPI_TYPE_IMPRESSION_CVR" - The KPI is impression conversion rate
 10351  	// (conversions per impression) percentage.
 10352  	//   "KPI_TYPE_VCPM" - The KPI is VCPM (cost per thousand viewable
 10353  	// impressions).
 10354  	//   "KPI_TYPE_VTR" - The KPI is YouTube view rate (YouTube views per
 10355  	// impression) percentage.
 10356  	//   "KPI_TYPE_AUDIO_COMPLETION_RATE" - The KPI is audio completion rate
 10357  	// (complete audio listens per impression) percentage.
 10358  	//   "KPI_TYPE_VIDEO_COMPLETION_RATE" - The KPI is video completion rate
 10359  	// (complete video views per impression) percentage.
 10360  	//   "KPI_TYPE_CPCL" - The KPI is set in CPCL (cost per complete audio listen).
 10361  	//   "KPI_TYPE_CPCV" - The KPI is set in CPCV (cost per complete video view).
 10362  	//   "KPI_TYPE_TOS10" - The KPI is set in rate of time on screen 10+ seconds
 10363  	// (Percentage of measurable, non-skippable impressions that were on the screen
 10364  	// for at least 10 seconds).
 10365  	//   "KPI_TYPE_MAXIMIZE_PACING" - The KPI is set to maximize brand impact while
 10366  	// prioritizing spending the full budget.
 10367  	//   "KPI_TYPE_CUSTOM_IMPRESSION_VALUE_OVER_COST" - The KPI is set in custom
 10368  	// impression value divided by cost.
 10369  	//   "KPI_TYPE_OTHER" - The KPI is some other value.
 10370  	KpiType string `json:"kpiType,omitempty"`
 10371  	// ForceSendFields is a list of field names (e.g. "KpiAlgorithmId") to
 10372  	// unconditionally include in API requests. By default, fields with empty or
 10373  	// default values are omitted from API requests. See
 10374  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10375  	// details.
 10376  	ForceSendFields []string `json:"-"`
 10377  	// NullFields is a list of field names (e.g. "KpiAlgorithmId") to include in
 10378  	// API requests with the JSON null value. By default, fields with empty values
 10379  	// are omitted from API requests. See
 10380  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10381  	NullFields []string `json:"-"`
 10382  }
 10383  
 10384  func (s *Kpi) MarshalJSON() ([]byte, error) {
 10385  	type NoMethod Kpi
 10386  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10387  }
 10388  
 10389  // LanguageAssignedTargetingOptionDetails: Details for assigned language
 10390  // targeting option. This will be populated in the details field of an
 10391  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_LANGUAGE`.
 10392  type LanguageAssignedTargetingOptionDetails struct {
 10393  	// DisplayName: Output only. The display name of the language (e.g., "French").
 10394  	DisplayName string `json:"displayName,omitempty"`
 10395  	// Negative: Indicates if this option is being negatively targeted. All
 10396  	// assigned language targeting options on the same resource must have the same
 10397  	// value for this field.
 10398  	Negative bool `json:"negative,omitempty"`
 10399  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
 10400  	// type `TARGETING_TYPE_LANGUAGE`.
 10401  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 10402  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 10403  	// unconditionally include in API requests. By default, fields with empty or
 10404  	// default values are omitted from API requests. See
 10405  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10406  	// details.
 10407  	ForceSendFields []string `json:"-"`
 10408  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 10409  	// requests with the JSON null value. By default, fields with empty values are
 10410  	// omitted from API requests. See
 10411  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10412  	NullFields []string `json:"-"`
 10413  }
 10414  
 10415  func (s *LanguageAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 10416  	type NoMethod LanguageAssignedTargetingOptionDetails
 10417  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10418  }
 10419  
 10420  // LanguageTargetingOptionDetails: Represents a targetable language. This will
 10421  // be populated in the language_details field when targeting_type is
 10422  // `TARGETING_TYPE_LANGUAGE`.
 10423  type LanguageTargetingOptionDetails struct {
 10424  	// DisplayName: Output only. The display name of the language (e.g., "French").
 10425  	DisplayName string `json:"displayName,omitempty"`
 10426  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 10427  	// unconditionally include in API requests. By default, fields with empty or
 10428  	// default values are omitted from API requests. See
 10429  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10430  	// details.
 10431  	ForceSendFields []string `json:"-"`
 10432  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 10433  	// requests with the JSON null value. By default, fields with empty values are
 10434  	// omitted from API requests. See
 10435  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10436  	NullFields []string `json:"-"`
 10437  }
 10438  
 10439  func (s *LanguageTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 10440  	type NoMethod LanguageTargetingOptionDetails
 10441  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10442  }
 10443  
 10444  // LineItem: A single line item.
 10445  type LineItem struct {
 10446  	// AdvertiserId: Output only. The unique ID of the advertiser the line item
 10447  	// belongs to.
 10448  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10449  	// BidStrategy: Required. The bidding strategy of the line item.
 10450  	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
 10451  	// Budget: Required. The budget allocation setting of the line item.
 10452  	Budget *LineItemBudget `json:"budget,omitempty"`
 10453  	// CampaignId: Output only. The unique ID of the campaign that the line item
 10454  	// belongs to.
 10455  	CampaignId int64 `json:"campaignId,omitempty,string"`
 10456  	// ConversionCounting: The conversion tracking setting of the line item.
 10457  	ConversionCounting *ConversionCountingConfig `json:"conversionCounting,omitempty"`
 10458  	// CreativeIds: The IDs of the creatives associated with the line item.
 10459  	CreativeIds googleapi.Int64s `json:"creativeIds,omitempty"`
 10460  	// DisplayName: Required. The display name of the line item. Must be UTF-8
 10461  	// encoded with a maximum size of 240 bytes.
 10462  	DisplayName string `json:"displayName,omitempty"`
 10463  	// EntityStatus: Required. Controls whether or not the line item can spend its
 10464  	// budget and bid on inventory. * For CreateLineItem method, only
 10465  	// `ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use
 10466  	// UpdateLineItem method and update the status to `ENTITY_STATUS_ACTIVE` after
 10467  	// creation. * A line item cannot be changed back to `ENTITY_STATUS_DRAFT`
 10468  	// status from any other status. * If the line item's parent insertion order is
 10469  	// not active, the line item can't spend its budget even if its own status is
 10470  	// `ENTITY_STATUS_ACTIVE`.
 10471  	//
 10472  	// Possible values:
 10473  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
 10474  	// or is unknown in this version.
 10475  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
 10476  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
 10477  	// spending are disabled. An entity can be deleted after archived. Deleted
 10478  	// entities cannot be retrieved.
 10479  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
 10480  	// spending are disabled.
 10481  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
 10482  	// entity.
 10483  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
 10484  	// deletion.
 10485  	EntityStatus string `json:"entityStatus,omitempty"`
 10486  	// ExcludeNewExchanges: Whether to exclude new exchanges from automatically
 10487  	// being targeted by the line item. This field is false by default.
 10488  	ExcludeNewExchanges bool `json:"excludeNewExchanges,omitempty"`
 10489  	// Flight: Required. The start and end time of the line item's flight.
 10490  	Flight *LineItemFlight `json:"flight,omitempty"`
 10491  	// FrequencyCap: Required. The impression frequency cap settings of the line
 10492  	// item. The max_impressions field in this settings object must be used if
 10493  	// assigning a limited cap.
 10494  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
 10495  	// InsertionOrderId: Required. Immutable. The unique ID of the insertion order
 10496  	// that the line item belongs to.
 10497  	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
 10498  	// IntegrationDetails: Integration details of the line item.
 10499  	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
 10500  	// LineItemId: Output only. The unique ID of the line item. Assigned by the
 10501  	// system.
 10502  	LineItemId int64 `json:"lineItemId,omitempty,string"`
 10503  	// LineItemType: Required. Immutable. The type of the line item.
 10504  	//
 10505  	// Possible values:
 10506  	//   "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is unknown
 10507  	// in this version. Line items of this type and their targeting cannot be
 10508  	// created or updated using the API.
 10509  	//   "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich media
 10510  	// ads.
 10511  	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that drive
 10512  	// installs of an app.
 10513  	//   "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for a
 10514  	// variety of environments.
 10515  	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive installs
 10516  	// of an app.
 10517  	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served on
 10518  	// mobile app inventory. Line items of this type and their targeting cannot be
 10519  	// created or updated using the API.
 10520  	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on mobile
 10521  	// app inventory. Line items of this type and their targeting cannot be created
 10522  	// or updated using the API.
 10523  	//   "LINE_ITEM_TYPE_AUDIO_DEFAULT" - RTB Audio ads sold for a variety of
 10524  	// environments.
 10525  	//   "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over-the-top ads present in OTT
 10526  	// insertion orders. This type is only applicable to line items with an
 10527  	// insertion order of insertion_order_type `OVER_THE_TOP`.
 10528  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION" - YouTube video ads that
 10529  	// promote conversions. Line items of this type and their targeting cannot be
 10530  	// created or updated using the API.
 10531  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE" - YouTube video ads
 10532  	// (up to 15 seconds) that cannot be skipped. Line items of this type and their
 10533  	// targeting cannot be created or updated using the API.
 10534  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE" - YouTube video ads
 10535  	// that show a story in a particular sequence using a mix of formats. Line
 10536  	// items of this type and their targeting cannot be created or updated using
 10537  	// the API.
 10538  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO" - YouTube audio ads. Line
 10539  	// items of this type and their targeting cannot be created or updated using
 10540  	// the API.
 10541  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH" - YouTube video ads that
 10542  	// optimize reaching more unique users at lower cost. May include bumper ads,
 10543  	// skippable in-stream ads, or a mix of types. Line items of this type and
 10544  	// their targeting cannot be created or updated using the API.
 10545  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE" - Default YouTube video ads.
 10546  	// Line items of this type and their targeting cannot be created or updated
 10547  	// using the API.
 10548  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP" -
 10549  	// Connected TV youTube video ads (up to 15 seconds) that cannot be skipped.
 10550  	// Line items of this type and their targeting cannot be created or updated
 10551  	// using the API.
 10552  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP" - Connected TV
 10553  	// youTube video ads that optimize reaching more unique users at lower cost.
 10554  	// May include bumper ads, skippable in-stream ads, or a mix of types. Line
 10555  	// items of this type and their targeting cannot be created or updated using
 10556  	// the API.
 10557  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP" - Connected TV
 10558  	// default YouTube video ads. Only include in-stream ad-format. Line items of
 10559  	// this type and their targeting cannot be created or updated using the API.
 10560  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY" - The goal of this
 10561  	// line item type is to show the YouTube ads target number of times to the same
 10562  	// person in a certain period of time. Line items of this type and their
 10563  	// targeting cannot be created or updated using the API.
 10564  	//   "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW" - YouTube video ads that aim to
 10565  	// get more views with a variety of ad formats. Line items of this type and
 10566  	// their targeting cannot be created or updated using the API.
 10567  	//   "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME" - Display ads served on
 10568  	// digital-out-of-home inventory. Line items of this type and their targeting
 10569  	// cannot be created or updated using the API.
 10570  	//   "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" - Video ads served on
 10571  	// digital-out-of-home inventory. Line items of this type and their targeting
 10572  	// cannot be created or updated using the API.
 10573  	LineItemType string `json:"lineItemType,omitempty"`
 10574  	// MobileApp: The mobile app promoted by the line item. This is applicable only
 10575  	// when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or
 10576  	// `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`.
 10577  	MobileApp *MobileApp `json:"mobileApp,omitempty"`
 10578  	// Name: Output only. The resource name of the line item.
 10579  	Name string `json:"name,omitempty"`
 10580  	// Pacing: Required. The budget spending speed setting of the line item.
 10581  	Pacing *Pacing `json:"pacing,omitempty"`
 10582  	// PartnerCosts: The partner costs associated with the line item. If absent or
 10583  	// empty in CreateLineItem method, the newly created line item will inherit
 10584  	// partner costs from its parent insertion order.
 10585  	PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"`
 10586  	// PartnerRevenueModel: Required. The partner revenue model setting of the line
 10587  	// item.
 10588  	PartnerRevenueModel *PartnerRevenueModel `json:"partnerRevenueModel,omitempty"`
 10589  	// ReservationType: Output only. The reservation type of the line item.
 10590  	//
 10591  	// Possible values:
 10592  	//   "RESERVATION_TYPE_UNSPECIFIED" - Reservation type value is not specified
 10593  	// or is unknown in this version.
 10594  	//   "RESERVATION_TYPE_NOT_GUARANTEED" - Not created through a guaranteed
 10595  	// inventory source.
 10596  	//   "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED" - Created through a
 10597  	// programmatic guaranteed inventory source.
 10598  	//   "RESERVATION_TYPE_TAG_GUARANTEED" - Created through a tag guaranteed
 10599  	// inventory source.
 10600  	//   "RESERVATION_TYPE_PETRA_VIRAL" - Created through a Petra inventory source.
 10601  	// Only applicable to YouTube and Partners line items.
 10602  	//   "RESERVATION_TYPE_INSTANT_RESERVE" - Created with an instant quote. Only
 10603  	// applicable to YouTube and partners line items.
 10604  	ReservationType string `json:"reservationType,omitempty"`
 10605  	// TargetingExpansion: The optimized targeting
 10606  	// (//support.google.com/displayvideo/answer/12060859) settings of the line
 10607  	// item. This config is only applicable for display, video, or audio line items
 10608  	// that use automated bidding and positively target eligible audience lists.
 10609  	TargetingExpansion *TargetingExpansionConfig `json:"targetingExpansion,omitempty"`
 10610  	// UpdateTime: Output only. The timestamp when the line item was last updated.
 10611  	// Assigned by the system.
 10612  	UpdateTime string `json:"updateTime,omitempty"`
 10613  	// WarningMessages: Output only. The warning messages generated by the line
 10614  	// item. These warnings do not block saving the line item, but some may block
 10615  	// the line item from running.
 10616  	//
 10617  	// Possible values:
 10618  	//   "LINE_ITEM_WARNING_MESSAGE_UNSPECIFIED" - Not specified or is unknown.
 10619  	//   "INVALID_FLIGHT_DATES" - This line item has invalid flight dates. The line
 10620  	// item will not run.
 10621  	//   "EXPIRED" - This line item's end date is in the past.
 10622  	//   "PENDING_FLIGHT" - This line item will begin running in the future.
 10623  	//   "ALL_PARTNER_ENABLED_EXCHANGES_NEGATIVELY_TARGETED" - All partner enabled
 10624  	// exchanges are negatively targeted. The line item will not run.
 10625  	//   "INVALID_INVENTORY_SOURCE" - No active inventory sources are being
 10626  	// targeted. The line item will not run.
 10627  	//   "APP_INVENTORY_INVALID_SITE_TARGETING" - This line item's Apps & URLs
 10628  	// targeting doesn't include any mobile apps. This line item's type requires
 10629  	// you to include mobile apps in your channel, sitelist, or apps targeting. The
 10630  	// line item will not run.
 10631  	//   "APP_INVENTORY_INVALID_AUDIENCE_LISTS" - This line item isn't targeting
 10632  	// any mobile users. This line item's type requires you to target a user list
 10633  	// with mobile users. The line item will not run.
 10634  	//   "NO_VALID_CREATIVE" - This line item does not contain any valid creative.
 10635  	// The line item will not run.
 10636  	//   "PARENT_INSERTION_ORDER_PAUSED" - The insertion order of this line item is
 10637  	// paused. The line item will not run.
 10638  	//   "PARENT_INSERTION_ORDER_EXPIRED" - The insertion order of this line item
 10639  	// has its end date set in the past. The line item will not run.
 10640  	WarningMessages []string `json:"warningMessages,omitempty"`
 10641  	// YoutubeAndPartnersSettings: Output only. Settings specific to YouTube and
 10642  	// Partners line items.
 10643  	YoutubeAndPartnersSettings *YoutubeAndPartnersSettings `json:"youtubeAndPartnersSettings,omitempty"`
 10644  
 10645  	// ServerResponse contains the HTTP response code and headers from the server.
 10646  	googleapi.ServerResponse `json:"-"`
 10647  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 10648  	// unconditionally include in API requests. By default, fields with empty or
 10649  	// default values are omitted from API requests. See
 10650  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10651  	// details.
 10652  	ForceSendFields []string `json:"-"`
 10653  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 10654  	// requests with the JSON null value. By default, fields with empty values are
 10655  	// omitted from API requests. See
 10656  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10657  	NullFields []string `json:"-"`
 10658  }
 10659  
 10660  func (s *LineItem) MarshalJSON() ([]byte, error) {
 10661  	type NoMethod LineItem
 10662  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10663  }
 10664  
 10665  // LineItemAssignedTargetingOption: Wrapper object associating an
 10666  // assigned_targeting_option resource and the line item it is assigned to.
 10667  type LineItemAssignedTargetingOption struct {
 10668  	// AssignedTargetingOption: The assigned targeting option resource.
 10669  	AssignedTargetingOption *AssignedTargetingOption `json:"assignedTargetingOption,omitempty"`
 10670  	// LineItemId: The ID of the line item the assigned targeting option is
 10671  	// assigned to.
 10672  	LineItemId int64 `json:"lineItemId,omitempty,string"`
 10673  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOption") to
 10674  	// unconditionally include in API requests. By default, fields with empty or
 10675  	// default values are omitted from API requests. See
 10676  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10677  	// details.
 10678  	ForceSendFields []string `json:"-"`
 10679  	// NullFields is a list of field names (e.g. "AssignedTargetingOption") to
 10680  	// include in API requests with the JSON null value. By default, fields with
 10681  	// empty values are omitted from API requests. See
 10682  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10683  	NullFields []string `json:"-"`
 10684  }
 10685  
 10686  func (s *LineItemAssignedTargetingOption) MarshalJSON() ([]byte, error) {
 10687  	type NoMethod LineItemAssignedTargetingOption
 10688  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10689  }
 10690  
 10691  // LineItemBudget: Settings that control how budget is allocated.
 10692  type LineItemBudget struct {
 10693  	// BudgetAllocationType: Required. The type of the budget allocation.
 10694  	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when
 10695  	// automatic budget allocation is enabled for the parent insertion order.
 10696  	//
 10697  	// Possible values:
 10698  	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED" - Type value is not
 10699  	// specified or is unknown in this version.
 10700  	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC" - Automatic budget allocation
 10701  	// is enabled for the line item.
 10702  	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED" - A fixed max budget amount is
 10703  	// allocated for the line item.
 10704  	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" - No budget limit is applied
 10705  	// to the line item.
 10706  	BudgetAllocationType string `json:"budgetAllocationType,omitempty"`
 10707  	// BudgetUnit: Output only. The budget unit specifies whether the budget is
 10708  	// currency based or impression based. This value is inherited from the parent
 10709  	// insertion order.
 10710  	//
 10711  	// Possible values:
 10712  	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in
 10713  	// this version.
 10714  	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
 10715  	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
 10716  	BudgetUnit string `json:"budgetUnit,omitempty"`
 10717  	// MaxAmount: The maximum budget amount the line item will spend. Must be
 10718  	// greater than 0. When budget_allocation_type is: *
 10719  	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable and is
 10720  	// set by the system. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`, if
 10721  	// budget_unit is: - `BUDGET_UNIT_CURRENCY`, this field represents maximum
 10722  	// budget amount to spend, in micros of the advertiser's currency. For example,
 10723  	// 1500000 represents 1.5 standard units of the currency. -
 10724  	// `BUDGET_UNIT_IMPRESSIONS`, this field represents the maximum number of
 10725  	// impressions to serve. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this
 10726  	// field is not applicable and will be ignored by the system.
 10727  	MaxAmount int64 `json:"maxAmount,omitempty,string"`
 10728  	// ForceSendFields is a list of field names (e.g. "BudgetAllocationType") to
 10729  	// unconditionally include in API requests. By default, fields with empty or
 10730  	// default values are omitted from API requests. See
 10731  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10732  	// details.
 10733  	ForceSendFields []string `json:"-"`
 10734  	// NullFields is a list of field names (e.g. "BudgetAllocationType") to include
 10735  	// in API requests with the JSON null value. By default, fields with empty
 10736  	// values are omitted from API requests. See
 10737  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10738  	NullFields []string `json:"-"`
 10739  }
 10740  
 10741  func (s *LineItemBudget) MarshalJSON() ([]byte, error) {
 10742  	type NoMethod LineItemBudget
 10743  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10744  }
 10745  
 10746  // LineItemFlight: Settings that control the active duration of a line item.
 10747  type LineItemFlight struct {
 10748  	// DateRange: The flight start and end dates of the line item. They are
 10749  	// resolved relative to the parent advertiser's time zone. * Required when
 10750  	// flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output only
 10751  	// otherwise. * When creating a new flight, both `start_date` and `end_date`
 10752  	// must be in the future. * An existing flight with a `start_date` in the past
 10753  	// has a mutable `end_date` but an immutable `start_date`. * `end_date` must be
 10754  	// the `start_date` or later, both before the year 2037.
 10755  	DateRange *DateRange `json:"dateRange,omitempty"`
 10756  	// FlightDateType: Required. The type of the line item's flight dates.
 10757  	//
 10758  	// Possible values:
 10759  	//   "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED" - Type value is not specified or
 10760  	// is unknown in this version.
 10761  	//   "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED" - The line item's flight dates are
 10762  	// inherited from its parent insertion order.
 10763  	//   "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" - The line item uses its own custom
 10764  	// flight dates.
 10765  	FlightDateType string `json:"flightDateType,omitempty"`
 10766  	// ForceSendFields is a list of field names (e.g. "DateRange") to
 10767  	// unconditionally include in API requests. By default, fields with empty or
 10768  	// default values are omitted from API requests. See
 10769  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10770  	// details.
 10771  	ForceSendFields []string `json:"-"`
 10772  	// NullFields is a list of field names (e.g. "DateRange") to include in API
 10773  	// requests with the JSON null value. By default, fields with empty values are
 10774  	// omitted from API requests. See
 10775  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10776  	NullFields []string `json:"-"`
 10777  }
 10778  
 10779  func (s *LineItemFlight) MarshalJSON() ([]byte, error) {
 10780  	type NoMethod LineItemFlight
 10781  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10782  }
 10783  
 10784  type ListAdGroupAdsResponse struct {
 10785  	// AdGroupAds: The list of ad group ads. This list will be absent if empty.
 10786  	AdGroupAds []*AdGroupAd `json:"adGroupAds,omitempty"`
 10787  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10788  	// in the page_token field in the subsequent call to `ListAdGroupAds` method to
 10789  	// retrieve the next page of results.
 10790  	NextPageToken string `json:"nextPageToken,omitempty"`
 10791  
 10792  	// ServerResponse contains the HTTP response code and headers from the server.
 10793  	googleapi.ServerResponse `json:"-"`
 10794  	// ForceSendFields is a list of field names (e.g. "AdGroupAds") to
 10795  	// unconditionally include in API requests. By default, fields with empty or
 10796  	// default values are omitted from API requests. See
 10797  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10798  	// details.
 10799  	ForceSendFields []string `json:"-"`
 10800  	// NullFields is a list of field names (e.g. "AdGroupAds") to include in API
 10801  	// requests with the JSON null value. By default, fields with empty values are
 10802  	// omitted from API requests. See
 10803  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10804  	NullFields []string `json:"-"`
 10805  }
 10806  
 10807  func (s *ListAdGroupAdsResponse) MarshalJSON() ([]byte, error) {
 10808  	type NoMethod ListAdGroupAdsResponse
 10809  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10810  }
 10811  
 10812  // ListAdGroupAssignedTargetingOptionsResponse: Response message for
 10813  // ListAdGroupAssignedTargetingOptions.
 10814  type ListAdGroupAssignedTargetingOptionsResponse struct {
 10815  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 10816  	// will be absent if empty.
 10817  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 10818  	// NextPageToken: A token identifying the next page of results. This value
 10819  	// should be specified as the pageToken in a subsequent
 10820  	// ListAdGroupAssignedTargetingOptionsRequest to fetch the next page of
 10821  	// results. This token will be absent if there are no more
 10822  	// AssignedTargetingOption resources to return.
 10823  	NextPageToken string `json:"nextPageToken,omitempty"`
 10824  
 10825  	// ServerResponse contains the HTTP response code and headers from the server.
 10826  	googleapi.ServerResponse `json:"-"`
 10827  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 10828  	// to unconditionally include in API requests. By default, fields with empty or
 10829  	// default values are omitted from API requests. See
 10830  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10831  	// details.
 10832  	ForceSendFields []string `json:"-"`
 10833  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 10834  	// include in API requests with the JSON null value. By default, fields with
 10835  	// empty values are omitted from API requests. See
 10836  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10837  	NullFields []string `json:"-"`
 10838  }
 10839  
 10840  func (s *ListAdGroupAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 10841  	type NoMethod ListAdGroupAssignedTargetingOptionsResponse
 10842  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10843  }
 10844  
 10845  type ListAdGroupsResponse struct {
 10846  	// AdGroups: The list of ad groups. This list will be absent if empty.
 10847  	AdGroups []*AdGroup `json:"adGroups,omitempty"`
 10848  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10849  	// in the page_token field in the subsequent call to `ListAdGroups` method to
 10850  	// retrieve the next page of results.
 10851  	NextPageToken string `json:"nextPageToken,omitempty"`
 10852  
 10853  	// ServerResponse contains the HTTP response code and headers from the server.
 10854  	googleapi.ServerResponse `json:"-"`
 10855  	// ForceSendFields is a list of field names (e.g. "AdGroups") to
 10856  	// unconditionally include in API requests. By default, fields with empty or
 10857  	// default values are omitted from API requests. See
 10858  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10859  	// details.
 10860  	ForceSendFields []string `json:"-"`
 10861  	// NullFields is a list of field names (e.g. "AdGroups") to include in API
 10862  	// requests with the JSON null value. By default, fields with empty values are
 10863  	// omitted from API requests. See
 10864  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10865  	NullFields []string `json:"-"`
 10866  }
 10867  
 10868  func (s *ListAdGroupsResponse) MarshalJSON() ([]byte, error) {
 10869  	type NoMethod ListAdGroupsResponse
 10870  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10871  }
 10872  
 10873  // ListAdvertiserAssignedTargetingOptionsResponse: Response message for
 10874  // ListAdvertiserAssignedTargetingOptions.
 10875  type ListAdvertiserAssignedTargetingOptionsResponse struct {
 10876  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 10877  	// will be absent if empty.
 10878  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 10879  	// NextPageToken: A token identifying the next page of results. This value
 10880  	// should be specified as the pageToken in a subsequent
 10881  	// ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of
 10882  	// results. This token will be absent if there are no more
 10883  	// assigned_targeting_options to return.
 10884  	NextPageToken string `json:"nextPageToken,omitempty"`
 10885  
 10886  	// ServerResponse contains the HTTP response code and headers from the server.
 10887  	googleapi.ServerResponse `json:"-"`
 10888  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 10889  	// to unconditionally include in API requests. By default, fields with empty or
 10890  	// default values are omitted from API requests. See
 10891  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10892  	// details.
 10893  	ForceSendFields []string `json:"-"`
 10894  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 10895  	// include in API requests with the JSON null value. By default, fields with
 10896  	// empty values are omitted from API requests. See
 10897  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10898  	NullFields []string `json:"-"`
 10899  }
 10900  
 10901  func (s *ListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 10902  	type NoMethod ListAdvertiserAssignedTargetingOptionsResponse
 10903  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10904  }
 10905  
 10906  type ListAdvertisersResponse struct {
 10907  	// Advertisers: The list of advertisers. This list will be absent if empty.
 10908  	Advertisers []*Advertiser `json:"advertisers,omitempty"`
 10909  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10910  	// in the page_token field in the subsequent call to `ListAdvertisers` method
 10911  	// to retrieve the next page of results.
 10912  	NextPageToken string `json:"nextPageToken,omitempty"`
 10913  
 10914  	// ServerResponse contains the HTTP response code and headers from the server.
 10915  	googleapi.ServerResponse `json:"-"`
 10916  	// ForceSendFields is a list of field names (e.g. "Advertisers") to
 10917  	// unconditionally include in API requests. By default, fields with empty or
 10918  	// default values are omitted from API requests. See
 10919  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10920  	// details.
 10921  	ForceSendFields []string `json:"-"`
 10922  	// NullFields is a list of field names (e.g. "Advertisers") to include in API
 10923  	// requests with the JSON null value. By default, fields with empty values are
 10924  	// omitted from API requests. See
 10925  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10926  	NullFields []string `json:"-"`
 10927  }
 10928  
 10929  func (s *ListAdvertisersResponse) MarshalJSON() ([]byte, error) {
 10930  	type NoMethod ListAdvertisersResponse
 10931  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10932  }
 10933  
 10934  // ListAssignedInventorySourcesResponse: Response message for
 10935  // AssignedInventorySourceService.ListAssignedInventorySources.
 10936  type ListAssignedInventorySourcesResponse struct {
 10937  	// AssignedInventorySources: The list of assigned inventory sources. This list
 10938  	// will be absent if empty.
 10939  	AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"`
 10940  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10941  	// in the page_token field in the subsequent call to
 10942  	// `ListAssignedInventorySources` method to retrieve the next page of results.
 10943  	NextPageToken string `json:"nextPageToken,omitempty"`
 10944  
 10945  	// ServerResponse contains the HTTP response code and headers from the server.
 10946  	googleapi.ServerResponse `json:"-"`
 10947  	// ForceSendFields is a list of field names (e.g. "AssignedInventorySources")
 10948  	// to unconditionally include in API requests. By default, fields with empty or
 10949  	// default values are omitted from API requests. See
 10950  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10951  	// details.
 10952  	ForceSendFields []string `json:"-"`
 10953  	// NullFields is a list of field names (e.g. "AssignedInventorySources") to
 10954  	// include in API requests with the JSON null value. By default, fields with
 10955  	// empty values are omitted from API requests. See
 10956  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10957  	NullFields []string `json:"-"`
 10958  }
 10959  
 10960  func (s *ListAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) {
 10961  	type NoMethod ListAssignedInventorySourcesResponse
 10962  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10963  }
 10964  
 10965  // ListAssignedLocationsResponse: Response message for
 10966  // AssignedLocationService.ListAssignedLocations.
 10967  type ListAssignedLocationsResponse struct {
 10968  	// AssignedLocations: The list of assigned locations. This list will be absent
 10969  	// if empty.
 10970  	AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"`
 10971  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 10972  	// in the page_token field in the subsequent call to `ListAssignedLocations`
 10973  	// method to retrieve the next page of results.
 10974  	NextPageToken string `json:"nextPageToken,omitempty"`
 10975  
 10976  	// ServerResponse contains the HTTP response code and headers from the server.
 10977  	googleapi.ServerResponse `json:"-"`
 10978  	// ForceSendFields is a list of field names (e.g. "AssignedLocations") to
 10979  	// unconditionally include in API requests. By default, fields with empty or
 10980  	// default values are omitted from API requests. See
 10981  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 10982  	// details.
 10983  	ForceSendFields []string `json:"-"`
 10984  	// NullFields is a list of field names (e.g. "AssignedLocations") to include in
 10985  	// API requests with the JSON null value. By default, fields with empty values
 10986  	// are omitted from API requests. See
 10987  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 10988  	NullFields []string `json:"-"`
 10989  }
 10990  
 10991  func (s *ListAssignedLocationsResponse) MarshalJSON() ([]byte, error) {
 10992  	type NoMethod ListAssignedLocationsResponse
 10993  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 10994  }
 10995  
 10996  // ListCampaignAssignedTargetingOptionsResponse: Response message for
 10997  // ListCampaignAssignedTargetingOptions.
 10998  type ListCampaignAssignedTargetingOptionsResponse struct {
 10999  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 11000  	// will be absent if empty.
 11001  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 11002  	// NextPageToken: A token identifying the next page of results. This value
 11003  	// should be specified as the pageToken in a subsequent
 11004  	// ListCampaignAssignedTargetingOptionsRequest to fetch the next page of
 11005  	// results. This token will be absent if there are no more
 11006  	// assigned_targeting_options to return.
 11007  	NextPageToken string `json:"nextPageToken,omitempty"`
 11008  
 11009  	// ServerResponse contains the HTTP response code and headers from the server.
 11010  	googleapi.ServerResponse `json:"-"`
 11011  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 11012  	// to unconditionally include in API requests. By default, fields with empty or
 11013  	// default values are omitted from API requests. See
 11014  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11015  	// details.
 11016  	ForceSendFields []string `json:"-"`
 11017  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 11018  	// include in API requests with the JSON null value. By default, fields with
 11019  	// empty values are omitted from API requests. See
 11020  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11021  	NullFields []string `json:"-"`
 11022  }
 11023  
 11024  func (s *ListCampaignAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 11025  	type NoMethod ListCampaignAssignedTargetingOptionsResponse
 11026  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11027  }
 11028  
 11029  type ListCampaignsResponse struct {
 11030  	// Campaigns: The list of campaigns. This list will be absent if empty.
 11031  	Campaigns []*Campaign `json:"campaigns,omitempty"`
 11032  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11033  	// in the page_token field in the subsequent call to `ListCampaigns` method to
 11034  	// retrieve the next page of results.
 11035  	NextPageToken string `json:"nextPageToken,omitempty"`
 11036  
 11037  	// ServerResponse contains the HTTP response code and headers from the server.
 11038  	googleapi.ServerResponse `json:"-"`
 11039  	// ForceSendFields is a list of field names (e.g. "Campaigns") to
 11040  	// unconditionally include in API requests. By default, fields with empty or
 11041  	// default values are omitted from API requests. See
 11042  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11043  	// details.
 11044  	ForceSendFields []string `json:"-"`
 11045  	// NullFields is a list of field names (e.g. "Campaigns") to include in API
 11046  	// requests with the JSON null value. By default, fields with empty values are
 11047  	// omitted from API requests. See
 11048  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11049  	NullFields []string `json:"-"`
 11050  }
 11051  
 11052  func (s *ListCampaignsResponse) MarshalJSON() ([]byte, error) {
 11053  	type NoMethod ListCampaignsResponse
 11054  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11055  }
 11056  
 11057  type ListChannelsResponse struct {
 11058  	// Channels: The list of channels. This list will be absent if empty.
 11059  	Channels []*Channel `json:"channels,omitempty"`
 11060  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11061  	// in the page_token field in the subsequent call to `ListChannels` method to
 11062  	// retrieve the next page of results.
 11063  	NextPageToken string `json:"nextPageToken,omitempty"`
 11064  
 11065  	// ServerResponse contains the HTTP response code and headers from the server.
 11066  	googleapi.ServerResponse `json:"-"`
 11067  	// ForceSendFields is a list of field names (e.g. "Channels") to
 11068  	// unconditionally include in API requests. By default, fields with empty or
 11069  	// default values are omitted from API requests. See
 11070  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11071  	// details.
 11072  	ForceSendFields []string `json:"-"`
 11073  	// NullFields is a list of field names (e.g. "Channels") to include in API
 11074  	// requests with the JSON null value. By default, fields with empty values are
 11075  	// omitted from API requests. See
 11076  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11077  	NullFields []string `json:"-"`
 11078  }
 11079  
 11080  func (s *ListChannelsResponse) MarshalJSON() ([]byte, error) {
 11081  	type NoMethod ListChannelsResponse
 11082  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11083  }
 11084  
 11085  type ListCombinedAudiencesResponse struct {
 11086  	// CombinedAudiences: The list of combined audiences. This list will be absent
 11087  	// if empty.
 11088  	CombinedAudiences []*CombinedAudience `json:"combinedAudiences,omitempty"`
 11089  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11090  	// in the page_token field in the subsequent call to `ListCombinedAudiences`
 11091  	// method to retrieve the next page of results.
 11092  	NextPageToken string `json:"nextPageToken,omitempty"`
 11093  
 11094  	// ServerResponse contains the HTTP response code and headers from the server.
 11095  	googleapi.ServerResponse `json:"-"`
 11096  	// ForceSendFields is a list of field names (e.g. "CombinedAudiences") to
 11097  	// unconditionally include in API requests. By default, fields with empty or
 11098  	// default values are omitted from API requests. See
 11099  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11100  	// details.
 11101  	ForceSendFields []string `json:"-"`
 11102  	// NullFields is a list of field names (e.g. "CombinedAudiences") to include in
 11103  	// API requests with the JSON null value. By default, fields with empty values
 11104  	// are omitted from API requests. See
 11105  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11106  	NullFields []string `json:"-"`
 11107  }
 11108  
 11109  func (s *ListCombinedAudiencesResponse) MarshalJSON() ([]byte, error) {
 11110  	type NoMethod ListCombinedAudiencesResponse
 11111  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11112  }
 11113  
 11114  type ListCreativesResponse struct {
 11115  	// Creatives: The list of creatives. This list will be absent if empty.
 11116  	Creatives []*Creative `json:"creatives,omitempty"`
 11117  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11118  	// in the page_token field in the subsequent call to `ListCreativesRequest`
 11119  	// method to retrieve the next page of results. If this field is null, it means
 11120  	// this is the last page.
 11121  	NextPageToken string `json:"nextPageToken,omitempty"`
 11122  
 11123  	// ServerResponse contains the HTTP response code and headers from the server.
 11124  	googleapi.ServerResponse `json:"-"`
 11125  	// ForceSendFields is a list of field names (e.g. "Creatives") to
 11126  	// unconditionally include in API requests. By default, fields with empty or
 11127  	// default values are omitted from API requests. See
 11128  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11129  	// details.
 11130  	ForceSendFields []string `json:"-"`
 11131  	// NullFields is a list of field names (e.g. "Creatives") to include in API
 11132  	// requests with the JSON null value. By default, fields with empty values are
 11133  	// omitted from API requests. See
 11134  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11135  	NullFields []string `json:"-"`
 11136  }
 11137  
 11138  func (s *ListCreativesResponse) MarshalJSON() ([]byte, error) {
 11139  	type NoMethod ListCreativesResponse
 11140  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11141  }
 11142  
 11143  type ListCustomBiddingAlgorithmRulesResponse struct {
 11144  	// CustomBiddingRules: The list of CustomBiddingAlgorithmRules resources. This
 11145  	// list will be absent if empty.
 11146  	CustomBiddingRules []*CustomBiddingAlgorithmRules `json:"customBiddingRules,omitempty"`
 11147  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11148  	// in the page_token field in the subsequent call to
 11149  	// `ListCustomBiddingAlgorithmRulesRequest` method to retrieve the next page of
 11150  	// results. If this field is null, it means this is the last page.
 11151  	NextPageToken string `json:"nextPageToken,omitempty"`
 11152  
 11153  	// ServerResponse contains the HTTP response code and headers from the server.
 11154  	googleapi.ServerResponse `json:"-"`
 11155  	// ForceSendFields is a list of field names (e.g. "CustomBiddingRules") to
 11156  	// unconditionally include in API requests. By default, fields with empty or
 11157  	// default values are omitted from API requests. See
 11158  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11159  	// details.
 11160  	ForceSendFields []string `json:"-"`
 11161  	// NullFields is a list of field names (e.g. "CustomBiddingRules") to include
 11162  	// in API requests with the JSON null value. By default, fields with empty
 11163  	// values are omitted from API requests. See
 11164  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11165  	NullFields []string `json:"-"`
 11166  }
 11167  
 11168  func (s *ListCustomBiddingAlgorithmRulesResponse) MarshalJSON() ([]byte, error) {
 11169  	type NoMethod ListCustomBiddingAlgorithmRulesResponse
 11170  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11171  }
 11172  
 11173  type ListCustomBiddingAlgorithmsResponse struct {
 11174  	// CustomBiddingAlgorithms: The list of custom bidding algorithms. This list
 11175  	// will be absent if empty.
 11176  	CustomBiddingAlgorithms []*CustomBiddingAlgorithm `json:"customBiddingAlgorithms,omitempty"`
 11177  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11178  	// in the page_token field in the subsequent call to
 11179  	// `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page of
 11180  	// results. If this field is null, it means this is the last page.
 11181  	NextPageToken string `json:"nextPageToken,omitempty"`
 11182  
 11183  	// ServerResponse contains the HTTP response code and headers from the server.
 11184  	googleapi.ServerResponse `json:"-"`
 11185  	// ForceSendFields is a list of field names (e.g. "CustomBiddingAlgorithms") to
 11186  	// unconditionally include in API requests. By default, fields with empty or
 11187  	// default values are omitted from API requests. See
 11188  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11189  	// details.
 11190  	ForceSendFields []string `json:"-"`
 11191  	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithms") to
 11192  	// include in API requests with the JSON null value. By default, fields with
 11193  	// empty values are omitted from API requests. See
 11194  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11195  	NullFields []string `json:"-"`
 11196  }
 11197  
 11198  func (s *ListCustomBiddingAlgorithmsResponse) MarshalJSON() ([]byte, error) {
 11199  	type NoMethod ListCustomBiddingAlgorithmsResponse
 11200  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11201  }
 11202  
 11203  type ListCustomBiddingScriptsResponse struct {
 11204  	// CustomBiddingScripts: The list of custom bidding scripts. This list will be
 11205  	// absent if empty.
 11206  	CustomBiddingScripts []*CustomBiddingScript `json:"customBiddingScripts,omitempty"`
 11207  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11208  	// in the page_token field in the subsequent call to
 11209  	// `ListCustomBiddingScriptsRequest` method to retrieve the next page of
 11210  	// results. If this field is null, it means this is the last page.
 11211  	NextPageToken string `json:"nextPageToken,omitempty"`
 11212  
 11213  	// ServerResponse contains the HTTP response code and headers from the server.
 11214  	googleapi.ServerResponse `json:"-"`
 11215  	// ForceSendFields is a list of field names (e.g. "CustomBiddingScripts") to
 11216  	// unconditionally include in API requests. By default, fields with empty or
 11217  	// default values are omitted from API requests. See
 11218  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11219  	// details.
 11220  	ForceSendFields []string `json:"-"`
 11221  	// NullFields is a list of field names (e.g. "CustomBiddingScripts") to include
 11222  	// in API requests with the JSON null value. By default, fields with empty
 11223  	// values are omitted from API requests. See
 11224  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11225  	NullFields []string `json:"-"`
 11226  }
 11227  
 11228  func (s *ListCustomBiddingScriptsResponse) MarshalJSON() ([]byte, error) {
 11229  	type NoMethod ListCustomBiddingScriptsResponse
 11230  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11231  }
 11232  
 11233  type ListCustomListsResponse struct {
 11234  	// CustomLists: The list of custom lists. This list will be absent if empty.
 11235  	CustomLists []*CustomList `json:"customLists,omitempty"`
 11236  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11237  	// in the page_token field in the subsequent call to `ListCustomLists` method
 11238  	// to retrieve the next page of results.
 11239  	NextPageToken string `json:"nextPageToken,omitempty"`
 11240  
 11241  	// ServerResponse contains the HTTP response code and headers from the server.
 11242  	googleapi.ServerResponse `json:"-"`
 11243  	// ForceSendFields is a list of field names (e.g. "CustomLists") to
 11244  	// unconditionally include in API requests. By default, fields with empty or
 11245  	// default values are omitted from API requests. See
 11246  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11247  	// details.
 11248  	ForceSendFields []string `json:"-"`
 11249  	// NullFields is a list of field names (e.g. "CustomLists") to include in API
 11250  	// requests with the JSON null value. By default, fields with empty values are
 11251  	// omitted from API requests. See
 11252  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11253  	NullFields []string `json:"-"`
 11254  }
 11255  
 11256  func (s *ListCustomListsResponse) MarshalJSON() ([]byte, error) {
 11257  	type NoMethod ListCustomListsResponse
 11258  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11259  }
 11260  
 11261  type ListFirstAndThirdPartyAudiencesResponse struct {
 11262  	// FirstAndThirdPartyAudiences: The list of first and third party audiences.
 11263  	// Audience size properties will not be included. This list will be absent if
 11264  	// empty.
 11265  	FirstAndThirdPartyAudiences []*FirstAndThirdPartyAudience `json:"firstAndThirdPartyAudiences,omitempty"`
 11266  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11267  	// in the page_token field in the subsequent call to
 11268  	// `ListFirstAndThirdPartyAudiences` method to retrieve the next page of
 11269  	// results.
 11270  	NextPageToken string `json:"nextPageToken,omitempty"`
 11271  
 11272  	// ServerResponse contains the HTTP response code and headers from the server.
 11273  	googleapi.ServerResponse `json:"-"`
 11274  	// ForceSendFields is a list of field names (e.g.
 11275  	// "FirstAndThirdPartyAudiences") to unconditionally include in API requests.
 11276  	// By default, fields with empty or default values are omitted from API
 11277  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
 11278  	// for more details.
 11279  	ForceSendFields []string `json:"-"`
 11280  	// NullFields is a list of field names (e.g. "FirstAndThirdPartyAudiences") to
 11281  	// include in API requests with the JSON null value. By default, fields with
 11282  	// empty values are omitted from API requests. See
 11283  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11284  	NullFields []string `json:"-"`
 11285  }
 11286  
 11287  func (s *ListFirstAndThirdPartyAudiencesResponse) MarshalJSON() ([]byte, error) {
 11288  	type NoMethod ListFirstAndThirdPartyAudiencesResponse
 11289  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11290  }
 11291  
 11292  type ListFloodlightActivitiesResponse struct {
 11293  	// FloodlightActivities: The list of Floodlight activities. This list will be
 11294  	// absent if empty.
 11295  	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
 11296  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11297  	// in the page_token field in the subsequent call to `ListFloodlightActivities`
 11298  	// method to retrieve the next page of results.
 11299  	NextPageToken string `json:"nextPageToken,omitempty"`
 11300  
 11301  	// ServerResponse contains the HTTP response code and headers from the server.
 11302  	googleapi.ServerResponse `json:"-"`
 11303  	// ForceSendFields is a list of field names (e.g. "FloodlightActivities") to
 11304  	// unconditionally include in API requests. By default, fields with empty or
 11305  	// default values are omitted from API requests. See
 11306  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11307  	// details.
 11308  	ForceSendFields []string `json:"-"`
 11309  	// NullFields is a list of field names (e.g. "FloodlightActivities") to include
 11310  	// in API requests with the JSON null value. By default, fields with empty
 11311  	// values are omitted from API requests. See
 11312  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11313  	NullFields []string `json:"-"`
 11314  }
 11315  
 11316  func (s *ListFloodlightActivitiesResponse) MarshalJSON() ([]byte, error) {
 11317  	type NoMethod ListFloodlightActivitiesResponse
 11318  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11319  }
 11320  
 11321  type ListGoogleAudiencesResponse struct {
 11322  	// GoogleAudiences: The list of Google audiences. This list will be absent if
 11323  	// empty.
 11324  	GoogleAudiences []*GoogleAudience `json:"googleAudiences,omitempty"`
 11325  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11326  	// in the page_token field in the subsequent call to `ListGoogleAudiences`
 11327  	// method to retrieve the next page of results.
 11328  	NextPageToken string `json:"nextPageToken,omitempty"`
 11329  
 11330  	// ServerResponse contains the HTTP response code and headers from the server.
 11331  	googleapi.ServerResponse `json:"-"`
 11332  	// ForceSendFields is a list of field names (e.g. "GoogleAudiences") to
 11333  	// unconditionally include in API requests. By default, fields with empty or
 11334  	// default values are omitted from API requests. See
 11335  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11336  	// details.
 11337  	ForceSendFields []string `json:"-"`
 11338  	// NullFields is a list of field names (e.g. "GoogleAudiences") to include in
 11339  	// API requests with the JSON null value. By default, fields with empty values
 11340  	// are omitted from API requests. See
 11341  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11342  	NullFields []string `json:"-"`
 11343  }
 11344  
 11345  func (s *ListGoogleAudiencesResponse) MarshalJSON() ([]byte, error) {
 11346  	type NoMethod ListGoogleAudiencesResponse
 11347  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11348  }
 11349  
 11350  type ListGuaranteedOrdersResponse struct {
 11351  	// GuaranteedOrders: The list of guaranteed orders. This list will be absent if
 11352  	// empty.
 11353  	GuaranteedOrders []*GuaranteedOrder `json:"guaranteedOrders,omitempty"`
 11354  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11355  	// in the page_token field in the subsequent call to `ListGuaranteedOrders`
 11356  	// method to retrieve the next page of results.
 11357  	NextPageToken string `json:"nextPageToken,omitempty"`
 11358  
 11359  	// ServerResponse contains the HTTP response code and headers from the server.
 11360  	googleapi.ServerResponse `json:"-"`
 11361  	// ForceSendFields is a list of field names (e.g. "GuaranteedOrders") to
 11362  	// unconditionally include in API requests. By default, fields with empty or
 11363  	// default values are omitted from API requests. See
 11364  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11365  	// details.
 11366  	ForceSendFields []string `json:"-"`
 11367  	// NullFields is a list of field names (e.g. "GuaranteedOrders") to include in
 11368  	// API requests with the JSON null value. By default, fields with empty values
 11369  	// are omitted from API requests. See
 11370  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11371  	NullFields []string `json:"-"`
 11372  }
 11373  
 11374  func (s *ListGuaranteedOrdersResponse) MarshalJSON() ([]byte, error) {
 11375  	type NoMethod ListGuaranteedOrdersResponse
 11376  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11377  }
 11378  
 11379  type ListInsertionOrderAssignedTargetingOptionsResponse struct {
 11380  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 11381  	// will be absent if empty.
 11382  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 11383  	// NextPageToken: A token identifying the next page of results. This value
 11384  	// should be specified as the pageToken in a subsequent
 11385  	// ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of
 11386  	// results. This token will be absent if there are no more
 11387  	// assigned_targeting_options to return.
 11388  	NextPageToken string `json:"nextPageToken,omitempty"`
 11389  
 11390  	// ServerResponse contains the HTTP response code and headers from the server.
 11391  	googleapi.ServerResponse `json:"-"`
 11392  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 11393  	// to unconditionally include in API requests. By default, fields with empty or
 11394  	// default values are omitted from API requests. See
 11395  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11396  	// details.
 11397  	ForceSendFields []string `json:"-"`
 11398  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 11399  	// include in API requests with the JSON null value. By default, fields with
 11400  	// empty values are omitted from API requests. See
 11401  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11402  	NullFields []string `json:"-"`
 11403  }
 11404  
 11405  func (s *ListInsertionOrderAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 11406  	type NoMethod ListInsertionOrderAssignedTargetingOptionsResponse
 11407  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11408  }
 11409  
 11410  type ListInsertionOrdersResponse struct {
 11411  	// InsertionOrders: The list of insertion orders. This list will be absent if
 11412  	// empty.
 11413  	InsertionOrders []*InsertionOrder `json:"insertionOrders,omitempty"`
 11414  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11415  	// in the page_token field in the subsequent call to `ListInsertionOrders`
 11416  	// method to retrieve the next page of results.
 11417  	NextPageToken string `json:"nextPageToken,omitempty"`
 11418  
 11419  	// ServerResponse contains the HTTP response code and headers from the server.
 11420  	googleapi.ServerResponse `json:"-"`
 11421  	// ForceSendFields is a list of field names (e.g. "InsertionOrders") to
 11422  	// unconditionally include in API requests. By default, fields with empty or
 11423  	// default values are omitted from API requests. See
 11424  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11425  	// details.
 11426  	ForceSendFields []string `json:"-"`
 11427  	// NullFields is a list of field names (e.g. "InsertionOrders") to include in
 11428  	// API requests with the JSON null value. By default, fields with empty values
 11429  	// are omitted from API requests. See
 11430  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11431  	NullFields []string `json:"-"`
 11432  }
 11433  
 11434  func (s *ListInsertionOrdersResponse) MarshalJSON() ([]byte, error) {
 11435  	type NoMethod ListInsertionOrdersResponse
 11436  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11437  }
 11438  
 11439  // ListInventorySourceGroupsResponse: Response message for
 11440  // InventorySourceGroupService.ListInventorySourceGroups.
 11441  type ListInventorySourceGroupsResponse struct {
 11442  	// InventorySourceGroups: The list of inventory source groups. This list will
 11443  	// be absent if empty.
 11444  	InventorySourceGroups []*InventorySourceGroup `json:"inventorySourceGroups,omitempty"`
 11445  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11446  	// in the page_token field in the subsequent call to
 11447  	// `ListInventorySourceGroups` method to retrieve the next page of results.
 11448  	NextPageToken string `json:"nextPageToken,omitempty"`
 11449  
 11450  	// ServerResponse contains the HTTP response code and headers from the server.
 11451  	googleapi.ServerResponse `json:"-"`
 11452  	// ForceSendFields is a list of field names (e.g. "InventorySourceGroups") to
 11453  	// unconditionally include in API requests. By default, fields with empty or
 11454  	// default values are omitted from API requests. See
 11455  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11456  	// details.
 11457  	ForceSendFields []string `json:"-"`
 11458  	// NullFields is a list of field names (e.g. "InventorySourceGroups") to
 11459  	// include in API requests with the JSON null value. By default, fields with
 11460  	// empty values are omitted from API requests. See
 11461  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11462  	NullFields []string `json:"-"`
 11463  }
 11464  
 11465  func (s *ListInventorySourceGroupsResponse) MarshalJSON() ([]byte, error) {
 11466  	type NoMethod ListInventorySourceGroupsResponse
 11467  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11468  }
 11469  
 11470  type ListInventorySourcesResponse struct {
 11471  	// InventorySources: The list of inventory sources. This list will be absent if
 11472  	// empty.
 11473  	InventorySources []*InventorySource `json:"inventorySources,omitempty"`
 11474  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11475  	// in the page_token field in the subsequent call to `ListInventorySources`
 11476  	// method to retrieve the next page of results.
 11477  	NextPageToken string `json:"nextPageToken,omitempty"`
 11478  
 11479  	// ServerResponse contains the HTTP response code and headers from the server.
 11480  	googleapi.ServerResponse `json:"-"`
 11481  	// ForceSendFields is a list of field names (e.g. "InventorySources") to
 11482  	// unconditionally include in API requests. By default, fields with empty or
 11483  	// default values are omitted from API requests. See
 11484  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11485  	// details.
 11486  	ForceSendFields []string `json:"-"`
 11487  	// NullFields is a list of field names (e.g. "InventorySources") to include in
 11488  	// API requests with the JSON null value. By default, fields with empty values
 11489  	// are omitted from API requests. See
 11490  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11491  	NullFields []string `json:"-"`
 11492  }
 11493  
 11494  func (s *ListInventorySourcesResponse) MarshalJSON() ([]byte, error) {
 11495  	type NoMethod ListInventorySourcesResponse
 11496  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11497  }
 11498  
 11499  type ListInvoicesResponse struct {
 11500  	// Invoices: The list of invoices. This list will be absent if empty.
 11501  	Invoices []*Invoice `json:"invoices,omitempty"`
 11502  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11503  	// in the page_token field in the subsequent call to `ListInvoices` method to
 11504  	// retrieve the next page of results. This token will be absent if there are no
 11505  	// more invoices to return.
 11506  	NextPageToken string `json:"nextPageToken,omitempty"`
 11507  
 11508  	// ServerResponse contains the HTTP response code and headers from the server.
 11509  	googleapi.ServerResponse `json:"-"`
 11510  	// ForceSendFields is a list of field names (e.g. "Invoices") to
 11511  	// unconditionally include in API requests. By default, fields with empty or
 11512  	// default values are omitted from API requests. See
 11513  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11514  	// details.
 11515  	ForceSendFields []string `json:"-"`
 11516  	// NullFields is a list of field names (e.g. "Invoices") to include in API
 11517  	// requests with the JSON null value. By default, fields with empty values are
 11518  	// omitted from API requests. See
 11519  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11520  	NullFields []string `json:"-"`
 11521  }
 11522  
 11523  func (s *ListInvoicesResponse) MarshalJSON() ([]byte, error) {
 11524  	type NoMethod ListInvoicesResponse
 11525  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11526  }
 11527  
 11528  // ListLineItemAssignedTargetingOptionsResponse: Response message for
 11529  // ListLineItemAssignedTargetingOptions.
 11530  type ListLineItemAssignedTargetingOptionsResponse struct {
 11531  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 11532  	// will be absent if empty.
 11533  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 11534  	// NextPageToken: A token identifying the next page of results. This value
 11535  	// should be specified as the pageToken in a subsequent
 11536  	// ListLineItemAssignedTargetingOptionsRequest to fetch the next page of
 11537  	// results. This token will be absent if there are no more
 11538  	// assigned_targeting_options to return.
 11539  	NextPageToken string `json:"nextPageToken,omitempty"`
 11540  
 11541  	// ServerResponse contains the HTTP response code and headers from the server.
 11542  	googleapi.ServerResponse `json:"-"`
 11543  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 11544  	// to unconditionally include in API requests. By default, fields with empty or
 11545  	// default values are omitted from API requests. See
 11546  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11547  	// details.
 11548  	ForceSendFields []string `json:"-"`
 11549  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 11550  	// include in API requests with the JSON null value. By default, fields with
 11551  	// empty values are omitted from API requests. See
 11552  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11553  	NullFields []string `json:"-"`
 11554  }
 11555  
 11556  func (s *ListLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 11557  	type NoMethod ListLineItemAssignedTargetingOptionsResponse
 11558  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11559  }
 11560  
 11561  type ListLineItemsResponse struct {
 11562  	// LineItems: The list of line items. This list will be absent if empty.
 11563  	LineItems []*LineItem `json:"lineItems,omitempty"`
 11564  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11565  	// in the page_token field in the subsequent call to `ListLineItems` method to
 11566  	// retrieve the next page of results.
 11567  	NextPageToken string `json:"nextPageToken,omitempty"`
 11568  
 11569  	// ServerResponse contains the HTTP response code and headers from the server.
 11570  	googleapi.ServerResponse `json:"-"`
 11571  	// ForceSendFields is a list of field names (e.g. "LineItems") to
 11572  	// unconditionally include in API requests. By default, fields with empty or
 11573  	// default values are omitted from API requests. See
 11574  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11575  	// details.
 11576  	ForceSendFields []string `json:"-"`
 11577  	// NullFields is a list of field names (e.g. "LineItems") to include in API
 11578  	// requests with the JSON null value. By default, fields with empty values are
 11579  	// omitted from API requests. See
 11580  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11581  	NullFields []string `json:"-"`
 11582  }
 11583  
 11584  func (s *ListLineItemsResponse) MarshalJSON() ([]byte, error) {
 11585  	type NoMethod ListLineItemsResponse
 11586  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11587  }
 11588  
 11589  type ListLocationListsResponse struct {
 11590  	// LocationLists: The list of location lists. This list will be absent if
 11591  	// empty.
 11592  	LocationLists []*LocationList `json:"locationLists,omitempty"`
 11593  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11594  	// in the page_token field in the subsequent call to `ListLocationLists` method
 11595  	// to retrieve the next page of results.
 11596  	NextPageToken string `json:"nextPageToken,omitempty"`
 11597  
 11598  	// ServerResponse contains the HTTP response code and headers from the server.
 11599  	googleapi.ServerResponse `json:"-"`
 11600  	// ForceSendFields is a list of field names (e.g. "LocationLists") to
 11601  	// unconditionally include in API requests. By default, fields with empty or
 11602  	// default values are omitted from API requests. See
 11603  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11604  	// details.
 11605  	ForceSendFields []string `json:"-"`
 11606  	// NullFields is a list of field names (e.g. "LocationLists") to include in API
 11607  	// requests with the JSON null value. By default, fields with empty values are
 11608  	// omitted from API requests. See
 11609  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11610  	NullFields []string `json:"-"`
 11611  }
 11612  
 11613  func (s *ListLocationListsResponse) MarshalJSON() ([]byte, error) {
 11614  	type NoMethod ListLocationListsResponse
 11615  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11616  }
 11617  
 11618  // ListNegativeKeywordListsResponse: Response message for
 11619  // NegativeKeywordListService.ListNegativeKeywordLists.
 11620  type ListNegativeKeywordListsResponse struct {
 11621  	// NegativeKeywordLists: The list of negative keyword lists. This list will be
 11622  	// absent if empty.
 11623  	NegativeKeywordLists []*NegativeKeywordList `json:"negativeKeywordLists,omitempty"`
 11624  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11625  	// in the page_token field in the subsequent call to `ListNegativeKeywordLists`
 11626  	// method to retrieve the next page of results.
 11627  	NextPageToken string `json:"nextPageToken,omitempty"`
 11628  
 11629  	// ServerResponse contains the HTTP response code and headers from the server.
 11630  	googleapi.ServerResponse `json:"-"`
 11631  	// ForceSendFields is a list of field names (e.g. "NegativeKeywordLists") to
 11632  	// unconditionally include in API requests. By default, fields with empty or
 11633  	// default values are omitted from API requests. See
 11634  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11635  	// details.
 11636  	ForceSendFields []string `json:"-"`
 11637  	// NullFields is a list of field names (e.g. "NegativeKeywordLists") to include
 11638  	// in API requests with the JSON null value. By default, fields with empty
 11639  	// values are omitted from API requests. See
 11640  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11641  	NullFields []string `json:"-"`
 11642  }
 11643  
 11644  func (s *ListNegativeKeywordListsResponse) MarshalJSON() ([]byte, error) {
 11645  	type NoMethod ListNegativeKeywordListsResponse
 11646  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11647  }
 11648  
 11649  // ListNegativeKeywordsResponse: Response message for
 11650  // NegativeKeywordService.ListNegativeKeywords.
 11651  type ListNegativeKeywordsResponse struct {
 11652  	// NegativeKeywords: The list of negative keywords. This list will be absent if
 11653  	// empty.
 11654  	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
 11655  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11656  	// in the page_token field in the subsequent call to `ListNegativeKeywords`
 11657  	// method to retrieve the next page of results.
 11658  	NextPageToken string `json:"nextPageToken,omitempty"`
 11659  
 11660  	// ServerResponse contains the HTTP response code and headers from the server.
 11661  	googleapi.ServerResponse `json:"-"`
 11662  	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
 11663  	// unconditionally include in API requests. By default, fields with empty or
 11664  	// default values are 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. "NegativeKeywords") to include in
 11669  	// API requests with the JSON null value. By default, fields with empty values
 11670  	// are omitted 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 *ListNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
 11676  	type NoMethod ListNegativeKeywordsResponse
 11677  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11678  }
 11679  
 11680  type ListPartnerAssignedTargetingOptionsResponse struct {
 11681  	// AssignedTargetingOptions: The list of assigned targeting options. This list
 11682  	// will be absent if empty.
 11683  	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
 11684  	// NextPageToken: A token identifying the next page of results. This value
 11685  	// should be specified as the pageToken in a subsequent
 11686  	// ListPartnerAssignedTargetingOptionsRequest to fetch the next page of
 11687  	// results. This token will be absent if there are no more
 11688  	// assigned_targeting_options to return.
 11689  	NextPageToken string `json:"nextPageToken,omitempty"`
 11690  
 11691  	// ServerResponse contains the HTTP response code and headers from the server.
 11692  	googleapi.ServerResponse `json:"-"`
 11693  	// ForceSendFields is a list of field names (e.g. "AssignedTargetingOptions")
 11694  	// to unconditionally include in API requests. By default, fields with empty or
 11695  	// default values are omitted from API requests. See
 11696  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11697  	// details.
 11698  	ForceSendFields []string `json:"-"`
 11699  	// NullFields is a list of field names (e.g. "AssignedTargetingOptions") to
 11700  	// include in API requests with the JSON null value. By default, fields with
 11701  	// empty values are omitted from API requests. See
 11702  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11703  	NullFields []string `json:"-"`
 11704  }
 11705  
 11706  func (s *ListPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 11707  	type NoMethod ListPartnerAssignedTargetingOptionsResponse
 11708  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11709  }
 11710  
 11711  type ListPartnersResponse struct {
 11712  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11713  	// in the page_token field in the subsequent call to `ListPartners` method to
 11714  	// retrieve the next page of results.
 11715  	NextPageToken string `json:"nextPageToken,omitempty"`
 11716  	// Partners: The list of partners. This list will be absent if empty.
 11717  	Partners []*Partner `json:"partners,omitempty"`
 11718  
 11719  	// ServerResponse contains the HTTP response code and headers from the server.
 11720  	googleapi.ServerResponse `json:"-"`
 11721  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 11722  	// unconditionally include in API requests. By default, fields with empty or
 11723  	// default values are omitted from API requests. See
 11724  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11725  	// details.
 11726  	ForceSendFields []string `json:"-"`
 11727  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 11728  	// requests with the JSON null value. By default, fields with empty values are
 11729  	// omitted from API requests. See
 11730  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11731  	NullFields []string `json:"-"`
 11732  }
 11733  
 11734  func (s *ListPartnersResponse) MarshalJSON() ([]byte, error) {
 11735  	type NoMethod ListPartnersResponse
 11736  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11737  }
 11738  
 11739  // ListSitesResponse: Response message for SiteService.ListSites.
 11740  type ListSitesResponse struct {
 11741  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11742  	// in the page_token field in the subsequent call to `ListSites` method to
 11743  	// retrieve the next page of results.
 11744  	NextPageToken string `json:"nextPageToken,omitempty"`
 11745  	// Sites: The list of sites. This list will be absent if empty.
 11746  	Sites []*Site `json:"sites,omitempty"`
 11747  
 11748  	// ServerResponse contains the HTTP response code and headers from the server.
 11749  	googleapi.ServerResponse `json:"-"`
 11750  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 11751  	// unconditionally include in API requests. By default, fields with empty or
 11752  	// default values are omitted from API requests. See
 11753  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11754  	// details.
 11755  	ForceSendFields []string `json:"-"`
 11756  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 11757  	// requests with the JSON null value. By default, fields with empty values are
 11758  	// omitted from API requests. See
 11759  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11760  	NullFields []string `json:"-"`
 11761  }
 11762  
 11763  func (s *ListSitesResponse) MarshalJSON() ([]byte, error) {
 11764  	type NoMethod ListSitesResponse
 11765  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11766  }
 11767  
 11768  // ListTargetingOptionsResponse: Response message for ListTargetingOptions.
 11769  type ListTargetingOptionsResponse struct {
 11770  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11771  	// in the page_token field in the subsequent call to `ListTargetingOptions`
 11772  	// method to retrieve the next page of results.
 11773  	NextPageToken string `json:"nextPageToken,omitempty"`
 11774  	// TargetingOptions: The list of targeting options. This list will be absent if
 11775  	// empty.
 11776  	TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"`
 11777  
 11778  	// ServerResponse contains the HTTP response code and headers from the server.
 11779  	googleapi.ServerResponse `json:"-"`
 11780  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 11781  	// unconditionally include in API requests. By default, fields with empty or
 11782  	// default values are omitted from API requests. See
 11783  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11784  	// details.
 11785  	ForceSendFields []string `json:"-"`
 11786  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 11787  	// requests with the JSON null value. By default, fields with empty values are
 11788  	// omitted from API requests. See
 11789  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11790  	NullFields []string `json:"-"`
 11791  }
 11792  
 11793  func (s *ListTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 11794  	type NoMethod ListTargetingOptionsResponse
 11795  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11796  }
 11797  
 11798  type ListUsersResponse struct {
 11799  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 11800  	// in the page_token field in the subsequent call to `ListUsers` method to
 11801  	// retrieve the next page of results. This token will be absent if there are no
 11802  	// more results to return.
 11803  	NextPageToken string `json:"nextPageToken,omitempty"`
 11804  	// Users: The list of users. This list will be absent if empty.
 11805  	Users []*User `json:"users,omitempty"`
 11806  
 11807  	// ServerResponse contains the HTTP response code and headers from the server.
 11808  	googleapi.ServerResponse `json:"-"`
 11809  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 11810  	// unconditionally include in API requests. By default, fields with empty or
 11811  	// default values are omitted from API requests. See
 11812  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11813  	// details.
 11814  	ForceSendFields []string `json:"-"`
 11815  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 11816  	// requests with the JSON null value. By default, fields with empty values are
 11817  	// omitted from API requests. See
 11818  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11819  	NullFields []string `json:"-"`
 11820  }
 11821  
 11822  func (s *ListUsersResponse) MarshalJSON() ([]byte, error) {
 11823  	type NoMethod ListUsersResponse
 11824  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11825  }
 11826  
 11827  // LocationList: A list of locations used for targeting.
 11828  type LocationList struct {
 11829  	// AdvertiserId: Required. Immutable. The unique ID of the advertiser the
 11830  	// location list belongs to.
 11831  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 11832  	// DisplayName: Required. The display name of the location list. Must be UTF-8
 11833  	// encoded with a maximum size of 240 bytes.
 11834  	DisplayName string `json:"displayName,omitempty"`
 11835  	// LocationListId: Output only. The unique ID of the location list. Assigned by
 11836  	// the system.
 11837  	LocationListId int64 `json:"locationListId,omitempty,string"`
 11838  	// LocationType: Required. Immutable. The type of location. All locations in
 11839  	// the list will share this type.
 11840  	//
 11841  	// Possible values:
 11842  	//   "TARGETING_LOCATION_TYPE_UNSPECIFIED" - Default value when type is not
 11843  	// specified or is unknown.
 11844  	//   "TARGETING_LOCATION_TYPE_PROXIMITY" - The type for proximity geo location.
 11845  	//   "TARGETING_LOCATION_TYPE_REGIONAL" - The type for regional geo location.
 11846  	LocationType string `json:"locationType,omitempty"`
 11847  	// Name: Output only. The resource name of the location list.
 11848  	Name string `json:"name,omitempty"`
 11849  
 11850  	// ServerResponse contains the HTTP response code and headers from the server.
 11851  	googleapi.ServerResponse `json:"-"`
 11852  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 11853  	// unconditionally include in API requests. By default, fields with empty or
 11854  	// default values are omitted from API requests. See
 11855  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11856  	// details.
 11857  	ForceSendFields []string `json:"-"`
 11858  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 11859  	// requests with the JSON null value. By default, fields with empty values are
 11860  	// omitted from API requests. See
 11861  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11862  	NullFields []string `json:"-"`
 11863  }
 11864  
 11865  func (s *LocationList) MarshalJSON() ([]byte, error) {
 11866  	type NoMethod LocationList
 11867  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11868  }
 11869  
 11870  // LookbackWindow: Specifies how many days into the past to look when
 11871  // determining whether to record a conversion.
 11872  type LookbackWindow struct {
 11873  	// ClickDays: Lookback window, in days, from the last time a given user clicked
 11874  	// on one of your ads.
 11875  	ClickDays int64 `json:"clickDays,omitempty"`
 11876  	// ImpressionDays: Lookback window, in days, from the last time a given user
 11877  	// viewed one of your ads.
 11878  	ImpressionDays int64 `json:"impressionDays,omitempty"`
 11879  	// ForceSendFields is a list of field names (e.g. "ClickDays") to
 11880  	// unconditionally include in API requests. By default, fields with empty or
 11881  	// default values are omitted from API requests. See
 11882  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11883  	// details.
 11884  	ForceSendFields []string `json:"-"`
 11885  	// NullFields is a list of field names (e.g. "ClickDays") to include in API
 11886  	// requests with the JSON null value. By default, fields with empty values are
 11887  	// omitted from API requests. See
 11888  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11889  	NullFields []string `json:"-"`
 11890  }
 11891  
 11892  func (s *LookbackWindow) MarshalJSON() ([]byte, error) {
 11893  	type NoMethod LookbackWindow
 11894  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11895  }
 11896  
 11897  type LookupInvoiceCurrencyResponse struct {
 11898  	// CurrencyCode: Currency used by the advertiser in ISO 4217 format.
 11899  	CurrencyCode string `json:"currencyCode,omitempty"`
 11900  
 11901  	// ServerResponse contains the HTTP response code and headers from the server.
 11902  	googleapi.ServerResponse `json:"-"`
 11903  	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
 11904  	// unconditionally include in API requests. By default, fields with empty or
 11905  	// default values are omitted from API requests. See
 11906  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11907  	// details.
 11908  	ForceSendFields []string `json:"-"`
 11909  	// NullFields is a list of field names (e.g. "CurrencyCode") to include in API
 11910  	// requests with the JSON null value. By default, fields with empty values are
 11911  	// omitted from API requests. See
 11912  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11913  	NullFields []string `json:"-"`
 11914  }
 11915  
 11916  func (s *LookupInvoiceCurrencyResponse) MarshalJSON() ([]byte, error) {
 11917  	type NoMethod LookupInvoiceCurrencyResponse
 11918  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11919  }
 11920  
 11921  // MastheadAd: Details for a Masthead Ad.
 11922  type MastheadAd struct {
 11923  	// AutoplayVideoDuration: The duration of time the video will autoplay.
 11924  	AutoplayVideoDuration string `json:"autoplayVideoDuration,omitempty"`
 11925  	// AutoplayVideoStartMillisecond: The amount of time in milliseconds after
 11926  	// which the video will start to play.
 11927  	AutoplayVideoStartMillisecond int64 `json:"autoplayVideoStartMillisecond,omitempty,string"`
 11928  	// CallToActionButtonLabel: The text on the call-to-action button.
 11929  	CallToActionButtonLabel string `json:"callToActionButtonLabel,omitempty"`
 11930  	// CallToActionFinalUrl: The destination URL for the call-to-action button.
 11931  	CallToActionFinalUrl string `json:"callToActionFinalUrl,omitempty"`
 11932  	// CallToActionTrackingUrl: The tracking URL for the call-to-action button.
 11933  	CallToActionTrackingUrl string `json:"callToActionTrackingUrl,omitempty"`
 11934  	// CompanionYoutubeVideos: The videos that appear next to the Masthead Ad on
 11935  	// desktop. Can be no more than two.
 11936  	CompanionYoutubeVideos []*YoutubeVideoDetails `json:"companionYoutubeVideos,omitempty"`
 11937  	// Description: The description of the ad.
 11938  	Description string `json:"description,omitempty"`
 11939  	// Headline: The headline of the ad.
 11940  	Headline string `json:"headline,omitempty"`
 11941  	// ShowChannelArt: Whether to show a background or banner that appears at the
 11942  	// top of a YouTube page.
 11943  	ShowChannelArt bool `json:"showChannelArt,omitempty"`
 11944  	// Video: The YouTube video used by the ad.
 11945  	Video *YoutubeVideoDetails `json:"video,omitempty"`
 11946  	// VideoAspectRatio: The aspect ratio of the autoplaying YouTube video on the
 11947  	// Masthead.
 11948  	//
 11949  	// Possible values:
 11950  	//   "VIDEO_ASPECT_RATIO_UNSPECIFIED" - Not specified or unknown.
 11951  	//   "VIDEO_ASPECT_RATIO_WIDESCREEN" - The video is stretched and the top and
 11952  	// bottom are cropped.
 11953  	//   "VIDEO_ASPECT_RATIO_FIXED_16_9" - The video uses a fixed 16:9 aspect
 11954  	// ratio.
 11955  	VideoAspectRatio string `json:"videoAspectRatio,omitempty"`
 11956  	// ForceSendFields is a list of field names (e.g. "AutoplayVideoDuration") to
 11957  	// unconditionally include in API requests. By default, fields with empty or
 11958  	// default values are omitted from API requests. See
 11959  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 11960  	// details.
 11961  	ForceSendFields []string `json:"-"`
 11962  	// NullFields is a list of field names (e.g. "AutoplayVideoDuration") to
 11963  	// include in API requests with the JSON null value. By default, fields with
 11964  	// empty values are omitted from API requests. See
 11965  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 11966  	NullFields []string `json:"-"`
 11967  }
 11968  
 11969  func (s *MastheadAd) MarshalJSON() ([]byte, error) {
 11970  	type NoMethod MastheadAd
 11971  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 11972  }
 11973  
 11974  // MaximizeSpendBidStrategy: A strategy that automatically adjusts the bid to
 11975  // optimize a specified performance goal while spending the full budget.
 11976  type MaximizeSpendBidStrategy struct {
 11977  	// CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used by
 11978  	// this strategy. Only applicable when performance_goal_type is set to
 11979  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
 11980  	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
 11981  	// MaxAverageCpmBidAmountMicros: The maximum average CPM that may be bid, in
 11982  	// micros of the advertiser's currency. Must be greater than or equal to a
 11983  	// billable unit of the given currency. For example, 1500000 represents 1.5
 11984  	// standard units of the currency.
 11985  	MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"`
 11986  	// PerformanceGoalType: Required. The type of the performance goal that the
 11987  	// bidding strategy tries to minimize while spending the full budget.
 11988  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for
 11989  	// this strategy.
 11990  	//
 11991  	// Possible values:
 11992  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value is not
 11993  	// specified or is unknown in this version.
 11994  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action.
 11995  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click.
 11996  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable CPM.
 11997  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom bidding
 11998  	// algorithm.
 11999  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview and
 12000  	// audible views.
 12001  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over 10
 12002  	// secs views.
 12003  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable impressions.
 12004  	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
 12005  	// RaiseBidForDeals: Whether the strategy takes deal floor prices into account.
 12006  	RaiseBidForDeals bool `json:"raiseBidForDeals,omitempty"`
 12007  	// ForceSendFields is a list of field names (e.g. "CustomBiddingAlgorithmId")
 12008  	// to unconditionally include in API requests. By default, fields with empty or
 12009  	// default values are omitted from API requests. See
 12010  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12011  	// details.
 12012  	ForceSendFields []string `json:"-"`
 12013  	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId") to
 12014  	// include in API requests with the JSON null value. By default, fields with
 12015  	// empty values are omitted from API requests. See
 12016  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12017  	NullFields []string `json:"-"`
 12018  }
 12019  
 12020  func (s *MaximizeSpendBidStrategy) MarshalJSON() ([]byte, error) {
 12021  	type NoMethod MaximizeSpendBidStrategy
 12022  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12023  }
 12024  
 12025  // MeasurementConfig: Measurement settings of a partner.
 12026  type MeasurementConfig struct {
 12027  	// Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to CM360.
 12028  	Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"`
 12029  	// Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in CM360
 12030  	// data transfer reports.
 12031  	Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"`
 12032  	// ForceSendFields is a list of field names (e.g.
 12033  	// "Dv360ToCmCostReportingEnabled") to unconditionally include in API requests.
 12034  	// By default, fields with empty or default values are omitted from API
 12035  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
 12036  	// for more details.
 12037  	ForceSendFields []string `json:"-"`
 12038  	// NullFields is a list of field names (e.g. "Dv360ToCmCostReportingEnabled")
 12039  	// to include in API requests with the JSON null value. By default, fields with
 12040  	// empty values are omitted from API requests. See
 12041  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12042  	NullFields []string `json:"-"`
 12043  }
 12044  
 12045  func (s *MeasurementConfig) MarshalJSON() ([]byte, error) {
 12046  	type NoMethod MeasurementConfig
 12047  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12048  }
 12049  
 12050  // MobileApp: A mobile app promoted by a mobile app install line item.
 12051  type MobileApp struct {
 12052  	// AppId: Required. The ID of the app provided by the platform store. Android
 12053  	// apps are identified by the bundle ID used by Android's Play store, such as
 12054  	// `com.google.android.gm`. iOS apps are identified by a nine-digit app ID used
 12055  	// by Apple's App store, such as `422689480`.
 12056  	AppId string `json:"appId,omitempty"`
 12057  	// DisplayName: Output only. The app name.
 12058  	DisplayName string `json:"displayName,omitempty"`
 12059  	// Platform: Output only. The app platform.
 12060  	//
 12061  	// Possible values:
 12062  	//   "PLATFORM_UNSPECIFIED" - Platform is not specified.
 12063  	//   "IOS" - iOS platform.
 12064  	//   "ANDROID" - Android platform.
 12065  	Platform string `json:"platform,omitempty"`
 12066  	// Publisher: Output only. The app publisher.
 12067  	Publisher string `json:"publisher,omitempty"`
 12068  	// ForceSendFields is a list of field names (e.g. "AppId") to unconditionally
 12069  	// include in API requests. By default, fields with empty or default values are
 12070  	// omitted from API requests. See
 12071  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12072  	// details.
 12073  	ForceSendFields []string `json:"-"`
 12074  	// NullFields is a list of field names (e.g. "AppId") to include in API
 12075  	// requests with the JSON null value. By default, fields with empty values are
 12076  	// omitted from API requests. See
 12077  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12078  	NullFields []string `json:"-"`
 12079  }
 12080  
 12081  func (s *MobileApp) MarshalJSON() ([]byte, error) {
 12082  	type NoMethod MobileApp
 12083  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12084  }
 12085  
 12086  // MobileDeviceIdList: Wrapper message for a list of mobile device IDs defining
 12087  // Customer Match audience members.
 12088  type MobileDeviceIdList struct {
 12089  	// Consent: Input only. The consent setting for the users in mobile_device_ids.
 12090  	// Leaving this field unset indicates that consent is not specified. If
 12091  	// ad_user_data or ad_personalization fields are set to
 12092  	// `CONSENT_STATUS_DENIED`, the request will return an error.
 12093  	Consent *Consent `json:"consent,omitempty"`
 12094  	// MobileDeviceIds: A list of mobile device IDs defining Customer Match
 12095  	// audience members. The size of mobile_device_ids mustn't be greater than
 12096  	// 500,000.
 12097  	MobileDeviceIds []string `json:"mobileDeviceIds,omitempty"`
 12098  	// ForceSendFields is a list of field names (e.g. "Consent") to unconditionally
 12099  	// include in API requests. By default, fields with empty or default values are
 12100  	// omitted from API requests. See
 12101  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12102  	// details.
 12103  	ForceSendFields []string `json:"-"`
 12104  	// NullFields is a list of field names (e.g. "Consent") to include in API
 12105  	// requests with the JSON null value. By default, fields with empty values are
 12106  	// omitted from API requests. See
 12107  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12108  	NullFields []string `json:"-"`
 12109  }
 12110  
 12111  func (s *MobileDeviceIdList) MarshalJSON() ([]byte, error) {
 12112  	type NoMethod MobileDeviceIdList
 12113  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12114  }
 12115  
 12116  // Money: Represents an amount of money with its currency type.
 12117  type Money struct {
 12118  	// CurrencyCode: The three-letter currency code defined in ISO 4217.
 12119  	CurrencyCode string `json:"currencyCode,omitempty"`
 12120  	// Nanos: Number of nano (10^-9) units of the amount. The value must be between
 12121  	// -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos`
 12122  	// must be positive or zero. If `units` is zero, `nanos` can be positive, zero,
 12123  	// or negative. If `units` is negative, `nanos` must be negative or zero. For
 12124  	// example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
 12125  	Nanos int64 `json:"nanos,omitempty"`
 12126  	// Units: The whole units of the amount. For example if `currencyCode` is
 12127  	// "USD", then 1 unit is one US dollar.
 12128  	Units int64 `json:"units,omitempty,string"`
 12129  	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
 12130  	// unconditionally include in API requests. By default, fields with empty or
 12131  	// default values are omitted from API requests. See
 12132  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12133  	// details.
 12134  	ForceSendFields []string `json:"-"`
 12135  	// NullFields is a list of field names (e.g. "CurrencyCode") to include in API
 12136  	// requests with the JSON null value. By default, fields with empty values are
 12137  	// omitted from API requests. See
 12138  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12139  	NullFields []string `json:"-"`
 12140  }
 12141  
 12142  func (s *Money) MarshalJSON() ([]byte, error) {
 12143  	type NoMethod Money
 12144  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12145  }
 12146  
 12147  // NativeContentPositionAssignedTargetingOptionDetails: Details for native
 12148  // content position assigned targeting option. This will be populated in the
 12149  // native_content_position_details field when targeting_type is
 12150  // `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options
 12151  // is not supported. Remove all native content position targeting options to
 12152  // achieve this effect.
 12153  type NativeContentPositionAssignedTargetingOptionDetails struct {
 12154  	// ContentPosition: Required. The content position.
 12155  	//
 12156  	// Possible values:
 12157  	//   "NATIVE_CONTENT_POSITION_UNSPECIFIED" - Native content position is not
 12158  	// specified in this version. This enum is a place holder for a default value
 12159  	// and does not represent a real native content position.
 12160  	//   "NATIVE_CONTENT_POSITION_UNKNOWN" - The native content position is
 12161  	// unknown.
 12162  	//   "NATIVE_CONTENT_POSITION_IN_ARTICLE" - Native content position is
 12163  	// in-article, i.e., ads appear between the paragraphs of pages.
 12164  	//   "NATIVE_CONTENT_POSITION_IN_FEED" - Native content position is in-feed,
 12165  	// i.e., ads appear in a scrollable stream of content. A feed is typically
 12166  	// editorial (e.g. a list of articles or news) or listings (e.g. a list of
 12167  	// products or services).
 12168  	//   "NATIVE_CONTENT_POSITION_PERIPHERAL" - Native content position is
 12169  	// peripheral, i.e., ads appear outside of core content on pages, such as the
 12170  	// right- or left-hand side of the page.
 12171  	//   "NATIVE_CONTENT_POSITION_RECOMMENDATION" - Native content position is
 12172  	// recommendation, i.e., ads appear in sections for recommended content.
 12173  	ContentPosition string `json:"contentPosition,omitempty"`
 12174  	// ForceSendFields is a list of field names (e.g. "ContentPosition") to
 12175  	// unconditionally include in API requests. By default, fields with empty or
 12176  	// default values are omitted from API requests. See
 12177  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12178  	// details.
 12179  	ForceSendFields []string `json:"-"`
 12180  	// NullFields is a list of field names (e.g. "ContentPosition") to include in
 12181  	// API requests with the JSON null value. By default, fields with empty values
 12182  	// are omitted from API requests. See
 12183  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12184  	NullFields []string `json:"-"`
 12185  }
 12186  
 12187  func (s *NativeContentPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12188  	type NoMethod NativeContentPositionAssignedTargetingOptionDetails
 12189  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12190  }
 12191  
 12192  // NativeContentPositionTargetingOptionDetails: Represents a targetable native
 12193  // content position. This will be populated in the
 12194  // native_content_position_details field when targeting_type is
 12195  // `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
 12196  type NativeContentPositionTargetingOptionDetails struct {
 12197  	// ContentPosition: Output only. The content position.
 12198  	//
 12199  	// Possible values:
 12200  	//   "NATIVE_CONTENT_POSITION_UNSPECIFIED" - Native content position is not
 12201  	// specified in this version. This enum is a place holder for a default value
 12202  	// and does not represent a real native content position.
 12203  	//   "NATIVE_CONTENT_POSITION_UNKNOWN" - The native content position is
 12204  	// unknown.
 12205  	//   "NATIVE_CONTENT_POSITION_IN_ARTICLE" - Native content position is
 12206  	// in-article, i.e., ads appear between the paragraphs of pages.
 12207  	//   "NATIVE_CONTENT_POSITION_IN_FEED" - Native content position is in-feed,
 12208  	// i.e., ads appear in a scrollable stream of content. A feed is typically
 12209  	// editorial (e.g. a list of articles or news) or listings (e.g. a list of
 12210  	// products or services).
 12211  	//   "NATIVE_CONTENT_POSITION_PERIPHERAL" - Native content position is
 12212  	// peripheral, i.e., ads appear outside of core content on pages, such as the
 12213  	// right- or left-hand side of the page.
 12214  	//   "NATIVE_CONTENT_POSITION_RECOMMENDATION" - Native content position is
 12215  	// recommendation, i.e., ads appear in sections for recommended content.
 12216  	ContentPosition string `json:"contentPosition,omitempty"`
 12217  	// ForceSendFields is a list of field names (e.g. "ContentPosition") to
 12218  	// unconditionally include in API requests. By default, fields with empty or
 12219  	// default values are omitted from API requests. See
 12220  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12221  	// details.
 12222  	ForceSendFields []string `json:"-"`
 12223  	// NullFields is a list of field names (e.g. "ContentPosition") to include in
 12224  	// API requests with the JSON null value. By default, fields with empty values
 12225  	// are omitted from API requests. See
 12226  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12227  	NullFields []string `json:"-"`
 12228  }
 12229  
 12230  func (s *NativeContentPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12231  	type NoMethod NativeContentPositionTargetingOptionDetails
 12232  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12233  }
 12234  
 12235  // NegativeKeyword: A negatively targeted keyword that belongs to a negative
 12236  // keyword list.
 12237  type NegativeKeyword struct {
 12238  	// KeywordValue: Required. Immutable. The negatively targeted keyword, for
 12239  	// example `car insurance`. Must be UTF-8 encoded with a maximum size of 255
 12240  	// bytes. Maximum number of characters is 80. Maximum number of words is 10.
 12241  	// Valid characters are restricted to ASCII characters only. The only
 12242  	// URL-escaping permitted is for representing whitespace between words. Leading
 12243  	// or trailing whitespace is ignored.
 12244  	KeywordValue string `json:"keywordValue,omitempty"`
 12245  	// Name: Output only. The resource name of the negative keyword.
 12246  	Name string `json:"name,omitempty"`
 12247  
 12248  	// ServerResponse contains the HTTP response code and headers from the server.
 12249  	googleapi.ServerResponse `json:"-"`
 12250  	// ForceSendFields is a list of field names (e.g. "KeywordValue") to
 12251  	// unconditionally include in API requests. By default, fields with empty or
 12252  	// default values are omitted from API requests. See
 12253  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12254  	// details.
 12255  	ForceSendFields []string `json:"-"`
 12256  	// NullFields is a list of field names (e.g. "KeywordValue") to include in API
 12257  	// requests with the JSON null value. By default, fields with empty values are
 12258  	// omitted from API requests. See
 12259  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12260  	NullFields []string `json:"-"`
 12261  }
 12262  
 12263  func (s *NegativeKeyword) MarshalJSON() ([]byte, error) {
 12264  	type NoMethod NegativeKeyword
 12265  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12266  }
 12267  
 12268  // NegativeKeywordList: A list of negative keywords used for targeting.
 12269  type NegativeKeywordList struct {
 12270  	// AdvertiserId: Output only. The unique ID of the advertiser the negative
 12271  	// keyword list belongs to.
 12272  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 12273  	// DisplayName: Required. The display name of the negative keyword list. Must
 12274  	// be UTF-8 encoded with a maximum size of 255 bytes.
 12275  	DisplayName string `json:"displayName,omitempty"`
 12276  	// Name: Output only. The resource name of the negative keyword list.
 12277  	Name string `json:"name,omitempty"`
 12278  	// NegativeKeywordListId: Output only. The unique ID of the negative keyword
 12279  	// list. Assigned by the system.
 12280  	NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"`
 12281  	// TargetedLineItemCount: Output only. Number of line items that are directly
 12282  	// targeting this negative keyword list.
 12283  	TargetedLineItemCount int64 `json:"targetedLineItemCount,omitempty,string"`
 12284  
 12285  	// ServerResponse contains the HTTP response code and headers from the server.
 12286  	googleapi.ServerResponse `json:"-"`
 12287  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 12288  	// unconditionally include in API requests. By default, fields with empty or
 12289  	// default values are omitted from API requests. See
 12290  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12291  	// details.
 12292  	ForceSendFields []string `json:"-"`
 12293  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 12294  	// requests with the JSON null value. By default, fields with empty values are
 12295  	// omitted from API requests. See
 12296  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12297  	NullFields []string `json:"-"`
 12298  }
 12299  
 12300  func (s *NegativeKeywordList) MarshalJSON() ([]byte, error) {
 12301  	type NoMethod NegativeKeywordList
 12302  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12303  }
 12304  
 12305  // NegativeKeywordListAssignedTargetingOptionDetails: Targeting details for
 12306  // negative keyword list. This will be populated in the details field of an
 12307  // AssignedTargetingOption when targeting_type is
 12308  // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.
 12309  type NegativeKeywordListAssignedTargetingOptionDetails struct {
 12310  	// NegativeKeywordListId: Required. ID of the negative keyword list. Should
 12311  	// refer to the negative_keyword_list_id field of a NegativeKeywordList
 12312  	// resource.
 12313  	NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"`
 12314  	// ForceSendFields is a list of field names (e.g. "NegativeKeywordListId") to
 12315  	// unconditionally include in API requests. By default, fields with empty or
 12316  	// default values are omitted from API requests. See
 12317  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12318  	// details.
 12319  	ForceSendFields []string `json:"-"`
 12320  	// NullFields is a list of field names (e.g. "NegativeKeywordListId") to
 12321  	// include in API requests with the JSON null value. By default, fields with
 12322  	// empty values are omitted from API requests. See
 12323  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12324  	NullFields []string `json:"-"`
 12325  }
 12326  
 12327  func (s *NegativeKeywordListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12328  	type NoMethod NegativeKeywordListAssignedTargetingOptionDetails
 12329  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12330  }
 12331  
 12332  // NonSkippableAd: Details for a non-skippable ad.
 12333  type NonSkippableAd struct {
 12334  	// CommonInStreamAttribute: Common ad attributes.
 12335  	CommonInStreamAttribute *CommonInStreamAttribute `json:"commonInStreamAttribute,omitempty"`
 12336  	// CustomParameters: The custom parameters to pass custom values to tracking
 12337  	// URL template.
 12338  	CustomParameters map[string]string `json:"customParameters,omitempty"`
 12339  	// ForceSendFields is a list of field names (e.g. "CommonInStreamAttribute") to
 12340  	// unconditionally include in API requests. By default, fields with empty or
 12341  	// default values are omitted from API requests. See
 12342  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12343  	// details.
 12344  	ForceSendFields []string `json:"-"`
 12345  	// NullFields is a list of field names (e.g. "CommonInStreamAttribute") to
 12346  	// include in API requests with the JSON null value. By default, fields with
 12347  	// empty values are omitted from API requests. See
 12348  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12349  	NullFields []string `json:"-"`
 12350  }
 12351  
 12352  func (s *NonSkippableAd) MarshalJSON() ([]byte, error) {
 12353  	type NoMethod NonSkippableAd
 12354  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12355  }
 12356  
 12357  // ObaIcon: OBA Icon for a Creative
 12358  type ObaIcon struct {
 12359  	// ClickTrackingUrl: Required. The click tracking URL of the OBA icon. Only
 12360  	// URLs of the following domains are allowed: * https://info.evidon.com *
 12361  	// https://l.betrad.com
 12362  	ClickTrackingUrl string `json:"clickTrackingUrl,omitempty"`
 12363  	// Dimensions: The dimensions of the OBA icon.
 12364  	Dimensions *Dimensions `json:"dimensions,omitempty"`
 12365  	// LandingPageUrl: Required. The landing page URL of the OBA icon. Only URLs of
 12366  	// the following domains are allowed: * https://info.evidon.com *
 12367  	// https://l.betrad.com
 12368  	LandingPageUrl string `json:"landingPageUrl,omitempty"`
 12369  	// Position: The position of the OBA icon on the creative.
 12370  	//
 12371  	// Possible values:
 12372  	//   "OBA_ICON_POSITION_UNSPECIFIED" - The OBA icon position is not specified.
 12373  	//   "OBA_ICON_POSITION_UPPER_RIGHT" - At the upper right side of the creative.
 12374  	//   "OBA_ICON_POSITION_UPPER_LEFT" - At the upper left side of the creative.
 12375  	//   "OBA_ICON_POSITION_LOWER_RIGHT" - At the lower right side of the creative.
 12376  	//   "OBA_ICON_POSITION_LOWER_LEFT" - At the lower left side of the creative.
 12377  	Position string `json:"position,omitempty"`
 12378  	// Program: The program of the OBA icon. For example: “AdChoices”.
 12379  	Program string `json:"program,omitempty"`
 12380  	// ResourceMimeType: The MIME type of the OBA icon resource.
 12381  	ResourceMimeType string `json:"resourceMimeType,omitempty"`
 12382  	// ResourceUrl: The URL of the OBA icon resource.
 12383  	ResourceUrl string `json:"resourceUrl,omitempty"`
 12384  	// ViewTrackingUrl: Required. The view tracking URL of the OBA icon. Only URLs
 12385  	// of the following domains are allowed: * https://info.evidon.com *
 12386  	// https://l.betrad.com
 12387  	ViewTrackingUrl string `json:"viewTrackingUrl,omitempty"`
 12388  	// ForceSendFields is a list of field names (e.g. "ClickTrackingUrl") to
 12389  	// unconditionally include in API requests. By default, fields with empty or
 12390  	// default values are omitted from API requests. See
 12391  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12392  	// details.
 12393  	ForceSendFields []string `json:"-"`
 12394  	// NullFields is a list of field names (e.g. "ClickTrackingUrl") to include in
 12395  	// API requests with the JSON null value. By default, fields with empty values
 12396  	// are omitted from API requests. See
 12397  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12398  	NullFields []string `json:"-"`
 12399  }
 12400  
 12401  func (s *ObaIcon) MarshalJSON() ([]byte, error) {
 12402  	type NoMethod ObaIcon
 12403  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12404  }
 12405  
 12406  // OmidAssignedTargetingOptionDetails: Represents a targetable Open Measurement
 12407  // enabled inventory type. This will be populated in the details field of an
 12408  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_OMID`.
 12409  type OmidAssignedTargetingOptionDetails struct {
 12410  	// Omid: Required. The type of Open Measurement enabled inventory.
 12411  	//
 12412  	// Possible values:
 12413  	//   "OMID_UNSPECIFIED" - Default value when omid targeting is not specified in
 12414  	// this version.
 12415  	//   "OMID_FOR_MOBILE_DISPLAY_ADS" - Open Measurement enabled mobile display
 12416  	// inventory.
 12417  	Omid string `json:"omid,omitempty"`
 12418  	// ForceSendFields is a list of field names (e.g. "Omid") to unconditionally
 12419  	// include in API requests. By default, fields with empty or default values are
 12420  	// omitted from API requests. See
 12421  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12422  	// details.
 12423  	ForceSendFields []string `json:"-"`
 12424  	// NullFields is a list of field names (e.g. "Omid") to include in API requests
 12425  	// with the JSON null value. By default, fields with empty values are omitted
 12426  	// from API requests. See
 12427  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12428  	NullFields []string `json:"-"`
 12429  }
 12430  
 12431  func (s *OmidAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12432  	type NoMethod OmidAssignedTargetingOptionDetails
 12433  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12434  }
 12435  
 12436  // OmidTargetingOptionDetails: Represents a targetable Open Measurement enabled
 12437  // inventory type. This will be populated in the omid_details field when
 12438  // targeting_type is `TARGETING_TYPE_OMID`.
 12439  type OmidTargetingOptionDetails struct {
 12440  	// Omid: Output only. The type of Open Measurement enabled inventory.
 12441  	//
 12442  	// Possible values:
 12443  	//   "OMID_UNSPECIFIED" - Default value when omid targeting is not specified in
 12444  	// this version.
 12445  	//   "OMID_FOR_MOBILE_DISPLAY_ADS" - Open Measurement enabled mobile display
 12446  	// inventory.
 12447  	Omid string `json:"omid,omitempty"`
 12448  	// ForceSendFields is a list of field names (e.g. "Omid") to unconditionally
 12449  	// include in API requests. By default, fields with empty or default values are
 12450  	// omitted from API requests. See
 12451  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12452  	// details.
 12453  	ForceSendFields []string `json:"-"`
 12454  	// NullFields is a list of field names (e.g. "Omid") to include in API requests
 12455  	// with the JSON null value. By default, fields with empty values are omitted
 12456  	// from API requests. See
 12457  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12458  	NullFields []string `json:"-"`
 12459  }
 12460  
 12461  func (s *OmidTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12462  	type NoMethod OmidTargetingOptionDetails
 12463  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12464  }
 12465  
 12466  // OnScreenPositionAssignedTargetingOptionDetails: On screen position targeting
 12467  // option details. This will be populated in the on_screen_position_details
 12468  // field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
 12469  type OnScreenPositionAssignedTargetingOptionDetails struct {
 12470  	// AdType: Output only. The ad type to target. Only applicable to insertion
 12471  	// order targeting and new line items supporting the specified ad type will
 12472  	// inherit this targeting option by default. Possible values are: *
 12473  	// `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when
 12474  	// line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the
 12475  	// setting will be inherited by new line item when line_item_type is
 12476  	// `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
 12477  	//
 12478  	// Possible values:
 12479  	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in this
 12480  	// version.
 12481  	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
 12482  	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
 12483  	// streaming content in video players.
 12484  	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during audio
 12485  	// content.
 12486  	AdType string `json:"adType,omitempty"`
 12487  	// OnScreenPosition: Output only. The on screen position.
 12488  	//
 12489  	// Possible values:
 12490  	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not specified in
 12491  	// this version. This enum is a place holder for a default value and does not
 12492  	// represent a real on screen position.
 12493  	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the screen.
 12494  	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the fold.
 12495  	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the fold.
 12496  	OnScreenPosition string `json:"onScreenPosition,omitempty"`
 12497  	// TargetingOptionId: Required. The targeting_option_id field when
 12498  	// targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
 12499  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 12500  	// ForceSendFields is a list of field names (e.g. "AdType") to unconditionally
 12501  	// include in API requests. By default, fields with empty or default values are
 12502  	// omitted from API requests. See
 12503  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12504  	// details.
 12505  	ForceSendFields []string `json:"-"`
 12506  	// NullFields is a list of field names (e.g. "AdType") to include in API
 12507  	// requests with the JSON null value. By default, fields with empty values are
 12508  	// omitted from API requests. See
 12509  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12510  	NullFields []string `json:"-"`
 12511  }
 12512  
 12513  func (s *OnScreenPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12514  	type NoMethod OnScreenPositionAssignedTargetingOptionDetails
 12515  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12516  }
 12517  
 12518  // OnScreenPositionTargetingOptionDetails: Represents a targetable on screen
 12519  // position, which could be used by display and video ads. This will be
 12520  // populated in the on_screen_position_details field when targeting_type is
 12521  // `TARGETING_TYPE_ON_SCREEN_POSITION`.
 12522  type OnScreenPositionTargetingOptionDetails struct {
 12523  	// OnScreenPosition: Output only. The on screen position.
 12524  	//
 12525  	// Possible values:
 12526  	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not specified in
 12527  	// this version. This enum is a place holder for a default value and does not
 12528  	// represent a real on screen position.
 12529  	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the screen.
 12530  	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the fold.
 12531  	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the fold.
 12532  	OnScreenPosition string `json:"onScreenPosition,omitempty"`
 12533  	// ForceSendFields is a list of field names (e.g. "OnScreenPosition") to
 12534  	// unconditionally include in API requests. By default, fields with empty or
 12535  	// default values are omitted from API requests. See
 12536  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12537  	// details.
 12538  	ForceSendFields []string `json:"-"`
 12539  	// NullFields is a list of field names (e.g. "OnScreenPosition") to include in
 12540  	// API requests with the JSON null value. By default, fields with empty values
 12541  	// are omitted from API requests. See
 12542  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12543  	NullFields []string `json:"-"`
 12544  }
 12545  
 12546  func (s *OnScreenPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12547  	type NoMethod OnScreenPositionTargetingOptionDetails
 12548  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12549  }
 12550  
 12551  // OperatingSystemAssignedTargetingOptionDetails: Assigned operating system
 12552  // targeting option details. This will be populated in the
 12553  // operating_system_details field when targeting_type is
 12554  // `TARGETING_TYPE_OPERATING_SYSTEM`.
 12555  type OperatingSystemAssignedTargetingOptionDetails struct {
 12556  	// DisplayName: Output only. The display name of the operating system.
 12557  	DisplayName string `json:"displayName,omitempty"`
 12558  	// Negative: Indicates if this option is being negatively targeted.
 12559  	Negative bool `json:"negative,omitempty"`
 12560  	// TargetingOptionId: Required. The targeting option ID populated in
 12561  	// targeting_option_id field when targeting_type is
 12562  	// `TARGETING_TYPE_OPERATING_SYSTEM`.
 12563  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 12564  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 12565  	// unconditionally include in API requests. By default, fields with empty or
 12566  	// default values are omitted from API requests. See
 12567  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12568  	// details.
 12569  	ForceSendFields []string `json:"-"`
 12570  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 12571  	// requests with the JSON null value. By default, fields with empty values are
 12572  	// omitted from API requests. See
 12573  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12574  	NullFields []string `json:"-"`
 12575  }
 12576  
 12577  func (s *OperatingSystemAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12578  	type NoMethod OperatingSystemAssignedTargetingOptionDetails
 12579  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12580  }
 12581  
 12582  // OperatingSystemTargetingOptionDetails: Represents a targetable operating
 12583  // system. This will be populated in the operating_system_details field of a
 12584  // TargetingOption when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
 12585  type OperatingSystemTargetingOptionDetails struct {
 12586  	// DisplayName: Output only. The display name of the operating system.
 12587  	DisplayName string `json:"displayName,omitempty"`
 12588  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 12589  	// unconditionally include in API requests. By default, fields with empty or
 12590  	// default values are omitted from API requests. See
 12591  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12592  	// details.
 12593  	ForceSendFields []string `json:"-"`
 12594  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 12595  	// requests with the JSON null value. By default, fields with empty values are
 12596  	// omitted from API requests. See
 12597  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12598  	NullFields []string `json:"-"`
 12599  }
 12600  
 12601  func (s *OperatingSystemTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12602  	type NoMethod OperatingSystemTargetingOptionDetails
 12603  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12604  }
 12605  
 12606  // Operation: This resource represents a long-running operation that is the
 12607  // result of a network API call.
 12608  type Operation struct {
 12609  	// Done: If the value is `false`, it means the operation is still in progress.
 12610  	// If `true`, the operation is completed, and either `error` or `response` is
 12611  	// available.
 12612  	Done bool `json:"done,omitempty"`
 12613  	// Error: The error result of the operation in case of failure or cancellation.
 12614  	Error *Status `json:"error,omitempty"`
 12615  	// Metadata: Service-specific metadata associated with the operation. It
 12616  	// typically contains progress information and common metadata such as create
 12617  	// time. Some services might not provide such metadata. Any method that returns
 12618  	// a long-running operation should document the metadata type, if any.
 12619  	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 12620  	// Name: The server-assigned name, which is only unique within the same service
 12621  	// that originally returns it. If you use the default HTTP mapping, the `name`
 12622  	// should be a resource name ending with `operations/{unique_id}`.
 12623  	Name string `json:"name,omitempty"`
 12624  	// Response: The normal, successful response of the operation. If the original
 12625  	// method returns no data on success, such as `Delete`, the response is
 12626  	// `google.protobuf.Empty`. If the original method is standard
 12627  	// `Get`/`Create`/`Update`, the response should be the resource. For other
 12628  	// methods, the response should have the type `XxxResponse`, where `Xxx` is the
 12629  	// original method name. For example, if the original method name is
 12630  	// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
 12631  	Response googleapi.RawMessage `json:"response,omitempty"`
 12632  
 12633  	// ServerResponse contains the HTTP response code and headers from the server.
 12634  	googleapi.ServerResponse `json:"-"`
 12635  	// ForceSendFields is a list of field names (e.g. "Done") to unconditionally
 12636  	// include in API requests. By default, fields with empty or default values are
 12637  	// omitted from API requests. See
 12638  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12639  	// details.
 12640  	ForceSendFields []string `json:"-"`
 12641  	// NullFields is a list of field names (e.g. "Done") to include in API requests
 12642  	// with the JSON null value. By default, fields with empty values are omitted
 12643  	// from API requests. See
 12644  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12645  	NullFields []string `json:"-"`
 12646  }
 12647  
 12648  func (s *Operation) MarshalJSON() ([]byte, error) {
 12649  	type NoMethod Operation
 12650  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12651  }
 12652  
 12653  // Pacing: Settings that control the rate at which a budget is spent.
 12654  type Pacing struct {
 12655  	// DailyMaxImpressions: Maximum number of impressions to serve every day.
 12656  	// Applicable when the budget is impression based. Must be greater than 0.
 12657  	DailyMaxImpressions int64 `json:"dailyMaxImpressions,omitempty,string"`
 12658  	// DailyMaxMicros: Maximum currency amount to spend every day in micros of
 12659  	// advertiser's currency. Applicable when the budget is currency based. Must be
 12660  	// greater than 0. For example, for 1.5 standard unit of the currency, set this
 12661  	// field to 1500000. The value assigned will be rounded to whole billable units
 12662  	// for the relevant currency by the following rules: any positive value less
 12663  	// than a single billable unit will be rounded up to one billable unit and any
 12664  	// value larger than a single billable unit will be rounded down to the nearest
 12665  	// billable value. For example, if the currency's billable unit is 0.01, and
 12666  	// this field is set to 10257770, it will round down to 10250000, a value of
 12667  	// 10.25. If set to 505, it will round up to 10000, a value of 0.01.
 12668  	DailyMaxMicros int64 `json:"dailyMaxMicros,omitempty,string"`
 12669  	// PacingPeriod: Required. The time period in which the pacing budget will be
 12670  	// spent. When automatic budget allocation is enabled at the insertion order
 12671  	// via automationType, this field is output only and defaults to
 12672  	// `PACING_PERIOD_FLIGHT`.
 12673  	//
 12674  	// Possible values:
 12675  	//   "PACING_PERIOD_UNSPECIFIED" - Period value is not specified or is unknown
 12676  	// in this version.
 12677  	//   "PACING_PERIOD_DAILY" - The pacing setting will be applied on daily basis.
 12678  	//   "PACING_PERIOD_FLIGHT" - The pacing setting will be applied to the whole
 12679  	// flight duration.
 12680  	PacingPeriod string `json:"pacingPeriod,omitempty"`
 12681  	// PacingType: Required. The type of pacing that defines how the budget amount
 12682  	// will be spent across the pacing_period.
 12683  	//
 12684  	// Possible values:
 12685  	//   "PACING_TYPE_UNSPECIFIED" - Pacing mode value is not specified or is
 12686  	// unknown in this version.
 12687  	//   "PACING_TYPE_AHEAD" - Only applicable to `PACING_PERIOD_FLIGHT` pacing
 12688  	// period. Ahead pacing attempts to spend faster than evenly, to make sure the
 12689  	// entire budget is spent by the end of the flight.
 12690  	//   "PACING_TYPE_ASAP" - Spend all of pacing budget amount as quick as
 12691  	// possible.
 12692  	//   "PACING_TYPE_EVEN" - Spend a consistent budget amount every period of
 12693  	// time.
 12694  	PacingType string `json:"pacingType,omitempty"`
 12695  	// ForceSendFields is a list of field names (e.g. "DailyMaxImpressions") to
 12696  	// unconditionally include in API requests. By default, fields with empty or
 12697  	// default values are omitted from API requests. See
 12698  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12699  	// details.
 12700  	ForceSendFields []string `json:"-"`
 12701  	// NullFields is a list of field names (e.g. "DailyMaxImpressions") to include
 12702  	// in API requests with the JSON null value. By default, fields with empty
 12703  	// values are omitted from API requests. See
 12704  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12705  	NullFields []string `json:"-"`
 12706  }
 12707  
 12708  func (s *Pacing) MarshalJSON() ([]byte, error) {
 12709  	type NoMethod Pacing
 12710  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12711  }
 12712  
 12713  // ParentEntityFilter: A filtering option that filters on selected file types
 12714  // belonging to a chosen set of filter entities.
 12715  type ParentEntityFilter struct {
 12716  	// FileType: Required. File types that will be returned.
 12717  	//
 12718  	// Possible values:
 12719  	//   "FILE_TYPE_UNSPECIFIED" - Default value when type is unspecified or is
 12720  	// unknown in this version.
 12721  	//   "FILE_TYPE_CAMPAIGN" - Campaign.
 12722  	//   "FILE_TYPE_MEDIA_PRODUCT" - Media Product.
 12723  	//   "FILE_TYPE_INSERTION_ORDER" - Insertion Order.
 12724  	//   "FILE_TYPE_LINE_ITEM" - Line Item.
 12725  	//   "FILE_TYPE_AD_GROUP" - YouTube Ad Group.
 12726  	//   "FILE_TYPE_AD" - YouTube Ad.
 12727  	FileType []string `json:"fileType,omitempty"`
 12728  	// FilterIds: The IDs of the specified filter type. This is used to filter
 12729  	// entities to fetch. If filter type is not `FILTER_TYPE_NONE`, at least one ID
 12730  	// must be specified.
 12731  	FilterIds googleapi.Int64s `json:"filterIds,omitempty"`
 12732  	// FilterType: Required. Filter type used to filter fetched entities.
 12733  	//
 12734  	// Possible values:
 12735  	//   "FILTER_TYPE_UNSPECIFIED" - Default value when type is unspecified or is
 12736  	// unknown in this version.
 12737  	//   "FILTER_TYPE_NONE" - If selected, no filter will be applied to the
 12738  	// download. Can only be used if an Advertiser is specified in
 12739  	// CreateSdfDownloadTaskRequest.
 12740  	//   "FILTER_TYPE_ADVERTISER_ID" - Advertiser ID. If selected, all filter IDs
 12741  	// must be Advertiser IDs that belong to the Partner specified in
 12742  	// CreateSdfDownloadTaskRequest.
 12743  	//   "FILTER_TYPE_CAMPAIGN_ID" - Campaign ID. If selected, all filter IDs must
 12744  	// be Campaign IDs that belong to the Advertiser or Partner specified in
 12745  	// CreateSdfDownloadTaskRequest.
 12746  	//   "FILTER_TYPE_MEDIA_PRODUCT_ID" - Media Product ID. If selected, all filter
 12747  	// IDs must be Media Product IDs that belong to the Advertiser or Partner
 12748  	// specified in CreateSdfDownloadTaskRequest. Can only be used for downloading
 12749  	// `FILE_TYPE_MEDIA_PRODUCT`.
 12750  	//   "FILTER_TYPE_INSERTION_ORDER_ID" - Insertion Order ID. If selected, all
 12751  	// filter IDs must be Insertion Order IDs that belong to the Advertiser or
 12752  	// Partner specified in CreateSdfDownloadTaskRequest. Can only be used for
 12753  	// downloading `FILE_TYPE_INSERTION_ORDER`, `FILE_TYPE_LINE_ITEM`,
 12754  	// `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`.
 12755  	//   "FILTER_TYPE_LINE_ITEM_ID" - Line Item ID. If selected, all filter IDs
 12756  	// must be Line Item IDs that belong to the Advertiser or Partner specified in
 12757  	// CreateSdfDownloadTaskRequest. Can only be used for downloading
 12758  	// `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`.
 12759  	FilterType string `json:"filterType,omitempty"`
 12760  	// ForceSendFields is a list of field names (e.g. "FileType") to
 12761  	// unconditionally include in API requests. By default, fields with empty or
 12762  	// default values are omitted from API requests. See
 12763  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12764  	// details.
 12765  	ForceSendFields []string `json:"-"`
 12766  	// NullFields is a list of field names (e.g. "FileType") to include in API
 12767  	// requests with the JSON null value. By default, fields with empty values are
 12768  	// omitted from API requests. See
 12769  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12770  	NullFields []string `json:"-"`
 12771  }
 12772  
 12773  func (s *ParentEntityFilter) MarshalJSON() ([]byte, error) {
 12774  	type NoMethod ParentEntityFilter
 12775  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12776  }
 12777  
 12778  // ParentalStatusAssignedTargetingOptionDetails: Details for assigned parental
 12779  // status targeting option. This will be populated in the details field of an
 12780  // AssignedTargetingOption when targeting_type is
 12781  // `TARGETING_TYPE_PARENTAL_STATUS`.
 12782  type ParentalStatusAssignedTargetingOptionDetails struct {
 12783  	// ParentalStatus: Required. The parental status of the audience.
 12784  	//
 12785  	// Possible values:
 12786  	//   "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status is not
 12787  	// specified in this version. This enum is a place holder for default value and
 12788  	// does not represent a real parental status option.
 12789  	//   "PARENTAL_STATUS_PARENT" - The audience is a parent.
 12790  	//   "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent.
 12791  	//   "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is
 12792  	// unknown.
 12793  	ParentalStatus string `json:"parentalStatus,omitempty"`
 12794  	// ForceSendFields is a list of field names (e.g. "ParentalStatus") to
 12795  	// unconditionally include in API requests. By default, fields with empty or
 12796  	// default values are omitted from API requests. See
 12797  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12798  	// details.
 12799  	ForceSendFields []string `json:"-"`
 12800  	// NullFields is a list of field names (e.g. "ParentalStatus") to include in
 12801  	// API requests with the JSON null value. By default, fields with empty values
 12802  	// are omitted from API requests. See
 12803  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12804  	NullFields []string `json:"-"`
 12805  }
 12806  
 12807  func (s *ParentalStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12808  	type NoMethod ParentalStatusAssignedTargetingOptionDetails
 12809  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12810  }
 12811  
 12812  // ParentalStatusTargetingOptionDetails: Represents a targetable parental
 12813  // status. This will be populated in the parental_status_details field of a
 12814  // TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.
 12815  type ParentalStatusTargetingOptionDetails struct {
 12816  	// ParentalStatus: Output only. The parental status of an audience.
 12817  	//
 12818  	// Possible values:
 12819  	//   "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status is not
 12820  	// specified in this version. This enum is a place holder for default value and
 12821  	// does not represent a real parental status option.
 12822  	//   "PARENTAL_STATUS_PARENT" - The audience is a parent.
 12823  	//   "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent.
 12824  	//   "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is
 12825  	// unknown.
 12826  	ParentalStatus string `json:"parentalStatus,omitempty"`
 12827  	// ForceSendFields is a list of field names (e.g. "ParentalStatus") to
 12828  	// unconditionally include in API requests. By default, fields with empty or
 12829  	// default values are omitted from API requests. See
 12830  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12831  	// details.
 12832  	ForceSendFields []string `json:"-"`
 12833  	// NullFields is a list of field names (e.g. "ParentalStatus") to include in
 12834  	// API requests with the JSON null value. By default, fields with empty values
 12835  	// are omitted from API requests. See
 12836  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12837  	NullFields []string `json:"-"`
 12838  }
 12839  
 12840  func (s *ParentalStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 12841  	type NoMethod ParentalStatusTargetingOptionDetails
 12842  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12843  }
 12844  
 12845  // Partner: A single partner in Display & Video 360 (DV360).
 12846  type Partner struct {
 12847  	// AdServerConfig: Ad server related settings of the partner.
 12848  	AdServerConfig *PartnerAdServerConfig `json:"adServerConfig,omitempty"`
 12849  	// BillingConfig: Billing related settings of the partner.
 12850  	BillingConfig *PartnerBillingConfig `json:"billingConfig,omitempty"`
 12851  	// DataAccessConfig: Settings that control how partner data may be accessed.
 12852  	DataAccessConfig *PartnerDataAccessConfig `json:"dataAccessConfig,omitempty"`
 12853  	// DisplayName: The display name of the partner. Must be UTF-8 encoded with a
 12854  	// maximum size of 240 bytes.
 12855  	DisplayName string `json:"displayName,omitempty"`
 12856  	// EntityStatus: Output only. The status of the partner.
 12857  	//
 12858  	// Possible values:
 12859  	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not specified
 12860  	// or is unknown in this version.
 12861  	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend budget.
 12862  	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and budget
 12863  	// spending are disabled. An entity can be deleted after archived. Deleted
 12864  	// entities cannot be retrieved.
 12865  	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and budget
 12866  	// spending are disabled.
 12867  	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for the
 12868  	// entity.
 12869  	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled for
 12870  	// deletion.
 12871  	EntityStatus string `json:"entityStatus,omitempty"`
 12872  	// ExchangeConfig: Settings that control which exchanges are enabled for the
 12873  	// partner.
 12874  	ExchangeConfig *ExchangeConfig `json:"exchangeConfig,omitempty"`
 12875  	// GeneralConfig: General settings of the partner.
 12876  	GeneralConfig *PartnerGeneralConfig `json:"generalConfig,omitempty"`
 12877  	// Name: Output only. The resource name of the partner.
 12878  	Name string `json:"name,omitempty"`
 12879  	// PartnerId: Output only. The unique ID of the partner. Assigned by the
 12880  	// system.
 12881  	PartnerId int64 `json:"partnerId,omitempty,string"`
 12882  	// UpdateTime: Output only. The timestamp when the partner was last updated.
 12883  	// Assigned by the system.
 12884  	UpdateTime string `json:"updateTime,omitempty"`
 12885  
 12886  	// ServerResponse contains the HTTP response code and headers from the server.
 12887  	googleapi.ServerResponse `json:"-"`
 12888  	// ForceSendFields is a list of field names (e.g. "AdServerConfig") to
 12889  	// unconditionally include in API requests. By default, fields with empty or
 12890  	// default values are omitted from API requests. See
 12891  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12892  	// details.
 12893  	ForceSendFields []string `json:"-"`
 12894  	// NullFields is a list of field names (e.g. "AdServerConfig") to include in
 12895  	// API requests with the JSON null value. By default, fields with empty values
 12896  	// are omitted from API requests. See
 12897  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12898  	NullFields []string `json:"-"`
 12899  }
 12900  
 12901  func (s *Partner) MarshalJSON() ([]byte, error) {
 12902  	type NoMethod Partner
 12903  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12904  }
 12905  
 12906  // PartnerAdServerConfig: Ad server related settings of a partner.
 12907  type PartnerAdServerConfig struct {
 12908  	// MeasurementConfig: Measurement settings of a partner.
 12909  	MeasurementConfig *MeasurementConfig `json:"measurementConfig,omitempty"`
 12910  	// ForceSendFields is a list of field names (e.g. "MeasurementConfig") to
 12911  	// unconditionally include in API requests. By default, fields with empty or
 12912  	// default values are omitted from API requests. See
 12913  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12914  	// details.
 12915  	ForceSendFields []string `json:"-"`
 12916  	// NullFields is a list of field names (e.g. "MeasurementConfig") to include in
 12917  	// API requests with the JSON null value. By default, fields with empty values
 12918  	// are omitted from API requests. See
 12919  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12920  	NullFields []string `json:"-"`
 12921  }
 12922  
 12923  func (s *PartnerAdServerConfig) MarshalJSON() ([]byte, error) {
 12924  	type NoMethod PartnerAdServerConfig
 12925  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12926  }
 12927  
 12928  // PartnerBillingConfig: Billing related settings of a partner.
 12929  type PartnerBillingConfig struct {
 12930  	// BillingProfileId: The ID of a partner default billing profile.
 12931  	BillingProfileId int64 `json:"billingProfileId,omitempty,string"`
 12932  	// ForceSendFields is a list of field names (e.g. "BillingProfileId") to
 12933  	// unconditionally include in API requests. By default, fields with empty or
 12934  	// default values are omitted from API requests. See
 12935  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 12936  	// details.
 12937  	ForceSendFields []string `json:"-"`
 12938  	// NullFields is a list of field names (e.g. "BillingProfileId") to include in
 12939  	// API requests with the JSON null value. By default, fields with empty values
 12940  	// are omitted from API requests. See
 12941  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 12942  	NullFields []string `json:"-"`
 12943  }
 12944  
 12945  func (s *PartnerBillingConfig) MarshalJSON() ([]byte, error) {
 12946  	type NoMethod PartnerBillingConfig
 12947  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 12948  }
 12949  
 12950  // PartnerCost: Settings that control a partner cost. A partner cost is any
 12951  // type of expense involved in running a campaign, other than the costs of
 12952  // purchasing impressions (which is called the media cost) and using
 12953  // third-party audience segment data (data fee). Some examples of partner costs
 12954  // include the fees for using DV360, a third-party ad server, or a third-party
 12955  // ad serving verification service.
 12956  type PartnerCost struct {
 12957  	// CostType: Required. The type of the partner cost.
 12958  	//
 12959  	// Possible values:
 12960  	//   "PARTNER_COST_TYPE_UNSPECIFIED" - Type value is not specified or is
 12961  	// unknown in this version.
 12962  	//   "PARTNER_COST_TYPE_ADLOOX" - The cost is charged for using Adloox. Billed
 12963  	// by the partner.
 12964  	//   "PARTNER_COST_TYPE_ADLOOX_PREBID" - The cost is charged for using Adloox
 12965  	// Pre-Bid. Billed through DV360.
 12966  	//   "PARTNER_COST_TYPE_ADSAFE" - The cost is charged for using AdSafe. Billed
 12967  	// by the partner.
 12968  	//   "PARTNER_COST_TYPE_ADXPOSE" - The cost is charged for using AdExpose.
 12969  	// Billed by the partner.
 12970  	//   "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE" - The cost is charged for using
 12971  	// Aggregate Knowledge. Billed by the partner.
 12972  	//   "PARTNER_COST_TYPE_AGENCY_TRADING_DESK" - The cost is charged for using an
 12973  	// Agency Trading Desk. Billed by the partner.
 12974  	//   "PARTNER_COST_TYPE_DV360_FEE" - The cost is charged for using DV360.
 12975  	// Billed through DV360.
 12976  	//   "PARTNER_COST_TYPE_COMSCORE_VCE" - The cost is charged for using comScore
 12977  	// vCE. Billed through DV360.
 12978  	//   "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM" - The cost is charged for
 12979  	// using a Data Management Platform. Billed by the partner.
 12980  	//   "PARTNER_COST_TYPE_DEFAULT" - The default cost type. Billed by the
 12981  	// partner.
 12982  	//   "PARTNER_COST_TYPE_DOUBLE_VERIFY" - The cost is charged for using
 12983  	// DoubleVerify. Billed by the partner.
 12984  	//   "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID" - The cost is charged for using
 12985  	// DoubleVerify Pre-Bid. Billed through DV360.
 12986  	//   "PARTNER_COST_TYPE_EVIDON" - The cost is charged for using Evidon. Billed
 12987  	// by the partner.
 12988  	//   "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO" - The cost is charged for
 12989  	// using Integral Ad Science Video. Billed by the partner.
 12990  	//   "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID" - The cost is charged for
 12991  	// using Integral Ad Science Pre-Bid. Billed through DV360.
 12992  	//   "PARTNER_COST_TYPE_MEDIA_COST_DATA" - The cost is charged for using media
 12993  	// cost data. Billed by the partner.
 12994  	//   "PARTNER_COST_TYPE_MOAT_VIDEO" - The cost is charged for using MOAT Video.
 12995  	// Billed by the partner.
 12996  	//   "PARTNER_COST_TYPE_NIELSEN_DAR" - The cost is charged for using Nielsen
 12997  	// Digital Ad Ratings. Billed through DV360.
 12998  	//   "PARTNER_COST_TYPE_SHOP_LOCAL" - The cost is charged for using ShopLocal.
 12999  	// Billed by the partner.
 13000  	//   "PARTNER_COST_TYPE_TERACENT" - The cost is charged for using Teracent.
 13001  	// Billed by the partner.
 13002  	//   "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER" - The cost is charged for using
 13003  	// a third-party ad server. Billed by the partner.
 13004  	//   "PARTNER_COST_TYPE_TRUST_METRICS" - The cost is charged for using
 13005  	// TrustMetrics. Billed by the partner.
 13006  	//   "PARTNER_COST_TYPE_VIZU" - The cost is charged for using Vizu. Billed by
 13007  	// the partner.
 13008  	//   "PARTNER_COST_TYPE_ADLINGO_FEE" - The cost is charged for using AdLingo.
 13009  	// Billed through DV360.
 13010  	//   "PARTNER_COST_TYPE_CUSTOM_FEE_1" - The cost is charged as custom fee 1.
 13011  	// Billed by the partner.
 13012  	//   "PARTNER_COST_TYPE_CUSTOM_FEE_2" - The cost is charged as custom fee 2.
 13013  	// Billed by the partner.
 13014  	//   "PARTNER_COST_TYPE_CUSTOM_FEE_3" - The cost is charged as custom fee 3.
 13015  	// Billed by the partner.
 13016  	//   "PARTNER_COST_TYPE_CUSTOM_FEE_4" - The cost is charged as custom fee 4.
 13017  	// Billed by the partner.
 13018  	//   "PARTNER_COST_TYPE_CUSTOM_FEE_5" - The cost is charged as custom fee 5.
 13019  	// Billed by the partner.
 13020  	//   "PARTNER_COST_TYPE_SCIBIDS_FEE" - The cost is charged for using Scibids.
 13021  	// Billed through DV360. This type is currently only available to certain
 13022  	// customers. Other customers attempting to use this type will receive an
 13023  	// error.
 13024  	CostType string `json:"costType,omitempty"`
 13025  	// FeeAmount: The CPM fee amount in micros of advertiser's currency. Applicable
 13026  	// when the fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be greater than or
 13027  	// equal to 0. For example, for 1.5 standard unit of the advertiser's currency,
 13028  	// set this field to 1500000.
 13029  	FeeAmount int64 `json:"feeAmount,omitempty,string"`
 13030  	// FeePercentageMillis: The media fee percentage in millis (1/1000 of a
 13031  	// percent). Applicable when the fee_type is `PARTNER_FEE_TYPE_MEDIA_FEE`. Must
 13032  	// be greater than or equal to 0. For example: 100 represents 0.1%.
 13033  	FeePercentageMillis int64 `json:"feePercentageMillis,omitempty,string"`
 13034  	// FeeType: Required. The fee type for this partner cost.
 13035  	//
 13036  	// Possible values:
 13037  	//   "PARTNER_COST_FEE_TYPE_UNSPECIFIED" - Value is not specified or is unknown
 13038  	// in this version.
 13039  	//   "PARTNER_COST_FEE_TYPE_CPM_FEE" - The partner cost is a fixed CPM fee. Not
 13040  	// applicable when the partner cost cost_type is one of: *
 13041  	// `PARTNER_COST_TYPE_MEDIA_COST_DATA` * `PARTNER_COST_TYPE_DV360_FEE`.
 13042  	//   "PARTNER_COST_FEE_TYPE_MEDIA_FEE" - The partner cost is a percentage
 13043  	// surcharge based on the media cost. Not applicable when the partner cost_type
 13044  	// is one of: * `PARTNER_COST_TYPE_SHOP_LOCAL` *
 13045  	// `PARTNER_COST_TYPE_TRUST_METRICS` *
 13046  	// `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO` *
 13047  	// `PARTNER_COST_TYPE_MOAT_VIDEO`.
 13048  	FeeType string `json:"feeType,omitempty"`
 13049  	// InvoiceType: The invoice type for this partner cost. * Required when
 13050  	// cost_type is one of: - `PARTNER_COST_TYPE_ADLOOX` -
 13051  	// `PARTNER_COST_TYPE_DOUBLE_VERIFY` - `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`.
 13052  	// * Output only for other types.
 13053  	//
 13054  	// Possible values:
 13055  	//   "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED" - Type value is not specified or
 13056  	// is unknown in this version.
 13057  	//   "PARTNER_COST_INVOICE_TYPE_DV360" - Partner cost is billed through DV360.
 13058  	//   "PARTNER_COST_INVOICE_TYPE_PARTNER" - Partner cost is billed by the
 13059  	// partner.
 13060  	InvoiceType string `json:"invoiceType,omitempty"`
 13061  	// ForceSendFields is a list of field names (e.g. "CostType") to
 13062  	// unconditionally include in API requests. By default, fields with empty or
 13063  	// default values are omitted from API requests. See
 13064  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13065  	// details.
 13066  	ForceSendFields []string `json:"-"`
 13067  	// NullFields is a list of field names (e.g. "CostType") to include in API
 13068  	// requests with the JSON null value. By default, fields with empty values are
 13069  	// omitted from API requests. See
 13070  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13071  	NullFields []string `json:"-"`
 13072  }
 13073  
 13074  func (s *PartnerCost) MarshalJSON() ([]byte, error) {
 13075  	type NoMethod PartnerCost
 13076  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13077  }
 13078  
 13079  // PartnerDataAccessConfig: Settings that control how partner related data may
 13080  // be accessed.
 13081  type PartnerDataAccessConfig struct {
 13082  	// SdfConfig: Structured Data Files (SDF) settings for the partner. The SDF
 13083  	// configuration for the partner.
 13084  	SdfConfig *SdfConfig `json:"sdfConfig,omitempty"`
 13085  	// ForceSendFields is a list of field names (e.g. "SdfConfig") to
 13086  	// unconditionally include in API requests. By default, fields with empty or
 13087  	// default values are omitted from API requests. See
 13088  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13089  	// details.
 13090  	ForceSendFields []string `json:"-"`
 13091  	// NullFields is a list of field names (e.g. "SdfConfig") to include in API
 13092  	// requests with the JSON null value. By default, fields with empty values are
 13093  	// omitted from API requests. See
 13094  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13095  	NullFields []string `json:"-"`
 13096  }
 13097  
 13098  func (s *PartnerDataAccessConfig) MarshalJSON() ([]byte, error) {
 13099  	type NoMethod PartnerDataAccessConfig
 13100  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13101  }
 13102  
 13103  // PartnerGeneralConfig: General settings of a partner.
 13104  type PartnerGeneralConfig struct {
 13105  	// CurrencyCode: Immutable. Partner's currency in ISO 4217 format.
 13106  	CurrencyCode string `json:"currencyCode,omitempty"`
 13107  	// TimeZone: Immutable. The standard TZ database name of the partner's time
 13108  	// zone. For example, `America/New_York`. See more at:
 13109  	// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
 13110  	TimeZone string `json:"timeZone,omitempty"`
 13111  	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
 13112  	// unconditionally include in API requests. By default, fields with empty or
 13113  	// default values are omitted from API requests. See
 13114  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13115  	// details.
 13116  	ForceSendFields []string `json:"-"`
 13117  	// NullFields is a list of field names (e.g. "CurrencyCode") to include in API
 13118  	// requests with the JSON null value. By default, fields with empty values are
 13119  	// omitted from API requests. See
 13120  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13121  	NullFields []string `json:"-"`
 13122  }
 13123  
 13124  func (s *PartnerGeneralConfig) MarshalJSON() ([]byte, error) {
 13125  	type NoMethod PartnerGeneralConfig
 13126  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13127  }
 13128  
 13129  // PartnerRevenueModel: Settings that control how partner revenue is
 13130  // calculated.
 13131  type PartnerRevenueModel struct {
 13132  	// MarkupAmount: Required. The markup amount of the partner revenue model. Must
 13133  	// be greater than or equal to 0. * When the markup_type is set to be
 13134  	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field represents the CPM
 13135  	// markup in micros of advertiser's currency. For example, 1500000 represents
 13136  	// 1.5 standard units of the currency. * When the markup_type is set to be
 13137  	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field represents
 13138  	// the media cost percent markup in millis. For example, 100 represents 0.1%
 13139  	// (decimal 0.001). * When the markup_type is set to be
 13140  	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this field
 13141  	// represents the total media cost percent markup in millis. For example, 100
 13142  	// represents 0.1% (decimal 0.001).
 13143  	MarkupAmount int64 `json:"markupAmount,omitempty,string"`
 13144  	// MarkupType: Required. The markup type of the partner revenue model.
 13145  	//
 13146  	// Possible values:
 13147  	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED" - Type value is not
 13148  	// specified or is unknown in this version.
 13149  	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM" - Calculate the partner revenue
 13150  	// based on a fixed CPM.
 13151  	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP" - Calculate the
 13152  	// partner revenue based on a percentage surcharge of its media cost.
 13153  	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" - Calculate
 13154  	// the partner revenue based on a percentage surcharge of its total media cost,
 13155  	// which includes all partner costs and data costs.
 13156  	MarkupType string `json:"markupType,omitempty"`
 13157  	// ForceSendFields is a list of field names (e.g. "MarkupAmount") to
 13158  	// unconditionally include in API requests. By default, fields with empty or
 13159  	// default values are omitted from API requests. See
 13160  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13161  	// details.
 13162  	ForceSendFields []string `json:"-"`
 13163  	// NullFields is a list of field names (e.g. "MarkupAmount") to include in API
 13164  	// requests with the JSON null value. By default, fields with empty values are
 13165  	// omitted from API requests. See
 13166  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13167  	NullFields []string `json:"-"`
 13168  }
 13169  
 13170  func (s *PartnerRevenueModel) MarshalJSON() ([]byte, error) {
 13171  	type NoMethod PartnerRevenueModel
 13172  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13173  }
 13174  
 13175  // PerformanceGoal: Settings that control the performance goal of a campaign.
 13176  type PerformanceGoal struct {
 13177  	// PerformanceGoalAmountMicros: The goal amount, in micros of the advertiser's
 13178  	// currency. Applicable when performance_goal_type is one of: *
 13179  	// `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` *
 13180  	// `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` *
 13181  	// `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard
 13182  	// units of the currency.
 13183  	PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"`
 13184  	// PerformanceGoalPercentageMicros: The decimal representation of the goal
 13185  	// percentage in micros. Applicable when performance_goal_type is one of: *
 13186  	// `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` *
 13187  	// `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` *
 13188  	// `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE`
 13189  	// * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000
 13190  	// represents 7% (decimal 0.07).
 13191  	PerformanceGoalPercentageMicros int64 `json:"performanceGoalPercentageMicros,omitempty,string"`
 13192  	// PerformanceGoalString: A key performance indicator (KPI) string, which can
 13193  	// be empty. Must be UTF-8 encoded with a length of no more than 100
 13194  	// characters. Applicable when performance_goal_type is set to
 13195  	// `PERFORMANCE_GOAL_TYPE_OTHER`.
 13196  	PerformanceGoalString string `json:"performanceGoalString,omitempty"`
 13197  	// PerformanceGoalType: Required. The type of the performance goal.
 13198  	//
 13199  	// Possible values:
 13200  	//   "PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Performance goal type is not
 13201  	// specified or is unknown in this version.
 13202  	//   "PERFORMANCE_GOAL_TYPE_CPM" - The performance goal is set in CPM (cost per
 13203  	// mille).
 13204  	//   "PERFORMANCE_GOAL_TYPE_CPC" - The performance goal is set in CPC (cost per
 13205  	// click).
 13206  	//   "PERFORMANCE_GOAL_TYPE_CPA" - The performance goal is set in CPA (cost per
 13207  	// action).
 13208  	//   "PERFORMANCE_GOAL_TYPE_CTR" - The performance goal is set in CTR
 13209  	// (click-through rate) percentage.
 13210  	//   "PERFORMANCE_GOAL_TYPE_VIEWABILITY" - The performance goal is set in
 13211  	// Viewability percentage.
 13212  	//   "PERFORMANCE_GOAL_TYPE_CPIAVC" - The performance goal is set as CPIAVC
 13213  	// (cost per impression audible and visible at completion).
 13214  	//   "PERFORMANCE_GOAL_TYPE_CPE" - The performance goal is set in CPE (cost per
 13215  	// engagement).
 13216  	//   "PERFORMANCE_GOAL_TYPE_CLICK_CVR" - The performance goal is set in click
 13217  	// conversion rate (conversions per click) percentage.
 13218  	//   "PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR" - The performance goal is set in
 13219  	// impression conversion rate (conversions per impression) percentage.
 13220  	//   "PERFORMANCE_GOAL_TYPE_VCPM" - The performance goal is set in VCPM (cost
 13221  	// per thousand viewable impressions).
 13222  	//   "PERFORMANCE_GOAL_TYPE_VTR" - The performance goal is set in YouTube view
 13223  	// rate (YouTube views per impression) percentage.
 13224  	//   "PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE" - The performance goal is
 13225  	// set in audio completion rate (complete audio listens per impression)
 13226  	// percentage.
 13227  	//   "PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE" - The performance goal is
 13228  	// set in video completion rate (complete video views per impression)
 13229  	// percentage.
 13230  	//   "PERFORMANCE_GOAL_TYPE_OTHER" - The performance goal is set to Other.
 13231  	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
 13232  	// ForceSendFields is a list of field names (e.g.
 13233  	// "PerformanceGoalAmountMicros") to unconditionally include in API requests.
 13234  	// By default, fields with empty or default values are omitted from API
 13235  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
 13236  	// for more details.
 13237  	ForceSendFields []string `json:"-"`
 13238  	// NullFields is a list of field names (e.g. "PerformanceGoalAmountMicros") to
 13239  	// include in API requests with the JSON null value. By default, fields with
 13240  	// empty values are omitted from API requests. See
 13241  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13242  	NullFields []string `json:"-"`
 13243  }
 13244  
 13245  func (s *PerformanceGoal) MarshalJSON() ([]byte, error) {
 13246  	type NoMethod PerformanceGoal
 13247  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13248  }
 13249  
 13250  // PerformanceGoalBidStrategy: A strategy that automatically adjusts the bid to
 13251  // meet or beat a specified performance goal.
 13252  type PerformanceGoalBidStrategy struct {
 13253  	// CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used by
 13254  	// this strategy. Only applicable when performance_goal_type is set to
 13255  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
 13256  	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
 13257  	// MaxAverageCpmBidAmountMicros: The maximum average CPM that may be bid, in
 13258  	// micros of the advertiser's currency. Must be greater than or equal to a
 13259  	// billable unit of the given currency. Not applicable when
 13260  	// performance_goal_type is set to
 13261  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example, 1500000
 13262  	// represents 1.5 standard units of the currency.
 13263  	MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"`
 13264  	// PerformanceGoalAmountMicros: Required. The performance goal the bidding
 13265  	// strategy will attempt to meet or beat, in micros of the advertiser's
 13266  	// currency or in micro of the ROAS (Return On Advertising Spend) value which
 13267  	// is also based on advertiser's currency. Must be greater than or equal to a
 13268  	// billable unit of the given currency and smaller or equal to upper bounds.
 13269  	// Each performance_goal_type has its upper bound: * when performance_goal_type
 13270  	// is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, upper bound is 10000.00
 13271  	// USD. * when performance_goal_type is
 13272  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00 USD. *
 13273  	// when performance_goal_type is
 13274  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is
 13275  	// 1000.00 USD. * when performance_goal_type is
 13276  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is 1000.00
 13277  	// and lower bound is 0.01. Example: If set to
 13278  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price will be
 13279  	// based on the probability that each available impression will be viewable.
 13280  	// For example, if viewable CPM target is $2 and an impression is 40% likely to
 13281  	// be viewable, the bid price will be $0.80 CPM (40% of $2). For example,
 13282  	// 1500000 represents 1.5 standard units of the currency or ROAS value.
 13283  	PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"`
 13284  	// PerformanceGoalType: Required. The type of the performance goal that the
 13285  	// bidding strategy will try to meet or beat. For line item level usage, the
 13286  	// value must be one of: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` *
 13287  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` *
 13288  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` *
 13289  	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
 13290  	//
 13291  	// Possible values:
 13292  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value is not
 13293  	// specified or is unknown in this version.
 13294  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action.
 13295  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click.
 13296  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable CPM.
 13297  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom bidding
 13298  	// algorithm.
 13299  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview and
 13300  	// audible views.
 13301  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over 10
 13302  	// secs views.
 13303  	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable impressions.
 13304  	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
 13305  	// ForceSendFields is a list of field names (e.g. "CustomBiddingAlgorithmId")
 13306  	// to unconditionally include in API requests. By default, fields with empty or
 13307  	// default values are omitted from API requests. See
 13308  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13309  	// details.
 13310  	ForceSendFields []string `json:"-"`
 13311  	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId") to
 13312  	// include in API requests with the JSON null value. By default, fields with
 13313  	// empty values are omitted from API requests. See
 13314  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13315  	NullFields []string `json:"-"`
 13316  }
 13317  
 13318  func (s *PerformanceGoalBidStrategy) MarshalJSON() ([]byte, error) {
 13319  	type NoMethod PerformanceGoalBidStrategy
 13320  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13321  }
 13322  
 13323  // PoiAssignedTargetingOptionDetails: Details for assigned POI targeting
 13324  // option. This will be populated in the details field of an
 13325  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`.
 13326  type PoiAssignedTargetingOptionDetails struct {
 13327  	// DisplayName: Output only. The display name of a POI, e.g. "Times Square",
 13328  	// "Space Needle", followed by its full address if available.
 13329  	DisplayName string `json:"displayName,omitempty"`
 13330  	// Latitude: Output only. Latitude of the POI rounding to 6th decimal place.
 13331  	Latitude float64 `json:"latitude,omitempty"`
 13332  	// Longitude: Output only. Longitude of the POI rounding to 6th decimal place.
 13333  	Longitude float64 `json:"longitude,omitempty"`
 13334  	// ProximityRadiusAmount: Required. The radius of the area around the POI that
 13335  	// will be targeted. The units of the radius are specified by
 13336  	// proximity_radius_unit. Must be 1 to 800 if unit is
 13337  	// `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
 13338  	ProximityRadiusAmount float64 `json:"proximityRadiusAmount,omitempty"`
 13339  	// ProximityRadiusUnit: Required. The unit of distance by which the targeting
 13340  	// radius is measured.
 13341  	//
 13342  	// Possible values:
 13343  	//   "DISTANCE_UNIT_UNSPECIFIED" - Type value is not specified or is unknown in
 13344  	// this version.
 13345  	//   "DISTANCE_UNIT_MILES" - Miles.
 13346  	//   "DISTANCE_UNIT_KILOMETERS" - Kilometers.
 13347  	ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"`
 13348  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
 13349  	// type `TARGETING_TYPE_POI`. Accepted POI targeting option IDs can be
 13350  	// retrieved using `targetingTypes.targetingOptions.search`. If targeting a
 13351  	// specific latitude/longitude coordinate removed from an address or POI name,
 13352  	// you can generate the necessary targeting option ID by rounding the desired
 13353  	// coordinate values to the 6th decimal place, removing the decimals, and
 13354  	// concatenating the string values separated by a semicolon. For example, you
 13355  	// can target the latitude/longitude pair of 40.7414691, -74.003387 using the
 13356  	// targeting option ID "40741469;-74003387". **Upon** **creation, this field
 13357  	// value will be updated to append a semicolon and** **alphanumerical hash
 13358  	// value if only latitude/longitude coordinates are** **provided.**
 13359  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 13360  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 13361  	// unconditionally include in API requests. By default, fields with empty or
 13362  	// default values are omitted from API requests. See
 13363  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13364  	// details.
 13365  	ForceSendFields []string `json:"-"`
 13366  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 13367  	// requests with the JSON null value. By default, fields with empty values are
 13368  	// omitted from API requests. See
 13369  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13370  	NullFields []string `json:"-"`
 13371  }
 13372  
 13373  func (s *PoiAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 13374  	type NoMethod PoiAssignedTargetingOptionDetails
 13375  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13376  }
 13377  
 13378  func (s *PoiAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error {
 13379  	type NoMethod PoiAssignedTargetingOptionDetails
 13380  	var s1 struct {
 13381  		Latitude              gensupport.JSONFloat64 `json:"latitude"`
 13382  		Longitude             gensupport.JSONFloat64 `json:"longitude"`
 13383  		ProximityRadiusAmount gensupport.JSONFloat64 `json:"proximityRadiusAmount"`
 13384  		*NoMethod
 13385  	}
 13386  	s1.NoMethod = (*NoMethod)(s)
 13387  	if err := json.Unmarshal(data, &s1); err != nil {
 13388  		return err
 13389  	}
 13390  	s.Latitude = float64(s1.Latitude)
 13391  	s.Longitude = float64(s1.Longitude)
 13392  	s.ProximityRadiusAmount = float64(s1.ProximityRadiusAmount)
 13393  	return nil
 13394  }
 13395  
 13396  // PoiSearchTerms: Search terms for POI targeting options.
 13397  type PoiSearchTerms struct {
 13398  	// PoiQuery: The search query for the desired POI name, street address, or
 13399  	// coordinate of the desired POI. The query can be a prefix, e.g. "Times
 13400  	// squar", "40.7505045,-73.99562", "315 W 44th St", etc.
 13401  	PoiQuery string `json:"poiQuery,omitempty"`
 13402  	// ForceSendFields is a list of field names (e.g. "PoiQuery") to
 13403  	// unconditionally include in API requests. By default, fields with empty or
 13404  	// default values are omitted from API requests. See
 13405  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13406  	// details.
 13407  	ForceSendFields []string `json:"-"`
 13408  	// NullFields is a list of field names (e.g. "PoiQuery") to include in API
 13409  	// requests with the JSON null value. By default, fields with empty values are
 13410  	// omitted from API requests. See
 13411  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13412  	NullFields []string `json:"-"`
 13413  }
 13414  
 13415  func (s *PoiSearchTerms) MarshalJSON() ([]byte, error) {
 13416  	type NoMethod PoiSearchTerms
 13417  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13418  }
 13419  
 13420  // PoiTargetingOptionDetails: Represents a targetable point of interest(POI).
 13421  // This will be populated in the poi_details field when targeting_type is
 13422  // `TARGETING_TYPE_POI`.
 13423  type PoiTargetingOptionDetails struct {
 13424  	// DisplayName: Output only. The display name of a POI(e.g. "Times Square",
 13425  	// "Space Needle"), followed by its full address if available.
 13426  	DisplayName string `json:"displayName,omitempty"`
 13427  	// Latitude: Output only. Latitude of the POI rounding to 6th decimal place.
 13428  	Latitude float64 `json:"latitude,omitempty"`
 13429  	// Longitude: Output only. Longitude of the POI rounding to 6th decimal place.
 13430  	Longitude float64 `json:"longitude,omitempty"`
 13431  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 13432  	// unconditionally include in API requests. By default, fields with empty or
 13433  	// default values are omitted from API requests. See
 13434  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13435  	// details.
 13436  	ForceSendFields []string `json:"-"`
 13437  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 13438  	// requests with the JSON null value. By default, fields with empty values are
 13439  	// omitted from API requests. See
 13440  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13441  	NullFields []string `json:"-"`
 13442  }
 13443  
 13444  func (s *PoiTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 13445  	type NoMethod PoiTargetingOptionDetails
 13446  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13447  }
 13448  
 13449  func (s *PoiTargetingOptionDetails) UnmarshalJSON(data []byte) error {
 13450  	type NoMethod PoiTargetingOptionDetails
 13451  	var s1 struct {
 13452  		Latitude  gensupport.JSONFloat64 `json:"latitude"`
 13453  		Longitude gensupport.JSONFloat64 `json:"longitude"`
 13454  		*NoMethod
 13455  	}
 13456  	s1.NoMethod = (*NoMethod)(s)
 13457  	if err := json.Unmarshal(data, &s1); err != nil {
 13458  		return err
 13459  	}
 13460  	s.Latitude = float64(s1.Latitude)
 13461  	s.Longitude = float64(s1.Longitude)
 13462  	return nil
 13463  }
 13464  
 13465  // PrismaConfig: Settings specific to the Mediaocean Prisma tool.
 13466  type PrismaConfig struct {
 13467  	// PrismaCpeCode: Required. Relevant client, product, and estimate codes from
 13468  	// the Mediaocean Prisma tool.
 13469  	PrismaCpeCode *PrismaCpeCode `json:"prismaCpeCode,omitempty"`
 13470  	// PrismaType: Required. The Prisma type.
 13471  	//
 13472  	// Possible values:
 13473  	//   "PRISMA_TYPE_UNSPECIFIED" - Type is not specified or unknown in this
 13474  	// version.
 13475  	//   "PRISMA_TYPE_DISPLAY" - Display type.
 13476  	//   "PRISMA_TYPE_SEARCH" - Search type.
 13477  	//   "PRISMA_TYPE_VIDEO" - Video type.
 13478  	//   "PRISMA_TYPE_AUDIO" - Audio type.
 13479  	//   "PRISMA_TYPE_SOCIAL" - Social type.
 13480  	//   "PRISMA_TYPE_FEE" - Fee type.
 13481  	PrismaType string `json:"prismaType,omitempty"`
 13482  	// Supplier: Required. The entity allocated this budget (DSP, site, etc.).
 13483  	Supplier string `json:"supplier,omitempty"`
 13484  	// ForceSendFields is a list of field names (e.g. "PrismaCpeCode") to
 13485  	// unconditionally include in API requests. By default, fields with empty or
 13486  	// default values are omitted from API requests. See
 13487  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13488  	// details.
 13489  	ForceSendFields []string `json:"-"`
 13490  	// NullFields is a list of field names (e.g. "PrismaCpeCode") to include in API
 13491  	// requests with the JSON null value. By default, fields with empty values are
 13492  	// omitted from API requests. See
 13493  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13494  	NullFields []string `json:"-"`
 13495  }
 13496  
 13497  func (s *PrismaConfig) MarshalJSON() ([]byte, error) {
 13498  	type NoMethod PrismaConfig
 13499  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13500  }
 13501  
 13502  // PrismaCpeCode: Google Payments Center supports searching and filtering on
 13503  // the component fields of this code.
 13504  type PrismaCpeCode struct {
 13505  	// PrismaClientCode: The Prisma client code.
 13506  	PrismaClientCode string `json:"prismaClientCode,omitempty"`
 13507  	// PrismaEstimateCode: The Prisma estimate code.
 13508  	PrismaEstimateCode string `json:"prismaEstimateCode,omitempty"`
 13509  	// PrismaProductCode: The Prisma product code.
 13510  	PrismaProductCode string `json:"prismaProductCode,omitempty"`
 13511  	// ForceSendFields is a list of field names (e.g. "PrismaClientCode") to
 13512  	// unconditionally include in API requests. By default, fields with empty or
 13513  	// default values are omitted from API requests. See
 13514  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13515  	// details.
 13516  	ForceSendFields []string `json:"-"`
 13517  	// NullFields is a list of field names (e.g. "PrismaClientCode") to include in
 13518  	// API requests with the JSON null value. By default, fields with empty values
 13519  	// are omitted from API requests. See
 13520  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13521  	NullFields []string `json:"-"`
 13522  }
 13523  
 13524  func (s *PrismaCpeCode) MarshalJSON() ([]byte, error) {
 13525  	type NoMethod PrismaCpeCode
 13526  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13527  }
 13528  
 13529  // ProductFeedData: The details of product feed.
 13530  type ProductFeedData struct {
 13531  	// IsFeedDisabled: Whether the product feed has opted-out of showing products.
 13532  	IsFeedDisabled bool `json:"isFeedDisabled,omitempty"`
 13533  	// ProductMatchDimensions: A list of dimensions used to match products.
 13534  	ProductMatchDimensions []*ProductMatchDimension `json:"productMatchDimensions,omitempty"`
 13535  	// ProductMatchType: How products are selected by the product feed.
 13536  	//
 13537  	// Possible values:
 13538  	//   "PRODUCT_MATCH_TYPE_UNSPECIFIED" - Not specified or unknown.
 13539  	//   "PRODUCT_MATCH_TYPE_ALL_PRODUCTS" - All the products are matched.
 13540  	//   "PRODUCT_MATCH_TYPE_SPECIFIC_PRODUCTS" - Specific products are selected.
 13541  	//   "PRODUCT_MATCH_TYPE_CUSTOM_LABEL" - Match products by their custom labels.
 13542  	ProductMatchType string `json:"productMatchType,omitempty"`
 13543  	// ForceSendFields is a list of field names (e.g. "IsFeedDisabled") to
 13544  	// unconditionally include in API requests. By default, fields with empty or
 13545  	// default values are omitted from API requests. See
 13546  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13547  	// details.
 13548  	ForceSendFields []string `json:"-"`
 13549  	// NullFields is a list of field names (e.g. "IsFeedDisabled") to include in
 13550  	// API requests with the JSON null value. By default, fields with empty values
 13551  	// are omitted from API requests. See
 13552  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13553  	NullFields []string `json:"-"`
 13554  }
 13555  
 13556  func (s *ProductFeedData) MarshalJSON() ([]byte, error) {
 13557  	type NoMethod ProductFeedData
 13558  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13559  }
 13560  
 13561  // ProductMatchDimension: A dimension used to match products.
 13562  type ProductMatchDimension struct {
 13563  	// CustomLabel: The custom label to match all the products with the label.
 13564  	CustomLabel *CustomLabel `json:"customLabel,omitempty"`
 13565  	// ProductOfferId: The ID of the product offer to match with a product with the
 13566  	// same offer ID.
 13567  	ProductOfferId string `json:"productOfferId,omitempty"`
 13568  	// ForceSendFields is a list of field names (e.g. "CustomLabel") to
 13569  	// unconditionally include in API requests. By default, fields with empty or
 13570  	// default values are omitted from API requests. See
 13571  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13572  	// details.
 13573  	ForceSendFields []string `json:"-"`
 13574  	// NullFields is a list of field names (e.g. "CustomLabel") to include in API
 13575  	// requests with the JSON null value. By default, fields with empty values are
 13576  	// omitted from API requests. See
 13577  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13578  	NullFields []string `json:"-"`
 13579  }
 13580  
 13581  func (s *ProductMatchDimension) MarshalJSON() ([]byte, error) {
 13582  	type NoMethod ProductMatchDimension
 13583  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13584  }
 13585  
 13586  // ProximityLocationListAssignedTargetingOptionDetails: Targeting details for
 13587  // proximity location list. This will be populated in the details field of an
 13588  // AssignedTargetingOption when targeting_type is
 13589  // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
 13590  type ProximityLocationListAssignedTargetingOptionDetails struct {
 13591  	// ProximityLocationListId: Required. ID of the proximity location list. Should
 13592  	// refer to the location_list_id field of a LocationList resource whose type is
 13593  	// `TARGETING_LOCATION_TYPE_PROXIMITY`.
 13594  	ProximityLocationListId int64 `json:"proximityLocationListId,omitempty,string"`
 13595  	// ProximityRadius: Required. Radius expressed in the distance units set in
 13596  	// proximity_radius_unit. This represents the size of the area around a chosen
 13597  	// location that will be targeted. Radius should be between 1 and 500 miles or
 13598  	// 800 kilometers.
 13599  	ProximityRadius float64 `json:"proximityRadius,omitempty"`
 13600  	// ProximityRadiusUnit: Required. Radius distance units.
 13601  	//
 13602  	// Possible values:
 13603  	//   "PROXIMITY_RADIUS_UNIT_UNSPECIFIED" - Default value when distance units is
 13604  	// not specified in this version. This enum is a place holder for default value
 13605  	// and does not represent a real distance unit.
 13606  	//   "PROXIMITY_RADIUS_UNIT_MILES" - Radius distance unit in miles.
 13607  	//   "PROXIMITY_RADIUS_UNIT_KILOMETERS" - Radius distance unit in kilometeres
 13608  	ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"`
 13609  	// ForceSendFields is a list of field names (e.g. "ProximityLocationListId") to
 13610  	// unconditionally include in API requests. By default, fields with empty or
 13611  	// default values are omitted from API requests. See
 13612  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13613  	// details.
 13614  	ForceSendFields []string `json:"-"`
 13615  	// NullFields is a list of field names (e.g. "ProximityLocationListId") to
 13616  	// include in API requests with the JSON null value. By default, fields with
 13617  	// empty values are omitted from API requests. See
 13618  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13619  	NullFields []string `json:"-"`
 13620  }
 13621  
 13622  func (s *ProximityLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 13623  	type NoMethod ProximityLocationListAssignedTargetingOptionDetails
 13624  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13625  }
 13626  
 13627  func (s *ProximityLocationListAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error {
 13628  	type NoMethod ProximityLocationListAssignedTargetingOptionDetails
 13629  	var s1 struct {
 13630  		ProximityRadius gensupport.JSONFloat64 `json:"proximityRadius"`
 13631  		*NoMethod
 13632  	}
 13633  	s1.NoMethod = (*NoMethod)(s)
 13634  	if err := json.Unmarshal(data, &s1); err != nil {
 13635  		return err
 13636  	}
 13637  	s.ProximityRadius = float64(s1.ProximityRadius)
 13638  	return nil
 13639  }
 13640  
 13641  // PublisherReviewStatus: Publisher review status for the creative.
 13642  type PublisherReviewStatus struct {
 13643  	// PublisherName: The publisher reviewing the creative.
 13644  	PublisherName string `json:"publisherName,omitempty"`
 13645  	// Status: Status of the publisher review.
 13646  	//
 13647  	// Possible values:
 13648  	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in
 13649  	// this version.
 13650  	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
 13651  	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
 13652  	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
 13653  	Status string `json:"status,omitempty"`
 13654  	// ForceSendFields is a list of field names (e.g. "PublisherName") to
 13655  	// unconditionally include in API requests. By default, fields with empty or
 13656  	// default values are omitted from API requests. See
 13657  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13658  	// details.
 13659  	ForceSendFields []string `json:"-"`
 13660  	// NullFields is a list of field names (e.g. "PublisherName") to include in API
 13661  	// requests with the JSON null value. By default, fields with empty values are
 13662  	// omitted from API requests. See
 13663  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13664  	NullFields []string `json:"-"`
 13665  }
 13666  
 13667  func (s *PublisherReviewStatus) MarshalJSON() ([]byte, error) {
 13668  	type NoMethod PublisherReviewStatus
 13669  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13670  }
 13671  
 13672  // RateDetails: The rate related settings of the inventory source.
 13673  type RateDetails struct {
 13674  	// InventorySourceRateType: The rate type. Acceptable values are
 13675  	// `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`,
 13676  	// `INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and
 13677  	// `INVENTORY_SOURCE_RATE_TYPE_CPD`.
 13678  	//
 13679  	// Possible values:
 13680  	//   "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED" - The rate type is not specified
 13681  	// or is unknown in this version.
 13682  	//   "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED" - The rate type is CPM (Fixed).
 13683  	//   "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR" - The rate type is CPM (Floor).
 13684  	//   "INVENTORY_SOURCE_RATE_TYPE_CPD" - The rate type is Cost per Day.
 13685  	//   "INVENTORY_SOURCE_RATE_TYPE_FLAT" - The rate type is Flat.
 13686  	InventorySourceRateType string `json:"inventorySourceRateType,omitempty"`
 13687  	// MinimumSpend: Output only. The amount that the buyer has committed to
 13688  	// spending on the inventory source up front. Only applicable for guaranteed
 13689  	// inventory sources.
 13690  	MinimumSpend *Money `json:"minimumSpend,omitempty"`
 13691  	// Rate: The rate for the inventory source.
 13692  	Rate *Money `json:"rate,omitempty"`
 13693  	// UnitsPurchased: Required for guaranteed inventory sources. The number of
 13694  	// impressions guaranteed by the seller.
 13695  	UnitsPurchased int64 `json:"unitsPurchased,omitempty,string"`
 13696  	// ForceSendFields is a list of field names (e.g. "InventorySourceRateType") to
 13697  	// unconditionally include in API requests. By default, fields with empty or
 13698  	// default values are omitted from API requests. See
 13699  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13700  	// details.
 13701  	ForceSendFields []string `json:"-"`
 13702  	// NullFields is a list of field names (e.g. "InventorySourceRateType") to
 13703  	// include in API requests with the JSON null value. By default, fields with
 13704  	// empty values are omitted from API requests. See
 13705  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13706  	NullFields []string `json:"-"`
 13707  }
 13708  
 13709  func (s *RateDetails) MarshalJSON() ([]byte, error) {
 13710  	type NoMethod RateDetails
 13711  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13712  }
 13713  
 13714  // RegionalLocationListAssignedTargetingOptionDetails: Targeting details for
 13715  // regional location list. This will be populated in the details field of an
 13716  // AssignedTargetingOption when targeting_type is
 13717  // `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
 13718  type RegionalLocationListAssignedTargetingOptionDetails struct {
 13719  	// Negative: Indicates if this option is being negatively targeted.
 13720  	Negative bool `json:"negative,omitempty"`
 13721  	// RegionalLocationListId: Required. ID of the regional location list. Should
 13722  	// refer to the location_list_id field of a LocationList resource whose type is
 13723  	// `TARGETING_LOCATION_TYPE_REGIONAL`.
 13724  	RegionalLocationListId int64 `json:"regionalLocationListId,omitempty,string"`
 13725  	// ForceSendFields is a list of field names (e.g. "Negative") to
 13726  	// unconditionally include in API requests. By default, fields with empty or
 13727  	// default values are omitted from API requests. See
 13728  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13729  	// details.
 13730  	ForceSendFields []string `json:"-"`
 13731  	// NullFields is a list of field names (e.g. "Negative") to include in API
 13732  	// requests with the JSON null value. By default, fields with empty values are
 13733  	// omitted from API requests. See
 13734  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13735  	NullFields []string `json:"-"`
 13736  }
 13737  
 13738  func (s *RegionalLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 13739  	type NoMethod RegionalLocationListAssignedTargetingOptionDetails
 13740  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13741  }
 13742  
 13743  // RemarketingConfig: Settings that control the whether remarketing is enabled
 13744  // for the given identified advertiser.
 13745  type RemarketingConfig struct {
 13746  	// AdvertiserId: Output only. The ID of the advertiser.
 13747  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 13748  	// RemarketingEnabled: Output only. Whether the Floodlight activity remarketing
 13749  	// user list is available to the identified advertiser.
 13750  	RemarketingEnabled bool `json:"remarketingEnabled,omitempty"`
 13751  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 13752  	// unconditionally include in API requests. By default, fields with empty or
 13753  	// default values are omitted from API requests. See
 13754  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13755  	// details.
 13756  	ForceSendFields []string `json:"-"`
 13757  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 13758  	// requests with the JSON null value. By default, fields with empty values are
 13759  	// omitted from API requests. See
 13760  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13761  	NullFields []string `json:"-"`
 13762  }
 13763  
 13764  func (s *RemarketingConfig) MarshalJSON() ([]byte, error) {
 13765  	type NoMethod RemarketingConfig
 13766  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13767  }
 13768  
 13769  // ReplaceNegativeKeywordsRequest: Request message for
 13770  // NegativeKeywordService.ReplaceNegativeKeywords.
 13771  type ReplaceNegativeKeywordsRequest struct {
 13772  	// NewNegativeKeywords: The negative keywords that will replace the existing
 13773  	// keywords in the negative keyword list, specified as a list of
 13774  	// NegativeKeywords.
 13775  	NewNegativeKeywords []*NegativeKeyword `json:"newNegativeKeywords,omitempty"`
 13776  	// ForceSendFields is a list of field names (e.g. "NewNegativeKeywords") to
 13777  	// unconditionally include in API requests. By default, fields with empty or
 13778  	// default values are omitted from API requests. See
 13779  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13780  	// details.
 13781  	ForceSendFields []string `json:"-"`
 13782  	// NullFields is a list of field names (e.g. "NewNegativeKeywords") to include
 13783  	// in API requests with the JSON null value. By default, fields with empty
 13784  	// values are omitted from API requests. See
 13785  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13786  	NullFields []string `json:"-"`
 13787  }
 13788  
 13789  func (s *ReplaceNegativeKeywordsRequest) MarshalJSON() ([]byte, error) {
 13790  	type NoMethod ReplaceNegativeKeywordsRequest
 13791  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13792  }
 13793  
 13794  // ReplaceNegativeKeywordsResponse: Response message for
 13795  // NegativeKeywordService.ReplaceNegativeKeywords.
 13796  type ReplaceNegativeKeywordsResponse struct {
 13797  	// NegativeKeywords: The full list of negative keywords now present in the
 13798  	// negative keyword list.
 13799  	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
 13800  
 13801  	// ServerResponse contains the HTTP response code and headers from the server.
 13802  	googleapi.ServerResponse `json:"-"`
 13803  	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
 13804  	// unconditionally include in API requests. By default, fields with empty or
 13805  	// default values are omitted from API requests. See
 13806  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13807  	// details.
 13808  	ForceSendFields []string `json:"-"`
 13809  	// NullFields is a list of field names (e.g. "NegativeKeywords") to include in
 13810  	// API requests with the JSON null value. By default, fields with empty values
 13811  	// are omitted from API requests. See
 13812  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13813  	NullFields []string `json:"-"`
 13814  }
 13815  
 13816  func (s *ReplaceNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
 13817  	type NoMethod ReplaceNegativeKeywordsResponse
 13818  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13819  }
 13820  
 13821  // ReplaceSitesRequest: Request message for SiteService.ReplaceSites.
 13822  type ReplaceSitesRequest struct {
 13823  	// AdvertiserId: The ID of the advertiser that owns the parent channel.
 13824  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 13825  	// NewSites: The sites that will replace the existing sites assigned to the
 13826  	// channel, specified as a list of Sites.
 13827  	NewSites []*Site `json:"newSites,omitempty"`
 13828  	// PartnerId: The ID of the partner that owns the parent channel.
 13829  	PartnerId int64 `json:"partnerId,omitempty,string"`
 13830  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 13831  	// unconditionally include in API requests. By default, fields with empty or
 13832  	// default values are omitted from API requests. See
 13833  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13834  	// details.
 13835  	ForceSendFields []string `json:"-"`
 13836  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 13837  	// requests with the JSON null value. By default, fields with empty values are
 13838  	// omitted from API requests. See
 13839  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13840  	NullFields []string `json:"-"`
 13841  }
 13842  
 13843  func (s *ReplaceSitesRequest) MarshalJSON() ([]byte, error) {
 13844  	type NoMethod ReplaceSitesRequest
 13845  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13846  }
 13847  
 13848  // ReplaceSitesResponse: Response message for SiteService.ReplaceSites.
 13849  type ReplaceSitesResponse struct {
 13850  	// Sites: The list of sites in the channel after replacing.
 13851  	Sites []*Site `json:"sites,omitempty"`
 13852  
 13853  	// ServerResponse contains the HTTP response code and headers from the server.
 13854  	googleapi.ServerResponse `json:"-"`
 13855  	// ForceSendFields is a list of field names (e.g. "Sites") to unconditionally
 13856  	// include in API requests. By default, fields with empty or default values are
 13857  	// omitted from API requests. See
 13858  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13859  	// details.
 13860  	ForceSendFields []string `json:"-"`
 13861  	// NullFields is a list of field names (e.g. "Sites") to include in API
 13862  	// requests with the JSON null value. By default, fields with empty values are
 13863  	// omitted from API requests. See
 13864  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13865  	NullFields []string `json:"-"`
 13866  }
 13867  
 13868  func (s *ReplaceSitesResponse) MarshalJSON() ([]byte, error) {
 13869  	type NoMethod ReplaceSitesResponse
 13870  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13871  }
 13872  
 13873  // ReviewStatusInfo: Review statuses for the creative.
 13874  type ReviewStatusInfo struct {
 13875  	// ApprovalStatus: Represents the basic approval needed for a creative to begin
 13876  	// serving. Summary of creative_and_landing_page_review_status and
 13877  	// content_and_policy_review_status.
 13878  	//
 13879  	// Possible values:
 13880  	//   "APPROVAL_STATUS_UNSPECIFIED" - Type value is not specified or is unknown
 13881  	// in this version.
 13882  	//   "APPROVAL_STATUS_PENDING_NOT_SERVABLE" - The creative is still under
 13883  	// review and not servable.
 13884  	//   "APPROVAL_STATUS_PENDING_SERVABLE" - The creative has passed creative &
 13885  	// landing page review and is servable, but is awaiting additional content &
 13886  	// policy review.
 13887  	//   "APPROVAL_STATUS_APPROVED_SERVABLE" - Both creative & landing page review
 13888  	// and content & policy review are approved. The creative is servable.
 13889  	//   "APPROVAL_STATUS_REJECTED_NOT_SERVABLE" - There is an issue with the
 13890  	// creative that must be fixed before it can serve.
 13891  	ApprovalStatus string `json:"approvalStatus,omitempty"`
 13892  	// ContentAndPolicyReviewStatus: Content and policy review status for the
 13893  	// creative.
 13894  	//
 13895  	// Possible values:
 13896  	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in
 13897  	// this version.
 13898  	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
 13899  	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
 13900  	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
 13901  	ContentAndPolicyReviewStatus string `json:"contentAndPolicyReviewStatus,omitempty"`
 13902  	// CreativeAndLandingPageReviewStatus: Creative and landing page review status
 13903  	// for the creative.
 13904  	//
 13905  	// Possible values:
 13906  	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is unknown in
 13907  	// this version.
 13908  	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
 13909  	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
 13910  	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
 13911  	CreativeAndLandingPageReviewStatus string `json:"creativeAndLandingPageReviewStatus,omitempty"`
 13912  	// ExchangeReviewStatuses: Exchange review statuses for the creative.
 13913  	ExchangeReviewStatuses []*ExchangeReviewStatus `json:"exchangeReviewStatuses,omitempty"`
 13914  	// PublisherReviewStatuses: Publisher review statuses for the creative.
 13915  	PublisherReviewStatuses []*PublisherReviewStatus `json:"publisherReviewStatuses,omitempty"`
 13916  	// ForceSendFields is a list of field names (e.g. "ApprovalStatus") to
 13917  	// unconditionally include in API requests. By default, fields with empty or
 13918  	// default values are omitted from API requests. See
 13919  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13920  	// details.
 13921  	ForceSendFields []string `json:"-"`
 13922  	// NullFields is a list of field names (e.g. "ApprovalStatus") to include in
 13923  	// API requests with the JSON null value. By default, fields with empty values
 13924  	// are omitted from API requests. See
 13925  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13926  	NullFields []string `json:"-"`
 13927  }
 13928  
 13929  func (s *ReviewStatusInfo) MarshalJSON() ([]byte, error) {
 13930  	type NoMethod ReviewStatusInfo
 13931  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13932  }
 13933  
 13934  // ScriptError: An error message for a custom bidding script.
 13935  type ScriptError struct {
 13936  	// Column: The column number in the script where the error was thrown.
 13937  	Column int64 `json:"column,omitempty,string"`
 13938  	// ErrorCode: The type of error.
 13939  	//
 13940  	// Possible values:
 13941  	//   "ERROR_CODE_UNSPECIFIED" - The script error is not specified or is unknown
 13942  	// in this version.
 13943  	//   "SYNTAX_ERROR" - The script has a syntax error.
 13944  	//   "DEPRECATED_SYNTAX" - The script uses deprecated syntax.
 13945  	//   "INTERNAL_ERROR" - Internal errors were thrown while processing the
 13946  	// script.
 13947  	ErrorCode string `json:"errorCode,omitempty"`
 13948  	// ErrorMessage: The detailed error message.
 13949  	ErrorMessage string `json:"errorMessage,omitempty"`
 13950  	// Line: The line number in the script where the error was thrown.
 13951  	Line int64 `json:"line,omitempty,string"`
 13952  	// ForceSendFields is a list of field names (e.g. "Column") to unconditionally
 13953  	// include in API requests. By default, fields with empty or default values are
 13954  	// omitted from API requests. See
 13955  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13956  	// details.
 13957  	ForceSendFields []string `json:"-"`
 13958  	// NullFields is a list of field names (e.g. "Column") to include in API
 13959  	// requests with the JSON null value. By default, fields with empty values are
 13960  	// omitted from API requests. See
 13961  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 13962  	NullFields []string `json:"-"`
 13963  }
 13964  
 13965  func (s *ScriptError) MarshalJSON() ([]byte, error) {
 13966  	type NoMethod ScriptError
 13967  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 13968  }
 13969  
 13970  // SdfConfig: Structured Data File (SDF) related settings.
 13971  type SdfConfig struct {
 13972  	// AdminEmail: An administrator email address to which the SDF processing
 13973  	// status reports will be sent.
 13974  	AdminEmail string `json:"adminEmail,omitempty"`
 13975  	// Version: Required. The version of SDF being used.
 13976  	//
 13977  	// Possible values:
 13978  	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or is
 13979  	// unknown in this version.
 13980  	//   "SDF_VERSION_3_1" - SDF version 3.1
 13981  	//   "SDF_VERSION_4" - SDF version 4
 13982  	//   "SDF_VERSION_4_1" - SDF version 4.1
 13983  	//   "SDF_VERSION_4_2" - SDF version 4.2
 13984  	//   "SDF_VERSION_5" - SDF version 5.
 13985  	//   "SDF_VERSION_5_1" - SDF version 5.1
 13986  	//   "SDF_VERSION_5_2" - SDF version 5.2
 13987  	//   "SDF_VERSION_5_3" - SDF version 5.3
 13988  	//   "SDF_VERSION_5_4" - SDF version 5.4
 13989  	//   "SDF_VERSION_5_5" - SDF version 5.5
 13990  	//   "SDF_VERSION_6" - SDF version 6
 13991  	//   "SDF_VERSION_7" - SDF version 7. Read the [v7 migration
 13992  	// guide](/display-video/api/structured-data-file/v7-migration-guide) before
 13993  	// migrating to this version.
 13994  	Version string `json:"version,omitempty"`
 13995  	// ForceSendFields is a list of field names (e.g. "AdminEmail") to
 13996  	// unconditionally include in API requests. By default, fields with empty or
 13997  	// default values are omitted from API requests. See
 13998  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 13999  	// details.
 14000  	ForceSendFields []string `json:"-"`
 14001  	// NullFields is a list of field names (e.g. "AdminEmail") to include in API
 14002  	// requests with the JSON null value. By default, fields with empty values are
 14003  	// omitted from API requests. See
 14004  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14005  	NullFields []string `json:"-"`
 14006  }
 14007  
 14008  func (s *SdfConfig) MarshalJSON() ([]byte, error) {
 14009  	type NoMethod SdfConfig
 14010  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14011  }
 14012  
 14013  // SdfDownloadTask: Type for the response returned by
 14014  // [SdfDownloadTaskService.CreateSdfDownloadTask].
 14015  type SdfDownloadTask struct {
 14016  	// ResourceName: A resource name to be used in media.download to Download the
 14017  	// prepared files. Resource names have the format
 14018  	// `download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made
 14019  	// available by the long running operation service once the task status is
 14020  	// done.
 14021  	ResourceName string `json:"resourceName,omitempty"`
 14022  	// ForceSendFields is a list of field names (e.g. "ResourceName") to
 14023  	// unconditionally include in API requests. By default, fields with empty or
 14024  	// default values are omitted from API requests. See
 14025  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14026  	// details.
 14027  	ForceSendFields []string `json:"-"`
 14028  	// NullFields is a list of field names (e.g. "ResourceName") to include in API
 14029  	// requests with the JSON null value. By default, fields with empty values are
 14030  	// omitted from API requests. See
 14031  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14032  	NullFields []string `json:"-"`
 14033  }
 14034  
 14035  func (s *SdfDownloadTask) MarshalJSON() ([]byte, error) {
 14036  	type NoMethod SdfDownloadTask
 14037  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14038  }
 14039  
 14040  // SdfDownloadTaskMetadata: Type for the metadata returned by
 14041  // [SdfDownloadTaskService.CreateSdfDownloadTask].
 14042  type SdfDownloadTaskMetadata struct {
 14043  	// CreateTime: The time when the operation was created.
 14044  	CreateTime string `json:"createTime,omitempty"`
 14045  	// EndTime: The time when execution was completed.
 14046  	EndTime string `json:"endTime,omitempty"`
 14047  	// Version: The SDF version used to execute this download task.
 14048  	//
 14049  	// Possible values:
 14050  	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or is
 14051  	// unknown in this version.
 14052  	//   "SDF_VERSION_3_1" - SDF version 3.1
 14053  	//   "SDF_VERSION_4" - SDF version 4
 14054  	//   "SDF_VERSION_4_1" - SDF version 4.1
 14055  	//   "SDF_VERSION_4_2" - SDF version 4.2
 14056  	//   "SDF_VERSION_5" - SDF version 5.
 14057  	//   "SDF_VERSION_5_1" - SDF version 5.1
 14058  	//   "SDF_VERSION_5_2" - SDF version 5.2
 14059  	//   "SDF_VERSION_5_3" - SDF version 5.3
 14060  	//   "SDF_VERSION_5_4" - SDF version 5.4
 14061  	//   "SDF_VERSION_5_5" - SDF version 5.5
 14062  	//   "SDF_VERSION_6" - SDF version 6
 14063  	//   "SDF_VERSION_7" - SDF version 7. Read the [v7 migration
 14064  	// guide](/display-video/api/structured-data-file/v7-migration-guide) before
 14065  	// migrating to this version.
 14066  	Version string `json:"version,omitempty"`
 14067  	// ForceSendFields is a list of field names (e.g. "CreateTime") to
 14068  	// unconditionally include in API requests. By default, fields with empty or
 14069  	// default values are omitted from API requests. See
 14070  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14071  	// details.
 14072  	ForceSendFields []string `json:"-"`
 14073  	// NullFields is a list of field names (e.g. "CreateTime") to include in API
 14074  	// requests with the JSON null value. By default, fields with empty values are
 14075  	// omitted from API requests. See
 14076  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14077  	NullFields []string `json:"-"`
 14078  }
 14079  
 14080  func (s *SdfDownloadTaskMetadata) MarshalJSON() ([]byte, error) {
 14081  	type NoMethod SdfDownloadTaskMetadata
 14082  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14083  }
 14084  
 14085  // SearchTargetingOptionsRequest: Request message for SearchTargetingOptions.
 14086  type SearchTargetingOptionsRequest struct {
 14087  	// AdvertiserId: Required. The Advertiser this request is being made in the
 14088  	// context of.
 14089  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 14090  	// BusinessChainSearchTerms: Search terms for Business Chain targeting options.
 14091  	// Can only be used when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
 14092  	BusinessChainSearchTerms *BusinessChainSearchTerms `json:"businessChainSearchTerms,omitempty"`
 14093  	// GeoRegionSearchTerms: Search terms for geo region targeting options. Can
 14094  	// only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`.
 14095  	GeoRegionSearchTerms *GeoRegionSearchTerms `json:"geoRegionSearchTerms,omitempty"`
 14096  	// PageSize: Requested page size. Must be between `1` and `200`. If unspecified
 14097  	// will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid
 14098  	// value is specified.
 14099  	PageSize int64 `json:"pageSize,omitempty"`
 14100  	// PageToken: A token identifying a page of results the server should return.
 14101  	// Typically, this is the value of next_page_token returned from the previous
 14102  	// call to `SearchTargetingOptions` method. If not specified, the first page of
 14103  	// results will be returned.
 14104  	PageToken string `json:"pageToken,omitempty"`
 14105  	// PoiSearchTerms: Search terms for POI targeting options. Can only be used
 14106  	// when targeting_type is `TARGETING_TYPE_POI`.
 14107  	PoiSearchTerms *PoiSearchTerms `json:"poiSearchTerms,omitempty"`
 14108  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
 14109  	// unconditionally include in API requests. By default, fields with empty or
 14110  	// default values are omitted from API requests. See
 14111  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14112  	// details.
 14113  	ForceSendFields []string `json:"-"`
 14114  	// NullFields is a list of field names (e.g. "AdvertiserId") to include in API
 14115  	// requests with the JSON null value. By default, fields with empty values are
 14116  	// omitted from API requests. See
 14117  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14118  	NullFields []string `json:"-"`
 14119  }
 14120  
 14121  func (s *SearchTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
 14122  	type NoMethod SearchTargetingOptionsRequest
 14123  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14124  }
 14125  
 14126  // SearchTargetingOptionsResponse: Response message for SearchTargetingOptions.
 14127  type SearchTargetingOptionsResponse struct {
 14128  	// NextPageToken: A token to retrieve the next page of results. Pass this value
 14129  	// in the page_token field in the subsequent call to `SearchTargetingOptions`
 14130  	// method to retrieve the next page of results.
 14131  	NextPageToken string `json:"nextPageToken,omitempty"`
 14132  	// TargetingOptions: The list of targeting options that match the search
 14133  	// criteria. This list will be absent if empty.
 14134  	TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"`
 14135  
 14136  	// ServerResponse contains the HTTP response code and headers from the server.
 14137  	googleapi.ServerResponse `json:"-"`
 14138  	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
 14139  	// unconditionally include in API requests. By default, fields with empty or
 14140  	// default values are omitted from API requests. See
 14141  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14142  	// details.
 14143  	ForceSendFields []string `json:"-"`
 14144  	// NullFields is a list of field names (e.g. "NextPageToken") to include in API
 14145  	// requests with the JSON null value. By default, fields with empty values are
 14146  	// omitted from API requests. See
 14147  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14148  	NullFields []string `json:"-"`
 14149  }
 14150  
 14151  func (s *SearchTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
 14152  	type NoMethod SearchTargetingOptionsResponse
 14153  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14154  }
 14155  
 14156  // SensitiveCategoryAssignedTargetingOptionDetails: Targeting details for
 14157  // sensitive category. This will be populated in the details field of an
 14158  // AssignedTargetingOption when targeting_type is
 14159  // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
 14160  type SensitiveCategoryAssignedTargetingOptionDetails struct {
 14161  	// ExcludedSensitiveCategory: Required. An enum for the DV360 Sensitive
 14162  	// category content classified to be EXCLUDED.
 14163  	//
 14164  	// Possible values:
 14165  	//   "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder and
 14166  	// doesn't specify a DV360 sensitive category.
 14167  	//   "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or video
 14168  	// content.
 14169  	//   "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as biased
 14170  	// against individuals, groups, or organizations based on criteria such as
 14171  	// race, religion, disability, sex, age, veteran status, sexual orientation,
 14172  	// gender identity, or political affiliation. May also indicate discussion of
 14173  	// such content, for instance, in an academic or journalistic context.
 14174  	//   "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio, video,
 14175  	// or software downloads.
 14176  	//   "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal
 14177  	// weapons, including knives, guns, small firearms, and ammunition. Selecting
 14178  	// either "weapons" or "sensitive social issues" will result in selecting both.
 14179  	//   "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting or
 14180  	// wagering in a real-world or online setting.
 14181  	//   "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered
 14182  	// graphically violent, gory, gruesome, or shocking, such as street fighting
 14183  	// videos, accident photos, descriptions of torture, etc.
 14184  	//   "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as suggestive
 14185  	// content that's not explicitly pornographic. This category includes all pages
 14186  	// categorized as adult.
 14187  	//   "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered
 14188  	// indecent, such as curse words and sexual slang. Pages with only very
 14189  	// occasional usage, such as news sites that might include such words in a
 14190  	// quotation, are not included.
 14191  	//   "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to alcoholic
 14192  	// beverages, alcohol brands, recipes, etc.
 14193  	//   "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the recreational
 14194  	// use of legal or illegal drugs, as well as to drug paraphernalia or
 14195  	// cultivation.
 14196  	//   "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco and
 14197  	// tobacco accessories, including lighters, humidors, ashtrays, etc.
 14198  	//   "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including
 14199  	// discussions of social, governmental, and public policy.
 14200  	//   "SENSITIVE_CATEGORY_RELIGION" - Content related to religious thought or
 14201  	// beliefs.
 14202  	//   "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters,
 14203  	// accidents, war, etc.
 14204  	//   "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to motor
 14205  	// vehicle, aviation or other transportation accidents.
 14206  	//   "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke strong,
 14207  	// opposing views and spark debate. These include issues that are controversial
 14208  	// in most countries and markets (such as abortion), as well as those that are
 14209  	// controversial in specific countries and markets (such as immigration reform
 14210  	// in the United States).
 14211  	//   "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered shocking
 14212  	// or disturbing, such as violent news stories, stunts, or toilet humor.
 14213  	//   "SENSITIVE_CATEGORY_EMBEDDED_VIDEO" - YouTube videos embedded on websites
 14214  	// outside of YouTube.com. Only applicable to YouTube and Partners line items.
 14215  	//   "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" - Video of live events streamed
 14216  	// over the internet. Only applicable to YouTube and Partners line items.
 14217  	ExcludedSensitiveCategory string `json:"excludedSensitiveCategory,omitempty"`
 14218  	// ForceSendFields is a list of field names (e.g. "ExcludedSensitiveCategory")
 14219  	// to unconditionally include in API requests. By default, fields with empty or
 14220  	// default values are omitted from API requests. See
 14221  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14222  	// details.
 14223  	ForceSendFields []string `json:"-"`
 14224  	// NullFields is a list of field names (e.g. "ExcludedSensitiveCategory") to
 14225  	// include in API requests with the JSON null value. By default, fields with
 14226  	// empty values are omitted from API requests. See
 14227  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14228  	NullFields []string `json:"-"`
 14229  }
 14230  
 14231  func (s *SensitiveCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14232  	type NoMethod SensitiveCategoryAssignedTargetingOptionDetails
 14233  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14234  }
 14235  
 14236  // SensitiveCategoryTargetingOptionDetails: Represents a targetable sensitive
 14237  // category. This will be populated in the sensitive_category_details field of
 14238  // the TargetingOption when targeting_type is
 14239  // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
 14240  type SensitiveCategoryTargetingOptionDetails struct {
 14241  	// SensitiveCategory: Output only. An enum for the DV360 Sensitive category
 14242  	// content classifier.
 14243  	//
 14244  	// Possible values:
 14245  	//   "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder and
 14246  	// doesn't specify a DV360 sensitive category.
 14247  	//   "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or video
 14248  	// content.
 14249  	//   "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as biased
 14250  	// against individuals, groups, or organizations based on criteria such as
 14251  	// race, religion, disability, sex, age, veteran status, sexual orientation,
 14252  	// gender identity, or political affiliation. May also indicate discussion of
 14253  	// such content, for instance, in an academic or journalistic context.
 14254  	//   "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio, video,
 14255  	// or software downloads.
 14256  	//   "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal
 14257  	// weapons, including knives, guns, small firearms, and ammunition. Selecting
 14258  	// either "weapons" or "sensitive social issues" will result in selecting both.
 14259  	//   "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting or
 14260  	// wagering in a real-world or online setting.
 14261  	//   "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered
 14262  	// graphically violent, gory, gruesome, or shocking, such as street fighting
 14263  	// videos, accident photos, descriptions of torture, etc.
 14264  	//   "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as suggestive
 14265  	// content that's not explicitly pornographic. This category includes all pages
 14266  	// categorized as adult.
 14267  	//   "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered
 14268  	// indecent, such as curse words and sexual slang. Pages with only very
 14269  	// occasional usage, such as news sites that might include such words in a
 14270  	// quotation, are not included.
 14271  	//   "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to alcoholic
 14272  	// beverages, alcohol brands, recipes, etc.
 14273  	//   "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the recreational
 14274  	// use of legal or illegal drugs, as well as to drug paraphernalia or
 14275  	// cultivation.
 14276  	//   "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco and
 14277  	// tobacco accessories, including lighters, humidors, ashtrays, etc.
 14278  	//   "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including
 14279  	// discussions of social, governmental, and public policy.
 14280  	//   "SENSITIVE_CATEGORY_RELIGION" - Content related to religious thought or
 14281  	// beliefs.
 14282  	//   "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters,
 14283  	// accidents, war, etc.
 14284  	//   "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to motor
 14285  	// vehicle, aviation or other transportation accidents.
 14286  	//   "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke strong,
 14287  	// opposing views and spark debate. These include issues that are controversial
 14288  	// in most countries and markets (such as abortion), as well as those that are
 14289  	// controversial in specific countries and markets (such as immigration reform
 14290  	// in the United States).
 14291  	//   "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered shocking
 14292  	// or disturbing, such as violent news stories, stunts, or toilet humor.
 14293  	//   "SENSITIVE_CATEGORY_EMBEDDED_VIDEO" - YouTube videos embedded on websites
 14294  	// outside of YouTube.com. Only applicable to YouTube and Partners line items.
 14295  	//   "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" - Video of live events streamed
 14296  	// over the internet. Only applicable to YouTube and Partners line items.
 14297  	SensitiveCategory string `json:"sensitiveCategory,omitempty"`
 14298  	// ForceSendFields is a list of field names (e.g. "SensitiveCategory") to
 14299  	// unconditionally include in API requests. By default, fields with empty or
 14300  	// default values are omitted from API requests. See
 14301  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14302  	// details.
 14303  	ForceSendFields []string `json:"-"`
 14304  	// NullFields is a list of field names (e.g. "SensitiveCategory") to include in
 14305  	// API requests with the JSON null value. By default, fields with empty values
 14306  	// are omitted from API requests. See
 14307  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14308  	NullFields []string `json:"-"`
 14309  }
 14310  
 14311  func (s *SensitiveCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14312  	type NoMethod SensitiveCategoryTargetingOptionDetails
 14313  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14314  }
 14315  
 14316  // SessionPositionAssignedTargetingOptionDetails: Details for session position
 14317  // assigned targeting option. This will be populated in the
 14318  // session_position_details field when targeting_type is
 14319  // `TARGETING_TYPE_SESSION_POSITION`.
 14320  type SessionPositionAssignedTargetingOptionDetails struct {
 14321  	// SessionPosition: The position where the ad will show in a session.
 14322  	//
 14323  	// Possible values:
 14324  	//   "SESSION_POSITION_UNSPECIFIED" - This is a placeholder, does not indicate
 14325  	// any positions.
 14326  	//   "SESSION_POSITION_FIRST_IMPRESSION" - The first impression of the session.
 14327  	SessionPosition string `json:"sessionPosition,omitempty"`
 14328  	// ForceSendFields is a list of field names (e.g. "SessionPosition") to
 14329  	// unconditionally include in API requests. By default, fields with empty or
 14330  	// default values are omitted from API requests. See
 14331  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14332  	// details.
 14333  	ForceSendFields []string `json:"-"`
 14334  	// NullFields is a list of field names (e.g. "SessionPosition") to include in
 14335  	// API requests with the JSON null value. By default, fields with empty values
 14336  	// are omitted from API requests. See
 14337  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14338  	NullFields []string `json:"-"`
 14339  }
 14340  
 14341  func (s *SessionPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14342  	type NoMethod SessionPositionAssignedTargetingOptionDetails
 14343  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14344  }
 14345  
 14346  // Site: A single site. Sites are apps or websites belonging to a channel.
 14347  type Site struct {
 14348  	// Name: Output only. The resource name of the site.
 14349  	Name string `json:"name,omitempty"`
 14350  	// UrlOrAppId: Required. The app ID or URL of the site. Must be UTF-8 encoded
 14351  	// with a maximum length of 240 bytes.
 14352  	UrlOrAppId string `json:"urlOrAppId,omitempty"`
 14353  
 14354  	// ServerResponse contains the HTTP response code and headers from the server.
 14355  	googleapi.ServerResponse `json:"-"`
 14356  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
 14357  	// include in API requests. By default, fields with empty or default values are
 14358  	// omitted from API requests. See
 14359  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14360  	// details.
 14361  	ForceSendFields []string `json:"-"`
 14362  	// NullFields is a list of field names (e.g. "Name") to include in API requests
 14363  	// with the JSON null value. By default, fields with empty values are omitted
 14364  	// from API requests. See
 14365  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14366  	NullFields []string `json:"-"`
 14367  }
 14368  
 14369  func (s *Site) MarshalJSON() ([]byte, error) {
 14370  	type NoMethod Site
 14371  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14372  }
 14373  
 14374  // Status: The `Status` type defines a logical error model that is suitable for
 14375  // different programming environments, including REST APIs and RPC APIs. It is
 14376  // used by gRPC (https://github.com/grpc). Each `Status` message contains three
 14377  // pieces of data: error code, error message, and error details. You can find
 14378  // out more about this error model and how to work with it in the API Design
 14379  // Guide (https://cloud.google.com/apis/design/errors).
 14380  type Status struct {
 14381  	// Code: The status code, which should be an enum value of google.rpc.Code.
 14382  	Code int64 `json:"code,omitempty"`
 14383  	// Details: A list of messages that carry the error details. There is a common
 14384  	// set of message types for APIs to use.
 14385  	Details []googleapi.RawMessage `json:"details,omitempty"`
 14386  	// Message: A developer-facing error message, which should be in English. Any
 14387  	// user-facing error message should be localized and sent in the
 14388  	// google.rpc.Status.details field, or localized by the client.
 14389  	Message string `json:"message,omitempty"`
 14390  	// ForceSendFields is a list of field names (e.g. "Code") to unconditionally
 14391  	// include in API requests. By default, fields with empty or default values are
 14392  	// omitted from API requests. See
 14393  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14394  	// details.
 14395  	ForceSendFields []string `json:"-"`
 14396  	// NullFields is a list of field names (e.g. "Code") to include in API requests
 14397  	// with the JSON null value. By default, fields with empty values are omitted
 14398  	// from API requests. See
 14399  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14400  	NullFields []string `json:"-"`
 14401  }
 14402  
 14403  func (s *Status) MarshalJSON() ([]byte, error) {
 14404  	type NoMethod Status
 14405  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14406  }
 14407  
 14408  // SubExchangeAssignedTargetingOptionDetails: Details for assigned sub-exchange
 14409  // targeting option. This will be populated in the details field of an
 14410  // AssignedTargetingOption when targeting_type is
 14411  // `TARGETING_TYPE_SUB_EXCHANGE`.
 14412  type SubExchangeAssignedTargetingOptionDetails struct {
 14413  	// TargetingOptionId: Required. The targeting_option_id of a TargetingOption of
 14414  	// type `TARGETING_TYPE_SUB_EXCHANGE`.
 14415  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 14416  	// ForceSendFields is a list of field names (e.g. "TargetingOptionId") to
 14417  	// unconditionally include in API requests. By default, fields with empty or
 14418  	// default values are omitted from API requests. See
 14419  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14420  	// details.
 14421  	ForceSendFields []string `json:"-"`
 14422  	// NullFields is a list of field names (e.g. "TargetingOptionId") to include in
 14423  	// API requests with the JSON null value. By default, fields with empty values
 14424  	// are omitted from API requests. See
 14425  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14426  	NullFields []string `json:"-"`
 14427  }
 14428  
 14429  func (s *SubExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14430  	type NoMethod SubExchangeAssignedTargetingOptionDetails
 14431  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14432  }
 14433  
 14434  // SubExchangeTargetingOptionDetails: Represents a targetable sub-exchange.
 14435  // This will be populated in the sub_exchange_details field of a
 14436  // TargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.
 14437  type SubExchangeTargetingOptionDetails struct {
 14438  	// DisplayName: Output only. The display name of the sub-exchange.
 14439  	DisplayName string `json:"displayName,omitempty"`
 14440  	// ForceSendFields is a list of field names (e.g. "DisplayName") to
 14441  	// unconditionally include in API requests. By default, fields with empty or
 14442  	// default values are omitted from API requests. See
 14443  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14444  	// details.
 14445  	ForceSendFields []string `json:"-"`
 14446  	// NullFields is a list of field names (e.g. "DisplayName") to include in API
 14447  	// requests with the JSON null value. By default, fields with empty values are
 14448  	// omitted from API requests. See
 14449  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14450  	NullFields []string `json:"-"`
 14451  }
 14452  
 14453  func (s *SubExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14454  	type NoMethod SubExchangeTargetingOptionDetails
 14455  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14456  }
 14457  
 14458  // TargetFrequency: Setting that controls the average number of times the ads
 14459  // will show to the same person over a certain period of time.
 14460  type TargetFrequency struct {
 14461  	// TargetCount: The target number of times, on average, the ads will be shown
 14462  	// to the same person in the timespan dictated by time_unit and
 14463  	// time_unit_count.
 14464  	TargetCount int64 `json:"targetCount,omitempty,string"`
 14465  	// TimeUnit: The unit of time in which the target frequency will be applied.
 14466  	// The following time unit is applicable: * `TIME_UNIT_WEEKS`
 14467  	//
 14468  	// Possible values:
 14469  	//   "TIME_UNIT_UNSPECIFIED" - Time unit value is not specified or is unknown
 14470  	// in this version.
 14471  	//   "TIME_UNIT_LIFETIME" - The frequency cap will be applied to the whole life
 14472  	// time of the line item.
 14473  	//   "TIME_UNIT_MONTHS" - The frequency cap will be applied to a number of
 14474  	// months.
 14475  	//   "TIME_UNIT_WEEKS" - The frequency cap will be applied to a number of
 14476  	// weeks.
 14477  	//   "TIME_UNIT_DAYS" - The frequency cap will be applied to a number of days.
 14478  	//   "TIME_UNIT_HOURS" - The frequency cap will be applied to a number of
 14479  	// hours.
 14480  	//   "TIME_UNIT_MINUTES" - The frequency cap will be applied to a number of
 14481  	// minutes.
 14482  	TimeUnit string `json:"timeUnit,omitempty"`
 14483  	// TimeUnitCount: The number of time_unit the target frequency will last. The
 14484  	// following restrictions apply based on the value of time_unit: *
 14485  	// `TIME_UNIT_WEEKS` - must be 1
 14486  	TimeUnitCount int64 `json:"timeUnitCount,omitempty"`
 14487  	// ForceSendFields is a list of field names (e.g. "TargetCount") to
 14488  	// unconditionally include in API requests. By default, fields with empty or
 14489  	// default values are omitted from API requests. See
 14490  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14491  	// details.
 14492  	ForceSendFields []string `json:"-"`
 14493  	// NullFields is a list of field names (e.g. "TargetCount") to include in API
 14494  	// requests with the JSON null value. By default, fields with empty values are
 14495  	// omitted from API requests. See
 14496  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14497  	NullFields []string `json:"-"`
 14498  }
 14499  
 14500  func (s *TargetFrequency) MarshalJSON() ([]byte, error) {
 14501  	type NoMethod TargetFrequency
 14502  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14503  }
 14504  
 14505  // TargetingExpansionConfig: Settings that control the optimized targeting
 14506  // (//support.google.com/displayvideo/answer/12060859) settings of the line
 14507  // item.
 14508  type TargetingExpansionConfig struct {
 14509  	// AudienceExpansionLevel: Output only. Magnitude of expansion for eligible
 14510  	// first-party user lists under this ad group. This field only applies to
 14511  	// YouTube and Partners line item and ad group resources.
 14512  	//
 14513  	// Possible values:
 14514  	//   "UNKNOWN" - Audience expansion level is not specified or is unknown in
 14515  	// this version.
 14516  	//   "NO_REACH" - Audience expansion off.
 14517  	//   "LEAST_REACH" - Conservative audience expansion.
 14518  	//   "MID_REACH" - Moderate audience expansion.
 14519  	//   "MOST_REACH" - Aggressive audience expansion.
 14520  	AudienceExpansionLevel string `json:"audienceExpansionLevel,omitempty"`
 14521  	// AudienceExpansionSeedListExcluded: Output only. Whether to exclude seed list
 14522  	// for audience expansion. This field only applies to YouTube and Partners line
 14523  	// item and ad group resources.
 14524  	AudienceExpansionSeedListExcluded bool `json:"audienceExpansionSeedListExcluded,omitempty"`
 14525  	// EnableOptimizedTargeting: Required. Whether to enable Optimized Targeting
 14526  	// for the line item.
 14527  	EnableOptimizedTargeting bool `json:"enableOptimizedTargeting,omitempty"`
 14528  	// ForceSendFields is a list of field names (e.g. "AudienceExpansionLevel") to
 14529  	// unconditionally include in API requests. By default, fields with empty or
 14530  	// default values are omitted from API requests. See
 14531  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14532  	// details.
 14533  	ForceSendFields []string `json:"-"`
 14534  	// NullFields is a list of field names (e.g. "AudienceExpansionLevel") to
 14535  	// include in API requests with the JSON null value. By default, fields with
 14536  	// empty values are omitted from API requests. See
 14537  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14538  	NullFields []string `json:"-"`
 14539  }
 14540  
 14541  func (s *TargetingExpansionConfig) MarshalJSON() ([]byte, error) {
 14542  	type NoMethod TargetingExpansionConfig
 14543  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14544  }
 14545  
 14546  // TargetingOption: Represents a single targeting option, which is a targetable
 14547  // concept in DV360.
 14548  type TargetingOption struct {
 14549  	// AgeRangeDetails: Age range details.
 14550  	AgeRangeDetails *AgeRangeTargetingOptionDetails `json:"ageRangeDetails,omitempty"`
 14551  	// AppCategoryDetails: App category details.
 14552  	AppCategoryDetails *AppCategoryTargetingOptionDetails `json:"appCategoryDetails,omitempty"`
 14553  	// AudioContentTypeDetails: Audio content type details.
 14554  	AudioContentTypeDetails *AudioContentTypeTargetingOptionDetails `json:"audioContentTypeDetails,omitempty"`
 14555  	// AuthorizedSellerStatusDetails: Authorized seller status resource details.
 14556  	AuthorizedSellerStatusDetails *AuthorizedSellerStatusTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"`
 14557  	// BrowserDetails: Browser details.
 14558  	BrowserDetails *BrowserTargetingOptionDetails `json:"browserDetails,omitempty"`
 14559  	// BusinessChainDetails: Business chain resource details.
 14560  	BusinessChainDetails *BusinessChainTargetingOptionDetails `json:"businessChainDetails,omitempty"`
 14561  	// CarrierAndIspDetails: Carrier and ISP details.
 14562  	CarrierAndIspDetails *CarrierAndIspTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"`
 14563  	// CategoryDetails: Category resource details.
 14564  	CategoryDetails *CategoryTargetingOptionDetails `json:"categoryDetails,omitempty"`
 14565  	// ContentDurationDetails: Content duration resource details.
 14566  	ContentDurationDetails *ContentDurationTargetingOptionDetails `json:"contentDurationDetails,omitempty"`
 14567  	// ContentGenreDetails: Content genre resource details.
 14568  	ContentGenreDetails *ContentGenreTargetingOptionDetails `json:"contentGenreDetails,omitempty"`
 14569  	// ContentInstreamPositionDetails: Content instream position details.
 14570  	ContentInstreamPositionDetails *ContentInstreamPositionTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"`
 14571  	// ContentOutstreamPositionDetails: Content outstream position details.
 14572  	ContentOutstreamPositionDetails *ContentOutstreamPositionTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"`
 14573  	// ContentStreamTypeDetails: Content stream type resource details.
 14574  	ContentStreamTypeDetails *ContentStreamTypeTargetingOptionDetails `json:"contentStreamTypeDetails,omitempty"`
 14575  	// DeviceMakeModelDetails: Device make and model resource details.
 14576  	DeviceMakeModelDetails *DeviceMakeModelTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"`
 14577  	// DeviceTypeDetails: Device type details.
 14578  	DeviceTypeDetails *DeviceTypeTargetingOptionDetails `json:"deviceTypeDetails,omitempty"`
 14579  	// DigitalContentLabelDetails: Digital content label details.
 14580  	DigitalContentLabelDetails *DigitalContentLabelTargetingOptionDetails `json:"digitalContentLabelDetails,omitempty"`
 14581  	// EnvironmentDetails: Environment details.
 14582  	EnvironmentDetails *EnvironmentTargetingOptionDetails `json:"environmentDetails,omitempty"`
 14583  	// ExchangeDetails: Exchange details.
 14584  	ExchangeDetails *ExchangeTargetingOptionDetails `json:"exchangeDetails,omitempty"`
 14585  	// GenderDetails: Gender details.
 14586  	GenderDetails *GenderTargetingOptionDetails `json:"genderDetails,omitempty"`
 14587  	// GeoRegionDetails: Geographic region resource details.
 14588  	GeoRegionDetails *GeoRegionTargetingOptionDetails `json:"geoRegionDetails,omitempty"`
 14589  	// HouseholdIncomeDetails: Household income details.
 14590  	HouseholdIncomeDetails *HouseholdIncomeTargetingOptionDetails `json:"householdIncomeDetails,omitempty"`
 14591  	// LanguageDetails: Language resource details.
 14592  	LanguageDetails *LanguageTargetingOptionDetails `json:"languageDetails,omitempty"`
 14593  	// Name: Output only. The resource name for this targeting option.
 14594  	Name string `json:"name,omitempty"`
 14595  	// NativeContentPositionDetails: Native content position details.
 14596  	NativeContentPositionDetails *NativeContentPositionTargetingOptionDetails `json:"nativeContentPositionDetails,omitempty"`
 14597  	// OmidDetails: Open Measurement enabled inventory details.
 14598  	OmidDetails *OmidTargetingOptionDetails `json:"omidDetails,omitempty"`
 14599  	// OnScreenPositionDetails: On screen position details.
 14600  	OnScreenPositionDetails *OnScreenPositionTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"`
 14601  	// OperatingSystemDetails: Operating system resources details.
 14602  	OperatingSystemDetails *OperatingSystemTargetingOptionDetails `json:"operatingSystemDetails,omitempty"`
 14603  	// ParentalStatusDetails: Parental status details.
 14604  	ParentalStatusDetails *ParentalStatusTargetingOptionDetails `json:"parentalStatusDetails,omitempty"`
 14605  	// PoiDetails: POI resource details.
 14606  	PoiDetails *PoiTargetingOptionDetails `json:"poiDetails,omitempty"`
 14607  	// SensitiveCategoryDetails: Sensitive Category details.
 14608  	SensitiveCategoryDetails *SensitiveCategoryTargetingOptionDetails `json:"sensitiveCategoryDetails,omitempty"`
 14609  	// SubExchangeDetails: Sub-exchange details.
 14610  	SubExchangeDetails *SubExchangeTargetingOptionDetails `json:"subExchangeDetails,omitempty"`
 14611  	// TargetingOptionId: Output only. A unique identifier for this targeting
 14612  	// option. The tuple {`targeting_type`, `targeting_option_id`} will be unique.
 14613  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 14614  	// TargetingType: Output only. The type of this targeting option.
 14615  	//
 14616  	// Possible values:
 14617  	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not specified or
 14618  	// is unknown in this version.
 14619  	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of related
 14620  	// websites or apps).
 14621  	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for example,
 14622  	// education or puzzle games).
 14623  	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry Birds).
 14624  	//   "TARGETING_TYPE_URL" - Target a specific url (for example, quora.com).
 14625  	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time period on
 14626  	// a specific day.
 14627  	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range (for
 14628  	// example, 18-24).
 14629  	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the specified
 14630  	// regions on a regional location list.
 14631  	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the specified
 14632  	// points of interest on a proximity location list.
 14633  	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for example,
 14634  	// female or male).
 14635  	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player size
 14636  	// for video ads.
 14637  	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded content for
 14638  	// video ads.
 14639  	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific parental
 14640  	// status (for example, parent or not a parent).
 14641  	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio ads in
 14642  	// a specific content instream position (for example, pre-roll, mid-roll, or
 14643  	// post-roll).
 14644  	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a specific
 14645  	// content outstream position.
 14646  	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type (for
 14647  	// example, tablet or connected TV).
 14648  	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or groups of
 14649  	// audiences. Singleton field, at most one can exist on a single Lineitem at a
 14650  	// time.
 14651  	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
 14652  	// example, Chrome).
 14653  	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific household
 14654  	// income range (for example, top 10%).
 14655  	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on screen
 14656  	// position.
 14657  	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through third
 14658  	// party verification (for example, IAS or DoubleVerify).
 14659  	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites by
 14660  	// specific digital content label ratings (for example, DL-MA: suitable only
 14661  	// for mature audiences).
 14662  	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website content by
 14663  	// sensitive categories (for example, adult).
 14664  	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment (for
 14665  	// example, web or app).
 14666  	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
 14667  	// carrier or internet service provider (ISP) (for example, Comcast or Orange).
 14668  	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific operating
 14669  	// system (for example, macOS).
 14670  	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific device make
 14671  	// or model (for example, Roku or Samsung).
 14672  	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for example,
 14673  	// dog or retriever).
 14674  	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific negative
 14675  	// keyword list.
 14676  	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability (for
 14677  	// example, 80% viewable).
 14678  	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content category (for
 14679  	// example, arts & entertainment).
 14680  	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from specific
 14681  	// deals and auction packages.
 14682  	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
 14683  	// example, English or Japanese).
 14684  	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
 14685  	// authorized sellers. If no targeting option of this type is assigned, the
 14686  	// resource uses the "Authorized Direct Sellers and Resellers" option by
 14687  	// default.
 14688  	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional location
 14689  	// (for example, a city or state).
 14690  	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from a
 14691  	// group of deals and auction packages.
 14692  	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific exchanges.
 14693  	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
 14694  	// sub-exchanges.
 14695  	//   "TARGETING_TYPE_POI" - Target ads around a specific point of interest,
 14696  	// such as a notable building, a street address, or latitude/longitude
 14697  	// coordinates.
 14698  	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
 14699  	// business chain within a specific geo region.
 14700  	//   "TARGETING_TYPE_CONTENT_DURATION" - Target ads to a specific video content
 14701  	// duration.
 14702  	//   "TARGETING_TYPE_CONTENT_STREAM_TYPE" - Target ads to a specific video
 14703  	// content stream type.
 14704  	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific native
 14705  	// content position.
 14706  	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
 14707  	// inventory.
 14708  	//   "TARGETING_TYPE_AUDIO_CONTENT_TYPE" - Target ads to a specific audio
 14709  	// content type.
 14710  	//   "TARGETING_TYPE_CONTENT_GENRE" - Target ads to a specific content genre.
 14711  	//   "TARGETING_TYPE_YOUTUBE_VIDEO" - Target ads to a specific YouTube video.
 14712  	// Targeting of this type cannot be created or updated using the API. Although
 14713  	// this targeting is inherited by child resources, **inherited targeting of
 14714  	// this type will not be retrieveable**.
 14715  	//   "TARGETING_TYPE_YOUTUBE_CHANNEL" - Target ads to a specific YouTube
 14716  	// channel. Targeting of this type cannot be created or updated using the API.
 14717  	// Although this targeting is inherited by child resources, **inherited
 14718  	// targeting of this type will not be retrieveable**.
 14719  	//   "TARGETING_TYPE_SESSION_POSITION" - Target ads to a serve it in a certain
 14720  	// position of a session. Only supported for Ad Group resources under YouTube
 14721  	// Programmatic Reservation line items. Targeting of this type cannot be
 14722  	// created or updated using the API.
 14723  	TargetingType string `json:"targetingType,omitempty"`
 14724  	// UserRewardedContentDetails: User rewarded content details.
 14725  	UserRewardedContentDetails *UserRewardedContentTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"`
 14726  	// VideoPlayerSizeDetails: Video player size details.
 14727  	VideoPlayerSizeDetails *VideoPlayerSizeTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"`
 14728  	// ViewabilityDetails: Viewability resource details.
 14729  	ViewabilityDetails *ViewabilityTargetingOptionDetails `json:"viewabilityDetails,omitempty"`
 14730  
 14731  	// ServerResponse contains the HTTP response code and headers from the server.
 14732  	googleapi.ServerResponse `json:"-"`
 14733  	// ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to
 14734  	// unconditionally include in API requests. By default, fields with empty or
 14735  	// default values are omitted from API requests. See
 14736  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14737  	// details.
 14738  	ForceSendFields []string `json:"-"`
 14739  	// NullFields is a list of field names (e.g. "AgeRangeDetails") to include in
 14740  	// API requests with the JSON null value. By default, fields with empty values
 14741  	// are omitted from API requests. See
 14742  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14743  	NullFields []string `json:"-"`
 14744  }
 14745  
 14746  func (s *TargetingOption) MarshalJSON() ([]byte, error) {
 14747  	type NoMethod TargetingOption
 14748  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14749  }
 14750  
 14751  // ThirdPartyMeasurementConfigs: Settings that control what third-party vendors
 14752  // are measuring specific line item metrics.
 14753  type ThirdPartyMeasurementConfigs struct {
 14754  	// BrandLiftVendorConfigs: Optional. The third-party vendors measuring brand
 14755  	// lift. The following third-party vendors are applicable: *
 14756  	// `THIRD_PARTY_VENDOR_DYNATA` * `THIRD_PARTY_VENDOR_KANTAR`
 14757  	BrandLiftVendorConfigs []*ThirdPartyVendorConfig `json:"brandLiftVendorConfigs,omitempty"`
 14758  	// BrandSafetyVendorConfigs: Optional. The third-party vendors measuring brand
 14759  	// safety. The following third-party vendors are applicable: *
 14760  	// `THIRD_PARTY_VENDOR_ZERF` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` *
 14761  	// `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE`
 14762  	BrandSafetyVendorConfigs []*ThirdPartyVendorConfig `json:"brandSafetyVendorConfigs,omitempty"`
 14763  	// ReachVendorConfigs: Optional. The third-party vendors measuring reach. The
 14764  	// following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_NIELSEN`
 14765  	// * `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_KANTAR`
 14766  	ReachVendorConfigs []*ThirdPartyVendorConfig `json:"reachVendorConfigs,omitempty"`
 14767  	// ViewabilityVendorConfigs: Optional. The third-party vendors measuring
 14768  	// viewability. The following third-party vendors are applicable: *
 14769  	// `THIRD_PARTY_VENDOR_MOAT` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` *
 14770  	// `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` * `THIRD_PARTY_VENDOR_COMSCORE` *
 14771  	// `THIRD_PARTY_VENDOR_TELEMETRY` * `THIRD_PARTY_VENDOR_MEETRICS`
 14772  	ViewabilityVendorConfigs []*ThirdPartyVendorConfig `json:"viewabilityVendorConfigs,omitempty"`
 14773  	// ForceSendFields is a list of field names (e.g. "BrandLiftVendorConfigs") to
 14774  	// unconditionally include in API requests. By default, fields with empty or
 14775  	// default values are omitted from API requests. See
 14776  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14777  	// details.
 14778  	ForceSendFields []string `json:"-"`
 14779  	// NullFields is a list of field names (e.g. "BrandLiftVendorConfigs") to
 14780  	// include in API requests with the JSON null value. By default, fields with
 14781  	// empty values are omitted from API requests. See
 14782  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14783  	NullFields []string `json:"-"`
 14784  }
 14785  
 14786  func (s *ThirdPartyMeasurementConfigs) MarshalJSON() ([]byte, error) {
 14787  	type NoMethod ThirdPartyMeasurementConfigs
 14788  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14789  }
 14790  
 14791  // ThirdPartyOnlyConfig: Settings for advertisers that use third-party ad
 14792  // servers only.
 14793  type ThirdPartyOnlyConfig struct {
 14794  	// PixelOrderIdReportingEnabled: Whether or not order ID reporting for pixels
 14795  	// is enabled. This value cannot be changed once set to `true`.
 14796  	PixelOrderIdReportingEnabled bool `json:"pixelOrderIdReportingEnabled,omitempty"`
 14797  	// ForceSendFields is a list of field names (e.g.
 14798  	// "PixelOrderIdReportingEnabled") to unconditionally include in API requests.
 14799  	// By default, fields with empty or default values are omitted from API
 14800  	// requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields
 14801  	// for more details.
 14802  	ForceSendFields []string `json:"-"`
 14803  	// NullFields is a list of field names (e.g. "PixelOrderIdReportingEnabled") to
 14804  	// include in API requests with the JSON null value. By default, fields with
 14805  	// empty values are omitted from API requests. See
 14806  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14807  	NullFields []string `json:"-"`
 14808  }
 14809  
 14810  func (s *ThirdPartyOnlyConfig) MarshalJSON() ([]byte, error) {
 14811  	type NoMethod ThirdPartyOnlyConfig
 14812  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14813  }
 14814  
 14815  // ThirdPartyUrl: Tracking URLs from third parties to track interactions with
 14816  // an audio or a video creative.
 14817  type ThirdPartyUrl struct {
 14818  	// Type: The type of interaction needs to be tracked by the tracking URL
 14819  	//
 14820  	// Possible values:
 14821  	//   "THIRD_PARTY_URL_TYPE_UNSPECIFIED" - The type of third-party URL is
 14822  	// unspecified or is unknown in this version.
 14823  	//   "THIRD_PARTY_URL_TYPE_IMPRESSION" - Used to count impressions of the
 14824  	// creative after the audio or video buffering is complete.
 14825  	//   "THIRD_PARTY_URL_TYPE_CLICK_TRACKING" - Used to track user clicks on the
 14826  	// audio or video.
 14827  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START" - Used to track the number of
 14828  	// times a user starts the audio or video.
 14829  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE" - Used to track the
 14830  	// number of times the audio or video plays to 25% of its length.
 14831  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT" - Used to track the number of
 14832  	// times the audio or video plays to 50% of its length.
 14833  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE" - Used to track the
 14834  	// number of times the audio or video plays to 75% of its length.
 14835  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE" - Used to track the number of
 14836  	// times the audio or video plays to the end.
 14837  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE" - Used to track the number of
 14838  	// times a user mutes the audio or video.
 14839  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE" - Used to track the number of
 14840  	// times a user pauses the audio or video.
 14841  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND" - Used to track the number of
 14842  	// times a user replays the audio or video.
 14843  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN" - Used to track the number
 14844  	// of times a user expands the player to full-screen size.
 14845  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP" - Used to track the number of
 14846  	// times a user stops the audio or video.
 14847  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM" - Used to track the number of
 14848  	// times a user performs a custom click, such as clicking on a video hot spot.
 14849  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP" - Used to track the number of
 14850  	// times the audio or video was skipped.
 14851  	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" - Used to track the number of
 14852  	// times the audio or video plays to an offset determined by the
 14853  	// progress_offset.
 14854  	Type string `json:"type,omitempty"`
 14855  	// Url: Tracking URL used to track the interaction. Provide a URL with optional
 14856  	// path or query string, beginning with `https:`. For example,
 14857  	// https://www.example.com/path
 14858  	Url string `json:"url,omitempty"`
 14859  	// ForceSendFields is a list of field names (e.g. "Type") to unconditionally
 14860  	// include in API requests. By default, fields with empty or default values are
 14861  	// omitted from API requests. See
 14862  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14863  	// details.
 14864  	ForceSendFields []string `json:"-"`
 14865  	// NullFields is a list of field names (e.g. "Type") to include in API requests
 14866  	// with the JSON null value. By default, fields with empty values are omitted
 14867  	// from API requests. See
 14868  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14869  	NullFields []string `json:"-"`
 14870  }
 14871  
 14872  func (s *ThirdPartyUrl) MarshalJSON() ([]byte, error) {
 14873  	type NoMethod ThirdPartyUrl
 14874  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14875  }
 14876  
 14877  // ThirdPartyVendorConfig: Settings that control how third-party measurement
 14878  // vendors are configured.
 14879  type ThirdPartyVendorConfig struct {
 14880  	// PlacementId: The ID used by the platform of the third-party vendor to
 14881  	// identify the line item.
 14882  	PlacementId string `json:"placementId,omitempty"`
 14883  	// Vendor: The third-party measurement vendor.
 14884  	//
 14885  	// Possible values:
 14886  	//   "THIRD_PARTY_VENDOR_UNSPECIFIED" - Unknown third-party vendor.
 14887  	//   "THIRD_PARTY_VENDOR_MOAT" - Moat.
 14888  	//   "THIRD_PARTY_VENDOR_DOUBLE_VERIFY" - DoubleVerify.
 14889  	//   "THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE" - Integral Ad Science.
 14890  	//   "THIRD_PARTY_VENDOR_COMSCORE" - Comscore.
 14891  	//   "THIRD_PARTY_VENDOR_TELEMETRY" - Telemetry.
 14892  	//   "THIRD_PARTY_VENDOR_MEETRICS" - Meetrics.
 14893  	//   "THIRD_PARTY_VENDOR_ZEFR" - ZEFR.
 14894  	//   "THIRD_PARTY_VENDOR_NIELSEN" - Nielsen.
 14895  	//   "THIRD_PARTY_VENDOR_KANTAR" - Kantar.
 14896  	//   "THIRD_PARTY_VENDOR_DYNATA" - Dynata.
 14897  	Vendor string `json:"vendor,omitempty"`
 14898  	// ForceSendFields is a list of field names (e.g. "PlacementId") to
 14899  	// unconditionally include in API requests. By default, fields with empty or
 14900  	// default values are omitted from API requests. See
 14901  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14902  	// details.
 14903  	ForceSendFields []string `json:"-"`
 14904  	// NullFields is a list of field names (e.g. "PlacementId") to include in API
 14905  	// requests with the JSON null value. By default, fields with empty values are
 14906  	// omitted from API requests. See
 14907  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14908  	NullFields []string `json:"-"`
 14909  }
 14910  
 14911  func (s *ThirdPartyVendorConfig) MarshalJSON() ([]byte, error) {
 14912  	type NoMethod ThirdPartyVendorConfig
 14913  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14914  }
 14915  
 14916  // ThirdPartyVerifierAssignedTargetingOptionDetails: Assigned third party
 14917  // verifier targeting option details. This will be populated in the details
 14918  // field of an AssignedTargetingOption when targeting_type is
 14919  // `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
 14920  type ThirdPartyVerifierAssignedTargetingOptionDetails struct {
 14921  	// Adloox: Third party brand verifier -- Adloox.
 14922  	Adloox *Adloox `json:"adloox,omitempty"`
 14923  	// DoubleVerify: Third party brand verifier -- DoubleVerify.
 14924  	DoubleVerify *DoubleVerify `json:"doubleVerify,omitempty"`
 14925  	// IntegralAdScience: Third party brand verifier -- Integral Ad Science.
 14926  	IntegralAdScience *IntegralAdScience `json:"integralAdScience,omitempty"`
 14927  	// ForceSendFields is a list of field names (e.g. "Adloox") to unconditionally
 14928  	// include in API requests. By default, fields with empty or default values are
 14929  	// omitted from API requests. See
 14930  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14931  	// details.
 14932  	ForceSendFields []string `json:"-"`
 14933  	// NullFields is a list of field names (e.g. "Adloox") to include in API
 14934  	// requests with the JSON null value. By default, fields with empty values are
 14935  	// omitted from API requests. See
 14936  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14937  	NullFields []string `json:"-"`
 14938  }
 14939  
 14940  func (s *ThirdPartyVerifierAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 14941  	type NoMethod ThirdPartyVerifierAssignedTargetingOptionDetails
 14942  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14943  }
 14944  
 14945  // TimeRange: A time range.
 14946  type TimeRange struct {
 14947  	// EndTime: Required. The upper bound of a time range, inclusive.
 14948  	EndTime string `json:"endTime,omitempty"`
 14949  	// StartTime: Required. The lower bound of a time range, inclusive.
 14950  	StartTime string `json:"startTime,omitempty"`
 14951  	// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
 14952  	// include in API requests. By default, fields with empty or default values are
 14953  	// omitted from API requests. See
 14954  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14955  	// details.
 14956  	ForceSendFields []string `json:"-"`
 14957  	// NullFields is a list of field names (e.g. "EndTime") to include in API
 14958  	// requests with the JSON null value. By default, fields with empty values are
 14959  	// omitted from API requests. See
 14960  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14961  	NullFields []string `json:"-"`
 14962  }
 14963  
 14964  func (s *TimeRange) MarshalJSON() ([]byte, error) {
 14965  	type NoMethod TimeRange
 14966  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14967  }
 14968  
 14969  // TimerEvent: Timer event of the creative.
 14970  type TimerEvent struct {
 14971  	// Name: Required. The name of the timer event.
 14972  	Name string `json:"name,omitempty"`
 14973  	// ReportingName: Required. The name used to identify this timer event in
 14974  	// reports.
 14975  	ReportingName string `json:"reportingName,omitempty"`
 14976  	// ForceSendFields is a list of field names (e.g. "Name") to unconditionally
 14977  	// include in API requests. By default, fields with empty or default values are
 14978  	// omitted from API requests. See
 14979  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 14980  	// details.
 14981  	ForceSendFields []string `json:"-"`
 14982  	// NullFields is a list of field names (e.g. "Name") to include in API requests
 14983  	// with the JSON null value. By default, fields with empty values are omitted
 14984  	// from API requests. See
 14985  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 14986  	NullFields []string `json:"-"`
 14987  }
 14988  
 14989  func (s *TimerEvent) MarshalJSON() ([]byte, error) {
 14990  	type NoMethod TimerEvent
 14991  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 14992  }
 14993  
 14994  // TrackingFloodlightActivityConfig: Settings that control the behavior of a
 14995  // single Floodlight activity config.
 14996  type TrackingFloodlightActivityConfig struct {
 14997  	// FloodlightActivityId: Required. The ID of the Floodlight activity.
 14998  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
 14999  	// PostClickLookbackWindowDays: Required. The number of days after an ad has
 15000  	// been clicked in which a conversion may be counted. Must be between 0 and 90
 15001  	// inclusive.
 15002  	PostClickLookbackWindowDays int64 `json:"postClickLookbackWindowDays,omitempty"`
 15003  	// PostViewLookbackWindowDays: Required. The number of days after an ad has
 15004  	// been viewed in which a conversion may be counted. Must be between 0 and 90
 15005  	// inclusive.
 15006  	PostViewLookbackWindowDays int64 `json:"postViewLookbackWindowDays,omitempty"`
 15007  	// ForceSendFields is a list of field names (e.g. "FloodlightActivityId") to
 15008  	// unconditionally include in API requests. By default, fields with empty or
 15009  	// default values are omitted from API requests. See
 15010  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15011  	// details.
 15012  	ForceSendFields []string `json:"-"`
 15013  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to include
 15014  	// in API requests with the JSON null value. By default, fields with empty
 15015  	// values are omitted from API requests. See
 15016  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15017  	NullFields []string `json:"-"`
 15018  }
 15019  
 15020  func (s *TrackingFloodlightActivityConfig) MarshalJSON() ([]byte, error) {
 15021  	type NoMethod TrackingFloodlightActivityConfig
 15022  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15023  }
 15024  
 15025  // Transcode: Represents information about the transcoded audio or video file.
 15026  type Transcode struct {
 15027  	// AudioBitRateKbps: The bit rate for the audio stream of the transcoded video,
 15028  	// or the bit rate for the transcoded audio, in kilobits per second.
 15029  	AudioBitRateKbps int64 `json:"audioBitRateKbps,omitempty,string"`
 15030  	// AudioSampleRateHz: The sample rate for the audio stream of the transcoded
 15031  	// video, or the sample rate for the transcoded audio, in hertz.
 15032  	AudioSampleRateHz int64 `json:"audioSampleRateHz,omitempty,string"`
 15033  	// BitRateKbps: The transcoding bit rate of the transcoded video, in kilobits
 15034  	// per second.
 15035  	BitRateKbps int64 `json:"bitRateKbps,omitempty,string"`
 15036  	// Dimensions: The dimensions of the transcoded video.
 15037  	Dimensions *Dimensions `json:"dimensions,omitempty"`
 15038  	// FileSizeBytes: The size of the transcoded file, in bytes.
 15039  	FileSizeBytes int64 `json:"fileSizeBytes,omitempty,string"`
 15040  	// FrameRate: The frame rate of the transcoded video, in frames per second.
 15041  	FrameRate float64 `json:"frameRate,omitempty"`
 15042  	// MimeType: The MIME type of the transcoded file.
 15043  	MimeType string `json:"mimeType,omitempty"`
 15044  	// Name: The name of the transcoded file.
 15045  	Name string `json:"name,omitempty"`
 15046  	// Transcoded: Indicates if the transcoding was successful.
 15047  	Transcoded bool `json:"transcoded,omitempty"`
 15048  	// ForceSendFields is a list of field names (e.g. "AudioBitRateKbps") to
 15049  	// unconditionally include in API requests. By default, fields with empty or
 15050  	// default values are omitted from API requests. See
 15051  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15052  	// details.
 15053  	ForceSendFields []string `json:"-"`
 15054  	// NullFields is a list of field names (e.g. "AudioBitRateKbps") to include in
 15055  	// API requests with the JSON null value. By default, fields with empty values
 15056  	// are omitted from API requests. See
 15057  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15058  	NullFields []string `json:"-"`
 15059  }
 15060  
 15061  func (s *Transcode) MarshalJSON() ([]byte, error) {
 15062  	type NoMethod Transcode
 15063  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15064  }
 15065  
 15066  func (s *Transcode) UnmarshalJSON(data []byte) error {
 15067  	type NoMethod Transcode
 15068  	var s1 struct {
 15069  		FrameRate gensupport.JSONFloat64 `json:"frameRate"`
 15070  		*NoMethod
 15071  	}
 15072  	s1.NoMethod = (*NoMethod)(s)
 15073  	if err := json.Unmarshal(data, &s1); err != nil {
 15074  		return err
 15075  	}
 15076  	s.FrameRate = float64(s1.FrameRate)
 15077  	return nil
 15078  }
 15079  
 15080  // UniversalAdId: A creative identifier provided by a registry that is unique
 15081  // across all platforms. This is part of the VAST 4.0 standard.
 15082  type UniversalAdId struct {
 15083  	// Id: The unique creative identifier.
 15084  	Id string `json:"id,omitempty"`
 15085  	// Registry: The registry provides unique creative identifiers.
 15086  	//
 15087  	// Possible values:
 15088  	//   "UNIVERSAL_AD_REGISTRY_UNSPECIFIED" - The Universal Ad registry is
 15089  	// unspecified or is unknown in this version.
 15090  	//   "UNIVERSAL_AD_REGISTRY_OTHER" - Use a custom provider to provide the
 15091  	// Universal Ad ID.
 15092  	//   "UNIVERSAL_AD_REGISTRY_AD_ID" - Use Ad-ID to provide the Universal Ad ID.
 15093  	//   "UNIVERSAL_AD_REGISTRY_CLEARCAST" - Use clearcast.co.uk to provide the
 15094  	// Universal Ad ID.
 15095  	//   "UNIVERSAL_AD_REGISTRY_DV360" - Use Display & Video 360 to provide the
 15096  	// Universal Ad ID.
 15097  	//   "UNIVERSAL_AD_REGISTRY_CM" - Use Campaign Manager 360 to provide the
 15098  	// Universal Ad ID.
 15099  	Registry string `json:"registry,omitempty"`
 15100  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
 15101  	// include in API requests. By default, fields with empty or default values are
 15102  	// omitted from API requests. See
 15103  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15104  	// details.
 15105  	ForceSendFields []string `json:"-"`
 15106  	// NullFields is a list of field names (e.g. "Id") to include in API requests
 15107  	// with the JSON null value. By default, fields with empty values are omitted
 15108  	// from API requests. See
 15109  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15110  	NullFields []string `json:"-"`
 15111  }
 15112  
 15113  func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
 15114  	type NoMethod UniversalAdId
 15115  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15116  }
 15117  
 15118  // UrlAssignedTargetingOptionDetails: Details for assigned URL targeting
 15119  // option. This will be populated in the details field of an
 15120  // AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`.
 15121  type UrlAssignedTargetingOptionDetails struct {
 15122  	// Negative: Indicates if this option is being negatively targeted.
 15123  	Negative bool `json:"negative,omitempty"`
 15124  	// Url: Required. The URL, for example `example.com`. DV360 supports two levels
 15125  	// of subdirectory targeting, for example
 15126  	// `www.example.com/one-subdirectory-level/second-level`, and five levels of
 15127  	// subdomain targeting, for example `five.four.three.two.one.example.com`.
 15128  	Url string `json:"url,omitempty"`
 15129  	// ForceSendFields is a list of field names (e.g. "Negative") to
 15130  	// unconditionally include in API requests. By default, fields with empty or
 15131  	// default values are omitted from API requests. See
 15132  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15133  	// details.
 15134  	ForceSendFields []string `json:"-"`
 15135  	// NullFields is a list of field names (e.g. "Negative") to include in API
 15136  	// requests with the JSON null value. By default, fields with empty values are
 15137  	// omitted from API requests. See
 15138  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15139  	NullFields []string `json:"-"`
 15140  }
 15141  
 15142  func (s *UrlAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15143  	type NoMethod UrlAssignedTargetingOptionDetails
 15144  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15145  }
 15146  
 15147  // User: A single user in Display & Video 360.
 15148  type User struct {
 15149  	// AssignedUserRoles: The assigned user roles. Required in CreateUser. Output
 15150  	// only in UpdateUser. Can only be updated through BulkEditAssignedUserRoles.
 15151  	AssignedUserRoles []*AssignedUserRole `json:"assignedUserRoles,omitempty"`
 15152  	// DisplayName: Required. The display name of the user. Must be UTF-8 encoded
 15153  	// with a maximum size of 240 bytes.
 15154  	DisplayName string `json:"displayName,omitempty"`
 15155  	// Email: Required. Immutable. The email address used to identify the user.
 15156  	Email string `json:"email,omitempty"`
 15157  	// LastLoginTime: Output only. The timestamp when the user last logged in DV360
 15158  	// UI.
 15159  	LastLoginTime string `json:"lastLoginTime,omitempty"`
 15160  	// Name: Output only. The resource name of the user.
 15161  	Name string `json:"name,omitempty"`
 15162  	// UserId: Output only. The unique ID of the user. Assigned by the system.
 15163  	UserId int64 `json:"userId,omitempty,string"`
 15164  
 15165  	// ServerResponse contains the HTTP response code and headers from the server.
 15166  	googleapi.ServerResponse `json:"-"`
 15167  	// ForceSendFields is a list of field names (e.g. "AssignedUserRoles") to
 15168  	// unconditionally include in API requests. By default, fields with empty or
 15169  	// default values are omitted from API requests. See
 15170  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15171  	// details.
 15172  	ForceSendFields []string `json:"-"`
 15173  	// NullFields is a list of field names (e.g. "AssignedUserRoles") to include in
 15174  	// API requests with the JSON null value. By default, fields with empty values
 15175  	// are omitted from API requests. See
 15176  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15177  	NullFields []string `json:"-"`
 15178  }
 15179  
 15180  func (s *User) MarshalJSON() ([]byte, error) {
 15181  	type NoMethod User
 15182  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15183  }
 15184  
 15185  // UserRewardedContentAssignedTargetingOptionDetails: User rewarded content
 15186  // targeting option details. This will be populated in the
 15187  // user_rewarded_content_details field when targeting_type is
 15188  // `TARGETING_TYPE_USER_REWARDED_CONTENT`.
 15189  type UserRewardedContentAssignedTargetingOptionDetails struct {
 15190  	// TargetingOptionId: Required. The targeting_option_id field when
 15191  	// targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
 15192  	TargetingOptionId string `json:"targetingOptionId,omitempty"`
 15193  	// UserRewardedContent: Output only. User rewarded content status for video
 15194  	// ads.
 15195  	//
 15196  	// Possible values:
 15197  	//   "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not
 15198  	// specified or is unknown in this version.
 15199  	//   "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the user will
 15200  	// see a reward after viewing.
 15201  	//   "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other ads
 15202  	// besides user-rewarded.
 15203  	UserRewardedContent string `json:"userRewardedContent,omitempty"`
 15204  	// ForceSendFields is a list of field names (e.g. "TargetingOptionId") to
 15205  	// unconditionally include in API requests. By default, fields with empty or
 15206  	// default values are omitted from API requests. See
 15207  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15208  	// details.
 15209  	ForceSendFields []string `json:"-"`
 15210  	// NullFields is a list of field names (e.g. "TargetingOptionId") to include in
 15211  	// API requests with the JSON null value. By default, fields with empty values
 15212  	// are omitted from API requests. See
 15213  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15214  	NullFields []string `json:"-"`
 15215  }
 15216  
 15217  func (s *UserRewardedContentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15218  	type NoMethod UserRewardedContentAssignedTargetingOptionDetails
 15219  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15220  }
 15221  
 15222  // UserRewardedContentTargetingOptionDetails: Represents a targetable user
 15223  // rewarded content status for video ads only. This will be populated in the
 15224  // user_rewarded_content_details field when targeting_type is
 15225  // `TARGETING_TYPE_USER_REWARDED_CONTENT`.
 15226  type UserRewardedContentTargetingOptionDetails struct {
 15227  	// UserRewardedContent: Output only. User rewarded content status for video
 15228  	// ads.
 15229  	//
 15230  	// Possible values:
 15231  	//   "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not
 15232  	// specified or is unknown in this version.
 15233  	//   "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the user will
 15234  	// see a reward after viewing.
 15235  	//   "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other ads
 15236  	// besides user-rewarded.
 15237  	UserRewardedContent string `json:"userRewardedContent,omitempty"`
 15238  	// ForceSendFields is a list of field names (e.g. "UserRewardedContent") to
 15239  	// unconditionally include in API requests. By default, fields with empty or
 15240  	// default values are omitted from API requests. See
 15241  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15242  	// details.
 15243  	ForceSendFields []string `json:"-"`
 15244  	// NullFields is a list of field names (e.g. "UserRewardedContent") to include
 15245  	// in API requests with the JSON null value. By default, fields with empty
 15246  	// values are omitted from API requests. See
 15247  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15248  	NullFields []string `json:"-"`
 15249  }
 15250  
 15251  func (s *UserRewardedContentTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15252  	type NoMethod UserRewardedContentTargetingOptionDetails
 15253  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15254  }
 15255  
 15256  // VideoAdSequenceSettings: Settings related to VideoAdSequence.
 15257  type VideoAdSequenceSettings struct {
 15258  	// MinimumDuration: The minimum time interval before the same user sees this
 15259  	// sequence again.
 15260  	//
 15261  	// Possible values:
 15262  	//   "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_UNSPECIFIED" - Unspecified or unknown.
 15263  	//   "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_WEEK" - 7 days.
 15264  	//   "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_MONTH" - 30 days.
 15265  	MinimumDuration string `json:"minimumDuration,omitempty"`
 15266  	// Steps: The steps of which the sequence consists.
 15267  	Steps []*VideoAdSequenceStep `json:"steps,omitempty"`
 15268  	// ForceSendFields is a list of field names (e.g. "MinimumDuration") to
 15269  	// unconditionally include in API requests. By default, fields with empty or
 15270  	// default values are omitted from API requests. See
 15271  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15272  	// details.
 15273  	ForceSendFields []string `json:"-"`
 15274  	// NullFields is a list of field names (e.g. "MinimumDuration") to include in
 15275  	// API requests with the JSON null value. By default, fields with empty values
 15276  	// are omitted from API requests. See
 15277  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15278  	NullFields []string `json:"-"`
 15279  }
 15280  
 15281  func (s *VideoAdSequenceSettings) MarshalJSON() ([]byte, error) {
 15282  	type NoMethod VideoAdSequenceSettings
 15283  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15284  }
 15285  
 15286  // VideoAdSequenceStep: The detail of a single step in a VideoAdSequence.
 15287  type VideoAdSequenceStep struct {
 15288  	// AdGroupId: The ID of the corresponding ad group of the step.
 15289  	AdGroupId int64 `json:"adGroupId,omitempty,string"`
 15290  	// InteractionType: The interaction on the previous step that will lead the
 15291  	// viewer to this step. The first step does not have interaction_type.
 15292  	//
 15293  	// Possible values:
 15294  	//   "INTERACTION_TYPE_UNSPECIFIED" - Unspecified or unknown
 15295  	//   "INTERACTION_TYPE_PAID_VIEW" - A paid view.
 15296  	//   "INTERACTION_TYPE_SKIP" - Skipped by the viewer.
 15297  	//   "INTERACTION_TYPE_IMPRESSION" - A (viewed) ad impression.
 15298  	//   "INTERACTION_TYPE_ENGAGED_IMPRESSION" - An ad impression that was not
 15299  	// immediately skipped by the viewer, but didn't reach the billable event
 15300  	// either.
 15301  	InteractionType string `json:"interactionType,omitempty"`
 15302  	// PreviousStepId: The ID of the previous step. The first step does not have
 15303  	// previous step.
 15304  	PreviousStepId int64 `json:"previousStepId,omitempty,string"`
 15305  	// StepId: The ID of the step.
 15306  	StepId int64 `json:"stepId,omitempty,string"`
 15307  	// ForceSendFields is a list of field names (e.g. "AdGroupId") to
 15308  	// unconditionally include in API requests. By default, fields with empty or
 15309  	// default values are omitted from API requests. See
 15310  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15311  	// details.
 15312  	ForceSendFields []string `json:"-"`
 15313  	// NullFields is a list of field names (e.g. "AdGroupId") to include in API
 15314  	// requests with the JSON null value. By default, fields with empty values are
 15315  	// omitted from API requests. See
 15316  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15317  	NullFields []string `json:"-"`
 15318  }
 15319  
 15320  func (s *VideoAdSequenceStep) MarshalJSON() ([]byte, error) {
 15321  	type NoMethod VideoAdSequenceStep
 15322  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15323  }
 15324  
 15325  // VideoDiscoveryAd: Details for a video discovery ad.
 15326  type VideoDiscoveryAd struct {
 15327  	// Description1: First text line for the ad.
 15328  	Description1 string `json:"description1,omitempty"`
 15329  	// Description2: Second text line for the ad.
 15330  	Description2 string `json:"description2,omitempty"`
 15331  	// Headline: The headline of ad.
 15332  	Headline string `json:"headline,omitempty"`
 15333  	// Thumbnail: Thumbnail image used in the ad.
 15334  	//
 15335  	// Possible values:
 15336  	//   "THUMBNAIL_UNSPECIFIED" - Unknown or unspecified.
 15337  	//   "THUMBNAIL_DEFAULT" - The default thumbnail, can be auto-generated or
 15338  	// user-uploaded.
 15339  	//   "THUMBNAIL_1" - Thumbnail 1, generated from the video.
 15340  	//   "THUMBNAIL_2" - Thumbnail 2, generated from the video.
 15341  	//   "THUMBNAIL_3" - Thumbnail 3, generated from the video.
 15342  	Thumbnail string `json:"thumbnail,omitempty"`
 15343  	// Video: The YouTube video the ad promotes.
 15344  	Video *YoutubeVideoDetails `json:"video,omitempty"`
 15345  	// ForceSendFields is a list of field names (e.g. "Description1") to
 15346  	// unconditionally include in API requests. By default, fields with empty or
 15347  	// default values are omitted from API requests. See
 15348  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15349  	// details.
 15350  	ForceSendFields []string `json:"-"`
 15351  	// NullFields is a list of field names (e.g. "Description1") to include in API
 15352  	// requests with the JSON null value. By default, fields with empty values are
 15353  	// omitted from API requests. See
 15354  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15355  	NullFields []string `json:"-"`
 15356  }
 15357  
 15358  func (s *VideoDiscoveryAd) MarshalJSON() ([]byte, error) {
 15359  	type NoMethod VideoDiscoveryAd
 15360  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15361  }
 15362  
 15363  // VideoPerformanceAd: Details for a video performance ad.
 15364  type VideoPerformanceAd struct {
 15365  	// ActionButtonLabels: The list of text assets shown on the call-to-action
 15366  	// button.
 15367  	ActionButtonLabels []string `json:"actionButtonLabels,omitempty"`
 15368  	// CompanionBanners: The list of companion banners used by this ad.
 15369  	CompanionBanners []*ImageAsset `json:"companionBanners,omitempty"`
 15370  	// CustomParameters: The custom parameters to pass custom values to tracking
 15371  	// URL template.
 15372  	CustomParameters map[string]string `json:"customParameters,omitempty"`
 15373  	// Descriptions: The list of descriptions shown on the call-to-action banner.
 15374  	Descriptions []string `json:"descriptions,omitempty"`
 15375  	// DisplayUrlBreadcrumb1: The first piece after the domain in the display URL.
 15376  	DisplayUrlBreadcrumb1 string `json:"displayUrlBreadcrumb1,omitempty"`
 15377  	// DisplayUrlBreadcrumb2: The second piece after the domain in the display URL.
 15378  	DisplayUrlBreadcrumb2 string `json:"displayUrlBreadcrumb2,omitempty"`
 15379  	// Domain: The domain of the display URL.
 15380  	Domain string `json:"domain,omitempty"`
 15381  	// FinalUrl: The URL address of the webpage that people reach after they click
 15382  	// the ad.
 15383  	FinalUrl string `json:"finalUrl,omitempty"`
 15384  	// Headlines: The list of headlines shown on the call-to-action banner.
 15385  	Headlines []string `json:"headlines,omitempty"`
 15386  	// LongHeadlines: The list of lone headlines shown on the call-to-action
 15387  	// banner.
 15388  	LongHeadlines []string `json:"longHeadlines,omitempty"`
 15389  	// TrackingUrl: The URL address loaded in the background for tracking purposes.
 15390  	TrackingUrl string `json:"trackingUrl,omitempty"`
 15391  	// Videos: The list of YouTube video assets used by this ad.
 15392  	Videos []*YoutubeVideoDetails `json:"videos,omitempty"`
 15393  	// ForceSendFields is a list of field names (e.g. "ActionButtonLabels") to
 15394  	// unconditionally include in API requests. By default, fields with empty or
 15395  	// default values are omitted from API requests. See
 15396  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15397  	// details.
 15398  	ForceSendFields []string `json:"-"`
 15399  	// NullFields is a list of field names (e.g. "ActionButtonLabels") to include
 15400  	// in API requests with the JSON null value. By default, fields with empty
 15401  	// values are omitted from API requests. See
 15402  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15403  	NullFields []string `json:"-"`
 15404  }
 15405  
 15406  func (s *VideoPerformanceAd) MarshalJSON() ([]byte, error) {
 15407  	type NoMethod VideoPerformanceAd
 15408  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15409  }
 15410  
 15411  // VideoPlayerSizeAssignedTargetingOptionDetails: Video player size targeting
 15412  // option details. This will be populated in the video_player_size_details
 15413  // field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly
 15414  // targeting all options is not supported. Remove all video player size
 15415  // targeting options to achieve this effect.
 15416  type VideoPlayerSizeAssignedTargetingOptionDetails struct {
 15417  	// VideoPlayerSize: Required. The video player size.
 15418  	//
 15419  	// Possible values:
 15420  	//   "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not specified in
 15421  	// this version. This enum is a place holder for a default value and does not
 15422  	// represent a real video player size.
 15423  	//   "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are less
 15424  	// than 400×300 (desktop), or up to 20% of screen covered (mobile).
 15425  	//   "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are between
 15426  	// 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered
 15427  	// (mobile).
 15428  	//   "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are 1280×720
 15429  	// or greater (desktop), or over 90% of the screen covered (mobile).
 15430  	//   "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player are
 15431  	// unknown.
 15432  	VideoPlayerSize string `json:"videoPlayerSize,omitempty"`
 15433  	// ForceSendFields is a list of field names (e.g. "VideoPlayerSize") to
 15434  	// unconditionally include in API requests. By default, fields with empty or
 15435  	// default values are omitted from API requests. See
 15436  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15437  	// details.
 15438  	ForceSendFields []string `json:"-"`
 15439  	// NullFields is a list of field names (e.g. "VideoPlayerSize") to include in
 15440  	// API requests with the JSON null value. By default, fields with empty values
 15441  	// are omitted from API requests. See
 15442  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15443  	NullFields []string `json:"-"`
 15444  }
 15445  
 15446  func (s *VideoPlayerSizeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15447  	type NoMethod VideoPlayerSizeAssignedTargetingOptionDetails
 15448  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15449  }
 15450  
 15451  // VideoPlayerSizeTargetingOptionDetails: Represents a targetable video player
 15452  // size. This will be populated in the video_player_size_details field when
 15453  // targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
 15454  type VideoPlayerSizeTargetingOptionDetails struct {
 15455  	// VideoPlayerSize: Output only. The video player size.
 15456  	//
 15457  	// Possible values:
 15458  	//   "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not specified in
 15459  	// this version. This enum is a place holder for a default value and does not
 15460  	// represent a real video player size.
 15461  	//   "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are less
 15462  	// than 400×300 (desktop), or up to 20% of screen covered (mobile).
 15463  	//   "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are between
 15464  	// 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered
 15465  	// (mobile).
 15466  	//   "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are 1280×720
 15467  	// or greater (desktop), or over 90% of the screen covered (mobile).
 15468  	//   "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player are
 15469  	// unknown.
 15470  	VideoPlayerSize string `json:"videoPlayerSize,omitempty"`
 15471  	// ForceSendFields is a list of field names (e.g. "VideoPlayerSize") to
 15472  	// unconditionally include in API requests. By default, fields with empty or
 15473  	// default values are omitted from API requests. See
 15474  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15475  	// details.
 15476  	ForceSendFields []string `json:"-"`
 15477  	// NullFields is a list of field names (e.g. "VideoPlayerSize") to include in
 15478  	// API requests with the JSON null value. By default, fields with empty values
 15479  	// are omitted from API requests. See
 15480  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15481  	NullFields []string `json:"-"`
 15482  }
 15483  
 15484  func (s *VideoPlayerSizeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15485  	type NoMethod VideoPlayerSizeTargetingOptionDetails
 15486  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15487  }
 15488  
 15489  // ViewabilityAssignedTargetingOptionDetails: Assigned viewability targeting
 15490  // option details. This will be populated in the viewability_details field of
 15491  // an AssignedTargetingOption when targeting_type is
 15492  // `TARGETING_TYPE_VIEWABILITY`.
 15493  type ViewabilityAssignedTargetingOptionDetails struct {
 15494  	// Viewability: Required. The predicted viewability percentage.
 15495  	//
 15496  	// Possible values:
 15497  	//   "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not
 15498  	// specified in this version. This enum is a placeholder for default value and
 15499  	// does not represent a real viewability option.
 15500  	//   "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are at
 15501  	// least 10% likely to be viewable.
 15502  	//   "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are at
 15503  	// least 20% likely to be viewable.
 15504  	//   "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are at
 15505  	// least 30% likely to be viewable.
 15506  	//   "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are at
 15507  	// least 40% likely to be viewable.
 15508  	//   "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are at
 15509  	// least 50% likely to be viewable.
 15510  	//   "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are at
 15511  	// least 60% likely to be viewable.
 15512  	//   "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are at
 15513  	// least 70% likely to be viewable.
 15514  	//   "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are at
 15515  	// least 80% likely to be viewable.
 15516  	//   "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are at
 15517  	// least 90% likely to be viewable.
 15518  	Viewability string `json:"viewability,omitempty"`
 15519  	// ForceSendFields is a list of field names (e.g. "Viewability") to
 15520  	// unconditionally include in API requests. By default, fields with empty or
 15521  	// default values are omitted from API requests. See
 15522  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15523  	// details.
 15524  	ForceSendFields []string `json:"-"`
 15525  	// NullFields is a list of field names (e.g. "Viewability") to include in API
 15526  	// requests with the JSON null value. By default, fields with empty values are
 15527  	// omitted from API requests. See
 15528  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15529  	NullFields []string `json:"-"`
 15530  }
 15531  
 15532  func (s *ViewabilityAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15533  	type NoMethod ViewabilityAssignedTargetingOptionDetails
 15534  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15535  }
 15536  
 15537  // ViewabilityTargetingOptionDetails: Represents a targetable viewability. This
 15538  // will be populated in the viewability_details field of a TargetingOption when
 15539  // targeting_type is `TARGETING_TYPE_VIEWABILITY`.
 15540  type ViewabilityTargetingOptionDetails struct {
 15541  	// Viewability: Output only. The predicted viewability percentage.
 15542  	//
 15543  	// Possible values:
 15544  	//   "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not
 15545  	// specified in this version. This enum is a placeholder for default value and
 15546  	// does not represent a real viewability option.
 15547  	//   "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are at
 15548  	// least 10% likely to be viewable.
 15549  	//   "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are at
 15550  	// least 20% likely to be viewable.
 15551  	//   "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are at
 15552  	// least 30% likely to be viewable.
 15553  	//   "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are at
 15554  	// least 40% likely to be viewable.
 15555  	//   "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are at
 15556  	// least 50% likely to be viewable.
 15557  	//   "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are at
 15558  	// least 60% likely to be viewable.
 15559  	//   "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are at
 15560  	// least 70% likely to be viewable.
 15561  	//   "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are at
 15562  	// least 80% likely to be viewable.
 15563  	//   "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are at
 15564  	// least 90% likely to be viewable.
 15565  	Viewability string `json:"viewability,omitempty"`
 15566  	// ForceSendFields is a list of field names (e.g. "Viewability") to
 15567  	// unconditionally include in API requests. By default, fields with empty or
 15568  	// default values are omitted from API requests. See
 15569  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15570  	// details.
 15571  	ForceSendFields []string `json:"-"`
 15572  	// NullFields is a list of field names (e.g. "Viewability") to include in API
 15573  	// requests with the JSON null value. By default, fields with empty values are
 15574  	// omitted from API requests. See
 15575  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15576  	NullFields []string `json:"-"`
 15577  }
 15578  
 15579  func (s *ViewabilityTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15580  	type NoMethod ViewabilityTargetingOptionDetails
 15581  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15582  }
 15583  
 15584  // YoutubeAndPartnersBiddingStrategy: Settings that control the bid strategy
 15585  // for YouTube and Partners resources.
 15586  type YoutubeAndPartnersBiddingStrategy struct {
 15587  	// AdGroupEffectiveTargetCpaSource: Output only. Source of the effective target
 15588  	// CPA value for ad group.
 15589  	//
 15590  	// Possible values:
 15591  	//   "BIDDING_SOURCE_UNSPECIFIED" - Bidding source is not specified or unknown.
 15592  	//   "BIDDING_SOURCE_LINE_ITEM" - Bidding value is inherited from the line
 15593  	// item.
 15594  	//   "BIDDING_SOURCE_AD_GROUP" - Bidding value is defined in the ad group.
 15595  	AdGroupEffectiveTargetCpaSource string `json:"adGroupEffectiveTargetCpaSource,omitempty"`
 15596  	// AdGroupEffectiveTargetCpaValue: Output only. The effective target CPA for ad
 15597  	// group, in micros of advertiser's currency.
 15598  	AdGroupEffectiveTargetCpaValue int64 `json:"adGroupEffectiveTargetCpaValue,omitempty,string"`
 15599  	// Type: The type of the bidding strategy.
 15600  	//
 15601  	// Possible values:
 15602  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED" - Type is not
 15603  	// specified or unknown.
 15604  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV" - A bidding
 15605  	// strategy that pays a configurable amount per video view.
 15606  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM" - A bidding
 15607  	// strategy that pays a configurable amount per impression.
 15608  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA" - A bidding
 15609  	// strategy that automatically optimizes conversions per dollar.
 15610  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM" - A bidding
 15611  	// strategy that pays a configurable amount per impression.
 15612  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM" - A bidding
 15613  	// strategy for YouTube Instant Reserve line items that pays a fixed amount per
 15614  	// impression.
 15615  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT" - An automated
 15616  	// bidding strategy that sets bids to achieve maximum lift.
 15617  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS" - A
 15618  	// bidding strategy that automatically maximizes number of conversions given a
 15619  	// daily budget.
 15620  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV" - A bidding
 15621  	// strategy that automatically optimizes cost per video view.
 15622  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS" - A bidding
 15623  	// strategy that automatically maximizes revenue while averaging a specific
 15624  	// target Return On Ad Spend (ROAS).
 15625  	//   "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE" - A
 15626  	// bidding strategy that automatically sets bids to maximize revenue while
 15627  	// spending your budget.
 15628  	Type string `json:"type,omitempty"`
 15629  	// Value: The value used by the bidding strategy. When the bidding strategy is
 15630  	// assigned at the line item level, this field is only applicable for the
 15631  	// following strategy types: *
 15632  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` *
 15633  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` When the bidding
 15634  	// strategy is assigned at the ad group level, this field is only applicable
 15635  	// for the following strategy types: *
 15636  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM` *
 15637  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV` *
 15638  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` *
 15639  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM` *
 15640  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM` *
 15641  	// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` If not using an
 15642  	// applicable strategy, the value of this field will be 0.
 15643  	Value int64 `json:"value,omitempty,string"`
 15644  	// ForceSendFields is a list of field names (e.g.
 15645  	// "AdGroupEffectiveTargetCpaSource") to unconditionally include in API
 15646  	// requests. By default, fields with empty or default values are omitted from
 15647  	// API requests. See
 15648  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15649  	// details.
 15650  	ForceSendFields []string `json:"-"`
 15651  	// NullFields is a list of field names (e.g. "AdGroupEffectiveTargetCpaSource")
 15652  	// to include in API requests with the JSON null value. By default, fields with
 15653  	// empty values are omitted from API requests. See
 15654  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15655  	NullFields []string `json:"-"`
 15656  }
 15657  
 15658  func (s *YoutubeAndPartnersBiddingStrategy) MarshalJSON() ([]byte, error) {
 15659  	type NoMethod YoutubeAndPartnersBiddingStrategy
 15660  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15661  }
 15662  
 15663  // YoutubeAndPartnersInventorySourceConfig: Settings that control what YouTube
 15664  // related inventories the YouTube and Partners line item will target.
 15665  type YoutubeAndPartnersInventorySourceConfig struct {
 15666  	// IncludeGoogleTv: Optional. Whether to target inventory in video apps
 15667  	// available with Google TV.
 15668  	IncludeGoogleTv bool `json:"includeGoogleTv,omitempty"`
 15669  	// IncludeYoutube: Optional. Whether to target inventory on YouTube. This
 15670  	// includes both search, channels and videos.
 15671  	IncludeYoutube bool `json:"includeYoutube,omitempty"`
 15672  	// IncludeYoutubeVideoPartners: Whether to target inventory on a collection of
 15673  	// partner sites and apps that follow the same brand safety standards as
 15674  	// YouTube.
 15675  	IncludeYoutubeVideoPartners bool `json:"includeYoutubeVideoPartners,omitempty"`
 15676  	// ForceSendFields is a list of field names (e.g. "IncludeGoogleTv") to
 15677  	// unconditionally include in API requests. By default, fields with empty or
 15678  	// default values are omitted from API requests. See
 15679  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15680  	// details.
 15681  	ForceSendFields []string `json:"-"`
 15682  	// NullFields is a list of field names (e.g. "IncludeGoogleTv") to include in
 15683  	// API requests with the JSON null value. By default, fields with empty values
 15684  	// are omitted from API requests. See
 15685  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15686  	NullFields []string `json:"-"`
 15687  }
 15688  
 15689  func (s *YoutubeAndPartnersInventorySourceConfig) MarshalJSON() ([]byte, error) {
 15690  	type NoMethod YoutubeAndPartnersInventorySourceConfig
 15691  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15692  }
 15693  
 15694  // YoutubeAndPartnersSettings: Settings for YouTube and Partners line items.
 15695  type YoutubeAndPartnersSettings struct {
 15696  	// ContentCategory: The kind of content on which the YouTube and Partners ads
 15697  	// will be shown.
 15698  	//
 15699  	// Possible values:
 15700  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED" - Content category is
 15701  	// not specified or is unknown in this version.
 15702  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD" - A category consisting
 15703  	// of a wide range of content appropriate for most brands. The content is based
 15704  	// off of YouTube's [advertiser-friendly content
 15705  	// guidelines](https://support.google.com/youtube/answer/6162278).
 15706  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED" - A category including
 15707  	// all content across YouTube and video partners that meets standards for
 15708  	// monetization.
 15709  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" - A category consisting of
 15710  	// a reduced range of content that meets heightened requirements, especially
 15711  	// regarding inappropriate language and sexual suggestiveness.
 15712  	ContentCategory string `json:"contentCategory,omitempty"`
 15713  	// EffectiveContentCategory: Output only. The content category which takes
 15714  	// effect when serving the line item. When content category is set in both line
 15715  	// item and advertiser, the stricter one will take effect when serving the line
 15716  	// item.
 15717  	//
 15718  	// Possible values:
 15719  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED" - Content category is
 15720  	// not specified or is unknown in this version.
 15721  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD" - A category consisting
 15722  	// of a wide range of content appropriate for most brands. The content is based
 15723  	// off of YouTube's [advertiser-friendly content
 15724  	// guidelines](https://support.google.com/youtube/answer/6162278).
 15725  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED" - A category including
 15726  	// all content across YouTube and video partners that meets standards for
 15727  	// monetization.
 15728  	//   "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" - A category consisting of
 15729  	// a reduced range of content that meets heightened requirements, especially
 15730  	// regarding inappropriate language and sexual suggestiveness.
 15731  	EffectiveContentCategory string `json:"effectiveContentCategory,omitempty"`
 15732  	// InventorySourceSettings: Settings that control what YouTube and Partners
 15733  	// inventories the line item will target.
 15734  	InventorySourceSettings *YoutubeAndPartnersInventorySourceConfig `json:"inventorySourceSettings,omitempty"`
 15735  	// LeadFormId: Optional. The ID of the form to generate leads.
 15736  	LeadFormId int64 `json:"leadFormId,omitempty,string"`
 15737  	// LinkedMerchantId: Optional. The ID of the merchant which is linked to the
 15738  	// line item for product feed.
 15739  	LinkedMerchantId int64 `json:"linkedMerchantId,omitempty,string"`
 15740  	// RelatedVideoIds: Optional. The IDs of the videos appear below the primary
 15741  	// video ad when the ad is playing in the YouTube app on mobile devices.
 15742  	RelatedVideoIds []string `json:"relatedVideoIds,omitempty"`
 15743  	// TargetFrequency: Optional. The average number of times you want ads from
 15744  	// this line item to show to the same person over a certain period of time.
 15745  	TargetFrequency *TargetFrequency `json:"targetFrequency,omitempty"`
 15746  	// ThirdPartyMeasurementConfigs: Optional. The third-party measurement configs
 15747  	// of the line item.
 15748  	ThirdPartyMeasurementConfigs *ThirdPartyMeasurementConfigs `json:"thirdPartyMeasurementConfigs,omitempty"`
 15749  	// VideoAdSequenceSettings: Optional. The settings related to VideoAdSequence.
 15750  	VideoAdSequenceSettings *VideoAdSequenceSettings `json:"videoAdSequenceSettings,omitempty"`
 15751  	// ViewFrequencyCap: The view frequency cap settings of the line item. The
 15752  	// max_views field in this settings object must be used if assigning a limited
 15753  	// cap.
 15754  	ViewFrequencyCap *FrequencyCap `json:"viewFrequencyCap,omitempty"`
 15755  	// ForceSendFields is a list of field names (e.g. "ContentCategory") to
 15756  	// unconditionally include in API requests. By default, fields with empty or
 15757  	// default values are omitted from API requests. See
 15758  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15759  	// details.
 15760  	ForceSendFields []string `json:"-"`
 15761  	// NullFields is a list of field names (e.g. "ContentCategory") to include in
 15762  	// API requests with the JSON null value. By default, fields with empty values
 15763  	// are omitted from API requests. See
 15764  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15765  	NullFields []string `json:"-"`
 15766  }
 15767  
 15768  func (s *YoutubeAndPartnersSettings) MarshalJSON() ([]byte, error) {
 15769  	type NoMethod YoutubeAndPartnersSettings
 15770  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15771  }
 15772  
 15773  // YoutubeChannelAssignedTargetingOptionDetails: Details for YouTube channel
 15774  // assigned targeting option. This will be populated in the
 15775  // youtube_channel_details field when targeting_type is
 15776  // `TARGETING_TYPE_YOUTUBE_CHANNEL`.
 15777  type YoutubeChannelAssignedTargetingOptionDetails struct {
 15778  	// ChannelId: The YouTube uploader channel id or the channel code of a YouTube
 15779  	// channel.
 15780  	ChannelId string `json:"channelId,omitempty"`
 15781  	// Negative: Indicates if this option is being negatively targeted.
 15782  	Negative bool `json:"negative,omitempty"`
 15783  	// ForceSendFields is a list of field names (e.g. "ChannelId") to
 15784  	// unconditionally include in API requests. By default, fields with empty or
 15785  	// default values are omitted from API requests. See
 15786  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15787  	// details.
 15788  	ForceSendFields []string `json:"-"`
 15789  	// NullFields is a list of field names (e.g. "ChannelId") to include in API
 15790  	// requests with the JSON null value. By default, fields with empty values are
 15791  	// omitted from API requests. See
 15792  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15793  	NullFields []string `json:"-"`
 15794  }
 15795  
 15796  func (s *YoutubeChannelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15797  	type NoMethod YoutubeChannelAssignedTargetingOptionDetails
 15798  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15799  }
 15800  
 15801  // YoutubeVideoAssignedTargetingOptionDetails: Details for YouTube video
 15802  // assigned targeting option. This will be populated in the
 15803  // youtube_video_details field when targeting_type is
 15804  // `TARGETING_TYPE_YOUTUBE_VIDEO`.
 15805  type YoutubeVideoAssignedTargetingOptionDetails struct {
 15806  	// Negative: Indicates if this option is being negatively targeted.
 15807  	Negative bool `json:"negative,omitempty"`
 15808  	// VideoId: YouTube video id as it appears on the YouTube watch page.
 15809  	VideoId string `json:"videoId,omitempty"`
 15810  	// ForceSendFields is a list of field names (e.g. "Negative") to
 15811  	// unconditionally include in API requests. By default, fields with empty or
 15812  	// default values are omitted from API requests. See
 15813  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15814  	// details.
 15815  	ForceSendFields []string `json:"-"`
 15816  	// NullFields is a list of field names (e.g. "Negative") to include in API
 15817  	// requests with the JSON null value. By default, fields with empty values are
 15818  	// omitted from API requests. See
 15819  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15820  	NullFields []string `json:"-"`
 15821  }
 15822  
 15823  func (s *YoutubeVideoAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
 15824  	type NoMethod YoutubeVideoAssignedTargetingOptionDetails
 15825  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15826  }
 15827  
 15828  // YoutubeVideoDetails: Details of a YouTube video.
 15829  type YoutubeVideoDetails struct {
 15830  	// Id: The YouTube video ID which can be searched on YouTube webpage.
 15831  	Id string `json:"id,omitempty"`
 15832  	// UnavailableReason: The reason why the video data is not available.
 15833  	//
 15834  	// Possible values:
 15835  	//   "VIDEO_UNAVAILABLE_REASON_UNSPECIFIED" - Unknown or unspecified.
 15836  	//   "VIDEO_UNAVAILABLE_REASON_PRIVATE" - The video is private.
 15837  	//   "VIDEO_UNAVAILABLE_REASON_DELETED" - The video is deleted.
 15838  	UnavailableReason string `json:"unavailableReason,omitempty"`
 15839  	// ForceSendFields is a list of field names (e.g. "Id") to unconditionally
 15840  	// include in API requests. By default, fields with empty or default values are
 15841  	// omitted from API requests. See
 15842  	// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
 15843  	// details.
 15844  	ForceSendFields []string `json:"-"`
 15845  	// NullFields is a list of field names (e.g. "Id") to include in API requests
 15846  	// with the JSON null value. By default, fields with empty values are omitted
 15847  	// from API requests. See
 15848  	// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
 15849  	NullFields []string `json:"-"`
 15850  }
 15851  
 15852  func (s *YoutubeVideoDetails) MarshalJSON() ([]byte, error) {
 15853  	type NoMethod YoutubeVideoDetails
 15854  	return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields)
 15855  }
 15856  
 15857  type AdvertisersAuditCall struct {
 15858  	s            *Service
 15859  	advertiserId int64
 15860  	urlParams_   gensupport.URLParams
 15861  	ifNoneMatch_ string
 15862  	ctx_         context.Context
 15863  	header_      http.Header
 15864  }
 15865  
 15866  // Audit: Audits an advertiser. Returns the counts of used entities per
 15867  // resource type under the advertiser provided. Used entities count towards
 15868  // their respective resource limit. See
 15869  // https://support.google.com/displayvideo/answer/6071450.
 15870  //
 15871  // - advertiserId: The ID of the advertiser to audit.
 15872  func (r *AdvertisersService) Audit(advertiserId int64) *AdvertisersAuditCall {
 15873  	c := &AdvertisersAuditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15874  	c.advertiserId = advertiserId
 15875  	return c
 15876  }
 15877  
 15878  // ReadMask sets the optional parameter "readMask": The specific fields to
 15879  // return. If no mask is specified, all fields in the response proto will be
 15880  // filled. Valid values are: * usedLineItemsCount * usedInsertionOrdersCount *
 15881  // usedCampaignsCount * channelsCount * negativelyTargetedChannelsCount *
 15882  // negativeKeywordListsCount * adGroupCriteriaCount * campaignCriteriaCount
 15883  func (c *AdvertisersAuditCall) ReadMask(readMask string) *AdvertisersAuditCall {
 15884  	c.urlParams_.Set("readMask", readMask)
 15885  	return c
 15886  }
 15887  
 15888  // Fields allows partial responses to be retrieved. See
 15889  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15890  // details.
 15891  func (c *AdvertisersAuditCall) Fields(s ...googleapi.Field) *AdvertisersAuditCall {
 15892  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15893  	return c
 15894  }
 15895  
 15896  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 15897  // object's ETag matches the given value. This is useful for getting updates
 15898  // only after the object has changed since the last request.
 15899  func (c *AdvertisersAuditCall) IfNoneMatch(entityTag string) *AdvertisersAuditCall {
 15900  	c.ifNoneMatch_ = entityTag
 15901  	return c
 15902  }
 15903  
 15904  // Context sets the context to be used in this call's Do method.
 15905  func (c *AdvertisersAuditCall) Context(ctx context.Context) *AdvertisersAuditCall {
 15906  	c.ctx_ = ctx
 15907  	return c
 15908  }
 15909  
 15910  // Header returns a http.Header that can be modified by the caller to add
 15911  // headers to the request.
 15912  func (c *AdvertisersAuditCall) Header() http.Header {
 15913  	if c.header_ == nil {
 15914  		c.header_ = make(http.Header)
 15915  	}
 15916  	return c.header_
 15917  }
 15918  
 15919  func (c *AdvertisersAuditCall) doRequest(alt string) (*http.Response, error) {
 15920  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 15921  	if c.ifNoneMatch_ != "" {
 15922  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15923  	}
 15924  	var body io.Reader = nil
 15925  	c.urlParams_.Set("alt", alt)
 15926  	c.urlParams_.Set("prettyPrint", "false")
 15927  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}:audit")
 15928  	urls += "?" + c.urlParams_.Encode()
 15929  	req, err := http.NewRequest("GET", urls, body)
 15930  	if err != nil {
 15931  		return nil, err
 15932  	}
 15933  	req.Header = reqHeaders
 15934  	googleapi.Expand(req.URL, map[string]string{
 15935  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 15936  	})
 15937  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15938  }
 15939  
 15940  // Do executes the "displayvideo.advertisers.audit" call.
 15941  // Any non-2xx status code is an error. Response headers are in either
 15942  // *AuditAdvertiserResponse.ServerResponse.Header or (if a response was
 15943  // returned at all) in error.(*googleapi.Error).Header. Use
 15944  // googleapi.IsNotModified to check whether the returned error was because
 15945  // http.StatusNotModified was returned.
 15946  func (c *AdvertisersAuditCall) Do(opts ...googleapi.CallOption) (*AuditAdvertiserResponse, error) {
 15947  	gensupport.SetOptions(c.urlParams_, opts...)
 15948  	res, err := c.doRequest("json")
 15949  	if res != nil && res.StatusCode == http.StatusNotModified {
 15950  		if res.Body != nil {
 15951  			res.Body.Close()
 15952  		}
 15953  		return nil, gensupport.WrapError(&googleapi.Error{
 15954  			Code:   res.StatusCode,
 15955  			Header: res.Header,
 15956  		})
 15957  	}
 15958  	if err != nil {
 15959  		return nil, err
 15960  	}
 15961  	defer googleapi.CloseBody(res)
 15962  	if err := googleapi.CheckResponse(res); err != nil {
 15963  		return nil, gensupport.WrapError(err)
 15964  	}
 15965  	ret := &AuditAdvertiserResponse{
 15966  		ServerResponse: googleapi.ServerResponse{
 15967  			Header:         res.Header,
 15968  			HTTPStatusCode: res.StatusCode,
 15969  		},
 15970  	}
 15971  	target := &ret
 15972  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15973  		return nil, err
 15974  	}
 15975  	return ret, nil
 15976  }
 15977  
 15978  type AdvertisersCreateCall struct {
 15979  	s          *Service
 15980  	advertiser *Advertiser
 15981  	urlParams_ gensupport.URLParams
 15982  	ctx_       context.Context
 15983  	header_    http.Header
 15984  }
 15985  
 15986  // Create: Creates a new advertiser. Returns the newly created advertiser if
 15987  // successful. **This method regularly experiences high latency.** We recommend
 15988  // increasing your default timeout
 15989  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 15990  // to avoid errors.
 15991  func (r *AdvertisersService) Create(advertiser *Advertiser) *AdvertisersCreateCall {
 15992  	c := &AdvertisersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15993  	c.advertiser = advertiser
 15994  	return c
 15995  }
 15996  
 15997  // Fields allows partial responses to be retrieved. See
 15998  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 15999  // details.
 16000  func (c *AdvertisersCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreateCall {
 16001  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16002  	return c
 16003  }
 16004  
 16005  // Context sets the context to be used in this call's Do method.
 16006  func (c *AdvertisersCreateCall) Context(ctx context.Context) *AdvertisersCreateCall {
 16007  	c.ctx_ = ctx
 16008  	return c
 16009  }
 16010  
 16011  // Header returns a http.Header that can be modified by the caller to add
 16012  // headers to the request.
 16013  func (c *AdvertisersCreateCall) Header() http.Header {
 16014  	if c.header_ == nil {
 16015  		c.header_ = make(http.Header)
 16016  	}
 16017  	return c.header_
 16018  }
 16019  
 16020  func (c *AdvertisersCreateCall) doRequest(alt string) (*http.Response, error) {
 16021  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16022  	var body io.Reader = nil
 16023  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 16024  	if err != nil {
 16025  		return nil, err
 16026  	}
 16027  	c.urlParams_.Set("alt", alt)
 16028  	c.urlParams_.Set("prettyPrint", "false")
 16029  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers")
 16030  	urls += "?" + c.urlParams_.Encode()
 16031  	req, err := http.NewRequest("POST", urls, body)
 16032  	if err != nil {
 16033  		return nil, err
 16034  	}
 16035  	req.Header = reqHeaders
 16036  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16037  }
 16038  
 16039  // Do executes the "displayvideo.advertisers.create" call.
 16040  // Any non-2xx status code is an error. Response headers are in either
 16041  // *Advertiser.ServerResponse.Header or (if a response was returned at all) in
 16042  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16043  // whether the returned error was because http.StatusNotModified was returned.
 16044  func (c *AdvertisersCreateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 16045  	gensupport.SetOptions(c.urlParams_, opts...)
 16046  	res, err := c.doRequest("json")
 16047  	if res != nil && res.StatusCode == http.StatusNotModified {
 16048  		if res.Body != nil {
 16049  			res.Body.Close()
 16050  		}
 16051  		return nil, gensupport.WrapError(&googleapi.Error{
 16052  			Code:   res.StatusCode,
 16053  			Header: res.Header,
 16054  		})
 16055  	}
 16056  	if err != nil {
 16057  		return nil, err
 16058  	}
 16059  	defer googleapi.CloseBody(res)
 16060  	if err := googleapi.CheckResponse(res); err != nil {
 16061  		return nil, gensupport.WrapError(err)
 16062  	}
 16063  	ret := &Advertiser{
 16064  		ServerResponse: googleapi.ServerResponse{
 16065  			Header:         res.Header,
 16066  			HTTPStatusCode: res.StatusCode,
 16067  		},
 16068  	}
 16069  	target := &ret
 16070  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16071  		return nil, err
 16072  	}
 16073  	return ret, nil
 16074  }
 16075  
 16076  type AdvertisersDeleteCall struct {
 16077  	s            *Service
 16078  	advertiserId int64
 16079  	urlParams_   gensupport.URLParams
 16080  	ctx_         context.Context
 16081  	header_      http.Header
 16082  }
 16083  
 16084  // Delete: Deletes an advertiser. Deleting an advertiser will delete all of its
 16085  // child resources, for example, campaigns, insertion orders and line items. A
 16086  // deleted advertiser cannot be recovered.
 16087  //
 16088  // - advertiserId: The ID of the advertiser we need to delete.
 16089  func (r *AdvertisersService) Delete(advertiserId int64) *AdvertisersDeleteCall {
 16090  	c := &AdvertisersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16091  	c.advertiserId = advertiserId
 16092  	return c
 16093  }
 16094  
 16095  // Fields allows partial responses to be retrieved. See
 16096  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16097  // details.
 16098  func (c *AdvertisersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersDeleteCall {
 16099  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16100  	return c
 16101  }
 16102  
 16103  // Context sets the context to be used in this call's Do method.
 16104  func (c *AdvertisersDeleteCall) Context(ctx context.Context) *AdvertisersDeleteCall {
 16105  	c.ctx_ = ctx
 16106  	return c
 16107  }
 16108  
 16109  // Header returns a http.Header that can be modified by the caller to add
 16110  // headers to the request.
 16111  func (c *AdvertisersDeleteCall) Header() http.Header {
 16112  	if c.header_ == nil {
 16113  		c.header_ = make(http.Header)
 16114  	}
 16115  	return c.header_
 16116  }
 16117  
 16118  func (c *AdvertisersDeleteCall) doRequest(alt string) (*http.Response, error) {
 16119  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16120  	var body io.Reader = nil
 16121  	c.urlParams_.Set("alt", alt)
 16122  	c.urlParams_.Set("prettyPrint", "false")
 16123  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}")
 16124  	urls += "?" + c.urlParams_.Encode()
 16125  	req, err := http.NewRequest("DELETE", urls, body)
 16126  	if err != nil {
 16127  		return nil, err
 16128  	}
 16129  	req.Header = reqHeaders
 16130  	googleapi.Expand(req.URL, map[string]string{
 16131  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16132  	})
 16133  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16134  }
 16135  
 16136  // Do executes the "displayvideo.advertisers.delete" call.
 16137  // Any non-2xx status code is an error. Response headers are in either
 16138  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 16139  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16140  // whether the returned error was because http.StatusNotModified was returned.
 16141  func (c *AdvertisersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 16142  	gensupport.SetOptions(c.urlParams_, opts...)
 16143  	res, err := c.doRequest("json")
 16144  	if res != nil && res.StatusCode == http.StatusNotModified {
 16145  		if res.Body != nil {
 16146  			res.Body.Close()
 16147  		}
 16148  		return nil, gensupport.WrapError(&googleapi.Error{
 16149  			Code:   res.StatusCode,
 16150  			Header: res.Header,
 16151  		})
 16152  	}
 16153  	if err != nil {
 16154  		return nil, err
 16155  	}
 16156  	defer googleapi.CloseBody(res)
 16157  	if err := googleapi.CheckResponse(res); err != nil {
 16158  		return nil, gensupport.WrapError(err)
 16159  	}
 16160  	ret := &Empty{
 16161  		ServerResponse: googleapi.ServerResponse{
 16162  			Header:         res.Header,
 16163  			HTTPStatusCode: res.StatusCode,
 16164  		},
 16165  	}
 16166  	target := &ret
 16167  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16168  		return nil, err
 16169  	}
 16170  	return ret, nil
 16171  }
 16172  
 16173  type AdvertisersEditAssignedTargetingOptionsCall struct {
 16174  	s                                                 *Service
 16175  	advertiserId                                      int64
 16176  	bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest
 16177  	urlParams_                                        gensupport.URLParams
 16178  	ctx_                                              context.Context
 16179  	header_                                           http.Header
 16180  }
 16181  
 16182  // EditAssignedTargetingOptions: Edits targeting options under a single
 16183  // advertiser. The operation will delete the assigned targeting options
 16184  // provided in
 16185  // BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then
 16186  // create the assigned targeting options provided in
 16187  // BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .
 16188  //
 16189  // - advertiserId: The ID of the advertiser.
 16190  func (r *AdvertisersService) EditAssignedTargetingOptions(advertiserId int64, bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest) *AdvertisersEditAssignedTargetingOptionsCall {
 16191  	c := &AdvertisersEditAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16192  	c.advertiserId = advertiserId
 16193  	c.bulkeditadvertiserassignedtargetingoptionsrequest = bulkeditadvertiserassignedtargetingoptionsrequest
 16194  	return c
 16195  }
 16196  
 16197  // Fields allows partial responses to be retrieved. See
 16198  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16199  // details.
 16200  func (c *AdvertisersEditAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersEditAssignedTargetingOptionsCall {
 16201  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16202  	return c
 16203  }
 16204  
 16205  // Context sets the context to be used in this call's Do method.
 16206  func (c *AdvertisersEditAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersEditAssignedTargetingOptionsCall {
 16207  	c.ctx_ = ctx
 16208  	return c
 16209  }
 16210  
 16211  // Header returns a http.Header that can be modified by the caller to add
 16212  // headers to the request.
 16213  func (c *AdvertisersEditAssignedTargetingOptionsCall) Header() http.Header {
 16214  	if c.header_ == nil {
 16215  		c.header_ = make(http.Header)
 16216  	}
 16217  	return c.header_
 16218  }
 16219  
 16220  func (c *AdvertisersEditAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 16221  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16222  	var body io.Reader = nil
 16223  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditadvertiserassignedtargetingoptionsrequest)
 16224  	if err != nil {
 16225  		return nil, err
 16226  	}
 16227  	c.urlParams_.Set("alt", alt)
 16228  	c.urlParams_.Set("prettyPrint", "false")
 16229  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}:editAssignedTargetingOptions")
 16230  	urls += "?" + c.urlParams_.Encode()
 16231  	req, err := http.NewRequest("POST", urls, body)
 16232  	if err != nil {
 16233  		return nil, err
 16234  	}
 16235  	req.Header = reqHeaders
 16236  	googleapi.Expand(req.URL, map[string]string{
 16237  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16238  	})
 16239  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16240  }
 16241  
 16242  // Do executes the "displayvideo.advertisers.editAssignedTargetingOptions" call.
 16243  // Any non-2xx status code is an error. Response headers are in either
 16244  // *BulkEditAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header or
 16245  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 16246  // googleapi.IsNotModified to check whether the returned error was because
 16247  // http.StatusNotModified was returned.
 16248  func (c *AdvertisersEditAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditAdvertiserAssignedTargetingOptionsResponse, error) {
 16249  	gensupport.SetOptions(c.urlParams_, opts...)
 16250  	res, err := c.doRequest("json")
 16251  	if res != nil && res.StatusCode == http.StatusNotModified {
 16252  		if res.Body != nil {
 16253  			res.Body.Close()
 16254  		}
 16255  		return nil, gensupport.WrapError(&googleapi.Error{
 16256  			Code:   res.StatusCode,
 16257  			Header: res.Header,
 16258  		})
 16259  	}
 16260  	if err != nil {
 16261  		return nil, err
 16262  	}
 16263  	defer googleapi.CloseBody(res)
 16264  	if err := googleapi.CheckResponse(res); err != nil {
 16265  		return nil, gensupport.WrapError(err)
 16266  	}
 16267  	ret := &BulkEditAdvertiserAssignedTargetingOptionsResponse{
 16268  		ServerResponse: googleapi.ServerResponse{
 16269  			Header:         res.Header,
 16270  			HTTPStatusCode: res.StatusCode,
 16271  		},
 16272  	}
 16273  	target := &ret
 16274  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16275  		return nil, err
 16276  	}
 16277  	return ret, nil
 16278  }
 16279  
 16280  type AdvertisersGetCall struct {
 16281  	s            *Service
 16282  	advertiserId int64
 16283  	urlParams_   gensupport.URLParams
 16284  	ifNoneMatch_ string
 16285  	ctx_         context.Context
 16286  	header_      http.Header
 16287  }
 16288  
 16289  // Get: Gets an advertiser.
 16290  //
 16291  // - advertiserId: The ID of the advertiser to fetch.
 16292  func (r *AdvertisersService) Get(advertiserId int64) *AdvertisersGetCall {
 16293  	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16294  	c.advertiserId = advertiserId
 16295  	return c
 16296  }
 16297  
 16298  // Fields allows partial responses to be retrieved. See
 16299  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16300  // details.
 16301  func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
 16302  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16303  	return c
 16304  }
 16305  
 16306  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16307  // object's ETag matches the given value. This is useful for getting updates
 16308  // only after the object has changed since the last request.
 16309  func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
 16310  	c.ifNoneMatch_ = entityTag
 16311  	return c
 16312  }
 16313  
 16314  // Context sets the context to be used in this call's Do method.
 16315  func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 16316  	c.ctx_ = ctx
 16317  	return c
 16318  }
 16319  
 16320  // Header returns a http.Header that can be modified by the caller to add
 16321  // headers to the request.
 16322  func (c *AdvertisersGetCall) Header() http.Header {
 16323  	if c.header_ == nil {
 16324  		c.header_ = make(http.Header)
 16325  	}
 16326  	return c.header_
 16327  }
 16328  
 16329  func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 16330  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16331  	if c.ifNoneMatch_ != "" {
 16332  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16333  	}
 16334  	var body io.Reader = nil
 16335  	c.urlParams_.Set("alt", alt)
 16336  	c.urlParams_.Set("prettyPrint", "false")
 16337  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}")
 16338  	urls += "?" + c.urlParams_.Encode()
 16339  	req, err := http.NewRequest("GET", urls, body)
 16340  	if err != nil {
 16341  		return nil, err
 16342  	}
 16343  	req.Header = reqHeaders
 16344  	googleapi.Expand(req.URL, map[string]string{
 16345  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16346  	})
 16347  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16348  }
 16349  
 16350  // Do executes the "displayvideo.advertisers.get" call.
 16351  // Any non-2xx status code is an error. Response headers are in either
 16352  // *Advertiser.ServerResponse.Header or (if a response was returned at all) in
 16353  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16354  // whether the returned error was because http.StatusNotModified was returned.
 16355  func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 16356  	gensupport.SetOptions(c.urlParams_, opts...)
 16357  	res, err := c.doRequest("json")
 16358  	if res != nil && res.StatusCode == http.StatusNotModified {
 16359  		if res.Body != nil {
 16360  			res.Body.Close()
 16361  		}
 16362  		return nil, gensupport.WrapError(&googleapi.Error{
 16363  			Code:   res.StatusCode,
 16364  			Header: res.Header,
 16365  		})
 16366  	}
 16367  	if err != nil {
 16368  		return nil, err
 16369  	}
 16370  	defer googleapi.CloseBody(res)
 16371  	if err := googleapi.CheckResponse(res); err != nil {
 16372  		return nil, gensupport.WrapError(err)
 16373  	}
 16374  	ret := &Advertiser{
 16375  		ServerResponse: googleapi.ServerResponse{
 16376  			Header:         res.Header,
 16377  			HTTPStatusCode: res.StatusCode,
 16378  		},
 16379  	}
 16380  	target := &ret
 16381  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16382  		return nil, err
 16383  	}
 16384  	return ret, nil
 16385  }
 16386  
 16387  type AdvertisersListCall struct {
 16388  	s            *Service
 16389  	urlParams_   gensupport.URLParams
 16390  	ifNoneMatch_ string
 16391  	ctx_         context.Context
 16392  	header_      http.Header
 16393  }
 16394  
 16395  // List: Lists advertisers that are accessible to the current user. The order
 16396  // is defined by the order_by parameter. A single partner_id is required.
 16397  // Cross-partner listing is not supported.
 16398  func (r *AdvertisersService) List() *AdvertisersListCall {
 16399  	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16400  	return c
 16401  }
 16402  
 16403  // Filter sets the optional parameter "filter": Allows filtering by advertiser
 16404  // fields. Supported syntax: * Filter expressions are made up of one or more
 16405  // restrictions. * Restrictions can be combined by `AND` or `OR` logical
 16406  // operators. * A restriction has the form of `{field} {operator} {value}`. *
 16407  // The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS
 16408  // THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS
 16409  // (=)` operator. Supported fields: * `advertiserId` * `displayName` *
 16410  // `entityStatus` * `updateTime` (input in ISO 8601 format, or
 16411  // `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All active advertisers under a partner:
 16412  // `entityStatus="ENTITY_STATUS_ACTIVE" * All advertisers with an update time
 16413  // less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 16414  // `updateTime<="2020-11-04T18:54:47Z" * All advertisers with an update time
 16415  // greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 16416  // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no
 16417  // more than 500 characters. Reference our filter `LIST` requests
 16418  // (/display-video/api/guides/how-tos/filters) guide for more information.
 16419  func (c *AdvertisersListCall) Filter(filter string) *AdvertisersListCall {
 16420  	c.urlParams_.Set("filter", filter)
 16421  	return c
 16422  }
 16423  
 16424  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 16425  // list. Acceptable values are: * `displayName` (default) * `entityStatus` *
 16426  // `updateTime` The default sorting order is ascending. To specify descending
 16427  // order for a field, a suffix "desc" should be added to the field name. For
 16428  // example, `displayName desc`.
 16429  func (c *AdvertisersListCall) OrderBy(orderBy string) *AdvertisersListCall {
 16430  	c.urlParams_.Set("orderBy", orderBy)
 16431  	return c
 16432  }
 16433  
 16434  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 16435  // be between `1` and `200`. If unspecified will default to `100`.
 16436  func (c *AdvertisersListCall) PageSize(pageSize int64) *AdvertisersListCall {
 16437  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 16438  	return c
 16439  }
 16440  
 16441  // PageToken sets the optional parameter "pageToken": A token identifying a
 16442  // page of results the server should return. Typically, this is the value of
 16443  // next_page_token returned from the previous call to `ListAdvertisers` method.
 16444  // If not specified, the first page of results will be returned.
 16445  func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
 16446  	c.urlParams_.Set("pageToken", pageToken)
 16447  	return c
 16448  }
 16449  
 16450  // PartnerId sets the optional parameter "partnerId": Required. The ID of the
 16451  // partner that the fetched advertisers should all belong to. The system only
 16452  // supports listing advertisers for one partner at a time.
 16453  func (c *AdvertisersListCall) PartnerId(partnerId int64) *AdvertisersListCall {
 16454  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 16455  	return c
 16456  }
 16457  
 16458  // Fields allows partial responses to be retrieved. See
 16459  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16460  // details.
 16461  func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
 16462  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16463  	return c
 16464  }
 16465  
 16466  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16467  // object's ETag matches the given value. This is useful for getting updates
 16468  // only after the object has changed since the last request.
 16469  func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
 16470  	c.ifNoneMatch_ = entityTag
 16471  	return c
 16472  }
 16473  
 16474  // Context sets the context to be used in this call's Do method.
 16475  func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 16476  	c.ctx_ = ctx
 16477  	return c
 16478  }
 16479  
 16480  // Header returns a http.Header that can be modified by the caller to add
 16481  // headers to the request.
 16482  func (c *AdvertisersListCall) Header() http.Header {
 16483  	if c.header_ == nil {
 16484  		c.header_ = make(http.Header)
 16485  	}
 16486  	return c.header_
 16487  }
 16488  
 16489  func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 16490  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16491  	if c.ifNoneMatch_ != "" {
 16492  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16493  	}
 16494  	var body io.Reader = nil
 16495  	c.urlParams_.Set("alt", alt)
 16496  	c.urlParams_.Set("prettyPrint", "false")
 16497  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers")
 16498  	urls += "?" + c.urlParams_.Encode()
 16499  	req, err := http.NewRequest("GET", urls, body)
 16500  	if err != nil {
 16501  		return nil, err
 16502  	}
 16503  	req.Header = reqHeaders
 16504  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16505  }
 16506  
 16507  // Do executes the "displayvideo.advertisers.list" call.
 16508  // Any non-2xx status code is an error. Response headers are in either
 16509  // *ListAdvertisersResponse.ServerResponse.Header or (if a response was
 16510  // returned at all) in error.(*googleapi.Error).Header. Use
 16511  // googleapi.IsNotModified to check whether the returned error was because
 16512  // http.StatusNotModified was returned.
 16513  func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*ListAdvertisersResponse, error) {
 16514  	gensupport.SetOptions(c.urlParams_, opts...)
 16515  	res, err := c.doRequest("json")
 16516  	if res != nil && res.StatusCode == http.StatusNotModified {
 16517  		if res.Body != nil {
 16518  			res.Body.Close()
 16519  		}
 16520  		return nil, gensupport.WrapError(&googleapi.Error{
 16521  			Code:   res.StatusCode,
 16522  			Header: res.Header,
 16523  		})
 16524  	}
 16525  	if err != nil {
 16526  		return nil, err
 16527  	}
 16528  	defer googleapi.CloseBody(res)
 16529  	if err := googleapi.CheckResponse(res); err != nil {
 16530  		return nil, gensupport.WrapError(err)
 16531  	}
 16532  	ret := &ListAdvertisersResponse{
 16533  		ServerResponse: googleapi.ServerResponse{
 16534  			Header:         res.Header,
 16535  			HTTPStatusCode: res.StatusCode,
 16536  		},
 16537  	}
 16538  	target := &ret
 16539  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16540  		return nil, err
 16541  	}
 16542  	return ret, nil
 16543  }
 16544  
 16545  // Pages invokes f for each page of results.
 16546  // A non-nil error returned from f will halt the iteration.
 16547  // The provided context supersedes any context provided to the Context method.
 16548  func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*ListAdvertisersResponse) error) error {
 16549  	c.ctx_ = ctx
 16550  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 16551  	for {
 16552  		x, err := c.Do()
 16553  		if err != nil {
 16554  			return err
 16555  		}
 16556  		if err := f(x); err != nil {
 16557  			return err
 16558  		}
 16559  		if x.NextPageToken == "" {
 16560  			return nil
 16561  		}
 16562  		c.PageToken(x.NextPageToken)
 16563  	}
 16564  }
 16565  
 16566  type AdvertisersListAssignedTargetingOptionsCall struct {
 16567  	s            *Service
 16568  	advertiserId int64
 16569  	urlParams_   gensupport.URLParams
 16570  	ifNoneMatch_ string
 16571  	ctx_         context.Context
 16572  	header_      http.Header
 16573  }
 16574  
 16575  // ListAssignedTargetingOptions: Lists assigned targeting options of an
 16576  // advertiser across targeting types.
 16577  //
 16578  // - advertiserId: The ID of the advertiser the line item belongs to.
 16579  func (r *AdvertisersService) ListAssignedTargetingOptions(advertiserId int64) *AdvertisersListAssignedTargetingOptionsCall {
 16580  	c := &AdvertisersListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16581  	c.advertiserId = advertiserId
 16582  	return c
 16583  }
 16584  
 16585  // Filter sets the optional parameter "filter": Allows filtering by assigned
 16586  // targeting option fields. Supported syntax: * Filter expressions are made up
 16587  // of one or more restrictions. * Restrictions can be combined by the `OR`
 16588  // logical operator. * A restriction has the form of `{field} {operator}
 16589  // {value}`. * All fields must use the `EQUALS (=) operator`. Supported fields:
 16590  // * `targetingType` Examples: * targetingType with value
 16591  // TARGETING_TYPE_CHANNEL `targetingType="TARGETING_TYPE_CHANNEL" The length
 16592  // of this field should be no more than 500 characters. Reference our filter
 16593  // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more
 16594  // information.
 16595  func (c *AdvertisersListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersListAssignedTargetingOptionsCall {
 16596  	c.urlParams_.Set("filter", filter)
 16597  	return c
 16598  }
 16599  
 16600  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 16601  // list. Acceptable values are: * `targetingType` (default) The default sorting
 16602  // order is ascending. To specify descending order for a field, a suffix "desc"
 16603  // should be added to the field name. Example: `targetingType desc`.
 16604  func (c *AdvertisersListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersListAssignedTargetingOptionsCall {
 16605  	c.urlParams_.Set("orderBy", orderBy)
 16606  	return c
 16607  }
 16608  
 16609  // PageSize sets the optional parameter "pageSize": Requested page size. The
 16610  // size must be an integer between `1` and `5000`. If unspecified, the default
 16611  // is '5000'. Returns error code `INVALID_ARGUMENT` if an invalid value is
 16612  // specified.
 16613  func (c *AdvertisersListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersListAssignedTargetingOptionsCall {
 16614  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 16615  	return c
 16616  }
 16617  
 16618  // PageToken sets the optional parameter "pageToken": A token that lets the
 16619  // client fetch the next page of results. Typically, this is the value of
 16620  // next_page_token returned from the previous call to
 16621  // `BulkListAdvertiserAssignedTargetingOptions` method. If not specified, the
 16622  // first page of results will be returned.
 16623  func (c *AdvertisersListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersListAssignedTargetingOptionsCall {
 16624  	c.urlParams_.Set("pageToken", pageToken)
 16625  	return c
 16626  }
 16627  
 16628  // Fields allows partial responses to be retrieved. See
 16629  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16630  // details.
 16631  func (c *AdvertisersListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersListAssignedTargetingOptionsCall {
 16632  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16633  	return c
 16634  }
 16635  
 16636  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16637  // object's ETag matches the given value. This is useful for getting updates
 16638  // only after the object has changed since the last request.
 16639  func (c *AdvertisersListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersListAssignedTargetingOptionsCall {
 16640  	c.ifNoneMatch_ = entityTag
 16641  	return c
 16642  }
 16643  
 16644  // Context sets the context to be used in this call's Do method.
 16645  func (c *AdvertisersListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersListAssignedTargetingOptionsCall {
 16646  	c.ctx_ = ctx
 16647  	return c
 16648  }
 16649  
 16650  // Header returns a http.Header that can be modified by the caller to add
 16651  // headers to the request.
 16652  func (c *AdvertisersListAssignedTargetingOptionsCall) Header() http.Header {
 16653  	if c.header_ == nil {
 16654  		c.header_ = make(http.Header)
 16655  	}
 16656  	return c.header_
 16657  }
 16658  
 16659  func (c *AdvertisersListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 16660  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16661  	if c.ifNoneMatch_ != "" {
 16662  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16663  	}
 16664  	var body io.Reader = nil
 16665  	c.urlParams_.Set("alt", alt)
 16666  	c.urlParams_.Set("prettyPrint", "false")
 16667  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}:listAssignedTargetingOptions")
 16668  	urls += "?" + c.urlParams_.Encode()
 16669  	req, err := http.NewRequest("GET", urls, body)
 16670  	if err != nil {
 16671  		return nil, err
 16672  	}
 16673  	req.Header = reqHeaders
 16674  	googleapi.Expand(req.URL, map[string]string{
 16675  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16676  	})
 16677  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16678  }
 16679  
 16680  // Do executes the "displayvideo.advertisers.listAssignedTargetingOptions" call.
 16681  // Any non-2xx status code is an error. Response headers are in either
 16682  // *BulkListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header or
 16683  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 16684  // googleapi.IsNotModified to check whether the returned error was because
 16685  // http.StatusNotModified was returned.
 16686  func (c *AdvertisersListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAdvertiserAssignedTargetingOptionsResponse, error) {
 16687  	gensupport.SetOptions(c.urlParams_, opts...)
 16688  	res, err := c.doRequest("json")
 16689  	if res != nil && res.StatusCode == http.StatusNotModified {
 16690  		if res.Body != nil {
 16691  			res.Body.Close()
 16692  		}
 16693  		return nil, gensupport.WrapError(&googleapi.Error{
 16694  			Code:   res.StatusCode,
 16695  			Header: res.Header,
 16696  		})
 16697  	}
 16698  	if err != nil {
 16699  		return nil, err
 16700  	}
 16701  	defer googleapi.CloseBody(res)
 16702  	if err := googleapi.CheckResponse(res); err != nil {
 16703  		return nil, gensupport.WrapError(err)
 16704  	}
 16705  	ret := &BulkListAdvertiserAssignedTargetingOptionsResponse{
 16706  		ServerResponse: googleapi.ServerResponse{
 16707  			Header:         res.Header,
 16708  			HTTPStatusCode: res.StatusCode,
 16709  		},
 16710  	}
 16711  	target := &ret
 16712  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16713  		return nil, err
 16714  	}
 16715  	return ret, nil
 16716  }
 16717  
 16718  // Pages invokes f for each page of results.
 16719  // A non-nil error returned from f will halt the iteration.
 16720  // The provided context supersedes any context provided to the Context method.
 16721  func (c *AdvertisersListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAdvertiserAssignedTargetingOptionsResponse) error) error {
 16722  	c.ctx_ = ctx
 16723  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 16724  	for {
 16725  		x, err := c.Do()
 16726  		if err != nil {
 16727  			return err
 16728  		}
 16729  		if err := f(x); err != nil {
 16730  			return err
 16731  		}
 16732  		if x.NextPageToken == "" {
 16733  			return nil
 16734  		}
 16735  		c.PageToken(x.NextPageToken)
 16736  	}
 16737  }
 16738  
 16739  type AdvertisersPatchCall struct {
 16740  	s            *Service
 16741  	advertiserId int64
 16742  	advertiser   *Advertiser
 16743  	urlParams_   gensupport.URLParams
 16744  	ctx_         context.Context
 16745  	header_      http.Header
 16746  }
 16747  
 16748  // Patch: Updates an existing advertiser. Returns the updated advertiser if
 16749  // successful.
 16750  //
 16751  //   - advertiserId: Output only. The unique ID of the advertiser. Assigned by
 16752  //     the system.
 16753  func (r *AdvertisersService) Patch(advertiserId int64, advertiser *Advertiser) *AdvertisersPatchCall {
 16754  	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16755  	c.advertiserId = advertiserId
 16756  	c.advertiser = advertiser
 16757  	return c
 16758  }
 16759  
 16760  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 16761  // control which fields to update.
 16762  func (c *AdvertisersPatchCall) UpdateMask(updateMask string) *AdvertisersPatchCall {
 16763  	c.urlParams_.Set("updateMask", updateMask)
 16764  	return c
 16765  }
 16766  
 16767  // Fields allows partial responses to be retrieved. See
 16768  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16769  // details.
 16770  func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
 16771  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16772  	return c
 16773  }
 16774  
 16775  // Context sets the context to be used in this call's Do method.
 16776  func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 16777  	c.ctx_ = ctx
 16778  	return c
 16779  }
 16780  
 16781  // Header returns a http.Header that can be modified by the caller to add
 16782  // headers to the request.
 16783  func (c *AdvertisersPatchCall) Header() http.Header {
 16784  	if c.header_ == nil {
 16785  		c.header_ = make(http.Header)
 16786  	}
 16787  	return c.header_
 16788  }
 16789  
 16790  func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 16791  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 16792  	var body io.Reader = nil
 16793  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 16794  	if err != nil {
 16795  		return nil, err
 16796  	}
 16797  	c.urlParams_.Set("alt", alt)
 16798  	c.urlParams_.Set("prettyPrint", "false")
 16799  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}")
 16800  	urls += "?" + c.urlParams_.Encode()
 16801  	req, err := http.NewRequest("PATCH", urls, body)
 16802  	if err != nil {
 16803  		return nil, err
 16804  	}
 16805  	req.Header = reqHeaders
 16806  	googleapi.Expand(req.URL, map[string]string{
 16807  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16808  	})
 16809  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16810  }
 16811  
 16812  // Do executes the "displayvideo.advertisers.patch" call.
 16813  // Any non-2xx status code is an error. Response headers are in either
 16814  // *Advertiser.ServerResponse.Header or (if a response was returned at all) in
 16815  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16816  // whether the returned error was because http.StatusNotModified was returned.
 16817  func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 16818  	gensupport.SetOptions(c.urlParams_, opts...)
 16819  	res, err := c.doRequest("json")
 16820  	if res != nil && res.StatusCode == http.StatusNotModified {
 16821  		if res.Body != nil {
 16822  			res.Body.Close()
 16823  		}
 16824  		return nil, gensupport.WrapError(&googleapi.Error{
 16825  			Code:   res.StatusCode,
 16826  			Header: res.Header,
 16827  		})
 16828  	}
 16829  	if err != nil {
 16830  		return nil, err
 16831  	}
 16832  	defer googleapi.CloseBody(res)
 16833  	if err := googleapi.CheckResponse(res); err != nil {
 16834  		return nil, gensupport.WrapError(err)
 16835  	}
 16836  	ret := &Advertiser{
 16837  		ServerResponse: googleapi.ServerResponse{
 16838  			Header:         res.Header,
 16839  			HTTPStatusCode: res.StatusCode,
 16840  		},
 16841  	}
 16842  	target := &ret
 16843  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16844  		return nil, err
 16845  	}
 16846  	return ret, nil
 16847  }
 16848  
 16849  type AdvertisersAdGroupAdsGetCall struct {
 16850  	s            *Service
 16851  	advertiserId int64
 16852  	adGroupAdId  int64
 16853  	urlParams_   gensupport.URLParams
 16854  	ifNoneMatch_ string
 16855  	ctx_         context.Context
 16856  	header_      http.Header
 16857  }
 16858  
 16859  // Get: Gets an ad group ad.
 16860  //
 16861  // - adGroupAdId: The ID of the ad group ad to fetch.
 16862  // - advertiserId: The ID of the advertiser this ad group ad belongs to.
 16863  func (r *AdvertisersAdGroupAdsService) Get(advertiserId int64, adGroupAdId int64) *AdvertisersAdGroupAdsGetCall {
 16864  	c := &AdvertisersAdGroupAdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16865  	c.advertiserId = advertiserId
 16866  	c.adGroupAdId = adGroupAdId
 16867  	return c
 16868  }
 16869  
 16870  // Fields allows partial responses to be retrieved. See
 16871  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 16872  // details.
 16873  func (c *AdvertisersAdGroupAdsGetCall) Fields(s ...googleapi.Field) *AdvertisersAdGroupAdsGetCall {
 16874  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16875  	return c
 16876  }
 16877  
 16878  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 16879  // object's ETag matches the given value. This is useful for getting updates
 16880  // only after the object has changed since the last request.
 16881  func (c *AdvertisersAdGroupAdsGetCall) IfNoneMatch(entityTag string) *AdvertisersAdGroupAdsGetCall {
 16882  	c.ifNoneMatch_ = entityTag
 16883  	return c
 16884  }
 16885  
 16886  // Context sets the context to be used in this call's Do method.
 16887  func (c *AdvertisersAdGroupAdsGetCall) Context(ctx context.Context) *AdvertisersAdGroupAdsGetCall {
 16888  	c.ctx_ = ctx
 16889  	return c
 16890  }
 16891  
 16892  // Header returns a http.Header that can be modified by the caller to add
 16893  // headers to the request.
 16894  func (c *AdvertisersAdGroupAdsGetCall) Header() http.Header {
 16895  	if c.header_ == nil {
 16896  		c.header_ = make(http.Header)
 16897  	}
 16898  	return c.header_
 16899  }
 16900  
 16901  func (c *AdvertisersAdGroupAdsGetCall) doRequest(alt string) (*http.Response, error) {
 16902  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 16903  	if c.ifNoneMatch_ != "" {
 16904  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16905  	}
 16906  	var body io.Reader = nil
 16907  	c.urlParams_.Set("alt", alt)
 16908  	c.urlParams_.Set("prettyPrint", "false")
 16909  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/adGroupAds/{+adGroupAdId}")
 16910  	urls += "?" + c.urlParams_.Encode()
 16911  	req, err := http.NewRequest("GET", urls, body)
 16912  	if err != nil {
 16913  		return nil, err
 16914  	}
 16915  	req.Header = reqHeaders
 16916  	googleapi.Expand(req.URL, map[string]string{
 16917  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 16918  		"adGroupAdId":  strconv.FormatInt(c.adGroupAdId, 10),
 16919  	})
 16920  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16921  }
 16922  
 16923  // Do executes the "displayvideo.advertisers.adGroupAds.get" call.
 16924  // Any non-2xx status code is an error. Response headers are in either
 16925  // *AdGroupAd.ServerResponse.Header or (if a response was returned at all) in
 16926  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16927  // whether the returned error was because http.StatusNotModified was returned.
 16928  func (c *AdvertisersAdGroupAdsGetCall) Do(opts ...googleapi.CallOption) (*AdGroupAd, error) {
 16929  	gensupport.SetOptions(c.urlParams_, opts...)
 16930  	res, err := c.doRequest("json")
 16931  	if res != nil && res.StatusCode == http.StatusNotModified {
 16932  		if res.Body != nil {
 16933  			res.Body.Close()
 16934  		}
 16935  		return nil, gensupport.WrapError(&googleapi.Error{
 16936  			Code:   res.StatusCode,
 16937  			Header: res.Header,
 16938  		})
 16939  	}
 16940  	if err != nil {
 16941  		return nil, err
 16942  	}
 16943  	defer googleapi.CloseBody(res)
 16944  	if err := googleapi.CheckResponse(res); err != nil {
 16945  		return nil, gensupport.WrapError(err)
 16946  	}
 16947  	ret := &AdGroupAd{
 16948  		ServerResponse: googleapi.ServerResponse{
 16949  			Header:         res.Header,
 16950  			HTTPStatusCode: res.StatusCode,
 16951  		},
 16952  	}
 16953  	target := &ret
 16954  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16955  		return nil, err
 16956  	}
 16957  	return ret, nil
 16958  }
 16959  
 16960  type AdvertisersAdGroupAdsListCall struct {
 16961  	s            *Service
 16962  	advertiserId int64
 16963  	urlParams_   gensupport.URLParams
 16964  	ifNoneMatch_ string
 16965  	ctx_         context.Context
 16966  	header_      http.Header
 16967  }
 16968  
 16969  // List: Lists ad group ads.
 16970  //
 16971  // - advertiserId: The ID of the advertiser the ad groups belongs to.
 16972  func (r *AdvertisersAdGroupAdsService) List(advertiserId int64) *AdvertisersAdGroupAdsListCall {
 16973  	c := &AdvertisersAdGroupAdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16974  	c.advertiserId = advertiserId
 16975  	return c
 16976  }
 16977  
 16978  // Filter sets the optional parameter "filter": Allows filtering by custom ad
 16979  // group ad fields. Supported syntax: * Filter expressions are made up of one
 16980  // or more restrictions. * Restrictions can be combined by `AND` and `OR`. A
 16981  // sequence of restrictions implicitly uses `AND`. * A restriction has the form
 16982  // of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)`
 16983  // operator. Supported fields: * `adGroupId` * `displayName` * `entityStatus` *
 16984  // `adGroupAdId` Examples: * All ad group ads under an ad group:
 16985  // `adGroupId="1234" * All ad group ads under an ad group with an entityStatus
 16986  // of `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED`:
 16987  // `(entityStatus="ENTITY_STATUS_ACTIVE" OR
 16988  // entityStatus="ENTITY_STATUS_PAUSED") AND adGroupId="12345" The length of
 16989  // this field should be no more than 500 characters. Reference our filter
 16990  // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more
 16991  // information.
 16992  func (c *AdvertisersAdGroupAdsListCall) Filter(filter string) *AdvertisersAdGroupAdsListCall {
 16993  	c.urlParams_.Set("filter", filter)
 16994  	return c
 16995  }
 16996  
 16997  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 16998  // list. Acceptable values are: * `displayName` (default) * `entityStatus` The
 16999  // default sorting order is ascending. To specify descending order for a field,
 17000  // a suffix "desc" should be added to the field name. Example: `displayName
 17001  // desc`.
 17002  func (c *AdvertisersAdGroupAdsListCall) OrderBy(orderBy string) *AdvertisersAdGroupAdsListCall {
 17003  	c.urlParams_.Set("orderBy", orderBy)
 17004  	return c
 17005  }
 17006  
 17007  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 17008  // be between `1` and `100`. If unspecified will default to `100`. Returns
 17009  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 17010  func (c *AdvertisersAdGroupAdsListCall) PageSize(pageSize int64) *AdvertisersAdGroupAdsListCall {
 17011  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 17012  	return c
 17013  }
 17014  
 17015  // PageToken sets the optional parameter "pageToken": A token identifying a
 17016  // page of results the server should return. Typically, this is the value of
 17017  // next_page_token returned from the previous call to `ListAdGroupAds` method.
 17018  // If not specified, the first page of results will be returned.
 17019  func (c *AdvertisersAdGroupAdsListCall) PageToken(pageToken string) *AdvertisersAdGroupAdsListCall {
 17020  	c.urlParams_.Set("pageToken", pageToken)
 17021  	return c
 17022  }
 17023  
 17024  // Fields allows partial responses to be retrieved. See
 17025  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17026  // details.
 17027  func (c *AdvertisersAdGroupAdsListCall) Fields(s ...googleapi.Field) *AdvertisersAdGroupAdsListCall {
 17028  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17029  	return c
 17030  }
 17031  
 17032  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17033  // object's ETag matches the given value. This is useful for getting updates
 17034  // only after the object has changed since the last request.
 17035  func (c *AdvertisersAdGroupAdsListCall) IfNoneMatch(entityTag string) *AdvertisersAdGroupAdsListCall {
 17036  	c.ifNoneMatch_ = entityTag
 17037  	return c
 17038  }
 17039  
 17040  // Context sets the context to be used in this call's Do method.
 17041  func (c *AdvertisersAdGroupAdsListCall) Context(ctx context.Context) *AdvertisersAdGroupAdsListCall {
 17042  	c.ctx_ = ctx
 17043  	return c
 17044  }
 17045  
 17046  // Header returns a http.Header that can be modified by the caller to add
 17047  // headers to the request.
 17048  func (c *AdvertisersAdGroupAdsListCall) Header() http.Header {
 17049  	if c.header_ == nil {
 17050  		c.header_ = make(http.Header)
 17051  	}
 17052  	return c.header_
 17053  }
 17054  
 17055  func (c *AdvertisersAdGroupAdsListCall) doRequest(alt string) (*http.Response, error) {
 17056  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17057  	if c.ifNoneMatch_ != "" {
 17058  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17059  	}
 17060  	var body io.Reader = nil
 17061  	c.urlParams_.Set("alt", alt)
 17062  	c.urlParams_.Set("prettyPrint", "false")
 17063  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/adGroupAds")
 17064  	urls += "?" + c.urlParams_.Encode()
 17065  	req, err := http.NewRequest("GET", urls, body)
 17066  	if err != nil {
 17067  		return nil, err
 17068  	}
 17069  	req.Header = reqHeaders
 17070  	googleapi.Expand(req.URL, map[string]string{
 17071  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 17072  	})
 17073  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17074  }
 17075  
 17076  // Do executes the "displayvideo.advertisers.adGroupAds.list" call.
 17077  // Any non-2xx status code is an error. Response headers are in either
 17078  // *ListAdGroupAdsResponse.ServerResponse.Header or (if a response was returned
 17079  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 17080  // check whether the returned error was because http.StatusNotModified was
 17081  // returned.
 17082  func (c *AdvertisersAdGroupAdsListCall) Do(opts ...googleapi.CallOption) (*ListAdGroupAdsResponse, error) {
 17083  	gensupport.SetOptions(c.urlParams_, opts...)
 17084  	res, err := c.doRequest("json")
 17085  	if res != nil && res.StatusCode == http.StatusNotModified {
 17086  		if res.Body != nil {
 17087  			res.Body.Close()
 17088  		}
 17089  		return nil, gensupport.WrapError(&googleapi.Error{
 17090  			Code:   res.StatusCode,
 17091  			Header: res.Header,
 17092  		})
 17093  	}
 17094  	if err != nil {
 17095  		return nil, err
 17096  	}
 17097  	defer googleapi.CloseBody(res)
 17098  	if err := googleapi.CheckResponse(res); err != nil {
 17099  		return nil, gensupport.WrapError(err)
 17100  	}
 17101  	ret := &ListAdGroupAdsResponse{
 17102  		ServerResponse: googleapi.ServerResponse{
 17103  			Header:         res.Header,
 17104  			HTTPStatusCode: res.StatusCode,
 17105  		},
 17106  	}
 17107  	target := &ret
 17108  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17109  		return nil, err
 17110  	}
 17111  	return ret, nil
 17112  }
 17113  
 17114  // Pages invokes f for each page of results.
 17115  // A non-nil error returned from f will halt the iteration.
 17116  // The provided context supersedes any context provided to the Context method.
 17117  func (c *AdvertisersAdGroupAdsListCall) Pages(ctx context.Context, f func(*ListAdGroupAdsResponse) error) error {
 17118  	c.ctx_ = ctx
 17119  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 17120  	for {
 17121  		x, err := c.Do()
 17122  		if err != nil {
 17123  			return err
 17124  		}
 17125  		if err := f(x); err != nil {
 17126  			return err
 17127  		}
 17128  		if x.NextPageToken == "" {
 17129  			return nil
 17130  		}
 17131  		c.PageToken(x.NextPageToken)
 17132  	}
 17133  }
 17134  
 17135  type AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall struct {
 17136  	s            *Service
 17137  	advertiserId int64
 17138  	urlParams_   gensupport.URLParams
 17139  	ifNoneMatch_ string
 17140  	ctx_         context.Context
 17141  	header_      http.Header
 17142  }
 17143  
 17144  // BulkListAdGroupAssignedTargetingOptions: Lists assigned targeting options
 17145  // for multiple ad groups across targeting types. Inherited assigned targeting
 17146  // options are not included.
 17147  //
 17148  // - advertiserId: The ID of the advertiser the line items belongs to.
 17149  func (r *AdvertisersAdGroupsService) BulkListAdGroupAssignedTargetingOptions(advertiserId int64) *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 17150  	c := &AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17151  	c.advertiserId = advertiserId
 17152  	return c
 17153  }
 17154  
 17155  // AdGroupIds sets the optional parameter "adGroupIds": Required. The IDs of
 17156  // the ad groups to list assigned targeting options for.
 17157  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) AdGroupIds(adGroupIds ...int64) *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 17158  	var adGroupIds_ []string
 17159  	for _, v := range adGroupIds {
 17160  		adGroupIds_ = append(adGroupIds_, fmt.Sprint(v))
 17161  	}
 17162  	c.urlParams_.SetMulti("adGroupIds", adGroupIds_)
 17163  	return c
 17164  }
 17165  
 17166  // Filter sets the optional parameter "filter": Allows filtering by assigned
 17167  // targeting option fields. Supported syntax: * Filter expressions are made up
 17168  // of one or more restrictions. * Restrictions can be combined by the logical
 17169  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 17170  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 17171  // `targetingType` Examples: * `AssignedTargetingOption` resources of targeting
 17172  // type `TARGETING_TYPE_YOUTUBE_VIDEO` or `TARGETING_TYPE_YOUTUBE_CHANNEL`:
 17173  // `targetingType="TARGETING_TYPE_YOUTUBE_VIDEO" OR
 17174  // targetingType="TARGETING_TYPE_YOUTUBE_CHANNEL" The length of this field
 17175  // should be no more than 500 characters. Reference our filter `LIST` requests
 17176  // (/display-video/api/guides/how-tos/filters) guide for more information.
 17177  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 17178  	c.urlParams_.Set("filter", filter)
 17179  	return c
 17180  }
 17181  
 17182  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 17183  // list. Acceptable values are: * `adGroupId` (default) *
 17184  // `assignedTargetingOption.targetingType` The default sorting order is
 17185  // ascending. To specify descending order for a field, a suffix "desc" should
 17186  // be added to the field name. Example: `targetingType desc`.
 17187  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 17188  	c.urlParams_.Set("orderBy", orderBy)
 17189  	return c
 17190  }
 17191  
 17192  // PageSize sets the optional parameter "pageSize": Requested page size. The
 17193  // size must be an integer between `1` and `5000`. If unspecified, the default
 17194  // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is
 17195  // specified.
 17196  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 17197  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 17198  	return c
 17199  }
 17200  
 17201  // PageToken sets the optional parameter "pageToken": A token that lets the
 17202  // client fetch the next page of results. Typically, this is the value of
 17203  // next_page_token returned from the previous call to the
 17204  // `BulkListAdGroupAssignedTargetingOptions` method. If not specified, the
 17205  // first page of results will be returned.
 17206  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 17207  	c.urlParams_.Set("pageToken", pageToken)
 17208  	return c
 17209  }
 17210  
 17211  // Fields allows partial responses to be retrieved. See
 17212  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17213  // details.
 17214  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 17215  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17216  	return c
 17217  }
 17218  
 17219  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17220  // object's ETag matches the given value. This is useful for getting updates
 17221  // only after the object has changed since the last request.
 17222  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 17223  	c.ifNoneMatch_ = entityTag
 17224  	return c
 17225  }
 17226  
 17227  // Context sets the context to be used in this call's Do method.
 17228  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall {
 17229  	c.ctx_ = ctx
 17230  	return c
 17231  }
 17232  
 17233  // Header returns a http.Header that can be modified by the caller to add
 17234  // headers to the request.
 17235  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Header() http.Header {
 17236  	if c.header_ == nil {
 17237  		c.header_ = make(http.Header)
 17238  	}
 17239  	return c.header_
 17240  }
 17241  
 17242  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 17243  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17244  	if c.ifNoneMatch_ != "" {
 17245  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17246  	}
 17247  	var body io.Reader = nil
 17248  	c.urlParams_.Set("alt", alt)
 17249  	c.urlParams_.Set("prettyPrint", "false")
 17250  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/adGroups:bulkListAdGroupAssignedTargetingOptions")
 17251  	urls += "?" + c.urlParams_.Encode()
 17252  	req, err := http.NewRequest("GET", urls, body)
 17253  	if err != nil {
 17254  		return nil, err
 17255  	}
 17256  	req.Header = reqHeaders
 17257  	googleapi.Expand(req.URL, map[string]string{
 17258  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 17259  	})
 17260  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17261  }
 17262  
 17263  // Do executes the "displayvideo.advertisers.adGroups.bulkListAdGroupAssignedTargetingOptions" call.
 17264  // Any non-2xx status code is an error. Response headers are in either
 17265  // *BulkListAdGroupAssignedTargetingOptionsResponse.ServerResponse.Header or
 17266  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 17267  // googleapi.IsNotModified to check whether the returned error was because
 17268  // http.StatusNotModified was returned.
 17269  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAdGroupAssignedTargetingOptionsResponse, error) {
 17270  	gensupport.SetOptions(c.urlParams_, opts...)
 17271  	res, err := c.doRequest("json")
 17272  	if res != nil && res.StatusCode == http.StatusNotModified {
 17273  		if res.Body != nil {
 17274  			res.Body.Close()
 17275  		}
 17276  		return nil, gensupport.WrapError(&googleapi.Error{
 17277  			Code:   res.StatusCode,
 17278  			Header: res.Header,
 17279  		})
 17280  	}
 17281  	if err != nil {
 17282  		return nil, err
 17283  	}
 17284  	defer googleapi.CloseBody(res)
 17285  	if err := googleapi.CheckResponse(res); err != nil {
 17286  		return nil, gensupport.WrapError(err)
 17287  	}
 17288  	ret := &BulkListAdGroupAssignedTargetingOptionsResponse{
 17289  		ServerResponse: googleapi.ServerResponse{
 17290  			Header:         res.Header,
 17291  			HTTPStatusCode: res.StatusCode,
 17292  		},
 17293  	}
 17294  	target := &ret
 17295  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17296  		return nil, err
 17297  	}
 17298  	return ret, nil
 17299  }
 17300  
 17301  // Pages invokes f for each page of results.
 17302  // A non-nil error returned from f will halt the iteration.
 17303  // The provided context supersedes any context provided to the Context method.
 17304  func (c *AdvertisersAdGroupsBulkListAdGroupAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAdGroupAssignedTargetingOptionsResponse) error) error {
 17305  	c.ctx_ = ctx
 17306  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 17307  	for {
 17308  		x, err := c.Do()
 17309  		if err != nil {
 17310  			return err
 17311  		}
 17312  		if err := f(x); err != nil {
 17313  			return err
 17314  		}
 17315  		if x.NextPageToken == "" {
 17316  			return nil
 17317  		}
 17318  		c.PageToken(x.NextPageToken)
 17319  	}
 17320  }
 17321  
 17322  type AdvertisersAdGroupsGetCall struct {
 17323  	s            *Service
 17324  	advertiserId int64
 17325  	adGroupId    int64
 17326  	urlParams_   gensupport.URLParams
 17327  	ifNoneMatch_ string
 17328  	ctx_         context.Context
 17329  	header_      http.Header
 17330  }
 17331  
 17332  // Get: Gets an ad group.
 17333  //
 17334  // - adGroupId: The ID of the ad group to fetch.
 17335  // - advertiserId: The ID of the advertiser this ad group belongs to.
 17336  func (r *AdvertisersAdGroupsService) Get(advertiserId int64, adGroupId int64) *AdvertisersAdGroupsGetCall {
 17337  	c := &AdvertisersAdGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17338  	c.advertiserId = advertiserId
 17339  	c.adGroupId = adGroupId
 17340  	return c
 17341  }
 17342  
 17343  // Fields allows partial responses to be retrieved. See
 17344  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17345  // details.
 17346  func (c *AdvertisersAdGroupsGetCall) Fields(s ...googleapi.Field) *AdvertisersAdGroupsGetCall {
 17347  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17348  	return c
 17349  }
 17350  
 17351  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17352  // object's ETag matches the given value. This is useful for getting updates
 17353  // only after the object has changed since the last request.
 17354  func (c *AdvertisersAdGroupsGetCall) IfNoneMatch(entityTag string) *AdvertisersAdGroupsGetCall {
 17355  	c.ifNoneMatch_ = entityTag
 17356  	return c
 17357  }
 17358  
 17359  // Context sets the context to be used in this call's Do method.
 17360  func (c *AdvertisersAdGroupsGetCall) Context(ctx context.Context) *AdvertisersAdGroupsGetCall {
 17361  	c.ctx_ = ctx
 17362  	return c
 17363  }
 17364  
 17365  // Header returns a http.Header that can be modified by the caller to add
 17366  // headers to the request.
 17367  func (c *AdvertisersAdGroupsGetCall) Header() http.Header {
 17368  	if c.header_ == nil {
 17369  		c.header_ = make(http.Header)
 17370  	}
 17371  	return c.header_
 17372  }
 17373  
 17374  func (c *AdvertisersAdGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 17375  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17376  	if c.ifNoneMatch_ != "" {
 17377  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17378  	}
 17379  	var body io.Reader = nil
 17380  	c.urlParams_.Set("alt", alt)
 17381  	c.urlParams_.Set("prettyPrint", "false")
 17382  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/adGroups/{+adGroupId}")
 17383  	urls += "?" + c.urlParams_.Encode()
 17384  	req, err := http.NewRequest("GET", urls, body)
 17385  	if err != nil {
 17386  		return nil, err
 17387  	}
 17388  	req.Header = reqHeaders
 17389  	googleapi.Expand(req.URL, map[string]string{
 17390  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 17391  		"adGroupId":    strconv.FormatInt(c.adGroupId, 10),
 17392  	})
 17393  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17394  }
 17395  
 17396  // Do executes the "displayvideo.advertisers.adGroups.get" call.
 17397  // Any non-2xx status code is an error. Response headers are in either
 17398  // *AdGroup.ServerResponse.Header or (if a response was returned at all) in
 17399  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17400  // whether the returned error was because http.StatusNotModified was returned.
 17401  func (c *AdvertisersAdGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdGroup, error) {
 17402  	gensupport.SetOptions(c.urlParams_, opts...)
 17403  	res, err := c.doRequest("json")
 17404  	if res != nil && res.StatusCode == http.StatusNotModified {
 17405  		if res.Body != nil {
 17406  			res.Body.Close()
 17407  		}
 17408  		return nil, gensupport.WrapError(&googleapi.Error{
 17409  			Code:   res.StatusCode,
 17410  			Header: res.Header,
 17411  		})
 17412  	}
 17413  	if err != nil {
 17414  		return nil, err
 17415  	}
 17416  	defer googleapi.CloseBody(res)
 17417  	if err := googleapi.CheckResponse(res); err != nil {
 17418  		return nil, gensupport.WrapError(err)
 17419  	}
 17420  	ret := &AdGroup{
 17421  		ServerResponse: googleapi.ServerResponse{
 17422  			Header:         res.Header,
 17423  			HTTPStatusCode: res.StatusCode,
 17424  		},
 17425  	}
 17426  	target := &ret
 17427  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17428  		return nil, err
 17429  	}
 17430  	return ret, nil
 17431  }
 17432  
 17433  type AdvertisersAdGroupsListCall struct {
 17434  	s            *Service
 17435  	advertiserId int64
 17436  	urlParams_   gensupport.URLParams
 17437  	ifNoneMatch_ string
 17438  	ctx_         context.Context
 17439  	header_      http.Header
 17440  }
 17441  
 17442  // List: Lists ad groups.
 17443  //
 17444  // - advertiserId: The ID of the advertiser the ad groups belongs to.
 17445  func (r *AdvertisersAdGroupsService) List(advertiserId int64) *AdvertisersAdGroupsListCall {
 17446  	c := &AdvertisersAdGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17447  	c.advertiserId = advertiserId
 17448  	return c
 17449  }
 17450  
 17451  // Filter sets the optional parameter "filter": Allows filtering by custom ad
 17452  // group fields. Supported syntax: * Filter expressions are made up of one or
 17453  // more restrictions. * Restrictions can be combined by `AND` and `OR`. A
 17454  // sequence of restrictions implicitly uses `AND`. * A restriction has the form
 17455  // of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)`
 17456  // operator. Supported properties: * `adGroupId` * `displayName` *
 17457  // `entityStatus` * `lineItemId` * `adGroupFormat` Examples: * All ad groups
 17458  // under an line item: `lineItemId="1234" * All `ENTITY_STATUS_ACTIVE` or
 17459  // `ENTITY_STATUS_PAUSED` `AD_GROUP_FORMAT_IN_STREAM` ad groups under an
 17460  // advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
 17461  // entityStatus="ENTITY_STATUS_PAUSED") AND
 17462  // adGroupFormat="AD_GROUP_FORMAT_IN_STREAM" The length of this field should
 17463  // be no more than 500 characters. Reference our filter `LIST` requests
 17464  // (/display-video/api/guides/how-tos/filters) guide for more information.
 17465  func (c *AdvertisersAdGroupsListCall) Filter(filter string) *AdvertisersAdGroupsListCall {
 17466  	c.urlParams_.Set("filter", filter)
 17467  	return c
 17468  }
 17469  
 17470  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 17471  // list. Acceptable values are: * `displayName` (default) * `entityStatus` The
 17472  // default sorting order is ascending. To specify descending order for a field,
 17473  // a suffix "desc" should be added to the field name. Example: `displayName
 17474  // desc`.
 17475  func (c *AdvertisersAdGroupsListCall) OrderBy(orderBy string) *AdvertisersAdGroupsListCall {
 17476  	c.urlParams_.Set("orderBy", orderBy)
 17477  	return c
 17478  }
 17479  
 17480  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 17481  // be between `1` and `200`. If unspecified will default to `100`. Returns
 17482  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 17483  func (c *AdvertisersAdGroupsListCall) PageSize(pageSize int64) *AdvertisersAdGroupsListCall {
 17484  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 17485  	return c
 17486  }
 17487  
 17488  // PageToken sets the optional parameter "pageToken": A token identifying a
 17489  // page of results the server should return. Typically, this is the value of
 17490  // next_page_token returned from the previous call to `ListAdGroups` method. If
 17491  // not specified, the first page of results will be returned.
 17492  func (c *AdvertisersAdGroupsListCall) PageToken(pageToken string) *AdvertisersAdGroupsListCall {
 17493  	c.urlParams_.Set("pageToken", pageToken)
 17494  	return c
 17495  }
 17496  
 17497  // Fields allows partial responses to be retrieved. See
 17498  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17499  // details.
 17500  func (c *AdvertisersAdGroupsListCall) Fields(s ...googleapi.Field) *AdvertisersAdGroupsListCall {
 17501  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17502  	return c
 17503  }
 17504  
 17505  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17506  // object's ETag matches the given value. This is useful for getting updates
 17507  // only after the object has changed since the last request.
 17508  func (c *AdvertisersAdGroupsListCall) IfNoneMatch(entityTag string) *AdvertisersAdGroupsListCall {
 17509  	c.ifNoneMatch_ = entityTag
 17510  	return c
 17511  }
 17512  
 17513  // Context sets the context to be used in this call's Do method.
 17514  func (c *AdvertisersAdGroupsListCall) Context(ctx context.Context) *AdvertisersAdGroupsListCall {
 17515  	c.ctx_ = ctx
 17516  	return c
 17517  }
 17518  
 17519  // Header returns a http.Header that can be modified by the caller to add
 17520  // headers to the request.
 17521  func (c *AdvertisersAdGroupsListCall) Header() http.Header {
 17522  	if c.header_ == nil {
 17523  		c.header_ = make(http.Header)
 17524  	}
 17525  	return c.header_
 17526  }
 17527  
 17528  func (c *AdvertisersAdGroupsListCall) doRequest(alt string) (*http.Response, error) {
 17529  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17530  	if c.ifNoneMatch_ != "" {
 17531  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17532  	}
 17533  	var body io.Reader = nil
 17534  	c.urlParams_.Set("alt", alt)
 17535  	c.urlParams_.Set("prettyPrint", "false")
 17536  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/adGroups")
 17537  	urls += "?" + c.urlParams_.Encode()
 17538  	req, err := http.NewRequest("GET", urls, body)
 17539  	if err != nil {
 17540  		return nil, err
 17541  	}
 17542  	req.Header = reqHeaders
 17543  	googleapi.Expand(req.URL, map[string]string{
 17544  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 17545  	})
 17546  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17547  }
 17548  
 17549  // Do executes the "displayvideo.advertisers.adGroups.list" call.
 17550  // Any non-2xx status code is an error. Response headers are in either
 17551  // *ListAdGroupsResponse.ServerResponse.Header or (if a response was returned
 17552  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 17553  // check whether the returned error was because http.StatusNotModified was
 17554  // returned.
 17555  func (c *AdvertisersAdGroupsListCall) Do(opts ...googleapi.CallOption) (*ListAdGroupsResponse, error) {
 17556  	gensupport.SetOptions(c.urlParams_, opts...)
 17557  	res, err := c.doRequest("json")
 17558  	if res != nil && res.StatusCode == http.StatusNotModified {
 17559  		if res.Body != nil {
 17560  			res.Body.Close()
 17561  		}
 17562  		return nil, gensupport.WrapError(&googleapi.Error{
 17563  			Code:   res.StatusCode,
 17564  			Header: res.Header,
 17565  		})
 17566  	}
 17567  	if err != nil {
 17568  		return nil, err
 17569  	}
 17570  	defer googleapi.CloseBody(res)
 17571  	if err := googleapi.CheckResponse(res); err != nil {
 17572  		return nil, gensupport.WrapError(err)
 17573  	}
 17574  	ret := &ListAdGroupsResponse{
 17575  		ServerResponse: googleapi.ServerResponse{
 17576  			Header:         res.Header,
 17577  			HTTPStatusCode: res.StatusCode,
 17578  		},
 17579  	}
 17580  	target := &ret
 17581  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17582  		return nil, err
 17583  	}
 17584  	return ret, nil
 17585  }
 17586  
 17587  // Pages invokes f for each page of results.
 17588  // A non-nil error returned from f will halt the iteration.
 17589  // The provided context supersedes any context provided to the Context method.
 17590  func (c *AdvertisersAdGroupsListCall) Pages(ctx context.Context, f func(*ListAdGroupsResponse) error) error {
 17591  	c.ctx_ = ctx
 17592  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 17593  	for {
 17594  		x, err := c.Do()
 17595  		if err != nil {
 17596  			return err
 17597  		}
 17598  		if err := f(x); err != nil {
 17599  			return err
 17600  		}
 17601  		if x.NextPageToken == "" {
 17602  			return nil
 17603  		}
 17604  		c.PageToken(x.NextPageToken)
 17605  	}
 17606  }
 17607  
 17608  type AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall struct {
 17609  	s                         *Service
 17610  	advertiserId              int64
 17611  	adGroupId                 int64
 17612  	targetingType             string
 17613  	assignedTargetingOptionId string
 17614  	urlParams_                gensupport.URLParams
 17615  	ifNoneMatch_              string
 17616  	ctx_                      context.Context
 17617  	header_                   http.Header
 17618  }
 17619  
 17620  // Get: Gets a single targeting option assigned to an ad group. Inherited
 17621  // assigned targeting options are not included.
 17622  //
 17623  //   - adGroupId: The ID of the ad group the assigned targeting option belongs
 17624  //     to.
 17625  //   - advertiserId: The ID of the advertiser the ad group belongs to.
 17626  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 17627  //     this line item that identifies the assigned targeting option being
 17628  //     requested.
 17629  //   - targetingType: Identifies the type of this assigned targeting option.
 17630  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 17631  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 17632  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` *
 17633  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` *
 17634  //     `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` *
 17635  //     `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` *
 17636  //     `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`.
 17637  func (r *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, adGroupId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall {
 17638  	c := &AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17639  	c.advertiserId = advertiserId
 17640  	c.adGroupId = adGroupId
 17641  	c.targetingType = targetingType
 17642  	c.assignedTargetingOptionId = assignedTargetingOptionId
 17643  	return c
 17644  }
 17645  
 17646  // Fields allows partial responses to be retrieved. See
 17647  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17648  // details.
 17649  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall {
 17650  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17651  	return c
 17652  }
 17653  
 17654  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17655  // object's ETag matches the given value. This is useful for getting updates
 17656  // only after the object has changed since the last request.
 17657  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall {
 17658  	c.ifNoneMatch_ = entityTag
 17659  	return c
 17660  }
 17661  
 17662  // Context sets the context to be used in this call's Do method.
 17663  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall {
 17664  	c.ctx_ = ctx
 17665  	return c
 17666  }
 17667  
 17668  // Header returns a http.Header that can be modified by the caller to add
 17669  // headers to the request.
 17670  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 17671  	if c.header_ == nil {
 17672  		c.header_ = make(http.Header)
 17673  	}
 17674  	return c.header_
 17675  }
 17676  
 17677  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 17678  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17679  	if c.ifNoneMatch_ != "" {
 17680  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17681  	}
 17682  	var body io.Reader = nil
 17683  	c.urlParams_.Set("alt", alt)
 17684  	c.urlParams_.Set("prettyPrint", "false")
 17685  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/adGroups/{+adGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 17686  	urls += "?" + c.urlParams_.Encode()
 17687  	req, err := http.NewRequest("GET", urls, body)
 17688  	if err != nil {
 17689  		return nil, err
 17690  	}
 17691  	req.Header = reqHeaders
 17692  	googleapi.Expand(req.URL, map[string]string{
 17693  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 17694  		"adGroupId":                 strconv.FormatInt(c.adGroupId, 10),
 17695  		"targetingType":             c.targetingType,
 17696  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 17697  	})
 17698  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17699  }
 17700  
 17701  // Do executes the "displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.get" call.
 17702  // Any non-2xx status code is an error. Response headers are in either
 17703  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 17704  // returned at all) in error.(*googleapi.Error).Header. Use
 17705  // googleapi.IsNotModified to check whether the returned error was because
 17706  // http.StatusNotModified was returned.
 17707  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 17708  	gensupport.SetOptions(c.urlParams_, opts...)
 17709  	res, err := c.doRequest("json")
 17710  	if res != nil && res.StatusCode == http.StatusNotModified {
 17711  		if res.Body != nil {
 17712  			res.Body.Close()
 17713  		}
 17714  		return nil, gensupport.WrapError(&googleapi.Error{
 17715  			Code:   res.StatusCode,
 17716  			Header: res.Header,
 17717  		})
 17718  	}
 17719  	if err != nil {
 17720  		return nil, err
 17721  	}
 17722  	defer googleapi.CloseBody(res)
 17723  	if err := googleapi.CheckResponse(res); err != nil {
 17724  		return nil, gensupport.WrapError(err)
 17725  	}
 17726  	ret := &AssignedTargetingOption{
 17727  		ServerResponse: googleapi.ServerResponse{
 17728  			Header:         res.Header,
 17729  			HTTPStatusCode: res.StatusCode,
 17730  		},
 17731  	}
 17732  	target := &ret
 17733  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17734  		return nil, err
 17735  	}
 17736  	return ret, nil
 17737  }
 17738  
 17739  type AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall struct {
 17740  	s             *Service
 17741  	advertiserId  int64
 17742  	adGroupId     int64
 17743  	targetingType string
 17744  	urlParams_    gensupport.URLParams
 17745  	ifNoneMatch_  string
 17746  	ctx_          context.Context
 17747  	header_       http.Header
 17748  }
 17749  
 17750  // List: Lists the targeting options assigned to an ad group. Inherited
 17751  // assigned targeting options are not included.
 17752  //
 17753  //   - adGroupId: The ID of the ad group to list assigned targeting options for.
 17754  //   - advertiserId: The ID of the advertiser the ad group belongs to.
 17755  //   - targetingType: Identifies the type of assigned targeting options to list.
 17756  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 17757  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 17758  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` *
 17759  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` *
 17760  //     `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` *
 17761  //     `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` *
 17762  //     `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`.
 17763  func (r *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, adGroupId int64, targetingType string) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 17764  	c := &AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17765  	c.advertiserId = advertiserId
 17766  	c.adGroupId = adGroupId
 17767  	c.targetingType = targetingType
 17768  	return c
 17769  }
 17770  
 17771  // Filter sets the optional parameter "filter": Allows filtering by assigned
 17772  // targeting option fields. Supported syntax: * Filter expressions are made up
 17773  // of one or more restrictions. * Restrictions can be combined by the logical
 17774  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 17775  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 17776  // `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resources
 17777  // with ID 1 or 2: `assignedTargetingOptionId="1" OR
 17778  // assignedTargetingOptionId="2" The length of this field should be no more
 17779  // than 500 characters. Reference our filter `LIST` requests
 17780  // (/display-video/api/guides/how-tos/filters) guide for more information.
 17781  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 17782  	c.urlParams_.Set("filter", filter)
 17783  	return c
 17784  }
 17785  
 17786  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 17787  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 17788  // default sorting order is ascending. To specify descending order for a field,
 17789  // a suffix "desc" should be added to the field name. Example:
 17790  // `assignedTargetingOptionId desc`.
 17791  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 17792  	c.urlParams_.Set("orderBy", orderBy)
 17793  	return c
 17794  }
 17795  
 17796  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 17797  // be between `1` and `5000`. If unspecified will default to `100`. Returns
 17798  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 17799  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 17800  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 17801  	return c
 17802  }
 17803  
 17804  // PageToken sets the optional parameter "pageToken": A token identifying a
 17805  // page of results the server should return. Typically, this is the value of
 17806  // next_page_token returned from the previous call to
 17807  // `ListAdGroupAssignedTargetingOptions` method. If not specified, the first
 17808  // page of results will be returned.
 17809  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 17810  	c.urlParams_.Set("pageToken", pageToken)
 17811  	return c
 17812  }
 17813  
 17814  // Fields allows partial responses to be retrieved. See
 17815  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17816  // details.
 17817  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 17818  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17819  	return c
 17820  }
 17821  
 17822  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 17823  // object's ETag matches the given value. This is useful for getting updates
 17824  // only after the object has changed since the last request.
 17825  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 17826  	c.ifNoneMatch_ = entityTag
 17827  	return c
 17828  }
 17829  
 17830  // Context sets the context to be used in this call's Do method.
 17831  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall {
 17832  	c.ctx_ = ctx
 17833  	return c
 17834  }
 17835  
 17836  // Header returns a http.Header that can be modified by the caller to add
 17837  // headers to the request.
 17838  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 17839  	if c.header_ == nil {
 17840  		c.header_ = make(http.Header)
 17841  	}
 17842  	return c.header_
 17843  }
 17844  
 17845  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 17846  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 17847  	if c.ifNoneMatch_ != "" {
 17848  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17849  	}
 17850  	var body io.Reader = nil
 17851  	c.urlParams_.Set("alt", alt)
 17852  	c.urlParams_.Set("prettyPrint", "false")
 17853  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/adGroups/{+adGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 17854  	urls += "?" + c.urlParams_.Encode()
 17855  	req, err := http.NewRequest("GET", urls, body)
 17856  	if err != nil {
 17857  		return nil, err
 17858  	}
 17859  	req.Header = reqHeaders
 17860  	googleapi.Expand(req.URL, map[string]string{
 17861  		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
 17862  		"adGroupId":     strconv.FormatInt(c.adGroupId, 10),
 17863  		"targetingType": c.targetingType,
 17864  	})
 17865  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17866  }
 17867  
 17868  // Do executes the "displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.list" call.
 17869  // Any non-2xx status code is an error. Response headers are in either
 17870  // *ListAdGroupAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 17871  // response was returned at all) in error.(*googleapi.Error).Header. Use
 17872  // googleapi.IsNotModified to check whether the returned error was because
 17873  // http.StatusNotModified was returned.
 17874  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListAdGroupAssignedTargetingOptionsResponse, error) {
 17875  	gensupport.SetOptions(c.urlParams_, opts...)
 17876  	res, err := c.doRequest("json")
 17877  	if res != nil && res.StatusCode == http.StatusNotModified {
 17878  		if res.Body != nil {
 17879  			res.Body.Close()
 17880  		}
 17881  		return nil, gensupport.WrapError(&googleapi.Error{
 17882  			Code:   res.StatusCode,
 17883  			Header: res.Header,
 17884  		})
 17885  	}
 17886  	if err != nil {
 17887  		return nil, err
 17888  	}
 17889  	defer googleapi.CloseBody(res)
 17890  	if err := googleapi.CheckResponse(res); err != nil {
 17891  		return nil, gensupport.WrapError(err)
 17892  	}
 17893  	ret := &ListAdGroupAssignedTargetingOptionsResponse{
 17894  		ServerResponse: googleapi.ServerResponse{
 17895  			Header:         res.Header,
 17896  			HTTPStatusCode: res.StatusCode,
 17897  		},
 17898  	}
 17899  	target := &ret
 17900  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17901  		return nil, err
 17902  	}
 17903  	return ret, nil
 17904  }
 17905  
 17906  // Pages invokes f for each page of results.
 17907  // A non-nil error returned from f will halt the iteration.
 17908  // The provided context supersedes any context provided to the Context method.
 17909  func (c *AdvertisersAdGroupsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListAdGroupAssignedTargetingOptionsResponse) error) error {
 17910  	c.ctx_ = ctx
 17911  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 17912  	for {
 17913  		x, err := c.Do()
 17914  		if err != nil {
 17915  			return err
 17916  		}
 17917  		if err := f(x); err != nil {
 17918  			return err
 17919  		}
 17920  		if x.NextPageToken == "" {
 17921  			return nil
 17922  		}
 17923  		c.PageToken(x.NextPageToken)
 17924  	}
 17925  }
 17926  
 17927  type AdvertisersAssetsUploadCall struct {
 17928  	s                  *Service
 17929  	advertiserId       int64
 17930  	createassetrequest *CreateAssetRequest
 17931  	urlParams_         gensupport.URLParams
 17932  	mediaInfo_         *gensupport.MediaInfo
 17933  	ctx_               context.Context
 17934  	header_            http.Header
 17935  }
 17936  
 17937  // Upload: Uploads an asset. Returns the ID of the newly uploaded asset if
 17938  // successful. The asset file size should be no more than 10 MB for images, 200
 17939  // MB for ZIP files, and 1 GB for videos. Must be used within the multipart
 17940  // media upload process (/display-video/api/guides/how-tos/upload#multipart).
 17941  // Examples using provided client libraries can be found in our Creating
 17942  // Creatives guide
 17943  // (/display-video/api/guides/creating-creatives/overview#upload_an_asset).
 17944  //
 17945  // - advertiserId: The ID of the advertiser this asset belongs to.
 17946  func (r *AdvertisersAssetsService) Upload(advertiserId int64, createassetrequest *CreateAssetRequest) *AdvertisersAssetsUploadCall {
 17947  	c := &AdvertisersAssetsUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17948  	c.advertiserId = advertiserId
 17949  	c.createassetrequest = createassetrequest
 17950  	return c
 17951  }
 17952  
 17953  // Media specifies the media to upload in one or more chunks. The chunk size
 17954  // may be controlled by supplying a MediaOption generated by
 17955  // googleapi.ChunkSize. The chunk size defaults to
 17956  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
 17957  // request will be determined by sniffing the contents of r, unless a
 17958  // MediaOption generated by googleapi.ContentType is supplied.
 17959  // At most one of Media and ResumableMedia may be set.
 17960  func (c *AdvertisersAssetsUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *AdvertisersAssetsUploadCall {
 17961  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 17962  	return c
 17963  }
 17964  
 17965  // ResumableMedia specifies the media to upload in chunks and can be canceled
 17966  // with ctx.
 17967  //
 17968  // Deprecated: use Media instead.
 17969  //
 17970  // At most one of Media and ResumableMedia may be set. mediaType identifies the
 17971  // MIME media type of the upload, such as "image/png". If mediaType is "", it
 17972  // will be auto-detected. The provided ctx will supersede any context
 17973  // previously provided to the Context method.
 17974  func (c *AdvertisersAssetsUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *AdvertisersAssetsUploadCall {
 17975  	c.ctx_ = ctx
 17976  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 17977  	return c
 17978  }
 17979  
 17980  // ProgressUpdater provides a callback function that will be called after every
 17981  // chunk. It should be a low-latency function in order to not slow down the
 17982  // upload operation. This should only be called when using ResumableMedia (as
 17983  // opposed to Media).
 17984  func (c *AdvertisersAssetsUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *AdvertisersAssetsUploadCall {
 17985  	c.mediaInfo_.SetProgressUpdater(pu)
 17986  	return c
 17987  }
 17988  
 17989  // Fields allows partial responses to be retrieved. See
 17990  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 17991  // details.
 17992  func (c *AdvertisersAssetsUploadCall) Fields(s ...googleapi.Field) *AdvertisersAssetsUploadCall {
 17993  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17994  	return c
 17995  }
 17996  
 17997  // Context sets the context to be used in this call's Do method.
 17998  // This context will supersede any context previously provided to the
 17999  // ResumableMedia method.
 18000  func (c *AdvertisersAssetsUploadCall) Context(ctx context.Context) *AdvertisersAssetsUploadCall {
 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 *AdvertisersAssetsUploadCall) Header() http.Header {
 18008  	if c.header_ == nil {
 18009  		c.header_ = make(http.Header)
 18010  	}
 18011  	return c.header_
 18012  }
 18013  
 18014  func (c *AdvertisersAssetsUploadCall) 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.createassetrequest)
 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, "v3/advertisers/{+advertiserId}/assets")
 18024  	if c.mediaInfo_ != nil {
 18025  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/v3/advertisers/{+advertiserId}/assets")
 18026  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 18027  	}
 18028  	if body == nil {
 18029  		body = new(bytes.Buffer)
 18030  		reqHeaders.Set("Content-Type", "application/json")
 18031  	}
 18032  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 18033  	defer cleanup()
 18034  	urls += "?" + c.urlParams_.Encode()
 18035  	req, err := http.NewRequest("POST", urls, body)
 18036  	if err != nil {
 18037  		return nil, err
 18038  	}
 18039  	req.Header = reqHeaders
 18040  	req.GetBody = getBody
 18041  	googleapi.Expand(req.URL, map[string]string{
 18042  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18043  	})
 18044  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18045  }
 18046  
 18047  // Do executes the "displayvideo.advertisers.assets.upload" call.
 18048  // Any non-2xx status code is an error. Response headers are in either
 18049  // *CreateAssetResponse.ServerResponse.Header or (if a response was returned at
 18050  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 18051  // check whether the returned error was because http.StatusNotModified was
 18052  // returned.
 18053  func (c *AdvertisersAssetsUploadCall) Do(opts ...googleapi.CallOption) (*CreateAssetResponse, error) {
 18054  	gensupport.SetOptions(c.urlParams_, opts...)
 18055  	res, err := c.doRequest("json")
 18056  	if res != nil && res.StatusCode == http.StatusNotModified {
 18057  		if res.Body != nil {
 18058  			res.Body.Close()
 18059  		}
 18060  		return nil, gensupport.WrapError(&googleapi.Error{
 18061  			Code:   res.StatusCode,
 18062  			Header: res.Header,
 18063  		})
 18064  	}
 18065  	if err != nil {
 18066  		return nil, err
 18067  	}
 18068  	defer googleapi.CloseBody(res)
 18069  	if err := googleapi.CheckResponse(res); err != nil {
 18070  		return nil, gensupport.WrapError(err)
 18071  	}
 18072  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 18073  	if rx != nil {
 18074  		rx.Client = c.s.client
 18075  		rx.UserAgent = c.s.userAgent()
 18076  		ctx := c.ctx_
 18077  		if ctx == nil {
 18078  			ctx = context.TODO()
 18079  		}
 18080  		res, err = rx.Upload(ctx)
 18081  		if err != nil {
 18082  			return nil, err
 18083  		}
 18084  		defer res.Body.Close()
 18085  		if err := googleapi.CheckResponse(res); err != nil {
 18086  			return nil, gensupport.WrapError(err)
 18087  		}
 18088  	}
 18089  	ret := &CreateAssetResponse{
 18090  		ServerResponse: googleapi.ServerResponse{
 18091  			Header:         res.Header,
 18092  			HTTPStatusCode: res.StatusCode,
 18093  		},
 18094  	}
 18095  	target := &ret
 18096  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18097  		return nil, err
 18098  	}
 18099  	return ret, nil
 18100  }
 18101  
 18102  type AdvertisersCampaignsCreateCall struct {
 18103  	s            *Service
 18104  	advertiserId int64
 18105  	campaign     *Campaign
 18106  	urlParams_   gensupport.URLParams
 18107  	ctx_         context.Context
 18108  	header_      http.Header
 18109  }
 18110  
 18111  // Create: Creates a new campaign. Returns the newly created campaign if
 18112  // successful.
 18113  //
 18114  //   - advertiserId: Output only. The unique ID of the advertiser the campaign
 18115  //     belongs to.
 18116  func (r *AdvertisersCampaignsService) Create(advertiserId int64, campaign *Campaign) *AdvertisersCampaignsCreateCall {
 18117  	c := &AdvertisersCampaignsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18118  	c.advertiserId = advertiserId
 18119  	c.campaign = campaign
 18120  	return c
 18121  }
 18122  
 18123  // Fields allows partial responses to be retrieved. See
 18124  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18125  // details.
 18126  func (c *AdvertisersCampaignsCreateCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsCreateCall {
 18127  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18128  	return c
 18129  }
 18130  
 18131  // Context sets the context to be used in this call's Do method.
 18132  func (c *AdvertisersCampaignsCreateCall) Context(ctx context.Context) *AdvertisersCampaignsCreateCall {
 18133  	c.ctx_ = ctx
 18134  	return c
 18135  }
 18136  
 18137  // Header returns a http.Header that can be modified by the caller to add
 18138  // headers to the request.
 18139  func (c *AdvertisersCampaignsCreateCall) Header() http.Header {
 18140  	if c.header_ == nil {
 18141  		c.header_ = make(http.Header)
 18142  	}
 18143  	return c.header_
 18144  }
 18145  
 18146  func (c *AdvertisersCampaignsCreateCall) doRequest(alt string) (*http.Response, error) {
 18147  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18148  	var body io.Reader = nil
 18149  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 18150  	if err != nil {
 18151  		return nil, err
 18152  	}
 18153  	c.urlParams_.Set("alt", alt)
 18154  	c.urlParams_.Set("prettyPrint", "false")
 18155  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/campaigns")
 18156  	urls += "?" + c.urlParams_.Encode()
 18157  	req, err := http.NewRequest("POST", urls, body)
 18158  	if err != nil {
 18159  		return nil, err
 18160  	}
 18161  	req.Header = reqHeaders
 18162  	googleapi.Expand(req.URL, map[string]string{
 18163  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18164  	})
 18165  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18166  }
 18167  
 18168  // Do executes the "displayvideo.advertisers.campaigns.create" call.
 18169  // Any non-2xx status code is an error. Response headers are in either
 18170  // *Campaign.ServerResponse.Header or (if a response was returned at all) in
 18171  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18172  // whether the returned error was because http.StatusNotModified was returned.
 18173  func (c *AdvertisersCampaignsCreateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 18174  	gensupport.SetOptions(c.urlParams_, opts...)
 18175  	res, err := c.doRequest("json")
 18176  	if res != nil && res.StatusCode == http.StatusNotModified {
 18177  		if res.Body != nil {
 18178  			res.Body.Close()
 18179  		}
 18180  		return nil, gensupport.WrapError(&googleapi.Error{
 18181  			Code:   res.StatusCode,
 18182  			Header: res.Header,
 18183  		})
 18184  	}
 18185  	if err != nil {
 18186  		return nil, err
 18187  	}
 18188  	defer googleapi.CloseBody(res)
 18189  	if err := googleapi.CheckResponse(res); err != nil {
 18190  		return nil, gensupport.WrapError(err)
 18191  	}
 18192  	ret := &Campaign{
 18193  		ServerResponse: googleapi.ServerResponse{
 18194  			Header:         res.Header,
 18195  			HTTPStatusCode: res.StatusCode,
 18196  		},
 18197  	}
 18198  	target := &ret
 18199  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18200  		return nil, err
 18201  	}
 18202  	return ret, nil
 18203  }
 18204  
 18205  type AdvertisersCampaignsDeleteCall struct {
 18206  	s            *Service
 18207  	advertiserId int64
 18208  	campaignId   int64
 18209  	urlParams_   gensupport.URLParams
 18210  	ctx_         context.Context
 18211  	header_      http.Header
 18212  }
 18213  
 18214  // Delete: Permanently deletes a campaign. A deleted campaign cannot be
 18215  // recovered. The campaign should be archived first, i.e. set entity_status to
 18216  // `ENTITY_STATUS_ARCHIVED`, to be able to delete it. **This method regularly
 18217  // experiences high latency.** We recommend increasing your default timeout
 18218  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 18219  // to avoid errors.
 18220  //
 18221  // - advertiserId: The ID of the advertiser this campaign belongs to.
 18222  // - campaignId: The ID of the campaign we need to delete.
 18223  func (r *AdvertisersCampaignsService) Delete(advertiserId int64, campaignId int64) *AdvertisersCampaignsDeleteCall {
 18224  	c := &AdvertisersCampaignsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18225  	c.advertiserId = advertiserId
 18226  	c.campaignId = campaignId
 18227  	return c
 18228  }
 18229  
 18230  // Fields allows partial responses to be retrieved. See
 18231  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18232  // details.
 18233  func (c *AdvertisersCampaignsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsDeleteCall {
 18234  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18235  	return c
 18236  }
 18237  
 18238  // Context sets the context to be used in this call's Do method.
 18239  func (c *AdvertisersCampaignsDeleteCall) Context(ctx context.Context) *AdvertisersCampaignsDeleteCall {
 18240  	c.ctx_ = ctx
 18241  	return c
 18242  }
 18243  
 18244  // Header returns a http.Header that can be modified by the caller to add
 18245  // headers to the request.
 18246  func (c *AdvertisersCampaignsDeleteCall) Header() http.Header {
 18247  	if c.header_ == nil {
 18248  		c.header_ = make(http.Header)
 18249  	}
 18250  	return c.header_
 18251  }
 18252  
 18253  func (c *AdvertisersCampaignsDeleteCall) doRequest(alt string) (*http.Response, error) {
 18254  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18255  	var body io.Reader = nil
 18256  	c.urlParams_.Set("alt", alt)
 18257  	c.urlParams_.Set("prettyPrint", "false")
 18258  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}")
 18259  	urls += "?" + c.urlParams_.Encode()
 18260  	req, err := http.NewRequest("DELETE", urls, body)
 18261  	if err != nil {
 18262  		return nil, err
 18263  	}
 18264  	req.Header = reqHeaders
 18265  	googleapi.Expand(req.URL, map[string]string{
 18266  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18267  		"campaignId":   strconv.FormatInt(c.campaignId, 10),
 18268  	})
 18269  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18270  }
 18271  
 18272  // Do executes the "displayvideo.advertisers.campaigns.delete" call.
 18273  // Any non-2xx status code is an error. Response headers are in either
 18274  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 18275  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18276  // whether the returned error was because http.StatusNotModified was returned.
 18277  func (c *AdvertisersCampaignsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 18278  	gensupport.SetOptions(c.urlParams_, opts...)
 18279  	res, err := c.doRequest("json")
 18280  	if res != nil && res.StatusCode == http.StatusNotModified {
 18281  		if res.Body != nil {
 18282  			res.Body.Close()
 18283  		}
 18284  		return nil, gensupport.WrapError(&googleapi.Error{
 18285  			Code:   res.StatusCode,
 18286  			Header: res.Header,
 18287  		})
 18288  	}
 18289  	if err != nil {
 18290  		return nil, err
 18291  	}
 18292  	defer googleapi.CloseBody(res)
 18293  	if err := googleapi.CheckResponse(res); err != nil {
 18294  		return nil, gensupport.WrapError(err)
 18295  	}
 18296  	ret := &Empty{
 18297  		ServerResponse: googleapi.ServerResponse{
 18298  			Header:         res.Header,
 18299  			HTTPStatusCode: res.StatusCode,
 18300  		},
 18301  	}
 18302  	target := &ret
 18303  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18304  		return nil, err
 18305  	}
 18306  	return ret, nil
 18307  }
 18308  
 18309  type AdvertisersCampaignsGetCall struct {
 18310  	s            *Service
 18311  	advertiserId int64
 18312  	campaignId   int64
 18313  	urlParams_   gensupport.URLParams
 18314  	ifNoneMatch_ string
 18315  	ctx_         context.Context
 18316  	header_      http.Header
 18317  }
 18318  
 18319  // Get: Gets a campaign.
 18320  //
 18321  // - advertiserId: The ID of the advertiser this campaign belongs to.
 18322  // - campaignId: The ID of the campaign to fetch.
 18323  func (r *AdvertisersCampaignsService) Get(advertiserId int64, campaignId int64) *AdvertisersCampaignsGetCall {
 18324  	c := &AdvertisersCampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18325  	c.advertiserId = advertiserId
 18326  	c.campaignId = campaignId
 18327  	return c
 18328  }
 18329  
 18330  // Fields allows partial responses to be retrieved. See
 18331  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18332  // details.
 18333  func (c *AdvertisersCampaignsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsGetCall {
 18334  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18335  	return c
 18336  }
 18337  
 18338  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 18339  // object's ETag matches the given value. This is useful for getting updates
 18340  // only after the object has changed since the last request.
 18341  func (c *AdvertisersCampaignsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsGetCall {
 18342  	c.ifNoneMatch_ = entityTag
 18343  	return c
 18344  }
 18345  
 18346  // Context sets the context to be used in this call's Do method.
 18347  func (c *AdvertisersCampaignsGetCall) Context(ctx context.Context) *AdvertisersCampaignsGetCall {
 18348  	c.ctx_ = ctx
 18349  	return c
 18350  }
 18351  
 18352  // Header returns a http.Header that can be modified by the caller to add
 18353  // headers to the request.
 18354  func (c *AdvertisersCampaignsGetCall) Header() http.Header {
 18355  	if c.header_ == nil {
 18356  		c.header_ = make(http.Header)
 18357  	}
 18358  	return c.header_
 18359  }
 18360  
 18361  func (c *AdvertisersCampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 18362  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18363  	if c.ifNoneMatch_ != "" {
 18364  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18365  	}
 18366  	var body io.Reader = nil
 18367  	c.urlParams_.Set("alt", alt)
 18368  	c.urlParams_.Set("prettyPrint", "false")
 18369  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}")
 18370  	urls += "?" + c.urlParams_.Encode()
 18371  	req, err := http.NewRequest("GET", urls, body)
 18372  	if err != nil {
 18373  		return nil, err
 18374  	}
 18375  	req.Header = reqHeaders
 18376  	googleapi.Expand(req.URL, map[string]string{
 18377  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18378  		"campaignId":   strconv.FormatInt(c.campaignId, 10),
 18379  	})
 18380  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18381  }
 18382  
 18383  // Do executes the "displayvideo.advertisers.campaigns.get" call.
 18384  // Any non-2xx status code is an error. Response headers are in either
 18385  // *Campaign.ServerResponse.Header or (if a response was returned at all) in
 18386  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18387  // whether the returned error was because http.StatusNotModified was returned.
 18388  func (c *AdvertisersCampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 18389  	gensupport.SetOptions(c.urlParams_, opts...)
 18390  	res, err := c.doRequest("json")
 18391  	if res != nil && res.StatusCode == http.StatusNotModified {
 18392  		if res.Body != nil {
 18393  			res.Body.Close()
 18394  		}
 18395  		return nil, gensupport.WrapError(&googleapi.Error{
 18396  			Code:   res.StatusCode,
 18397  			Header: res.Header,
 18398  		})
 18399  	}
 18400  	if err != nil {
 18401  		return nil, err
 18402  	}
 18403  	defer googleapi.CloseBody(res)
 18404  	if err := googleapi.CheckResponse(res); err != nil {
 18405  		return nil, gensupport.WrapError(err)
 18406  	}
 18407  	ret := &Campaign{
 18408  		ServerResponse: googleapi.ServerResponse{
 18409  			Header:         res.Header,
 18410  			HTTPStatusCode: res.StatusCode,
 18411  		},
 18412  	}
 18413  	target := &ret
 18414  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18415  		return nil, err
 18416  	}
 18417  	return ret, nil
 18418  }
 18419  
 18420  type AdvertisersCampaignsListCall struct {
 18421  	s            *Service
 18422  	advertiserId int64
 18423  	urlParams_   gensupport.URLParams
 18424  	ifNoneMatch_ string
 18425  	ctx_         context.Context
 18426  	header_      http.Header
 18427  }
 18428  
 18429  // List: Lists campaigns in an advertiser. The order is defined by the order_by
 18430  // parameter. If a filter by entity_status is not specified, campaigns with
 18431  // `ENTITY_STATUS_ARCHIVED` will not be included in the results.
 18432  //
 18433  // - advertiserId: The ID of the advertiser to list campaigns for.
 18434  func (r *AdvertisersCampaignsService) List(advertiserId int64) *AdvertisersCampaignsListCall {
 18435  	c := &AdvertisersCampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18436  	c.advertiserId = advertiserId
 18437  	return c
 18438  }
 18439  
 18440  // Filter sets the optional parameter "filter": Allows filtering by campaign
 18441  // fields. Supported syntax: * Filter expressions are made up of one or more
 18442  // restrictions. * Restrictions can be combined by `AND` or `OR` logical
 18443  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 18444  // has the form of `{field} {operator} {value}`. * The `updateTime` field must
 18445  // use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`
 18446  // operators. * All other fields must use the `EQUALS (=)` operator. Supported
 18447  // fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime`
 18448  // (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All
 18449  // `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an
 18450  // advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
 18451  // entityStatus="ENTITY_STATUS_PAUSED")` * All campaigns with an update time
 18452  // less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 18453  // `updateTime<="2020-11-04T18:54:47Z" * All campaigns with an update time
 18454  // greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 18455  // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no
 18456  // more than 500 characters. Reference our filter `LIST` requests
 18457  // (/display-video/api/guides/how-tos/filters) guide for more information.
 18458  func (c *AdvertisersCampaignsListCall) Filter(filter string) *AdvertisersCampaignsListCall {
 18459  	c.urlParams_.Set("filter", filter)
 18460  	return c
 18461  }
 18462  
 18463  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 18464  // list. Acceptable values are: * `displayName` (default) * `entityStatus` *
 18465  // `updateTime` The default sorting order is ascending. To specify descending
 18466  // order for a field, a suffix "desc" should be added to the field name.
 18467  // Example: `displayName desc`.
 18468  func (c *AdvertisersCampaignsListCall) OrderBy(orderBy string) *AdvertisersCampaignsListCall {
 18469  	c.urlParams_.Set("orderBy", orderBy)
 18470  	return c
 18471  }
 18472  
 18473  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 18474  // be between `1` and `200`. If unspecified will default to `100`.
 18475  func (c *AdvertisersCampaignsListCall) PageSize(pageSize int64) *AdvertisersCampaignsListCall {
 18476  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 18477  	return c
 18478  }
 18479  
 18480  // PageToken sets the optional parameter "pageToken": A token identifying a
 18481  // page of results the server should return. Typically, this is the value of
 18482  // next_page_token returned from the previous call to `ListCampaigns` method.
 18483  // If not specified, the first page of results will be returned.
 18484  func (c *AdvertisersCampaignsListCall) PageToken(pageToken string) *AdvertisersCampaignsListCall {
 18485  	c.urlParams_.Set("pageToken", pageToken)
 18486  	return c
 18487  }
 18488  
 18489  // Fields allows partial responses to be retrieved. See
 18490  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18491  // details.
 18492  func (c *AdvertisersCampaignsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsListCall {
 18493  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18494  	return c
 18495  }
 18496  
 18497  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 18498  // object's ETag matches the given value. This is useful for getting updates
 18499  // only after the object has changed since the last request.
 18500  func (c *AdvertisersCampaignsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsListCall {
 18501  	c.ifNoneMatch_ = entityTag
 18502  	return c
 18503  }
 18504  
 18505  // Context sets the context to be used in this call's Do method.
 18506  func (c *AdvertisersCampaignsListCall) Context(ctx context.Context) *AdvertisersCampaignsListCall {
 18507  	c.ctx_ = ctx
 18508  	return c
 18509  }
 18510  
 18511  // Header returns a http.Header that can be modified by the caller to add
 18512  // headers to the request.
 18513  func (c *AdvertisersCampaignsListCall) Header() http.Header {
 18514  	if c.header_ == nil {
 18515  		c.header_ = make(http.Header)
 18516  	}
 18517  	return c.header_
 18518  }
 18519  
 18520  func (c *AdvertisersCampaignsListCall) doRequest(alt string) (*http.Response, error) {
 18521  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18522  	if c.ifNoneMatch_ != "" {
 18523  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18524  	}
 18525  	var body io.Reader = nil
 18526  	c.urlParams_.Set("alt", alt)
 18527  	c.urlParams_.Set("prettyPrint", "false")
 18528  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/campaigns")
 18529  	urls += "?" + c.urlParams_.Encode()
 18530  	req, err := http.NewRequest("GET", urls, body)
 18531  	if err != nil {
 18532  		return nil, err
 18533  	}
 18534  	req.Header = reqHeaders
 18535  	googleapi.Expand(req.URL, map[string]string{
 18536  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18537  	})
 18538  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18539  }
 18540  
 18541  // Do executes the "displayvideo.advertisers.campaigns.list" call.
 18542  // Any non-2xx status code is an error. Response headers are in either
 18543  // *ListCampaignsResponse.ServerResponse.Header or (if a response was returned
 18544  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 18545  // check whether the returned error was because http.StatusNotModified was
 18546  // returned.
 18547  func (c *AdvertisersCampaignsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignsResponse, error) {
 18548  	gensupport.SetOptions(c.urlParams_, opts...)
 18549  	res, err := c.doRequest("json")
 18550  	if res != nil && res.StatusCode == http.StatusNotModified {
 18551  		if res.Body != nil {
 18552  			res.Body.Close()
 18553  		}
 18554  		return nil, gensupport.WrapError(&googleapi.Error{
 18555  			Code:   res.StatusCode,
 18556  			Header: res.Header,
 18557  		})
 18558  	}
 18559  	if err != nil {
 18560  		return nil, err
 18561  	}
 18562  	defer googleapi.CloseBody(res)
 18563  	if err := googleapi.CheckResponse(res); err != nil {
 18564  		return nil, gensupport.WrapError(err)
 18565  	}
 18566  	ret := &ListCampaignsResponse{
 18567  		ServerResponse: googleapi.ServerResponse{
 18568  			Header:         res.Header,
 18569  			HTTPStatusCode: res.StatusCode,
 18570  		},
 18571  	}
 18572  	target := &ret
 18573  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18574  		return nil, err
 18575  	}
 18576  	return ret, nil
 18577  }
 18578  
 18579  // Pages invokes f for each page of results.
 18580  // A non-nil error returned from f will halt the iteration.
 18581  // The provided context supersedes any context provided to the Context method.
 18582  func (c *AdvertisersCampaignsListCall) Pages(ctx context.Context, f func(*ListCampaignsResponse) error) error {
 18583  	c.ctx_ = ctx
 18584  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 18585  	for {
 18586  		x, err := c.Do()
 18587  		if err != nil {
 18588  			return err
 18589  		}
 18590  		if err := f(x); err != nil {
 18591  			return err
 18592  		}
 18593  		if x.NextPageToken == "" {
 18594  			return nil
 18595  		}
 18596  		c.PageToken(x.NextPageToken)
 18597  	}
 18598  }
 18599  
 18600  type AdvertisersCampaignsListAssignedTargetingOptionsCall struct {
 18601  	s            *Service
 18602  	advertiserId int64
 18603  	campaignId   int64
 18604  	urlParams_   gensupport.URLParams
 18605  	ifNoneMatch_ string
 18606  	ctx_         context.Context
 18607  	header_      http.Header
 18608  }
 18609  
 18610  // ListAssignedTargetingOptions: Lists assigned targeting options of a campaign
 18611  // across targeting types.
 18612  //
 18613  // - advertiserId: The ID of the advertiser the campaign belongs to.
 18614  // - campaignId: The ID of the campaign to list assigned targeting options for.
 18615  func (r *AdvertisersCampaignsService) ListAssignedTargetingOptions(advertiserId int64, campaignId int64) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 18616  	c := &AdvertisersCampaignsListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18617  	c.advertiserId = advertiserId
 18618  	c.campaignId = campaignId
 18619  	return c
 18620  }
 18621  
 18622  // Filter sets the optional parameter "filter": Allows filtering by assigned
 18623  // targeting option fields. Supported syntax: * Filter expressions are made up
 18624  // of one or more restrictions. * Restrictions can be combined by the `OR`
 18625  // logical operator. * A restriction has the form of `{field} {operator}
 18626  // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields:
 18627  // * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption`
 18628  // resources of targeting type `TARGETING_TYPE_LANGUAGE` or
 18629  // `TARGETING_TYPE_GENDER`: `targetingType="TARGETING_TYPE_LANGUAGE" OR
 18630  // targetingType="TARGETING_TYPE_GENDER" * `AssignedTargetingOption` resources
 18631  // with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`:
 18632  // `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER" The
 18633  // length of this field should be no more than 500 characters. Reference our
 18634  // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for
 18635  // more information.
 18636  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 18637  	c.urlParams_.Set("filter", filter)
 18638  	return c
 18639  }
 18640  
 18641  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 18642  // list. Acceptable values are: * `targetingType` (default) The default sorting
 18643  // order is ascending. To specify descending order for a field, a suffix "desc"
 18644  // should be added to the field name. Example: `targetingType desc`.
 18645  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 18646  	c.urlParams_.Set("orderBy", orderBy)
 18647  	return c
 18648  }
 18649  
 18650  // PageSize sets the optional parameter "pageSize": Requested page size. The
 18651  // size must be an integer between `1` and `5000`. If unspecified, the default
 18652  // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is
 18653  // specified.
 18654  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 18655  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 18656  	return c
 18657  }
 18658  
 18659  // PageToken sets the optional parameter "pageToken": A token that lets the
 18660  // client fetch the next page of results. Typically, this is the value of
 18661  // next_page_token returned from the previous call to
 18662  // `BulkListCampaignAssignedTargetingOptions` method. If not specified, the
 18663  // first page of results will be returned.
 18664  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 18665  	c.urlParams_.Set("pageToken", pageToken)
 18666  	return c
 18667  }
 18668  
 18669  // Fields allows partial responses to be retrieved. See
 18670  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18671  // details.
 18672  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 18673  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18674  	return c
 18675  }
 18676  
 18677  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 18678  // object's ETag matches the given value. This is useful for getting updates
 18679  // only after the object has changed since the last request.
 18680  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 18681  	c.ifNoneMatch_ = entityTag
 18682  	return c
 18683  }
 18684  
 18685  // Context sets the context to be used in this call's Do method.
 18686  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersCampaignsListAssignedTargetingOptionsCall {
 18687  	c.ctx_ = ctx
 18688  	return c
 18689  }
 18690  
 18691  // Header returns a http.Header that can be modified by the caller to add
 18692  // headers to the request.
 18693  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Header() http.Header {
 18694  	if c.header_ == nil {
 18695  		c.header_ = make(http.Header)
 18696  	}
 18697  	return c.header_
 18698  }
 18699  
 18700  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 18701  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18702  	if c.ifNoneMatch_ != "" {
 18703  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18704  	}
 18705  	var body io.Reader = nil
 18706  	c.urlParams_.Set("alt", alt)
 18707  	c.urlParams_.Set("prettyPrint", "false")
 18708  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}:listAssignedTargetingOptions")
 18709  	urls += "?" + c.urlParams_.Encode()
 18710  	req, err := http.NewRequest("GET", urls, body)
 18711  	if err != nil {
 18712  		return nil, err
 18713  	}
 18714  	req.Header = reqHeaders
 18715  	googleapi.Expand(req.URL, map[string]string{
 18716  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18717  		"campaignId":   strconv.FormatInt(c.campaignId, 10),
 18718  	})
 18719  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18720  }
 18721  
 18722  // Do executes the "displayvideo.advertisers.campaigns.listAssignedTargetingOptions" call.
 18723  // Any non-2xx status code is an error. Response headers are in either
 18724  // *BulkListCampaignAssignedTargetingOptionsResponse.ServerResponse.Header or
 18725  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 18726  // googleapi.IsNotModified to check whether the returned error was because
 18727  // http.StatusNotModified was returned.
 18728  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListCampaignAssignedTargetingOptionsResponse, error) {
 18729  	gensupport.SetOptions(c.urlParams_, opts...)
 18730  	res, err := c.doRequest("json")
 18731  	if res != nil && res.StatusCode == http.StatusNotModified {
 18732  		if res.Body != nil {
 18733  			res.Body.Close()
 18734  		}
 18735  		return nil, gensupport.WrapError(&googleapi.Error{
 18736  			Code:   res.StatusCode,
 18737  			Header: res.Header,
 18738  		})
 18739  	}
 18740  	if err != nil {
 18741  		return nil, err
 18742  	}
 18743  	defer googleapi.CloseBody(res)
 18744  	if err := googleapi.CheckResponse(res); err != nil {
 18745  		return nil, gensupport.WrapError(err)
 18746  	}
 18747  	ret := &BulkListCampaignAssignedTargetingOptionsResponse{
 18748  		ServerResponse: googleapi.ServerResponse{
 18749  			Header:         res.Header,
 18750  			HTTPStatusCode: res.StatusCode,
 18751  		},
 18752  	}
 18753  	target := &ret
 18754  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18755  		return nil, err
 18756  	}
 18757  	return ret, nil
 18758  }
 18759  
 18760  // Pages invokes f for each page of results.
 18761  // A non-nil error returned from f will halt the iteration.
 18762  // The provided context supersedes any context provided to the Context method.
 18763  func (c *AdvertisersCampaignsListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListCampaignAssignedTargetingOptionsResponse) error) error {
 18764  	c.ctx_ = ctx
 18765  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 18766  	for {
 18767  		x, err := c.Do()
 18768  		if err != nil {
 18769  			return err
 18770  		}
 18771  		if err := f(x); err != nil {
 18772  			return err
 18773  		}
 18774  		if x.NextPageToken == "" {
 18775  			return nil
 18776  		}
 18777  		c.PageToken(x.NextPageToken)
 18778  	}
 18779  }
 18780  
 18781  type AdvertisersCampaignsPatchCall struct {
 18782  	s            *Service
 18783  	advertiserId int64
 18784  	campaignId   int64
 18785  	campaign     *Campaign
 18786  	urlParams_   gensupport.URLParams
 18787  	ctx_         context.Context
 18788  	header_      http.Header
 18789  }
 18790  
 18791  // Patch: Updates an existing campaign. Returns the updated campaign if
 18792  // successful.
 18793  //
 18794  //   - advertiserId: Output only. The unique ID of the advertiser the campaign
 18795  //     belongs to.
 18796  //   - campaignId: Output only. The unique ID of the campaign. Assigned by the
 18797  //     system.
 18798  func (r *AdvertisersCampaignsService) Patch(advertiserId int64, campaignId int64, campaign *Campaign) *AdvertisersCampaignsPatchCall {
 18799  	c := &AdvertisersCampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18800  	c.advertiserId = advertiserId
 18801  	c.campaignId = campaignId
 18802  	c.campaign = campaign
 18803  	return c
 18804  }
 18805  
 18806  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 18807  // control which fields to update.
 18808  func (c *AdvertisersCampaignsPatchCall) UpdateMask(updateMask string) *AdvertisersCampaignsPatchCall {
 18809  	c.urlParams_.Set("updateMask", updateMask)
 18810  	return c
 18811  }
 18812  
 18813  // Fields allows partial responses to be retrieved. See
 18814  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18815  // details.
 18816  func (c *AdvertisersCampaignsPatchCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsPatchCall {
 18817  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18818  	return c
 18819  }
 18820  
 18821  // Context sets the context to be used in this call's Do method.
 18822  func (c *AdvertisersCampaignsPatchCall) Context(ctx context.Context) *AdvertisersCampaignsPatchCall {
 18823  	c.ctx_ = ctx
 18824  	return c
 18825  }
 18826  
 18827  // Header returns a http.Header that can be modified by the caller to add
 18828  // headers to the request.
 18829  func (c *AdvertisersCampaignsPatchCall) Header() http.Header {
 18830  	if c.header_ == nil {
 18831  		c.header_ = make(http.Header)
 18832  	}
 18833  	return c.header_
 18834  }
 18835  
 18836  func (c *AdvertisersCampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 18837  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 18838  	var body io.Reader = nil
 18839  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 18840  	if err != nil {
 18841  		return nil, err
 18842  	}
 18843  	c.urlParams_.Set("alt", alt)
 18844  	c.urlParams_.Set("prettyPrint", "false")
 18845  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}")
 18846  	urls += "?" + c.urlParams_.Encode()
 18847  	req, err := http.NewRequest("PATCH", urls, body)
 18848  	if err != nil {
 18849  		return nil, err
 18850  	}
 18851  	req.Header = reqHeaders
 18852  	googleapi.Expand(req.URL, map[string]string{
 18853  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 18854  		"campaignId":   strconv.FormatInt(c.campaignId, 10),
 18855  	})
 18856  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18857  }
 18858  
 18859  // Do executes the "displayvideo.advertisers.campaigns.patch" call.
 18860  // Any non-2xx status code is an error. Response headers are in either
 18861  // *Campaign.ServerResponse.Header or (if a response was returned at all) in
 18862  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18863  // whether the returned error was because http.StatusNotModified was returned.
 18864  func (c *AdvertisersCampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 18865  	gensupport.SetOptions(c.urlParams_, opts...)
 18866  	res, err := c.doRequest("json")
 18867  	if res != nil && res.StatusCode == http.StatusNotModified {
 18868  		if res.Body != nil {
 18869  			res.Body.Close()
 18870  		}
 18871  		return nil, gensupport.WrapError(&googleapi.Error{
 18872  			Code:   res.StatusCode,
 18873  			Header: res.Header,
 18874  		})
 18875  	}
 18876  	if err != nil {
 18877  		return nil, err
 18878  	}
 18879  	defer googleapi.CloseBody(res)
 18880  	if err := googleapi.CheckResponse(res); err != nil {
 18881  		return nil, gensupport.WrapError(err)
 18882  	}
 18883  	ret := &Campaign{
 18884  		ServerResponse: googleapi.ServerResponse{
 18885  			Header:         res.Header,
 18886  			HTTPStatusCode: res.StatusCode,
 18887  		},
 18888  	}
 18889  	target := &ret
 18890  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18891  		return nil, err
 18892  	}
 18893  	return ret, nil
 18894  }
 18895  
 18896  type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall struct {
 18897  	s                         *Service
 18898  	advertiserId              int64
 18899  	campaignId                int64
 18900  	targetingType             string
 18901  	assignedTargetingOptionId string
 18902  	urlParams_                gensupport.URLParams
 18903  	ifNoneMatch_              string
 18904  	ctx_                      context.Context
 18905  	header_                   http.Header
 18906  }
 18907  
 18908  // Get: Gets a single targeting option assigned to a campaign.
 18909  //
 18910  //   - advertiserId: The ID of the advertiser the campaign belongs to.
 18911  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 18912  //     this campaign that identifies the assigned targeting option being
 18913  //     requested.
 18914  //   - campaignId: The ID of the campaign the assigned targeting option belongs
 18915  //     to.
 18916  //   - targetingType: Identifies the type of this assigned targeting option.
 18917  //     Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
 18918  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
 18919  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 18920  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 18921  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 18922  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 18923  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 18924  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 18925  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` *
 18926  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` *
 18927  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 18928  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 18929  //     `TARGETING_TYPE_VIEWABILITY`.
 18930  func (r *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, campaignId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
 18931  	c := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18932  	c.advertiserId = advertiserId
 18933  	c.campaignId = campaignId
 18934  	c.targetingType = targetingType
 18935  	c.assignedTargetingOptionId = assignedTargetingOptionId
 18936  	return c
 18937  }
 18938  
 18939  // Fields allows partial responses to be retrieved. See
 18940  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 18941  // details.
 18942  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
 18943  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18944  	return c
 18945  }
 18946  
 18947  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 18948  // object's ETag matches the given value. This is useful for getting updates
 18949  // only after the object has changed since the last request.
 18950  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
 18951  	c.ifNoneMatch_ = entityTag
 18952  	return c
 18953  }
 18954  
 18955  // Context sets the context to be used in this call's Do method.
 18956  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
 18957  	c.ctx_ = ctx
 18958  	return c
 18959  }
 18960  
 18961  // Header returns a http.Header that can be modified by the caller to add
 18962  // headers to the request.
 18963  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 18964  	if c.header_ == nil {
 18965  		c.header_ = make(http.Header)
 18966  	}
 18967  	return c.header_
 18968  }
 18969  
 18970  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 18971  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 18972  	if c.ifNoneMatch_ != "" {
 18973  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18974  	}
 18975  	var body io.Reader = nil
 18976  	c.urlParams_.Set("alt", alt)
 18977  	c.urlParams_.Set("prettyPrint", "false")
 18978  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 18979  	urls += "?" + c.urlParams_.Encode()
 18980  	req, err := http.NewRequest("GET", urls, body)
 18981  	if err != nil {
 18982  		return nil, err
 18983  	}
 18984  	req.Header = reqHeaders
 18985  	googleapi.Expand(req.URL, map[string]string{
 18986  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 18987  		"campaignId":                strconv.FormatInt(c.campaignId, 10),
 18988  		"targetingType":             c.targetingType,
 18989  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 18990  	})
 18991  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18992  }
 18993  
 18994  // Do executes the "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get" call.
 18995  // Any non-2xx status code is an error. Response headers are in either
 18996  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 18997  // returned at all) in error.(*googleapi.Error).Header. Use
 18998  // googleapi.IsNotModified to check whether the returned error was because
 18999  // http.StatusNotModified was returned.
 19000  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 19001  	gensupport.SetOptions(c.urlParams_, opts...)
 19002  	res, err := c.doRequest("json")
 19003  	if res != nil && res.StatusCode == http.StatusNotModified {
 19004  		if res.Body != nil {
 19005  			res.Body.Close()
 19006  		}
 19007  		return nil, gensupport.WrapError(&googleapi.Error{
 19008  			Code:   res.StatusCode,
 19009  			Header: res.Header,
 19010  		})
 19011  	}
 19012  	if err != nil {
 19013  		return nil, err
 19014  	}
 19015  	defer googleapi.CloseBody(res)
 19016  	if err := googleapi.CheckResponse(res); err != nil {
 19017  		return nil, gensupport.WrapError(err)
 19018  	}
 19019  	ret := &AssignedTargetingOption{
 19020  		ServerResponse: googleapi.ServerResponse{
 19021  			Header:         res.Header,
 19022  			HTTPStatusCode: res.StatusCode,
 19023  		},
 19024  	}
 19025  	target := &ret
 19026  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19027  		return nil, err
 19028  	}
 19029  	return ret, nil
 19030  }
 19031  
 19032  type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall struct {
 19033  	s             *Service
 19034  	advertiserId  int64
 19035  	campaignId    int64
 19036  	targetingType string
 19037  	urlParams_    gensupport.URLParams
 19038  	ifNoneMatch_  string
 19039  	ctx_          context.Context
 19040  	header_       http.Header
 19041  }
 19042  
 19043  // List: Lists the targeting options assigned to a campaign for a specified
 19044  // targeting type.
 19045  //
 19046  //   - advertiserId: The ID of the advertiser the campaign belongs to.
 19047  //   - campaignId: The ID of the campaign to list assigned targeting options for.
 19048  //   - targetingType: Identifies the type of assigned targeting options to list.
 19049  //     Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
 19050  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
 19051  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 19052  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 19053  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 19054  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 19055  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 19056  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 19057  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` *
 19058  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` *
 19059  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 19060  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 19061  //     `TARGETING_TYPE_VIEWABILITY`.
 19062  func (r *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, campaignId int64, targetingType string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 19063  	c := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19064  	c.advertiserId = advertiserId
 19065  	c.campaignId = campaignId
 19066  	c.targetingType = targetingType
 19067  	return c
 19068  }
 19069  
 19070  // Filter sets the optional parameter "filter": Allows filtering by assigned
 19071  // targeting option fields. Supported syntax: * Filter expressions are made up
 19072  // of one or more restrictions. * Restrictions can be combined by the `OR`
 19073  // logical operator. * A restriction has the form of `{field} {operator}
 19074  // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields:
 19075  // * `assignedTargetingOptionId` * `inheritance` Examples: *
 19076  // `AssignedTargetingOption` resources with ID 1 or 2
 19077  // `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
 19078  // `AssignedTargetingOption` resources with inheritance status of
 19079  // `NOT_INHERITED` or `INHERITED_FROM_PARTNER` `inheritance="NOT_INHERITED" OR
 19080  // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no
 19081  // more than 500 characters. Reference our filter `LIST` requests
 19082  // (/display-video/api/guides/how-tos/filters) guide for more information.
 19083  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 19084  	c.urlParams_.Set("filter", filter)
 19085  	return c
 19086  }
 19087  
 19088  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 19089  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 19090  // default sorting order is ascending. To specify descending order for a field,
 19091  // a suffix "desc" should be added to the field name. Example:
 19092  // `assignedTargetingOptionId desc`.
 19093  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 19094  	c.urlParams_.Set("orderBy", orderBy)
 19095  	return c
 19096  }
 19097  
 19098  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 19099  // be between `1` and `5000`. If unspecified will default to `100`. Returns
 19100  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 19101  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 19102  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 19103  	return c
 19104  }
 19105  
 19106  // PageToken sets the optional parameter "pageToken": A token identifying a
 19107  // page of results the server should return. Typically, this is the value of
 19108  // next_page_token returned from the previous call to
 19109  // `ListCampaignAssignedTargetingOptions` method. If not specified, the first
 19110  // page of results will be returned.
 19111  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 19112  	c.urlParams_.Set("pageToken", pageToken)
 19113  	return c
 19114  }
 19115  
 19116  // Fields allows partial responses to be retrieved. See
 19117  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19118  // details.
 19119  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 19120  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19121  	return c
 19122  }
 19123  
 19124  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19125  // object's ETag matches the given value. This is useful for getting updates
 19126  // only after the object has changed since the last request.
 19127  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 19128  	c.ifNoneMatch_ = entityTag
 19129  	return c
 19130  }
 19131  
 19132  // Context sets the context to be used in this call's Do method.
 19133  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
 19134  	c.ctx_ = ctx
 19135  	return c
 19136  }
 19137  
 19138  // Header returns a http.Header that can be modified by the caller to add
 19139  // headers to the request.
 19140  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 19141  	if c.header_ == nil {
 19142  		c.header_ = make(http.Header)
 19143  	}
 19144  	return c.header_
 19145  }
 19146  
 19147  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 19148  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19149  	if c.ifNoneMatch_ != "" {
 19150  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19151  	}
 19152  	var body io.Reader = nil
 19153  	c.urlParams_.Set("alt", alt)
 19154  	c.urlParams_.Set("prettyPrint", "false")
 19155  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 19156  	urls += "?" + c.urlParams_.Encode()
 19157  	req, err := http.NewRequest("GET", urls, body)
 19158  	if err != nil {
 19159  		return nil, err
 19160  	}
 19161  	req.Header = reqHeaders
 19162  	googleapi.Expand(req.URL, map[string]string{
 19163  		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
 19164  		"campaignId":    strconv.FormatInt(c.campaignId, 10),
 19165  		"targetingType": c.targetingType,
 19166  	})
 19167  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19168  }
 19169  
 19170  // Do executes the "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list" call.
 19171  // Any non-2xx status code is an error. Response headers are in either
 19172  // *ListCampaignAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 19173  // response was returned at all) in error.(*googleapi.Error).Header. Use
 19174  // googleapi.IsNotModified to check whether the returned error was because
 19175  // http.StatusNotModified was returned.
 19176  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignAssignedTargetingOptionsResponse, error) {
 19177  	gensupport.SetOptions(c.urlParams_, opts...)
 19178  	res, err := c.doRequest("json")
 19179  	if res != nil && res.StatusCode == http.StatusNotModified {
 19180  		if res.Body != nil {
 19181  			res.Body.Close()
 19182  		}
 19183  		return nil, gensupport.WrapError(&googleapi.Error{
 19184  			Code:   res.StatusCode,
 19185  			Header: res.Header,
 19186  		})
 19187  	}
 19188  	if err != nil {
 19189  		return nil, err
 19190  	}
 19191  	defer googleapi.CloseBody(res)
 19192  	if err := googleapi.CheckResponse(res); err != nil {
 19193  		return nil, gensupport.WrapError(err)
 19194  	}
 19195  	ret := &ListCampaignAssignedTargetingOptionsResponse{
 19196  		ServerResponse: googleapi.ServerResponse{
 19197  			Header:         res.Header,
 19198  			HTTPStatusCode: res.StatusCode,
 19199  		},
 19200  	}
 19201  	target := &ret
 19202  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19203  		return nil, err
 19204  	}
 19205  	return ret, nil
 19206  }
 19207  
 19208  // Pages invokes f for each page of results.
 19209  // A non-nil error returned from f will halt the iteration.
 19210  // The provided context supersedes any context provided to the Context method.
 19211  func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListCampaignAssignedTargetingOptionsResponse) error) error {
 19212  	c.ctx_ = ctx
 19213  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 19214  	for {
 19215  		x, err := c.Do()
 19216  		if err != nil {
 19217  			return err
 19218  		}
 19219  		if err := f(x); err != nil {
 19220  			return err
 19221  		}
 19222  		if x.NextPageToken == "" {
 19223  			return nil
 19224  		}
 19225  		c.PageToken(x.NextPageToken)
 19226  	}
 19227  }
 19228  
 19229  type AdvertisersChannelsCreateCall struct {
 19230  	s            *Service
 19231  	advertiserId int64
 19232  	channel      *Channel
 19233  	urlParams_   gensupport.URLParams
 19234  	ctx_         context.Context
 19235  	header_      http.Header
 19236  }
 19237  
 19238  // Create: Creates a new channel. Returns the newly created channel if
 19239  // successful.
 19240  //
 19241  // - advertiserId: The ID of the advertiser that owns the created channel.
 19242  func (r *AdvertisersChannelsService) Create(advertiserId int64, channel *Channel) *AdvertisersChannelsCreateCall {
 19243  	c := &AdvertisersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19244  	c.advertiserId = advertiserId
 19245  	c.channel = channel
 19246  	return c
 19247  }
 19248  
 19249  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 19250  // that owns the created channel.
 19251  func (c *AdvertisersChannelsCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsCreateCall {
 19252  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 19253  	return c
 19254  }
 19255  
 19256  // Fields allows partial responses to be retrieved. See
 19257  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19258  // details.
 19259  func (c *AdvertisersChannelsCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsCreateCall {
 19260  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19261  	return c
 19262  }
 19263  
 19264  // Context sets the context to be used in this call's Do method.
 19265  func (c *AdvertisersChannelsCreateCall) Context(ctx context.Context) *AdvertisersChannelsCreateCall {
 19266  	c.ctx_ = ctx
 19267  	return c
 19268  }
 19269  
 19270  // Header returns a http.Header that can be modified by the caller to add
 19271  // headers to the request.
 19272  func (c *AdvertisersChannelsCreateCall) Header() http.Header {
 19273  	if c.header_ == nil {
 19274  		c.header_ = make(http.Header)
 19275  	}
 19276  	return c.header_
 19277  }
 19278  
 19279  func (c *AdvertisersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
 19280  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 19281  	var body io.Reader = nil
 19282  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
 19283  	if err != nil {
 19284  		return nil, err
 19285  	}
 19286  	c.urlParams_.Set("alt", alt)
 19287  	c.urlParams_.Set("prettyPrint", "false")
 19288  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/channels")
 19289  	urls += "?" + c.urlParams_.Encode()
 19290  	req, err := http.NewRequest("POST", urls, body)
 19291  	if err != nil {
 19292  		return nil, err
 19293  	}
 19294  	req.Header = reqHeaders
 19295  	googleapi.Expand(req.URL, map[string]string{
 19296  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 19297  	})
 19298  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19299  }
 19300  
 19301  // Do executes the "displayvideo.advertisers.channels.create" call.
 19302  // Any non-2xx status code is an error. Response headers are in either
 19303  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 19304  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19305  // whether the returned error was because http.StatusNotModified was returned.
 19306  func (c *AdvertisersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 19307  	gensupport.SetOptions(c.urlParams_, opts...)
 19308  	res, err := c.doRequest("json")
 19309  	if res != nil && res.StatusCode == http.StatusNotModified {
 19310  		if res.Body != nil {
 19311  			res.Body.Close()
 19312  		}
 19313  		return nil, gensupport.WrapError(&googleapi.Error{
 19314  			Code:   res.StatusCode,
 19315  			Header: res.Header,
 19316  		})
 19317  	}
 19318  	if err != nil {
 19319  		return nil, err
 19320  	}
 19321  	defer googleapi.CloseBody(res)
 19322  	if err := googleapi.CheckResponse(res); err != nil {
 19323  		return nil, gensupport.WrapError(err)
 19324  	}
 19325  	ret := &Channel{
 19326  		ServerResponse: googleapi.ServerResponse{
 19327  			Header:         res.Header,
 19328  			HTTPStatusCode: res.StatusCode,
 19329  		},
 19330  	}
 19331  	target := &ret
 19332  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19333  		return nil, err
 19334  	}
 19335  	return ret, nil
 19336  }
 19337  
 19338  type AdvertisersChannelsGetCall struct {
 19339  	s            *Service
 19340  	advertiserId int64
 19341  	channelId    int64
 19342  	urlParams_   gensupport.URLParams
 19343  	ifNoneMatch_ string
 19344  	ctx_         context.Context
 19345  	header_      http.Header
 19346  }
 19347  
 19348  // Get: Gets a channel for a partner or advertiser.
 19349  //
 19350  // - advertiserId: The ID of the advertiser that owns the fetched channel.
 19351  // - channelId: The ID of the channel to fetch.
 19352  func (r *AdvertisersChannelsService) Get(advertiserId int64, channelId int64) *AdvertisersChannelsGetCall {
 19353  	c := &AdvertisersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19354  	c.advertiserId = advertiserId
 19355  	c.channelId = channelId
 19356  	return c
 19357  }
 19358  
 19359  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 19360  // that owns the fetched channel.
 19361  func (c *AdvertisersChannelsGetCall) PartnerId(partnerId int64) *AdvertisersChannelsGetCall {
 19362  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 19363  	return c
 19364  }
 19365  
 19366  // Fields allows partial responses to be retrieved. See
 19367  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19368  // details.
 19369  func (c *AdvertisersChannelsGetCall) Fields(s ...googleapi.Field) *AdvertisersChannelsGetCall {
 19370  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19371  	return c
 19372  }
 19373  
 19374  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19375  // object's ETag matches the given value. This is useful for getting updates
 19376  // only after the object has changed since the last request.
 19377  func (c *AdvertisersChannelsGetCall) IfNoneMatch(entityTag string) *AdvertisersChannelsGetCall {
 19378  	c.ifNoneMatch_ = entityTag
 19379  	return c
 19380  }
 19381  
 19382  // Context sets the context to be used in this call's Do method.
 19383  func (c *AdvertisersChannelsGetCall) Context(ctx context.Context) *AdvertisersChannelsGetCall {
 19384  	c.ctx_ = ctx
 19385  	return c
 19386  }
 19387  
 19388  // Header returns a http.Header that can be modified by the caller to add
 19389  // headers to the request.
 19390  func (c *AdvertisersChannelsGetCall) Header() http.Header {
 19391  	if c.header_ == nil {
 19392  		c.header_ = make(http.Header)
 19393  	}
 19394  	return c.header_
 19395  }
 19396  
 19397  func (c *AdvertisersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
 19398  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19399  	if c.ifNoneMatch_ != "" {
 19400  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19401  	}
 19402  	var body io.Reader = nil
 19403  	c.urlParams_.Set("alt", alt)
 19404  	c.urlParams_.Set("prettyPrint", "false")
 19405  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/channels/{+channelId}")
 19406  	urls += "?" + c.urlParams_.Encode()
 19407  	req, err := http.NewRequest("GET", urls, body)
 19408  	if err != nil {
 19409  		return nil, err
 19410  	}
 19411  	req.Header = reqHeaders
 19412  	googleapi.Expand(req.URL, map[string]string{
 19413  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 19414  		"channelId":    strconv.FormatInt(c.channelId, 10),
 19415  	})
 19416  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19417  }
 19418  
 19419  // Do executes the "displayvideo.advertisers.channels.get" call.
 19420  // Any non-2xx status code is an error. Response headers are in either
 19421  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 19422  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19423  // whether the returned error was because http.StatusNotModified was returned.
 19424  func (c *AdvertisersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 19425  	gensupport.SetOptions(c.urlParams_, opts...)
 19426  	res, err := c.doRequest("json")
 19427  	if res != nil && res.StatusCode == http.StatusNotModified {
 19428  		if res.Body != nil {
 19429  			res.Body.Close()
 19430  		}
 19431  		return nil, gensupport.WrapError(&googleapi.Error{
 19432  			Code:   res.StatusCode,
 19433  			Header: res.Header,
 19434  		})
 19435  	}
 19436  	if err != nil {
 19437  		return nil, err
 19438  	}
 19439  	defer googleapi.CloseBody(res)
 19440  	if err := googleapi.CheckResponse(res); err != nil {
 19441  		return nil, gensupport.WrapError(err)
 19442  	}
 19443  	ret := &Channel{
 19444  		ServerResponse: googleapi.ServerResponse{
 19445  			Header:         res.Header,
 19446  			HTTPStatusCode: res.StatusCode,
 19447  		},
 19448  	}
 19449  	target := &ret
 19450  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19451  		return nil, err
 19452  	}
 19453  	return ret, nil
 19454  }
 19455  
 19456  type AdvertisersChannelsListCall struct {
 19457  	s            *Service
 19458  	advertiserId int64
 19459  	urlParams_   gensupport.URLParams
 19460  	ifNoneMatch_ string
 19461  	ctx_         context.Context
 19462  	header_      http.Header
 19463  }
 19464  
 19465  // List: Lists channels for a partner or advertiser.
 19466  //
 19467  // - advertiserId: The ID of the advertiser that owns the channels.
 19468  func (r *AdvertisersChannelsService) List(advertiserId int64) *AdvertisersChannelsListCall {
 19469  	c := &AdvertisersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19470  	c.advertiserId = advertiserId
 19471  	return c
 19472  }
 19473  
 19474  // Filter sets the optional parameter "filter": Allows filtering by channel
 19475  // fields. Supported syntax: * Filter expressions for channel can only contain
 19476  // at most one restriction. * A restriction has the form of `{field} {operator}
 19477  // {value}`. * All fields must use the `HAS (:)` operator. Supported fields: *
 19478  // `displayName` Examples: * All channels for which the display name contains
 19479  // "google": `displayName : "google". The length of this field should be no
 19480  // more than 500 characters. Reference our filter `LIST` requests
 19481  // (/display-video/api/guides/how-tos/filters) guide for more information.
 19482  func (c *AdvertisersChannelsListCall) Filter(filter string) *AdvertisersChannelsListCall {
 19483  	c.urlParams_.Set("filter", filter)
 19484  	return c
 19485  }
 19486  
 19487  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 19488  // list. Acceptable values are: * `displayName` (default) * `channelId` The
 19489  // default sorting order is ascending. To specify descending order for a field,
 19490  // a suffix " desc" should be added to the field name. Example: `displayName
 19491  // desc`.
 19492  func (c *AdvertisersChannelsListCall) OrderBy(orderBy string) *AdvertisersChannelsListCall {
 19493  	c.urlParams_.Set("orderBy", orderBy)
 19494  	return c
 19495  }
 19496  
 19497  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 19498  // be between `1` and `200`. If unspecified will default to `100`. Returns
 19499  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 19500  func (c *AdvertisersChannelsListCall) PageSize(pageSize int64) *AdvertisersChannelsListCall {
 19501  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 19502  	return c
 19503  }
 19504  
 19505  // PageToken sets the optional parameter "pageToken": A token identifying a
 19506  // page of results the server should return. Typically, this is the value of
 19507  // next_page_token returned from the previous call to `ListChannels` method. If
 19508  // not specified, the first page of results will be returned.
 19509  func (c *AdvertisersChannelsListCall) PageToken(pageToken string) *AdvertisersChannelsListCall {
 19510  	c.urlParams_.Set("pageToken", pageToken)
 19511  	return c
 19512  }
 19513  
 19514  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 19515  // that owns the channels.
 19516  func (c *AdvertisersChannelsListCall) PartnerId(partnerId int64) *AdvertisersChannelsListCall {
 19517  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 19518  	return c
 19519  }
 19520  
 19521  // Fields allows partial responses to be retrieved. See
 19522  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19523  // details.
 19524  func (c *AdvertisersChannelsListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsListCall {
 19525  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19526  	return c
 19527  }
 19528  
 19529  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 19530  // object's ETag matches the given value. This is useful for getting updates
 19531  // only after the object has changed since the last request.
 19532  func (c *AdvertisersChannelsListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsListCall {
 19533  	c.ifNoneMatch_ = entityTag
 19534  	return c
 19535  }
 19536  
 19537  // Context sets the context to be used in this call's Do method.
 19538  func (c *AdvertisersChannelsListCall) Context(ctx context.Context) *AdvertisersChannelsListCall {
 19539  	c.ctx_ = ctx
 19540  	return c
 19541  }
 19542  
 19543  // Header returns a http.Header that can be modified by the caller to add
 19544  // headers to the request.
 19545  func (c *AdvertisersChannelsListCall) Header() http.Header {
 19546  	if c.header_ == nil {
 19547  		c.header_ = make(http.Header)
 19548  	}
 19549  	return c.header_
 19550  }
 19551  
 19552  func (c *AdvertisersChannelsListCall) doRequest(alt string) (*http.Response, error) {
 19553  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 19554  	if c.ifNoneMatch_ != "" {
 19555  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19556  	}
 19557  	var body io.Reader = nil
 19558  	c.urlParams_.Set("alt", alt)
 19559  	c.urlParams_.Set("prettyPrint", "false")
 19560  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/channels")
 19561  	urls += "?" + c.urlParams_.Encode()
 19562  	req, err := http.NewRequest("GET", urls, body)
 19563  	if err != nil {
 19564  		return nil, err
 19565  	}
 19566  	req.Header = reqHeaders
 19567  	googleapi.Expand(req.URL, map[string]string{
 19568  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 19569  	})
 19570  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19571  }
 19572  
 19573  // Do executes the "displayvideo.advertisers.channels.list" call.
 19574  // Any non-2xx status code is an error. Response headers are in either
 19575  // *ListChannelsResponse.ServerResponse.Header or (if a response was returned
 19576  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 19577  // check whether the returned error was because http.StatusNotModified was
 19578  // returned.
 19579  func (c *AdvertisersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) {
 19580  	gensupport.SetOptions(c.urlParams_, opts...)
 19581  	res, err := c.doRequest("json")
 19582  	if res != nil && res.StatusCode == http.StatusNotModified {
 19583  		if res.Body != nil {
 19584  			res.Body.Close()
 19585  		}
 19586  		return nil, gensupport.WrapError(&googleapi.Error{
 19587  			Code:   res.StatusCode,
 19588  			Header: res.Header,
 19589  		})
 19590  	}
 19591  	if err != nil {
 19592  		return nil, err
 19593  	}
 19594  	defer googleapi.CloseBody(res)
 19595  	if err := googleapi.CheckResponse(res); err != nil {
 19596  		return nil, gensupport.WrapError(err)
 19597  	}
 19598  	ret := &ListChannelsResponse{
 19599  		ServerResponse: googleapi.ServerResponse{
 19600  			Header:         res.Header,
 19601  			HTTPStatusCode: res.StatusCode,
 19602  		},
 19603  	}
 19604  	target := &ret
 19605  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19606  		return nil, err
 19607  	}
 19608  	return ret, nil
 19609  }
 19610  
 19611  // Pages invokes f for each page of results.
 19612  // A non-nil error returned from f will halt the iteration.
 19613  // The provided context supersedes any context provided to the Context method.
 19614  func (c *AdvertisersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error {
 19615  	c.ctx_ = ctx
 19616  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 19617  	for {
 19618  		x, err := c.Do()
 19619  		if err != nil {
 19620  			return err
 19621  		}
 19622  		if err := f(x); err != nil {
 19623  			return err
 19624  		}
 19625  		if x.NextPageToken == "" {
 19626  			return nil
 19627  		}
 19628  		c.PageToken(x.NextPageToken)
 19629  	}
 19630  }
 19631  
 19632  type AdvertisersChannelsPatchCall struct {
 19633  	s            *Service
 19634  	advertiserId int64
 19635  	channelId    int64
 19636  	channel      *Channel
 19637  	urlParams_   gensupport.URLParams
 19638  	ctx_         context.Context
 19639  	header_      http.Header
 19640  }
 19641  
 19642  // Patch: Updates a channel. Returns the updated channel if successful.
 19643  //
 19644  //   - advertiserId: The ID of the advertiser that owns the created channel.
 19645  //   - channelId: Output only. The unique ID of the channel. Assigned by the
 19646  //     system.
 19647  func (r *AdvertisersChannelsService) Patch(advertiserId int64, channelId int64, channel *Channel) *AdvertisersChannelsPatchCall {
 19648  	c := &AdvertisersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19649  	c.advertiserId = advertiserId
 19650  	c.channelId = channelId
 19651  	c.channel = channel
 19652  	return c
 19653  }
 19654  
 19655  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 19656  // that owns the created channel.
 19657  func (c *AdvertisersChannelsPatchCall) PartnerId(partnerId int64) *AdvertisersChannelsPatchCall {
 19658  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 19659  	return c
 19660  }
 19661  
 19662  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 19663  // control which fields to update.
 19664  func (c *AdvertisersChannelsPatchCall) UpdateMask(updateMask string) *AdvertisersChannelsPatchCall {
 19665  	c.urlParams_.Set("updateMask", updateMask)
 19666  	return c
 19667  }
 19668  
 19669  // Fields allows partial responses to be retrieved. See
 19670  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19671  // details.
 19672  func (c *AdvertisersChannelsPatchCall) Fields(s ...googleapi.Field) *AdvertisersChannelsPatchCall {
 19673  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19674  	return c
 19675  }
 19676  
 19677  // Context sets the context to be used in this call's Do method.
 19678  func (c *AdvertisersChannelsPatchCall) Context(ctx context.Context) *AdvertisersChannelsPatchCall {
 19679  	c.ctx_ = ctx
 19680  	return c
 19681  }
 19682  
 19683  // Header returns a http.Header that can be modified by the caller to add
 19684  // headers to the request.
 19685  func (c *AdvertisersChannelsPatchCall) Header() http.Header {
 19686  	if c.header_ == nil {
 19687  		c.header_ = make(http.Header)
 19688  	}
 19689  	return c.header_
 19690  }
 19691  
 19692  func (c *AdvertisersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
 19693  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 19694  	var body io.Reader = nil
 19695  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
 19696  	if err != nil {
 19697  		return nil, err
 19698  	}
 19699  	c.urlParams_.Set("alt", alt)
 19700  	c.urlParams_.Set("prettyPrint", "false")
 19701  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/channels/{channelId}")
 19702  	urls += "?" + c.urlParams_.Encode()
 19703  	req, err := http.NewRequest("PATCH", urls, body)
 19704  	if err != nil {
 19705  		return nil, err
 19706  	}
 19707  	req.Header = reqHeaders
 19708  	googleapi.Expand(req.URL, map[string]string{
 19709  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 19710  		"channelId":    strconv.FormatInt(c.channelId, 10),
 19711  	})
 19712  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19713  }
 19714  
 19715  // Do executes the "displayvideo.advertisers.channels.patch" call.
 19716  // Any non-2xx status code is an error. Response headers are in either
 19717  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 19718  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19719  // whether the returned error was because http.StatusNotModified was returned.
 19720  func (c *AdvertisersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 19721  	gensupport.SetOptions(c.urlParams_, opts...)
 19722  	res, err := c.doRequest("json")
 19723  	if res != nil && res.StatusCode == http.StatusNotModified {
 19724  		if res.Body != nil {
 19725  			res.Body.Close()
 19726  		}
 19727  		return nil, gensupport.WrapError(&googleapi.Error{
 19728  			Code:   res.StatusCode,
 19729  			Header: res.Header,
 19730  		})
 19731  	}
 19732  	if err != nil {
 19733  		return nil, err
 19734  	}
 19735  	defer googleapi.CloseBody(res)
 19736  	if err := googleapi.CheckResponse(res); err != nil {
 19737  		return nil, gensupport.WrapError(err)
 19738  	}
 19739  	ret := &Channel{
 19740  		ServerResponse: googleapi.ServerResponse{
 19741  			Header:         res.Header,
 19742  			HTTPStatusCode: res.StatusCode,
 19743  		},
 19744  	}
 19745  	target := &ret
 19746  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19747  		return nil, err
 19748  	}
 19749  	return ret, nil
 19750  }
 19751  
 19752  type AdvertisersChannelsSitesBulkEditCall struct {
 19753  	s                    *Service
 19754  	advertiserId         int64
 19755  	channelId            int64
 19756  	bulkeditsitesrequest *BulkEditSitesRequest
 19757  	urlParams_           gensupport.URLParams
 19758  	ctx_                 context.Context
 19759  	header_              http.Header
 19760  }
 19761  
 19762  // BulkEdit: Bulk edits sites under a single channel. The operation will delete
 19763  // the sites provided in BulkEditSitesRequest.deleted_sites and then create the
 19764  // sites provided in BulkEditSitesRequest.created_sites.
 19765  //
 19766  // - advertiserId: The ID of the advertiser that owns the parent channel.
 19767  // - channelId: The ID of the parent channel to which the sites belong.
 19768  func (r *AdvertisersChannelsSitesService) BulkEdit(advertiserId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *AdvertisersChannelsSitesBulkEditCall {
 19769  	c := &AdvertisersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19770  	c.advertiserId = advertiserId
 19771  	c.channelId = channelId
 19772  	c.bulkeditsitesrequest = bulkeditsitesrequest
 19773  	return c
 19774  }
 19775  
 19776  // Fields allows partial responses to be retrieved. See
 19777  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19778  // details.
 19779  func (c *AdvertisersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesBulkEditCall {
 19780  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19781  	return c
 19782  }
 19783  
 19784  // Context sets the context to be used in this call's Do method.
 19785  func (c *AdvertisersChannelsSitesBulkEditCall) Context(ctx context.Context) *AdvertisersChannelsSitesBulkEditCall {
 19786  	c.ctx_ = ctx
 19787  	return c
 19788  }
 19789  
 19790  // Header returns a http.Header that can be modified by the caller to add
 19791  // headers to the request.
 19792  func (c *AdvertisersChannelsSitesBulkEditCall) Header() http.Header {
 19793  	if c.header_ == nil {
 19794  		c.header_ = make(http.Header)
 19795  	}
 19796  	return c.header_
 19797  }
 19798  
 19799  func (c *AdvertisersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
 19800  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 19801  	var body io.Reader = nil
 19802  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest)
 19803  	if err != nil {
 19804  		return nil, err
 19805  	}
 19806  	c.urlParams_.Set("alt", alt)
 19807  	c.urlParams_.Set("prettyPrint", "false")
 19808  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit")
 19809  	urls += "?" + c.urlParams_.Encode()
 19810  	req, err := http.NewRequest("POST", urls, body)
 19811  	if err != nil {
 19812  		return nil, err
 19813  	}
 19814  	req.Header = reqHeaders
 19815  	googleapi.Expand(req.URL, map[string]string{
 19816  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 19817  		"channelId":    strconv.FormatInt(c.channelId, 10),
 19818  	})
 19819  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19820  }
 19821  
 19822  // Do executes the "displayvideo.advertisers.channels.sites.bulkEdit" call.
 19823  // Any non-2xx status code is an error. Response headers are in either
 19824  // *BulkEditSitesResponse.ServerResponse.Header or (if a response was returned
 19825  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 19826  // check whether the returned error was because http.StatusNotModified was
 19827  // returned.
 19828  func (c *AdvertisersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) {
 19829  	gensupport.SetOptions(c.urlParams_, opts...)
 19830  	res, err := c.doRequest("json")
 19831  	if res != nil && res.StatusCode == http.StatusNotModified {
 19832  		if res.Body != nil {
 19833  			res.Body.Close()
 19834  		}
 19835  		return nil, gensupport.WrapError(&googleapi.Error{
 19836  			Code:   res.StatusCode,
 19837  			Header: res.Header,
 19838  		})
 19839  	}
 19840  	if err != nil {
 19841  		return nil, err
 19842  	}
 19843  	defer googleapi.CloseBody(res)
 19844  	if err := googleapi.CheckResponse(res); err != nil {
 19845  		return nil, gensupport.WrapError(err)
 19846  	}
 19847  	ret := &BulkEditSitesResponse{
 19848  		ServerResponse: googleapi.ServerResponse{
 19849  			Header:         res.Header,
 19850  			HTTPStatusCode: res.StatusCode,
 19851  		},
 19852  	}
 19853  	target := &ret
 19854  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19855  		return nil, err
 19856  	}
 19857  	return ret, nil
 19858  }
 19859  
 19860  type AdvertisersChannelsSitesCreateCall struct {
 19861  	s            *Service
 19862  	advertiserId int64
 19863  	channelId    int64
 19864  	site         *Site
 19865  	urlParams_   gensupport.URLParams
 19866  	ctx_         context.Context
 19867  	header_      http.Header
 19868  }
 19869  
 19870  // Create: Creates a site in a channel.
 19871  //
 19872  // - advertiserId: The ID of the advertiser that owns the parent channel.
 19873  // - channelId: The ID of the parent channel in which the site will be created.
 19874  func (r *AdvertisersChannelsSitesService) Create(advertiserId int64, channelId int64, site *Site) *AdvertisersChannelsSitesCreateCall {
 19875  	c := &AdvertisersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19876  	c.advertiserId = advertiserId
 19877  	c.channelId = channelId
 19878  	c.site = site
 19879  	return c
 19880  }
 19881  
 19882  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 19883  // that owns the parent channel.
 19884  func (c *AdvertisersChannelsSitesCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesCreateCall {
 19885  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 19886  	return c
 19887  }
 19888  
 19889  // Fields allows partial responses to be retrieved. See
 19890  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 19891  // details.
 19892  func (c *AdvertisersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesCreateCall {
 19893  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19894  	return c
 19895  }
 19896  
 19897  // Context sets the context to be used in this call's Do method.
 19898  func (c *AdvertisersChannelsSitesCreateCall) Context(ctx context.Context) *AdvertisersChannelsSitesCreateCall {
 19899  	c.ctx_ = ctx
 19900  	return c
 19901  }
 19902  
 19903  // Header returns a http.Header that can be modified by the caller to add
 19904  // headers to the request.
 19905  func (c *AdvertisersChannelsSitesCreateCall) Header() http.Header {
 19906  	if c.header_ == nil {
 19907  		c.header_ = make(http.Header)
 19908  	}
 19909  	return c.header_
 19910  }
 19911  
 19912  func (c *AdvertisersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
 19913  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 19914  	var body io.Reader = nil
 19915  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 19916  	if err != nil {
 19917  		return nil, err
 19918  	}
 19919  	c.urlParams_.Set("alt", alt)
 19920  	c.urlParams_.Set("prettyPrint", "false")
 19921  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/channels/{+channelId}/sites")
 19922  	urls += "?" + c.urlParams_.Encode()
 19923  	req, err := http.NewRequest("POST", urls, body)
 19924  	if err != nil {
 19925  		return nil, err
 19926  	}
 19927  	req.Header = reqHeaders
 19928  	googleapi.Expand(req.URL, map[string]string{
 19929  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 19930  		"channelId":    strconv.FormatInt(c.channelId, 10),
 19931  	})
 19932  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19933  }
 19934  
 19935  // Do executes the "displayvideo.advertisers.channels.sites.create" call.
 19936  // Any non-2xx status code is an error. Response headers are in either
 19937  // *Site.ServerResponse.Header or (if a response was returned at all) in
 19938  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19939  // whether the returned error was because http.StatusNotModified was returned.
 19940  func (c *AdvertisersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 19941  	gensupport.SetOptions(c.urlParams_, opts...)
 19942  	res, err := c.doRequest("json")
 19943  	if res != nil && res.StatusCode == http.StatusNotModified {
 19944  		if res.Body != nil {
 19945  			res.Body.Close()
 19946  		}
 19947  		return nil, gensupport.WrapError(&googleapi.Error{
 19948  			Code:   res.StatusCode,
 19949  			Header: res.Header,
 19950  		})
 19951  	}
 19952  	if err != nil {
 19953  		return nil, err
 19954  	}
 19955  	defer googleapi.CloseBody(res)
 19956  	if err := googleapi.CheckResponse(res); err != nil {
 19957  		return nil, gensupport.WrapError(err)
 19958  	}
 19959  	ret := &Site{
 19960  		ServerResponse: googleapi.ServerResponse{
 19961  			Header:         res.Header,
 19962  			HTTPStatusCode: res.StatusCode,
 19963  		},
 19964  	}
 19965  	target := &ret
 19966  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19967  		return nil, err
 19968  	}
 19969  	return ret, nil
 19970  }
 19971  
 19972  type AdvertisersChannelsSitesDeleteCall struct {
 19973  	s            *Service
 19974  	advertiserId int64
 19975  	channelId    int64
 19976  	urlOrAppId   string
 19977  	urlParams_   gensupport.URLParams
 19978  	ctx_         context.Context
 19979  	header_      http.Header
 19980  }
 19981  
 19982  // Delete: Deletes a site from a channel.
 19983  //
 19984  // - advertiserId: The ID of the advertiser that owns the parent channel.
 19985  // - channelId: The ID of the parent channel to which the site belongs.
 19986  // - urlOrAppId: The URL or app ID of the site to delete.
 19987  func (r *AdvertisersChannelsSitesService) Delete(advertiserId int64, channelId int64, urlOrAppId string) *AdvertisersChannelsSitesDeleteCall {
 19988  	c := &AdvertisersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19989  	c.advertiserId = advertiserId
 19990  	c.channelId = channelId
 19991  	c.urlOrAppId = urlOrAppId
 19992  	return c
 19993  }
 19994  
 19995  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 19996  // that owns the parent channel.
 19997  func (c *AdvertisersChannelsSitesDeleteCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesDeleteCall {
 19998  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 19999  	return c
 20000  }
 20001  
 20002  // Fields allows partial responses to be retrieved. See
 20003  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20004  // details.
 20005  func (c *AdvertisersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesDeleteCall {
 20006  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20007  	return c
 20008  }
 20009  
 20010  // Context sets the context to be used in this call's Do method.
 20011  func (c *AdvertisersChannelsSitesDeleteCall) Context(ctx context.Context) *AdvertisersChannelsSitesDeleteCall {
 20012  	c.ctx_ = ctx
 20013  	return c
 20014  }
 20015  
 20016  // Header returns a http.Header that can be modified by the caller to add
 20017  // headers to the request.
 20018  func (c *AdvertisersChannelsSitesDeleteCall) Header() http.Header {
 20019  	if c.header_ == nil {
 20020  		c.header_ = make(http.Header)
 20021  	}
 20022  	return c.header_
 20023  }
 20024  
 20025  func (c *AdvertisersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
 20026  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20027  	var body io.Reader = nil
 20028  	c.urlParams_.Set("alt", alt)
 20029  	c.urlParams_.Set("prettyPrint", "false")
 20030  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}")
 20031  	urls += "?" + c.urlParams_.Encode()
 20032  	req, err := http.NewRequest("DELETE", urls, body)
 20033  	if err != nil {
 20034  		return nil, err
 20035  	}
 20036  	req.Header = reqHeaders
 20037  	googleapi.Expand(req.URL, map[string]string{
 20038  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 20039  		"channelId":    strconv.FormatInt(c.channelId, 10),
 20040  		"urlOrAppId":   c.urlOrAppId,
 20041  	})
 20042  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20043  }
 20044  
 20045  // Do executes the "displayvideo.advertisers.channels.sites.delete" call.
 20046  // Any non-2xx status code is an error. Response headers are in either
 20047  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 20048  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20049  // whether the returned error was because http.StatusNotModified was returned.
 20050  func (c *AdvertisersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 20051  	gensupport.SetOptions(c.urlParams_, opts...)
 20052  	res, err := c.doRequest("json")
 20053  	if res != nil && res.StatusCode == http.StatusNotModified {
 20054  		if res.Body != nil {
 20055  			res.Body.Close()
 20056  		}
 20057  		return nil, gensupport.WrapError(&googleapi.Error{
 20058  			Code:   res.StatusCode,
 20059  			Header: res.Header,
 20060  		})
 20061  	}
 20062  	if err != nil {
 20063  		return nil, err
 20064  	}
 20065  	defer googleapi.CloseBody(res)
 20066  	if err := googleapi.CheckResponse(res); err != nil {
 20067  		return nil, gensupport.WrapError(err)
 20068  	}
 20069  	ret := &Empty{
 20070  		ServerResponse: googleapi.ServerResponse{
 20071  			Header:         res.Header,
 20072  			HTTPStatusCode: res.StatusCode,
 20073  		},
 20074  	}
 20075  	target := &ret
 20076  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20077  		return nil, err
 20078  	}
 20079  	return ret, nil
 20080  }
 20081  
 20082  type AdvertisersChannelsSitesListCall struct {
 20083  	s            *Service
 20084  	advertiserId int64
 20085  	channelId    int64
 20086  	urlParams_   gensupport.URLParams
 20087  	ifNoneMatch_ string
 20088  	ctx_         context.Context
 20089  	header_      http.Header
 20090  }
 20091  
 20092  // List: Lists sites in a channel.
 20093  //
 20094  //   - advertiserId: The ID of the advertiser that owns the parent channel.
 20095  //   - channelId: The ID of the parent channel to which the requested sites
 20096  //     belong.
 20097  func (r *AdvertisersChannelsSitesService) List(advertiserId int64, channelId int64) *AdvertisersChannelsSitesListCall {
 20098  	c := &AdvertisersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20099  	c.advertiserId = advertiserId
 20100  	c.channelId = channelId
 20101  	return c
 20102  }
 20103  
 20104  // Filter sets the optional parameter "filter": Allows filtering by site
 20105  // fields. Supported syntax: * Filter expressions for site retrieval can only
 20106  // contain at most one restriction. * A restriction has the form of `{field}
 20107  // {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported
 20108  // fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID
 20109  // contains "google": `urlOrAppId : "google" The length of this field should
 20110  // be no more than 500 characters. Reference our filter `LIST` requests
 20111  // (/display-video/api/guides/how-tos/filters) guide for more information.
 20112  func (c *AdvertisersChannelsSitesListCall) Filter(filter string) *AdvertisersChannelsSitesListCall {
 20113  	c.urlParams_.Set("filter", filter)
 20114  	return c
 20115  }
 20116  
 20117  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 20118  // list. Acceptable values are: * `urlOrAppId` (default) The default sorting
 20119  // order is ascending. To specify descending order for a field, a suffix "
 20120  // desc" should be added to the field name. Example: `urlOrAppId desc`.
 20121  func (c *AdvertisersChannelsSitesListCall) OrderBy(orderBy string) *AdvertisersChannelsSitesListCall {
 20122  	c.urlParams_.Set("orderBy", orderBy)
 20123  	return c
 20124  }
 20125  
 20126  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 20127  // be between `1` and `10000`. If unspecified will default to `100`. Returns
 20128  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 20129  func (c *AdvertisersChannelsSitesListCall) PageSize(pageSize int64) *AdvertisersChannelsSitesListCall {
 20130  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 20131  	return c
 20132  }
 20133  
 20134  // PageToken sets the optional parameter "pageToken": A token identifying a
 20135  // page of results the server should return. Typically, this is the value of
 20136  // next_page_token returned from the previous call to `ListSites` method. If
 20137  // not specified, the first page of results will be returned.
 20138  func (c *AdvertisersChannelsSitesListCall) PageToken(pageToken string) *AdvertisersChannelsSitesListCall {
 20139  	c.urlParams_.Set("pageToken", pageToken)
 20140  	return c
 20141  }
 20142  
 20143  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 20144  // that owns the parent channel.
 20145  func (c *AdvertisersChannelsSitesListCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesListCall {
 20146  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 20147  	return c
 20148  }
 20149  
 20150  // Fields allows partial responses to be retrieved. See
 20151  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20152  // details.
 20153  func (c *AdvertisersChannelsSitesListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesListCall {
 20154  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20155  	return c
 20156  }
 20157  
 20158  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 20159  // object's ETag matches the given value. This is useful for getting updates
 20160  // only after the object has changed since the last request.
 20161  func (c *AdvertisersChannelsSitesListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsSitesListCall {
 20162  	c.ifNoneMatch_ = entityTag
 20163  	return c
 20164  }
 20165  
 20166  // Context sets the context to be used in this call's Do method.
 20167  func (c *AdvertisersChannelsSitesListCall) Context(ctx context.Context) *AdvertisersChannelsSitesListCall {
 20168  	c.ctx_ = ctx
 20169  	return c
 20170  }
 20171  
 20172  // Header returns a http.Header that can be modified by the caller to add
 20173  // headers to the request.
 20174  func (c *AdvertisersChannelsSitesListCall) Header() http.Header {
 20175  	if c.header_ == nil {
 20176  		c.header_ = make(http.Header)
 20177  	}
 20178  	return c.header_
 20179  }
 20180  
 20181  func (c *AdvertisersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
 20182  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20183  	if c.ifNoneMatch_ != "" {
 20184  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20185  	}
 20186  	var body io.Reader = nil
 20187  	c.urlParams_.Set("alt", alt)
 20188  	c.urlParams_.Set("prettyPrint", "false")
 20189  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/channels/{+channelId}/sites")
 20190  	urls += "?" + c.urlParams_.Encode()
 20191  	req, err := http.NewRequest("GET", urls, body)
 20192  	if err != nil {
 20193  		return nil, err
 20194  	}
 20195  	req.Header = reqHeaders
 20196  	googleapi.Expand(req.URL, map[string]string{
 20197  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 20198  		"channelId":    strconv.FormatInt(c.channelId, 10),
 20199  	})
 20200  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20201  }
 20202  
 20203  // Do executes the "displayvideo.advertisers.channels.sites.list" call.
 20204  // Any non-2xx status code is an error. Response headers are in either
 20205  // *ListSitesResponse.ServerResponse.Header or (if a response was returned at
 20206  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 20207  // check whether the returned error was because http.StatusNotModified was
 20208  // returned.
 20209  func (c *AdvertisersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) {
 20210  	gensupport.SetOptions(c.urlParams_, opts...)
 20211  	res, err := c.doRequest("json")
 20212  	if res != nil && res.StatusCode == http.StatusNotModified {
 20213  		if res.Body != nil {
 20214  			res.Body.Close()
 20215  		}
 20216  		return nil, gensupport.WrapError(&googleapi.Error{
 20217  			Code:   res.StatusCode,
 20218  			Header: res.Header,
 20219  		})
 20220  	}
 20221  	if err != nil {
 20222  		return nil, err
 20223  	}
 20224  	defer googleapi.CloseBody(res)
 20225  	if err := googleapi.CheckResponse(res); err != nil {
 20226  		return nil, gensupport.WrapError(err)
 20227  	}
 20228  	ret := &ListSitesResponse{
 20229  		ServerResponse: googleapi.ServerResponse{
 20230  			Header:         res.Header,
 20231  			HTTPStatusCode: res.StatusCode,
 20232  		},
 20233  	}
 20234  	target := &ret
 20235  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20236  		return nil, err
 20237  	}
 20238  	return ret, nil
 20239  }
 20240  
 20241  // Pages invokes f for each page of results.
 20242  // A non-nil error returned from f will halt the iteration.
 20243  // The provided context supersedes any context provided to the Context method.
 20244  func (c *AdvertisersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error {
 20245  	c.ctx_ = ctx
 20246  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 20247  	for {
 20248  		x, err := c.Do()
 20249  		if err != nil {
 20250  			return err
 20251  		}
 20252  		if err := f(x); err != nil {
 20253  			return err
 20254  		}
 20255  		if x.NextPageToken == "" {
 20256  			return nil
 20257  		}
 20258  		c.PageToken(x.NextPageToken)
 20259  	}
 20260  }
 20261  
 20262  type AdvertisersChannelsSitesReplaceCall struct {
 20263  	s                   *Service
 20264  	advertiserId        int64
 20265  	channelId           int64
 20266  	replacesitesrequest *ReplaceSitesRequest
 20267  	urlParams_          gensupport.URLParams
 20268  	ctx_                context.Context
 20269  	header_             http.Header
 20270  }
 20271  
 20272  // Replace: Replaces all of the sites under a single channel. The operation
 20273  // will replace the sites under a channel with the sites provided in
 20274  // ReplaceSitesRequest.new_sites. **This method regularly experiences high
 20275  // latency.** We recommend increasing your default timeout
 20276  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 20277  // to avoid errors.
 20278  //
 20279  // - advertiserId: The ID of the advertiser that owns the parent channel.
 20280  // - channelId: The ID of the parent channel whose sites will be replaced.
 20281  func (r *AdvertisersChannelsSitesService) Replace(advertiserId int64, channelId int64, replacesitesrequest *ReplaceSitesRequest) *AdvertisersChannelsSitesReplaceCall {
 20282  	c := &AdvertisersChannelsSitesReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20283  	c.advertiserId = advertiserId
 20284  	c.channelId = channelId
 20285  	c.replacesitesrequest = replacesitesrequest
 20286  	return c
 20287  }
 20288  
 20289  // Fields allows partial responses to be retrieved. See
 20290  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20291  // details.
 20292  func (c *AdvertisersChannelsSitesReplaceCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesReplaceCall {
 20293  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20294  	return c
 20295  }
 20296  
 20297  // Context sets the context to be used in this call's Do method.
 20298  func (c *AdvertisersChannelsSitesReplaceCall) Context(ctx context.Context) *AdvertisersChannelsSitesReplaceCall {
 20299  	c.ctx_ = ctx
 20300  	return c
 20301  }
 20302  
 20303  // Header returns a http.Header that can be modified by the caller to add
 20304  // headers to the request.
 20305  func (c *AdvertisersChannelsSitesReplaceCall) Header() http.Header {
 20306  	if c.header_ == nil {
 20307  		c.header_ = make(http.Header)
 20308  	}
 20309  	return c.header_
 20310  }
 20311  
 20312  func (c *AdvertisersChannelsSitesReplaceCall) doRequest(alt string) (*http.Response, error) {
 20313  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 20314  	var body io.Reader = nil
 20315  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacesitesrequest)
 20316  	if err != nil {
 20317  		return nil, err
 20318  	}
 20319  	c.urlParams_.Set("alt", alt)
 20320  	c.urlParams_.Set("prettyPrint", "false")
 20321  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/channels/{+channelId}/sites:replace")
 20322  	urls += "?" + c.urlParams_.Encode()
 20323  	req, err := http.NewRequest("POST", urls, body)
 20324  	if err != nil {
 20325  		return nil, err
 20326  	}
 20327  	req.Header = reqHeaders
 20328  	googleapi.Expand(req.URL, map[string]string{
 20329  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 20330  		"channelId":    strconv.FormatInt(c.channelId, 10),
 20331  	})
 20332  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20333  }
 20334  
 20335  // Do executes the "displayvideo.advertisers.channels.sites.replace" call.
 20336  // Any non-2xx status code is an error. Response headers are in either
 20337  // *ReplaceSitesResponse.ServerResponse.Header or (if a response was returned
 20338  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 20339  // check whether the returned error was because http.StatusNotModified was
 20340  // returned.
 20341  func (c *AdvertisersChannelsSitesReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceSitesResponse, error) {
 20342  	gensupport.SetOptions(c.urlParams_, opts...)
 20343  	res, err := c.doRequest("json")
 20344  	if res != nil && res.StatusCode == http.StatusNotModified {
 20345  		if res.Body != nil {
 20346  			res.Body.Close()
 20347  		}
 20348  		return nil, gensupport.WrapError(&googleapi.Error{
 20349  			Code:   res.StatusCode,
 20350  			Header: res.Header,
 20351  		})
 20352  	}
 20353  	if err != nil {
 20354  		return nil, err
 20355  	}
 20356  	defer googleapi.CloseBody(res)
 20357  	if err := googleapi.CheckResponse(res); err != nil {
 20358  		return nil, gensupport.WrapError(err)
 20359  	}
 20360  	ret := &ReplaceSitesResponse{
 20361  		ServerResponse: googleapi.ServerResponse{
 20362  			Header:         res.Header,
 20363  			HTTPStatusCode: res.StatusCode,
 20364  		},
 20365  	}
 20366  	target := &ret
 20367  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20368  		return nil, err
 20369  	}
 20370  	return ret, nil
 20371  }
 20372  
 20373  type AdvertisersCreativesCreateCall struct {
 20374  	s            *Service
 20375  	advertiserId int64
 20376  	creative     *Creative
 20377  	urlParams_   gensupport.URLParams
 20378  	ctx_         context.Context
 20379  	header_      http.Header
 20380  }
 20381  
 20382  // Create: Creates a new creative. Returns the newly created creative if
 20383  // successful. A "Standard" user role
 20384  // (//support.google.com/displayvideo/answer/2723011) or greater for the parent
 20385  // advertiser or partner is required to make this request.
 20386  //
 20387  //   - advertiserId: Output only. The unique ID of the advertiser the creative
 20388  //     belongs to.
 20389  func (r *AdvertisersCreativesService) Create(advertiserId int64, creative *Creative) *AdvertisersCreativesCreateCall {
 20390  	c := &AdvertisersCreativesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20391  	c.advertiserId = advertiserId
 20392  	c.creative = creative
 20393  	return c
 20394  }
 20395  
 20396  // Fields allows partial responses to be retrieved. See
 20397  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20398  // details.
 20399  func (c *AdvertisersCreativesCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreativesCreateCall {
 20400  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20401  	return c
 20402  }
 20403  
 20404  // Context sets the context to be used in this call's Do method.
 20405  func (c *AdvertisersCreativesCreateCall) Context(ctx context.Context) *AdvertisersCreativesCreateCall {
 20406  	c.ctx_ = ctx
 20407  	return c
 20408  }
 20409  
 20410  // Header returns a http.Header that can be modified by the caller to add
 20411  // headers to the request.
 20412  func (c *AdvertisersCreativesCreateCall) Header() http.Header {
 20413  	if c.header_ == nil {
 20414  		c.header_ = make(http.Header)
 20415  	}
 20416  	return c.header_
 20417  }
 20418  
 20419  func (c *AdvertisersCreativesCreateCall) doRequest(alt string) (*http.Response, error) {
 20420  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 20421  	var body io.Reader = nil
 20422  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 20423  	if err != nil {
 20424  		return nil, err
 20425  	}
 20426  	c.urlParams_.Set("alt", alt)
 20427  	c.urlParams_.Set("prettyPrint", "false")
 20428  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/creatives")
 20429  	urls += "?" + c.urlParams_.Encode()
 20430  	req, err := http.NewRequest("POST", urls, body)
 20431  	if err != nil {
 20432  		return nil, err
 20433  	}
 20434  	req.Header = reqHeaders
 20435  	googleapi.Expand(req.URL, map[string]string{
 20436  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 20437  	})
 20438  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20439  }
 20440  
 20441  // Do executes the "displayvideo.advertisers.creatives.create" call.
 20442  // Any non-2xx status code is an error. Response headers are in either
 20443  // *Creative.ServerResponse.Header or (if a response was returned at all) in
 20444  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20445  // whether the returned error was because http.StatusNotModified was returned.
 20446  func (c *AdvertisersCreativesCreateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 20447  	gensupport.SetOptions(c.urlParams_, opts...)
 20448  	res, err := c.doRequest("json")
 20449  	if res != nil && res.StatusCode == http.StatusNotModified {
 20450  		if res.Body != nil {
 20451  			res.Body.Close()
 20452  		}
 20453  		return nil, gensupport.WrapError(&googleapi.Error{
 20454  			Code:   res.StatusCode,
 20455  			Header: res.Header,
 20456  		})
 20457  	}
 20458  	if err != nil {
 20459  		return nil, err
 20460  	}
 20461  	defer googleapi.CloseBody(res)
 20462  	if err := googleapi.CheckResponse(res); err != nil {
 20463  		return nil, gensupport.WrapError(err)
 20464  	}
 20465  	ret := &Creative{
 20466  		ServerResponse: googleapi.ServerResponse{
 20467  			Header:         res.Header,
 20468  			HTTPStatusCode: res.StatusCode,
 20469  		},
 20470  	}
 20471  	target := &ret
 20472  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20473  		return nil, err
 20474  	}
 20475  	return ret, nil
 20476  }
 20477  
 20478  type AdvertisersCreativesDeleteCall struct {
 20479  	s            *Service
 20480  	advertiserId int64
 20481  	creativeId   int64
 20482  	urlParams_   gensupport.URLParams
 20483  	ctx_         context.Context
 20484  	header_      http.Header
 20485  }
 20486  
 20487  // Delete: Deletes a creative. Returns error code `NOT_FOUND` if the creative
 20488  // does not exist. The creative should be archived first, i.e. set
 20489  // entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A
 20490  // "Standard" user role (//support.google.com/displayvideo/answer/2723011) or
 20491  // greater for the parent advertiser or partner is required to make this
 20492  // request.
 20493  //
 20494  // - advertiserId: The ID of the advertiser this creative belongs to.
 20495  // - creativeId: The ID of the creative to be deleted.
 20496  func (r *AdvertisersCreativesService) Delete(advertiserId int64, creativeId int64) *AdvertisersCreativesDeleteCall {
 20497  	c := &AdvertisersCreativesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20498  	c.advertiserId = advertiserId
 20499  	c.creativeId = creativeId
 20500  	return c
 20501  }
 20502  
 20503  // Fields allows partial responses to be retrieved. See
 20504  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20505  // details.
 20506  func (c *AdvertisersCreativesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCreativesDeleteCall {
 20507  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20508  	return c
 20509  }
 20510  
 20511  // Context sets the context to be used in this call's Do method.
 20512  func (c *AdvertisersCreativesDeleteCall) Context(ctx context.Context) *AdvertisersCreativesDeleteCall {
 20513  	c.ctx_ = ctx
 20514  	return c
 20515  }
 20516  
 20517  // Header returns a http.Header that can be modified by the caller to add
 20518  // headers to the request.
 20519  func (c *AdvertisersCreativesDeleteCall) Header() http.Header {
 20520  	if c.header_ == nil {
 20521  		c.header_ = make(http.Header)
 20522  	}
 20523  	return c.header_
 20524  }
 20525  
 20526  func (c *AdvertisersCreativesDeleteCall) doRequest(alt string) (*http.Response, error) {
 20527  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20528  	var body io.Reader = nil
 20529  	c.urlParams_.Set("alt", alt)
 20530  	c.urlParams_.Set("prettyPrint", "false")
 20531  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/creatives/{+creativeId}")
 20532  	urls += "?" + c.urlParams_.Encode()
 20533  	req, err := http.NewRequest("DELETE", urls, body)
 20534  	if err != nil {
 20535  		return nil, err
 20536  	}
 20537  	req.Header = reqHeaders
 20538  	googleapi.Expand(req.URL, map[string]string{
 20539  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 20540  		"creativeId":   strconv.FormatInt(c.creativeId, 10),
 20541  	})
 20542  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20543  }
 20544  
 20545  // Do executes the "displayvideo.advertisers.creatives.delete" call.
 20546  // Any non-2xx status code is an error. Response headers are in either
 20547  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 20548  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20549  // whether the returned error was because http.StatusNotModified was returned.
 20550  func (c *AdvertisersCreativesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 20551  	gensupport.SetOptions(c.urlParams_, opts...)
 20552  	res, err := c.doRequest("json")
 20553  	if res != nil && res.StatusCode == http.StatusNotModified {
 20554  		if res.Body != nil {
 20555  			res.Body.Close()
 20556  		}
 20557  		return nil, gensupport.WrapError(&googleapi.Error{
 20558  			Code:   res.StatusCode,
 20559  			Header: res.Header,
 20560  		})
 20561  	}
 20562  	if err != nil {
 20563  		return nil, err
 20564  	}
 20565  	defer googleapi.CloseBody(res)
 20566  	if err := googleapi.CheckResponse(res); err != nil {
 20567  		return nil, gensupport.WrapError(err)
 20568  	}
 20569  	ret := &Empty{
 20570  		ServerResponse: googleapi.ServerResponse{
 20571  			Header:         res.Header,
 20572  			HTTPStatusCode: res.StatusCode,
 20573  		},
 20574  	}
 20575  	target := &ret
 20576  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20577  		return nil, err
 20578  	}
 20579  	return ret, nil
 20580  }
 20581  
 20582  type AdvertisersCreativesGetCall struct {
 20583  	s            *Service
 20584  	advertiserId int64
 20585  	creativeId   int64
 20586  	urlParams_   gensupport.URLParams
 20587  	ifNoneMatch_ string
 20588  	ctx_         context.Context
 20589  	header_      http.Header
 20590  }
 20591  
 20592  // Get: Gets a creative.
 20593  //
 20594  // - advertiserId: The ID of the advertiser this creative belongs to.
 20595  // - creativeId: The ID of the creative to fetch.
 20596  func (r *AdvertisersCreativesService) Get(advertiserId int64, creativeId int64) *AdvertisersCreativesGetCall {
 20597  	c := &AdvertisersCreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20598  	c.advertiserId = advertiserId
 20599  	c.creativeId = creativeId
 20600  	return c
 20601  }
 20602  
 20603  // Fields allows partial responses to be retrieved. See
 20604  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20605  // details.
 20606  func (c *AdvertisersCreativesGetCall) Fields(s ...googleapi.Field) *AdvertisersCreativesGetCall {
 20607  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20608  	return c
 20609  }
 20610  
 20611  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 20612  // object's ETag matches the given value. This is useful for getting updates
 20613  // only after the object has changed since the last request.
 20614  func (c *AdvertisersCreativesGetCall) IfNoneMatch(entityTag string) *AdvertisersCreativesGetCall {
 20615  	c.ifNoneMatch_ = entityTag
 20616  	return c
 20617  }
 20618  
 20619  // Context sets the context to be used in this call's Do method.
 20620  func (c *AdvertisersCreativesGetCall) Context(ctx context.Context) *AdvertisersCreativesGetCall {
 20621  	c.ctx_ = ctx
 20622  	return c
 20623  }
 20624  
 20625  // Header returns a http.Header that can be modified by the caller to add
 20626  // headers to the request.
 20627  func (c *AdvertisersCreativesGetCall) Header() http.Header {
 20628  	if c.header_ == nil {
 20629  		c.header_ = make(http.Header)
 20630  	}
 20631  	return c.header_
 20632  }
 20633  
 20634  func (c *AdvertisersCreativesGetCall) doRequest(alt string) (*http.Response, error) {
 20635  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20636  	if c.ifNoneMatch_ != "" {
 20637  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20638  	}
 20639  	var body io.Reader = nil
 20640  	c.urlParams_.Set("alt", alt)
 20641  	c.urlParams_.Set("prettyPrint", "false")
 20642  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/creatives/{+creativeId}")
 20643  	urls += "?" + c.urlParams_.Encode()
 20644  	req, err := http.NewRequest("GET", urls, body)
 20645  	if err != nil {
 20646  		return nil, err
 20647  	}
 20648  	req.Header = reqHeaders
 20649  	googleapi.Expand(req.URL, map[string]string{
 20650  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 20651  		"creativeId":   strconv.FormatInt(c.creativeId, 10),
 20652  	})
 20653  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20654  }
 20655  
 20656  // Do executes the "displayvideo.advertisers.creatives.get" call.
 20657  // Any non-2xx status code is an error. Response headers are in either
 20658  // *Creative.ServerResponse.Header or (if a response was returned at all) in
 20659  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20660  // whether the returned error was because http.StatusNotModified was returned.
 20661  func (c *AdvertisersCreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 20662  	gensupport.SetOptions(c.urlParams_, opts...)
 20663  	res, err := c.doRequest("json")
 20664  	if res != nil && res.StatusCode == http.StatusNotModified {
 20665  		if res.Body != nil {
 20666  			res.Body.Close()
 20667  		}
 20668  		return nil, gensupport.WrapError(&googleapi.Error{
 20669  			Code:   res.StatusCode,
 20670  			Header: res.Header,
 20671  		})
 20672  	}
 20673  	if err != nil {
 20674  		return nil, err
 20675  	}
 20676  	defer googleapi.CloseBody(res)
 20677  	if err := googleapi.CheckResponse(res); err != nil {
 20678  		return nil, gensupport.WrapError(err)
 20679  	}
 20680  	ret := &Creative{
 20681  		ServerResponse: googleapi.ServerResponse{
 20682  			Header:         res.Header,
 20683  			HTTPStatusCode: res.StatusCode,
 20684  		},
 20685  	}
 20686  	target := &ret
 20687  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20688  		return nil, err
 20689  	}
 20690  	return ret, nil
 20691  }
 20692  
 20693  type AdvertisersCreativesListCall struct {
 20694  	s            *Service
 20695  	advertiserId int64
 20696  	urlParams_   gensupport.URLParams
 20697  	ifNoneMatch_ string
 20698  	ctx_         context.Context
 20699  	header_      http.Header
 20700  }
 20701  
 20702  // List: Lists creatives in an advertiser. The order is defined by the order_by
 20703  // parameter. If a filter by entity_status is not specified, creatives with
 20704  // `ENTITY_STATUS_ARCHIVED` will not be included in the results.
 20705  //
 20706  // - advertiserId: The ID of the advertiser to list creatives for.
 20707  func (r *AdvertisersCreativesService) List(advertiserId int64) *AdvertisersCreativesListCall {
 20708  	c := &AdvertisersCreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20709  	c.advertiserId = advertiserId
 20710  	return c
 20711  }
 20712  
 20713  // Filter sets the optional parameter "filter": Allows filtering by creative
 20714  // fields. Supported syntax: * Filter expressions are made up of one or more
 20715  // restrictions. * Restrictions can be combined by `AND` or `OR` logical
 20716  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 20717  // has the form of `{field} {operator} {value}`. * The `lineItemIds` field must
 20718  // use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER
 20719  // THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All
 20720  // other fields must use the `EQUALS (=)` operator. * For `entityStatus`,
 20721  // `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may
 20722  // be at most one restriction. Supported Fields: * `approvalStatus` *
 20723  // `creativeId` * `creativeType` * `dimensions` (input in the form of
 20724  // `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus`
 20725  // (input in the form of `{exchange}-{reviewStatus}`) * `lineItemIds` *
 20726  // `maxDuration` (input in the form of `{duration}s`. Only seconds are
 20727  // supported) * `minDuration` (input in the form of `{duration}s`. Only seconds
 20728  // are supported) * `updateTime` (input in ISO 8601 format, or
 20729  // `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's
 20730  // field value reflects the last time that a creative has been updated, which
 20731  // includes updates made by the system (e.g. creative review updates).
 20732  // Examples: * All native creatives: `creativeType="CREATIVE_TYPE_NATIVE" *
 20733  // All active creatives with 300x400 or 50x100 dimensions:
 20734  // `entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR
 20735  // dimensions="50x100")` * All dynamic creatives that are approved by AdX or
 20736  // AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic="true"
 20737  // AND minDuration="5.2s" AND
 20738  // (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR
 20739  // exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All
 20740  // video creatives that are associated with line item ID 1 or 2:
 20741  // `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR lineItemIds:2)` *
 20742  // Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` *
 20743  // All creatives with an update time greater than or equal to
 20744  // 2020-11-04T18:54:47Z (format of ISO 8601):
 20745  // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no
 20746  // more than 500 characters. Reference our filter `LIST` requests
 20747  // (/display-video/api/guides/how-tos/filters) guide for more information.
 20748  func (c *AdvertisersCreativesListCall) Filter(filter string) *AdvertisersCreativesListCall {
 20749  	c.urlParams_.Set("filter", filter)
 20750  	return c
 20751  }
 20752  
 20753  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 20754  // list. Acceptable values are: * `creativeId` (default) * `createTime` *
 20755  // `mediaDuration` * `dimensions` (sorts by width first, then by height) The
 20756  // default sorting order is ascending. To specify descending order for a field,
 20757  // a suffix "desc" should be added to the field name. Example: `createTime
 20758  // desc`.
 20759  func (c *AdvertisersCreativesListCall) OrderBy(orderBy string) *AdvertisersCreativesListCall {
 20760  	c.urlParams_.Set("orderBy", orderBy)
 20761  	return c
 20762  }
 20763  
 20764  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 20765  // be between `1` and `200`. If unspecified will default to `100`. Returns
 20766  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 20767  func (c *AdvertisersCreativesListCall) PageSize(pageSize int64) *AdvertisersCreativesListCall {
 20768  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 20769  	return c
 20770  }
 20771  
 20772  // PageToken sets the optional parameter "pageToken": A token identifying a
 20773  // page of results the server should return. Typically, this is the value of
 20774  // next_page_token returned from the previous call to `ListCreatives` method.
 20775  // If not specified, the first page of results will be returned.
 20776  func (c *AdvertisersCreativesListCall) PageToken(pageToken string) *AdvertisersCreativesListCall {
 20777  	c.urlParams_.Set("pageToken", pageToken)
 20778  	return c
 20779  }
 20780  
 20781  // Fields allows partial responses to be retrieved. See
 20782  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20783  // details.
 20784  func (c *AdvertisersCreativesListCall) Fields(s ...googleapi.Field) *AdvertisersCreativesListCall {
 20785  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20786  	return c
 20787  }
 20788  
 20789  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 20790  // object's ETag matches the given value. This is useful for getting updates
 20791  // only after the object has changed since the last request.
 20792  func (c *AdvertisersCreativesListCall) IfNoneMatch(entityTag string) *AdvertisersCreativesListCall {
 20793  	c.ifNoneMatch_ = entityTag
 20794  	return c
 20795  }
 20796  
 20797  // Context sets the context to be used in this call's Do method.
 20798  func (c *AdvertisersCreativesListCall) Context(ctx context.Context) *AdvertisersCreativesListCall {
 20799  	c.ctx_ = ctx
 20800  	return c
 20801  }
 20802  
 20803  // Header returns a http.Header that can be modified by the caller to add
 20804  // headers to the request.
 20805  func (c *AdvertisersCreativesListCall) Header() http.Header {
 20806  	if c.header_ == nil {
 20807  		c.header_ = make(http.Header)
 20808  	}
 20809  	return c.header_
 20810  }
 20811  
 20812  func (c *AdvertisersCreativesListCall) doRequest(alt string) (*http.Response, error) {
 20813  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 20814  	if c.ifNoneMatch_ != "" {
 20815  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20816  	}
 20817  	var body io.Reader = nil
 20818  	c.urlParams_.Set("alt", alt)
 20819  	c.urlParams_.Set("prettyPrint", "false")
 20820  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/creatives")
 20821  	urls += "?" + c.urlParams_.Encode()
 20822  	req, err := http.NewRequest("GET", urls, body)
 20823  	if err != nil {
 20824  		return nil, err
 20825  	}
 20826  	req.Header = reqHeaders
 20827  	googleapi.Expand(req.URL, map[string]string{
 20828  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 20829  	})
 20830  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20831  }
 20832  
 20833  // Do executes the "displayvideo.advertisers.creatives.list" call.
 20834  // Any non-2xx status code is an error. Response headers are in either
 20835  // *ListCreativesResponse.ServerResponse.Header or (if a response was returned
 20836  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 20837  // check whether the returned error was because http.StatusNotModified was
 20838  // returned.
 20839  func (c *AdvertisersCreativesListCall) Do(opts ...googleapi.CallOption) (*ListCreativesResponse, error) {
 20840  	gensupport.SetOptions(c.urlParams_, opts...)
 20841  	res, err := c.doRequest("json")
 20842  	if res != nil && res.StatusCode == http.StatusNotModified {
 20843  		if res.Body != nil {
 20844  			res.Body.Close()
 20845  		}
 20846  		return nil, gensupport.WrapError(&googleapi.Error{
 20847  			Code:   res.StatusCode,
 20848  			Header: res.Header,
 20849  		})
 20850  	}
 20851  	if err != nil {
 20852  		return nil, err
 20853  	}
 20854  	defer googleapi.CloseBody(res)
 20855  	if err := googleapi.CheckResponse(res); err != nil {
 20856  		return nil, gensupport.WrapError(err)
 20857  	}
 20858  	ret := &ListCreativesResponse{
 20859  		ServerResponse: googleapi.ServerResponse{
 20860  			Header:         res.Header,
 20861  			HTTPStatusCode: res.StatusCode,
 20862  		},
 20863  	}
 20864  	target := &ret
 20865  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20866  		return nil, err
 20867  	}
 20868  	return ret, nil
 20869  }
 20870  
 20871  // Pages invokes f for each page of results.
 20872  // A non-nil error returned from f will halt the iteration.
 20873  // The provided context supersedes any context provided to the Context method.
 20874  func (c *AdvertisersCreativesListCall) Pages(ctx context.Context, f func(*ListCreativesResponse) error) error {
 20875  	c.ctx_ = ctx
 20876  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 20877  	for {
 20878  		x, err := c.Do()
 20879  		if err != nil {
 20880  			return err
 20881  		}
 20882  		if err := f(x); err != nil {
 20883  			return err
 20884  		}
 20885  		if x.NextPageToken == "" {
 20886  			return nil
 20887  		}
 20888  		c.PageToken(x.NextPageToken)
 20889  	}
 20890  }
 20891  
 20892  type AdvertisersCreativesPatchCall struct {
 20893  	s            *Service
 20894  	advertiserId int64
 20895  	creativeId   int64
 20896  	creative     *Creative
 20897  	urlParams_   gensupport.URLParams
 20898  	ctx_         context.Context
 20899  	header_      http.Header
 20900  }
 20901  
 20902  // Patch: Updates an existing creative. Returns the updated creative if
 20903  // successful. A "Standard" user role
 20904  // (//support.google.com/displayvideo/answer/2723011) or greater for the parent
 20905  // advertiser or partner is required to make this request.
 20906  //
 20907  //   - advertiserId: Output only. The unique ID of the advertiser the creative
 20908  //     belongs to.
 20909  //   - creativeId: Output only. The unique ID of the creative. Assigned by the
 20910  //     system.
 20911  func (r *AdvertisersCreativesService) Patch(advertiserId int64, creativeId int64, creative *Creative) *AdvertisersCreativesPatchCall {
 20912  	c := &AdvertisersCreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20913  	c.advertiserId = advertiserId
 20914  	c.creativeId = creativeId
 20915  	c.creative = creative
 20916  	return c
 20917  }
 20918  
 20919  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 20920  // control which fields to update.
 20921  func (c *AdvertisersCreativesPatchCall) UpdateMask(updateMask string) *AdvertisersCreativesPatchCall {
 20922  	c.urlParams_.Set("updateMask", updateMask)
 20923  	return c
 20924  }
 20925  
 20926  // Fields allows partial responses to be retrieved. See
 20927  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 20928  // details.
 20929  func (c *AdvertisersCreativesPatchCall) Fields(s ...googleapi.Field) *AdvertisersCreativesPatchCall {
 20930  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20931  	return c
 20932  }
 20933  
 20934  // Context sets the context to be used in this call's Do method.
 20935  func (c *AdvertisersCreativesPatchCall) Context(ctx context.Context) *AdvertisersCreativesPatchCall {
 20936  	c.ctx_ = ctx
 20937  	return c
 20938  }
 20939  
 20940  // Header returns a http.Header that can be modified by the caller to add
 20941  // headers to the request.
 20942  func (c *AdvertisersCreativesPatchCall) Header() http.Header {
 20943  	if c.header_ == nil {
 20944  		c.header_ = make(http.Header)
 20945  	}
 20946  	return c.header_
 20947  }
 20948  
 20949  func (c *AdvertisersCreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 20950  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 20951  	var body io.Reader = nil
 20952  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 20953  	if err != nil {
 20954  		return nil, err
 20955  	}
 20956  	c.urlParams_.Set("alt", alt)
 20957  	c.urlParams_.Set("prettyPrint", "false")
 20958  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/creatives/{+creativeId}")
 20959  	urls += "?" + c.urlParams_.Encode()
 20960  	req, err := http.NewRequest("PATCH", urls, body)
 20961  	if err != nil {
 20962  		return nil, err
 20963  	}
 20964  	req.Header = reqHeaders
 20965  	googleapi.Expand(req.URL, map[string]string{
 20966  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 20967  		"creativeId":   strconv.FormatInt(c.creativeId, 10),
 20968  	})
 20969  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20970  }
 20971  
 20972  // Do executes the "displayvideo.advertisers.creatives.patch" call.
 20973  // Any non-2xx status code is an error. Response headers are in either
 20974  // *Creative.ServerResponse.Header or (if a response was returned at all) in
 20975  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20976  // whether the returned error was because http.StatusNotModified was returned.
 20977  func (c *AdvertisersCreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 20978  	gensupport.SetOptions(c.urlParams_, opts...)
 20979  	res, err := c.doRequest("json")
 20980  	if res != nil && res.StatusCode == http.StatusNotModified {
 20981  		if res.Body != nil {
 20982  			res.Body.Close()
 20983  		}
 20984  		return nil, gensupport.WrapError(&googleapi.Error{
 20985  			Code:   res.StatusCode,
 20986  			Header: res.Header,
 20987  		})
 20988  	}
 20989  	if err != nil {
 20990  		return nil, err
 20991  	}
 20992  	defer googleapi.CloseBody(res)
 20993  	if err := googleapi.CheckResponse(res); err != nil {
 20994  		return nil, gensupport.WrapError(err)
 20995  	}
 20996  	ret := &Creative{
 20997  		ServerResponse: googleapi.ServerResponse{
 20998  			Header:         res.Header,
 20999  			HTTPStatusCode: res.StatusCode,
 21000  		},
 21001  	}
 21002  	target := &ret
 21003  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21004  		return nil, err
 21005  	}
 21006  	return ret, nil
 21007  }
 21008  
 21009  type AdvertisersInsertionOrdersCreateCall struct {
 21010  	s              *Service
 21011  	advertiserId   int64
 21012  	insertionorder *InsertionOrder
 21013  	urlParams_     gensupport.URLParams
 21014  	ctx_           context.Context
 21015  	header_        http.Header
 21016  }
 21017  
 21018  // Create: Creates a new insertion order. Returns the newly created insertion
 21019  // order if successful.
 21020  //
 21021  //   - advertiserId: Output only. The unique ID of the advertiser the insertion
 21022  //     order belongs to.
 21023  func (r *AdvertisersInsertionOrdersService) Create(advertiserId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersCreateCall {
 21024  	c := &AdvertisersInsertionOrdersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21025  	c.advertiserId = advertiserId
 21026  	c.insertionorder = insertionorder
 21027  	return c
 21028  }
 21029  
 21030  // Fields allows partial responses to be retrieved. See
 21031  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21032  // details.
 21033  func (c *AdvertisersInsertionOrdersCreateCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersCreateCall {
 21034  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21035  	return c
 21036  }
 21037  
 21038  // Context sets the context to be used in this call's Do method.
 21039  func (c *AdvertisersInsertionOrdersCreateCall) Context(ctx context.Context) *AdvertisersInsertionOrdersCreateCall {
 21040  	c.ctx_ = ctx
 21041  	return c
 21042  }
 21043  
 21044  // Header returns a http.Header that can be modified by the caller to add
 21045  // headers to the request.
 21046  func (c *AdvertisersInsertionOrdersCreateCall) Header() http.Header {
 21047  	if c.header_ == nil {
 21048  		c.header_ = make(http.Header)
 21049  	}
 21050  	return c.header_
 21051  }
 21052  
 21053  func (c *AdvertisersInsertionOrdersCreateCall) doRequest(alt string) (*http.Response, error) {
 21054  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 21055  	var body io.Reader = nil
 21056  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder)
 21057  	if err != nil {
 21058  		return nil, err
 21059  	}
 21060  	c.urlParams_.Set("alt", alt)
 21061  	c.urlParams_.Set("prettyPrint", "false")
 21062  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/insertionOrders")
 21063  	urls += "?" + c.urlParams_.Encode()
 21064  	req, err := http.NewRequest("POST", urls, body)
 21065  	if err != nil {
 21066  		return nil, err
 21067  	}
 21068  	req.Header = reqHeaders
 21069  	googleapi.Expand(req.URL, map[string]string{
 21070  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 21071  	})
 21072  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21073  }
 21074  
 21075  // Do executes the "displayvideo.advertisers.insertionOrders.create" call.
 21076  // Any non-2xx status code is an error. Response headers are in either
 21077  // *InsertionOrder.ServerResponse.Header or (if a response was returned at all)
 21078  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 21079  // whether the returned error was because http.StatusNotModified was returned.
 21080  func (c *AdvertisersInsertionOrdersCreateCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
 21081  	gensupport.SetOptions(c.urlParams_, opts...)
 21082  	res, err := c.doRequest("json")
 21083  	if res != nil && res.StatusCode == http.StatusNotModified {
 21084  		if res.Body != nil {
 21085  			res.Body.Close()
 21086  		}
 21087  		return nil, gensupport.WrapError(&googleapi.Error{
 21088  			Code:   res.StatusCode,
 21089  			Header: res.Header,
 21090  		})
 21091  	}
 21092  	if err != nil {
 21093  		return nil, err
 21094  	}
 21095  	defer googleapi.CloseBody(res)
 21096  	if err := googleapi.CheckResponse(res); err != nil {
 21097  		return nil, gensupport.WrapError(err)
 21098  	}
 21099  	ret := &InsertionOrder{
 21100  		ServerResponse: googleapi.ServerResponse{
 21101  			Header:         res.Header,
 21102  			HTTPStatusCode: res.StatusCode,
 21103  		},
 21104  	}
 21105  	target := &ret
 21106  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21107  		return nil, err
 21108  	}
 21109  	return ret, nil
 21110  }
 21111  
 21112  type AdvertisersInsertionOrdersDeleteCall struct {
 21113  	s                *Service
 21114  	advertiserId     int64
 21115  	insertionOrderId int64
 21116  	urlParams_       gensupport.URLParams
 21117  	ctx_             context.Context
 21118  	header_          http.Header
 21119  }
 21120  
 21121  // Delete: Deletes an insertion order. Returns error code `NOT_FOUND` if the
 21122  // insertion order does not exist. The insertion order should be archived
 21123  // first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to
 21124  // delete it.
 21125  //
 21126  // - advertiserId: The ID of the advertiser this insertion order belongs to.
 21127  // - insertionOrderId: The ID of the insertion order to delete.
 21128  func (r *AdvertisersInsertionOrdersService) Delete(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersDeleteCall {
 21129  	c := &AdvertisersInsertionOrdersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21130  	c.advertiserId = advertiserId
 21131  	c.insertionOrderId = insertionOrderId
 21132  	return c
 21133  }
 21134  
 21135  // Fields allows partial responses to be retrieved. See
 21136  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21137  // details.
 21138  func (c *AdvertisersInsertionOrdersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersDeleteCall {
 21139  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21140  	return c
 21141  }
 21142  
 21143  // Context sets the context to be used in this call's Do method.
 21144  func (c *AdvertisersInsertionOrdersDeleteCall) Context(ctx context.Context) *AdvertisersInsertionOrdersDeleteCall {
 21145  	c.ctx_ = ctx
 21146  	return c
 21147  }
 21148  
 21149  // Header returns a http.Header that can be modified by the caller to add
 21150  // headers to the request.
 21151  func (c *AdvertisersInsertionOrdersDeleteCall) Header() http.Header {
 21152  	if c.header_ == nil {
 21153  		c.header_ = make(http.Header)
 21154  	}
 21155  	return c.header_
 21156  }
 21157  
 21158  func (c *AdvertisersInsertionOrdersDeleteCall) doRequest(alt string) (*http.Response, error) {
 21159  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 21160  	var body io.Reader = nil
 21161  	c.urlParams_.Set("alt", alt)
 21162  	c.urlParams_.Set("prettyPrint", "false")
 21163  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
 21164  	urls += "?" + c.urlParams_.Encode()
 21165  	req, err := http.NewRequest("DELETE", urls, body)
 21166  	if err != nil {
 21167  		return nil, err
 21168  	}
 21169  	req.Header = reqHeaders
 21170  	googleapi.Expand(req.URL, map[string]string{
 21171  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 21172  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 21173  	})
 21174  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21175  }
 21176  
 21177  // Do executes the "displayvideo.advertisers.insertionOrders.delete" call.
 21178  // Any non-2xx status code is an error. Response headers are in either
 21179  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 21180  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 21181  // whether the returned error was because http.StatusNotModified was returned.
 21182  func (c *AdvertisersInsertionOrdersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 21183  	gensupport.SetOptions(c.urlParams_, opts...)
 21184  	res, err := c.doRequest("json")
 21185  	if res != nil && res.StatusCode == http.StatusNotModified {
 21186  		if res.Body != nil {
 21187  			res.Body.Close()
 21188  		}
 21189  		return nil, gensupport.WrapError(&googleapi.Error{
 21190  			Code:   res.StatusCode,
 21191  			Header: res.Header,
 21192  		})
 21193  	}
 21194  	if err != nil {
 21195  		return nil, err
 21196  	}
 21197  	defer googleapi.CloseBody(res)
 21198  	if err := googleapi.CheckResponse(res); err != nil {
 21199  		return nil, gensupport.WrapError(err)
 21200  	}
 21201  	ret := &Empty{
 21202  		ServerResponse: googleapi.ServerResponse{
 21203  			Header:         res.Header,
 21204  			HTTPStatusCode: res.StatusCode,
 21205  		},
 21206  	}
 21207  	target := &ret
 21208  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21209  		return nil, err
 21210  	}
 21211  	return ret, nil
 21212  }
 21213  
 21214  type AdvertisersInsertionOrdersGetCall struct {
 21215  	s                *Service
 21216  	advertiserId     int64
 21217  	insertionOrderId int64
 21218  	urlParams_       gensupport.URLParams
 21219  	ifNoneMatch_     string
 21220  	ctx_             context.Context
 21221  	header_          http.Header
 21222  }
 21223  
 21224  // Get: Gets an insertion order. Returns error code `NOT_FOUND` if the
 21225  // insertion order does not exist.
 21226  //
 21227  // - advertiserId: The ID of the advertiser this insertion order belongs to.
 21228  // - insertionOrderId: The ID of the insertion order to fetch.
 21229  func (r *AdvertisersInsertionOrdersService) Get(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersGetCall {
 21230  	c := &AdvertisersInsertionOrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21231  	c.advertiserId = advertiserId
 21232  	c.insertionOrderId = insertionOrderId
 21233  	return c
 21234  }
 21235  
 21236  // Fields allows partial responses to be retrieved. See
 21237  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21238  // details.
 21239  func (c *AdvertisersInsertionOrdersGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersGetCall {
 21240  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21241  	return c
 21242  }
 21243  
 21244  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 21245  // object's ETag matches the given value. This is useful for getting updates
 21246  // only after the object has changed since the last request.
 21247  func (c *AdvertisersInsertionOrdersGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersGetCall {
 21248  	c.ifNoneMatch_ = entityTag
 21249  	return c
 21250  }
 21251  
 21252  // Context sets the context to be used in this call's Do method.
 21253  func (c *AdvertisersInsertionOrdersGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersGetCall {
 21254  	c.ctx_ = ctx
 21255  	return c
 21256  }
 21257  
 21258  // Header returns a http.Header that can be modified by the caller to add
 21259  // headers to the request.
 21260  func (c *AdvertisersInsertionOrdersGetCall) Header() http.Header {
 21261  	if c.header_ == nil {
 21262  		c.header_ = make(http.Header)
 21263  	}
 21264  	return c.header_
 21265  }
 21266  
 21267  func (c *AdvertisersInsertionOrdersGetCall) doRequest(alt string) (*http.Response, error) {
 21268  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 21269  	if c.ifNoneMatch_ != "" {
 21270  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21271  	}
 21272  	var body io.Reader = nil
 21273  	c.urlParams_.Set("alt", alt)
 21274  	c.urlParams_.Set("prettyPrint", "false")
 21275  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
 21276  	urls += "?" + c.urlParams_.Encode()
 21277  	req, err := http.NewRequest("GET", urls, body)
 21278  	if err != nil {
 21279  		return nil, err
 21280  	}
 21281  	req.Header = reqHeaders
 21282  	googleapi.Expand(req.URL, map[string]string{
 21283  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 21284  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 21285  	})
 21286  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21287  }
 21288  
 21289  // Do executes the "displayvideo.advertisers.insertionOrders.get" call.
 21290  // Any non-2xx status code is an error. Response headers are in either
 21291  // *InsertionOrder.ServerResponse.Header or (if a response was returned at all)
 21292  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 21293  // whether the returned error was because http.StatusNotModified was returned.
 21294  func (c *AdvertisersInsertionOrdersGetCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
 21295  	gensupport.SetOptions(c.urlParams_, opts...)
 21296  	res, err := c.doRequest("json")
 21297  	if res != nil && res.StatusCode == http.StatusNotModified {
 21298  		if res.Body != nil {
 21299  			res.Body.Close()
 21300  		}
 21301  		return nil, gensupport.WrapError(&googleapi.Error{
 21302  			Code:   res.StatusCode,
 21303  			Header: res.Header,
 21304  		})
 21305  	}
 21306  	if err != nil {
 21307  		return nil, err
 21308  	}
 21309  	defer googleapi.CloseBody(res)
 21310  	if err := googleapi.CheckResponse(res); err != nil {
 21311  		return nil, gensupport.WrapError(err)
 21312  	}
 21313  	ret := &InsertionOrder{
 21314  		ServerResponse: googleapi.ServerResponse{
 21315  			Header:         res.Header,
 21316  			HTTPStatusCode: res.StatusCode,
 21317  		},
 21318  	}
 21319  	target := &ret
 21320  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21321  		return nil, err
 21322  	}
 21323  	return ret, nil
 21324  }
 21325  
 21326  type AdvertisersInsertionOrdersListCall struct {
 21327  	s            *Service
 21328  	advertiserId int64
 21329  	urlParams_   gensupport.URLParams
 21330  	ifNoneMatch_ string
 21331  	ctx_         context.Context
 21332  	header_      http.Header
 21333  }
 21334  
 21335  // List: Lists insertion orders in an advertiser. The order is defined by the
 21336  // order_by parameter. If a filter by entity_status is not specified, insertion
 21337  // orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.
 21338  //
 21339  // - advertiserId: The ID of the advertiser to list insertion orders for.
 21340  func (r *AdvertisersInsertionOrdersService) List(advertiserId int64) *AdvertisersInsertionOrdersListCall {
 21341  	c := &AdvertisersInsertionOrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21342  	c.advertiserId = advertiserId
 21343  	return c
 21344  }
 21345  
 21346  // Filter sets the optional parameter "filter": Allows filtering by insertion
 21347  // order fields. Supported syntax: * Filter expressions are made up of one or
 21348  // more restrictions. * Restrictions can be combined by `AND` or `OR` logical
 21349  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 21350  // has the form of `{field} {operator} {value}`. * The `updateTime` field must
 21351  // use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`
 21352  // operators. * All other fields must use the `EQUALS (=)` operator. Supported
 21353  // fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime`
 21354  // (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All
 21355  // insertion orders under a campaign: `campaignId="1234" * All
 21356  // `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an
 21357  // advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
 21358  // entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders with an update
 21359  // time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 21360  // `updateTime<="2020-11-04T18:54:47Z" * All insertion orders with an update
 21361  // time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 21362  // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no
 21363  // more than 500 characters. Reference our filter `LIST` requests
 21364  // (/display-video/api/guides/how-tos/filters) guide for more information.
 21365  func (c *AdvertisersInsertionOrdersListCall) Filter(filter string) *AdvertisersInsertionOrdersListCall {
 21366  	c.urlParams_.Set("filter", filter)
 21367  	return c
 21368  }
 21369  
 21370  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 21371  // list. Acceptable values are: * "displayName" (default) * "entityStatus" *
 21372  // "updateTime" The default sorting order is ascending. To specify descending
 21373  // order for a field, a suffix "desc" should be added to the field name.
 21374  // Example: `displayName desc`.
 21375  func (c *AdvertisersInsertionOrdersListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersListCall {
 21376  	c.urlParams_.Set("orderBy", orderBy)
 21377  	return c
 21378  }
 21379  
 21380  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 21381  // be between `1` and `100`. If unspecified will default to `100`. Returns
 21382  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 21383  func (c *AdvertisersInsertionOrdersListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersListCall {
 21384  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 21385  	return c
 21386  }
 21387  
 21388  // PageToken sets the optional parameter "pageToken": A token identifying a
 21389  // page of results the server should return. Typically, this is the value of
 21390  // next_page_token returned from the previous call to `ListInsertionOrders`
 21391  // method. If not specified, the first page of results will be returned.
 21392  func (c *AdvertisersInsertionOrdersListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersListCall {
 21393  	c.urlParams_.Set("pageToken", pageToken)
 21394  	return c
 21395  }
 21396  
 21397  // Fields allows partial responses to be retrieved. See
 21398  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21399  // details.
 21400  func (c *AdvertisersInsertionOrdersListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersListCall {
 21401  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21402  	return c
 21403  }
 21404  
 21405  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 21406  // object's ETag matches the given value. This is useful for getting updates
 21407  // only after the object has changed since the last request.
 21408  func (c *AdvertisersInsertionOrdersListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersListCall {
 21409  	c.ifNoneMatch_ = entityTag
 21410  	return c
 21411  }
 21412  
 21413  // Context sets the context to be used in this call's Do method.
 21414  func (c *AdvertisersInsertionOrdersListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersListCall {
 21415  	c.ctx_ = ctx
 21416  	return c
 21417  }
 21418  
 21419  // Header returns a http.Header that can be modified by the caller to add
 21420  // headers to the request.
 21421  func (c *AdvertisersInsertionOrdersListCall) Header() http.Header {
 21422  	if c.header_ == nil {
 21423  		c.header_ = make(http.Header)
 21424  	}
 21425  	return c.header_
 21426  }
 21427  
 21428  func (c *AdvertisersInsertionOrdersListCall) doRequest(alt string) (*http.Response, error) {
 21429  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 21430  	if c.ifNoneMatch_ != "" {
 21431  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21432  	}
 21433  	var body io.Reader = nil
 21434  	c.urlParams_.Set("alt", alt)
 21435  	c.urlParams_.Set("prettyPrint", "false")
 21436  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/insertionOrders")
 21437  	urls += "?" + c.urlParams_.Encode()
 21438  	req, err := http.NewRequest("GET", urls, body)
 21439  	if err != nil {
 21440  		return nil, err
 21441  	}
 21442  	req.Header = reqHeaders
 21443  	googleapi.Expand(req.URL, map[string]string{
 21444  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 21445  	})
 21446  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21447  }
 21448  
 21449  // Do executes the "displayvideo.advertisers.insertionOrders.list" call.
 21450  // Any non-2xx status code is an error. Response headers are in either
 21451  // *ListInsertionOrdersResponse.ServerResponse.Header or (if a response was
 21452  // returned at all) in error.(*googleapi.Error).Header. Use
 21453  // googleapi.IsNotModified to check whether the returned error was because
 21454  // http.StatusNotModified was returned.
 21455  func (c *AdvertisersInsertionOrdersListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrdersResponse, error) {
 21456  	gensupport.SetOptions(c.urlParams_, opts...)
 21457  	res, err := c.doRequest("json")
 21458  	if res != nil && res.StatusCode == http.StatusNotModified {
 21459  		if res.Body != nil {
 21460  			res.Body.Close()
 21461  		}
 21462  		return nil, gensupport.WrapError(&googleapi.Error{
 21463  			Code:   res.StatusCode,
 21464  			Header: res.Header,
 21465  		})
 21466  	}
 21467  	if err != nil {
 21468  		return nil, err
 21469  	}
 21470  	defer googleapi.CloseBody(res)
 21471  	if err := googleapi.CheckResponse(res); err != nil {
 21472  		return nil, gensupport.WrapError(err)
 21473  	}
 21474  	ret := &ListInsertionOrdersResponse{
 21475  		ServerResponse: googleapi.ServerResponse{
 21476  			Header:         res.Header,
 21477  			HTTPStatusCode: res.StatusCode,
 21478  		},
 21479  	}
 21480  	target := &ret
 21481  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21482  		return nil, err
 21483  	}
 21484  	return ret, nil
 21485  }
 21486  
 21487  // Pages invokes f for each page of results.
 21488  // A non-nil error returned from f will halt the iteration.
 21489  // The provided context supersedes any context provided to the Context method.
 21490  func (c *AdvertisersInsertionOrdersListCall) Pages(ctx context.Context, f func(*ListInsertionOrdersResponse) error) error {
 21491  	c.ctx_ = ctx
 21492  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 21493  	for {
 21494  		x, err := c.Do()
 21495  		if err != nil {
 21496  			return err
 21497  		}
 21498  		if err := f(x); err != nil {
 21499  			return err
 21500  		}
 21501  		if x.NextPageToken == "" {
 21502  			return nil
 21503  		}
 21504  		c.PageToken(x.NextPageToken)
 21505  	}
 21506  }
 21507  
 21508  type AdvertisersInsertionOrdersListAssignedTargetingOptionsCall struct {
 21509  	s                *Service
 21510  	advertiserId     int64
 21511  	insertionOrderId int64
 21512  	urlParams_       gensupport.URLParams
 21513  	ifNoneMatch_     string
 21514  	ctx_             context.Context
 21515  	header_          http.Header
 21516  }
 21517  
 21518  // ListAssignedTargetingOptions: Lists assigned targeting options of an
 21519  // insertion order across targeting types.
 21520  //
 21521  //   - advertiserId: The ID of the advertiser the insertion order belongs to.
 21522  //   - insertionOrderId: The ID of the insertion order to list assigned targeting
 21523  //     options for.
 21524  func (r *AdvertisersInsertionOrdersService) ListAssignedTargetingOptions(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 21525  	c := &AdvertisersInsertionOrdersListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21526  	c.advertiserId = advertiserId
 21527  	c.insertionOrderId = insertionOrderId
 21528  	return c
 21529  }
 21530  
 21531  // Filter sets the optional parameter "filter": Allows filtering by assigned
 21532  // targeting option fields. Supported syntax: * Filter expressions are made up
 21533  // of one or more restrictions. * Restrictions can be combined by the logical
 21534  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 21535  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 21536  // `targetingType` * `inheritance` Examples: * `AssignedTargetingOption`
 21537  // resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or
 21538  // `TARGETING_TYPE_CHANNEL`:
 21539  // `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR
 21540  // targetingType="TARGETING_TYPE_CHANNEL" * `AssignedTargetingOption`
 21541  // resources with inheritance status of `NOT_INHERITED` or
 21542  // `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR
 21543  // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no
 21544  // more than 500 characters. Reference our filter `LIST` requests
 21545  // (/display-video/api/guides/how-tos/filters) guide for more information.
 21546  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 21547  	c.urlParams_.Set("filter", filter)
 21548  	return c
 21549  }
 21550  
 21551  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 21552  // list. Acceptable values are: * `targetingType` (default) The default sorting
 21553  // order is ascending. To specify descending order for a field, a suffix "desc"
 21554  // should be added to the field name. Example: `targetingType desc`.
 21555  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 21556  	c.urlParams_.Set("orderBy", orderBy)
 21557  	return c
 21558  }
 21559  
 21560  // PageSize sets the optional parameter "pageSize": Requested page size. The
 21561  // size must be an integer between `1` and `5000`. If unspecified, the default
 21562  // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is
 21563  // specified.
 21564  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 21565  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 21566  	return c
 21567  }
 21568  
 21569  // PageToken sets the optional parameter "pageToken": A token that lets the
 21570  // client fetch the next page of results. Typically, this is the value of
 21571  // next_page_token returned from the previous call to
 21572  // `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified,
 21573  // the first page of results will be returned.
 21574  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 21575  	c.urlParams_.Set("pageToken", pageToken)
 21576  	return c
 21577  }
 21578  
 21579  // Fields allows partial responses to be retrieved. See
 21580  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21581  // details.
 21582  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 21583  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21584  	return c
 21585  }
 21586  
 21587  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 21588  // object's ETag matches the given value. This is useful for getting updates
 21589  // only after the object has changed since the last request.
 21590  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 21591  	c.ifNoneMatch_ = entityTag
 21592  	return c
 21593  }
 21594  
 21595  // Context sets the context to be used in this call's Do method.
 21596  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall {
 21597  	c.ctx_ = ctx
 21598  	return c
 21599  }
 21600  
 21601  // Header returns a http.Header that can be modified by the caller to add
 21602  // headers to the request.
 21603  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Header() http.Header {
 21604  	if c.header_ == nil {
 21605  		c.header_ = make(http.Header)
 21606  	}
 21607  	return c.header_
 21608  }
 21609  
 21610  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 21611  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 21612  	if c.ifNoneMatch_ != "" {
 21613  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21614  	}
 21615  	var body io.Reader = nil
 21616  	c.urlParams_.Set("alt", alt)
 21617  	c.urlParams_.Set("prettyPrint", "false")
 21618  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:listAssignedTargetingOptions")
 21619  	urls += "?" + c.urlParams_.Encode()
 21620  	req, err := http.NewRequest("GET", urls, body)
 21621  	if err != nil {
 21622  		return nil, err
 21623  	}
 21624  	req.Header = reqHeaders
 21625  	googleapi.Expand(req.URL, map[string]string{
 21626  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 21627  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 21628  	})
 21629  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21630  }
 21631  
 21632  // Do executes the "displayvideo.advertisers.insertionOrders.listAssignedTargetingOptions" call.
 21633  // Any non-2xx status code is an error. Response headers are in either
 21634  // *BulkListInsertionOrderAssignedTargetingOptionsResponse.ServerResponse.Header
 21635  //
 21636  //	or (if a response was returned at all) in error.(*googleapi.Error).Header.
 21637  //
 21638  // Use googleapi.IsNotModified to check whether the returned error was because
 21639  // http.StatusNotModified was returned.
 21640  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListInsertionOrderAssignedTargetingOptionsResponse, error) {
 21641  	gensupport.SetOptions(c.urlParams_, opts...)
 21642  	res, err := c.doRequest("json")
 21643  	if res != nil && res.StatusCode == http.StatusNotModified {
 21644  		if res.Body != nil {
 21645  			res.Body.Close()
 21646  		}
 21647  		return nil, gensupport.WrapError(&googleapi.Error{
 21648  			Code:   res.StatusCode,
 21649  			Header: res.Header,
 21650  		})
 21651  	}
 21652  	if err != nil {
 21653  		return nil, err
 21654  	}
 21655  	defer googleapi.CloseBody(res)
 21656  	if err := googleapi.CheckResponse(res); err != nil {
 21657  		return nil, gensupport.WrapError(err)
 21658  	}
 21659  	ret := &BulkListInsertionOrderAssignedTargetingOptionsResponse{
 21660  		ServerResponse: googleapi.ServerResponse{
 21661  			Header:         res.Header,
 21662  			HTTPStatusCode: res.StatusCode,
 21663  		},
 21664  	}
 21665  	target := &ret
 21666  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21667  		return nil, err
 21668  	}
 21669  	return ret, nil
 21670  }
 21671  
 21672  // Pages invokes f for each page of results.
 21673  // A non-nil error returned from f will halt the iteration.
 21674  // The provided context supersedes any context provided to the Context method.
 21675  func (c *AdvertisersInsertionOrdersListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListInsertionOrderAssignedTargetingOptionsResponse) error) error {
 21676  	c.ctx_ = ctx
 21677  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 21678  	for {
 21679  		x, err := c.Do()
 21680  		if err != nil {
 21681  			return err
 21682  		}
 21683  		if err := f(x); err != nil {
 21684  			return err
 21685  		}
 21686  		if x.NextPageToken == "" {
 21687  			return nil
 21688  		}
 21689  		c.PageToken(x.NextPageToken)
 21690  	}
 21691  }
 21692  
 21693  type AdvertisersInsertionOrdersPatchCall struct {
 21694  	s                *Service
 21695  	advertiserId     int64
 21696  	insertionOrderId int64
 21697  	insertionorder   *InsertionOrder
 21698  	urlParams_       gensupport.URLParams
 21699  	ctx_             context.Context
 21700  	header_          http.Header
 21701  }
 21702  
 21703  // Patch: Updates an existing insertion order. Returns the updated insertion
 21704  // order if successful.
 21705  //
 21706  //   - advertiserId: Output only. The unique ID of the advertiser the insertion
 21707  //     order belongs to.
 21708  //   - insertionOrderId: Output only. The unique ID of the insertion order.
 21709  //     Assigned by the system.
 21710  func (r *AdvertisersInsertionOrdersService) Patch(advertiserId int64, insertionOrderId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersPatchCall {
 21711  	c := &AdvertisersInsertionOrdersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21712  	c.advertiserId = advertiserId
 21713  	c.insertionOrderId = insertionOrderId
 21714  	c.insertionorder = insertionorder
 21715  	return c
 21716  }
 21717  
 21718  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 21719  // control which fields to update.
 21720  func (c *AdvertisersInsertionOrdersPatchCall) UpdateMask(updateMask string) *AdvertisersInsertionOrdersPatchCall {
 21721  	c.urlParams_.Set("updateMask", updateMask)
 21722  	return c
 21723  }
 21724  
 21725  // Fields allows partial responses to be retrieved. See
 21726  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21727  // details.
 21728  func (c *AdvertisersInsertionOrdersPatchCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersPatchCall {
 21729  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21730  	return c
 21731  }
 21732  
 21733  // Context sets the context to be used in this call's Do method.
 21734  func (c *AdvertisersInsertionOrdersPatchCall) Context(ctx context.Context) *AdvertisersInsertionOrdersPatchCall {
 21735  	c.ctx_ = ctx
 21736  	return c
 21737  }
 21738  
 21739  // Header returns a http.Header that can be modified by the caller to add
 21740  // headers to the request.
 21741  func (c *AdvertisersInsertionOrdersPatchCall) Header() http.Header {
 21742  	if c.header_ == nil {
 21743  		c.header_ = make(http.Header)
 21744  	}
 21745  	return c.header_
 21746  }
 21747  
 21748  func (c *AdvertisersInsertionOrdersPatchCall) doRequest(alt string) (*http.Response, error) {
 21749  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 21750  	var body io.Reader = nil
 21751  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder)
 21752  	if err != nil {
 21753  		return nil, err
 21754  	}
 21755  	c.urlParams_.Set("alt", alt)
 21756  	c.urlParams_.Set("prettyPrint", "false")
 21757  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
 21758  	urls += "?" + c.urlParams_.Encode()
 21759  	req, err := http.NewRequest("PATCH", urls, body)
 21760  	if err != nil {
 21761  		return nil, err
 21762  	}
 21763  	req.Header = reqHeaders
 21764  	googleapi.Expand(req.URL, map[string]string{
 21765  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 21766  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 21767  	})
 21768  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21769  }
 21770  
 21771  // Do executes the "displayvideo.advertisers.insertionOrders.patch" call.
 21772  // Any non-2xx status code is an error. Response headers are in either
 21773  // *InsertionOrder.ServerResponse.Header or (if a response was returned at all)
 21774  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 21775  // whether the returned error was because http.StatusNotModified was returned.
 21776  func (c *AdvertisersInsertionOrdersPatchCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
 21777  	gensupport.SetOptions(c.urlParams_, opts...)
 21778  	res, err := c.doRequest("json")
 21779  	if res != nil && res.StatusCode == http.StatusNotModified {
 21780  		if res.Body != nil {
 21781  			res.Body.Close()
 21782  		}
 21783  		return nil, gensupport.WrapError(&googleapi.Error{
 21784  			Code:   res.StatusCode,
 21785  			Header: res.Header,
 21786  		})
 21787  	}
 21788  	if err != nil {
 21789  		return nil, err
 21790  	}
 21791  	defer googleapi.CloseBody(res)
 21792  	if err := googleapi.CheckResponse(res); err != nil {
 21793  		return nil, gensupport.WrapError(err)
 21794  	}
 21795  	ret := &InsertionOrder{
 21796  		ServerResponse: googleapi.ServerResponse{
 21797  			Header:         res.Header,
 21798  			HTTPStatusCode: res.StatusCode,
 21799  		},
 21800  	}
 21801  	target := &ret
 21802  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21803  		return nil, err
 21804  	}
 21805  	return ret, nil
 21806  }
 21807  
 21808  type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall struct {
 21809  	s                       *Service
 21810  	advertiserId            int64
 21811  	insertionOrderId        int64
 21812  	targetingType           string
 21813  	assignedtargetingoption *AssignedTargetingOption
 21814  	urlParams_              gensupport.URLParams
 21815  	ctx_                    context.Context
 21816  	header_                 http.Header
 21817  }
 21818  
 21819  // Create: Assigns a targeting option to an insertion order. Returns the
 21820  // assigned targeting option if successful. Supported targeting types: *
 21821  // `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` *
 21822  // `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 21823  // `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 21824  // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 21825  // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` *
 21826  // `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` *
 21827  // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 21828  // `TARGETING_TYPE_PARENTAL_STATUS` *
 21829  // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`
 21830  //
 21831  //   - advertiserId: The ID of the advertiser the insertion order belongs to.
 21832  //   - insertionOrderId: The ID of the insertion order the assigned targeting
 21833  //     option will belong to.
 21834  //   - targetingType: Identifies the type of this assigned targeting option.
 21835  //     Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
 21836  //     `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` *
 21837  //     `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 21838  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 21839  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` *
 21840  //     `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` *
 21841  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM`
 21842  //   - `TARGETING_TYPE_PARENTAL_STATUS` *
 21843  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 21844  //     `TARGETING_TYPE_VIEWABILITY`.
 21845  func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, insertionOrderId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall {
 21846  	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21847  	c.advertiserId = advertiserId
 21848  	c.insertionOrderId = insertionOrderId
 21849  	c.targetingType = targetingType
 21850  	c.assignedtargetingoption = assignedtargetingoption
 21851  	return c
 21852  }
 21853  
 21854  // Fields allows partial responses to be retrieved. See
 21855  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21856  // details.
 21857  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall {
 21858  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21859  	return c
 21860  }
 21861  
 21862  // Context sets the context to be used in this call's Do method.
 21863  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall {
 21864  	c.ctx_ = ctx
 21865  	return c
 21866  }
 21867  
 21868  // Header returns a http.Header that can be modified by the caller to add
 21869  // headers to the request.
 21870  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
 21871  	if c.header_ == nil {
 21872  		c.header_ = make(http.Header)
 21873  	}
 21874  	return c.header_
 21875  }
 21876  
 21877  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 21878  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 21879  	var body io.Reader = nil
 21880  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
 21881  	if err != nil {
 21882  		return nil, err
 21883  	}
 21884  	c.urlParams_.Set("alt", alt)
 21885  	c.urlParams_.Set("prettyPrint", "false")
 21886  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 21887  	urls += "?" + c.urlParams_.Encode()
 21888  	req, err := http.NewRequest("POST", urls, body)
 21889  	if err != nil {
 21890  		return nil, err
 21891  	}
 21892  	req.Header = reqHeaders
 21893  	googleapi.Expand(req.URL, map[string]string{
 21894  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 21895  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 21896  		"targetingType":    c.targetingType,
 21897  	})
 21898  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21899  }
 21900  
 21901  // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.create" call.
 21902  // Any non-2xx status code is an error. Response headers are in either
 21903  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 21904  // returned at all) in error.(*googleapi.Error).Header. Use
 21905  // googleapi.IsNotModified to check whether the returned error was because
 21906  // http.StatusNotModified was returned.
 21907  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 21908  	gensupport.SetOptions(c.urlParams_, opts...)
 21909  	res, err := c.doRequest("json")
 21910  	if res != nil && res.StatusCode == http.StatusNotModified {
 21911  		if res.Body != nil {
 21912  			res.Body.Close()
 21913  		}
 21914  		return nil, gensupport.WrapError(&googleapi.Error{
 21915  			Code:   res.StatusCode,
 21916  			Header: res.Header,
 21917  		})
 21918  	}
 21919  	if err != nil {
 21920  		return nil, err
 21921  	}
 21922  	defer googleapi.CloseBody(res)
 21923  	if err := googleapi.CheckResponse(res); err != nil {
 21924  		return nil, gensupport.WrapError(err)
 21925  	}
 21926  	ret := &AssignedTargetingOption{
 21927  		ServerResponse: googleapi.ServerResponse{
 21928  			Header:         res.Header,
 21929  			HTTPStatusCode: res.StatusCode,
 21930  		},
 21931  	}
 21932  	target := &ret
 21933  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21934  		return nil, err
 21935  	}
 21936  	return ret, nil
 21937  }
 21938  
 21939  type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
 21940  	s                         *Service
 21941  	advertiserId              int64
 21942  	insertionOrderId          int64
 21943  	targetingType             string
 21944  	assignedTargetingOptionId string
 21945  	urlParams_                gensupport.URLParams
 21946  	ctx_                      context.Context
 21947  	header_                   http.Header
 21948  }
 21949  
 21950  // Delete: Deletes an assigned targeting option from an insertion order.
 21951  // Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
 21952  // `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` *
 21953  // `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 21954  // `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 21955  // `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` *
 21956  // `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` *
 21957  // `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 21958  // `TARGETING_TYPE_PARENTAL_STATUS` *
 21959  // `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`
 21960  //
 21961  //   - advertiserId: The ID of the advertiser the insertion order belongs to.
 21962  //   - assignedTargetingOptionId: The ID of the assigned targeting option to
 21963  //     delete.
 21964  //   - insertionOrderId: The ID of the insertion order the assigned targeting
 21965  //     option belongs to.
 21966  //   - targetingType: Identifies the type of this assigned targeting option.
 21967  //     Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
 21968  //     `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` *
 21969  //     `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 21970  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 21971  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` *
 21972  //     `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` *
 21973  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM`
 21974  //   - `TARGETING_TYPE_PARENTAL_STATUS` *
 21975  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 21976  //     `TARGETING_TYPE_VIEWABILITY`.
 21977  func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, insertionOrderId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall {
 21978  	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21979  	c.advertiserId = advertiserId
 21980  	c.insertionOrderId = insertionOrderId
 21981  	c.targetingType = targetingType
 21982  	c.assignedTargetingOptionId = assignedTargetingOptionId
 21983  	return c
 21984  }
 21985  
 21986  // Fields allows partial responses to be retrieved. See
 21987  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 21988  // details.
 21989  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall {
 21990  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21991  	return c
 21992  }
 21993  
 21994  // Context sets the context to be used in this call's Do method.
 21995  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall {
 21996  	c.ctx_ = ctx
 21997  	return c
 21998  }
 21999  
 22000  // Header returns a http.Header that can be modified by the caller to add
 22001  // headers to the request.
 22002  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
 22003  	if c.header_ == nil {
 22004  		c.header_ = make(http.Header)
 22005  	}
 22006  	return c.header_
 22007  }
 22008  
 22009  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 22010  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 22011  	var body io.Reader = nil
 22012  	c.urlParams_.Set("alt", alt)
 22013  	c.urlParams_.Set("prettyPrint", "false")
 22014  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 22015  	urls += "?" + c.urlParams_.Encode()
 22016  	req, err := http.NewRequest("DELETE", urls, body)
 22017  	if err != nil {
 22018  		return nil, err
 22019  	}
 22020  	req.Header = reqHeaders
 22021  	googleapi.Expand(req.URL, map[string]string{
 22022  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 22023  		"insertionOrderId":          strconv.FormatInt(c.insertionOrderId, 10),
 22024  		"targetingType":             c.targetingType,
 22025  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 22026  	})
 22027  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22028  }
 22029  
 22030  // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.delete" call.
 22031  // Any non-2xx status code is an error. Response headers are in either
 22032  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 22033  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 22034  // whether the returned error was because http.StatusNotModified was returned.
 22035  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 22036  	gensupport.SetOptions(c.urlParams_, opts...)
 22037  	res, err := c.doRequest("json")
 22038  	if res != nil && res.StatusCode == http.StatusNotModified {
 22039  		if res.Body != nil {
 22040  			res.Body.Close()
 22041  		}
 22042  		return nil, gensupport.WrapError(&googleapi.Error{
 22043  			Code:   res.StatusCode,
 22044  			Header: res.Header,
 22045  		})
 22046  	}
 22047  	if err != nil {
 22048  		return nil, err
 22049  	}
 22050  	defer googleapi.CloseBody(res)
 22051  	if err := googleapi.CheckResponse(res); err != nil {
 22052  		return nil, gensupport.WrapError(err)
 22053  	}
 22054  	ret := &Empty{
 22055  		ServerResponse: googleapi.ServerResponse{
 22056  			Header:         res.Header,
 22057  			HTTPStatusCode: res.StatusCode,
 22058  		},
 22059  	}
 22060  	target := &ret
 22061  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22062  		return nil, err
 22063  	}
 22064  	return ret, nil
 22065  }
 22066  
 22067  type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall struct {
 22068  	s                         *Service
 22069  	advertiserId              int64
 22070  	insertionOrderId          int64
 22071  	targetingType             string
 22072  	assignedTargetingOptionId string
 22073  	urlParams_                gensupport.URLParams
 22074  	ifNoneMatch_              string
 22075  	ctx_                      context.Context
 22076  	header_                   http.Header
 22077  }
 22078  
 22079  // Get: Gets a single targeting option assigned to an insertion order.
 22080  //
 22081  //   - advertiserId: The ID of the advertiser the insertion order belongs to.
 22082  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 22083  //     this insertion order that identifies the assigned targeting option being
 22084  //     requested.
 22085  //   - insertionOrderId: The ID of the insertion order the assigned targeting
 22086  //     option belongs to.
 22087  //   - targetingType: Identifies the type of this assigned targeting option.
 22088  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 22089  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 22090  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 22091  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 22092  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 22093  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 22094  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 22095  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 22096  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 22097  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 22098  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 22099  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 22100  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 22101  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 22102  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 22103  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 22104  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 22105  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 22106  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 22107  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 22108  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 22109  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 22110  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 22111  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 22112  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 22113  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`.
 22114  func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, insertionOrderId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
 22115  	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22116  	c.advertiserId = advertiserId
 22117  	c.insertionOrderId = insertionOrderId
 22118  	c.targetingType = targetingType
 22119  	c.assignedTargetingOptionId = assignedTargetingOptionId
 22120  	return c
 22121  }
 22122  
 22123  // Fields allows partial responses to be retrieved. See
 22124  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22125  // details.
 22126  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
 22127  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22128  	return c
 22129  }
 22130  
 22131  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 22132  // object's ETag matches the given value. This is useful for getting updates
 22133  // only after the object has changed since the last request.
 22134  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
 22135  	c.ifNoneMatch_ = entityTag
 22136  	return c
 22137  }
 22138  
 22139  // Context sets the context to be used in this call's Do method.
 22140  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
 22141  	c.ctx_ = ctx
 22142  	return c
 22143  }
 22144  
 22145  // Header returns a http.Header that can be modified by the caller to add
 22146  // headers to the request.
 22147  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 22148  	if c.header_ == nil {
 22149  		c.header_ = make(http.Header)
 22150  	}
 22151  	return c.header_
 22152  }
 22153  
 22154  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 22155  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 22156  	if c.ifNoneMatch_ != "" {
 22157  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22158  	}
 22159  	var body io.Reader = nil
 22160  	c.urlParams_.Set("alt", alt)
 22161  	c.urlParams_.Set("prettyPrint", "false")
 22162  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 22163  	urls += "?" + c.urlParams_.Encode()
 22164  	req, err := http.NewRequest("GET", urls, body)
 22165  	if err != nil {
 22166  		return nil, err
 22167  	}
 22168  	req.Header = reqHeaders
 22169  	googleapi.Expand(req.URL, map[string]string{
 22170  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 22171  		"insertionOrderId":          strconv.FormatInt(c.insertionOrderId, 10),
 22172  		"targetingType":             c.targetingType,
 22173  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 22174  	})
 22175  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22176  }
 22177  
 22178  // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get" call.
 22179  // Any non-2xx status code is an error. Response headers are in either
 22180  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 22181  // returned at all) in error.(*googleapi.Error).Header. Use
 22182  // googleapi.IsNotModified to check whether the returned error was because
 22183  // http.StatusNotModified was returned.
 22184  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 22185  	gensupport.SetOptions(c.urlParams_, opts...)
 22186  	res, err := c.doRequest("json")
 22187  	if res != nil && res.StatusCode == http.StatusNotModified {
 22188  		if res.Body != nil {
 22189  			res.Body.Close()
 22190  		}
 22191  		return nil, gensupport.WrapError(&googleapi.Error{
 22192  			Code:   res.StatusCode,
 22193  			Header: res.Header,
 22194  		})
 22195  	}
 22196  	if err != nil {
 22197  		return nil, err
 22198  	}
 22199  	defer googleapi.CloseBody(res)
 22200  	if err := googleapi.CheckResponse(res); err != nil {
 22201  		return nil, gensupport.WrapError(err)
 22202  	}
 22203  	ret := &AssignedTargetingOption{
 22204  		ServerResponse: googleapi.ServerResponse{
 22205  			Header:         res.Header,
 22206  			HTTPStatusCode: res.StatusCode,
 22207  		},
 22208  	}
 22209  	target := &ret
 22210  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22211  		return nil, err
 22212  	}
 22213  	return ret, nil
 22214  }
 22215  
 22216  type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall struct {
 22217  	s                *Service
 22218  	advertiserId     int64
 22219  	insertionOrderId int64
 22220  	targetingType    string
 22221  	urlParams_       gensupport.URLParams
 22222  	ifNoneMatch_     string
 22223  	ctx_             context.Context
 22224  	header_          http.Header
 22225  }
 22226  
 22227  // List: Lists the targeting options assigned to an insertion order.
 22228  //
 22229  //   - advertiserId: The ID of the advertiser the insertion order belongs to.
 22230  //   - insertionOrderId: The ID of the insertion order to list assigned targeting
 22231  //     options for.
 22232  //   - targetingType: Identifies the type of assigned targeting options to list.
 22233  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 22234  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 22235  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 22236  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 22237  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 22238  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 22239  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 22240  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 22241  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 22242  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 22243  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 22244  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 22245  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 22246  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 22247  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 22248  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 22249  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 22250  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 22251  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 22252  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 22253  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 22254  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 22255  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 22256  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 22257  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 22258  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`.
 22259  func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, insertionOrderId int64, targetingType string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 22260  	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22261  	c.advertiserId = advertiserId
 22262  	c.insertionOrderId = insertionOrderId
 22263  	c.targetingType = targetingType
 22264  	return c
 22265  }
 22266  
 22267  // Filter sets the optional parameter "filter": Allows filtering by assigned
 22268  // targeting option fields. Supported syntax: * Filter expressions are made up
 22269  // of one or more restrictions. * Restrictions can be combined by the logical
 22270  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 22271  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 22272  // `assignedTargetingOptionId` * `inheritance` Examples: *
 22273  // `AssignedTargetingOption` resources with ID 1 or 2:
 22274  // `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
 22275  // `AssignedTargetingOption` resources with inheritance status of
 22276  // `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR
 22277  // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no
 22278  // more than 500 characters. Reference our filter `LIST` requests
 22279  // (/display-video/api/guides/how-tos/filters) guide for more information.
 22280  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 22281  	c.urlParams_.Set("filter", filter)
 22282  	return c
 22283  }
 22284  
 22285  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 22286  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 22287  // default sorting order is ascending. To specify descending order for a field,
 22288  // a suffix "desc" should be added to the field name. Example:
 22289  // `assignedTargetingOptionId desc`.
 22290  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 22291  	c.urlParams_.Set("orderBy", orderBy)
 22292  	return c
 22293  }
 22294  
 22295  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 22296  // be between `1` and `5000`. If unspecified will default to `100`. Returns
 22297  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 22298  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 22299  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 22300  	return c
 22301  }
 22302  
 22303  // PageToken sets the optional parameter "pageToken": A token identifying a
 22304  // page of results the server should return. Typically, this is the value of
 22305  // next_page_token returned from the previous call to
 22306  // `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the
 22307  // first page of results will be returned.
 22308  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 22309  	c.urlParams_.Set("pageToken", pageToken)
 22310  	return c
 22311  }
 22312  
 22313  // Fields allows partial responses to be retrieved. See
 22314  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22315  // details.
 22316  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 22317  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22318  	return c
 22319  }
 22320  
 22321  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 22322  // object's ETag matches the given value. This is useful for getting updates
 22323  // only after the object has changed since the last request.
 22324  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 22325  	c.ifNoneMatch_ = entityTag
 22326  	return c
 22327  }
 22328  
 22329  // Context sets the context to be used in this call's Do method.
 22330  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
 22331  	c.ctx_ = ctx
 22332  	return c
 22333  }
 22334  
 22335  // Header returns a http.Header that can be modified by the caller to add
 22336  // headers to the request.
 22337  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 22338  	if c.header_ == nil {
 22339  		c.header_ = make(http.Header)
 22340  	}
 22341  	return c.header_
 22342  }
 22343  
 22344  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 22345  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 22346  	if c.ifNoneMatch_ != "" {
 22347  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22348  	}
 22349  	var body io.Reader = nil
 22350  	c.urlParams_.Set("alt", alt)
 22351  	c.urlParams_.Set("prettyPrint", "false")
 22352  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 22353  	urls += "?" + c.urlParams_.Encode()
 22354  	req, err := http.NewRequest("GET", urls, body)
 22355  	if err != nil {
 22356  		return nil, err
 22357  	}
 22358  	req.Header = reqHeaders
 22359  	googleapi.Expand(req.URL, map[string]string{
 22360  		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
 22361  		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
 22362  		"targetingType":    c.targetingType,
 22363  	})
 22364  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22365  }
 22366  
 22367  // Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list" call.
 22368  // Any non-2xx status code is an error. Response headers are in either
 22369  // *ListInsertionOrderAssignedTargetingOptionsResponse.ServerResponse.Header or
 22370  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 22371  // googleapi.IsNotModified to check whether the returned error was because
 22372  // http.StatusNotModified was returned.
 22373  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrderAssignedTargetingOptionsResponse, error) {
 22374  	gensupport.SetOptions(c.urlParams_, opts...)
 22375  	res, err := c.doRequest("json")
 22376  	if res != nil && res.StatusCode == http.StatusNotModified {
 22377  		if res.Body != nil {
 22378  			res.Body.Close()
 22379  		}
 22380  		return nil, gensupport.WrapError(&googleapi.Error{
 22381  			Code:   res.StatusCode,
 22382  			Header: res.Header,
 22383  		})
 22384  	}
 22385  	if err != nil {
 22386  		return nil, err
 22387  	}
 22388  	defer googleapi.CloseBody(res)
 22389  	if err := googleapi.CheckResponse(res); err != nil {
 22390  		return nil, gensupport.WrapError(err)
 22391  	}
 22392  	ret := &ListInsertionOrderAssignedTargetingOptionsResponse{
 22393  		ServerResponse: googleapi.ServerResponse{
 22394  			Header:         res.Header,
 22395  			HTTPStatusCode: res.StatusCode,
 22396  		},
 22397  	}
 22398  	target := &ret
 22399  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22400  		return nil, err
 22401  	}
 22402  	return ret, nil
 22403  }
 22404  
 22405  // Pages invokes f for each page of results.
 22406  // A non-nil error returned from f will halt the iteration.
 22407  // The provided context supersedes any context provided to the Context method.
 22408  func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListInsertionOrderAssignedTargetingOptionsResponse) error) error {
 22409  	c.ctx_ = ctx
 22410  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 22411  	for {
 22412  		x, err := c.Do()
 22413  		if err != nil {
 22414  			return err
 22415  		}
 22416  		if err := f(x); err != nil {
 22417  			return err
 22418  		}
 22419  		if x.NextPageToken == "" {
 22420  			return nil
 22421  		}
 22422  		c.PageToken(x.NextPageToken)
 22423  	}
 22424  }
 22425  
 22426  type AdvertisersInvoicesListCall struct {
 22427  	s            *Service
 22428  	advertiserId int64
 22429  	urlParams_   gensupport.URLParams
 22430  	ifNoneMatch_ string
 22431  	ctx_         context.Context
 22432  	header_      http.Header
 22433  }
 22434  
 22435  // List: Lists invoices posted for an advertiser in a given month. Invoices
 22436  // generated by billing profiles with a "Partner" invoice level are not
 22437  // retrievable through this method.
 22438  //
 22439  // - advertiserId: The ID of the advertiser to list invoices for.
 22440  func (r *AdvertisersInvoicesService) List(advertiserId int64) *AdvertisersInvoicesListCall {
 22441  	c := &AdvertisersInvoicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22442  	c.advertiserId = advertiserId
 22443  	return c
 22444  }
 22445  
 22446  // IssueMonth sets the optional parameter "issueMonth": The month to list the
 22447  // invoices for. If not set, the request will retrieve invoices for the
 22448  // previous month. Must be in the format YYYYMM.
 22449  func (c *AdvertisersInvoicesListCall) IssueMonth(issueMonth string) *AdvertisersInvoicesListCall {
 22450  	c.urlParams_.Set("issueMonth", issueMonth)
 22451  	return c
 22452  }
 22453  
 22454  // LoiSapinInvoiceType sets the optional parameter "loiSapinInvoiceType":
 22455  // Select type of invoice to retrieve for Loi Sapin advertisers. Only
 22456  // applicable to Loi Sapin advertisers. Will be ignored otherwise.
 22457  //
 22458  // Possible values:
 22459  //
 22460  //	"LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED" - Value is not specified.
 22461  //	"LOI_SAPIN_INVOICE_TYPE_MEDIA" - Invoices with Media cost.
 22462  //	"LOI_SAPIN_INVOICE_TYPE_PLATFORM" - Invoices with Platform fee.
 22463  func (c *AdvertisersInvoicesListCall) LoiSapinInvoiceType(loiSapinInvoiceType string) *AdvertisersInvoicesListCall {
 22464  	c.urlParams_.Set("loiSapinInvoiceType", loiSapinInvoiceType)
 22465  	return c
 22466  }
 22467  
 22468  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 22469  // be between `1` and `200`. If unspecified will default to `100`. Returns
 22470  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 22471  func (c *AdvertisersInvoicesListCall) PageSize(pageSize int64) *AdvertisersInvoicesListCall {
 22472  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 22473  	return c
 22474  }
 22475  
 22476  // PageToken sets the optional parameter "pageToken": A token identifying a
 22477  // page of results the server should return. Typically, this is the value of
 22478  // next_page_token returned from the previous call to `ListInvoices` method. If
 22479  // not specified, the first page of results will be returned.
 22480  func (c *AdvertisersInvoicesListCall) PageToken(pageToken string) *AdvertisersInvoicesListCall {
 22481  	c.urlParams_.Set("pageToken", pageToken)
 22482  	return c
 22483  }
 22484  
 22485  // Fields allows partial responses to be retrieved. See
 22486  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22487  // details.
 22488  func (c *AdvertisersInvoicesListCall) Fields(s ...googleapi.Field) *AdvertisersInvoicesListCall {
 22489  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22490  	return c
 22491  }
 22492  
 22493  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 22494  // object's ETag matches the given value. This is useful for getting updates
 22495  // only after the object has changed since the last request.
 22496  func (c *AdvertisersInvoicesListCall) IfNoneMatch(entityTag string) *AdvertisersInvoicesListCall {
 22497  	c.ifNoneMatch_ = entityTag
 22498  	return c
 22499  }
 22500  
 22501  // Context sets the context to be used in this call's Do method.
 22502  func (c *AdvertisersInvoicesListCall) Context(ctx context.Context) *AdvertisersInvoicesListCall {
 22503  	c.ctx_ = ctx
 22504  	return c
 22505  }
 22506  
 22507  // Header returns a http.Header that can be modified by the caller to add
 22508  // headers to the request.
 22509  func (c *AdvertisersInvoicesListCall) Header() http.Header {
 22510  	if c.header_ == nil {
 22511  		c.header_ = make(http.Header)
 22512  	}
 22513  	return c.header_
 22514  }
 22515  
 22516  func (c *AdvertisersInvoicesListCall) doRequest(alt string) (*http.Response, error) {
 22517  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 22518  	if c.ifNoneMatch_ != "" {
 22519  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22520  	}
 22521  	var body io.Reader = nil
 22522  	c.urlParams_.Set("alt", alt)
 22523  	c.urlParams_.Set("prettyPrint", "false")
 22524  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/invoices")
 22525  	urls += "?" + c.urlParams_.Encode()
 22526  	req, err := http.NewRequest("GET", urls, body)
 22527  	if err != nil {
 22528  		return nil, err
 22529  	}
 22530  	req.Header = reqHeaders
 22531  	googleapi.Expand(req.URL, map[string]string{
 22532  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 22533  	})
 22534  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22535  }
 22536  
 22537  // Do executes the "displayvideo.advertisers.invoices.list" call.
 22538  // Any non-2xx status code is an error. Response headers are in either
 22539  // *ListInvoicesResponse.ServerResponse.Header or (if a response was returned
 22540  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 22541  // check whether the returned error was because http.StatusNotModified was
 22542  // returned.
 22543  func (c *AdvertisersInvoicesListCall) Do(opts ...googleapi.CallOption) (*ListInvoicesResponse, error) {
 22544  	gensupport.SetOptions(c.urlParams_, opts...)
 22545  	res, err := c.doRequest("json")
 22546  	if res != nil && res.StatusCode == http.StatusNotModified {
 22547  		if res.Body != nil {
 22548  			res.Body.Close()
 22549  		}
 22550  		return nil, gensupport.WrapError(&googleapi.Error{
 22551  			Code:   res.StatusCode,
 22552  			Header: res.Header,
 22553  		})
 22554  	}
 22555  	if err != nil {
 22556  		return nil, err
 22557  	}
 22558  	defer googleapi.CloseBody(res)
 22559  	if err := googleapi.CheckResponse(res); err != nil {
 22560  		return nil, gensupport.WrapError(err)
 22561  	}
 22562  	ret := &ListInvoicesResponse{
 22563  		ServerResponse: googleapi.ServerResponse{
 22564  			Header:         res.Header,
 22565  			HTTPStatusCode: res.StatusCode,
 22566  		},
 22567  	}
 22568  	target := &ret
 22569  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22570  		return nil, err
 22571  	}
 22572  	return ret, nil
 22573  }
 22574  
 22575  // Pages invokes f for each page of results.
 22576  // A non-nil error returned from f will halt the iteration.
 22577  // The provided context supersedes any context provided to the Context method.
 22578  func (c *AdvertisersInvoicesListCall) Pages(ctx context.Context, f func(*ListInvoicesResponse) error) error {
 22579  	c.ctx_ = ctx
 22580  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 22581  	for {
 22582  		x, err := c.Do()
 22583  		if err != nil {
 22584  			return err
 22585  		}
 22586  		if err := f(x); err != nil {
 22587  			return err
 22588  		}
 22589  		if x.NextPageToken == "" {
 22590  			return nil
 22591  		}
 22592  		c.PageToken(x.NextPageToken)
 22593  	}
 22594  }
 22595  
 22596  type AdvertisersInvoicesLookupInvoiceCurrencyCall struct {
 22597  	s            *Service
 22598  	advertiserId int64
 22599  	urlParams_   gensupport.URLParams
 22600  	ifNoneMatch_ string
 22601  	ctx_         context.Context
 22602  	header_      http.Header
 22603  }
 22604  
 22605  // LookupInvoiceCurrency: Retrieves the invoice currency used by an advertiser
 22606  // in a given month.
 22607  //
 22608  // - advertiserId: The ID of the advertiser to lookup currency for.
 22609  func (r *AdvertisersInvoicesService) LookupInvoiceCurrency(advertiserId int64) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
 22610  	c := &AdvertisersInvoicesLookupInvoiceCurrencyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22611  	c.advertiserId = advertiserId
 22612  	return c
 22613  }
 22614  
 22615  // InvoiceMonth sets the optional parameter "invoiceMonth": Month for which the
 22616  // currency is needed. If not set, the request will return existing currency
 22617  // settings for the advertiser. Must be in the format YYYYMM.
 22618  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) InvoiceMonth(invoiceMonth string) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
 22619  	c.urlParams_.Set("invoiceMonth", invoiceMonth)
 22620  	return c
 22621  }
 22622  
 22623  // Fields allows partial responses to be retrieved. See
 22624  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22625  // details.
 22626  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Fields(s ...googleapi.Field) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
 22627  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22628  	return c
 22629  }
 22630  
 22631  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 22632  // object's ETag matches the given value. This is useful for getting updates
 22633  // only after the object has changed since the last request.
 22634  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) IfNoneMatch(entityTag string) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
 22635  	c.ifNoneMatch_ = entityTag
 22636  	return c
 22637  }
 22638  
 22639  // Context sets the context to be used in this call's Do method.
 22640  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Context(ctx context.Context) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
 22641  	c.ctx_ = ctx
 22642  	return c
 22643  }
 22644  
 22645  // Header returns a http.Header that can be modified by the caller to add
 22646  // headers to the request.
 22647  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Header() http.Header {
 22648  	if c.header_ == nil {
 22649  		c.header_ = make(http.Header)
 22650  	}
 22651  	return c.header_
 22652  }
 22653  
 22654  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) doRequest(alt string) (*http.Response, error) {
 22655  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 22656  	if c.ifNoneMatch_ != "" {
 22657  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22658  	}
 22659  	var body io.Reader = nil
 22660  	c.urlParams_.Set("alt", alt)
 22661  	c.urlParams_.Set("prettyPrint", "false")
 22662  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency")
 22663  	urls += "?" + c.urlParams_.Encode()
 22664  	req, err := http.NewRequest("GET", urls, body)
 22665  	if err != nil {
 22666  		return nil, err
 22667  	}
 22668  	req.Header = reqHeaders
 22669  	googleapi.Expand(req.URL, map[string]string{
 22670  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 22671  	})
 22672  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22673  }
 22674  
 22675  // Do executes the "displayvideo.advertisers.invoices.lookupInvoiceCurrency" call.
 22676  // Any non-2xx status code is an error. Response headers are in either
 22677  // *LookupInvoiceCurrencyResponse.ServerResponse.Header or (if a response was
 22678  // returned at all) in error.(*googleapi.Error).Header. Use
 22679  // googleapi.IsNotModified to check whether the returned error was because
 22680  // http.StatusNotModified was returned.
 22681  func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Do(opts ...googleapi.CallOption) (*LookupInvoiceCurrencyResponse, error) {
 22682  	gensupport.SetOptions(c.urlParams_, opts...)
 22683  	res, err := c.doRequest("json")
 22684  	if res != nil && res.StatusCode == http.StatusNotModified {
 22685  		if res.Body != nil {
 22686  			res.Body.Close()
 22687  		}
 22688  		return nil, gensupport.WrapError(&googleapi.Error{
 22689  			Code:   res.StatusCode,
 22690  			Header: res.Header,
 22691  		})
 22692  	}
 22693  	if err != nil {
 22694  		return nil, err
 22695  	}
 22696  	defer googleapi.CloseBody(res)
 22697  	if err := googleapi.CheckResponse(res); err != nil {
 22698  		return nil, gensupport.WrapError(err)
 22699  	}
 22700  	ret := &LookupInvoiceCurrencyResponse{
 22701  		ServerResponse: googleapi.ServerResponse{
 22702  			Header:         res.Header,
 22703  			HTTPStatusCode: res.StatusCode,
 22704  		},
 22705  	}
 22706  	target := &ret
 22707  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22708  		return nil, err
 22709  	}
 22710  	return ret, nil
 22711  }
 22712  
 22713  type AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall struct {
 22714  	s                                       *Service
 22715  	advertiserId                            int64
 22716  	bulkeditassignedtargetingoptionsrequest *BulkEditAssignedTargetingOptionsRequest
 22717  	urlParams_                              gensupport.URLParams
 22718  	ctx_                                    context.Context
 22719  	header_                                 http.Header
 22720  }
 22721  
 22722  // BulkEditAssignedTargetingOptions: Bulk edits targeting options under
 22723  // multiple line items. The operation will delete the assigned targeting
 22724  // options provided in BulkEditAssignedTargetingOptionsRequest.delete_requests
 22725  // and then create the assigned targeting options provided in
 22726  // BulkEditAssignedTargetingOptionsRequest.create_requests. Requests to this
 22727  // endpoint cannot be made concurrently with the following requests updating
 22728  // the same line item: * lineItems.bulkUpdate * lineItems.patch *
 22729  // assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube &
 22730  // Partners line items cannot be created or updated using the API.
 22731  //
 22732  // - advertiserId: The ID of the advertiser the line items belong to.
 22733  func (r *AdvertisersLineItemsService) BulkEditAssignedTargetingOptions(advertiserId int64, bulkeditassignedtargetingoptionsrequest *BulkEditAssignedTargetingOptionsRequest) *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall {
 22734  	c := &AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22735  	c.advertiserId = advertiserId
 22736  	c.bulkeditassignedtargetingoptionsrequest = bulkeditassignedtargetingoptionsrequest
 22737  	return c
 22738  }
 22739  
 22740  // Fields allows partial responses to be retrieved. See
 22741  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22742  // details.
 22743  func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall {
 22744  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22745  	return c
 22746  }
 22747  
 22748  // Context sets the context to be used in this call's Do method.
 22749  func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall {
 22750  	c.ctx_ = ctx
 22751  	return c
 22752  }
 22753  
 22754  // Header returns a http.Header that can be modified by the caller to add
 22755  // headers to the request.
 22756  func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Header() http.Header {
 22757  	if c.header_ == nil {
 22758  		c.header_ = make(http.Header)
 22759  	}
 22760  	return c.header_
 22761  }
 22762  
 22763  func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 22764  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 22765  	var body io.Reader = nil
 22766  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedtargetingoptionsrequest)
 22767  	if err != nil {
 22768  		return nil, err
 22769  	}
 22770  	c.urlParams_.Set("alt", alt)
 22771  	c.urlParams_.Set("prettyPrint", "false")
 22772  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems:bulkEditAssignedTargetingOptions")
 22773  	urls += "?" + c.urlParams_.Encode()
 22774  	req, err := http.NewRequest("POST", urls, body)
 22775  	if err != nil {
 22776  		return nil, err
 22777  	}
 22778  	req.Header = reqHeaders
 22779  	googleapi.Expand(req.URL, map[string]string{
 22780  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 22781  	})
 22782  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22783  }
 22784  
 22785  // Do executes the "displayvideo.advertisers.lineItems.bulkEditAssignedTargetingOptions" call.
 22786  // Any non-2xx status code is an error. Response headers are in either
 22787  // *BulkEditAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 22788  // response was returned at all) in error.(*googleapi.Error).Header. Use
 22789  // googleapi.IsNotModified to check whether the returned error was because
 22790  // http.StatusNotModified was returned.
 22791  func (c *AdvertisersLineItemsBulkEditAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedTargetingOptionsResponse, error) {
 22792  	gensupport.SetOptions(c.urlParams_, opts...)
 22793  	res, err := c.doRequest("json")
 22794  	if res != nil && res.StatusCode == http.StatusNotModified {
 22795  		if res.Body != nil {
 22796  			res.Body.Close()
 22797  		}
 22798  		return nil, gensupport.WrapError(&googleapi.Error{
 22799  			Code:   res.StatusCode,
 22800  			Header: res.Header,
 22801  		})
 22802  	}
 22803  	if err != nil {
 22804  		return nil, err
 22805  	}
 22806  	defer googleapi.CloseBody(res)
 22807  	if err := googleapi.CheckResponse(res); err != nil {
 22808  		return nil, gensupport.WrapError(err)
 22809  	}
 22810  	ret := &BulkEditAssignedTargetingOptionsResponse{
 22811  		ServerResponse: googleapi.ServerResponse{
 22812  			Header:         res.Header,
 22813  			HTTPStatusCode: res.StatusCode,
 22814  		},
 22815  	}
 22816  	target := &ret
 22817  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22818  		return nil, err
 22819  	}
 22820  	return ret, nil
 22821  }
 22822  
 22823  type AdvertisersLineItemsBulkListAssignedTargetingOptionsCall struct {
 22824  	s            *Service
 22825  	advertiserId int64
 22826  	urlParams_   gensupport.URLParams
 22827  	ifNoneMatch_ string
 22828  	ctx_         context.Context
 22829  	header_      http.Header
 22830  }
 22831  
 22832  // BulkListAssignedTargetingOptions: Lists assigned targeting options for
 22833  // multiple line items across targeting types.
 22834  //
 22835  // - advertiserId: The ID of the advertiser the line items belongs to.
 22836  func (r *AdvertisersLineItemsService) BulkListAssignedTargetingOptions(advertiserId int64) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 22837  	c := &AdvertisersLineItemsBulkListAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22838  	c.advertiserId = advertiserId
 22839  	return c
 22840  }
 22841  
 22842  // Filter sets the optional parameter "filter": Allows filtering by assigned
 22843  // targeting option fields. Supported syntax: * Filter expressions are made up
 22844  // of one or more restrictions. * Restrictions can be combined by the logical
 22845  // operator `OR` on the same field. * A restriction has the form of `{field}
 22846  // {operator} {value}`. * All fields must use the `EQUALS (=)` operator.
 22847  // Supported fields: * `targetingType` * `inheritance` Examples: *
 22848  // `AssignedTargetingOption` resources of targeting type
 22849  // `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`:
 22850  // `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR
 22851  // targetingType="TARGETING_TYPE_CHANNEL" * `AssignedTargetingOption`
 22852  // resources with inheritance status of `NOT_INHERITED` or
 22853  // `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR
 22854  // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no
 22855  // more than 500 characters. Reference our filter `LIST` requests
 22856  // (/display-video/api/guides/how-tos/filters) guide for more information.
 22857  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 22858  	c.urlParams_.Set("filter", filter)
 22859  	return c
 22860  }
 22861  
 22862  // LineItemIds sets the optional parameter "lineItemIds": Required. The IDs of
 22863  // the line items to list assigned targeting options for.
 22864  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) LineItemIds(lineItemIds ...int64) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 22865  	var lineItemIds_ []string
 22866  	for _, v := range lineItemIds {
 22867  		lineItemIds_ = append(lineItemIds_, fmt.Sprint(v))
 22868  	}
 22869  	c.urlParams_.SetMulti("lineItemIds", lineItemIds_)
 22870  	return c
 22871  }
 22872  
 22873  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 22874  // list. Acceptable values are: * `lineItemId` (default) *
 22875  // `assignedTargetingOption.targetingType` The default sorting order is
 22876  // ascending. To specify descending order for a field, a suffix "desc" should
 22877  // be added to the field name. Example: `targetingType desc`.
 22878  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 22879  	c.urlParams_.Set("orderBy", orderBy)
 22880  	return c
 22881  }
 22882  
 22883  // PageSize sets the optional parameter "pageSize": Requested page size. The
 22884  // size must be an integer between `1` and `5000`. If unspecified, the default
 22885  // is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is
 22886  // specified.
 22887  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 22888  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 22889  	return c
 22890  }
 22891  
 22892  // PageToken sets the optional parameter "pageToken": A token that lets the
 22893  // client fetch the next page of results. Typically, this is the value of
 22894  // next_page_token returned from the previous call to the
 22895  // `BulkListAssignedTargetingOptions` method. If not specified, the first page
 22896  // of results will be returned.
 22897  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 22898  	c.urlParams_.Set("pageToken", pageToken)
 22899  	return c
 22900  }
 22901  
 22902  // Fields allows partial responses to be retrieved. See
 22903  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 22904  // details.
 22905  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 22906  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22907  	return c
 22908  }
 22909  
 22910  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 22911  // object's ETag matches the given value. This is useful for getting updates
 22912  // only after the object has changed since the last request.
 22913  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 22914  	c.ifNoneMatch_ = entityTag
 22915  	return c
 22916  }
 22917  
 22918  // Context sets the context to be used in this call's Do method.
 22919  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall {
 22920  	c.ctx_ = ctx
 22921  	return c
 22922  }
 22923  
 22924  // Header returns a http.Header that can be modified by the caller to add
 22925  // headers to the request.
 22926  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Header() http.Header {
 22927  	if c.header_ == nil {
 22928  		c.header_ = make(http.Header)
 22929  	}
 22930  	return c.header_
 22931  }
 22932  
 22933  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 22934  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 22935  	if c.ifNoneMatch_ != "" {
 22936  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22937  	}
 22938  	var body io.Reader = nil
 22939  	c.urlParams_.Set("alt", alt)
 22940  	c.urlParams_.Set("prettyPrint", "false")
 22941  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems:bulkListAssignedTargetingOptions")
 22942  	urls += "?" + c.urlParams_.Encode()
 22943  	req, err := http.NewRequest("GET", urls, body)
 22944  	if err != nil {
 22945  		return nil, err
 22946  	}
 22947  	req.Header = reqHeaders
 22948  	googleapi.Expand(req.URL, map[string]string{
 22949  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 22950  	})
 22951  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22952  }
 22953  
 22954  // Do executes the "displayvideo.advertisers.lineItems.bulkListAssignedTargetingOptions" call.
 22955  // Any non-2xx status code is an error. Response headers are in either
 22956  // *BulkListAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 22957  // response was returned at all) in error.(*googleapi.Error).Header. Use
 22958  // googleapi.IsNotModified to check whether the returned error was because
 22959  // http.StatusNotModified was returned.
 22960  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAssignedTargetingOptionsResponse, error) {
 22961  	gensupport.SetOptions(c.urlParams_, opts...)
 22962  	res, err := c.doRequest("json")
 22963  	if res != nil && res.StatusCode == http.StatusNotModified {
 22964  		if res.Body != nil {
 22965  			res.Body.Close()
 22966  		}
 22967  		return nil, gensupport.WrapError(&googleapi.Error{
 22968  			Code:   res.StatusCode,
 22969  			Header: res.Header,
 22970  		})
 22971  	}
 22972  	if err != nil {
 22973  		return nil, err
 22974  	}
 22975  	defer googleapi.CloseBody(res)
 22976  	if err := googleapi.CheckResponse(res); err != nil {
 22977  		return nil, gensupport.WrapError(err)
 22978  	}
 22979  	ret := &BulkListAssignedTargetingOptionsResponse{
 22980  		ServerResponse: googleapi.ServerResponse{
 22981  			Header:         res.Header,
 22982  			HTTPStatusCode: res.StatusCode,
 22983  		},
 22984  	}
 22985  	target := &ret
 22986  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22987  		return nil, err
 22988  	}
 22989  	return ret, nil
 22990  }
 22991  
 22992  // Pages invokes f for each page of results.
 22993  // A non-nil error returned from f will halt the iteration.
 22994  // The provided context supersedes any context provided to the Context method.
 22995  func (c *AdvertisersLineItemsBulkListAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAssignedTargetingOptionsResponse) error) error {
 22996  	c.ctx_ = ctx
 22997  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 22998  	for {
 22999  		x, err := c.Do()
 23000  		if err != nil {
 23001  			return err
 23002  		}
 23003  		if err := f(x); err != nil {
 23004  			return err
 23005  		}
 23006  		if x.NextPageToken == "" {
 23007  			return nil
 23008  		}
 23009  		c.PageToken(x.NextPageToken)
 23010  	}
 23011  }
 23012  
 23013  type AdvertisersLineItemsBulkUpdateCall struct {
 23014  	s                          *Service
 23015  	advertiserId               int64
 23016  	bulkupdatelineitemsrequest *BulkUpdateLineItemsRequest
 23017  	urlParams_                 gensupport.URLParams
 23018  	ctx_                       context.Context
 23019  	header_                    http.Header
 23020  }
 23021  
 23022  // BulkUpdate: Updates multiple line items. Requests to this endpoint cannot be
 23023  // made concurrently with the following requests updating the same line item: *
 23024  // BulkEditAssignedTargetingOptions * UpdateLineItem *
 23025  // assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube &
 23026  // Partners line items cannot be created or updated using the API.
 23027  //
 23028  // - advertiserId: The ID of the advertiser this line item belongs to.
 23029  func (r *AdvertisersLineItemsService) BulkUpdate(advertiserId int64, bulkupdatelineitemsrequest *BulkUpdateLineItemsRequest) *AdvertisersLineItemsBulkUpdateCall {
 23030  	c := &AdvertisersLineItemsBulkUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23031  	c.advertiserId = advertiserId
 23032  	c.bulkupdatelineitemsrequest = bulkupdatelineitemsrequest
 23033  	return c
 23034  }
 23035  
 23036  // Fields allows partial responses to be retrieved. See
 23037  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23038  // details.
 23039  func (c *AdvertisersLineItemsBulkUpdateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkUpdateCall {
 23040  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23041  	return c
 23042  }
 23043  
 23044  // Context sets the context to be used in this call's Do method.
 23045  func (c *AdvertisersLineItemsBulkUpdateCall) Context(ctx context.Context) *AdvertisersLineItemsBulkUpdateCall {
 23046  	c.ctx_ = ctx
 23047  	return c
 23048  }
 23049  
 23050  // Header returns a http.Header that can be modified by the caller to add
 23051  // headers to the request.
 23052  func (c *AdvertisersLineItemsBulkUpdateCall) Header() http.Header {
 23053  	if c.header_ == nil {
 23054  		c.header_ = make(http.Header)
 23055  	}
 23056  	return c.header_
 23057  }
 23058  
 23059  func (c *AdvertisersLineItemsBulkUpdateCall) doRequest(alt string) (*http.Response, error) {
 23060  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 23061  	var body io.Reader = nil
 23062  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkupdatelineitemsrequest)
 23063  	if err != nil {
 23064  		return nil, err
 23065  	}
 23066  	c.urlParams_.Set("alt", alt)
 23067  	c.urlParams_.Set("prettyPrint", "false")
 23068  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems:bulkUpdate")
 23069  	urls += "?" + c.urlParams_.Encode()
 23070  	req, err := http.NewRequest("POST", urls, body)
 23071  	if err != nil {
 23072  		return nil, err
 23073  	}
 23074  	req.Header = reqHeaders
 23075  	googleapi.Expand(req.URL, map[string]string{
 23076  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 23077  	})
 23078  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23079  }
 23080  
 23081  // Do executes the "displayvideo.advertisers.lineItems.bulkUpdate" call.
 23082  // Any non-2xx status code is an error. Response headers are in either
 23083  // *BulkUpdateLineItemsResponse.ServerResponse.Header or (if a response was
 23084  // returned at all) in error.(*googleapi.Error).Header. Use
 23085  // googleapi.IsNotModified to check whether the returned error was because
 23086  // http.StatusNotModified was returned.
 23087  func (c *AdvertisersLineItemsBulkUpdateCall) Do(opts ...googleapi.CallOption) (*BulkUpdateLineItemsResponse, error) {
 23088  	gensupport.SetOptions(c.urlParams_, opts...)
 23089  	res, err := c.doRequest("json")
 23090  	if res != nil && res.StatusCode == http.StatusNotModified {
 23091  		if res.Body != nil {
 23092  			res.Body.Close()
 23093  		}
 23094  		return nil, gensupport.WrapError(&googleapi.Error{
 23095  			Code:   res.StatusCode,
 23096  			Header: res.Header,
 23097  		})
 23098  	}
 23099  	if err != nil {
 23100  		return nil, err
 23101  	}
 23102  	defer googleapi.CloseBody(res)
 23103  	if err := googleapi.CheckResponse(res); err != nil {
 23104  		return nil, gensupport.WrapError(err)
 23105  	}
 23106  	ret := &BulkUpdateLineItemsResponse{
 23107  		ServerResponse: googleapi.ServerResponse{
 23108  			Header:         res.Header,
 23109  			HTTPStatusCode: res.StatusCode,
 23110  		},
 23111  	}
 23112  	target := &ret
 23113  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23114  		return nil, err
 23115  	}
 23116  	return ret, nil
 23117  }
 23118  
 23119  type AdvertisersLineItemsCreateCall struct {
 23120  	s            *Service
 23121  	advertiserId int64
 23122  	lineitem     *LineItem
 23123  	urlParams_   gensupport.URLParams
 23124  	ctx_         context.Context
 23125  	header_      http.Header
 23126  }
 23127  
 23128  // Create: Creates a new line item. Returns the newly created line item if
 23129  // successful. YouTube & Partners line items cannot be created or updated using
 23130  // the API.
 23131  //
 23132  //   - advertiserId: Output only. The unique ID of the advertiser the line item
 23133  //     belongs to.
 23134  func (r *AdvertisersLineItemsService) Create(advertiserId int64, lineitem *LineItem) *AdvertisersLineItemsCreateCall {
 23135  	c := &AdvertisersLineItemsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23136  	c.advertiserId = advertiserId
 23137  	c.lineitem = lineitem
 23138  	return c
 23139  }
 23140  
 23141  // Fields allows partial responses to be retrieved. See
 23142  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23143  // details.
 23144  func (c *AdvertisersLineItemsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsCreateCall {
 23145  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23146  	return c
 23147  }
 23148  
 23149  // Context sets the context to be used in this call's Do method.
 23150  func (c *AdvertisersLineItemsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsCreateCall {
 23151  	c.ctx_ = ctx
 23152  	return c
 23153  }
 23154  
 23155  // Header returns a http.Header that can be modified by the caller to add
 23156  // headers to the request.
 23157  func (c *AdvertisersLineItemsCreateCall) Header() http.Header {
 23158  	if c.header_ == nil {
 23159  		c.header_ = make(http.Header)
 23160  	}
 23161  	return c.header_
 23162  }
 23163  
 23164  func (c *AdvertisersLineItemsCreateCall) doRequest(alt string) (*http.Response, error) {
 23165  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 23166  	var body io.Reader = nil
 23167  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem)
 23168  	if err != nil {
 23169  		return nil, err
 23170  	}
 23171  	c.urlParams_.Set("alt", alt)
 23172  	c.urlParams_.Set("prettyPrint", "false")
 23173  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems")
 23174  	urls += "?" + c.urlParams_.Encode()
 23175  	req, err := http.NewRequest("POST", urls, body)
 23176  	if err != nil {
 23177  		return nil, err
 23178  	}
 23179  	req.Header = reqHeaders
 23180  	googleapi.Expand(req.URL, map[string]string{
 23181  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 23182  	})
 23183  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23184  }
 23185  
 23186  // Do executes the "displayvideo.advertisers.lineItems.create" call.
 23187  // Any non-2xx status code is an error. Response headers are in either
 23188  // *LineItem.ServerResponse.Header or (if a response was returned at all) in
 23189  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 23190  // whether the returned error was because http.StatusNotModified was returned.
 23191  func (c *AdvertisersLineItemsCreateCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
 23192  	gensupport.SetOptions(c.urlParams_, opts...)
 23193  	res, err := c.doRequest("json")
 23194  	if res != nil && res.StatusCode == http.StatusNotModified {
 23195  		if res.Body != nil {
 23196  			res.Body.Close()
 23197  		}
 23198  		return nil, gensupport.WrapError(&googleapi.Error{
 23199  			Code:   res.StatusCode,
 23200  			Header: res.Header,
 23201  		})
 23202  	}
 23203  	if err != nil {
 23204  		return nil, err
 23205  	}
 23206  	defer googleapi.CloseBody(res)
 23207  	if err := googleapi.CheckResponse(res); err != nil {
 23208  		return nil, gensupport.WrapError(err)
 23209  	}
 23210  	ret := &LineItem{
 23211  		ServerResponse: googleapi.ServerResponse{
 23212  			Header:         res.Header,
 23213  			HTTPStatusCode: res.StatusCode,
 23214  		},
 23215  	}
 23216  	target := &ret
 23217  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23218  		return nil, err
 23219  	}
 23220  	return ret, nil
 23221  }
 23222  
 23223  type AdvertisersLineItemsDeleteCall struct {
 23224  	s            *Service
 23225  	advertiserId int64
 23226  	lineItemId   int64
 23227  	urlParams_   gensupport.URLParams
 23228  	ctx_         context.Context
 23229  	header_      http.Header
 23230  }
 23231  
 23232  // Delete: Deletes a line item. Returns error code `NOT_FOUND` if the line item
 23233  // does not exist. The line item should be archived first, i.e. set
 23234  // entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. YouTube
 23235  // & Partners line items cannot be created or updated using the API.
 23236  //
 23237  // - advertiserId: The ID of the advertiser this line item belongs to.
 23238  // - lineItemId: The ID of the line item to delete.
 23239  func (r *AdvertisersLineItemsService) Delete(advertiserId int64, lineItemId int64) *AdvertisersLineItemsDeleteCall {
 23240  	c := &AdvertisersLineItemsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23241  	c.advertiserId = advertiserId
 23242  	c.lineItemId = lineItemId
 23243  	return c
 23244  }
 23245  
 23246  // Fields allows partial responses to be retrieved. See
 23247  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23248  // details.
 23249  func (c *AdvertisersLineItemsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsDeleteCall {
 23250  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23251  	return c
 23252  }
 23253  
 23254  // Context sets the context to be used in this call's Do method.
 23255  func (c *AdvertisersLineItemsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsDeleteCall {
 23256  	c.ctx_ = ctx
 23257  	return c
 23258  }
 23259  
 23260  // Header returns a http.Header that can be modified by the caller to add
 23261  // headers to the request.
 23262  func (c *AdvertisersLineItemsDeleteCall) Header() http.Header {
 23263  	if c.header_ == nil {
 23264  		c.header_ = make(http.Header)
 23265  	}
 23266  	return c.header_
 23267  }
 23268  
 23269  func (c *AdvertisersLineItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
 23270  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 23271  	var body io.Reader = nil
 23272  	c.urlParams_.Set("alt", alt)
 23273  	c.urlParams_.Set("prettyPrint", "false")
 23274  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
 23275  	urls += "?" + c.urlParams_.Encode()
 23276  	req, err := http.NewRequest("DELETE", urls, body)
 23277  	if err != nil {
 23278  		return nil, err
 23279  	}
 23280  	req.Header = reqHeaders
 23281  	googleapi.Expand(req.URL, map[string]string{
 23282  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 23283  		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
 23284  	})
 23285  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23286  }
 23287  
 23288  // Do executes the "displayvideo.advertisers.lineItems.delete" call.
 23289  // Any non-2xx status code is an error. Response headers are in either
 23290  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 23291  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 23292  // whether the returned error was because http.StatusNotModified was returned.
 23293  func (c *AdvertisersLineItemsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 23294  	gensupport.SetOptions(c.urlParams_, opts...)
 23295  	res, err := c.doRequest("json")
 23296  	if res != nil && res.StatusCode == http.StatusNotModified {
 23297  		if res.Body != nil {
 23298  			res.Body.Close()
 23299  		}
 23300  		return nil, gensupport.WrapError(&googleapi.Error{
 23301  			Code:   res.StatusCode,
 23302  			Header: res.Header,
 23303  		})
 23304  	}
 23305  	if err != nil {
 23306  		return nil, err
 23307  	}
 23308  	defer googleapi.CloseBody(res)
 23309  	if err := googleapi.CheckResponse(res); err != nil {
 23310  		return nil, gensupport.WrapError(err)
 23311  	}
 23312  	ret := &Empty{
 23313  		ServerResponse: googleapi.ServerResponse{
 23314  			Header:         res.Header,
 23315  			HTTPStatusCode: res.StatusCode,
 23316  		},
 23317  	}
 23318  	target := &ret
 23319  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23320  		return nil, err
 23321  	}
 23322  	return ret, nil
 23323  }
 23324  
 23325  type AdvertisersLineItemsDuplicateCall struct {
 23326  	s                        *Service
 23327  	advertiserId             int64
 23328  	lineItemId               int64
 23329  	duplicatelineitemrequest *DuplicateLineItemRequest
 23330  	urlParams_               gensupport.URLParams
 23331  	ctx_                     context.Context
 23332  	header_                  http.Header
 23333  }
 23334  
 23335  // Duplicate: Duplicates a line item. Returns the ID of the created line item
 23336  // if successful. YouTube & Partners line items cannot be created or updated
 23337  // using the API. **This method regularly experiences high latency.** We
 23338  // recommend increasing your default timeout
 23339  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 23340  // to avoid errors.
 23341  //
 23342  // - advertiserId: The ID of the advertiser this line item belongs to.
 23343  // - lineItemId: The ID of the line item to duplicate.
 23344  func (r *AdvertisersLineItemsService) Duplicate(advertiserId int64, lineItemId int64, duplicatelineitemrequest *DuplicateLineItemRequest) *AdvertisersLineItemsDuplicateCall {
 23345  	c := &AdvertisersLineItemsDuplicateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23346  	c.advertiserId = advertiserId
 23347  	c.lineItemId = lineItemId
 23348  	c.duplicatelineitemrequest = duplicatelineitemrequest
 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 *AdvertisersLineItemsDuplicateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsDuplicateCall {
 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 *AdvertisersLineItemsDuplicateCall) Context(ctx context.Context) *AdvertisersLineItemsDuplicateCall {
 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 *AdvertisersLineItemsDuplicateCall) Header() http.Header {
 23369  	if c.header_ == nil {
 23370  		c.header_ = make(http.Header)
 23371  	}
 23372  	return c.header_
 23373  }
 23374  
 23375  func (c *AdvertisersLineItemsDuplicateCall) 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.duplicatelineitemrequest)
 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, "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}:duplicate")
 23385  	urls += "?" + c.urlParams_.Encode()
 23386  	req, err := http.NewRequest("POST", 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  		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
 23394  	})
 23395  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23396  }
 23397  
 23398  // Do executes the "displayvideo.advertisers.lineItems.duplicate" call.
 23399  // Any non-2xx status code is an error. Response headers are in either
 23400  // *DuplicateLineItemResponse.ServerResponse.Header or (if a response was
 23401  // returned at all) in error.(*googleapi.Error).Header. Use
 23402  // googleapi.IsNotModified to check whether the returned error was because
 23403  // http.StatusNotModified was returned.
 23404  func (c *AdvertisersLineItemsDuplicateCall) Do(opts ...googleapi.CallOption) (*DuplicateLineItemResponse, error) {
 23405  	gensupport.SetOptions(c.urlParams_, opts...)
 23406  	res, err := c.doRequest("json")
 23407  	if res != nil && res.StatusCode == http.StatusNotModified {
 23408  		if res.Body != nil {
 23409  			res.Body.Close()
 23410  		}
 23411  		return nil, gensupport.WrapError(&googleapi.Error{
 23412  			Code:   res.StatusCode,
 23413  			Header: res.Header,
 23414  		})
 23415  	}
 23416  	if err != nil {
 23417  		return nil, err
 23418  	}
 23419  	defer googleapi.CloseBody(res)
 23420  	if err := googleapi.CheckResponse(res); err != nil {
 23421  		return nil, gensupport.WrapError(err)
 23422  	}
 23423  	ret := &DuplicateLineItemResponse{
 23424  		ServerResponse: googleapi.ServerResponse{
 23425  			Header:         res.Header,
 23426  			HTTPStatusCode: res.StatusCode,
 23427  		},
 23428  	}
 23429  	target := &ret
 23430  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23431  		return nil, err
 23432  	}
 23433  	return ret, nil
 23434  }
 23435  
 23436  type AdvertisersLineItemsGenerateDefaultCall struct {
 23437  	s                              *Service
 23438  	advertiserId                   int64
 23439  	generatedefaultlineitemrequest *GenerateDefaultLineItemRequest
 23440  	urlParams_                     gensupport.URLParams
 23441  	ctx_                           context.Context
 23442  	header_                        http.Header
 23443  }
 23444  
 23445  // GenerateDefault: Creates a new line item with settings (including targeting)
 23446  // inherited from the insertion order and an `ENTITY_STATUS_DRAFT`
 23447  // entity_status. Returns the newly created line item if successful. There are
 23448  // default values based on the three fields: * The insertion order's
 23449  // insertion_order_type * The insertion order's automation_type * The given
 23450  // line_item_type YouTube & Partners line items cannot be created or updated
 23451  // using the API.
 23452  //
 23453  // - advertiserId: The ID of the advertiser this line item belongs to.
 23454  func (r *AdvertisersLineItemsService) GenerateDefault(advertiserId int64, generatedefaultlineitemrequest *GenerateDefaultLineItemRequest) *AdvertisersLineItemsGenerateDefaultCall {
 23455  	c := &AdvertisersLineItemsGenerateDefaultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23456  	c.advertiserId = advertiserId
 23457  	c.generatedefaultlineitemrequest = generatedefaultlineitemrequest
 23458  	return c
 23459  }
 23460  
 23461  // Fields allows partial responses to be retrieved. See
 23462  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23463  // details.
 23464  func (c *AdvertisersLineItemsGenerateDefaultCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGenerateDefaultCall {
 23465  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23466  	return c
 23467  }
 23468  
 23469  // Context sets the context to be used in this call's Do method.
 23470  func (c *AdvertisersLineItemsGenerateDefaultCall) Context(ctx context.Context) *AdvertisersLineItemsGenerateDefaultCall {
 23471  	c.ctx_ = ctx
 23472  	return c
 23473  }
 23474  
 23475  // Header returns a http.Header that can be modified by the caller to add
 23476  // headers to the request.
 23477  func (c *AdvertisersLineItemsGenerateDefaultCall) Header() http.Header {
 23478  	if c.header_ == nil {
 23479  		c.header_ = make(http.Header)
 23480  	}
 23481  	return c.header_
 23482  }
 23483  
 23484  func (c *AdvertisersLineItemsGenerateDefaultCall) doRequest(alt string) (*http.Response, error) {
 23485  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 23486  	var body io.Reader = nil
 23487  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatedefaultlineitemrequest)
 23488  	if err != nil {
 23489  		return nil, err
 23490  	}
 23491  	c.urlParams_.Set("alt", alt)
 23492  	c.urlParams_.Set("prettyPrint", "false")
 23493  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems:generateDefault")
 23494  	urls += "?" + c.urlParams_.Encode()
 23495  	req, err := http.NewRequest("POST", urls, body)
 23496  	if err != nil {
 23497  		return nil, err
 23498  	}
 23499  	req.Header = reqHeaders
 23500  	googleapi.Expand(req.URL, map[string]string{
 23501  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 23502  	})
 23503  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23504  }
 23505  
 23506  // Do executes the "displayvideo.advertisers.lineItems.generateDefault" call.
 23507  // Any non-2xx status code is an error. Response headers are in either
 23508  // *LineItem.ServerResponse.Header or (if a response was returned at all) in
 23509  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 23510  // whether the returned error was because http.StatusNotModified was returned.
 23511  func (c *AdvertisersLineItemsGenerateDefaultCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
 23512  	gensupport.SetOptions(c.urlParams_, opts...)
 23513  	res, err := c.doRequest("json")
 23514  	if res != nil && res.StatusCode == http.StatusNotModified {
 23515  		if res.Body != nil {
 23516  			res.Body.Close()
 23517  		}
 23518  		return nil, gensupport.WrapError(&googleapi.Error{
 23519  			Code:   res.StatusCode,
 23520  			Header: res.Header,
 23521  		})
 23522  	}
 23523  	if err != nil {
 23524  		return nil, err
 23525  	}
 23526  	defer googleapi.CloseBody(res)
 23527  	if err := googleapi.CheckResponse(res); err != nil {
 23528  		return nil, gensupport.WrapError(err)
 23529  	}
 23530  	ret := &LineItem{
 23531  		ServerResponse: googleapi.ServerResponse{
 23532  			Header:         res.Header,
 23533  			HTTPStatusCode: res.StatusCode,
 23534  		},
 23535  	}
 23536  	target := &ret
 23537  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23538  		return nil, err
 23539  	}
 23540  	return ret, nil
 23541  }
 23542  
 23543  type AdvertisersLineItemsGetCall struct {
 23544  	s            *Service
 23545  	advertiserId int64
 23546  	lineItemId   int64
 23547  	urlParams_   gensupport.URLParams
 23548  	ifNoneMatch_ string
 23549  	ctx_         context.Context
 23550  	header_      http.Header
 23551  }
 23552  
 23553  // Get: Gets a line item.
 23554  //
 23555  // - advertiserId: The ID of the advertiser this line item belongs to.
 23556  // - lineItemId: The ID of the line item to fetch.
 23557  func (r *AdvertisersLineItemsService) Get(advertiserId int64, lineItemId int64) *AdvertisersLineItemsGetCall {
 23558  	c := &AdvertisersLineItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23559  	c.advertiserId = advertiserId
 23560  	c.lineItemId = lineItemId
 23561  	return c
 23562  }
 23563  
 23564  // Fields allows partial responses to be retrieved. See
 23565  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23566  // details.
 23567  func (c *AdvertisersLineItemsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGetCall {
 23568  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23569  	return c
 23570  }
 23571  
 23572  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 23573  // object's ETag matches the given value. This is useful for getting updates
 23574  // only after the object has changed since the last request.
 23575  func (c *AdvertisersLineItemsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsGetCall {
 23576  	c.ifNoneMatch_ = entityTag
 23577  	return c
 23578  }
 23579  
 23580  // Context sets the context to be used in this call's Do method.
 23581  func (c *AdvertisersLineItemsGetCall) Context(ctx context.Context) *AdvertisersLineItemsGetCall {
 23582  	c.ctx_ = ctx
 23583  	return c
 23584  }
 23585  
 23586  // Header returns a http.Header that can be modified by the caller to add
 23587  // headers to the request.
 23588  func (c *AdvertisersLineItemsGetCall) Header() http.Header {
 23589  	if c.header_ == nil {
 23590  		c.header_ = make(http.Header)
 23591  	}
 23592  	return c.header_
 23593  }
 23594  
 23595  func (c *AdvertisersLineItemsGetCall) doRequest(alt string) (*http.Response, error) {
 23596  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 23597  	if c.ifNoneMatch_ != "" {
 23598  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23599  	}
 23600  	var body io.Reader = nil
 23601  	c.urlParams_.Set("alt", alt)
 23602  	c.urlParams_.Set("prettyPrint", "false")
 23603  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
 23604  	urls += "?" + c.urlParams_.Encode()
 23605  	req, err := http.NewRequest("GET", urls, body)
 23606  	if err != nil {
 23607  		return nil, err
 23608  	}
 23609  	req.Header = reqHeaders
 23610  	googleapi.Expand(req.URL, map[string]string{
 23611  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 23612  		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
 23613  	})
 23614  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23615  }
 23616  
 23617  // Do executes the "displayvideo.advertisers.lineItems.get" call.
 23618  // Any non-2xx status code is an error. Response headers are in either
 23619  // *LineItem.ServerResponse.Header or (if a response was returned at all) in
 23620  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 23621  // whether the returned error was because http.StatusNotModified was returned.
 23622  func (c *AdvertisersLineItemsGetCall) Do(opts ...googleapi.CallOption) (*LineItem, 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 := &LineItem{
 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 AdvertisersLineItemsListCall struct {
 23655  	s            *Service
 23656  	advertiserId int64
 23657  	urlParams_   gensupport.URLParams
 23658  	ifNoneMatch_ string
 23659  	ctx_         context.Context
 23660  	header_      http.Header
 23661  }
 23662  
 23663  // List: Lists line items in an advertiser. The order is defined by the
 23664  // order_by parameter. If a filter by entity_status is not specified, line
 23665  // items with `ENTITY_STATUS_ARCHIVED` will not be included in the results.
 23666  //
 23667  // - advertiserId: The ID of the advertiser to list line items for.
 23668  func (r *AdvertisersLineItemsService) List(advertiserId int64) *AdvertisersLineItemsListCall {
 23669  	c := &AdvertisersLineItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23670  	c.advertiserId = advertiserId
 23671  	return c
 23672  }
 23673  
 23674  // Filter sets the optional parameter "filter": Allows filtering by line item
 23675  // fields. Supported syntax: * Filter expressions are made up of one or more
 23676  // restrictions. * Restrictions can be combined by `AND` or `OR` logical
 23677  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 23678  // has the form of `{field} {operator} {value}`. * The `updateTime` field must
 23679  // use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`
 23680  // operators. * All other fields must use the `EQUALS (=)` operator. Supported
 23681  // fields: * `campaignId` * `displayName` * `entityStatus` * `insertionOrderId`
 23682  // * `lineItemId` * `lineItemType` * `updateTime` (input in ISO 8601 format, or
 23683  // `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All line items under an insertion order:
 23684  // `insertionOrderId="1234" * All `ENTITY_STATUS_ACTIVE` or
 23685  // `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under
 23686  // an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
 23687  // entityStatus="ENTITY_STATUS_PAUSED") AND
 23688  // lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" * All line items with an
 23689  // update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 23690  // `updateTime<="2020-11-04T18:54:47Z" * All line items with an update time
 23691  // greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601):
 23692  // `updateTime>="2020-11-04T18:54:47Z" The length of this field should be no
 23693  // more than 500 characters. Reference our filter `LIST` requests
 23694  // (/display-video/api/guides/how-tos/filters) guide for more information.
 23695  func (c *AdvertisersLineItemsListCall) Filter(filter string) *AdvertisersLineItemsListCall {
 23696  	c.urlParams_.Set("filter", filter)
 23697  	return c
 23698  }
 23699  
 23700  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 23701  // list. Acceptable values are: * `displayName` (default) * `entityStatus` *
 23702  // `updateTime` The default sorting order is ascending. To specify descending
 23703  // order for a field, a suffix "desc" should be added to the field name.
 23704  // Example: `displayName desc`.
 23705  func (c *AdvertisersLineItemsListCall) OrderBy(orderBy string) *AdvertisersLineItemsListCall {
 23706  	c.urlParams_.Set("orderBy", orderBy)
 23707  	return c
 23708  }
 23709  
 23710  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 23711  // be between `1` and `200`. If unspecified will default to `100`. Returns
 23712  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 23713  func (c *AdvertisersLineItemsListCall) PageSize(pageSize int64) *AdvertisersLineItemsListCall {
 23714  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 23715  	return c
 23716  }
 23717  
 23718  // PageToken sets the optional parameter "pageToken": A token identifying a
 23719  // page of results the server should return. Typically, this is the value of
 23720  // next_page_token returned from the previous call to `ListLineItems` method.
 23721  // If not specified, the first page of results will be returned.
 23722  func (c *AdvertisersLineItemsListCall) PageToken(pageToken string) *AdvertisersLineItemsListCall {
 23723  	c.urlParams_.Set("pageToken", pageToken)
 23724  	return c
 23725  }
 23726  
 23727  // Fields allows partial responses to be retrieved. See
 23728  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23729  // details.
 23730  func (c *AdvertisersLineItemsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsListCall {
 23731  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23732  	return c
 23733  }
 23734  
 23735  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 23736  // object's ETag matches the given value. This is useful for getting updates
 23737  // only after the object has changed since the last request.
 23738  func (c *AdvertisersLineItemsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsListCall {
 23739  	c.ifNoneMatch_ = entityTag
 23740  	return c
 23741  }
 23742  
 23743  // Context sets the context to be used in this call's Do method.
 23744  func (c *AdvertisersLineItemsListCall) Context(ctx context.Context) *AdvertisersLineItemsListCall {
 23745  	c.ctx_ = ctx
 23746  	return c
 23747  }
 23748  
 23749  // Header returns a http.Header that can be modified by the caller to add
 23750  // headers to the request.
 23751  func (c *AdvertisersLineItemsListCall) Header() http.Header {
 23752  	if c.header_ == nil {
 23753  		c.header_ = make(http.Header)
 23754  	}
 23755  	return c.header_
 23756  }
 23757  
 23758  func (c *AdvertisersLineItemsListCall) doRequest(alt string) (*http.Response, error) {
 23759  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 23760  	if c.ifNoneMatch_ != "" {
 23761  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23762  	}
 23763  	var body io.Reader = nil
 23764  	c.urlParams_.Set("alt", alt)
 23765  	c.urlParams_.Set("prettyPrint", "false")
 23766  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems")
 23767  	urls += "?" + c.urlParams_.Encode()
 23768  	req, err := http.NewRequest("GET", urls, body)
 23769  	if err != nil {
 23770  		return nil, err
 23771  	}
 23772  	req.Header = reqHeaders
 23773  	googleapi.Expand(req.URL, map[string]string{
 23774  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 23775  	})
 23776  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23777  }
 23778  
 23779  // Do executes the "displayvideo.advertisers.lineItems.list" call.
 23780  // Any non-2xx status code is an error. Response headers are in either
 23781  // *ListLineItemsResponse.ServerResponse.Header or (if a response was returned
 23782  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 23783  // check whether the returned error was because http.StatusNotModified was
 23784  // returned.
 23785  func (c *AdvertisersLineItemsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemsResponse, error) {
 23786  	gensupport.SetOptions(c.urlParams_, opts...)
 23787  	res, err := c.doRequest("json")
 23788  	if res != nil && res.StatusCode == http.StatusNotModified {
 23789  		if res.Body != nil {
 23790  			res.Body.Close()
 23791  		}
 23792  		return nil, gensupport.WrapError(&googleapi.Error{
 23793  			Code:   res.StatusCode,
 23794  			Header: res.Header,
 23795  		})
 23796  	}
 23797  	if err != nil {
 23798  		return nil, err
 23799  	}
 23800  	defer googleapi.CloseBody(res)
 23801  	if err := googleapi.CheckResponse(res); err != nil {
 23802  		return nil, gensupport.WrapError(err)
 23803  	}
 23804  	ret := &ListLineItemsResponse{
 23805  		ServerResponse: googleapi.ServerResponse{
 23806  			Header:         res.Header,
 23807  			HTTPStatusCode: res.StatusCode,
 23808  		},
 23809  	}
 23810  	target := &ret
 23811  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23812  		return nil, err
 23813  	}
 23814  	return ret, nil
 23815  }
 23816  
 23817  // Pages invokes f for each page of results.
 23818  // A non-nil error returned from f will halt the iteration.
 23819  // The provided context supersedes any context provided to the Context method.
 23820  func (c *AdvertisersLineItemsListCall) Pages(ctx context.Context, f func(*ListLineItemsResponse) error) error {
 23821  	c.ctx_ = ctx
 23822  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 23823  	for {
 23824  		x, err := c.Do()
 23825  		if err != nil {
 23826  			return err
 23827  		}
 23828  		if err := f(x); err != nil {
 23829  			return err
 23830  		}
 23831  		if x.NextPageToken == "" {
 23832  			return nil
 23833  		}
 23834  		c.PageToken(x.NextPageToken)
 23835  	}
 23836  }
 23837  
 23838  type AdvertisersLineItemsPatchCall struct {
 23839  	s            *Service
 23840  	advertiserId int64
 23841  	lineItemId   int64
 23842  	lineitem     *LineItem
 23843  	urlParams_   gensupport.URLParams
 23844  	ctx_         context.Context
 23845  	header_      http.Header
 23846  }
 23847  
 23848  // Patch: Updates an existing line item. Returns the updated line item if
 23849  // successful. Requests to this endpoint cannot be made concurrently with the
 23850  // following requests updating the same line item: *
 23851  // BulkEditAssignedTargetingOptions * BulkUpdateLineItems *
 23852  // assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube &
 23853  // Partners line items cannot be created or updated using the API. **This
 23854  // method regularly experiences high latency.** We recommend increasing your
 23855  // default timeout
 23856  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 23857  // to avoid errors.
 23858  //
 23859  //   - advertiserId: Output only. The unique ID of the advertiser the line item
 23860  //     belongs to.
 23861  //   - lineItemId: Output only. The unique ID of the line item. Assigned by the
 23862  //     system.
 23863  func (r *AdvertisersLineItemsService) Patch(advertiserId int64, lineItemId int64, lineitem *LineItem) *AdvertisersLineItemsPatchCall {
 23864  	c := &AdvertisersLineItemsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23865  	c.advertiserId = advertiserId
 23866  	c.lineItemId = lineItemId
 23867  	c.lineitem = lineitem
 23868  	return c
 23869  }
 23870  
 23871  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 23872  // control which fields to update.
 23873  func (c *AdvertisersLineItemsPatchCall) UpdateMask(updateMask string) *AdvertisersLineItemsPatchCall {
 23874  	c.urlParams_.Set("updateMask", updateMask)
 23875  	return c
 23876  }
 23877  
 23878  // Fields allows partial responses to be retrieved. See
 23879  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 23880  // details.
 23881  func (c *AdvertisersLineItemsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsPatchCall {
 23882  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23883  	return c
 23884  }
 23885  
 23886  // Context sets the context to be used in this call's Do method.
 23887  func (c *AdvertisersLineItemsPatchCall) Context(ctx context.Context) *AdvertisersLineItemsPatchCall {
 23888  	c.ctx_ = ctx
 23889  	return c
 23890  }
 23891  
 23892  // Header returns a http.Header that can be modified by the caller to add
 23893  // headers to the request.
 23894  func (c *AdvertisersLineItemsPatchCall) Header() http.Header {
 23895  	if c.header_ == nil {
 23896  		c.header_ = make(http.Header)
 23897  	}
 23898  	return c.header_
 23899  }
 23900  
 23901  func (c *AdvertisersLineItemsPatchCall) doRequest(alt string) (*http.Response, error) {
 23902  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 23903  	var body io.Reader = nil
 23904  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem)
 23905  	if err != nil {
 23906  		return nil, err
 23907  	}
 23908  	c.urlParams_.Set("alt", alt)
 23909  	c.urlParams_.Set("prettyPrint", "false")
 23910  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
 23911  	urls += "?" + c.urlParams_.Encode()
 23912  	req, err := http.NewRequest("PATCH", urls, body)
 23913  	if err != nil {
 23914  		return nil, err
 23915  	}
 23916  	req.Header = reqHeaders
 23917  	googleapi.Expand(req.URL, map[string]string{
 23918  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 23919  		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
 23920  	})
 23921  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23922  }
 23923  
 23924  // Do executes the "displayvideo.advertisers.lineItems.patch" call.
 23925  // Any non-2xx status code is an error. Response headers are in either
 23926  // *LineItem.ServerResponse.Header or (if a response was returned at all) in
 23927  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 23928  // whether the returned error was because http.StatusNotModified was returned.
 23929  func (c *AdvertisersLineItemsPatchCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
 23930  	gensupport.SetOptions(c.urlParams_, opts...)
 23931  	res, err := c.doRequest("json")
 23932  	if res != nil && res.StatusCode == http.StatusNotModified {
 23933  		if res.Body != nil {
 23934  			res.Body.Close()
 23935  		}
 23936  		return nil, gensupport.WrapError(&googleapi.Error{
 23937  			Code:   res.StatusCode,
 23938  			Header: res.Header,
 23939  		})
 23940  	}
 23941  	if err != nil {
 23942  		return nil, err
 23943  	}
 23944  	defer googleapi.CloseBody(res)
 23945  	if err := googleapi.CheckResponse(res); err != nil {
 23946  		return nil, gensupport.WrapError(err)
 23947  	}
 23948  	ret := &LineItem{
 23949  		ServerResponse: googleapi.ServerResponse{
 23950  			Header:         res.Header,
 23951  			HTTPStatusCode: res.StatusCode,
 23952  		},
 23953  	}
 23954  	target := &ret
 23955  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23956  		return nil, err
 23957  	}
 23958  	return ret, nil
 23959  }
 23960  
 23961  type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall struct {
 23962  	s                       *Service
 23963  	advertiserId            int64
 23964  	lineItemId              int64
 23965  	targetingType           string
 23966  	assignedtargetingoption *AssignedTargetingOption
 23967  	urlParams_              gensupport.URLParams
 23968  	ctx_                    context.Context
 23969  	header_                 http.Header
 23970  }
 23971  
 23972  // Create: Assigns a targeting option to a line item. Returns the assigned
 23973  // targeting option if successful. Requests to this endpoint cannot be made
 23974  // concurrently with the following requests updating the same line item: *
 23975  // lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate *
 23976  // lineItems.patch * DeleteLineItemAssignedTargetingOption YouTube & Partners
 23977  // line items cannot be created or updated using the API.
 23978  //
 23979  //   - advertiserId: The ID of the advertiser the line item belongs to.
 23980  //   - lineItemId: The ID of the line item the assigned targeting option will
 23981  //     belong to.
 23982  //   - targetingType: Identifies the type of this assigned targeting option.
 23983  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 23984  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 23985  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 23986  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 23987  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 23988  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 23989  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 23990  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 23991  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 23992  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 23993  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 23994  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 23995  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 23996  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 23997  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 23998  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 23999  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 24000  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 24001  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 24002  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 24003  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 24004  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 24005  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 24006  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 24007  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 24008  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`.
 24009  func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, lineItemId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
 24010  	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24011  	c.advertiserId = advertiserId
 24012  	c.lineItemId = lineItemId
 24013  	c.targetingType = targetingType
 24014  	c.assignedtargetingoption = assignedtargetingoption
 24015  	return c
 24016  }
 24017  
 24018  // Fields allows partial responses to be retrieved. See
 24019  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24020  // details.
 24021  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
 24022  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24023  	return c
 24024  }
 24025  
 24026  // Context sets the context to be used in this call's Do method.
 24027  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
 24028  	c.ctx_ = ctx
 24029  	return c
 24030  }
 24031  
 24032  // Header returns a http.Header that can be modified by the caller to add
 24033  // headers to the request.
 24034  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
 24035  	if c.header_ == nil {
 24036  		c.header_ = make(http.Header)
 24037  	}
 24038  	return c.header_
 24039  }
 24040  
 24041  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 24042  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 24043  	var body io.Reader = nil
 24044  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
 24045  	if err != nil {
 24046  		return nil, err
 24047  	}
 24048  	c.urlParams_.Set("alt", alt)
 24049  	c.urlParams_.Set("prettyPrint", "false")
 24050  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 24051  	urls += "?" + c.urlParams_.Encode()
 24052  	req, err := http.NewRequest("POST", urls, body)
 24053  	if err != nil {
 24054  		return nil, err
 24055  	}
 24056  	req.Header = reqHeaders
 24057  	googleapi.Expand(req.URL, map[string]string{
 24058  		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
 24059  		"lineItemId":    strconv.FormatInt(c.lineItemId, 10),
 24060  		"targetingType": c.targetingType,
 24061  	})
 24062  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24063  }
 24064  
 24065  // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create" call.
 24066  // Any non-2xx status code is an error. Response headers are in either
 24067  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 24068  // returned at all) in error.(*googleapi.Error).Header. Use
 24069  // googleapi.IsNotModified to check whether the returned error was because
 24070  // http.StatusNotModified was returned.
 24071  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 24072  	gensupport.SetOptions(c.urlParams_, opts...)
 24073  	res, err := c.doRequest("json")
 24074  	if res != nil && res.StatusCode == http.StatusNotModified {
 24075  		if res.Body != nil {
 24076  			res.Body.Close()
 24077  		}
 24078  		return nil, gensupport.WrapError(&googleapi.Error{
 24079  			Code:   res.StatusCode,
 24080  			Header: res.Header,
 24081  		})
 24082  	}
 24083  	if err != nil {
 24084  		return nil, err
 24085  	}
 24086  	defer googleapi.CloseBody(res)
 24087  	if err := googleapi.CheckResponse(res); err != nil {
 24088  		return nil, gensupport.WrapError(err)
 24089  	}
 24090  	ret := &AssignedTargetingOption{
 24091  		ServerResponse: googleapi.ServerResponse{
 24092  			Header:         res.Header,
 24093  			HTTPStatusCode: res.StatusCode,
 24094  		},
 24095  	}
 24096  	target := &ret
 24097  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24098  		return nil, err
 24099  	}
 24100  	return ret, nil
 24101  }
 24102  
 24103  type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall struct {
 24104  	s                         *Service
 24105  	advertiserId              int64
 24106  	lineItemId                int64
 24107  	targetingType             string
 24108  	assignedTargetingOptionId string
 24109  	urlParams_                gensupport.URLParams
 24110  	ctx_                      context.Context
 24111  	header_                   http.Header
 24112  }
 24113  
 24114  // Delete: Deletes an assigned targeting option from a line item. Requests to
 24115  // this endpoint cannot be made concurrently with the following requests
 24116  // updating the same line item: * lineItems.bulkEditAssignedTargetingOptions *
 24117  // lineItems.bulkUpdate * lineItems.patch *
 24118  // CreateLineItemAssignedTargetingOption YouTube & Partners line items cannot
 24119  // be created or updated using the API.
 24120  //
 24121  //   - advertiserId: The ID of the advertiser the line item belongs to.
 24122  //   - assignedTargetingOptionId: The ID of the assigned targeting option to
 24123  //     delete.
 24124  //   - lineItemId: The ID of the line item the assigned targeting option belongs
 24125  //     to.
 24126  //   - targetingType: Identifies the type of this assigned targeting option.
 24127  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 24128  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 24129  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 24130  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 24131  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 24132  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 24133  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 24134  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 24135  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 24136  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 24137  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 24138  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 24139  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 24140  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 24141  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 24142  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 24143  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 24144  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 24145  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 24146  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 24147  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 24148  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 24149  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 24150  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 24151  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 24152  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`.
 24153  func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
 24154  	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24155  	c.advertiserId = advertiserId
 24156  	c.lineItemId = lineItemId
 24157  	c.targetingType = targetingType
 24158  	c.assignedTargetingOptionId = assignedTargetingOptionId
 24159  	return c
 24160  }
 24161  
 24162  // Fields allows partial responses to be retrieved. See
 24163  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24164  // details.
 24165  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
 24166  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24167  	return c
 24168  }
 24169  
 24170  // Context sets the context to be used in this call's Do method.
 24171  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
 24172  	c.ctx_ = ctx
 24173  	return c
 24174  }
 24175  
 24176  // Header returns a http.Header that can be modified by the caller to add
 24177  // headers to the request.
 24178  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
 24179  	if c.header_ == nil {
 24180  		c.header_ = make(http.Header)
 24181  	}
 24182  	return c.header_
 24183  }
 24184  
 24185  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 24186  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 24187  	var body io.Reader = nil
 24188  	c.urlParams_.Set("alt", alt)
 24189  	c.urlParams_.Set("prettyPrint", "false")
 24190  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 24191  	urls += "?" + c.urlParams_.Encode()
 24192  	req, err := http.NewRequest("DELETE", urls, body)
 24193  	if err != nil {
 24194  		return nil, err
 24195  	}
 24196  	req.Header = reqHeaders
 24197  	googleapi.Expand(req.URL, map[string]string{
 24198  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 24199  		"lineItemId":                strconv.FormatInt(c.lineItemId, 10),
 24200  		"targetingType":             c.targetingType,
 24201  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 24202  	})
 24203  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24204  }
 24205  
 24206  // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete" call.
 24207  // Any non-2xx status code is an error. Response headers are in either
 24208  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 24209  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 24210  // whether the returned error was because http.StatusNotModified was returned.
 24211  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 24212  	gensupport.SetOptions(c.urlParams_, opts...)
 24213  	res, err := c.doRequest("json")
 24214  	if res != nil && res.StatusCode == http.StatusNotModified {
 24215  		if res.Body != nil {
 24216  			res.Body.Close()
 24217  		}
 24218  		return nil, gensupport.WrapError(&googleapi.Error{
 24219  			Code:   res.StatusCode,
 24220  			Header: res.Header,
 24221  		})
 24222  	}
 24223  	if err != nil {
 24224  		return nil, err
 24225  	}
 24226  	defer googleapi.CloseBody(res)
 24227  	if err := googleapi.CheckResponse(res); err != nil {
 24228  		return nil, gensupport.WrapError(err)
 24229  	}
 24230  	ret := &Empty{
 24231  		ServerResponse: googleapi.ServerResponse{
 24232  			Header:         res.Header,
 24233  			HTTPStatusCode: res.StatusCode,
 24234  		},
 24235  	}
 24236  	target := &ret
 24237  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24238  		return nil, err
 24239  	}
 24240  	return ret, nil
 24241  }
 24242  
 24243  type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall struct {
 24244  	s                         *Service
 24245  	advertiserId              int64
 24246  	lineItemId                int64
 24247  	targetingType             string
 24248  	assignedTargetingOptionId string
 24249  	urlParams_                gensupport.URLParams
 24250  	ifNoneMatch_              string
 24251  	ctx_                      context.Context
 24252  	header_                   http.Header
 24253  }
 24254  
 24255  // Get: Gets a single targeting option assigned to a line item.
 24256  //
 24257  //   - advertiserId: The ID of the advertiser the line item belongs to.
 24258  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 24259  //     this line item that identifies the assigned targeting option being
 24260  //     requested.
 24261  //   - lineItemId: The ID of the line item the assigned targeting option belongs
 24262  //     to.
 24263  //   - targetingType: Identifies the type of this assigned targeting option.
 24264  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 24265  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 24266  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 24267  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 24268  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 24269  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 24270  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 24271  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 24272  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 24273  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 24274  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 24275  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 24276  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 24277  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 24278  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 24279  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 24280  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 24281  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 24282  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 24283  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 24284  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 24285  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 24286  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 24287  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 24288  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 24289  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` *
 24290  //     `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for
 24291  //     `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) *
 24292  //     `TARGETING_TYPE_YOUTUBE_VIDEO` (only for
 24293  //     `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items).
 24294  func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
 24295  	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24296  	c.advertiserId = advertiserId
 24297  	c.lineItemId = lineItemId
 24298  	c.targetingType = targetingType
 24299  	c.assignedTargetingOptionId = assignedTargetingOptionId
 24300  	return c
 24301  }
 24302  
 24303  // Fields allows partial responses to be retrieved. See
 24304  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24305  // details.
 24306  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
 24307  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24308  	return c
 24309  }
 24310  
 24311  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 24312  // object's ETag matches the given value. This is useful for getting updates
 24313  // only after the object has changed since the last request.
 24314  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
 24315  	c.ifNoneMatch_ = entityTag
 24316  	return c
 24317  }
 24318  
 24319  // Context sets the context to be used in this call's Do method.
 24320  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
 24321  	c.ctx_ = ctx
 24322  	return c
 24323  }
 24324  
 24325  // Header returns a http.Header that can be modified by the caller to add
 24326  // headers to the request.
 24327  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 24328  	if c.header_ == nil {
 24329  		c.header_ = make(http.Header)
 24330  	}
 24331  	return c.header_
 24332  }
 24333  
 24334  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 24335  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 24336  	if c.ifNoneMatch_ != "" {
 24337  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24338  	}
 24339  	var body io.Reader = nil
 24340  	c.urlParams_.Set("alt", alt)
 24341  	c.urlParams_.Set("prettyPrint", "false")
 24342  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 24343  	urls += "?" + c.urlParams_.Encode()
 24344  	req, err := http.NewRequest("GET", urls, body)
 24345  	if err != nil {
 24346  		return nil, err
 24347  	}
 24348  	req.Header = reqHeaders
 24349  	googleapi.Expand(req.URL, map[string]string{
 24350  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 24351  		"lineItemId":                strconv.FormatInt(c.lineItemId, 10),
 24352  		"targetingType":             c.targetingType,
 24353  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 24354  	})
 24355  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24356  }
 24357  
 24358  // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get" call.
 24359  // Any non-2xx status code is an error. Response headers are in either
 24360  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 24361  // returned at all) in error.(*googleapi.Error).Header. Use
 24362  // googleapi.IsNotModified to check whether the returned error was because
 24363  // http.StatusNotModified was returned.
 24364  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 24365  	gensupport.SetOptions(c.urlParams_, opts...)
 24366  	res, err := c.doRequest("json")
 24367  	if res != nil && res.StatusCode == http.StatusNotModified {
 24368  		if res.Body != nil {
 24369  			res.Body.Close()
 24370  		}
 24371  		return nil, gensupport.WrapError(&googleapi.Error{
 24372  			Code:   res.StatusCode,
 24373  			Header: res.Header,
 24374  		})
 24375  	}
 24376  	if err != nil {
 24377  		return nil, err
 24378  	}
 24379  	defer googleapi.CloseBody(res)
 24380  	if err := googleapi.CheckResponse(res); err != nil {
 24381  		return nil, gensupport.WrapError(err)
 24382  	}
 24383  	ret := &AssignedTargetingOption{
 24384  		ServerResponse: googleapi.ServerResponse{
 24385  			Header:         res.Header,
 24386  			HTTPStatusCode: res.StatusCode,
 24387  		},
 24388  	}
 24389  	target := &ret
 24390  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24391  		return nil, err
 24392  	}
 24393  	return ret, nil
 24394  }
 24395  
 24396  type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall struct {
 24397  	s             *Service
 24398  	advertiserId  int64
 24399  	lineItemId    int64
 24400  	targetingType string
 24401  	urlParams_    gensupport.URLParams
 24402  	ifNoneMatch_  string
 24403  	ctx_          context.Context
 24404  	header_       http.Header
 24405  }
 24406  
 24407  // List: Lists the targeting options assigned to a line item.
 24408  //
 24409  //   - advertiserId: The ID of the advertiser the line item belongs to.
 24410  //   - lineItemId: The ID of the line item to list assigned targeting options
 24411  //     for.
 24412  //   - targetingType: Identifies the type of assigned targeting options to list.
 24413  //     Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` *
 24414  //     `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` *
 24415  //     `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` *
 24416  //     `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` *
 24417  //     `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 24418  //     `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` *
 24419  //     `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` *
 24420  //     `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 24421  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
 24422  //     `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` *
 24423  //     `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` *
 24424  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 24425  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
 24426  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
 24427  //     `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` *
 24428  //     `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` *
 24429  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` *
 24430  //     `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` *
 24431  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` *
 24432  //     `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` *
 24433  //     `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` *
 24434  //     `TARGETING_TYPE_REGIONAL_LOCATION_LIST` *
 24435  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 24436  //     `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
 24437  //     `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` *
 24438  //     `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` *
 24439  //     `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for
 24440  //     `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) *
 24441  //     `TARGETING_TYPE_YOUTUBE_VIDEO` (only for
 24442  //     `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items).
 24443  func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, lineItemId int64, targetingType string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 24444  	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24445  	c.advertiserId = advertiserId
 24446  	c.lineItemId = lineItemId
 24447  	c.targetingType = targetingType
 24448  	return c
 24449  }
 24450  
 24451  // Filter sets the optional parameter "filter": Allows filtering by assigned
 24452  // targeting option fields. Supported syntax: * Filter expressions are made up
 24453  // of one or more restrictions. * Restrictions can be combined by the logical
 24454  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 24455  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 24456  // `assignedTargetingOptionId` * `inheritance` Examples: *
 24457  // `AssignedTargetingOption` resources with ID 1 or 2:
 24458  // `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
 24459  // `AssignedTargetingOption` resources with inheritance status of
 24460  // `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR
 24461  // inheritance="INHERITED_FROM_PARTNER" The length of this field should be no
 24462  // more than 500 characters. Reference our filter `LIST` requests
 24463  // (/display-video/api/guides/how-tos/filters) guide for more information.
 24464  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 24465  	c.urlParams_.Set("filter", filter)
 24466  	return c
 24467  }
 24468  
 24469  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 24470  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 24471  // default sorting order is ascending. To specify descending order for a field,
 24472  // a suffix "desc" should be added to the field name. Example:
 24473  // `assignedTargetingOptionId desc`.
 24474  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 24475  	c.urlParams_.Set("orderBy", orderBy)
 24476  	return c
 24477  }
 24478  
 24479  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 24480  // be between `1` and `5000`. If unspecified will default to `100`. Returns
 24481  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 24482  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 24483  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 24484  	return c
 24485  }
 24486  
 24487  // PageToken sets the optional parameter "pageToken": A token identifying a
 24488  // page of results the server should return. Typically, this is the value of
 24489  // next_page_token returned from the previous call to
 24490  // `ListLineItemAssignedTargetingOptions` method. If not specified, the first
 24491  // page of results will be returned.
 24492  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 24493  	c.urlParams_.Set("pageToken", pageToken)
 24494  	return c
 24495  }
 24496  
 24497  // Fields allows partial responses to be retrieved. See
 24498  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24499  // details.
 24500  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 24501  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24502  	return c
 24503  }
 24504  
 24505  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 24506  // object's ETag matches the given value. This is useful for getting updates
 24507  // only after the object has changed since the last request.
 24508  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 24509  	c.ifNoneMatch_ = entityTag
 24510  	return c
 24511  }
 24512  
 24513  // Context sets the context to be used in this call's Do method.
 24514  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
 24515  	c.ctx_ = ctx
 24516  	return c
 24517  }
 24518  
 24519  // Header returns a http.Header that can be modified by the caller to add
 24520  // headers to the request.
 24521  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 24522  	if c.header_ == nil {
 24523  		c.header_ = make(http.Header)
 24524  	}
 24525  	return c.header_
 24526  }
 24527  
 24528  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 24529  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 24530  	if c.ifNoneMatch_ != "" {
 24531  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24532  	}
 24533  	var body io.Reader = nil
 24534  	c.urlParams_.Set("alt", alt)
 24535  	c.urlParams_.Set("prettyPrint", "false")
 24536  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 24537  	urls += "?" + c.urlParams_.Encode()
 24538  	req, err := http.NewRequest("GET", urls, body)
 24539  	if err != nil {
 24540  		return nil, err
 24541  	}
 24542  	req.Header = reqHeaders
 24543  	googleapi.Expand(req.URL, map[string]string{
 24544  		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
 24545  		"lineItemId":    strconv.FormatInt(c.lineItemId, 10),
 24546  		"targetingType": c.targetingType,
 24547  	})
 24548  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24549  }
 24550  
 24551  // Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list" call.
 24552  // Any non-2xx status code is an error. Response headers are in either
 24553  // *ListLineItemAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 24554  // response was returned at all) in error.(*googleapi.Error).Header. Use
 24555  // googleapi.IsNotModified to check whether the returned error was because
 24556  // http.StatusNotModified was returned.
 24557  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemAssignedTargetingOptionsResponse, error) {
 24558  	gensupport.SetOptions(c.urlParams_, opts...)
 24559  	res, err := c.doRequest("json")
 24560  	if res != nil && res.StatusCode == http.StatusNotModified {
 24561  		if res.Body != nil {
 24562  			res.Body.Close()
 24563  		}
 24564  		return nil, gensupport.WrapError(&googleapi.Error{
 24565  			Code:   res.StatusCode,
 24566  			Header: res.Header,
 24567  		})
 24568  	}
 24569  	if err != nil {
 24570  		return nil, err
 24571  	}
 24572  	defer googleapi.CloseBody(res)
 24573  	if err := googleapi.CheckResponse(res); err != nil {
 24574  		return nil, gensupport.WrapError(err)
 24575  	}
 24576  	ret := &ListLineItemAssignedTargetingOptionsResponse{
 24577  		ServerResponse: googleapi.ServerResponse{
 24578  			Header:         res.Header,
 24579  			HTTPStatusCode: res.StatusCode,
 24580  		},
 24581  	}
 24582  	target := &ret
 24583  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24584  		return nil, err
 24585  	}
 24586  	return ret, nil
 24587  }
 24588  
 24589  // Pages invokes f for each page of results.
 24590  // A non-nil error returned from f will halt the iteration.
 24591  // The provided context supersedes any context provided to the Context method.
 24592  func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListLineItemAssignedTargetingOptionsResponse) error) error {
 24593  	c.ctx_ = ctx
 24594  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 24595  	for {
 24596  		x, err := c.Do()
 24597  		if err != nil {
 24598  			return err
 24599  		}
 24600  		if err := f(x); err != nil {
 24601  			return err
 24602  		}
 24603  		if x.NextPageToken == "" {
 24604  			return nil
 24605  		}
 24606  		c.PageToken(x.NextPageToken)
 24607  	}
 24608  }
 24609  
 24610  type AdvertisersLocationListsCreateCall struct {
 24611  	s            *Service
 24612  	advertiserId int64
 24613  	locationlist *LocationList
 24614  	urlParams_   gensupport.URLParams
 24615  	ctx_         context.Context
 24616  	header_      http.Header
 24617  }
 24618  
 24619  // Create: Creates a new location list. Returns the newly created location list
 24620  // if successful.
 24621  //
 24622  //   - advertiserId: The ID of the DV360 advertiser to which the location list
 24623  //     belongs.
 24624  func (r *AdvertisersLocationListsService) Create(advertiserId int64, locationlist *LocationList) *AdvertisersLocationListsCreateCall {
 24625  	c := &AdvertisersLocationListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24626  	c.advertiserId = advertiserId
 24627  	c.locationlist = locationlist
 24628  	return c
 24629  }
 24630  
 24631  // Fields allows partial responses to be retrieved. See
 24632  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24633  // details.
 24634  func (c *AdvertisersLocationListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsCreateCall {
 24635  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24636  	return c
 24637  }
 24638  
 24639  // Context sets the context to be used in this call's Do method.
 24640  func (c *AdvertisersLocationListsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsCreateCall {
 24641  	c.ctx_ = ctx
 24642  	return c
 24643  }
 24644  
 24645  // Header returns a http.Header that can be modified by the caller to add
 24646  // headers to the request.
 24647  func (c *AdvertisersLocationListsCreateCall) Header() http.Header {
 24648  	if c.header_ == nil {
 24649  		c.header_ = make(http.Header)
 24650  	}
 24651  	return c.header_
 24652  }
 24653  
 24654  func (c *AdvertisersLocationListsCreateCall) doRequest(alt string) (*http.Response, error) {
 24655  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 24656  	var body io.Reader = nil
 24657  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist)
 24658  	if err != nil {
 24659  		return nil, err
 24660  	}
 24661  	c.urlParams_.Set("alt", alt)
 24662  	c.urlParams_.Set("prettyPrint", "false")
 24663  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/locationLists")
 24664  	urls += "?" + c.urlParams_.Encode()
 24665  	req, err := http.NewRequest("POST", urls, body)
 24666  	if err != nil {
 24667  		return nil, err
 24668  	}
 24669  	req.Header = reqHeaders
 24670  	googleapi.Expand(req.URL, map[string]string{
 24671  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24672  	})
 24673  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24674  }
 24675  
 24676  // Do executes the "displayvideo.advertisers.locationLists.create" call.
 24677  // Any non-2xx status code is an error. Response headers are in either
 24678  // *LocationList.ServerResponse.Header or (if a response was returned at all)
 24679  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 24680  // whether the returned error was because http.StatusNotModified was returned.
 24681  func (c *AdvertisersLocationListsCreateCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
 24682  	gensupport.SetOptions(c.urlParams_, opts...)
 24683  	res, err := c.doRequest("json")
 24684  	if res != nil && res.StatusCode == http.StatusNotModified {
 24685  		if res.Body != nil {
 24686  			res.Body.Close()
 24687  		}
 24688  		return nil, gensupport.WrapError(&googleapi.Error{
 24689  			Code:   res.StatusCode,
 24690  			Header: res.Header,
 24691  		})
 24692  	}
 24693  	if err != nil {
 24694  		return nil, err
 24695  	}
 24696  	defer googleapi.CloseBody(res)
 24697  	if err := googleapi.CheckResponse(res); err != nil {
 24698  		return nil, gensupport.WrapError(err)
 24699  	}
 24700  	ret := &LocationList{
 24701  		ServerResponse: googleapi.ServerResponse{
 24702  			Header:         res.Header,
 24703  			HTTPStatusCode: res.StatusCode,
 24704  		},
 24705  	}
 24706  	target := &ret
 24707  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24708  		return nil, err
 24709  	}
 24710  	return ret, nil
 24711  }
 24712  
 24713  type AdvertisersLocationListsGetCall struct {
 24714  	s              *Service
 24715  	advertiserId   int64
 24716  	locationListId int64
 24717  	urlParams_     gensupport.URLParams
 24718  	ifNoneMatch_   string
 24719  	ctx_           context.Context
 24720  	header_        http.Header
 24721  }
 24722  
 24723  // Get: Gets a location list.
 24724  //
 24725  //   - advertiserId: The ID of the DV360 advertiser to which the fetched location
 24726  //     list belongs.
 24727  //   - locationListId: The ID of the location list to fetch.
 24728  func (r *AdvertisersLocationListsService) Get(advertiserId int64, locationListId int64) *AdvertisersLocationListsGetCall {
 24729  	c := &AdvertisersLocationListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24730  	c.advertiserId = advertiserId
 24731  	c.locationListId = locationListId
 24732  	return c
 24733  }
 24734  
 24735  // Fields allows partial responses to be retrieved. See
 24736  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24737  // details.
 24738  func (c *AdvertisersLocationListsGetCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsGetCall {
 24739  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24740  	return c
 24741  }
 24742  
 24743  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 24744  // object's ETag matches the given value. This is useful for getting updates
 24745  // only after the object has changed since the last request.
 24746  func (c *AdvertisersLocationListsGetCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsGetCall {
 24747  	c.ifNoneMatch_ = entityTag
 24748  	return c
 24749  }
 24750  
 24751  // Context sets the context to be used in this call's Do method.
 24752  func (c *AdvertisersLocationListsGetCall) Context(ctx context.Context) *AdvertisersLocationListsGetCall {
 24753  	c.ctx_ = ctx
 24754  	return c
 24755  }
 24756  
 24757  // Header returns a http.Header that can be modified by the caller to add
 24758  // headers to the request.
 24759  func (c *AdvertisersLocationListsGetCall) Header() http.Header {
 24760  	if c.header_ == nil {
 24761  		c.header_ = make(http.Header)
 24762  	}
 24763  	return c.header_
 24764  }
 24765  
 24766  func (c *AdvertisersLocationListsGetCall) doRequest(alt string) (*http.Response, error) {
 24767  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 24768  	if c.ifNoneMatch_ != "" {
 24769  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24770  	}
 24771  	var body io.Reader = nil
 24772  	c.urlParams_.Set("alt", alt)
 24773  	c.urlParams_.Set("prettyPrint", "false")
 24774  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/locationLists/{+locationListId}")
 24775  	urls += "?" + c.urlParams_.Encode()
 24776  	req, err := http.NewRequest("GET", urls, body)
 24777  	if err != nil {
 24778  		return nil, err
 24779  	}
 24780  	req.Header = reqHeaders
 24781  	googleapi.Expand(req.URL, map[string]string{
 24782  		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
 24783  		"locationListId": strconv.FormatInt(c.locationListId, 10),
 24784  	})
 24785  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24786  }
 24787  
 24788  // Do executes the "displayvideo.advertisers.locationLists.get" call.
 24789  // Any non-2xx status code is an error. Response headers are in either
 24790  // *LocationList.ServerResponse.Header or (if a response was returned at all)
 24791  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 24792  // whether the returned error was because http.StatusNotModified was returned.
 24793  func (c *AdvertisersLocationListsGetCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
 24794  	gensupport.SetOptions(c.urlParams_, opts...)
 24795  	res, err := c.doRequest("json")
 24796  	if res != nil && res.StatusCode == http.StatusNotModified {
 24797  		if res.Body != nil {
 24798  			res.Body.Close()
 24799  		}
 24800  		return nil, gensupport.WrapError(&googleapi.Error{
 24801  			Code:   res.StatusCode,
 24802  			Header: res.Header,
 24803  		})
 24804  	}
 24805  	if err != nil {
 24806  		return nil, err
 24807  	}
 24808  	defer googleapi.CloseBody(res)
 24809  	if err := googleapi.CheckResponse(res); err != nil {
 24810  		return nil, gensupport.WrapError(err)
 24811  	}
 24812  	ret := &LocationList{
 24813  		ServerResponse: googleapi.ServerResponse{
 24814  			Header:         res.Header,
 24815  			HTTPStatusCode: res.StatusCode,
 24816  		},
 24817  	}
 24818  	target := &ret
 24819  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24820  		return nil, err
 24821  	}
 24822  	return ret, nil
 24823  }
 24824  
 24825  type AdvertisersLocationListsListCall struct {
 24826  	s            *Service
 24827  	advertiserId int64
 24828  	urlParams_   gensupport.URLParams
 24829  	ifNoneMatch_ string
 24830  	ctx_         context.Context
 24831  	header_      http.Header
 24832  }
 24833  
 24834  // List: Lists location lists based on a given advertiser id.
 24835  //
 24836  //   - advertiserId: The ID of the DV360 advertiser to which the fetched location
 24837  //     lists belong.
 24838  func (r *AdvertisersLocationListsService) List(advertiserId int64) *AdvertisersLocationListsListCall {
 24839  	c := &AdvertisersLocationListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24840  	c.advertiserId = advertiserId
 24841  	return c
 24842  }
 24843  
 24844  // Filter sets the optional parameter "filter": Allows filtering by location
 24845  // list fields. Supported syntax: * Filter expressions are made up of one or
 24846  // more restrictions. * Restrictions can be combined by `AND` or `OR` logical
 24847  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 24848  // has the form of `{field} {operator} {value}`. * All fields must use the
 24849  // `EQUALS (=)` operator. Supported fields: * `locationType` Examples: * All
 24850  // regional location list: `locationType="TARGETING_LOCATION_TYPE_REGIONAL" *
 24851  // All proximity location list:
 24852  // `locationType="TARGETING_LOCATION_TYPE_PROXIMITY" The length of this field
 24853  // should be no more than 500 characters. Reference our filter `LIST` requests
 24854  // (/display-video/api/guides/how-tos/filters) guide for more information.
 24855  func (c *AdvertisersLocationListsListCall) Filter(filter string) *AdvertisersLocationListsListCall {
 24856  	c.urlParams_.Set("filter", filter)
 24857  	return c
 24858  }
 24859  
 24860  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 24861  // list. Acceptable values are: * `locationListId` (default) * `displayName`
 24862  // The default sorting order is ascending. To specify descending order for a
 24863  // field, a suffix "desc" should be added to the field name. Example:
 24864  // `displayName desc`.
 24865  func (c *AdvertisersLocationListsListCall) OrderBy(orderBy string) *AdvertisersLocationListsListCall {
 24866  	c.urlParams_.Set("orderBy", orderBy)
 24867  	return c
 24868  }
 24869  
 24870  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 24871  // be between `1` and `200`. Defaults to `100` if not set. Returns error code
 24872  // `INVALID_ARGUMENT` if an invalid value is specified.
 24873  func (c *AdvertisersLocationListsListCall) PageSize(pageSize int64) *AdvertisersLocationListsListCall {
 24874  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 24875  	return c
 24876  }
 24877  
 24878  // PageToken sets the optional parameter "pageToken": A token identifying a
 24879  // page of results the server should return. Typically, this is the value of
 24880  // next_page_token returned from the previous call to `ListLocationLists`
 24881  // method. If not specified, the first page of results will be returned.
 24882  func (c *AdvertisersLocationListsListCall) PageToken(pageToken string) *AdvertisersLocationListsListCall {
 24883  	c.urlParams_.Set("pageToken", pageToken)
 24884  	return c
 24885  }
 24886  
 24887  // Fields allows partial responses to be retrieved. See
 24888  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 24889  // details.
 24890  func (c *AdvertisersLocationListsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsListCall {
 24891  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24892  	return c
 24893  }
 24894  
 24895  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 24896  // object's ETag matches the given value. This is useful for getting updates
 24897  // only after the object has changed since the last request.
 24898  func (c *AdvertisersLocationListsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsListCall {
 24899  	c.ifNoneMatch_ = entityTag
 24900  	return c
 24901  }
 24902  
 24903  // Context sets the context to be used in this call's Do method.
 24904  func (c *AdvertisersLocationListsListCall) Context(ctx context.Context) *AdvertisersLocationListsListCall {
 24905  	c.ctx_ = ctx
 24906  	return c
 24907  }
 24908  
 24909  // Header returns a http.Header that can be modified by the caller to add
 24910  // headers to the request.
 24911  func (c *AdvertisersLocationListsListCall) Header() http.Header {
 24912  	if c.header_ == nil {
 24913  		c.header_ = make(http.Header)
 24914  	}
 24915  	return c.header_
 24916  }
 24917  
 24918  func (c *AdvertisersLocationListsListCall) doRequest(alt string) (*http.Response, error) {
 24919  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 24920  	if c.ifNoneMatch_ != "" {
 24921  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24922  	}
 24923  	var body io.Reader = nil
 24924  	c.urlParams_.Set("alt", alt)
 24925  	c.urlParams_.Set("prettyPrint", "false")
 24926  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/locationLists")
 24927  	urls += "?" + c.urlParams_.Encode()
 24928  	req, err := http.NewRequest("GET", urls, body)
 24929  	if err != nil {
 24930  		return nil, err
 24931  	}
 24932  	req.Header = reqHeaders
 24933  	googleapi.Expand(req.URL, map[string]string{
 24934  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24935  	})
 24936  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24937  }
 24938  
 24939  // Do executes the "displayvideo.advertisers.locationLists.list" call.
 24940  // Any non-2xx status code is an error. Response headers are in either
 24941  // *ListLocationListsResponse.ServerResponse.Header or (if a response was
 24942  // returned at all) in error.(*googleapi.Error).Header. Use
 24943  // googleapi.IsNotModified to check whether the returned error was because
 24944  // http.StatusNotModified was returned.
 24945  func (c *AdvertisersLocationListsListCall) Do(opts ...googleapi.CallOption) (*ListLocationListsResponse, error) {
 24946  	gensupport.SetOptions(c.urlParams_, opts...)
 24947  	res, err := c.doRequest("json")
 24948  	if res != nil && res.StatusCode == http.StatusNotModified {
 24949  		if res.Body != nil {
 24950  			res.Body.Close()
 24951  		}
 24952  		return nil, gensupport.WrapError(&googleapi.Error{
 24953  			Code:   res.StatusCode,
 24954  			Header: res.Header,
 24955  		})
 24956  	}
 24957  	if err != nil {
 24958  		return nil, err
 24959  	}
 24960  	defer googleapi.CloseBody(res)
 24961  	if err := googleapi.CheckResponse(res); err != nil {
 24962  		return nil, gensupport.WrapError(err)
 24963  	}
 24964  	ret := &ListLocationListsResponse{
 24965  		ServerResponse: googleapi.ServerResponse{
 24966  			Header:         res.Header,
 24967  			HTTPStatusCode: res.StatusCode,
 24968  		},
 24969  	}
 24970  	target := &ret
 24971  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24972  		return nil, err
 24973  	}
 24974  	return ret, nil
 24975  }
 24976  
 24977  // Pages invokes f for each page of results.
 24978  // A non-nil error returned from f will halt the iteration.
 24979  // The provided context supersedes any context provided to the Context method.
 24980  func (c *AdvertisersLocationListsListCall) Pages(ctx context.Context, f func(*ListLocationListsResponse) error) error {
 24981  	c.ctx_ = ctx
 24982  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 24983  	for {
 24984  		x, err := c.Do()
 24985  		if err != nil {
 24986  			return err
 24987  		}
 24988  		if err := f(x); err != nil {
 24989  			return err
 24990  		}
 24991  		if x.NextPageToken == "" {
 24992  			return nil
 24993  		}
 24994  		c.PageToken(x.NextPageToken)
 24995  	}
 24996  }
 24997  
 24998  type AdvertisersLocationListsPatchCall struct {
 24999  	s              *Service
 25000  	advertiserId   int64
 25001  	locationListId int64
 25002  	locationlist   *LocationList
 25003  	urlParams_     gensupport.URLParams
 25004  	ctx_           context.Context
 25005  	header_        http.Header
 25006  }
 25007  
 25008  // Patch: Updates a location list. Returns the updated location list if
 25009  // successful.
 25010  //
 25011  //   - advertiserId: The ID of the DV360 advertiser to which the location lists
 25012  //     belongs.
 25013  //   - locationListId: Output only. The unique ID of the location list. Assigned
 25014  //     by the system.
 25015  func (r *AdvertisersLocationListsService) Patch(advertiserId int64, locationListId int64, locationlist *LocationList) *AdvertisersLocationListsPatchCall {
 25016  	c := &AdvertisersLocationListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25017  	c.advertiserId = advertiserId
 25018  	c.locationListId = locationListId
 25019  	c.locationlist = locationlist
 25020  	return c
 25021  }
 25022  
 25023  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 25024  // control which fields to update.
 25025  func (c *AdvertisersLocationListsPatchCall) UpdateMask(updateMask string) *AdvertisersLocationListsPatchCall {
 25026  	c.urlParams_.Set("updateMask", updateMask)
 25027  	return c
 25028  }
 25029  
 25030  // Fields allows partial responses to be retrieved. See
 25031  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25032  // details.
 25033  func (c *AdvertisersLocationListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsPatchCall {
 25034  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25035  	return c
 25036  }
 25037  
 25038  // Context sets the context to be used in this call's Do method.
 25039  func (c *AdvertisersLocationListsPatchCall) Context(ctx context.Context) *AdvertisersLocationListsPatchCall {
 25040  	c.ctx_ = ctx
 25041  	return c
 25042  }
 25043  
 25044  // Header returns a http.Header that can be modified by the caller to add
 25045  // headers to the request.
 25046  func (c *AdvertisersLocationListsPatchCall) Header() http.Header {
 25047  	if c.header_ == nil {
 25048  		c.header_ = make(http.Header)
 25049  	}
 25050  	return c.header_
 25051  }
 25052  
 25053  func (c *AdvertisersLocationListsPatchCall) doRequest(alt string) (*http.Response, error) {
 25054  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 25055  	var body io.Reader = nil
 25056  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist)
 25057  	if err != nil {
 25058  		return nil, err
 25059  	}
 25060  	c.urlParams_.Set("alt", alt)
 25061  	c.urlParams_.Set("prettyPrint", "false")
 25062  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/locationLists/{locationListId}")
 25063  	urls += "?" + c.urlParams_.Encode()
 25064  	req, err := http.NewRequest("PATCH", urls, body)
 25065  	if err != nil {
 25066  		return nil, err
 25067  	}
 25068  	req.Header = reqHeaders
 25069  	googleapi.Expand(req.URL, map[string]string{
 25070  		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
 25071  		"locationListId": strconv.FormatInt(c.locationListId, 10),
 25072  	})
 25073  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25074  }
 25075  
 25076  // Do executes the "displayvideo.advertisers.locationLists.patch" call.
 25077  // Any non-2xx status code is an error. Response headers are in either
 25078  // *LocationList.ServerResponse.Header or (if a response was returned at all)
 25079  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 25080  // whether the returned error was because http.StatusNotModified was returned.
 25081  func (c *AdvertisersLocationListsPatchCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
 25082  	gensupport.SetOptions(c.urlParams_, opts...)
 25083  	res, err := c.doRequest("json")
 25084  	if res != nil && res.StatusCode == http.StatusNotModified {
 25085  		if res.Body != nil {
 25086  			res.Body.Close()
 25087  		}
 25088  		return nil, gensupport.WrapError(&googleapi.Error{
 25089  			Code:   res.StatusCode,
 25090  			Header: res.Header,
 25091  		})
 25092  	}
 25093  	if err != nil {
 25094  		return nil, err
 25095  	}
 25096  	defer googleapi.CloseBody(res)
 25097  	if err := googleapi.CheckResponse(res); err != nil {
 25098  		return nil, gensupport.WrapError(err)
 25099  	}
 25100  	ret := &LocationList{
 25101  		ServerResponse: googleapi.ServerResponse{
 25102  			Header:         res.Header,
 25103  			HTTPStatusCode: res.StatusCode,
 25104  		},
 25105  	}
 25106  	target := &ret
 25107  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25108  		return nil, err
 25109  	}
 25110  	return ret, nil
 25111  }
 25112  
 25113  type AdvertisersLocationListsAssignedLocationsBulkEditCall struct {
 25114  	s                                *Service
 25115  	advertiserId                     int64
 25116  	locationListId                   int64
 25117  	bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest
 25118  	urlParams_                       gensupport.URLParams
 25119  	ctx_                             context.Context
 25120  	header_                          http.Header
 25121  }
 25122  
 25123  // BulkEdit: Bulk edits multiple assignments between locations and a single
 25124  // location list. The operation will delete the assigned locations provided in
 25125  // deletedAssignedLocations and then create the assigned locations provided in
 25126  // createdAssignedLocations.
 25127  //
 25128  //   - advertiserId: The ID of the DV360 advertiser to which the location list
 25129  //     belongs.
 25130  //   - locationListId: The ID of the location list to which these assignments are
 25131  //     assigned.
 25132  func (r *AdvertisersLocationListsAssignedLocationsService) BulkEdit(advertiserId int64, locationListId int64, bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
 25133  	c := &AdvertisersLocationListsAssignedLocationsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25134  	c.advertiserId = advertiserId
 25135  	c.locationListId = locationListId
 25136  	c.bulkeditassignedlocationsrequest = bulkeditassignedlocationsrequest
 25137  	return c
 25138  }
 25139  
 25140  // Fields allows partial responses to be retrieved. See
 25141  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25142  // details.
 25143  func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
 25144  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25145  	return c
 25146  }
 25147  
 25148  // Context sets the context to be used in this call's Do method.
 25149  func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
 25150  	c.ctx_ = ctx
 25151  	return c
 25152  }
 25153  
 25154  // Header returns a http.Header that can be modified by the caller to add
 25155  // headers to the request.
 25156  func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Header() http.Header {
 25157  	if c.header_ == nil {
 25158  		c.header_ = make(http.Header)
 25159  	}
 25160  	return c.header_
 25161  }
 25162  
 25163  func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) doRequest(alt string) (*http.Response, error) {
 25164  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 25165  	var body io.Reader = nil
 25166  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedlocationsrequest)
 25167  	if err != nil {
 25168  		return nil, err
 25169  	}
 25170  	c.urlParams_.Set("alt", alt)
 25171  	c.urlParams_.Set("prettyPrint", "false")
 25172  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit")
 25173  	urls += "?" + c.urlParams_.Encode()
 25174  	req, err := http.NewRequest("POST", urls, body)
 25175  	if err != nil {
 25176  		return nil, err
 25177  	}
 25178  	req.Header = reqHeaders
 25179  	googleapi.Expand(req.URL, map[string]string{
 25180  		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
 25181  		"locationListId": strconv.FormatInt(c.locationListId, 10),
 25182  	})
 25183  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25184  }
 25185  
 25186  // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit" call.
 25187  // Any non-2xx status code is an error. Response headers are in either
 25188  // *BulkEditAssignedLocationsResponse.ServerResponse.Header or (if a response
 25189  // was returned at all) in error.(*googleapi.Error).Header. Use
 25190  // googleapi.IsNotModified to check whether the returned error was because
 25191  // http.StatusNotModified was returned.
 25192  func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedLocationsResponse, error) {
 25193  	gensupport.SetOptions(c.urlParams_, opts...)
 25194  	res, err := c.doRequest("json")
 25195  	if res != nil && res.StatusCode == http.StatusNotModified {
 25196  		if res.Body != nil {
 25197  			res.Body.Close()
 25198  		}
 25199  		return nil, gensupport.WrapError(&googleapi.Error{
 25200  			Code:   res.StatusCode,
 25201  			Header: res.Header,
 25202  		})
 25203  	}
 25204  	if err != nil {
 25205  		return nil, err
 25206  	}
 25207  	defer googleapi.CloseBody(res)
 25208  	if err := googleapi.CheckResponse(res); err != nil {
 25209  		return nil, gensupport.WrapError(err)
 25210  	}
 25211  	ret := &BulkEditAssignedLocationsResponse{
 25212  		ServerResponse: googleapi.ServerResponse{
 25213  			Header:         res.Header,
 25214  			HTTPStatusCode: res.StatusCode,
 25215  		},
 25216  	}
 25217  	target := &ret
 25218  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25219  		return nil, err
 25220  	}
 25221  	return ret, nil
 25222  }
 25223  
 25224  type AdvertisersLocationListsAssignedLocationsCreateCall struct {
 25225  	s                *Service
 25226  	advertiserId     int64
 25227  	locationListId   int64
 25228  	assignedlocation *AssignedLocation
 25229  	urlParams_       gensupport.URLParams
 25230  	ctx_             context.Context
 25231  	header_          http.Header
 25232  }
 25233  
 25234  // Create: Creates an assignment between a location and a location list.
 25235  //
 25236  //   - advertiserId: The ID of the DV360 advertiser to which the location list
 25237  //     belongs.
 25238  //   - locationListId: The ID of the location list for which the assignment will
 25239  //     be created.
 25240  func (r *AdvertisersLocationListsAssignedLocationsService) Create(advertiserId int64, locationListId int64, assignedlocation *AssignedLocation) *AdvertisersLocationListsAssignedLocationsCreateCall {
 25241  	c := &AdvertisersLocationListsAssignedLocationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25242  	c.advertiserId = advertiserId
 25243  	c.locationListId = locationListId
 25244  	c.assignedlocation = assignedlocation
 25245  	return c
 25246  }
 25247  
 25248  // Fields allows partial responses to be retrieved. See
 25249  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25250  // details.
 25251  func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsCreateCall {
 25252  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25253  	return c
 25254  }
 25255  
 25256  // Context sets the context to be used in this call's Do method.
 25257  func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsCreateCall {
 25258  	c.ctx_ = ctx
 25259  	return c
 25260  }
 25261  
 25262  // Header returns a http.Header that can be modified by the caller to add
 25263  // headers to the request.
 25264  func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Header() http.Header {
 25265  	if c.header_ == nil {
 25266  		c.header_ = make(http.Header)
 25267  	}
 25268  	return c.header_
 25269  }
 25270  
 25271  func (c *AdvertisersLocationListsAssignedLocationsCreateCall) doRequest(alt string) (*http.Response, error) {
 25272  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 25273  	var body io.Reader = nil
 25274  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedlocation)
 25275  	if err != nil {
 25276  		return nil, err
 25277  	}
 25278  	c.urlParams_.Set("alt", alt)
 25279  	c.urlParams_.Set("prettyPrint", "false")
 25280  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations")
 25281  	urls += "?" + c.urlParams_.Encode()
 25282  	req, err := http.NewRequest("POST", urls, body)
 25283  	if err != nil {
 25284  		return nil, err
 25285  	}
 25286  	req.Header = reqHeaders
 25287  	googleapi.Expand(req.URL, map[string]string{
 25288  		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
 25289  		"locationListId": strconv.FormatInt(c.locationListId, 10),
 25290  	})
 25291  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25292  }
 25293  
 25294  // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.create" call.
 25295  // Any non-2xx status code is an error. Response headers are in either
 25296  // *AssignedLocation.ServerResponse.Header or (if a response was returned at
 25297  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 25298  // check whether the returned error was because http.StatusNotModified was
 25299  // returned.
 25300  func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedLocation, error) {
 25301  	gensupport.SetOptions(c.urlParams_, opts...)
 25302  	res, err := c.doRequest("json")
 25303  	if res != nil && res.StatusCode == http.StatusNotModified {
 25304  		if res.Body != nil {
 25305  			res.Body.Close()
 25306  		}
 25307  		return nil, gensupport.WrapError(&googleapi.Error{
 25308  			Code:   res.StatusCode,
 25309  			Header: res.Header,
 25310  		})
 25311  	}
 25312  	if err != nil {
 25313  		return nil, err
 25314  	}
 25315  	defer googleapi.CloseBody(res)
 25316  	if err := googleapi.CheckResponse(res); err != nil {
 25317  		return nil, gensupport.WrapError(err)
 25318  	}
 25319  	ret := &AssignedLocation{
 25320  		ServerResponse: googleapi.ServerResponse{
 25321  			Header:         res.Header,
 25322  			HTTPStatusCode: res.StatusCode,
 25323  		},
 25324  	}
 25325  	target := &ret
 25326  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25327  		return nil, err
 25328  	}
 25329  	return ret, nil
 25330  }
 25331  
 25332  type AdvertisersLocationListsAssignedLocationsDeleteCall struct {
 25333  	s                  *Service
 25334  	advertiserId       int64
 25335  	locationListId     int64
 25336  	assignedLocationId int64
 25337  	urlParams_         gensupport.URLParams
 25338  	ctx_               context.Context
 25339  	header_            http.Header
 25340  }
 25341  
 25342  // Delete: Deletes the assignment between a location and a location list.
 25343  //
 25344  //   - advertiserId: The ID of the DV360 advertiser to which the location list
 25345  //     belongs.
 25346  //   - assignedLocationId: The ID of the assigned location to delete.
 25347  //   - locationListId: The ID of the location list to which this assignment is
 25348  //     assigned.
 25349  func (r *AdvertisersLocationListsAssignedLocationsService) Delete(advertiserId int64, locationListId int64, assignedLocationId int64) *AdvertisersLocationListsAssignedLocationsDeleteCall {
 25350  	c := &AdvertisersLocationListsAssignedLocationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25351  	c.advertiserId = advertiserId
 25352  	c.locationListId = locationListId
 25353  	c.assignedLocationId = assignedLocationId
 25354  	return c
 25355  }
 25356  
 25357  // Fields allows partial responses to be retrieved. See
 25358  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25359  // details.
 25360  func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsDeleteCall {
 25361  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25362  	return c
 25363  }
 25364  
 25365  // Context sets the context to be used in this call's Do method.
 25366  func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsDeleteCall {
 25367  	c.ctx_ = ctx
 25368  	return c
 25369  }
 25370  
 25371  // Header returns a http.Header that can be modified by the caller to add
 25372  // headers to the request.
 25373  func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Header() http.Header {
 25374  	if c.header_ == nil {
 25375  		c.header_ = make(http.Header)
 25376  	}
 25377  	return c.header_
 25378  }
 25379  
 25380  func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 25381  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 25382  	var body io.Reader = nil
 25383  	c.urlParams_.Set("alt", alt)
 25384  	c.urlParams_.Set("prettyPrint", "false")
 25385  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}")
 25386  	urls += "?" + c.urlParams_.Encode()
 25387  	req, err := http.NewRequest("DELETE", urls, body)
 25388  	if err != nil {
 25389  		return nil, err
 25390  	}
 25391  	req.Header = reqHeaders
 25392  	googleapi.Expand(req.URL, map[string]string{
 25393  		"advertiserId":       strconv.FormatInt(c.advertiserId, 10),
 25394  		"locationListId":     strconv.FormatInt(c.locationListId, 10),
 25395  		"assignedLocationId": strconv.FormatInt(c.assignedLocationId, 10),
 25396  	})
 25397  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25398  }
 25399  
 25400  // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.delete" call.
 25401  // Any non-2xx status code is an error. Response headers are in either
 25402  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 25403  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 25404  // whether the returned error was because http.StatusNotModified was returned.
 25405  func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 25406  	gensupport.SetOptions(c.urlParams_, opts...)
 25407  	res, err := c.doRequest("json")
 25408  	if res != nil && res.StatusCode == http.StatusNotModified {
 25409  		if res.Body != nil {
 25410  			res.Body.Close()
 25411  		}
 25412  		return nil, gensupport.WrapError(&googleapi.Error{
 25413  			Code:   res.StatusCode,
 25414  			Header: res.Header,
 25415  		})
 25416  	}
 25417  	if err != nil {
 25418  		return nil, err
 25419  	}
 25420  	defer googleapi.CloseBody(res)
 25421  	if err := googleapi.CheckResponse(res); err != nil {
 25422  		return nil, gensupport.WrapError(err)
 25423  	}
 25424  	ret := &Empty{
 25425  		ServerResponse: googleapi.ServerResponse{
 25426  			Header:         res.Header,
 25427  			HTTPStatusCode: res.StatusCode,
 25428  		},
 25429  	}
 25430  	target := &ret
 25431  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25432  		return nil, err
 25433  	}
 25434  	return ret, nil
 25435  }
 25436  
 25437  type AdvertisersLocationListsAssignedLocationsListCall struct {
 25438  	s              *Service
 25439  	advertiserId   int64
 25440  	locationListId int64
 25441  	urlParams_     gensupport.URLParams
 25442  	ifNoneMatch_   string
 25443  	ctx_           context.Context
 25444  	header_        http.Header
 25445  }
 25446  
 25447  // List: Lists locations assigned to a location list.
 25448  //
 25449  //   - advertiserId: The ID of the DV360 advertiser to which the location list
 25450  //     belongs.
 25451  //   - locationListId: The ID of the location list to which these assignments are
 25452  //     assigned.
 25453  func (r *AdvertisersLocationListsAssignedLocationsService) List(advertiserId int64, locationListId int64) *AdvertisersLocationListsAssignedLocationsListCall {
 25454  	c := &AdvertisersLocationListsAssignedLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25455  	c.advertiserId = advertiserId
 25456  	c.locationListId = locationListId
 25457  	return c
 25458  }
 25459  
 25460  // Filter sets the optional parameter "filter": Allows filtering by location
 25461  // list assignment fields. Supported syntax: * Filter expressions are made up
 25462  // of one or more restrictions. * Restrictions can be combined by the `OR`
 25463  // logical operator. * A restriction has the form of `{field} {operator}
 25464  // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields:
 25465  // * `assignedLocationId` The length of this field should be no more than 500
 25466  // characters. Reference our filter `LIST` requests
 25467  // (/display-video/api/guides/how-tos/filters) guide for more information.
 25468  func (c *AdvertisersLocationListsAssignedLocationsListCall) Filter(filter string) *AdvertisersLocationListsAssignedLocationsListCall {
 25469  	c.urlParams_.Set("filter", filter)
 25470  	return c
 25471  }
 25472  
 25473  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 25474  // list. Acceptable values are: * `assignedLocationId` (default) The default
 25475  // sorting order is ascending. To specify descending order for a field, a
 25476  // suffix " desc" should be added to the field name. Example:
 25477  // `assignedLocationId desc`.
 25478  func (c *AdvertisersLocationListsAssignedLocationsListCall) OrderBy(orderBy string) *AdvertisersLocationListsAssignedLocationsListCall {
 25479  	c.urlParams_.Set("orderBy", orderBy)
 25480  	return c
 25481  }
 25482  
 25483  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 25484  // be between `1` and `200`. If unspecified will default to `100`. Returns
 25485  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 25486  func (c *AdvertisersLocationListsAssignedLocationsListCall) PageSize(pageSize int64) *AdvertisersLocationListsAssignedLocationsListCall {
 25487  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 25488  	return c
 25489  }
 25490  
 25491  // PageToken sets the optional parameter "pageToken": A token identifying a
 25492  // page of results the server should return. Typically, this is the value of
 25493  // next_page_token returned from the previous call to `ListAssignedLocations`
 25494  // method. If not specified, the first page of results will be returned.
 25495  func (c *AdvertisersLocationListsAssignedLocationsListCall) PageToken(pageToken string) *AdvertisersLocationListsAssignedLocationsListCall {
 25496  	c.urlParams_.Set("pageToken", pageToken)
 25497  	return c
 25498  }
 25499  
 25500  // Fields allows partial responses to be retrieved. See
 25501  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25502  // details.
 25503  func (c *AdvertisersLocationListsAssignedLocationsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsListCall {
 25504  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25505  	return c
 25506  }
 25507  
 25508  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 25509  // object's ETag matches the given value. This is useful for getting updates
 25510  // only after the object has changed since the last request.
 25511  func (c *AdvertisersLocationListsAssignedLocationsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsAssignedLocationsListCall {
 25512  	c.ifNoneMatch_ = entityTag
 25513  	return c
 25514  }
 25515  
 25516  // Context sets the context to be used in this call's Do method.
 25517  func (c *AdvertisersLocationListsAssignedLocationsListCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsListCall {
 25518  	c.ctx_ = ctx
 25519  	return c
 25520  }
 25521  
 25522  // Header returns a http.Header that can be modified by the caller to add
 25523  // headers to the request.
 25524  func (c *AdvertisersLocationListsAssignedLocationsListCall) Header() http.Header {
 25525  	if c.header_ == nil {
 25526  		c.header_ = make(http.Header)
 25527  	}
 25528  	return c.header_
 25529  }
 25530  
 25531  func (c *AdvertisersLocationListsAssignedLocationsListCall) doRequest(alt string) (*http.Response, error) {
 25532  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 25533  	if c.ifNoneMatch_ != "" {
 25534  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25535  	}
 25536  	var body io.Reader = nil
 25537  	c.urlParams_.Set("alt", alt)
 25538  	c.urlParams_.Set("prettyPrint", "false")
 25539  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations")
 25540  	urls += "?" + c.urlParams_.Encode()
 25541  	req, err := http.NewRequest("GET", urls, body)
 25542  	if err != nil {
 25543  		return nil, err
 25544  	}
 25545  	req.Header = reqHeaders
 25546  	googleapi.Expand(req.URL, map[string]string{
 25547  		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
 25548  		"locationListId": strconv.FormatInt(c.locationListId, 10),
 25549  	})
 25550  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25551  }
 25552  
 25553  // Do executes the "displayvideo.advertisers.locationLists.assignedLocations.list" call.
 25554  // Any non-2xx status code is an error. Response headers are in either
 25555  // *ListAssignedLocationsResponse.ServerResponse.Header or (if a response was
 25556  // returned at all) in error.(*googleapi.Error).Header. Use
 25557  // googleapi.IsNotModified to check whether the returned error was because
 25558  // http.StatusNotModified was returned.
 25559  func (c *AdvertisersLocationListsAssignedLocationsListCall) Do(opts ...googleapi.CallOption) (*ListAssignedLocationsResponse, error) {
 25560  	gensupport.SetOptions(c.urlParams_, opts...)
 25561  	res, err := c.doRequest("json")
 25562  	if res != nil && res.StatusCode == http.StatusNotModified {
 25563  		if res.Body != nil {
 25564  			res.Body.Close()
 25565  		}
 25566  		return nil, gensupport.WrapError(&googleapi.Error{
 25567  			Code:   res.StatusCode,
 25568  			Header: res.Header,
 25569  		})
 25570  	}
 25571  	if err != nil {
 25572  		return nil, err
 25573  	}
 25574  	defer googleapi.CloseBody(res)
 25575  	if err := googleapi.CheckResponse(res); err != nil {
 25576  		return nil, gensupport.WrapError(err)
 25577  	}
 25578  	ret := &ListAssignedLocationsResponse{
 25579  		ServerResponse: googleapi.ServerResponse{
 25580  			Header:         res.Header,
 25581  			HTTPStatusCode: res.StatusCode,
 25582  		},
 25583  	}
 25584  	target := &ret
 25585  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25586  		return nil, err
 25587  	}
 25588  	return ret, nil
 25589  }
 25590  
 25591  // Pages invokes f for each page of results.
 25592  // A non-nil error returned from f will halt the iteration.
 25593  // The provided context supersedes any context provided to the Context method.
 25594  func (c *AdvertisersLocationListsAssignedLocationsListCall) Pages(ctx context.Context, f func(*ListAssignedLocationsResponse) error) error {
 25595  	c.ctx_ = ctx
 25596  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 25597  	for {
 25598  		x, err := c.Do()
 25599  		if err != nil {
 25600  			return err
 25601  		}
 25602  		if err := f(x); err != nil {
 25603  			return err
 25604  		}
 25605  		if x.NextPageToken == "" {
 25606  			return nil
 25607  		}
 25608  		c.PageToken(x.NextPageToken)
 25609  	}
 25610  }
 25611  
 25612  type AdvertisersNegativeKeywordListsCreateCall struct {
 25613  	s                   *Service
 25614  	advertiserId        int64
 25615  	negativekeywordlist *NegativeKeywordList
 25616  	urlParams_          gensupport.URLParams
 25617  	ctx_                context.Context
 25618  	header_             http.Header
 25619  }
 25620  
 25621  // Create: Creates a new negative keyword list. Returns the newly created
 25622  // negative keyword list if successful.
 25623  //
 25624  //   - advertiserId: The ID of the DV360 advertiser to which the negative keyword
 25625  //     list will belong.
 25626  func (r *AdvertisersNegativeKeywordListsService) Create(advertiserId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsCreateCall {
 25627  	c := &AdvertisersNegativeKeywordListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25628  	c.advertiserId = advertiserId
 25629  	c.negativekeywordlist = negativekeywordlist
 25630  	return c
 25631  }
 25632  
 25633  // Fields allows partial responses to be retrieved. See
 25634  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25635  // details.
 25636  func (c *AdvertisersNegativeKeywordListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsCreateCall {
 25637  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25638  	return c
 25639  }
 25640  
 25641  // Context sets the context to be used in this call's Do method.
 25642  func (c *AdvertisersNegativeKeywordListsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsCreateCall {
 25643  	c.ctx_ = ctx
 25644  	return c
 25645  }
 25646  
 25647  // Header returns a http.Header that can be modified by the caller to add
 25648  // headers to the request.
 25649  func (c *AdvertisersNegativeKeywordListsCreateCall) Header() http.Header {
 25650  	if c.header_ == nil {
 25651  		c.header_ = make(http.Header)
 25652  	}
 25653  	return c.header_
 25654  }
 25655  
 25656  func (c *AdvertisersNegativeKeywordListsCreateCall) doRequest(alt string) (*http.Response, error) {
 25657  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 25658  	var body io.Reader = nil
 25659  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist)
 25660  	if err != nil {
 25661  		return nil, err
 25662  	}
 25663  	c.urlParams_.Set("alt", alt)
 25664  	c.urlParams_.Set("prettyPrint", "false")
 25665  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/negativeKeywordLists")
 25666  	urls += "?" + c.urlParams_.Encode()
 25667  	req, err := http.NewRequest("POST", urls, body)
 25668  	if err != nil {
 25669  		return nil, err
 25670  	}
 25671  	req.Header = reqHeaders
 25672  	googleapi.Expand(req.URL, map[string]string{
 25673  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 25674  	})
 25675  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25676  }
 25677  
 25678  // Do executes the "displayvideo.advertisers.negativeKeywordLists.create" call.
 25679  // Any non-2xx status code is an error. Response headers are in either
 25680  // *NegativeKeywordList.ServerResponse.Header or (if a response was returned at
 25681  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 25682  // check whether the returned error was because http.StatusNotModified was
 25683  // returned.
 25684  func (c *AdvertisersNegativeKeywordListsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
 25685  	gensupport.SetOptions(c.urlParams_, opts...)
 25686  	res, err := c.doRequest("json")
 25687  	if res != nil && res.StatusCode == http.StatusNotModified {
 25688  		if res.Body != nil {
 25689  			res.Body.Close()
 25690  		}
 25691  		return nil, gensupport.WrapError(&googleapi.Error{
 25692  			Code:   res.StatusCode,
 25693  			Header: res.Header,
 25694  		})
 25695  	}
 25696  	if err != nil {
 25697  		return nil, err
 25698  	}
 25699  	defer googleapi.CloseBody(res)
 25700  	if err := googleapi.CheckResponse(res); err != nil {
 25701  		return nil, gensupport.WrapError(err)
 25702  	}
 25703  	ret := &NegativeKeywordList{
 25704  		ServerResponse: googleapi.ServerResponse{
 25705  			Header:         res.Header,
 25706  			HTTPStatusCode: res.StatusCode,
 25707  		},
 25708  	}
 25709  	target := &ret
 25710  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25711  		return nil, err
 25712  	}
 25713  	return ret, nil
 25714  }
 25715  
 25716  type AdvertisersNegativeKeywordListsDeleteCall struct {
 25717  	s                     *Service
 25718  	advertiserId          int64
 25719  	negativeKeywordListId int64
 25720  	urlParams_            gensupport.URLParams
 25721  	ctx_                  context.Context
 25722  	header_               http.Header
 25723  }
 25724  
 25725  // Delete: Deletes a negative keyword list given an advertiser ID and a
 25726  // negative keyword list ID.
 25727  //
 25728  //   - advertiserId: The ID of the DV360 advertiser to which the negative keyword
 25729  //     list belongs.
 25730  //   - negativeKeywordListId: The ID of the negative keyword list to delete.
 25731  func (r *AdvertisersNegativeKeywordListsService) Delete(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsDeleteCall {
 25732  	c := &AdvertisersNegativeKeywordListsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25733  	c.advertiserId = advertiserId
 25734  	c.negativeKeywordListId = negativeKeywordListId
 25735  	return c
 25736  }
 25737  
 25738  // Fields allows partial responses to be retrieved. See
 25739  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25740  // details.
 25741  func (c *AdvertisersNegativeKeywordListsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsDeleteCall {
 25742  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25743  	return c
 25744  }
 25745  
 25746  // Context sets the context to be used in this call's Do method.
 25747  func (c *AdvertisersNegativeKeywordListsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsDeleteCall {
 25748  	c.ctx_ = ctx
 25749  	return c
 25750  }
 25751  
 25752  // Header returns a http.Header that can be modified by the caller to add
 25753  // headers to the request.
 25754  func (c *AdvertisersNegativeKeywordListsDeleteCall) Header() http.Header {
 25755  	if c.header_ == nil {
 25756  		c.header_ = make(http.Header)
 25757  	}
 25758  	return c.header_
 25759  }
 25760  
 25761  func (c *AdvertisersNegativeKeywordListsDeleteCall) doRequest(alt string) (*http.Response, error) {
 25762  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 25763  	var body io.Reader = nil
 25764  	c.urlParams_.Set("alt", alt)
 25765  	c.urlParams_.Set("prettyPrint", "false")
 25766  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}")
 25767  	urls += "?" + c.urlParams_.Encode()
 25768  	req, err := http.NewRequest("DELETE", urls, body)
 25769  	if err != nil {
 25770  		return nil, err
 25771  	}
 25772  	req.Header = reqHeaders
 25773  	googleapi.Expand(req.URL, map[string]string{
 25774  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 25775  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 25776  	})
 25777  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25778  }
 25779  
 25780  // Do executes the "displayvideo.advertisers.negativeKeywordLists.delete" call.
 25781  // Any non-2xx status code is an error. Response headers are in either
 25782  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 25783  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 25784  // whether the returned error was because http.StatusNotModified was returned.
 25785  func (c *AdvertisersNegativeKeywordListsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 25786  	gensupport.SetOptions(c.urlParams_, opts...)
 25787  	res, err := c.doRequest("json")
 25788  	if res != nil && res.StatusCode == http.StatusNotModified {
 25789  		if res.Body != nil {
 25790  			res.Body.Close()
 25791  		}
 25792  		return nil, gensupport.WrapError(&googleapi.Error{
 25793  			Code:   res.StatusCode,
 25794  			Header: res.Header,
 25795  		})
 25796  	}
 25797  	if err != nil {
 25798  		return nil, err
 25799  	}
 25800  	defer googleapi.CloseBody(res)
 25801  	if err := googleapi.CheckResponse(res); err != nil {
 25802  		return nil, gensupport.WrapError(err)
 25803  	}
 25804  	ret := &Empty{
 25805  		ServerResponse: googleapi.ServerResponse{
 25806  			Header:         res.Header,
 25807  			HTTPStatusCode: res.StatusCode,
 25808  		},
 25809  	}
 25810  	target := &ret
 25811  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25812  		return nil, err
 25813  	}
 25814  	return ret, nil
 25815  }
 25816  
 25817  type AdvertisersNegativeKeywordListsGetCall struct {
 25818  	s                     *Service
 25819  	advertiserId          int64
 25820  	negativeKeywordListId int64
 25821  	urlParams_            gensupport.URLParams
 25822  	ifNoneMatch_          string
 25823  	ctx_                  context.Context
 25824  	header_               http.Header
 25825  }
 25826  
 25827  // Get: Gets a negative keyword list given an advertiser ID and a negative
 25828  // keyword list ID.
 25829  //
 25830  //   - advertiserId: The ID of the DV360 advertiser to which the fetched negative
 25831  //     keyword list belongs.
 25832  //   - negativeKeywordListId: The ID of the negative keyword list to fetch.
 25833  func (r *AdvertisersNegativeKeywordListsService) Get(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsGetCall {
 25834  	c := &AdvertisersNegativeKeywordListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25835  	c.advertiserId = advertiserId
 25836  	c.negativeKeywordListId = negativeKeywordListId
 25837  	return c
 25838  }
 25839  
 25840  // Fields allows partial responses to be retrieved. See
 25841  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25842  // details.
 25843  func (c *AdvertisersNegativeKeywordListsGetCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsGetCall {
 25844  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25845  	return c
 25846  }
 25847  
 25848  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 25849  // object's ETag matches the given value. This is useful for getting updates
 25850  // only after the object has changed since the last request.
 25851  func (c *AdvertisersNegativeKeywordListsGetCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsGetCall {
 25852  	c.ifNoneMatch_ = entityTag
 25853  	return c
 25854  }
 25855  
 25856  // Context sets the context to be used in this call's Do method.
 25857  func (c *AdvertisersNegativeKeywordListsGetCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsGetCall {
 25858  	c.ctx_ = ctx
 25859  	return c
 25860  }
 25861  
 25862  // Header returns a http.Header that can be modified by the caller to add
 25863  // headers to the request.
 25864  func (c *AdvertisersNegativeKeywordListsGetCall) Header() http.Header {
 25865  	if c.header_ == nil {
 25866  		c.header_ = make(http.Header)
 25867  	}
 25868  	return c.header_
 25869  }
 25870  
 25871  func (c *AdvertisersNegativeKeywordListsGetCall) doRequest(alt string) (*http.Response, error) {
 25872  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 25873  	if c.ifNoneMatch_ != "" {
 25874  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25875  	}
 25876  	var body io.Reader = nil
 25877  	c.urlParams_.Set("alt", alt)
 25878  	c.urlParams_.Set("prettyPrint", "false")
 25879  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}")
 25880  	urls += "?" + c.urlParams_.Encode()
 25881  	req, err := http.NewRequest("GET", urls, body)
 25882  	if err != nil {
 25883  		return nil, err
 25884  	}
 25885  	req.Header = reqHeaders
 25886  	googleapi.Expand(req.URL, map[string]string{
 25887  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 25888  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 25889  	})
 25890  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25891  }
 25892  
 25893  // Do executes the "displayvideo.advertisers.negativeKeywordLists.get" call.
 25894  // Any non-2xx status code is an error. Response headers are in either
 25895  // *NegativeKeywordList.ServerResponse.Header or (if a response was returned at
 25896  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 25897  // check whether the returned error was because http.StatusNotModified was
 25898  // returned.
 25899  func (c *AdvertisersNegativeKeywordListsGetCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
 25900  	gensupport.SetOptions(c.urlParams_, opts...)
 25901  	res, err := c.doRequest("json")
 25902  	if res != nil && res.StatusCode == http.StatusNotModified {
 25903  		if res.Body != nil {
 25904  			res.Body.Close()
 25905  		}
 25906  		return nil, gensupport.WrapError(&googleapi.Error{
 25907  			Code:   res.StatusCode,
 25908  			Header: res.Header,
 25909  		})
 25910  	}
 25911  	if err != nil {
 25912  		return nil, err
 25913  	}
 25914  	defer googleapi.CloseBody(res)
 25915  	if err := googleapi.CheckResponse(res); err != nil {
 25916  		return nil, gensupport.WrapError(err)
 25917  	}
 25918  	ret := &NegativeKeywordList{
 25919  		ServerResponse: googleapi.ServerResponse{
 25920  			Header:         res.Header,
 25921  			HTTPStatusCode: res.StatusCode,
 25922  		},
 25923  	}
 25924  	target := &ret
 25925  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25926  		return nil, err
 25927  	}
 25928  	return ret, nil
 25929  }
 25930  
 25931  type AdvertisersNegativeKeywordListsListCall struct {
 25932  	s            *Service
 25933  	advertiserId int64
 25934  	urlParams_   gensupport.URLParams
 25935  	ifNoneMatch_ string
 25936  	ctx_         context.Context
 25937  	header_      http.Header
 25938  }
 25939  
 25940  // List: Lists negative keyword lists based on a given advertiser id.
 25941  //
 25942  //   - advertiserId: The ID of the DV360 advertiser to which the fetched negative
 25943  //     keyword lists belong.
 25944  func (r *AdvertisersNegativeKeywordListsService) List(advertiserId int64) *AdvertisersNegativeKeywordListsListCall {
 25945  	c := &AdvertisersNegativeKeywordListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25946  	c.advertiserId = advertiserId
 25947  	return c
 25948  }
 25949  
 25950  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 25951  // be between `1` and `200`. Defaults to `100` if not set. Returns error code
 25952  // `INVALID_ARGUMENT` if an invalid value is specified.
 25953  func (c *AdvertisersNegativeKeywordListsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsListCall {
 25954  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 25955  	return c
 25956  }
 25957  
 25958  // PageToken sets the optional parameter "pageToken": A token identifying a
 25959  // page of results the server should return. Typically, this is the value of
 25960  // next_page_token returned from the previous call to
 25961  // `ListNegativeKeywordLists` method. If not specified, the first page of
 25962  // results will be returned.
 25963  func (c *AdvertisersNegativeKeywordListsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsListCall {
 25964  	c.urlParams_.Set("pageToken", pageToken)
 25965  	return c
 25966  }
 25967  
 25968  // Fields allows partial responses to be retrieved. See
 25969  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 25970  // details.
 25971  func (c *AdvertisersNegativeKeywordListsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsListCall {
 25972  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25973  	return c
 25974  }
 25975  
 25976  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 25977  // object's ETag matches the given value. This is useful for getting updates
 25978  // only after the object has changed since the last request.
 25979  func (c *AdvertisersNegativeKeywordListsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsListCall {
 25980  	c.ifNoneMatch_ = entityTag
 25981  	return c
 25982  }
 25983  
 25984  // Context sets the context to be used in this call's Do method.
 25985  func (c *AdvertisersNegativeKeywordListsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsListCall {
 25986  	c.ctx_ = ctx
 25987  	return c
 25988  }
 25989  
 25990  // Header returns a http.Header that can be modified by the caller to add
 25991  // headers to the request.
 25992  func (c *AdvertisersNegativeKeywordListsListCall) Header() http.Header {
 25993  	if c.header_ == nil {
 25994  		c.header_ = make(http.Header)
 25995  	}
 25996  	return c.header_
 25997  }
 25998  
 25999  func (c *AdvertisersNegativeKeywordListsListCall) doRequest(alt string) (*http.Response, error) {
 26000  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26001  	if c.ifNoneMatch_ != "" {
 26002  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26003  	}
 26004  	var body io.Reader = nil
 26005  	c.urlParams_.Set("alt", alt)
 26006  	c.urlParams_.Set("prettyPrint", "false")
 26007  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/negativeKeywordLists")
 26008  	urls += "?" + c.urlParams_.Encode()
 26009  	req, err := http.NewRequest("GET", urls, body)
 26010  	if err != nil {
 26011  		return nil, err
 26012  	}
 26013  	req.Header = reqHeaders
 26014  	googleapi.Expand(req.URL, map[string]string{
 26015  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 26016  	})
 26017  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26018  }
 26019  
 26020  // Do executes the "displayvideo.advertisers.negativeKeywordLists.list" call.
 26021  // Any non-2xx status code is an error. Response headers are in either
 26022  // *ListNegativeKeywordListsResponse.ServerResponse.Header or (if a response
 26023  // was returned at all) in error.(*googleapi.Error).Header. Use
 26024  // googleapi.IsNotModified to check whether the returned error was because
 26025  // http.StatusNotModified was returned.
 26026  func (c *AdvertisersNegativeKeywordListsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordListsResponse, error) {
 26027  	gensupport.SetOptions(c.urlParams_, opts...)
 26028  	res, err := c.doRequest("json")
 26029  	if res != nil && res.StatusCode == http.StatusNotModified {
 26030  		if res.Body != nil {
 26031  			res.Body.Close()
 26032  		}
 26033  		return nil, gensupport.WrapError(&googleapi.Error{
 26034  			Code:   res.StatusCode,
 26035  			Header: res.Header,
 26036  		})
 26037  	}
 26038  	if err != nil {
 26039  		return nil, err
 26040  	}
 26041  	defer googleapi.CloseBody(res)
 26042  	if err := googleapi.CheckResponse(res); err != nil {
 26043  		return nil, gensupport.WrapError(err)
 26044  	}
 26045  	ret := &ListNegativeKeywordListsResponse{
 26046  		ServerResponse: googleapi.ServerResponse{
 26047  			Header:         res.Header,
 26048  			HTTPStatusCode: res.StatusCode,
 26049  		},
 26050  	}
 26051  	target := &ret
 26052  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26053  		return nil, err
 26054  	}
 26055  	return ret, nil
 26056  }
 26057  
 26058  // Pages invokes f for each page of results.
 26059  // A non-nil error returned from f will halt the iteration.
 26060  // The provided context supersedes any context provided to the Context method.
 26061  func (c *AdvertisersNegativeKeywordListsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordListsResponse) error) error {
 26062  	c.ctx_ = ctx
 26063  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 26064  	for {
 26065  		x, err := c.Do()
 26066  		if err != nil {
 26067  			return err
 26068  		}
 26069  		if err := f(x); err != nil {
 26070  			return err
 26071  		}
 26072  		if x.NextPageToken == "" {
 26073  			return nil
 26074  		}
 26075  		c.PageToken(x.NextPageToken)
 26076  	}
 26077  }
 26078  
 26079  type AdvertisersNegativeKeywordListsPatchCall struct {
 26080  	s                     *Service
 26081  	advertiserId          int64
 26082  	negativeKeywordListId int64
 26083  	negativekeywordlist   *NegativeKeywordList
 26084  	urlParams_            gensupport.URLParams
 26085  	ctx_                  context.Context
 26086  	header_               http.Header
 26087  }
 26088  
 26089  // Patch: Updates a negative keyword list. Returns the updated negative keyword
 26090  // list if successful.
 26091  //
 26092  //   - advertiserId: The ID of the DV360 advertiser to which the negative keyword
 26093  //     list belongs.
 26094  //   - negativeKeywordListId: Output only. The unique ID of the negative keyword
 26095  //     list. Assigned by the system.
 26096  func (r *AdvertisersNegativeKeywordListsService) Patch(advertiserId int64, negativeKeywordListId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsPatchCall {
 26097  	c := &AdvertisersNegativeKeywordListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26098  	c.advertiserId = advertiserId
 26099  	c.negativeKeywordListId = negativeKeywordListId
 26100  	c.negativekeywordlist = negativekeywordlist
 26101  	return c
 26102  }
 26103  
 26104  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 26105  // control which fields to update.
 26106  func (c *AdvertisersNegativeKeywordListsPatchCall) UpdateMask(updateMask string) *AdvertisersNegativeKeywordListsPatchCall {
 26107  	c.urlParams_.Set("updateMask", updateMask)
 26108  	return c
 26109  }
 26110  
 26111  // Fields allows partial responses to be retrieved. See
 26112  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26113  // details.
 26114  func (c *AdvertisersNegativeKeywordListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsPatchCall {
 26115  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26116  	return c
 26117  }
 26118  
 26119  // Context sets the context to be used in this call's Do method.
 26120  func (c *AdvertisersNegativeKeywordListsPatchCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsPatchCall {
 26121  	c.ctx_ = ctx
 26122  	return c
 26123  }
 26124  
 26125  // Header returns a http.Header that can be modified by the caller to add
 26126  // headers to the request.
 26127  func (c *AdvertisersNegativeKeywordListsPatchCall) Header() http.Header {
 26128  	if c.header_ == nil {
 26129  		c.header_ = make(http.Header)
 26130  	}
 26131  	return c.header_
 26132  }
 26133  
 26134  func (c *AdvertisersNegativeKeywordListsPatchCall) doRequest(alt string) (*http.Response, error) {
 26135  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 26136  	var body io.Reader = nil
 26137  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist)
 26138  	if err != nil {
 26139  		return nil, err
 26140  	}
 26141  	c.urlParams_.Set("alt", alt)
 26142  	c.urlParams_.Set("prettyPrint", "false")
 26143  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}")
 26144  	urls += "?" + c.urlParams_.Encode()
 26145  	req, err := http.NewRequest("PATCH", urls, body)
 26146  	if err != nil {
 26147  		return nil, err
 26148  	}
 26149  	req.Header = reqHeaders
 26150  	googleapi.Expand(req.URL, map[string]string{
 26151  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 26152  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 26153  	})
 26154  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26155  }
 26156  
 26157  // Do executes the "displayvideo.advertisers.negativeKeywordLists.patch" call.
 26158  // Any non-2xx status code is an error. Response headers are in either
 26159  // *NegativeKeywordList.ServerResponse.Header or (if a response was returned at
 26160  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 26161  // check whether the returned error was because http.StatusNotModified was
 26162  // returned.
 26163  func (c *AdvertisersNegativeKeywordListsPatchCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
 26164  	gensupport.SetOptions(c.urlParams_, opts...)
 26165  	res, err := c.doRequest("json")
 26166  	if res != nil && res.StatusCode == http.StatusNotModified {
 26167  		if res.Body != nil {
 26168  			res.Body.Close()
 26169  		}
 26170  		return nil, gensupport.WrapError(&googleapi.Error{
 26171  			Code:   res.StatusCode,
 26172  			Header: res.Header,
 26173  		})
 26174  	}
 26175  	if err != nil {
 26176  		return nil, err
 26177  	}
 26178  	defer googleapi.CloseBody(res)
 26179  	if err := googleapi.CheckResponse(res); err != nil {
 26180  		return nil, gensupport.WrapError(err)
 26181  	}
 26182  	ret := &NegativeKeywordList{
 26183  		ServerResponse: googleapi.ServerResponse{
 26184  			Header:         res.Header,
 26185  			HTTPStatusCode: res.StatusCode,
 26186  		},
 26187  	}
 26188  	target := &ret
 26189  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26190  		return nil, err
 26191  	}
 26192  	return ret, nil
 26193  }
 26194  
 26195  type AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall struct {
 26196  	s                               *Service
 26197  	advertiserId                    int64
 26198  	negativeKeywordListId           int64
 26199  	bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest
 26200  	urlParams_                      gensupport.URLParams
 26201  	ctx_                            context.Context
 26202  	header_                         http.Header
 26203  }
 26204  
 26205  // BulkEdit: Bulk edits negative keywords in a single negative keyword list.
 26206  // The operation will delete the negative keywords provided in
 26207  // BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then create
 26208  // the negative keywords provided in
 26209  // BulkEditNegativeKeywordsRequest.created_negative_keywords. This operation is
 26210  // guaranteed to be atomic and will never result in a partial success or
 26211  // partial failure.
 26212  //
 26213  //   - advertiserId: The ID of the DV360 advertiser to which the parent negative
 26214  //     keyword list belongs.
 26215  //   - negativeKeywordListId: The ID of the parent negative keyword list to which
 26216  //     the negative keywords belong.
 26217  func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) BulkEdit(advertiserId int64, negativeKeywordListId int64, bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
 26218  	c := &AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26219  	c.advertiserId = advertiserId
 26220  	c.negativeKeywordListId = negativeKeywordListId
 26221  	c.bulkeditnegativekeywordsrequest = bulkeditnegativekeywordsrequest
 26222  	return c
 26223  }
 26224  
 26225  // Fields allows partial responses to be retrieved. See
 26226  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26227  // details.
 26228  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
 26229  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26230  	return c
 26231  }
 26232  
 26233  // Context sets the context to be used in this call's Do method.
 26234  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
 26235  	c.ctx_ = ctx
 26236  	return c
 26237  }
 26238  
 26239  // Header returns a http.Header that can be modified by the caller to add
 26240  // headers to the request.
 26241  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Header() http.Header {
 26242  	if c.header_ == nil {
 26243  		c.header_ = make(http.Header)
 26244  	}
 26245  	return c.header_
 26246  }
 26247  
 26248  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) doRequest(alt string) (*http.Response, error) {
 26249  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 26250  	var body io.Reader = nil
 26251  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditnegativekeywordsrequest)
 26252  	if err != nil {
 26253  		return nil, err
 26254  	}
 26255  	c.urlParams_.Set("alt", alt)
 26256  	c.urlParams_.Set("prettyPrint", "false")
 26257  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit")
 26258  	urls += "?" + c.urlParams_.Encode()
 26259  	req, err := http.NewRequest("POST", urls, body)
 26260  	if err != nil {
 26261  		return nil, err
 26262  	}
 26263  	req.Header = reqHeaders
 26264  	googleapi.Expand(req.URL, map[string]string{
 26265  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 26266  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 26267  	})
 26268  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26269  }
 26270  
 26271  // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit" call.
 26272  // Any non-2xx status code is an error. Response headers are in either
 26273  // *BulkEditNegativeKeywordsResponse.ServerResponse.Header or (if a response
 26274  // was returned at all) in error.(*googleapi.Error).Header. Use
 26275  // googleapi.IsNotModified to check whether the returned error was because
 26276  // http.StatusNotModified was returned.
 26277  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditNegativeKeywordsResponse, error) {
 26278  	gensupport.SetOptions(c.urlParams_, opts...)
 26279  	res, err := c.doRequest("json")
 26280  	if res != nil && res.StatusCode == http.StatusNotModified {
 26281  		if res.Body != nil {
 26282  			res.Body.Close()
 26283  		}
 26284  		return nil, gensupport.WrapError(&googleapi.Error{
 26285  			Code:   res.StatusCode,
 26286  			Header: res.Header,
 26287  		})
 26288  	}
 26289  	if err != nil {
 26290  		return nil, err
 26291  	}
 26292  	defer googleapi.CloseBody(res)
 26293  	if err := googleapi.CheckResponse(res); err != nil {
 26294  		return nil, gensupport.WrapError(err)
 26295  	}
 26296  	ret := &BulkEditNegativeKeywordsResponse{
 26297  		ServerResponse: googleapi.ServerResponse{
 26298  			Header:         res.Header,
 26299  			HTTPStatusCode: res.StatusCode,
 26300  		},
 26301  	}
 26302  	target := &ret
 26303  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26304  		return nil, err
 26305  	}
 26306  	return ret, nil
 26307  }
 26308  
 26309  type AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall struct {
 26310  	s                     *Service
 26311  	advertiserId          int64
 26312  	negativeKeywordListId int64
 26313  	negativekeyword       *NegativeKeyword
 26314  	urlParams_            gensupport.URLParams
 26315  	ctx_                  context.Context
 26316  	header_               http.Header
 26317  }
 26318  
 26319  // Create: Creates a negative keyword in a negative keyword list.
 26320  //
 26321  //   - advertiserId: The ID of the DV360 advertiser to which the parent negative
 26322  //     keyword list belongs.
 26323  //   - negativeKeywordListId: The ID of the parent negative keyword list in which
 26324  //     the negative keyword will be created.
 26325  func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Create(advertiserId int64, negativeKeywordListId int64, negativekeyword *NegativeKeyword) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
 26326  	c := &AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26327  	c.advertiserId = advertiserId
 26328  	c.negativeKeywordListId = negativeKeywordListId
 26329  	c.negativekeyword = negativekeyword
 26330  	return c
 26331  }
 26332  
 26333  // Fields allows partial responses to be retrieved. See
 26334  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26335  // details.
 26336  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
 26337  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26338  	return c
 26339  }
 26340  
 26341  // Context sets the context to be used in this call's Do method.
 26342  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
 26343  	c.ctx_ = ctx
 26344  	return c
 26345  }
 26346  
 26347  // Header returns a http.Header that can be modified by the caller to add
 26348  // headers to the request.
 26349  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Header() http.Header {
 26350  	if c.header_ == nil {
 26351  		c.header_ = make(http.Header)
 26352  	}
 26353  	return c.header_
 26354  }
 26355  
 26356  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) doRequest(alt string) (*http.Response, error) {
 26357  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 26358  	var body io.Reader = nil
 26359  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeyword)
 26360  	if err != nil {
 26361  		return nil, err
 26362  	}
 26363  	c.urlParams_.Set("alt", alt)
 26364  	c.urlParams_.Set("prettyPrint", "false")
 26365  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords")
 26366  	urls += "?" + c.urlParams_.Encode()
 26367  	req, err := http.NewRequest("POST", urls, body)
 26368  	if err != nil {
 26369  		return nil, err
 26370  	}
 26371  	req.Header = reqHeaders
 26372  	googleapi.Expand(req.URL, map[string]string{
 26373  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 26374  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 26375  	})
 26376  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26377  }
 26378  
 26379  // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create" call.
 26380  // Any non-2xx status code is an error. Response headers are in either
 26381  // *NegativeKeyword.ServerResponse.Header or (if a response was returned at
 26382  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 26383  // check whether the returned error was because http.StatusNotModified was
 26384  // returned.
 26385  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeyword, error) {
 26386  	gensupport.SetOptions(c.urlParams_, opts...)
 26387  	res, err := c.doRequest("json")
 26388  	if res != nil && res.StatusCode == http.StatusNotModified {
 26389  		if res.Body != nil {
 26390  			res.Body.Close()
 26391  		}
 26392  		return nil, gensupport.WrapError(&googleapi.Error{
 26393  			Code:   res.StatusCode,
 26394  			Header: res.Header,
 26395  		})
 26396  	}
 26397  	if err != nil {
 26398  		return nil, err
 26399  	}
 26400  	defer googleapi.CloseBody(res)
 26401  	if err := googleapi.CheckResponse(res); err != nil {
 26402  		return nil, gensupport.WrapError(err)
 26403  	}
 26404  	ret := &NegativeKeyword{
 26405  		ServerResponse: googleapi.ServerResponse{
 26406  			Header:         res.Header,
 26407  			HTTPStatusCode: res.StatusCode,
 26408  		},
 26409  	}
 26410  	target := &ret
 26411  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26412  		return nil, err
 26413  	}
 26414  	return ret, nil
 26415  }
 26416  
 26417  type AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall struct {
 26418  	s                     *Service
 26419  	advertiserId          int64
 26420  	negativeKeywordListId int64
 26421  	keywordValue          string
 26422  	urlParams_            gensupport.URLParams
 26423  	ctx_                  context.Context
 26424  	header_               http.Header
 26425  }
 26426  
 26427  // Delete: Deletes a negative keyword from a negative keyword list.
 26428  //
 26429  //   - advertiserId: The ID of the DV360 advertiser to which the parent negative
 26430  //     keyword list belongs.
 26431  //   - keywordValue: The keyword value of the negative keyword to delete.
 26432  //   - negativeKeywordListId: The ID of the parent negative keyword list to which
 26433  //     the negative keyword belongs.
 26434  func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Delete(advertiserId int64, negativeKeywordListId int64, keywordValue string) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
 26435  	c := &AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26436  	c.advertiserId = advertiserId
 26437  	c.negativeKeywordListId = negativeKeywordListId
 26438  	c.keywordValue = keywordValue
 26439  	return c
 26440  }
 26441  
 26442  // Fields allows partial responses to be retrieved. See
 26443  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26444  // details.
 26445  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
 26446  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26447  	return c
 26448  }
 26449  
 26450  // Context sets the context to be used in this call's Do method.
 26451  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
 26452  	c.ctx_ = ctx
 26453  	return c
 26454  }
 26455  
 26456  // Header returns a http.Header that can be modified by the caller to add
 26457  // headers to the request.
 26458  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Header() http.Header {
 26459  	if c.header_ == nil {
 26460  		c.header_ = make(http.Header)
 26461  	}
 26462  	return c.header_
 26463  }
 26464  
 26465  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) doRequest(alt string) (*http.Response, error) {
 26466  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26467  	var body io.Reader = nil
 26468  	c.urlParams_.Set("alt", alt)
 26469  	c.urlParams_.Set("prettyPrint", "false")
 26470  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}")
 26471  	urls += "?" + c.urlParams_.Encode()
 26472  	req, err := http.NewRequest("DELETE", urls, body)
 26473  	if err != nil {
 26474  		return nil, err
 26475  	}
 26476  	req.Header = reqHeaders
 26477  	googleapi.Expand(req.URL, map[string]string{
 26478  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 26479  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 26480  		"keywordValue":          c.keywordValue,
 26481  	})
 26482  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26483  }
 26484  
 26485  // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete" call.
 26486  // Any non-2xx status code is an error. Response headers are in either
 26487  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 26488  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 26489  // whether the returned error was because http.StatusNotModified was returned.
 26490  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 26491  	gensupport.SetOptions(c.urlParams_, opts...)
 26492  	res, err := c.doRequest("json")
 26493  	if res != nil && res.StatusCode == http.StatusNotModified {
 26494  		if res.Body != nil {
 26495  			res.Body.Close()
 26496  		}
 26497  		return nil, gensupport.WrapError(&googleapi.Error{
 26498  			Code:   res.StatusCode,
 26499  			Header: res.Header,
 26500  		})
 26501  	}
 26502  	if err != nil {
 26503  		return nil, err
 26504  	}
 26505  	defer googleapi.CloseBody(res)
 26506  	if err := googleapi.CheckResponse(res); err != nil {
 26507  		return nil, gensupport.WrapError(err)
 26508  	}
 26509  	ret := &Empty{
 26510  		ServerResponse: googleapi.ServerResponse{
 26511  			Header:         res.Header,
 26512  			HTTPStatusCode: res.StatusCode,
 26513  		},
 26514  	}
 26515  	target := &ret
 26516  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26517  		return nil, err
 26518  	}
 26519  	return ret, nil
 26520  }
 26521  
 26522  type AdvertisersNegativeKeywordListsNegativeKeywordsListCall struct {
 26523  	s                     *Service
 26524  	advertiserId          int64
 26525  	negativeKeywordListId int64
 26526  	urlParams_            gensupport.URLParams
 26527  	ifNoneMatch_          string
 26528  	ctx_                  context.Context
 26529  	header_               http.Header
 26530  }
 26531  
 26532  // List: Lists negative keywords in a negative keyword list.
 26533  //
 26534  //   - advertiserId: The ID of the DV360 advertiser to which the parent negative
 26535  //     keyword list belongs.
 26536  //   - negativeKeywordListId: The ID of the parent negative keyword list to which
 26537  //     the requested negative keywords belong.
 26538  func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) List(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 26539  	c := &AdvertisersNegativeKeywordListsNegativeKeywordsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26540  	c.advertiserId = advertiserId
 26541  	c.negativeKeywordListId = negativeKeywordListId
 26542  	return c
 26543  }
 26544  
 26545  // Filter sets the optional parameter "filter": Allows filtering by negative
 26546  // keyword fields. Supported syntax: * Filter expressions for negative keywords
 26547  // can only contain at most one restriction. * A restriction has the form of
 26548  // `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator.
 26549  // Supported fields: * `keywordValue` Examples: * All negative keywords for
 26550  // which the keyword value contains "google": `keywordValue : "google" The
 26551  // length of this field should be no more than 500 characters. Reference our
 26552  // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for
 26553  // more information.
 26554  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Filter(filter string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 26555  	c.urlParams_.Set("filter", filter)
 26556  	return c
 26557  }
 26558  
 26559  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 26560  // list. Acceptable values are: * `keywordValue` (default) The default sorting
 26561  // order is ascending. To specify descending order for a field, a suffix "
 26562  // desc" should be added to the field name. Example: `keywordValue desc`.
 26563  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) OrderBy(orderBy string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 26564  	c.urlParams_.Set("orderBy", orderBy)
 26565  	return c
 26566  }
 26567  
 26568  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 26569  // be between `1` and `1000`. If unspecified will default to `100`. Returns
 26570  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 26571  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 26572  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 26573  	return c
 26574  }
 26575  
 26576  // PageToken sets the optional parameter "pageToken": A token identifying a
 26577  // page of results the server should return. Typically, this is the value of
 26578  // next_page_token returned from the previous call to `ListNegativeKeywords`
 26579  // method. If not specified, the first page of results will be returned.
 26580  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 26581  	c.urlParams_.Set("pageToken", pageToken)
 26582  	return c
 26583  }
 26584  
 26585  // Fields allows partial responses to be retrieved. See
 26586  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26587  // details.
 26588  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 26589  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26590  	return c
 26591  }
 26592  
 26593  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 26594  // object's ETag matches the given value. This is useful for getting updates
 26595  // only after the object has changed since the last request.
 26596  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 26597  	c.ifNoneMatch_ = entityTag
 26598  	return c
 26599  }
 26600  
 26601  // Context sets the context to be used in this call's Do method.
 26602  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
 26603  	c.ctx_ = ctx
 26604  	return c
 26605  }
 26606  
 26607  // Header returns a http.Header that can be modified by the caller to add
 26608  // headers to the request.
 26609  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Header() http.Header {
 26610  	if c.header_ == nil {
 26611  		c.header_ = make(http.Header)
 26612  	}
 26613  	return c.header_
 26614  }
 26615  
 26616  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) doRequest(alt string) (*http.Response, error) {
 26617  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26618  	if c.ifNoneMatch_ != "" {
 26619  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26620  	}
 26621  	var body io.Reader = nil
 26622  	c.urlParams_.Set("alt", alt)
 26623  	c.urlParams_.Set("prettyPrint", "false")
 26624  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords")
 26625  	urls += "?" + c.urlParams_.Encode()
 26626  	req, err := http.NewRequest("GET", urls, body)
 26627  	if err != nil {
 26628  		return nil, err
 26629  	}
 26630  	req.Header = reqHeaders
 26631  	googleapi.Expand(req.URL, map[string]string{
 26632  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 26633  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 26634  	})
 26635  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26636  }
 26637  
 26638  // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list" call.
 26639  // Any non-2xx status code is an error. Response headers are in either
 26640  // *ListNegativeKeywordsResponse.ServerResponse.Header or (if a response was
 26641  // returned at all) in error.(*googleapi.Error).Header. Use
 26642  // googleapi.IsNotModified to check whether the returned error was because
 26643  // http.StatusNotModified was returned.
 26644  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordsResponse, error) {
 26645  	gensupport.SetOptions(c.urlParams_, opts...)
 26646  	res, err := c.doRequest("json")
 26647  	if res != nil && res.StatusCode == http.StatusNotModified {
 26648  		if res.Body != nil {
 26649  			res.Body.Close()
 26650  		}
 26651  		return nil, gensupport.WrapError(&googleapi.Error{
 26652  			Code:   res.StatusCode,
 26653  			Header: res.Header,
 26654  		})
 26655  	}
 26656  	if err != nil {
 26657  		return nil, err
 26658  	}
 26659  	defer googleapi.CloseBody(res)
 26660  	if err := googleapi.CheckResponse(res); err != nil {
 26661  		return nil, gensupport.WrapError(err)
 26662  	}
 26663  	ret := &ListNegativeKeywordsResponse{
 26664  		ServerResponse: googleapi.ServerResponse{
 26665  			Header:         res.Header,
 26666  			HTTPStatusCode: res.StatusCode,
 26667  		},
 26668  	}
 26669  	target := &ret
 26670  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26671  		return nil, err
 26672  	}
 26673  	return ret, nil
 26674  }
 26675  
 26676  // Pages invokes f for each page of results.
 26677  // A non-nil error returned from f will halt the iteration.
 26678  // The provided context supersedes any context provided to the Context method.
 26679  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordsResponse) error) error {
 26680  	c.ctx_ = ctx
 26681  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 26682  	for {
 26683  		x, err := c.Do()
 26684  		if err != nil {
 26685  			return err
 26686  		}
 26687  		if err := f(x); err != nil {
 26688  			return err
 26689  		}
 26690  		if x.NextPageToken == "" {
 26691  			return nil
 26692  		}
 26693  		c.PageToken(x.NextPageToken)
 26694  	}
 26695  }
 26696  
 26697  type AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall struct {
 26698  	s                              *Service
 26699  	advertiserId                   int64
 26700  	negativeKeywordListId          int64
 26701  	replacenegativekeywordsrequest *ReplaceNegativeKeywordsRequest
 26702  	urlParams_                     gensupport.URLParams
 26703  	ctx_                           context.Context
 26704  	header_                        http.Header
 26705  }
 26706  
 26707  // Replace: Replaces all negative keywords in a single negative keyword list.
 26708  // The operation will replace the keywords in a negative keyword list with
 26709  // keywords provided in ReplaceNegativeKeywordsRequest.new_negative_keywords.
 26710  //
 26711  //   - advertiserId: The ID of the DV360 advertiser to which the parent negative
 26712  //     keyword list belongs.
 26713  //   - negativeKeywordListId: The ID of the parent negative keyword list to which
 26714  //     the negative keywords belong.
 26715  func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Replace(advertiserId int64, negativeKeywordListId int64, replacenegativekeywordsrequest *ReplaceNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
 26716  	c := &AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26717  	c.advertiserId = advertiserId
 26718  	c.negativeKeywordListId = negativeKeywordListId
 26719  	c.replacenegativekeywordsrequest = replacenegativekeywordsrequest
 26720  	return c
 26721  }
 26722  
 26723  // Fields allows partial responses to be retrieved. See
 26724  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26725  // details.
 26726  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
 26727  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26728  	return c
 26729  }
 26730  
 26731  // Context sets the context to be used in this call's Do method.
 26732  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
 26733  	c.ctx_ = ctx
 26734  	return c
 26735  }
 26736  
 26737  // Header returns a http.Header that can be modified by the caller to add
 26738  // headers to the request.
 26739  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Header() http.Header {
 26740  	if c.header_ == nil {
 26741  		c.header_ = make(http.Header)
 26742  	}
 26743  	return c.header_
 26744  }
 26745  
 26746  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) doRequest(alt string) (*http.Response, error) {
 26747  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 26748  	var body io.Reader = nil
 26749  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacenegativekeywordsrequest)
 26750  	if err != nil {
 26751  		return nil, err
 26752  	}
 26753  	c.urlParams_.Set("alt", alt)
 26754  	c.urlParams_.Set("prettyPrint", "false")
 26755  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace")
 26756  	urls += "?" + c.urlParams_.Encode()
 26757  	req, err := http.NewRequest("POST", urls, body)
 26758  	if err != nil {
 26759  		return nil, err
 26760  	}
 26761  	req.Header = reqHeaders
 26762  	googleapi.Expand(req.URL, map[string]string{
 26763  		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
 26764  		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
 26765  	})
 26766  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26767  }
 26768  
 26769  // Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace" call.
 26770  // Any non-2xx status code is an error. Response headers are in either
 26771  // *ReplaceNegativeKeywordsResponse.ServerResponse.Header or (if a response was
 26772  // returned at all) in error.(*googleapi.Error).Header. Use
 26773  // googleapi.IsNotModified to check whether the returned error was because
 26774  // http.StatusNotModified was returned.
 26775  func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceNegativeKeywordsResponse, error) {
 26776  	gensupport.SetOptions(c.urlParams_, opts...)
 26777  	res, err := c.doRequest("json")
 26778  	if res != nil && res.StatusCode == http.StatusNotModified {
 26779  		if res.Body != nil {
 26780  			res.Body.Close()
 26781  		}
 26782  		return nil, gensupport.WrapError(&googleapi.Error{
 26783  			Code:   res.StatusCode,
 26784  			Header: res.Header,
 26785  		})
 26786  	}
 26787  	if err != nil {
 26788  		return nil, err
 26789  	}
 26790  	defer googleapi.CloseBody(res)
 26791  	if err := googleapi.CheckResponse(res); err != nil {
 26792  		return nil, gensupport.WrapError(err)
 26793  	}
 26794  	ret := &ReplaceNegativeKeywordsResponse{
 26795  		ServerResponse: googleapi.ServerResponse{
 26796  			Header:         res.Header,
 26797  			HTTPStatusCode: res.StatusCode,
 26798  		},
 26799  	}
 26800  	target := &ret
 26801  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26802  		return nil, err
 26803  	}
 26804  	return ret, nil
 26805  }
 26806  
 26807  type AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall struct {
 26808  	s                       *Service
 26809  	advertiserId            int64
 26810  	targetingType           string
 26811  	assignedtargetingoption *AssignedTargetingOption
 26812  	urlParams_              gensupport.URLParams
 26813  	ctx_                    context.Context
 26814  	header_                 http.Header
 26815  }
 26816  
 26817  // Create: Assigns a targeting option to an advertiser. Returns the assigned
 26818  // targeting option if successful.
 26819  //
 26820  //   - advertiserId: The ID of the advertiser.
 26821  //   - targetingType: Identifies the type of this assigned targeting option.
 26822  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
 26823  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
 26824  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`.
 26825  func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
 26826  	c := &AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26827  	c.advertiserId = advertiserId
 26828  	c.targetingType = targetingType
 26829  	c.assignedtargetingoption = assignedtargetingoption
 26830  	return c
 26831  }
 26832  
 26833  // Fields allows partial responses to be retrieved. See
 26834  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26835  // details.
 26836  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
 26837  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26838  	return c
 26839  }
 26840  
 26841  // Context sets the context to be used in this call's Do method.
 26842  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
 26843  	c.ctx_ = ctx
 26844  	return c
 26845  }
 26846  
 26847  // Header returns a http.Header that can be modified by the caller to add
 26848  // headers to the request.
 26849  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
 26850  	if c.header_ == nil {
 26851  		c.header_ = make(http.Header)
 26852  	}
 26853  	return c.header_
 26854  }
 26855  
 26856  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 26857  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 26858  	var body io.Reader = nil
 26859  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
 26860  	if err != nil {
 26861  		return nil, err
 26862  	}
 26863  	c.urlParams_.Set("alt", alt)
 26864  	c.urlParams_.Set("prettyPrint", "false")
 26865  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 26866  	urls += "?" + c.urlParams_.Encode()
 26867  	req, err := http.NewRequest("POST", urls, body)
 26868  	if err != nil {
 26869  		return nil, err
 26870  	}
 26871  	req.Header = reqHeaders
 26872  	googleapi.Expand(req.URL, map[string]string{
 26873  		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
 26874  		"targetingType": c.targetingType,
 26875  	})
 26876  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26877  }
 26878  
 26879  // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create" call.
 26880  // Any non-2xx status code is an error. Response headers are in either
 26881  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 26882  // returned at all) in error.(*googleapi.Error).Header. Use
 26883  // googleapi.IsNotModified to check whether the returned error was because
 26884  // http.StatusNotModified was returned.
 26885  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 26886  	gensupport.SetOptions(c.urlParams_, opts...)
 26887  	res, err := c.doRequest("json")
 26888  	if res != nil && res.StatusCode == http.StatusNotModified {
 26889  		if res.Body != nil {
 26890  			res.Body.Close()
 26891  		}
 26892  		return nil, gensupport.WrapError(&googleapi.Error{
 26893  			Code:   res.StatusCode,
 26894  			Header: res.Header,
 26895  		})
 26896  	}
 26897  	if err != nil {
 26898  		return nil, err
 26899  	}
 26900  	defer googleapi.CloseBody(res)
 26901  	if err := googleapi.CheckResponse(res); err != nil {
 26902  		return nil, gensupport.WrapError(err)
 26903  	}
 26904  	ret := &AssignedTargetingOption{
 26905  		ServerResponse: googleapi.ServerResponse{
 26906  			Header:         res.Header,
 26907  			HTTPStatusCode: res.StatusCode,
 26908  		},
 26909  	}
 26910  	target := &ret
 26911  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26912  		return nil, err
 26913  	}
 26914  	return ret, nil
 26915  }
 26916  
 26917  type AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
 26918  	s                         *Service
 26919  	advertiserId              int64
 26920  	targetingType             string
 26921  	assignedTargetingOptionId string
 26922  	urlParams_                gensupport.URLParams
 26923  	ctx_                      context.Context
 26924  	header_                   http.Header
 26925  }
 26926  
 26927  // Delete: Deletes an assigned targeting option from an advertiser.
 26928  //
 26929  //   - advertiserId: The ID of the advertiser.
 26930  //   - assignedTargetingOptionId: The ID of the assigned targeting option to
 26931  //     delete.
 26932  //   - targetingType: Identifies the type of this assigned targeting option.
 26933  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
 26934  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
 26935  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`.
 26936  func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
 26937  	c := &AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26938  	c.advertiserId = advertiserId
 26939  	c.targetingType = targetingType
 26940  	c.assignedTargetingOptionId = assignedTargetingOptionId
 26941  	return c
 26942  }
 26943  
 26944  // Fields allows partial responses to be retrieved. See
 26945  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 26946  // details.
 26947  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
 26948  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26949  	return c
 26950  }
 26951  
 26952  // Context sets the context to be used in this call's Do method.
 26953  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
 26954  	c.ctx_ = ctx
 26955  	return c
 26956  }
 26957  
 26958  // Header returns a http.Header that can be modified by the caller to add
 26959  // headers to the request.
 26960  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
 26961  	if c.header_ == nil {
 26962  		c.header_ = make(http.Header)
 26963  	}
 26964  	return c.header_
 26965  }
 26966  
 26967  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 26968  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 26969  	var body io.Reader = nil
 26970  	c.urlParams_.Set("alt", alt)
 26971  	c.urlParams_.Set("prettyPrint", "false")
 26972  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 26973  	urls += "?" + c.urlParams_.Encode()
 26974  	req, err := http.NewRequest("DELETE", urls, body)
 26975  	if err != nil {
 26976  		return nil, err
 26977  	}
 26978  	req.Header = reqHeaders
 26979  	googleapi.Expand(req.URL, map[string]string{
 26980  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 26981  		"targetingType":             c.targetingType,
 26982  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 26983  	})
 26984  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26985  }
 26986  
 26987  // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete" call.
 26988  // Any non-2xx status code is an error. Response headers are in either
 26989  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 26990  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 26991  // whether the returned error was because http.StatusNotModified was returned.
 26992  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 26993  	gensupport.SetOptions(c.urlParams_, opts...)
 26994  	res, err := c.doRequest("json")
 26995  	if res != nil && res.StatusCode == http.StatusNotModified {
 26996  		if res.Body != nil {
 26997  			res.Body.Close()
 26998  		}
 26999  		return nil, gensupport.WrapError(&googleapi.Error{
 27000  			Code:   res.StatusCode,
 27001  			Header: res.Header,
 27002  		})
 27003  	}
 27004  	if err != nil {
 27005  		return nil, err
 27006  	}
 27007  	defer googleapi.CloseBody(res)
 27008  	if err := googleapi.CheckResponse(res); err != nil {
 27009  		return nil, gensupport.WrapError(err)
 27010  	}
 27011  	ret := &Empty{
 27012  		ServerResponse: googleapi.ServerResponse{
 27013  			Header:         res.Header,
 27014  			HTTPStatusCode: res.StatusCode,
 27015  		},
 27016  	}
 27017  	target := &ret
 27018  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27019  		return nil, err
 27020  	}
 27021  	return ret, nil
 27022  }
 27023  
 27024  type AdvertisersTargetingTypesAssignedTargetingOptionsGetCall struct {
 27025  	s                         *Service
 27026  	advertiserId              int64
 27027  	targetingType             string
 27028  	assignedTargetingOptionId string
 27029  	urlParams_                gensupport.URLParams
 27030  	ifNoneMatch_              string
 27031  	ctx_                      context.Context
 27032  	header_                   http.Header
 27033  }
 27034  
 27035  // Get: Gets a single targeting option assigned to an advertiser.
 27036  //
 27037  //   - advertiserId: The ID of the advertiser.
 27038  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 27039  //     this advertiser that identifies the assigned targeting option being
 27040  //     requested.
 27041  //   - targetingType: Identifies the type of this assigned targeting option.
 27042  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
 27043  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
 27044  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 27045  //     `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL`.
 27046  func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
 27047  	c := &AdvertisersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27048  	c.advertiserId = advertiserId
 27049  	c.targetingType = targetingType
 27050  	c.assignedTargetingOptionId = assignedTargetingOptionId
 27051  	return c
 27052  }
 27053  
 27054  // Fields allows partial responses to be retrieved. See
 27055  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27056  // details.
 27057  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
 27058  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27059  	return c
 27060  }
 27061  
 27062  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27063  // object's ETag matches the given value. This is useful for getting updates
 27064  // only after the object has changed since the last request.
 27065  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
 27066  	c.ifNoneMatch_ = entityTag
 27067  	return c
 27068  }
 27069  
 27070  // Context sets the context to be used in this call's Do method.
 27071  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
 27072  	c.ctx_ = ctx
 27073  	return c
 27074  }
 27075  
 27076  // Header returns a http.Header that can be modified by the caller to add
 27077  // headers to the request.
 27078  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 27079  	if c.header_ == nil {
 27080  		c.header_ = make(http.Header)
 27081  	}
 27082  	return c.header_
 27083  }
 27084  
 27085  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 27086  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27087  	if c.ifNoneMatch_ != "" {
 27088  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27089  	}
 27090  	var body io.Reader = nil
 27091  	c.urlParams_.Set("alt", alt)
 27092  	c.urlParams_.Set("prettyPrint", "false")
 27093  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 27094  	urls += "?" + c.urlParams_.Encode()
 27095  	req, err := http.NewRequest("GET", urls, body)
 27096  	if err != nil {
 27097  		return nil, err
 27098  	}
 27099  	req.Header = reqHeaders
 27100  	googleapi.Expand(req.URL, map[string]string{
 27101  		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
 27102  		"targetingType":             c.targetingType,
 27103  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 27104  	})
 27105  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27106  }
 27107  
 27108  // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get" call.
 27109  // Any non-2xx status code is an error. Response headers are in either
 27110  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 27111  // returned at all) in error.(*googleapi.Error).Header. Use
 27112  // googleapi.IsNotModified to check whether the returned error was because
 27113  // http.StatusNotModified was returned.
 27114  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 27115  	gensupport.SetOptions(c.urlParams_, opts...)
 27116  	res, err := c.doRequest("json")
 27117  	if res != nil && res.StatusCode == http.StatusNotModified {
 27118  		if res.Body != nil {
 27119  			res.Body.Close()
 27120  		}
 27121  		return nil, gensupport.WrapError(&googleapi.Error{
 27122  			Code:   res.StatusCode,
 27123  			Header: res.Header,
 27124  		})
 27125  	}
 27126  	if err != nil {
 27127  		return nil, err
 27128  	}
 27129  	defer googleapi.CloseBody(res)
 27130  	if err := googleapi.CheckResponse(res); err != nil {
 27131  		return nil, gensupport.WrapError(err)
 27132  	}
 27133  	ret := &AssignedTargetingOption{
 27134  		ServerResponse: googleapi.ServerResponse{
 27135  			Header:         res.Header,
 27136  			HTTPStatusCode: res.StatusCode,
 27137  		},
 27138  	}
 27139  	target := &ret
 27140  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27141  		return nil, err
 27142  	}
 27143  	return ret, nil
 27144  }
 27145  
 27146  type AdvertisersTargetingTypesAssignedTargetingOptionsListCall struct {
 27147  	s             *Service
 27148  	advertiserId  int64
 27149  	targetingType string
 27150  	urlParams_    gensupport.URLParams
 27151  	ifNoneMatch_  string
 27152  	ctx_          context.Context
 27153  	header_       http.Header
 27154  }
 27155  
 27156  // List: Lists the targeting options assigned to an advertiser.
 27157  //
 27158  //   - advertiserId: The ID of the advertiser.
 27159  //   - targetingType: Identifies the type of assigned targeting options to list.
 27160  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
 27161  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` *
 27162  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
 27163  //     `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL`.
 27164  func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, targetingType string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 27165  	c := &AdvertisersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27166  	c.advertiserId = advertiserId
 27167  	c.targetingType = targetingType
 27168  	return c
 27169  }
 27170  
 27171  // Filter sets the optional parameter "filter": Allows filtering by assigned
 27172  // targeting option fields. Supported syntax: * Filter expressions are made up
 27173  // of one or more restrictions. * Restrictions can be combined by the `OR`
 27174  // logical operator. * A restriction has the form of `{field} {operator}
 27175  // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields:
 27176  // * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` with ID
 27177  // 123456: `assignedTargetingOptionId="123456" The length of this field should
 27178  // be no more than 500 characters. Reference our filter `LIST` requests
 27179  // (/display-video/api/guides/how-tos/filters) guide for more information.
 27180  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 27181  	c.urlParams_.Set("filter", filter)
 27182  	return c
 27183  }
 27184  
 27185  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 27186  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 27187  // default sorting order is ascending. To specify descending order for a field,
 27188  // a suffix "desc" should be added to the field name. Example:
 27189  // `assignedTargetingOptionId desc`.
 27190  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 27191  	c.urlParams_.Set("orderBy", orderBy)
 27192  	return c
 27193  }
 27194  
 27195  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 27196  // be between `1` and `5000`. If unspecified will default to `100`. Returns
 27197  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 27198  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 27199  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 27200  	return c
 27201  }
 27202  
 27203  // PageToken sets the optional parameter "pageToken": A token identifying a
 27204  // page of results the server should return. Typically, this is the value of
 27205  // next_page_token returned from the previous call to
 27206  // `ListAdvertiserAssignedTargetingOptions` method. If not specified, the first
 27207  // page of results will be returned.
 27208  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 27209  	c.urlParams_.Set("pageToken", pageToken)
 27210  	return c
 27211  }
 27212  
 27213  // Fields allows partial responses to be retrieved. See
 27214  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27215  // details.
 27216  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 27217  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27218  	return c
 27219  }
 27220  
 27221  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27222  // object's ETag matches the given value. This is useful for getting updates
 27223  // only after the object has changed since the last request.
 27224  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 27225  	c.ifNoneMatch_ = entityTag
 27226  	return c
 27227  }
 27228  
 27229  // Context sets the context to be used in this call's Do method.
 27230  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
 27231  	c.ctx_ = ctx
 27232  	return c
 27233  }
 27234  
 27235  // Header returns a http.Header that can be modified by the caller to add
 27236  // headers to the request.
 27237  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 27238  	if c.header_ == nil {
 27239  		c.header_ = make(http.Header)
 27240  	}
 27241  	return c.header_
 27242  }
 27243  
 27244  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 27245  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27246  	if c.ifNoneMatch_ != "" {
 27247  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27248  	}
 27249  	var body io.Reader = nil
 27250  	c.urlParams_.Set("alt", alt)
 27251  	c.urlParams_.Set("prettyPrint", "false")
 27252  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 27253  	urls += "?" + c.urlParams_.Encode()
 27254  	req, err := http.NewRequest("GET", urls, body)
 27255  	if err != nil {
 27256  		return nil, err
 27257  	}
 27258  	req.Header = reqHeaders
 27259  	googleapi.Expand(req.URL, map[string]string{
 27260  		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
 27261  		"targetingType": c.targetingType,
 27262  	})
 27263  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27264  }
 27265  
 27266  // Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list" call.
 27267  // Any non-2xx status code is an error. Response headers are in either
 27268  // *ListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header or (if
 27269  // a response was returned at all) in error.(*googleapi.Error).Header. Use
 27270  // googleapi.IsNotModified to check whether the returned error was because
 27271  // http.StatusNotModified was returned.
 27272  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListAdvertiserAssignedTargetingOptionsResponse, error) {
 27273  	gensupport.SetOptions(c.urlParams_, opts...)
 27274  	res, err := c.doRequest("json")
 27275  	if res != nil && res.StatusCode == http.StatusNotModified {
 27276  		if res.Body != nil {
 27277  			res.Body.Close()
 27278  		}
 27279  		return nil, gensupport.WrapError(&googleapi.Error{
 27280  			Code:   res.StatusCode,
 27281  			Header: res.Header,
 27282  		})
 27283  	}
 27284  	if err != nil {
 27285  		return nil, err
 27286  	}
 27287  	defer googleapi.CloseBody(res)
 27288  	if err := googleapi.CheckResponse(res); err != nil {
 27289  		return nil, gensupport.WrapError(err)
 27290  	}
 27291  	ret := &ListAdvertiserAssignedTargetingOptionsResponse{
 27292  		ServerResponse: googleapi.ServerResponse{
 27293  			Header:         res.Header,
 27294  			HTTPStatusCode: res.StatusCode,
 27295  		},
 27296  	}
 27297  	target := &ret
 27298  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27299  		return nil, err
 27300  	}
 27301  	return ret, nil
 27302  }
 27303  
 27304  // Pages invokes f for each page of results.
 27305  // A non-nil error returned from f will halt the iteration.
 27306  // The provided context supersedes any context provided to the Context method.
 27307  func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListAdvertiserAssignedTargetingOptionsResponse) error) error {
 27308  	c.ctx_ = ctx
 27309  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 27310  	for {
 27311  		x, err := c.Do()
 27312  		if err != nil {
 27313  			return err
 27314  		}
 27315  		if err := f(x); err != nil {
 27316  			return err
 27317  		}
 27318  		if x.NextPageToken == "" {
 27319  			return nil
 27320  		}
 27321  		c.PageToken(x.NextPageToken)
 27322  	}
 27323  }
 27324  
 27325  type CombinedAudiencesGetCall struct {
 27326  	s                  *Service
 27327  	combinedAudienceId int64
 27328  	urlParams_         gensupport.URLParams
 27329  	ifNoneMatch_       string
 27330  	ctx_               context.Context
 27331  	header_            http.Header
 27332  }
 27333  
 27334  // Get: Gets a combined audience.
 27335  //
 27336  // - combinedAudienceId: The ID of the combined audience to fetch.
 27337  func (r *CombinedAudiencesService) Get(combinedAudienceId int64) *CombinedAudiencesGetCall {
 27338  	c := &CombinedAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27339  	c.combinedAudienceId = combinedAudienceId
 27340  	return c
 27341  }
 27342  
 27343  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 27344  // advertiser that has access to the fetched combined audience.
 27345  func (c *CombinedAudiencesGetCall) AdvertiserId(advertiserId int64) *CombinedAudiencesGetCall {
 27346  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 27347  	return c
 27348  }
 27349  
 27350  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 27351  // that has access to the fetched combined audience.
 27352  func (c *CombinedAudiencesGetCall) PartnerId(partnerId int64) *CombinedAudiencesGetCall {
 27353  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 27354  	return c
 27355  }
 27356  
 27357  // Fields allows partial responses to be retrieved. See
 27358  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27359  // details.
 27360  func (c *CombinedAudiencesGetCall) Fields(s ...googleapi.Field) *CombinedAudiencesGetCall {
 27361  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27362  	return c
 27363  }
 27364  
 27365  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27366  // object's ETag matches the given value. This is useful for getting updates
 27367  // only after the object has changed since the last request.
 27368  func (c *CombinedAudiencesGetCall) IfNoneMatch(entityTag string) *CombinedAudiencesGetCall {
 27369  	c.ifNoneMatch_ = entityTag
 27370  	return c
 27371  }
 27372  
 27373  // Context sets the context to be used in this call's Do method.
 27374  func (c *CombinedAudiencesGetCall) Context(ctx context.Context) *CombinedAudiencesGetCall {
 27375  	c.ctx_ = ctx
 27376  	return c
 27377  }
 27378  
 27379  // Header returns a http.Header that can be modified by the caller to add
 27380  // headers to the request.
 27381  func (c *CombinedAudiencesGetCall) Header() http.Header {
 27382  	if c.header_ == nil {
 27383  		c.header_ = make(http.Header)
 27384  	}
 27385  	return c.header_
 27386  }
 27387  
 27388  func (c *CombinedAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
 27389  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27390  	if c.ifNoneMatch_ != "" {
 27391  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27392  	}
 27393  	var body io.Reader = nil
 27394  	c.urlParams_.Set("alt", alt)
 27395  	c.urlParams_.Set("prettyPrint", "false")
 27396  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/combinedAudiences/{+combinedAudienceId}")
 27397  	urls += "?" + c.urlParams_.Encode()
 27398  	req, err := http.NewRequest("GET", urls, body)
 27399  	if err != nil {
 27400  		return nil, err
 27401  	}
 27402  	req.Header = reqHeaders
 27403  	googleapi.Expand(req.URL, map[string]string{
 27404  		"combinedAudienceId": strconv.FormatInt(c.combinedAudienceId, 10),
 27405  	})
 27406  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27407  }
 27408  
 27409  // Do executes the "displayvideo.combinedAudiences.get" call.
 27410  // Any non-2xx status code is an error. Response headers are in either
 27411  // *CombinedAudience.ServerResponse.Header or (if a response was returned at
 27412  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 27413  // check whether the returned error was because http.StatusNotModified was
 27414  // returned.
 27415  func (c *CombinedAudiencesGetCall) Do(opts ...googleapi.CallOption) (*CombinedAudience, error) {
 27416  	gensupport.SetOptions(c.urlParams_, opts...)
 27417  	res, err := c.doRequest("json")
 27418  	if res != nil && res.StatusCode == http.StatusNotModified {
 27419  		if res.Body != nil {
 27420  			res.Body.Close()
 27421  		}
 27422  		return nil, gensupport.WrapError(&googleapi.Error{
 27423  			Code:   res.StatusCode,
 27424  			Header: res.Header,
 27425  		})
 27426  	}
 27427  	if err != nil {
 27428  		return nil, err
 27429  	}
 27430  	defer googleapi.CloseBody(res)
 27431  	if err := googleapi.CheckResponse(res); err != nil {
 27432  		return nil, gensupport.WrapError(err)
 27433  	}
 27434  	ret := &CombinedAudience{
 27435  		ServerResponse: googleapi.ServerResponse{
 27436  			Header:         res.Header,
 27437  			HTTPStatusCode: res.StatusCode,
 27438  		},
 27439  	}
 27440  	target := &ret
 27441  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27442  		return nil, err
 27443  	}
 27444  	return ret, nil
 27445  }
 27446  
 27447  type CombinedAudiencesListCall struct {
 27448  	s            *Service
 27449  	urlParams_   gensupport.URLParams
 27450  	ifNoneMatch_ string
 27451  	ctx_         context.Context
 27452  	header_      http.Header
 27453  }
 27454  
 27455  // List: Lists combined audiences. The order is defined by the order_by
 27456  // parameter.
 27457  func (r *CombinedAudiencesService) List() *CombinedAudiencesListCall {
 27458  	c := &CombinedAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27459  	return c
 27460  }
 27461  
 27462  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 27463  // advertiser that has access to the fetched combined audiences.
 27464  func (c *CombinedAudiencesListCall) AdvertiserId(advertiserId int64) *CombinedAudiencesListCall {
 27465  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 27466  	return c
 27467  }
 27468  
 27469  // Filter sets the optional parameter "filter": Allows filtering by combined
 27470  // audience fields. Supported syntax: * Filter expressions for combined
 27471  // audiences can only contain at most one restriction. * A restriction has the
 27472  // form of `{field} {operator} {value}`. * All fields must use the `HAS (:)`
 27473  // operator. Supported fields: * `displayName` Examples: * All combined
 27474  // audiences for which the display name contains "Google": `displayName :
 27475  // "Google". The length of this field should be no more than 500 characters.
 27476  // Reference our filter `LIST` requests
 27477  // (/display-video/api/guides/how-tos/filters) guide for more information.
 27478  func (c *CombinedAudiencesListCall) Filter(filter string) *CombinedAudiencesListCall {
 27479  	c.urlParams_.Set("filter", filter)
 27480  	return c
 27481  }
 27482  
 27483  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 27484  // list. Acceptable values are: * `combinedAudienceId` (default) *
 27485  // `displayName` The default sorting order is ascending. To specify descending
 27486  // order for a field, a suffix "desc" should be added to the field name.
 27487  // Example: `displayName desc`.
 27488  func (c *CombinedAudiencesListCall) OrderBy(orderBy string) *CombinedAudiencesListCall {
 27489  	c.urlParams_.Set("orderBy", orderBy)
 27490  	return c
 27491  }
 27492  
 27493  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 27494  // be between `1` and `200`. If unspecified will default to `100`. Returns
 27495  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 27496  func (c *CombinedAudiencesListCall) PageSize(pageSize int64) *CombinedAudiencesListCall {
 27497  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 27498  	return c
 27499  }
 27500  
 27501  // PageToken sets the optional parameter "pageToken": A token identifying a
 27502  // page of results the server should return. Typically, this is the value of
 27503  // next_page_token returned from the previous call to `ListCombinedAudiences`
 27504  // method. If not specified, the first page of results will be returned.
 27505  func (c *CombinedAudiencesListCall) PageToken(pageToken string) *CombinedAudiencesListCall {
 27506  	c.urlParams_.Set("pageToken", pageToken)
 27507  	return c
 27508  }
 27509  
 27510  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 27511  // that has access to the fetched combined audiences.
 27512  func (c *CombinedAudiencesListCall) PartnerId(partnerId int64) *CombinedAudiencesListCall {
 27513  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 27514  	return c
 27515  }
 27516  
 27517  // Fields allows partial responses to be retrieved. See
 27518  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27519  // details.
 27520  func (c *CombinedAudiencesListCall) Fields(s ...googleapi.Field) *CombinedAudiencesListCall {
 27521  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27522  	return c
 27523  }
 27524  
 27525  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27526  // object's ETag matches the given value. This is useful for getting updates
 27527  // only after the object has changed since the last request.
 27528  func (c *CombinedAudiencesListCall) IfNoneMatch(entityTag string) *CombinedAudiencesListCall {
 27529  	c.ifNoneMatch_ = entityTag
 27530  	return c
 27531  }
 27532  
 27533  // Context sets the context to be used in this call's Do method.
 27534  func (c *CombinedAudiencesListCall) Context(ctx context.Context) *CombinedAudiencesListCall {
 27535  	c.ctx_ = ctx
 27536  	return c
 27537  }
 27538  
 27539  // Header returns a http.Header that can be modified by the caller to add
 27540  // headers to the request.
 27541  func (c *CombinedAudiencesListCall) Header() http.Header {
 27542  	if c.header_ == nil {
 27543  		c.header_ = make(http.Header)
 27544  	}
 27545  	return c.header_
 27546  }
 27547  
 27548  func (c *CombinedAudiencesListCall) doRequest(alt string) (*http.Response, error) {
 27549  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27550  	if c.ifNoneMatch_ != "" {
 27551  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27552  	}
 27553  	var body io.Reader = nil
 27554  	c.urlParams_.Set("alt", alt)
 27555  	c.urlParams_.Set("prettyPrint", "false")
 27556  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/combinedAudiences")
 27557  	urls += "?" + c.urlParams_.Encode()
 27558  	req, err := http.NewRequest("GET", urls, body)
 27559  	if err != nil {
 27560  		return nil, err
 27561  	}
 27562  	req.Header = reqHeaders
 27563  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27564  }
 27565  
 27566  // Do executes the "displayvideo.combinedAudiences.list" call.
 27567  // Any non-2xx status code is an error. Response headers are in either
 27568  // *ListCombinedAudiencesResponse.ServerResponse.Header or (if a response was
 27569  // returned at all) in error.(*googleapi.Error).Header. Use
 27570  // googleapi.IsNotModified to check whether the returned error was because
 27571  // http.StatusNotModified was returned.
 27572  func (c *CombinedAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListCombinedAudiencesResponse, error) {
 27573  	gensupport.SetOptions(c.urlParams_, opts...)
 27574  	res, err := c.doRequest("json")
 27575  	if res != nil && res.StatusCode == http.StatusNotModified {
 27576  		if res.Body != nil {
 27577  			res.Body.Close()
 27578  		}
 27579  		return nil, gensupport.WrapError(&googleapi.Error{
 27580  			Code:   res.StatusCode,
 27581  			Header: res.Header,
 27582  		})
 27583  	}
 27584  	if err != nil {
 27585  		return nil, err
 27586  	}
 27587  	defer googleapi.CloseBody(res)
 27588  	if err := googleapi.CheckResponse(res); err != nil {
 27589  		return nil, gensupport.WrapError(err)
 27590  	}
 27591  	ret := &ListCombinedAudiencesResponse{
 27592  		ServerResponse: googleapi.ServerResponse{
 27593  			Header:         res.Header,
 27594  			HTTPStatusCode: res.StatusCode,
 27595  		},
 27596  	}
 27597  	target := &ret
 27598  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27599  		return nil, err
 27600  	}
 27601  	return ret, nil
 27602  }
 27603  
 27604  // Pages invokes f for each page of results.
 27605  // A non-nil error returned from f will halt the iteration.
 27606  // The provided context supersedes any context provided to the Context method.
 27607  func (c *CombinedAudiencesListCall) Pages(ctx context.Context, f func(*ListCombinedAudiencesResponse) error) error {
 27608  	c.ctx_ = ctx
 27609  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 27610  	for {
 27611  		x, err := c.Do()
 27612  		if err != nil {
 27613  			return err
 27614  		}
 27615  		if err := f(x); err != nil {
 27616  			return err
 27617  		}
 27618  		if x.NextPageToken == "" {
 27619  			return nil
 27620  		}
 27621  		c.PageToken(x.NextPageToken)
 27622  	}
 27623  }
 27624  
 27625  type CustomBiddingAlgorithmsCreateCall struct {
 27626  	s                      *Service
 27627  	custombiddingalgorithm *CustomBiddingAlgorithm
 27628  	urlParams_             gensupport.URLParams
 27629  	ctx_                   context.Context
 27630  	header_                http.Header
 27631  }
 27632  
 27633  // Create: Creates a new custom bidding algorithm. Returns the newly created
 27634  // custom bidding algorithm if successful.
 27635  func (r *CustomBiddingAlgorithmsService) Create(custombiddingalgorithm *CustomBiddingAlgorithm) *CustomBiddingAlgorithmsCreateCall {
 27636  	c := &CustomBiddingAlgorithmsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27637  	c.custombiddingalgorithm = custombiddingalgorithm
 27638  	return c
 27639  }
 27640  
 27641  // Fields allows partial responses to be retrieved. See
 27642  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27643  // details.
 27644  func (c *CustomBiddingAlgorithmsCreateCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsCreateCall {
 27645  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27646  	return c
 27647  }
 27648  
 27649  // Context sets the context to be used in this call's Do method.
 27650  func (c *CustomBiddingAlgorithmsCreateCall) Context(ctx context.Context) *CustomBiddingAlgorithmsCreateCall {
 27651  	c.ctx_ = ctx
 27652  	return c
 27653  }
 27654  
 27655  // Header returns a http.Header that can be modified by the caller to add
 27656  // headers to the request.
 27657  func (c *CustomBiddingAlgorithmsCreateCall) Header() http.Header {
 27658  	if c.header_ == nil {
 27659  		c.header_ = make(http.Header)
 27660  	}
 27661  	return c.header_
 27662  }
 27663  
 27664  func (c *CustomBiddingAlgorithmsCreateCall) doRequest(alt string) (*http.Response, error) {
 27665  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 27666  	var body io.Reader = nil
 27667  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.custombiddingalgorithm)
 27668  	if err != nil {
 27669  		return nil, err
 27670  	}
 27671  	c.urlParams_.Set("alt", alt)
 27672  	c.urlParams_.Set("prettyPrint", "false")
 27673  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms")
 27674  	urls += "?" + c.urlParams_.Encode()
 27675  	req, err := http.NewRequest("POST", urls, body)
 27676  	if err != nil {
 27677  		return nil, err
 27678  	}
 27679  	req.Header = reqHeaders
 27680  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27681  }
 27682  
 27683  // Do executes the "displayvideo.customBiddingAlgorithms.create" call.
 27684  // Any non-2xx status code is an error. Response headers are in either
 27685  // *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was returned
 27686  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 27687  // check whether the returned error was because http.StatusNotModified was
 27688  // returned.
 27689  func (c *CustomBiddingAlgorithmsCreateCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) {
 27690  	gensupport.SetOptions(c.urlParams_, opts...)
 27691  	res, err := c.doRequest("json")
 27692  	if res != nil && res.StatusCode == http.StatusNotModified {
 27693  		if res.Body != nil {
 27694  			res.Body.Close()
 27695  		}
 27696  		return nil, gensupport.WrapError(&googleapi.Error{
 27697  			Code:   res.StatusCode,
 27698  			Header: res.Header,
 27699  		})
 27700  	}
 27701  	if err != nil {
 27702  		return nil, err
 27703  	}
 27704  	defer googleapi.CloseBody(res)
 27705  	if err := googleapi.CheckResponse(res); err != nil {
 27706  		return nil, gensupport.WrapError(err)
 27707  	}
 27708  	ret := &CustomBiddingAlgorithm{
 27709  		ServerResponse: googleapi.ServerResponse{
 27710  			Header:         res.Header,
 27711  			HTTPStatusCode: res.StatusCode,
 27712  		},
 27713  	}
 27714  	target := &ret
 27715  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27716  		return nil, err
 27717  	}
 27718  	return ret, nil
 27719  }
 27720  
 27721  type CustomBiddingAlgorithmsGetCall struct {
 27722  	s                        *Service
 27723  	customBiddingAlgorithmId int64
 27724  	urlParams_               gensupport.URLParams
 27725  	ifNoneMatch_             string
 27726  	ctx_                     context.Context
 27727  	header_                  http.Header
 27728  }
 27729  
 27730  // Get: Gets a custom bidding algorithm.
 27731  //
 27732  // - customBiddingAlgorithmId: The ID of the custom bidding algorithm to fetch.
 27733  func (r *CustomBiddingAlgorithmsService) Get(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsGetCall {
 27734  	c := &CustomBiddingAlgorithmsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27735  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 27736  	return c
 27737  }
 27738  
 27739  // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360
 27740  // partner that has access to the custom bidding algorithm.
 27741  func (c *CustomBiddingAlgorithmsGetCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsGetCall {
 27742  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 27743  	return c
 27744  }
 27745  
 27746  // PartnerId sets the optional parameter "partnerId": The ID of the DV360
 27747  // partner that has access to the custom bidding algorithm.
 27748  func (c *CustomBiddingAlgorithmsGetCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsGetCall {
 27749  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 27750  	return c
 27751  }
 27752  
 27753  // Fields allows partial responses to be retrieved. See
 27754  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27755  // details.
 27756  func (c *CustomBiddingAlgorithmsGetCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsGetCall {
 27757  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27758  	return c
 27759  }
 27760  
 27761  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27762  // object's ETag matches the given value. This is useful for getting updates
 27763  // only after the object has changed since the last request.
 27764  func (c *CustomBiddingAlgorithmsGetCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsGetCall {
 27765  	c.ifNoneMatch_ = entityTag
 27766  	return c
 27767  }
 27768  
 27769  // Context sets the context to be used in this call's Do method.
 27770  func (c *CustomBiddingAlgorithmsGetCall) Context(ctx context.Context) *CustomBiddingAlgorithmsGetCall {
 27771  	c.ctx_ = ctx
 27772  	return c
 27773  }
 27774  
 27775  // Header returns a http.Header that can be modified by the caller to add
 27776  // headers to the request.
 27777  func (c *CustomBiddingAlgorithmsGetCall) Header() http.Header {
 27778  	if c.header_ == nil {
 27779  		c.header_ = make(http.Header)
 27780  	}
 27781  	return c.header_
 27782  }
 27783  
 27784  func (c *CustomBiddingAlgorithmsGetCall) doRequest(alt string) (*http.Response, error) {
 27785  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27786  	if c.ifNoneMatch_ != "" {
 27787  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27788  	}
 27789  	var body io.Reader = nil
 27790  	c.urlParams_.Set("alt", alt)
 27791  	c.urlParams_.Set("prettyPrint", "false")
 27792  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}")
 27793  	urls += "?" + c.urlParams_.Encode()
 27794  	req, err := http.NewRequest("GET", urls, body)
 27795  	if err != nil {
 27796  		return nil, err
 27797  	}
 27798  	req.Header = reqHeaders
 27799  	googleapi.Expand(req.URL, map[string]string{
 27800  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 27801  	})
 27802  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27803  }
 27804  
 27805  // Do executes the "displayvideo.customBiddingAlgorithms.get" call.
 27806  // Any non-2xx status code is an error. Response headers are in either
 27807  // *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was returned
 27808  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 27809  // check whether the returned error was because http.StatusNotModified was
 27810  // returned.
 27811  func (c *CustomBiddingAlgorithmsGetCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) {
 27812  	gensupport.SetOptions(c.urlParams_, opts...)
 27813  	res, err := c.doRequest("json")
 27814  	if res != nil && res.StatusCode == http.StatusNotModified {
 27815  		if res.Body != nil {
 27816  			res.Body.Close()
 27817  		}
 27818  		return nil, gensupport.WrapError(&googleapi.Error{
 27819  			Code:   res.StatusCode,
 27820  			Header: res.Header,
 27821  		})
 27822  	}
 27823  	if err != nil {
 27824  		return nil, err
 27825  	}
 27826  	defer googleapi.CloseBody(res)
 27827  	if err := googleapi.CheckResponse(res); err != nil {
 27828  		return nil, gensupport.WrapError(err)
 27829  	}
 27830  	ret := &CustomBiddingAlgorithm{
 27831  		ServerResponse: googleapi.ServerResponse{
 27832  			Header:         res.Header,
 27833  			HTTPStatusCode: res.StatusCode,
 27834  		},
 27835  	}
 27836  	target := &ret
 27837  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27838  		return nil, err
 27839  	}
 27840  	return ret, nil
 27841  }
 27842  
 27843  type CustomBiddingAlgorithmsListCall struct {
 27844  	s            *Service
 27845  	urlParams_   gensupport.URLParams
 27846  	ifNoneMatch_ string
 27847  	ctx_         context.Context
 27848  	header_      http.Header
 27849  }
 27850  
 27851  // List: Lists custom bidding algorithms that are accessible to the current
 27852  // user and can be used in bidding stratgies. The order is defined by the
 27853  // order_by parameter.
 27854  func (r *CustomBiddingAlgorithmsService) List() *CustomBiddingAlgorithmsListCall {
 27855  	c := &CustomBiddingAlgorithmsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27856  	return c
 27857  }
 27858  
 27859  // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360
 27860  // advertiser that has access to the custom bidding algorithm.
 27861  func (c *CustomBiddingAlgorithmsListCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsListCall {
 27862  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 27863  	return c
 27864  }
 27865  
 27866  // Filter sets the optional parameter "filter": Allows filtering by custom
 27867  // bidding algorithm fields. Supported syntax: * Filter expressions are made up
 27868  // of one or more restrictions. * Restrictions can be combined by `AND`. A
 27869  // sequence of restrictions implicitly uses `AND`. * A restriction has the form
 27870  // of `{field} {operator} {value}`. * The `customBiddingAlgorithmType` field
 27871  // must use the `EQUALS (=)` operator. * The `displayName` field must use the
 27872  // `HAS (:)` operator. Supported fields: * `customBiddingAlgorithmType` *
 27873  // `displayName` Examples: * All custom bidding algorithms for which the
 27874  // display name contains "politics": `displayName:"politics". * All custom
 27875  // bidding algorithms for which the type is "SCRIPT_BASED":
 27876  // `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be
 27877  // no more than 500 characters. Reference our filter `LIST` requests
 27878  // (/display-video/api/guides/how-tos/filters) guide for more information.
 27879  func (c *CustomBiddingAlgorithmsListCall) Filter(filter string) *CustomBiddingAlgorithmsListCall {
 27880  	c.urlParams_.Set("filter", filter)
 27881  	return c
 27882  }
 27883  
 27884  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 27885  // list. Acceptable values are: * `displayName` (default) The default sorting
 27886  // order is ascending. To specify descending order for a field, a suffix "desc"
 27887  // should be added to the field name. Example: `displayName desc`.
 27888  func (c *CustomBiddingAlgorithmsListCall) OrderBy(orderBy string) *CustomBiddingAlgorithmsListCall {
 27889  	c.urlParams_.Set("orderBy", orderBy)
 27890  	return c
 27891  }
 27892  
 27893  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 27894  // be between `1` and `200`. If unspecified will default to `100`. Returns
 27895  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 27896  func (c *CustomBiddingAlgorithmsListCall) PageSize(pageSize int64) *CustomBiddingAlgorithmsListCall {
 27897  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 27898  	return c
 27899  }
 27900  
 27901  // PageToken sets the optional parameter "pageToken": A token identifying a
 27902  // page of results the server should return. Typically, this is the value of
 27903  // next_page_token returned from the previous call to
 27904  // `ListCustomBiddingAlgorithms` method. If not specified, the first page of
 27905  // results will be returned.
 27906  func (c *CustomBiddingAlgorithmsListCall) PageToken(pageToken string) *CustomBiddingAlgorithmsListCall {
 27907  	c.urlParams_.Set("pageToken", pageToken)
 27908  	return c
 27909  }
 27910  
 27911  // PartnerId sets the optional parameter "partnerId": The ID of the DV360
 27912  // partner that has access to the custom bidding algorithm.
 27913  func (c *CustomBiddingAlgorithmsListCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsListCall {
 27914  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 27915  	return c
 27916  }
 27917  
 27918  // Fields allows partial responses to be retrieved. See
 27919  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 27920  // details.
 27921  func (c *CustomBiddingAlgorithmsListCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsListCall {
 27922  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27923  	return c
 27924  }
 27925  
 27926  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 27927  // object's ETag matches the given value. This is useful for getting updates
 27928  // only after the object has changed since the last request.
 27929  func (c *CustomBiddingAlgorithmsListCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsListCall {
 27930  	c.ifNoneMatch_ = entityTag
 27931  	return c
 27932  }
 27933  
 27934  // Context sets the context to be used in this call's Do method.
 27935  func (c *CustomBiddingAlgorithmsListCall) Context(ctx context.Context) *CustomBiddingAlgorithmsListCall {
 27936  	c.ctx_ = ctx
 27937  	return c
 27938  }
 27939  
 27940  // Header returns a http.Header that can be modified by the caller to add
 27941  // headers to the request.
 27942  func (c *CustomBiddingAlgorithmsListCall) Header() http.Header {
 27943  	if c.header_ == nil {
 27944  		c.header_ = make(http.Header)
 27945  	}
 27946  	return c.header_
 27947  }
 27948  
 27949  func (c *CustomBiddingAlgorithmsListCall) doRequest(alt string) (*http.Response, error) {
 27950  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 27951  	if c.ifNoneMatch_ != "" {
 27952  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27953  	}
 27954  	var body io.Reader = nil
 27955  	c.urlParams_.Set("alt", alt)
 27956  	c.urlParams_.Set("prettyPrint", "false")
 27957  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms")
 27958  	urls += "?" + c.urlParams_.Encode()
 27959  	req, err := http.NewRequest("GET", urls, body)
 27960  	if err != nil {
 27961  		return nil, err
 27962  	}
 27963  	req.Header = reqHeaders
 27964  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27965  }
 27966  
 27967  // Do executes the "displayvideo.customBiddingAlgorithms.list" call.
 27968  // Any non-2xx status code is an error. Response headers are in either
 27969  // *ListCustomBiddingAlgorithmsResponse.ServerResponse.Header or (if a response
 27970  // was returned at all) in error.(*googleapi.Error).Header. Use
 27971  // googleapi.IsNotModified to check whether the returned error was because
 27972  // http.StatusNotModified was returned.
 27973  func (c *CustomBiddingAlgorithmsListCall) Do(opts ...googleapi.CallOption) (*ListCustomBiddingAlgorithmsResponse, error) {
 27974  	gensupport.SetOptions(c.urlParams_, opts...)
 27975  	res, err := c.doRequest("json")
 27976  	if res != nil && res.StatusCode == http.StatusNotModified {
 27977  		if res.Body != nil {
 27978  			res.Body.Close()
 27979  		}
 27980  		return nil, gensupport.WrapError(&googleapi.Error{
 27981  			Code:   res.StatusCode,
 27982  			Header: res.Header,
 27983  		})
 27984  	}
 27985  	if err != nil {
 27986  		return nil, err
 27987  	}
 27988  	defer googleapi.CloseBody(res)
 27989  	if err := googleapi.CheckResponse(res); err != nil {
 27990  		return nil, gensupport.WrapError(err)
 27991  	}
 27992  	ret := &ListCustomBiddingAlgorithmsResponse{
 27993  		ServerResponse: googleapi.ServerResponse{
 27994  			Header:         res.Header,
 27995  			HTTPStatusCode: res.StatusCode,
 27996  		},
 27997  	}
 27998  	target := &ret
 27999  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28000  		return nil, err
 28001  	}
 28002  	return ret, nil
 28003  }
 28004  
 28005  // Pages invokes f for each page of results.
 28006  // A non-nil error returned from f will halt the iteration.
 28007  // The provided context supersedes any context provided to the Context method.
 28008  func (c *CustomBiddingAlgorithmsListCall) Pages(ctx context.Context, f func(*ListCustomBiddingAlgorithmsResponse) error) error {
 28009  	c.ctx_ = ctx
 28010  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 28011  	for {
 28012  		x, err := c.Do()
 28013  		if err != nil {
 28014  			return err
 28015  		}
 28016  		if err := f(x); err != nil {
 28017  			return err
 28018  		}
 28019  		if x.NextPageToken == "" {
 28020  			return nil
 28021  		}
 28022  		c.PageToken(x.NextPageToken)
 28023  	}
 28024  }
 28025  
 28026  type CustomBiddingAlgorithmsPatchCall struct {
 28027  	s                        *Service
 28028  	customBiddingAlgorithmId int64
 28029  	custombiddingalgorithm   *CustomBiddingAlgorithm
 28030  	urlParams_               gensupport.URLParams
 28031  	ctx_                     context.Context
 28032  	header_                  http.Header
 28033  }
 28034  
 28035  // Patch: Updates an existing custom bidding algorithm. Returns the updated
 28036  // custom bidding algorithm if successful.
 28037  //
 28038  //   - customBiddingAlgorithmId: Output only. The unique ID of the custom bidding
 28039  //     algorithm. Assigned by the system.
 28040  func (r *CustomBiddingAlgorithmsService) Patch(customBiddingAlgorithmId int64, custombiddingalgorithm *CustomBiddingAlgorithm) *CustomBiddingAlgorithmsPatchCall {
 28041  	c := &CustomBiddingAlgorithmsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28042  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28043  	c.custombiddingalgorithm = custombiddingalgorithm
 28044  	return c
 28045  }
 28046  
 28047  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 28048  // control which fields to update.
 28049  func (c *CustomBiddingAlgorithmsPatchCall) UpdateMask(updateMask string) *CustomBiddingAlgorithmsPatchCall {
 28050  	c.urlParams_.Set("updateMask", updateMask)
 28051  	return c
 28052  }
 28053  
 28054  // Fields allows partial responses to be retrieved. See
 28055  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28056  // details.
 28057  func (c *CustomBiddingAlgorithmsPatchCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsPatchCall {
 28058  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28059  	return c
 28060  }
 28061  
 28062  // Context sets the context to be used in this call's Do method.
 28063  func (c *CustomBiddingAlgorithmsPatchCall) Context(ctx context.Context) *CustomBiddingAlgorithmsPatchCall {
 28064  	c.ctx_ = ctx
 28065  	return c
 28066  }
 28067  
 28068  // Header returns a http.Header that can be modified by the caller to add
 28069  // headers to the request.
 28070  func (c *CustomBiddingAlgorithmsPatchCall) Header() http.Header {
 28071  	if c.header_ == nil {
 28072  		c.header_ = make(http.Header)
 28073  	}
 28074  	return c.header_
 28075  }
 28076  
 28077  func (c *CustomBiddingAlgorithmsPatchCall) doRequest(alt string) (*http.Response, error) {
 28078  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 28079  	var body io.Reader = nil
 28080  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.custombiddingalgorithm)
 28081  	if err != nil {
 28082  		return nil, err
 28083  	}
 28084  	c.urlParams_.Set("alt", alt)
 28085  	c.urlParams_.Set("prettyPrint", "false")
 28086  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}")
 28087  	urls += "?" + c.urlParams_.Encode()
 28088  	req, err := http.NewRequest("PATCH", urls, body)
 28089  	if err != nil {
 28090  		return nil, err
 28091  	}
 28092  	req.Header = reqHeaders
 28093  	googleapi.Expand(req.URL, map[string]string{
 28094  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28095  	})
 28096  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28097  }
 28098  
 28099  // Do executes the "displayvideo.customBiddingAlgorithms.patch" call.
 28100  // Any non-2xx status code is an error. Response headers are in either
 28101  // *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was returned
 28102  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 28103  // check whether the returned error was because http.StatusNotModified was
 28104  // returned.
 28105  func (c *CustomBiddingAlgorithmsPatchCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) {
 28106  	gensupport.SetOptions(c.urlParams_, opts...)
 28107  	res, err := c.doRequest("json")
 28108  	if res != nil && res.StatusCode == http.StatusNotModified {
 28109  		if res.Body != nil {
 28110  			res.Body.Close()
 28111  		}
 28112  		return nil, gensupport.WrapError(&googleapi.Error{
 28113  			Code:   res.StatusCode,
 28114  			Header: res.Header,
 28115  		})
 28116  	}
 28117  	if err != nil {
 28118  		return nil, err
 28119  	}
 28120  	defer googleapi.CloseBody(res)
 28121  	if err := googleapi.CheckResponse(res); err != nil {
 28122  		return nil, gensupport.WrapError(err)
 28123  	}
 28124  	ret := &CustomBiddingAlgorithm{
 28125  		ServerResponse: googleapi.ServerResponse{
 28126  			Header:         res.Header,
 28127  			HTTPStatusCode: res.StatusCode,
 28128  		},
 28129  	}
 28130  	target := &ret
 28131  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28132  		return nil, err
 28133  	}
 28134  	return ret, nil
 28135  }
 28136  
 28137  type CustomBiddingAlgorithmsUploadRulesCall struct {
 28138  	s                        *Service
 28139  	customBiddingAlgorithmId int64
 28140  	urlParams_               gensupport.URLParams
 28141  	ifNoneMatch_             string
 28142  	ctx_                     context.Context
 28143  	header_                  http.Header
 28144  }
 28145  
 28146  // UploadRules: Creates a rules reference object for an AlgorithmRules file.
 28147  // The resulting reference object provides a resource path where the
 28148  // AlgorithmRules file should be uploaded. This reference object should be
 28149  // included when creating a new CustomBiddingAlgorithmRules resource.
 28150  //
 28151  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm that owns
 28152  //     the rules resource.
 28153  func (r *CustomBiddingAlgorithmsService) UploadRules(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsUploadRulesCall {
 28154  	c := &CustomBiddingAlgorithmsUploadRulesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28155  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28156  	return c
 28157  }
 28158  
 28159  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28160  // advertiser that owns the parent custom bidding algorithm.
 28161  func (c *CustomBiddingAlgorithmsUploadRulesCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsUploadRulesCall {
 28162  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28163  	return c
 28164  }
 28165  
 28166  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28167  // that owns the parent custom bidding algorithm.
 28168  func (c *CustomBiddingAlgorithmsUploadRulesCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsUploadRulesCall {
 28169  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28170  	return c
 28171  }
 28172  
 28173  // Fields allows partial responses to be retrieved. See
 28174  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28175  // details.
 28176  func (c *CustomBiddingAlgorithmsUploadRulesCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsUploadRulesCall {
 28177  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28178  	return c
 28179  }
 28180  
 28181  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 28182  // object's ETag matches the given value. This is useful for getting updates
 28183  // only after the object has changed since the last request.
 28184  func (c *CustomBiddingAlgorithmsUploadRulesCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsUploadRulesCall {
 28185  	c.ifNoneMatch_ = entityTag
 28186  	return c
 28187  }
 28188  
 28189  // Context sets the context to be used in this call's Do method.
 28190  func (c *CustomBiddingAlgorithmsUploadRulesCall) Context(ctx context.Context) *CustomBiddingAlgorithmsUploadRulesCall {
 28191  	c.ctx_ = ctx
 28192  	return c
 28193  }
 28194  
 28195  // Header returns a http.Header that can be modified by the caller to add
 28196  // headers to the request.
 28197  func (c *CustomBiddingAlgorithmsUploadRulesCall) Header() http.Header {
 28198  	if c.header_ == nil {
 28199  		c.header_ = make(http.Header)
 28200  	}
 28201  	return c.header_
 28202  }
 28203  
 28204  func (c *CustomBiddingAlgorithmsUploadRulesCall) doRequest(alt string) (*http.Response, error) {
 28205  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 28206  	if c.ifNoneMatch_ != "" {
 28207  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28208  	}
 28209  	var body io.Reader = nil
 28210  	c.urlParams_.Set("alt", alt)
 28211  	c.urlParams_.Set("prettyPrint", "false")
 28212  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadRules")
 28213  	urls += "?" + c.urlParams_.Encode()
 28214  	req, err := http.NewRequest("GET", urls, body)
 28215  	if err != nil {
 28216  		return nil, err
 28217  	}
 28218  	req.Header = reqHeaders
 28219  	googleapi.Expand(req.URL, map[string]string{
 28220  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28221  	})
 28222  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28223  }
 28224  
 28225  // Do executes the "displayvideo.customBiddingAlgorithms.uploadRules" call.
 28226  // Any non-2xx status code is an error. Response headers are in either
 28227  // *CustomBiddingAlgorithmRulesRef.ServerResponse.Header or (if a response was
 28228  // returned at all) in error.(*googleapi.Error).Header. Use
 28229  // googleapi.IsNotModified to check whether the returned error was because
 28230  // http.StatusNotModified was returned.
 28231  func (c *CustomBiddingAlgorithmsUploadRulesCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithmRulesRef, error) {
 28232  	gensupport.SetOptions(c.urlParams_, opts...)
 28233  	res, err := c.doRequest("json")
 28234  	if res != nil && res.StatusCode == http.StatusNotModified {
 28235  		if res.Body != nil {
 28236  			res.Body.Close()
 28237  		}
 28238  		return nil, gensupport.WrapError(&googleapi.Error{
 28239  			Code:   res.StatusCode,
 28240  			Header: res.Header,
 28241  		})
 28242  	}
 28243  	if err != nil {
 28244  		return nil, err
 28245  	}
 28246  	defer googleapi.CloseBody(res)
 28247  	if err := googleapi.CheckResponse(res); err != nil {
 28248  		return nil, gensupport.WrapError(err)
 28249  	}
 28250  	ret := &CustomBiddingAlgorithmRulesRef{
 28251  		ServerResponse: googleapi.ServerResponse{
 28252  			Header:         res.Header,
 28253  			HTTPStatusCode: res.StatusCode,
 28254  		},
 28255  	}
 28256  	target := &ret
 28257  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28258  		return nil, err
 28259  	}
 28260  	return ret, nil
 28261  }
 28262  
 28263  type CustomBiddingAlgorithmsUploadScriptCall struct {
 28264  	s                        *Service
 28265  	customBiddingAlgorithmId int64
 28266  	urlParams_               gensupport.URLParams
 28267  	ifNoneMatch_             string
 28268  	ctx_                     context.Context
 28269  	header_                  http.Header
 28270  }
 28271  
 28272  // UploadScript: Creates a custom bidding script reference object for a script
 28273  // file. The resulting reference object provides a resource path to which the
 28274  // script file should be uploaded. This reference object should be included in
 28275  // when creating a new custom bidding script object.
 28276  //
 28277  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm owns the
 28278  //     script.
 28279  func (r *CustomBiddingAlgorithmsService) UploadScript(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsUploadScriptCall {
 28280  	c := &CustomBiddingAlgorithmsUploadScriptCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28281  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28282  	return c
 28283  }
 28284  
 28285  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28286  // advertiser that owns the parent custom bidding algorithm.
 28287  func (c *CustomBiddingAlgorithmsUploadScriptCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsUploadScriptCall {
 28288  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28289  	return c
 28290  }
 28291  
 28292  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28293  // that owns the parent custom bidding algorithm. Only this partner will have
 28294  // write access to this custom bidding script.
 28295  func (c *CustomBiddingAlgorithmsUploadScriptCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsUploadScriptCall {
 28296  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28297  	return c
 28298  }
 28299  
 28300  // Fields allows partial responses to be retrieved. See
 28301  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28302  // details.
 28303  func (c *CustomBiddingAlgorithmsUploadScriptCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsUploadScriptCall {
 28304  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28305  	return c
 28306  }
 28307  
 28308  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 28309  // object's ETag matches the given value. This is useful for getting updates
 28310  // only after the object has changed since the last request.
 28311  func (c *CustomBiddingAlgorithmsUploadScriptCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsUploadScriptCall {
 28312  	c.ifNoneMatch_ = entityTag
 28313  	return c
 28314  }
 28315  
 28316  // Context sets the context to be used in this call's Do method.
 28317  func (c *CustomBiddingAlgorithmsUploadScriptCall) Context(ctx context.Context) *CustomBiddingAlgorithmsUploadScriptCall {
 28318  	c.ctx_ = ctx
 28319  	return c
 28320  }
 28321  
 28322  // Header returns a http.Header that can be modified by the caller to add
 28323  // headers to the request.
 28324  func (c *CustomBiddingAlgorithmsUploadScriptCall) Header() http.Header {
 28325  	if c.header_ == nil {
 28326  		c.header_ = make(http.Header)
 28327  	}
 28328  	return c.header_
 28329  }
 28330  
 28331  func (c *CustomBiddingAlgorithmsUploadScriptCall) doRequest(alt string) (*http.Response, error) {
 28332  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 28333  	if c.ifNoneMatch_ != "" {
 28334  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28335  	}
 28336  	var body io.Reader = nil
 28337  	c.urlParams_.Set("alt", alt)
 28338  	c.urlParams_.Set("prettyPrint", "false")
 28339  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadScript")
 28340  	urls += "?" + c.urlParams_.Encode()
 28341  	req, err := http.NewRequest("GET", urls, body)
 28342  	if err != nil {
 28343  		return nil, err
 28344  	}
 28345  	req.Header = reqHeaders
 28346  	googleapi.Expand(req.URL, map[string]string{
 28347  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28348  	})
 28349  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28350  }
 28351  
 28352  // Do executes the "displayvideo.customBiddingAlgorithms.uploadScript" call.
 28353  // Any non-2xx status code is an error. Response headers are in either
 28354  // *CustomBiddingScriptRef.ServerResponse.Header or (if a response was returned
 28355  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 28356  // check whether the returned error was because http.StatusNotModified was
 28357  // returned.
 28358  func (c *CustomBiddingAlgorithmsUploadScriptCall) Do(opts ...googleapi.CallOption) (*CustomBiddingScriptRef, error) {
 28359  	gensupport.SetOptions(c.urlParams_, opts...)
 28360  	res, err := c.doRequest("json")
 28361  	if res != nil && res.StatusCode == http.StatusNotModified {
 28362  		if res.Body != nil {
 28363  			res.Body.Close()
 28364  		}
 28365  		return nil, gensupport.WrapError(&googleapi.Error{
 28366  			Code:   res.StatusCode,
 28367  			Header: res.Header,
 28368  		})
 28369  	}
 28370  	if err != nil {
 28371  		return nil, err
 28372  	}
 28373  	defer googleapi.CloseBody(res)
 28374  	if err := googleapi.CheckResponse(res); err != nil {
 28375  		return nil, gensupport.WrapError(err)
 28376  	}
 28377  	ret := &CustomBiddingScriptRef{
 28378  		ServerResponse: googleapi.ServerResponse{
 28379  			Header:         res.Header,
 28380  			HTTPStatusCode: res.StatusCode,
 28381  		},
 28382  	}
 28383  	target := &ret
 28384  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28385  		return nil, err
 28386  	}
 28387  	return ret, nil
 28388  }
 28389  
 28390  type CustomBiddingAlgorithmsRulesCreateCall struct {
 28391  	s                           *Service
 28392  	customBiddingAlgorithmId    int64
 28393  	custombiddingalgorithmrules *CustomBiddingAlgorithmRules
 28394  	urlParams_                  gensupport.URLParams
 28395  	ctx_                        context.Context
 28396  	header_                     http.Header
 28397  }
 28398  
 28399  // Create: Creates a new rules resource. Returns the newly created rules
 28400  // resource if successful.
 28401  //
 28402  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm that owns
 28403  //     the rules resource.
 28404  func (r *CustomBiddingAlgorithmsRulesService) Create(customBiddingAlgorithmId int64, custombiddingalgorithmrules *CustomBiddingAlgorithmRules) *CustomBiddingAlgorithmsRulesCreateCall {
 28405  	c := &CustomBiddingAlgorithmsRulesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28406  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28407  	c.custombiddingalgorithmrules = custombiddingalgorithmrules
 28408  	return c
 28409  }
 28410  
 28411  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28412  // advertiser that owns the parent custom bidding algorithm.
 28413  func (c *CustomBiddingAlgorithmsRulesCreateCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsRulesCreateCall {
 28414  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28415  	return c
 28416  }
 28417  
 28418  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28419  // that owns the parent custom bidding algorithm. Only this partner will have
 28420  // write access to this rules resource.
 28421  func (c *CustomBiddingAlgorithmsRulesCreateCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsRulesCreateCall {
 28422  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28423  	return c
 28424  }
 28425  
 28426  // Fields allows partial responses to be retrieved. See
 28427  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28428  // details.
 28429  func (c *CustomBiddingAlgorithmsRulesCreateCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsRulesCreateCall {
 28430  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28431  	return c
 28432  }
 28433  
 28434  // Context sets the context to be used in this call's Do method.
 28435  func (c *CustomBiddingAlgorithmsRulesCreateCall) Context(ctx context.Context) *CustomBiddingAlgorithmsRulesCreateCall {
 28436  	c.ctx_ = ctx
 28437  	return c
 28438  }
 28439  
 28440  // Header returns a http.Header that can be modified by the caller to add
 28441  // headers to the request.
 28442  func (c *CustomBiddingAlgorithmsRulesCreateCall) Header() http.Header {
 28443  	if c.header_ == nil {
 28444  		c.header_ = make(http.Header)
 28445  	}
 28446  	return c.header_
 28447  }
 28448  
 28449  func (c *CustomBiddingAlgorithmsRulesCreateCall) doRequest(alt string) (*http.Response, error) {
 28450  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 28451  	var body io.Reader = nil
 28452  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.custombiddingalgorithmrules)
 28453  	if err != nil {
 28454  		return nil, err
 28455  	}
 28456  	c.urlParams_.Set("alt", alt)
 28457  	c.urlParams_.Set("prettyPrint", "false")
 28458  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules")
 28459  	urls += "?" + c.urlParams_.Encode()
 28460  	req, err := http.NewRequest("POST", urls, body)
 28461  	if err != nil {
 28462  		return nil, err
 28463  	}
 28464  	req.Header = reqHeaders
 28465  	googleapi.Expand(req.URL, map[string]string{
 28466  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28467  	})
 28468  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28469  }
 28470  
 28471  // Do executes the "displayvideo.customBiddingAlgorithms.rules.create" call.
 28472  // Any non-2xx status code is an error. Response headers are in either
 28473  // *CustomBiddingAlgorithmRules.ServerResponse.Header or (if a response was
 28474  // returned at all) in error.(*googleapi.Error).Header. Use
 28475  // googleapi.IsNotModified to check whether the returned error was because
 28476  // http.StatusNotModified was returned.
 28477  func (c *CustomBiddingAlgorithmsRulesCreateCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithmRules, error) {
 28478  	gensupport.SetOptions(c.urlParams_, opts...)
 28479  	res, err := c.doRequest("json")
 28480  	if res != nil && res.StatusCode == http.StatusNotModified {
 28481  		if res.Body != nil {
 28482  			res.Body.Close()
 28483  		}
 28484  		return nil, gensupport.WrapError(&googleapi.Error{
 28485  			Code:   res.StatusCode,
 28486  			Header: res.Header,
 28487  		})
 28488  	}
 28489  	if err != nil {
 28490  		return nil, err
 28491  	}
 28492  	defer googleapi.CloseBody(res)
 28493  	if err := googleapi.CheckResponse(res); err != nil {
 28494  		return nil, gensupport.WrapError(err)
 28495  	}
 28496  	ret := &CustomBiddingAlgorithmRules{
 28497  		ServerResponse: googleapi.ServerResponse{
 28498  			Header:         res.Header,
 28499  			HTTPStatusCode: res.StatusCode,
 28500  		},
 28501  	}
 28502  	target := &ret
 28503  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28504  		return nil, err
 28505  	}
 28506  	return ret, nil
 28507  }
 28508  
 28509  type CustomBiddingAlgorithmsRulesGetCall struct {
 28510  	s                             *Service
 28511  	customBiddingAlgorithmId      int64
 28512  	customBiddingAlgorithmRulesId int64
 28513  	urlParams_                    gensupport.URLParams
 28514  	ifNoneMatch_                  string
 28515  	ctx_                          context.Context
 28516  	header_                       http.Header
 28517  }
 28518  
 28519  // Get: Retrieves a rules resource.
 28520  //
 28521  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm that owns
 28522  //     the rules resource.
 28523  //   - customBiddingAlgorithmRulesId: The ID of the rules resource to fetch.
 28524  func (r *CustomBiddingAlgorithmsRulesService) Get(customBiddingAlgorithmId int64, customBiddingAlgorithmRulesId int64) *CustomBiddingAlgorithmsRulesGetCall {
 28525  	c := &CustomBiddingAlgorithmsRulesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28526  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28527  	c.customBiddingAlgorithmRulesId = customBiddingAlgorithmRulesId
 28528  	return c
 28529  }
 28530  
 28531  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28532  // advertiser that owns the parent custom bidding algorithm.
 28533  func (c *CustomBiddingAlgorithmsRulesGetCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsRulesGetCall {
 28534  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28535  	return c
 28536  }
 28537  
 28538  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28539  // that owns the parent custom bidding algorithm.
 28540  func (c *CustomBiddingAlgorithmsRulesGetCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsRulesGetCall {
 28541  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28542  	return c
 28543  }
 28544  
 28545  // Fields allows partial responses to be retrieved. See
 28546  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28547  // details.
 28548  func (c *CustomBiddingAlgorithmsRulesGetCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsRulesGetCall {
 28549  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28550  	return c
 28551  }
 28552  
 28553  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 28554  // object's ETag matches the given value. This is useful for getting updates
 28555  // only after the object has changed since the last request.
 28556  func (c *CustomBiddingAlgorithmsRulesGetCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsRulesGetCall {
 28557  	c.ifNoneMatch_ = entityTag
 28558  	return c
 28559  }
 28560  
 28561  // Context sets the context to be used in this call's Do method.
 28562  func (c *CustomBiddingAlgorithmsRulesGetCall) Context(ctx context.Context) *CustomBiddingAlgorithmsRulesGetCall {
 28563  	c.ctx_ = ctx
 28564  	return c
 28565  }
 28566  
 28567  // Header returns a http.Header that can be modified by the caller to add
 28568  // headers to the request.
 28569  func (c *CustomBiddingAlgorithmsRulesGetCall) Header() http.Header {
 28570  	if c.header_ == nil {
 28571  		c.header_ = make(http.Header)
 28572  	}
 28573  	return c.header_
 28574  }
 28575  
 28576  func (c *CustomBiddingAlgorithmsRulesGetCall) doRequest(alt string) (*http.Response, error) {
 28577  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 28578  	if c.ifNoneMatch_ != "" {
 28579  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28580  	}
 28581  	var body io.Reader = nil
 28582  	c.urlParams_.Set("alt", alt)
 28583  	c.urlParams_.Set("prettyPrint", "false")
 28584  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules/{+customBiddingAlgorithmRulesId}")
 28585  	urls += "?" + c.urlParams_.Encode()
 28586  	req, err := http.NewRequest("GET", urls, body)
 28587  	if err != nil {
 28588  		return nil, err
 28589  	}
 28590  	req.Header = reqHeaders
 28591  	googleapi.Expand(req.URL, map[string]string{
 28592  		"customBiddingAlgorithmId":      strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28593  		"customBiddingAlgorithmRulesId": strconv.FormatInt(c.customBiddingAlgorithmRulesId, 10),
 28594  	})
 28595  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28596  }
 28597  
 28598  // Do executes the "displayvideo.customBiddingAlgorithms.rules.get" call.
 28599  // Any non-2xx status code is an error. Response headers are in either
 28600  // *CustomBiddingAlgorithmRules.ServerResponse.Header or (if a response was
 28601  // returned at all) in error.(*googleapi.Error).Header. Use
 28602  // googleapi.IsNotModified to check whether the returned error was because
 28603  // http.StatusNotModified was returned.
 28604  func (c *CustomBiddingAlgorithmsRulesGetCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithmRules, error) {
 28605  	gensupport.SetOptions(c.urlParams_, opts...)
 28606  	res, err := c.doRequest("json")
 28607  	if res != nil && res.StatusCode == http.StatusNotModified {
 28608  		if res.Body != nil {
 28609  			res.Body.Close()
 28610  		}
 28611  		return nil, gensupport.WrapError(&googleapi.Error{
 28612  			Code:   res.StatusCode,
 28613  			Header: res.Header,
 28614  		})
 28615  	}
 28616  	if err != nil {
 28617  		return nil, err
 28618  	}
 28619  	defer googleapi.CloseBody(res)
 28620  	if err := googleapi.CheckResponse(res); err != nil {
 28621  		return nil, gensupport.WrapError(err)
 28622  	}
 28623  	ret := &CustomBiddingAlgorithmRules{
 28624  		ServerResponse: googleapi.ServerResponse{
 28625  			Header:         res.Header,
 28626  			HTTPStatusCode: res.StatusCode,
 28627  		},
 28628  	}
 28629  	target := &ret
 28630  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28631  		return nil, err
 28632  	}
 28633  	return ret, nil
 28634  }
 28635  
 28636  type CustomBiddingAlgorithmsRulesListCall struct {
 28637  	s                        *Service
 28638  	customBiddingAlgorithmId int64
 28639  	urlParams_               gensupport.URLParams
 28640  	ifNoneMatch_             string
 28641  	ctx_                     context.Context
 28642  	header_                  http.Header
 28643  }
 28644  
 28645  // List: Lists rules resources that belong to the given algorithm. The order is
 28646  // defined by the order_by parameter.
 28647  //
 28648  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm that owns
 28649  //     the rules resource.
 28650  func (r *CustomBiddingAlgorithmsRulesService) List(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsRulesListCall {
 28651  	c := &CustomBiddingAlgorithmsRulesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28652  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28653  	return c
 28654  }
 28655  
 28656  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28657  // advertiser that owns the parent custom bidding algorithm.
 28658  func (c *CustomBiddingAlgorithmsRulesListCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsRulesListCall {
 28659  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28660  	return c
 28661  }
 28662  
 28663  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 28664  // list. Acceptable values are: * `createTime desc` (default) The default
 28665  // sorting order is descending. To specify ascending order for a field, the
 28666  // suffix "desc" should be removed. Example: `createTime`.
 28667  func (c *CustomBiddingAlgorithmsRulesListCall) OrderBy(orderBy string) *CustomBiddingAlgorithmsRulesListCall {
 28668  	c.urlParams_.Set("orderBy", orderBy)
 28669  	return c
 28670  }
 28671  
 28672  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 28673  // be between `1` and `200`. If unspecified will default to `100`. Returns
 28674  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 28675  func (c *CustomBiddingAlgorithmsRulesListCall) PageSize(pageSize int64) *CustomBiddingAlgorithmsRulesListCall {
 28676  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 28677  	return c
 28678  }
 28679  
 28680  // PageToken sets the optional parameter "pageToken": A token identifying a
 28681  // page of results the server should return. Typically, this is the value of
 28682  // next_page_token returned from the previous call to
 28683  // `ListCustomBiddingAlgorithmRules` method. If not specified, the first page
 28684  // of results will be returned.
 28685  func (c *CustomBiddingAlgorithmsRulesListCall) PageToken(pageToken string) *CustomBiddingAlgorithmsRulesListCall {
 28686  	c.urlParams_.Set("pageToken", pageToken)
 28687  	return c
 28688  }
 28689  
 28690  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28691  // that owns the parent custom bidding algorithm.
 28692  func (c *CustomBiddingAlgorithmsRulesListCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsRulesListCall {
 28693  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28694  	return c
 28695  }
 28696  
 28697  // Fields allows partial responses to be retrieved. See
 28698  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28699  // details.
 28700  func (c *CustomBiddingAlgorithmsRulesListCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsRulesListCall {
 28701  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28702  	return c
 28703  }
 28704  
 28705  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 28706  // object's ETag matches the given value. This is useful for getting updates
 28707  // only after the object has changed since the last request.
 28708  func (c *CustomBiddingAlgorithmsRulesListCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsRulesListCall {
 28709  	c.ifNoneMatch_ = entityTag
 28710  	return c
 28711  }
 28712  
 28713  // Context sets the context to be used in this call's Do method.
 28714  func (c *CustomBiddingAlgorithmsRulesListCall) Context(ctx context.Context) *CustomBiddingAlgorithmsRulesListCall {
 28715  	c.ctx_ = ctx
 28716  	return c
 28717  }
 28718  
 28719  // Header returns a http.Header that can be modified by the caller to add
 28720  // headers to the request.
 28721  func (c *CustomBiddingAlgorithmsRulesListCall) Header() http.Header {
 28722  	if c.header_ == nil {
 28723  		c.header_ = make(http.Header)
 28724  	}
 28725  	return c.header_
 28726  }
 28727  
 28728  func (c *CustomBiddingAlgorithmsRulesListCall) doRequest(alt string) (*http.Response, error) {
 28729  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 28730  	if c.ifNoneMatch_ != "" {
 28731  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28732  	}
 28733  	var body io.Reader = nil
 28734  	c.urlParams_.Set("alt", alt)
 28735  	c.urlParams_.Set("prettyPrint", "false")
 28736  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules")
 28737  	urls += "?" + c.urlParams_.Encode()
 28738  	req, err := http.NewRequest("GET", urls, body)
 28739  	if err != nil {
 28740  		return nil, err
 28741  	}
 28742  	req.Header = reqHeaders
 28743  	googleapi.Expand(req.URL, map[string]string{
 28744  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28745  	})
 28746  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28747  }
 28748  
 28749  // Do executes the "displayvideo.customBiddingAlgorithms.rules.list" call.
 28750  // Any non-2xx status code is an error. Response headers are in either
 28751  // *ListCustomBiddingAlgorithmRulesResponse.ServerResponse.Header or (if a
 28752  // response was returned at all) in error.(*googleapi.Error).Header. Use
 28753  // googleapi.IsNotModified to check whether the returned error was because
 28754  // http.StatusNotModified was returned.
 28755  func (c *CustomBiddingAlgorithmsRulesListCall) Do(opts ...googleapi.CallOption) (*ListCustomBiddingAlgorithmRulesResponse, error) {
 28756  	gensupport.SetOptions(c.urlParams_, opts...)
 28757  	res, err := c.doRequest("json")
 28758  	if res != nil && res.StatusCode == http.StatusNotModified {
 28759  		if res.Body != nil {
 28760  			res.Body.Close()
 28761  		}
 28762  		return nil, gensupport.WrapError(&googleapi.Error{
 28763  			Code:   res.StatusCode,
 28764  			Header: res.Header,
 28765  		})
 28766  	}
 28767  	if err != nil {
 28768  		return nil, err
 28769  	}
 28770  	defer googleapi.CloseBody(res)
 28771  	if err := googleapi.CheckResponse(res); err != nil {
 28772  		return nil, gensupport.WrapError(err)
 28773  	}
 28774  	ret := &ListCustomBiddingAlgorithmRulesResponse{
 28775  		ServerResponse: googleapi.ServerResponse{
 28776  			Header:         res.Header,
 28777  			HTTPStatusCode: res.StatusCode,
 28778  		},
 28779  	}
 28780  	target := &ret
 28781  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28782  		return nil, err
 28783  	}
 28784  	return ret, nil
 28785  }
 28786  
 28787  // Pages invokes f for each page of results.
 28788  // A non-nil error returned from f will halt the iteration.
 28789  // The provided context supersedes any context provided to the Context method.
 28790  func (c *CustomBiddingAlgorithmsRulesListCall) Pages(ctx context.Context, f func(*ListCustomBiddingAlgorithmRulesResponse) error) error {
 28791  	c.ctx_ = ctx
 28792  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 28793  	for {
 28794  		x, err := c.Do()
 28795  		if err != nil {
 28796  			return err
 28797  		}
 28798  		if err := f(x); err != nil {
 28799  			return err
 28800  		}
 28801  		if x.NextPageToken == "" {
 28802  			return nil
 28803  		}
 28804  		c.PageToken(x.NextPageToken)
 28805  	}
 28806  }
 28807  
 28808  type CustomBiddingAlgorithmsScriptsCreateCall struct {
 28809  	s                        *Service
 28810  	customBiddingAlgorithmId int64
 28811  	custombiddingscript      *CustomBiddingScript
 28812  	urlParams_               gensupport.URLParams
 28813  	ctx_                     context.Context
 28814  	header_                  http.Header
 28815  }
 28816  
 28817  // Create: Creates a new custom bidding script. Returns the newly created
 28818  // script if successful.
 28819  //
 28820  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm that owns
 28821  //     the script.
 28822  func (r *CustomBiddingAlgorithmsScriptsService) Create(customBiddingAlgorithmId int64, custombiddingscript *CustomBiddingScript) *CustomBiddingAlgorithmsScriptsCreateCall {
 28823  	c := &CustomBiddingAlgorithmsScriptsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28824  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28825  	c.custombiddingscript = custombiddingscript
 28826  	return c
 28827  }
 28828  
 28829  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28830  // advertiser that owns the parent custom bidding algorithm.
 28831  func (c *CustomBiddingAlgorithmsScriptsCreateCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsScriptsCreateCall {
 28832  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28833  	return c
 28834  }
 28835  
 28836  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28837  // that owns the parent custom bidding algorithm. Only this partner will have
 28838  // write access to this custom bidding script.
 28839  func (c *CustomBiddingAlgorithmsScriptsCreateCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsScriptsCreateCall {
 28840  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28841  	return c
 28842  }
 28843  
 28844  // Fields allows partial responses to be retrieved. See
 28845  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28846  // details.
 28847  func (c *CustomBiddingAlgorithmsScriptsCreateCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsScriptsCreateCall {
 28848  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28849  	return c
 28850  }
 28851  
 28852  // Context sets the context to be used in this call's Do method.
 28853  func (c *CustomBiddingAlgorithmsScriptsCreateCall) Context(ctx context.Context) *CustomBiddingAlgorithmsScriptsCreateCall {
 28854  	c.ctx_ = ctx
 28855  	return c
 28856  }
 28857  
 28858  // Header returns a http.Header that can be modified by the caller to add
 28859  // headers to the request.
 28860  func (c *CustomBiddingAlgorithmsScriptsCreateCall) Header() http.Header {
 28861  	if c.header_ == nil {
 28862  		c.header_ = make(http.Header)
 28863  	}
 28864  	return c.header_
 28865  }
 28866  
 28867  func (c *CustomBiddingAlgorithmsScriptsCreateCall) doRequest(alt string) (*http.Response, error) {
 28868  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 28869  	var body io.Reader = nil
 28870  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.custombiddingscript)
 28871  	if err != nil {
 28872  		return nil, err
 28873  	}
 28874  	c.urlParams_.Set("alt", alt)
 28875  	c.urlParams_.Set("prettyPrint", "false")
 28876  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts")
 28877  	urls += "?" + c.urlParams_.Encode()
 28878  	req, err := http.NewRequest("POST", urls, body)
 28879  	if err != nil {
 28880  		return nil, err
 28881  	}
 28882  	req.Header = reqHeaders
 28883  	googleapi.Expand(req.URL, map[string]string{
 28884  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 28885  	})
 28886  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28887  }
 28888  
 28889  // Do executes the "displayvideo.customBiddingAlgorithms.scripts.create" call.
 28890  // Any non-2xx status code is an error. Response headers are in either
 28891  // *CustomBiddingScript.ServerResponse.Header or (if a response was returned at
 28892  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 28893  // check whether the returned error was because http.StatusNotModified was
 28894  // returned.
 28895  func (c *CustomBiddingAlgorithmsScriptsCreateCall) Do(opts ...googleapi.CallOption) (*CustomBiddingScript, error) {
 28896  	gensupport.SetOptions(c.urlParams_, opts...)
 28897  	res, err := c.doRequest("json")
 28898  	if res != nil && res.StatusCode == http.StatusNotModified {
 28899  		if res.Body != nil {
 28900  			res.Body.Close()
 28901  		}
 28902  		return nil, gensupport.WrapError(&googleapi.Error{
 28903  			Code:   res.StatusCode,
 28904  			Header: res.Header,
 28905  		})
 28906  	}
 28907  	if err != nil {
 28908  		return nil, err
 28909  	}
 28910  	defer googleapi.CloseBody(res)
 28911  	if err := googleapi.CheckResponse(res); err != nil {
 28912  		return nil, gensupport.WrapError(err)
 28913  	}
 28914  	ret := &CustomBiddingScript{
 28915  		ServerResponse: googleapi.ServerResponse{
 28916  			Header:         res.Header,
 28917  			HTTPStatusCode: res.StatusCode,
 28918  		},
 28919  	}
 28920  	target := &ret
 28921  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28922  		return nil, err
 28923  	}
 28924  	return ret, nil
 28925  }
 28926  
 28927  type CustomBiddingAlgorithmsScriptsGetCall struct {
 28928  	s                        *Service
 28929  	customBiddingAlgorithmId int64
 28930  	customBiddingScriptId    int64
 28931  	urlParams_               gensupport.URLParams
 28932  	ifNoneMatch_             string
 28933  	ctx_                     context.Context
 28934  	header_                  http.Header
 28935  }
 28936  
 28937  // Get: Gets a custom bidding script.
 28938  //
 28939  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm owns the
 28940  //     script.
 28941  //   - customBiddingScriptId: The ID of the custom bidding script to fetch.
 28942  func (r *CustomBiddingAlgorithmsScriptsService) Get(customBiddingAlgorithmId int64, customBiddingScriptId int64) *CustomBiddingAlgorithmsScriptsGetCall {
 28943  	c := &CustomBiddingAlgorithmsScriptsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28944  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 28945  	c.customBiddingScriptId = customBiddingScriptId
 28946  	return c
 28947  }
 28948  
 28949  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 28950  // advertiser that owns the parent custom bidding algorithm.
 28951  func (c *CustomBiddingAlgorithmsScriptsGetCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsScriptsGetCall {
 28952  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28953  	return c
 28954  }
 28955  
 28956  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 28957  // that owns the parent custom bidding algorithm. Only this partner will have
 28958  // write access to this custom bidding script.
 28959  func (c *CustomBiddingAlgorithmsScriptsGetCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsScriptsGetCall {
 28960  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 28961  	return c
 28962  }
 28963  
 28964  // Fields allows partial responses to be retrieved. See
 28965  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 28966  // details.
 28967  func (c *CustomBiddingAlgorithmsScriptsGetCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsScriptsGetCall {
 28968  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28969  	return c
 28970  }
 28971  
 28972  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 28973  // object's ETag matches the given value. This is useful for getting updates
 28974  // only after the object has changed since the last request.
 28975  func (c *CustomBiddingAlgorithmsScriptsGetCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsScriptsGetCall {
 28976  	c.ifNoneMatch_ = entityTag
 28977  	return c
 28978  }
 28979  
 28980  // Context sets the context to be used in this call's Do method.
 28981  func (c *CustomBiddingAlgorithmsScriptsGetCall) Context(ctx context.Context) *CustomBiddingAlgorithmsScriptsGetCall {
 28982  	c.ctx_ = ctx
 28983  	return c
 28984  }
 28985  
 28986  // Header returns a http.Header that can be modified by the caller to add
 28987  // headers to the request.
 28988  func (c *CustomBiddingAlgorithmsScriptsGetCall) Header() http.Header {
 28989  	if c.header_ == nil {
 28990  		c.header_ = make(http.Header)
 28991  	}
 28992  	return c.header_
 28993  }
 28994  
 28995  func (c *CustomBiddingAlgorithmsScriptsGetCall) doRequest(alt string) (*http.Response, error) {
 28996  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 28997  	if c.ifNoneMatch_ != "" {
 28998  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28999  	}
 29000  	var body io.Reader = nil
 29001  	c.urlParams_.Set("alt", alt)
 29002  	c.urlParams_.Set("prettyPrint", "false")
 29003  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts/{+customBiddingScriptId}")
 29004  	urls += "?" + c.urlParams_.Encode()
 29005  	req, err := http.NewRequest("GET", urls, body)
 29006  	if err != nil {
 29007  		return nil, err
 29008  	}
 29009  	req.Header = reqHeaders
 29010  	googleapi.Expand(req.URL, map[string]string{
 29011  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 29012  		"customBiddingScriptId":    strconv.FormatInt(c.customBiddingScriptId, 10),
 29013  	})
 29014  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29015  }
 29016  
 29017  // Do executes the "displayvideo.customBiddingAlgorithms.scripts.get" call.
 29018  // Any non-2xx status code is an error. Response headers are in either
 29019  // *CustomBiddingScript.ServerResponse.Header or (if a response was returned at
 29020  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 29021  // check whether the returned error was because http.StatusNotModified was
 29022  // returned.
 29023  func (c *CustomBiddingAlgorithmsScriptsGetCall) Do(opts ...googleapi.CallOption) (*CustomBiddingScript, error) {
 29024  	gensupport.SetOptions(c.urlParams_, opts...)
 29025  	res, err := c.doRequest("json")
 29026  	if res != nil && res.StatusCode == http.StatusNotModified {
 29027  		if res.Body != nil {
 29028  			res.Body.Close()
 29029  		}
 29030  		return nil, gensupport.WrapError(&googleapi.Error{
 29031  			Code:   res.StatusCode,
 29032  			Header: res.Header,
 29033  		})
 29034  	}
 29035  	if err != nil {
 29036  		return nil, err
 29037  	}
 29038  	defer googleapi.CloseBody(res)
 29039  	if err := googleapi.CheckResponse(res); err != nil {
 29040  		return nil, gensupport.WrapError(err)
 29041  	}
 29042  	ret := &CustomBiddingScript{
 29043  		ServerResponse: googleapi.ServerResponse{
 29044  			Header:         res.Header,
 29045  			HTTPStatusCode: res.StatusCode,
 29046  		},
 29047  	}
 29048  	target := &ret
 29049  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29050  		return nil, err
 29051  	}
 29052  	return ret, nil
 29053  }
 29054  
 29055  type CustomBiddingAlgorithmsScriptsListCall struct {
 29056  	s                        *Service
 29057  	customBiddingAlgorithmId int64
 29058  	urlParams_               gensupport.URLParams
 29059  	ifNoneMatch_             string
 29060  	ctx_                     context.Context
 29061  	header_                  http.Header
 29062  }
 29063  
 29064  // List: Lists custom bidding scripts that belong to the given algorithm. The
 29065  // order is defined by the order_by parameter.
 29066  //
 29067  //   - customBiddingAlgorithmId: The ID of the custom bidding algorithm owns the
 29068  //     script.
 29069  func (r *CustomBiddingAlgorithmsScriptsService) List(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsScriptsListCall {
 29070  	c := &CustomBiddingAlgorithmsScriptsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29071  	c.customBiddingAlgorithmId = customBiddingAlgorithmId
 29072  	return c
 29073  }
 29074  
 29075  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 29076  // advertiser that owns the parent custom bidding algorithm.
 29077  func (c *CustomBiddingAlgorithmsScriptsListCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsScriptsListCall {
 29078  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29079  	return c
 29080  }
 29081  
 29082  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 29083  // list. Acceptable values are: * `createTime desc` (default) The default
 29084  // sorting order is descending. To specify ascending order for a field, the
 29085  // suffix "desc" should be removed. Example: `createTime`.
 29086  func (c *CustomBiddingAlgorithmsScriptsListCall) OrderBy(orderBy string) *CustomBiddingAlgorithmsScriptsListCall {
 29087  	c.urlParams_.Set("orderBy", orderBy)
 29088  	return c
 29089  }
 29090  
 29091  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 29092  // be between `1` and `200`. If unspecified will default to `100`. Returns
 29093  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 29094  func (c *CustomBiddingAlgorithmsScriptsListCall) PageSize(pageSize int64) *CustomBiddingAlgorithmsScriptsListCall {
 29095  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 29096  	return c
 29097  }
 29098  
 29099  // PageToken sets the optional parameter "pageToken": A token identifying a
 29100  // page of results the server should return. Typically, this is the value of
 29101  // next_page_token returned from the previous call to
 29102  // `ListCustomBiddingScripts` method. If not specified, the first page of
 29103  // results will be returned.
 29104  func (c *CustomBiddingAlgorithmsScriptsListCall) PageToken(pageToken string) *CustomBiddingAlgorithmsScriptsListCall {
 29105  	c.urlParams_.Set("pageToken", pageToken)
 29106  	return c
 29107  }
 29108  
 29109  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 29110  // that owns the parent custom bidding algorithm. Only this partner will have
 29111  // write access to this custom bidding script.
 29112  func (c *CustomBiddingAlgorithmsScriptsListCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsScriptsListCall {
 29113  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 29114  	return c
 29115  }
 29116  
 29117  // Fields allows partial responses to be retrieved. See
 29118  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29119  // details.
 29120  func (c *CustomBiddingAlgorithmsScriptsListCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsScriptsListCall {
 29121  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29122  	return c
 29123  }
 29124  
 29125  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 29126  // object's ETag matches the given value. This is useful for getting updates
 29127  // only after the object has changed since the last request.
 29128  func (c *CustomBiddingAlgorithmsScriptsListCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsScriptsListCall {
 29129  	c.ifNoneMatch_ = entityTag
 29130  	return c
 29131  }
 29132  
 29133  // Context sets the context to be used in this call's Do method.
 29134  func (c *CustomBiddingAlgorithmsScriptsListCall) Context(ctx context.Context) *CustomBiddingAlgorithmsScriptsListCall {
 29135  	c.ctx_ = ctx
 29136  	return c
 29137  }
 29138  
 29139  // Header returns a http.Header that can be modified by the caller to add
 29140  // headers to the request.
 29141  func (c *CustomBiddingAlgorithmsScriptsListCall) Header() http.Header {
 29142  	if c.header_ == nil {
 29143  		c.header_ = make(http.Header)
 29144  	}
 29145  	return c.header_
 29146  }
 29147  
 29148  func (c *CustomBiddingAlgorithmsScriptsListCall) doRequest(alt string) (*http.Response, error) {
 29149  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 29150  	if c.ifNoneMatch_ != "" {
 29151  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29152  	}
 29153  	var body io.Reader = nil
 29154  	c.urlParams_.Set("alt", alt)
 29155  	c.urlParams_.Set("prettyPrint", "false")
 29156  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts")
 29157  	urls += "?" + c.urlParams_.Encode()
 29158  	req, err := http.NewRequest("GET", urls, body)
 29159  	if err != nil {
 29160  		return nil, err
 29161  	}
 29162  	req.Header = reqHeaders
 29163  	googleapi.Expand(req.URL, map[string]string{
 29164  		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
 29165  	})
 29166  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29167  }
 29168  
 29169  // Do executes the "displayvideo.customBiddingAlgorithms.scripts.list" call.
 29170  // Any non-2xx status code is an error. Response headers are in either
 29171  // *ListCustomBiddingScriptsResponse.ServerResponse.Header or (if a response
 29172  // was returned at all) in error.(*googleapi.Error).Header. Use
 29173  // googleapi.IsNotModified to check whether the returned error was because
 29174  // http.StatusNotModified was returned.
 29175  func (c *CustomBiddingAlgorithmsScriptsListCall) Do(opts ...googleapi.CallOption) (*ListCustomBiddingScriptsResponse, error) {
 29176  	gensupport.SetOptions(c.urlParams_, opts...)
 29177  	res, err := c.doRequest("json")
 29178  	if res != nil && res.StatusCode == http.StatusNotModified {
 29179  		if res.Body != nil {
 29180  			res.Body.Close()
 29181  		}
 29182  		return nil, gensupport.WrapError(&googleapi.Error{
 29183  			Code:   res.StatusCode,
 29184  			Header: res.Header,
 29185  		})
 29186  	}
 29187  	if err != nil {
 29188  		return nil, err
 29189  	}
 29190  	defer googleapi.CloseBody(res)
 29191  	if err := googleapi.CheckResponse(res); err != nil {
 29192  		return nil, gensupport.WrapError(err)
 29193  	}
 29194  	ret := &ListCustomBiddingScriptsResponse{
 29195  		ServerResponse: googleapi.ServerResponse{
 29196  			Header:         res.Header,
 29197  			HTTPStatusCode: res.StatusCode,
 29198  		},
 29199  	}
 29200  	target := &ret
 29201  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29202  		return nil, err
 29203  	}
 29204  	return ret, nil
 29205  }
 29206  
 29207  // Pages invokes f for each page of results.
 29208  // A non-nil error returned from f will halt the iteration.
 29209  // The provided context supersedes any context provided to the Context method.
 29210  func (c *CustomBiddingAlgorithmsScriptsListCall) Pages(ctx context.Context, f func(*ListCustomBiddingScriptsResponse) error) error {
 29211  	c.ctx_ = ctx
 29212  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 29213  	for {
 29214  		x, err := c.Do()
 29215  		if err != nil {
 29216  			return err
 29217  		}
 29218  		if err := f(x); err != nil {
 29219  			return err
 29220  		}
 29221  		if x.NextPageToken == "" {
 29222  			return nil
 29223  		}
 29224  		c.PageToken(x.NextPageToken)
 29225  	}
 29226  }
 29227  
 29228  type CustomListsGetCall struct {
 29229  	s            *Service
 29230  	customListId int64
 29231  	urlParams_   gensupport.URLParams
 29232  	ifNoneMatch_ string
 29233  	ctx_         context.Context
 29234  	header_      http.Header
 29235  }
 29236  
 29237  // Get: Gets a custom list.
 29238  //
 29239  // - customListId: The ID of the custom list to fetch.
 29240  func (r *CustomListsService) Get(customListId int64) *CustomListsGetCall {
 29241  	c := &CustomListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29242  	c.customListId = customListId
 29243  	return c
 29244  }
 29245  
 29246  // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360
 29247  // advertiser that has access to the fetched custom lists.
 29248  func (c *CustomListsGetCall) AdvertiserId(advertiserId int64) *CustomListsGetCall {
 29249  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29250  	return c
 29251  }
 29252  
 29253  // Fields allows partial responses to be retrieved. See
 29254  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29255  // details.
 29256  func (c *CustomListsGetCall) Fields(s ...googleapi.Field) *CustomListsGetCall {
 29257  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29258  	return c
 29259  }
 29260  
 29261  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 29262  // object's ETag matches the given value. This is useful for getting updates
 29263  // only after the object has changed since the last request.
 29264  func (c *CustomListsGetCall) IfNoneMatch(entityTag string) *CustomListsGetCall {
 29265  	c.ifNoneMatch_ = entityTag
 29266  	return c
 29267  }
 29268  
 29269  // Context sets the context to be used in this call's Do method.
 29270  func (c *CustomListsGetCall) Context(ctx context.Context) *CustomListsGetCall {
 29271  	c.ctx_ = ctx
 29272  	return c
 29273  }
 29274  
 29275  // Header returns a http.Header that can be modified by the caller to add
 29276  // headers to the request.
 29277  func (c *CustomListsGetCall) Header() http.Header {
 29278  	if c.header_ == nil {
 29279  		c.header_ = make(http.Header)
 29280  	}
 29281  	return c.header_
 29282  }
 29283  
 29284  func (c *CustomListsGetCall) doRequest(alt string) (*http.Response, error) {
 29285  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 29286  	if c.ifNoneMatch_ != "" {
 29287  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29288  	}
 29289  	var body io.Reader = nil
 29290  	c.urlParams_.Set("alt", alt)
 29291  	c.urlParams_.Set("prettyPrint", "false")
 29292  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customLists/{+customListId}")
 29293  	urls += "?" + c.urlParams_.Encode()
 29294  	req, err := http.NewRequest("GET", urls, body)
 29295  	if err != nil {
 29296  		return nil, err
 29297  	}
 29298  	req.Header = reqHeaders
 29299  	googleapi.Expand(req.URL, map[string]string{
 29300  		"customListId": strconv.FormatInt(c.customListId, 10),
 29301  	})
 29302  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29303  }
 29304  
 29305  // Do executes the "displayvideo.customLists.get" call.
 29306  // Any non-2xx status code is an error. Response headers are in either
 29307  // *CustomList.ServerResponse.Header or (if a response was returned at all) in
 29308  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 29309  // whether the returned error was because http.StatusNotModified was returned.
 29310  func (c *CustomListsGetCall) Do(opts ...googleapi.CallOption) (*CustomList, error) {
 29311  	gensupport.SetOptions(c.urlParams_, opts...)
 29312  	res, err := c.doRequest("json")
 29313  	if res != nil && res.StatusCode == http.StatusNotModified {
 29314  		if res.Body != nil {
 29315  			res.Body.Close()
 29316  		}
 29317  		return nil, gensupport.WrapError(&googleapi.Error{
 29318  			Code:   res.StatusCode,
 29319  			Header: res.Header,
 29320  		})
 29321  	}
 29322  	if err != nil {
 29323  		return nil, err
 29324  	}
 29325  	defer googleapi.CloseBody(res)
 29326  	if err := googleapi.CheckResponse(res); err != nil {
 29327  		return nil, gensupport.WrapError(err)
 29328  	}
 29329  	ret := &CustomList{
 29330  		ServerResponse: googleapi.ServerResponse{
 29331  			Header:         res.Header,
 29332  			HTTPStatusCode: res.StatusCode,
 29333  		},
 29334  	}
 29335  	target := &ret
 29336  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29337  		return nil, err
 29338  	}
 29339  	return ret, nil
 29340  }
 29341  
 29342  type CustomListsListCall struct {
 29343  	s            *Service
 29344  	urlParams_   gensupport.URLParams
 29345  	ifNoneMatch_ string
 29346  	ctx_         context.Context
 29347  	header_      http.Header
 29348  }
 29349  
 29350  // List: Lists custom lists. The order is defined by the order_by parameter.
 29351  func (r *CustomListsService) List() *CustomListsListCall {
 29352  	c := &CustomListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29353  	return c
 29354  }
 29355  
 29356  // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360
 29357  // advertiser that has access to the fetched custom lists.
 29358  func (c *CustomListsListCall) AdvertiserId(advertiserId int64) *CustomListsListCall {
 29359  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29360  	return c
 29361  }
 29362  
 29363  // Filter sets the optional parameter "filter": Allows filtering by custom list
 29364  // fields. Supported syntax: * Filter expressions for custom lists can only
 29365  // contain at most one restriction. * A restriction has the form of `{field}
 29366  // {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported
 29367  // fields: * `displayName` Examples: * All custom lists for which the display
 29368  // name contains "Google": `displayName:"Google". The length of this field
 29369  // should be no more than 500 characters. Reference our filter `LIST` requests
 29370  // (/display-video/api/guides/how-tos/filters) guide for more information.
 29371  func (c *CustomListsListCall) Filter(filter string) *CustomListsListCall {
 29372  	c.urlParams_.Set("filter", filter)
 29373  	return c
 29374  }
 29375  
 29376  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 29377  // list. Acceptable values are: * `customListId` (default) * `displayName` The
 29378  // default sorting order is ascending. To specify descending order for a field,
 29379  // a suffix "desc" should be added to the field name. Example: `displayName
 29380  // desc`.
 29381  func (c *CustomListsListCall) OrderBy(orderBy string) *CustomListsListCall {
 29382  	c.urlParams_.Set("orderBy", orderBy)
 29383  	return c
 29384  }
 29385  
 29386  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 29387  // be between `1` and `200`. If unspecified will default to `100`. Returns
 29388  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 29389  func (c *CustomListsListCall) PageSize(pageSize int64) *CustomListsListCall {
 29390  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 29391  	return c
 29392  }
 29393  
 29394  // PageToken sets the optional parameter "pageToken": A token identifying a
 29395  // page of results the server should return. Typically, this is the value of
 29396  // next_page_token returned from the previous call to `ListCustomLists` method.
 29397  // If not specified, the first page of results will be returned.
 29398  func (c *CustomListsListCall) PageToken(pageToken string) *CustomListsListCall {
 29399  	c.urlParams_.Set("pageToken", pageToken)
 29400  	return c
 29401  }
 29402  
 29403  // Fields allows partial responses to be retrieved. See
 29404  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29405  // details.
 29406  func (c *CustomListsListCall) Fields(s ...googleapi.Field) *CustomListsListCall {
 29407  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29408  	return c
 29409  }
 29410  
 29411  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 29412  // object's ETag matches the given value. This is useful for getting updates
 29413  // only after the object has changed since the last request.
 29414  func (c *CustomListsListCall) IfNoneMatch(entityTag string) *CustomListsListCall {
 29415  	c.ifNoneMatch_ = entityTag
 29416  	return c
 29417  }
 29418  
 29419  // Context sets the context to be used in this call's Do method.
 29420  func (c *CustomListsListCall) Context(ctx context.Context) *CustomListsListCall {
 29421  	c.ctx_ = ctx
 29422  	return c
 29423  }
 29424  
 29425  // Header returns a http.Header that can be modified by the caller to add
 29426  // headers to the request.
 29427  func (c *CustomListsListCall) Header() http.Header {
 29428  	if c.header_ == nil {
 29429  		c.header_ = make(http.Header)
 29430  	}
 29431  	return c.header_
 29432  }
 29433  
 29434  func (c *CustomListsListCall) doRequest(alt string) (*http.Response, error) {
 29435  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 29436  	if c.ifNoneMatch_ != "" {
 29437  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29438  	}
 29439  	var body io.Reader = nil
 29440  	c.urlParams_.Set("alt", alt)
 29441  	c.urlParams_.Set("prettyPrint", "false")
 29442  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/customLists")
 29443  	urls += "?" + c.urlParams_.Encode()
 29444  	req, err := http.NewRequest("GET", urls, body)
 29445  	if err != nil {
 29446  		return nil, err
 29447  	}
 29448  	req.Header = reqHeaders
 29449  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29450  }
 29451  
 29452  // Do executes the "displayvideo.customLists.list" call.
 29453  // Any non-2xx status code is an error. Response headers are in either
 29454  // *ListCustomListsResponse.ServerResponse.Header or (if a response was
 29455  // returned at all) in error.(*googleapi.Error).Header. Use
 29456  // googleapi.IsNotModified to check whether the returned error was because
 29457  // http.StatusNotModified was returned.
 29458  func (c *CustomListsListCall) Do(opts ...googleapi.CallOption) (*ListCustomListsResponse, error) {
 29459  	gensupport.SetOptions(c.urlParams_, opts...)
 29460  	res, err := c.doRequest("json")
 29461  	if res != nil && res.StatusCode == http.StatusNotModified {
 29462  		if res.Body != nil {
 29463  			res.Body.Close()
 29464  		}
 29465  		return nil, gensupport.WrapError(&googleapi.Error{
 29466  			Code:   res.StatusCode,
 29467  			Header: res.Header,
 29468  		})
 29469  	}
 29470  	if err != nil {
 29471  		return nil, err
 29472  	}
 29473  	defer googleapi.CloseBody(res)
 29474  	if err := googleapi.CheckResponse(res); err != nil {
 29475  		return nil, gensupport.WrapError(err)
 29476  	}
 29477  	ret := &ListCustomListsResponse{
 29478  		ServerResponse: googleapi.ServerResponse{
 29479  			Header:         res.Header,
 29480  			HTTPStatusCode: res.StatusCode,
 29481  		},
 29482  	}
 29483  	target := &ret
 29484  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29485  		return nil, err
 29486  	}
 29487  	return ret, nil
 29488  }
 29489  
 29490  // Pages invokes f for each page of results.
 29491  // A non-nil error returned from f will halt the iteration.
 29492  // The provided context supersedes any context provided to the Context method.
 29493  func (c *CustomListsListCall) Pages(ctx context.Context, f func(*ListCustomListsResponse) error) error {
 29494  	c.ctx_ = ctx
 29495  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 29496  	for {
 29497  		x, err := c.Do()
 29498  		if err != nil {
 29499  			return err
 29500  		}
 29501  		if err := f(x); err != nil {
 29502  			return err
 29503  		}
 29504  		if x.NextPageToken == "" {
 29505  			return nil
 29506  		}
 29507  		c.PageToken(x.NextPageToken)
 29508  	}
 29509  }
 29510  
 29511  type FirstAndThirdPartyAudiencesCreateCall struct {
 29512  	s                          *Service
 29513  	firstandthirdpartyaudience *FirstAndThirdPartyAudience
 29514  	urlParams_                 gensupport.URLParams
 29515  	ctx_                       context.Context
 29516  	header_                    http.Header
 29517  }
 29518  
 29519  // Create: Creates a FirstAndThirdPartyAudience. Only supported for the
 29520  // following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` *
 29521  // `CUSTOMER_MATCH_DEVICE_ID`
 29522  func (r *FirstAndThirdPartyAudiencesService) Create(firstandthirdpartyaudience *FirstAndThirdPartyAudience) *FirstAndThirdPartyAudiencesCreateCall {
 29523  	c := &FirstAndThirdPartyAudiencesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29524  	c.firstandthirdpartyaudience = firstandthirdpartyaudience
 29525  	return c
 29526  }
 29527  
 29528  // AdvertiserId sets the optional parameter "advertiserId": Required. The ID of
 29529  // the advertiser under whom the FirstAndThirdPartyAudience will be created.
 29530  func (c *FirstAndThirdPartyAudiencesCreateCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesCreateCall {
 29531  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29532  	return c
 29533  }
 29534  
 29535  // Fields allows partial responses to be retrieved. See
 29536  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29537  // details.
 29538  func (c *FirstAndThirdPartyAudiencesCreateCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesCreateCall {
 29539  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29540  	return c
 29541  }
 29542  
 29543  // Context sets the context to be used in this call's Do method.
 29544  func (c *FirstAndThirdPartyAudiencesCreateCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesCreateCall {
 29545  	c.ctx_ = ctx
 29546  	return c
 29547  }
 29548  
 29549  // Header returns a http.Header that can be modified by the caller to add
 29550  // headers to the request.
 29551  func (c *FirstAndThirdPartyAudiencesCreateCall) Header() http.Header {
 29552  	if c.header_ == nil {
 29553  		c.header_ = make(http.Header)
 29554  	}
 29555  	return c.header_
 29556  }
 29557  
 29558  func (c *FirstAndThirdPartyAudiencesCreateCall) doRequest(alt string) (*http.Response, error) {
 29559  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 29560  	var body io.Reader = nil
 29561  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.firstandthirdpartyaudience)
 29562  	if err != nil {
 29563  		return nil, err
 29564  	}
 29565  	c.urlParams_.Set("alt", alt)
 29566  	c.urlParams_.Set("prettyPrint", "false")
 29567  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/firstAndThirdPartyAudiences")
 29568  	urls += "?" + c.urlParams_.Encode()
 29569  	req, err := http.NewRequest("POST", urls, body)
 29570  	if err != nil {
 29571  		return nil, err
 29572  	}
 29573  	req.Header = reqHeaders
 29574  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29575  }
 29576  
 29577  // Do executes the "displayvideo.firstAndThirdPartyAudiences.create" call.
 29578  // Any non-2xx status code is an error. Response headers are in either
 29579  // *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response was
 29580  // returned at all) in error.(*googleapi.Error).Header. Use
 29581  // googleapi.IsNotModified to check whether the returned error was because
 29582  // http.StatusNotModified was returned.
 29583  func (c *FirstAndThirdPartyAudiencesCreateCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) {
 29584  	gensupport.SetOptions(c.urlParams_, opts...)
 29585  	res, err := c.doRequest("json")
 29586  	if res != nil && res.StatusCode == http.StatusNotModified {
 29587  		if res.Body != nil {
 29588  			res.Body.Close()
 29589  		}
 29590  		return nil, gensupport.WrapError(&googleapi.Error{
 29591  			Code:   res.StatusCode,
 29592  			Header: res.Header,
 29593  		})
 29594  	}
 29595  	if err != nil {
 29596  		return nil, err
 29597  	}
 29598  	defer googleapi.CloseBody(res)
 29599  	if err := googleapi.CheckResponse(res); err != nil {
 29600  		return nil, gensupport.WrapError(err)
 29601  	}
 29602  	ret := &FirstAndThirdPartyAudience{
 29603  		ServerResponse: googleapi.ServerResponse{
 29604  			Header:         res.Header,
 29605  			HTTPStatusCode: res.StatusCode,
 29606  		},
 29607  	}
 29608  	target := &ret
 29609  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29610  		return nil, err
 29611  	}
 29612  	return ret, nil
 29613  }
 29614  
 29615  type FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall struct {
 29616  	s                               *Service
 29617  	firstAndThirdPartyAudienceId    int64
 29618  	editcustomermatchmembersrequest *EditCustomerMatchMembersRequest
 29619  	urlParams_                      gensupport.URLParams
 29620  	ctx_                            context.Context
 29621  	header_                         http.Header
 29622  }
 29623  
 29624  // EditCustomerMatchMembers: Updates the member list of a Customer Match
 29625  // audience. Only supported for the following audience_type: *
 29626  // `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`
 29627  //
 29628  //   - firstAndThirdPartyAudienceId: The ID of the Customer Match
 29629  //     FirstAndThirdPartyAudience whose members will be edited.
 29630  func (r *FirstAndThirdPartyAudiencesService) EditCustomerMatchMembers(firstAndThirdPartyAudienceId int64, editcustomermatchmembersrequest *EditCustomerMatchMembersRequest) *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall {
 29631  	c := &FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29632  	c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId
 29633  	c.editcustomermatchmembersrequest = editcustomermatchmembersrequest
 29634  	return c
 29635  }
 29636  
 29637  // Fields allows partial responses to be retrieved. See
 29638  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29639  // details.
 29640  func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall {
 29641  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29642  	return c
 29643  }
 29644  
 29645  // Context sets the context to be used in this call's Do method.
 29646  func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall {
 29647  	c.ctx_ = ctx
 29648  	return c
 29649  }
 29650  
 29651  // Header returns a http.Header that can be modified by the caller to add
 29652  // headers to the request.
 29653  func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Header() http.Header {
 29654  	if c.header_ == nil {
 29655  		c.header_ = make(http.Header)
 29656  	}
 29657  	return c.header_
 29658  }
 29659  
 29660  func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) doRequest(alt string) (*http.Response, error) {
 29661  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 29662  	var body io.Reader = nil
 29663  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.editcustomermatchmembersrequest)
 29664  	if err != nil {
 29665  		return nil, err
 29666  	}
 29667  	c.urlParams_.Set("alt", alt)
 29668  	c.urlParams_.Set("prettyPrint", "false")
 29669  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}:editCustomerMatchMembers")
 29670  	urls += "?" + c.urlParams_.Encode()
 29671  	req, err := http.NewRequest("POST", urls, body)
 29672  	if err != nil {
 29673  		return nil, err
 29674  	}
 29675  	req.Header = reqHeaders
 29676  	googleapi.Expand(req.URL, map[string]string{
 29677  		"firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10),
 29678  	})
 29679  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29680  }
 29681  
 29682  // Do executes the "displayvideo.firstAndThirdPartyAudiences.editCustomerMatchMembers" call.
 29683  // Any non-2xx status code is an error. Response headers are in either
 29684  // *EditCustomerMatchMembersResponse.ServerResponse.Header or (if a response
 29685  // was returned at all) in error.(*googleapi.Error).Header. Use
 29686  // googleapi.IsNotModified to check whether the returned error was because
 29687  // http.StatusNotModified was returned.
 29688  func (c *FirstAndThirdPartyAudiencesEditCustomerMatchMembersCall) Do(opts ...googleapi.CallOption) (*EditCustomerMatchMembersResponse, error) {
 29689  	gensupport.SetOptions(c.urlParams_, opts...)
 29690  	res, err := c.doRequest("json")
 29691  	if res != nil && res.StatusCode == http.StatusNotModified {
 29692  		if res.Body != nil {
 29693  			res.Body.Close()
 29694  		}
 29695  		return nil, gensupport.WrapError(&googleapi.Error{
 29696  			Code:   res.StatusCode,
 29697  			Header: res.Header,
 29698  		})
 29699  	}
 29700  	if err != nil {
 29701  		return nil, err
 29702  	}
 29703  	defer googleapi.CloseBody(res)
 29704  	if err := googleapi.CheckResponse(res); err != nil {
 29705  		return nil, gensupport.WrapError(err)
 29706  	}
 29707  	ret := &EditCustomerMatchMembersResponse{
 29708  		ServerResponse: googleapi.ServerResponse{
 29709  			Header:         res.Header,
 29710  			HTTPStatusCode: res.StatusCode,
 29711  		},
 29712  	}
 29713  	target := &ret
 29714  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29715  		return nil, err
 29716  	}
 29717  	return ret, nil
 29718  }
 29719  
 29720  type FirstAndThirdPartyAudiencesGetCall struct {
 29721  	s                            *Service
 29722  	firstAndThirdPartyAudienceId int64
 29723  	urlParams_                   gensupport.URLParams
 29724  	ifNoneMatch_                 string
 29725  	ctx_                         context.Context
 29726  	header_                      http.Header
 29727  }
 29728  
 29729  // Get: Gets a first and third party audience.
 29730  //
 29731  //   - firstAndThirdPartyAudienceId: The ID of the first and third party audience
 29732  //     to fetch.
 29733  func (r *FirstAndThirdPartyAudiencesService) Get(firstAndThirdPartyAudienceId int64) *FirstAndThirdPartyAudiencesGetCall {
 29734  	c := &FirstAndThirdPartyAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29735  	c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId
 29736  	return c
 29737  }
 29738  
 29739  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 29740  // advertiser that has access to the fetched first and third party audience.
 29741  func (c *FirstAndThirdPartyAudiencesGetCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesGetCall {
 29742  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29743  	return c
 29744  }
 29745  
 29746  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 29747  // that has access to the fetched first and third party audience.
 29748  func (c *FirstAndThirdPartyAudiencesGetCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesGetCall {
 29749  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 29750  	return c
 29751  }
 29752  
 29753  // Fields allows partial responses to be retrieved. See
 29754  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29755  // details.
 29756  func (c *FirstAndThirdPartyAudiencesGetCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesGetCall {
 29757  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29758  	return c
 29759  }
 29760  
 29761  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 29762  // object's ETag matches the given value. This is useful for getting updates
 29763  // only after the object has changed since the last request.
 29764  func (c *FirstAndThirdPartyAudiencesGetCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesGetCall {
 29765  	c.ifNoneMatch_ = entityTag
 29766  	return c
 29767  }
 29768  
 29769  // Context sets the context to be used in this call's Do method.
 29770  func (c *FirstAndThirdPartyAudiencesGetCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesGetCall {
 29771  	c.ctx_ = ctx
 29772  	return c
 29773  }
 29774  
 29775  // Header returns a http.Header that can be modified by the caller to add
 29776  // headers to the request.
 29777  func (c *FirstAndThirdPartyAudiencesGetCall) Header() http.Header {
 29778  	if c.header_ == nil {
 29779  		c.header_ = make(http.Header)
 29780  	}
 29781  	return c.header_
 29782  }
 29783  
 29784  func (c *FirstAndThirdPartyAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
 29785  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 29786  	if c.ifNoneMatch_ != "" {
 29787  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29788  	}
 29789  	var body io.Reader = nil
 29790  	c.urlParams_.Set("alt", alt)
 29791  	c.urlParams_.Set("prettyPrint", "false")
 29792  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}")
 29793  	urls += "?" + c.urlParams_.Encode()
 29794  	req, err := http.NewRequest("GET", urls, body)
 29795  	if err != nil {
 29796  		return nil, err
 29797  	}
 29798  	req.Header = reqHeaders
 29799  	googleapi.Expand(req.URL, map[string]string{
 29800  		"firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10),
 29801  	})
 29802  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29803  }
 29804  
 29805  // Do executes the "displayvideo.firstAndThirdPartyAudiences.get" call.
 29806  // Any non-2xx status code is an error. Response headers are in either
 29807  // *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response was
 29808  // returned at all) in error.(*googleapi.Error).Header. Use
 29809  // googleapi.IsNotModified to check whether the returned error was because
 29810  // http.StatusNotModified was returned.
 29811  func (c *FirstAndThirdPartyAudiencesGetCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) {
 29812  	gensupport.SetOptions(c.urlParams_, opts...)
 29813  	res, err := c.doRequest("json")
 29814  	if res != nil && res.StatusCode == http.StatusNotModified {
 29815  		if res.Body != nil {
 29816  			res.Body.Close()
 29817  		}
 29818  		return nil, gensupport.WrapError(&googleapi.Error{
 29819  			Code:   res.StatusCode,
 29820  			Header: res.Header,
 29821  		})
 29822  	}
 29823  	if err != nil {
 29824  		return nil, err
 29825  	}
 29826  	defer googleapi.CloseBody(res)
 29827  	if err := googleapi.CheckResponse(res); err != nil {
 29828  		return nil, gensupport.WrapError(err)
 29829  	}
 29830  	ret := &FirstAndThirdPartyAudience{
 29831  		ServerResponse: googleapi.ServerResponse{
 29832  			Header:         res.Header,
 29833  			HTTPStatusCode: res.StatusCode,
 29834  		},
 29835  	}
 29836  	target := &ret
 29837  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29838  		return nil, err
 29839  	}
 29840  	return ret, nil
 29841  }
 29842  
 29843  type FirstAndThirdPartyAudiencesListCall struct {
 29844  	s            *Service
 29845  	urlParams_   gensupport.URLParams
 29846  	ifNoneMatch_ string
 29847  	ctx_         context.Context
 29848  	header_      http.Header
 29849  }
 29850  
 29851  // List: Lists first and third party audiences. The order is defined by the
 29852  // order_by parameter.
 29853  func (r *FirstAndThirdPartyAudiencesService) List() *FirstAndThirdPartyAudiencesListCall {
 29854  	c := &FirstAndThirdPartyAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29855  	return c
 29856  }
 29857  
 29858  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 29859  // advertiser that has access to the fetched first and third party audiences.
 29860  func (c *FirstAndThirdPartyAudiencesListCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesListCall {
 29861  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29862  	return c
 29863  }
 29864  
 29865  // Filter sets the optional parameter "filter": Allows filtering by first and
 29866  // third party audience fields. Supported syntax: * Filter expressions for
 29867  // first and third party audiences can only contain at most one restriction. *
 29868  // A restriction has the form of `{field} {operator} {value}`. * All fields
 29869  // must use the `HAS (:)` operator. Supported fields: * `displayName` Examples:
 29870  // * All first and third party audiences for which the display name contains
 29871  // "Google": `displayName:"Google". The length of this field should be no more
 29872  // than 500 characters. Reference our filter `LIST` requests
 29873  // (/display-video/api/guides/how-tos/filters) guide for more information.
 29874  func (c *FirstAndThirdPartyAudiencesListCall) Filter(filter string) *FirstAndThirdPartyAudiencesListCall {
 29875  	c.urlParams_.Set("filter", filter)
 29876  	return c
 29877  }
 29878  
 29879  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 29880  // list. Acceptable values are: * `firstAndThirdPartyAudienceId` (default) *
 29881  // `displayName` The default sorting order is ascending. To specify descending
 29882  // order for a field, a suffix "desc" should be added to the field name.
 29883  // Example: `displayName desc`.
 29884  func (c *FirstAndThirdPartyAudiencesListCall) OrderBy(orderBy string) *FirstAndThirdPartyAudiencesListCall {
 29885  	c.urlParams_.Set("orderBy", orderBy)
 29886  	return c
 29887  }
 29888  
 29889  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 29890  // be between `1` and `200`. If unspecified will default to `100`. Returns
 29891  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 29892  func (c *FirstAndThirdPartyAudiencesListCall) PageSize(pageSize int64) *FirstAndThirdPartyAudiencesListCall {
 29893  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 29894  	return c
 29895  }
 29896  
 29897  // PageToken sets the optional parameter "pageToken": A token identifying a
 29898  // page of results the server should return. Typically, this is the value of
 29899  // next_page_token returned from the previous call to
 29900  // `ListFirstAndThirdPartyAudiences` method. If not specified, the first page
 29901  // of results will be returned.
 29902  func (c *FirstAndThirdPartyAudiencesListCall) PageToken(pageToken string) *FirstAndThirdPartyAudiencesListCall {
 29903  	c.urlParams_.Set("pageToken", pageToken)
 29904  	return c
 29905  }
 29906  
 29907  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 29908  // that has access to the fetched first and third party audiences.
 29909  func (c *FirstAndThirdPartyAudiencesListCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesListCall {
 29910  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 29911  	return c
 29912  }
 29913  
 29914  // Fields allows partial responses to be retrieved. See
 29915  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 29916  // details.
 29917  func (c *FirstAndThirdPartyAudiencesListCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesListCall {
 29918  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29919  	return c
 29920  }
 29921  
 29922  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 29923  // object's ETag matches the given value. This is useful for getting updates
 29924  // only after the object has changed since the last request.
 29925  func (c *FirstAndThirdPartyAudiencesListCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesListCall {
 29926  	c.ifNoneMatch_ = entityTag
 29927  	return c
 29928  }
 29929  
 29930  // Context sets the context to be used in this call's Do method.
 29931  func (c *FirstAndThirdPartyAudiencesListCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesListCall {
 29932  	c.ctx_ = ctx
 29933  	return c
 29934  }
 29935  
 29936  // Header returns a http.Header that can be modified by the caller to add
 29937  // headers to the request.
 29938  func (c *FirstAndThirdPartyAudiencesListCall) Header() http.Header {
 29939  	if c.header_ == nil {
 29940  		c.header_ = make(http.Header)
 29941  	}
 29942  	return c.header_
 29943  }
 29944  
 29945  func (c *FirstAndThirdPartyAudiencesListCall) doRequest(alt string) (*http.Response, error) {
 29946  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 29947  	if c.ifNoneMatch_ != "" {
 29948  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29949  	}
 29950  	var body io.Reader = nil
 29951  	c.urlParams_.Set("alt", alt)
 29952  	c.urlParams_.Set("prettyPrint", "false")
 29953  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/firstAndThirdPartyAudiences")
 29954  	urls += "?" + c.urlParams_.Encode()
 29955  	req, err := http.NewRequest("GET", urls, body)
 29956  	if err != nil {
 29957  		return nil, err
 29958  	}
 29959  	req.Header = reqHeaders
 29960  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29961  }
 29962  
 29963  // Do executes the "displayvideo.firstAndThirdPartyAudiences.list" call.
 29964  // Any non-2xx status code is an error. Response headers are in either
 29965  // *ListFirstAndThirdPartyAudiencesResponse.ServerResponse.Header or (if a
 29966  // response was returned at all) in error.(*googleapi.Error).Header. Use
 29967  // googleapi.IsNotModified to check whether the returned error was because
 29968  // http.StatusNotModified was returned.
 29969  func (c *FirstAndThirdPartyAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListFirstAndThirdPartyAudiencesResponse, error) {
 29970  	gensupport.SetOptions(c.urlParams_, opts...)
 29971  	res, err := c.doRequest("json")
 29972  	if res != nil && res.StatusCode == http.StatusNotModified {
 29973  		if res.Body != nil {
 29974  			res.Body.Close()
 29975  		}
 29976  		return nil, gensupport.WrapError(&googleapi.Error{
 29977  			Code:   res.StatusCode,
 29978  			Header: res.Header,
 29979  		})
 29980  	}
 29981  	if err != nil {
 29982  		return nil, err
 29983  	}
 29984  	defer googleapi.CloseBody(res)
 29985  	if err := googleapi.CheckResponse(res); err != nil {
 29986  		return nil, gensupport.WrapError(err)
 29987  	}
 29988  	ret := &ListFirstAndThirdPartyAudiencesResponse{
 29989  		ServerResponse: googleapi.ServerResponse{
 29990  			Header:         res.Header,
 29991  			HTTPStatusCode: res.StatusCode,
 29992  		},
 29993  	}
 29994  	target := &ret
 29995  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29996  		return nil, err
 29997  	}
 29998  	return ret, nil
 29999  }
 30000  
 30001  // Pages invokes f for each page of results.
 30002  // A non-nil error returned from f will halt the iteration.
 30003  // The provided context supersedes any context provided to the Context method.
 30004  func (c *FirstAndThirdPartyAudiencesListCall) Pages(ctx context.Context, f func(*ListFirstAndThirdPartyAudiencesResponse) error) error {
 30005  	c.ctx_ = ctx
 30006  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 30007  	for {
 30008  		x, err := c.Do()
 30009  		if err != nil {
 30010  			return err
 30011  		}
 30012  		if err := f(x); err != nil {
 30013  			return err
 30014  		}
 30015  		if x.NextPageToken == "" {
 30016  			return nil
 30017  		}
 30018  		c.PageToken(x.NextPageToken)
 30019  	}
 30020  }
 30021  
 30022  type FirstAndThirdPartyAudiencesPatchCall struct {
 30023  	s                            *Service
 30024  	firstAndThirdPartyAudienceId int64
 30025  	firstandthirdpartyaudience   *FirstAndThirdPartyAudience
 30026  	urlParams_                   gensupport.URLParams
 30027  	ctx_                         context.Context
 30028  	header_                      http.Header
 30029  }
 30030  
 30031  // Patch: Updates an existing FirstAndThirdPartyAudience. Only supported for
 30032  // the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` *
 30033  // `CUSTOMER_MATCH_DEVICE_ID`
 30034  //
 30035  //   - firstAndThirdPartyAudienceId: Output only. The unique ID of the first and
 30036  //     third party audience. Assigned by the system.
 30037  func (r *FirstAndThirdPartyAudiencesService) Patch(firstAndThirdPartyAudienceId int64, firstandthirdpartyaudience *FirstAndThirdPartyAudience) *FirstAndThirdPartyAudiencesPatchCall {
 30038  	c := &FirstAndThirdPartyAudiencesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30039  	c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId
 30040  	c.firstandthirdpartyaudience = firstandthirdpartyaudience
 30041  	return c
 30042  }
 30043  
 30044  // AdvertiserId sets the optional parameter "advertiserId": Required. The ID of
 30045  // the owner advertiser of the updated FirstAndThirdPartyAudience.
 30046  func (c *FirstAndThirdPartyAudiencesPatchCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesPatchCall {
 30047  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30048  	return c
 30049  }
 30050  
 30051  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 30052  // control which fields to update. Updates are only supported for the following
 30053  // fields: * `displayName` * `description` * `membershipDurationDays`
 30054  func (c *FirstAndThirdPartyAudiencesPatchCall) UpdateMask(updateMask string) *FirstAndThirdPartyAudiencesPatchCall {
 30055  	c.urlParams_.Set("updateMask", updateMask)
 30056  	return c
 30057  }
 30058  
 30059  // Fields allows partial responses to be retrieved. See
 30060  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30061  // details.
 30062  func (c *FirstAndThirdPartyAudiencesPatchCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesPatchCall {
 30063  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30064  	return c
 30065  }
 30066  
 30067  // Context sets the context to be used in this call's Do method.
 30068  func (c *FirstAndThirdPartyAudiencesPatchCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesPatchCall {
 30069  	c.ctx_ = ctx
 30070  	return c
 30071  }
 30072  
 30073  // Header returns a http.Header that can be modified by the caller to add
 30074  // headers to the request.
 30075  func (c *FirstAndThirdPartyAudiencesPatchCall) Header() http.Header {
 30076  	if c.header_ == nil {
 30077  		c.header_ = make(http.Header)
 30078  	}
 30079  	return c.header_
 30080  }
 30081  
 30082  func (c *FirstAndThirdPartyAudiencesPatchCall) doRequest(alt string) (*http.Response, error) {
 30083  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 30084  	var body io.Reader = nil
 30085  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.firstandthirdpartyaudience)
 30086  	if err != nil {
 30087  		return nil, err
 30088  	}
 30089  	c.urlParams_.Set("alt", alt)
 30090  	c.urlParams_.Set("prettyPrint", "false")
 30091  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}")
 30092  	urls += "?" + c.urlParams_.Encode()
 30093  	req, err := http.NewRequest("PATCH", urls, body)
 30094  	if err != nil {
 30095  		return nil, err
 30096  	}
 30097  	req.Header = reqHeaders
 30098  	googleapi.Expand(req.URL, map[string]string{
 30099  		"firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10),
 30100  	})
 30101  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30102  }
 30103  
 30104  // Do executes the "displayvideo.firstAndThirdPartyAudiences.patch" call.
 30105  // Any non-2xx status code is an error. Response headers are in either
 30106  // *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response was
 30107  // returned at all) in error.(*googleapi.Error).Header. Use
 30108  // googleapi.IsNotModified to check whether the returned error was because
 30109  // http.StatusNotModified was returned.
 30110  func (c *FirstAndThirdPartyAudiencesPatchCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) {
 30111  	gensupport.SetOptions(c.urlParams_, opts...)
 30112  	res, err := c.doRequest("json")
 30113  	if res != nil && res.StatusCode == http.StatusNotModified {
 30114  		if res.Body != nil {
 30115  			res.Body.Close()
 30116  		}
 30117  		return nil, gensupport.WrapError(&googleapi.Error{
 30118  			Code:   res.StatusCode,
 30119  			Header: res.Header,
 30120  		})
 30121  	}
 30122  	if err != nil {
 30123  		return nil, err
 30124  	}
 30125  	defer googleapi.CloseBody(res)
 30126  	if err := googleapi.CheckResponse(res); err != nil {
 30127  		return nil, gensupport.WrapError(err)
 30128  	}
 30129  	ret := &FirstAndThirdPartyAudience{
 30130  		ServerResponse: googleapi.ServerResponse{
 30131  			Header:         res.Header,
 30132  			HTTPStatusCode: res.StatusCode,
 30133  		},
 30134  	}
 30135  	target := &ret
 30136  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30137  		return nil, err
 30138  	}
 30139  	return ret, nil
 30140  }
 30141  
 30142  type FloodlightGroupsGetCall struct {
 30143  	s                 *Service
 30144  	floodlightGroupId int64
 30145  	urlParams_        gensupport.URLParams
 30146  	ifNoneMatch_      string
 30147  	ctx_              context.Context
 30148  	header_           http.Header
 30149  }
 30150  
 30151  // Get: Gets a Floodlight group.
 30152  //
 30153  // - floodlightGroupId: The ID of the Floodlight group to fetch.
 30154  func (r *FloodlightGroupsService) Get(floodlightGroupId int64) *FloodlightGroupsGetCall {
 30155  	c := &FloodlightGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30156  	c.floodlightGroupId = floodlightGroupId
 30157  	return c
 30158  }
 30159  
 30160  // PartnerId sets the optional parameter "partnerId": Required. The partner
 30161  // context by which the Floodlight group is being accessed.
 30162  func (c *FloodlightGroupsGetCall) PartnerId(partnerId int64) *FloodlightGroupsGetCall {
 30163  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30164  	return c
 30165  }
 30166  
 30167  // Fields allows partial responses to be retrieved. See
 30168  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30169  // details.
 30170  func (c *FloodlightGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightGroupsGetCall {
 30171  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30172  	return c
 30173  }
 30174  
 30175  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30176  // object's ETag matches the given value. This is useful for getting updates
 30177  // only after the object has changed since the last request.
 30178  func (c *FloodlightGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightGroupsGetCall {
 30179  	c.ifNoneMatch_ = entityTag
 30180  	return c
 30181  }
 30182  
 30183  // Context sets the context to be used in this call's Do method.
 30184  func (c *FloodlightGroupsGetCall) Context(ctx context.Context) *FloodlightGroupsGetCall {
 30185  	c.ctx_ = ctx
 30186  	return c
 30187  }
 30188  
 30189  // Header returns a http.Header that can be modified by the caller to add
 30190  // headers to the request.
 30191  func (c *FloodlightGroupsGetCall) Header() http.Header {
 30192  	if c.header_ == nil {
 30193  		c.header_ = make(http.Header)
 30194  	}
 30195  	return c.header_
 30196  }
 30197  
 30198  func (c *FloodlightGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 30199  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30200  	if c.ifNoneMatch_ != "" {
 30201  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30202  	}
 30203  	var body io.Reader = nil
 30204  	c.urlParams_.Set("alt", alt)
 30205  	c.urlParams_.Set("prettyPrint", "false")
 30206  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/floodlightGroups/{+floodlightGroupId}")
 30207  	urls += "?" + c.urlParams_.Encode()
 30208  	req, err := http.NewRequest("GET", urls, body)
 30209  	if err != nil {
 30210  		return nil, err
 30211  	}
 30212  	req.Header = reqHeaders
 30213  	googleapi.Expand(req.URL, map[string]string{
 30214  		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
 30215  	})
 30216  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30217  }
 30218  
 30219  // Do executes the "displayvideo.floodlightGroups.get" call.
 30220  // Any non-2xx status code is an error. Response headers are in either
 30221  // *FloodlightGroup.ServerResponse.Header or (if a response was returned at
 30222  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 30223  // check whether the returned error was because http.StatusNotModified was
 30224  // returned.
 30225  func (c *FloodlightGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) {
 30226  	gensupport.SetOptions(c.urlParams_, opts...)
 30227  	res, err := c.doRequest("json")
 30228  	if res != nil && res.StatusCode == http.StatusNotModified {
 30229  		if res.Body != nil {
 30230  			res.Body.Close()
 30231  		}
 30232  		return nil, gensupport.WrapError(&googleapi.Error{
 30233  			Code:   res.StatusCode,
 30234  			Header: res.Header,
 30235  		})
 30236  	}
 30237  	if err != nil {
 30238  		return nil, err
 30239  	}
 30240  	defer googleapi.CloseBody(res)
 30241  	if err := googleapi.CheckResponse(res); err != nil {
 30242  		return nil, gensupport.WrapError(err)
 30243  	}
 30244  	ret := &FloodlightGroup{
 30245  		ServerResponse: googleapi.ServerResponse{
 30246  			Header:         res.Header,
 30247  			HTTPStatusCode: res.StatusCode,
 30248  		},
 30249  	}
 30250  	target := &ret
 30251  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30252  		return nil, err
 30253  	}
 30254  	return ret, nil
 30255  }
 30256  
 30257  type FloodlightGroupsPatchCall struct {
 30258  	s                 *Service
 30259  	floodlightGroupId int64
 30260  	floodlightgroup   *FloodlightGroup
 30261  	urlParams_        gensupport.URLParams
 30262  	ctx_              context.Context
 30263  	header_           http.Header
 30264  }
 30265  
 30266  // Patch: Updates an existing Floodlight group. Returns the updated Floodlight
 30267  // group if successful.
 30268  //
 30269  //   - floodlightGroupId: Output only. The unique ID of the Floodlight group.
 30270  //     Assigned by the system.
 30271  func (r *FloodlightGroupsService) Patch(floodlightGroupId int64, floodlightgroup *FloodlightGroup) *FloodlightGroupsPatchCall {
 30272  	c := &FloodlightGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30273  	c.floodlightGroupId = floodlightGroupId
 30274  	c.floodlightgroup = floodlightgroup
 30275  	return c
 30276  }
 30277  
 30278  // PartnerId sets the optional parameter "partnerId": Required. The partner
 30279  // context by which the Floodlight group is being accessed.
 30280  func (c *FloodlightGroupsPatchCall) PartnerId(partnerId int64) *FloodlightGroupsPatchCall {
 30281  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30282  	return c
 30283  }
 30284  
 30285  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 30286  // control which fields to update.
 30287  func (c *FloodlightGroupsPatchCall) UpdateMask(updateMask string) *FloodlightGroupsPatchCall {
 30288  	c.urlParams_.Set("updateMask", updateMask)
 30289  	return c
 30290  }
 30291  
 30292  // Fields allows partial responses to be retrieved. See
 30293  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30294  // details.
 30295  func (c *FloodlightGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightGroupsPatchCall {
 30296  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30297  	return c
 30298  }
 30299  
 30300  // Context sets the context to be used in this call's Do method.
 30301  func (c *FloodlightGroupsPatchCall) Context(ctx context.Context) *FloodlightGroupsPatchCall {
 30302  	c.ctx_ = ctx
 30303  	return c
 30304  }
 30305  
 30306  // Header returns a http.Header that can be modified by the caller to add
 30307  // headers to the request.
 30308  func (c *FloodlightGroupsPatchCall) Header() http.Header {
 30309  	if c.header_ == nil {
 30310  		c.header_ = make(http.Header)
 30311  	}
 30312  	return c.header_
 30313  }
 30314  
 30315  func (c *FloodlightGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 30316  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 30317  	var body io.Reader = nil
 30318  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightgroup)
 30319  	if err != nil {
 30320  		return nil, err
 30321  	}
 30322  	c.urlParams_.Set("alt", alt)
 30323  	c.urlParams_.Set("prettyPrint", "false")
 30324  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/floodlightGroups/{floodlightGroupId}")
 30325  	urls += "?" + c.urlParams_.Encode()
 30326  	req, err := http.NewRequest("PATCH", urls, body)
 30327  	if err != nil {
 30328  		return nil, err
 30329  	}
 30330  	req.Header = reqHeaders
 30331  	googleapi.Expand(req.URL, map[string]string{
 30332  		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
 30333  	})
 30334  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30335  }
 30336  
 30337  // Do executes the "displayvideo.floodlightGroups.patch" call.
 30338  // Any non-2xx status code is an error. Response headers are in either
 30339  // *FloodlightGroup.ServerResponse.Header or (if a response was returned at
 30340  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 30341  // check whether the returned error was because http.StatusNotModified was
 30342  // returned.
 30343  func (c *FloodlightGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) {
 30344  	gensupport.SetOptions(c.urlParams_, opts...)
 30345  	res, err := c.doRequest("json")
 30346  	if res != nil && res.StatusCode == http.StatusNotModified {
 30347  		if res.Body != nil {
 30348  			res.Body.Close()
 30349  		}
 30350  		return nil, gensupport.WrapError(&googleapi.Error{
 30351  			Code:   res.StatusCode,
 30352  			Header: res.Header,
 30353  		})
 30354  	}
 30355  	if err != nil {
 30356  		return nil, err
 30357  	}
 30358  	defer googleapi.CloseBody(res)
 30359  	if err := googleapi.CheckResponse(res); err != nil {
 30360  		return nil, gensupport.WrapError(err)
 30361  	}
 30362  	ret := &FloodlightGroup{
 30363  		ServerResponse: googleapi.ServerResponse{
 30364  			Header:         res.Header,
 30365  			HTTPStatusCode: res.StatusCode,
 30366  		},
 30367  	}
 30368  	target := &ret
 30369  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30370  		return nil, err
 30371  	}
 30372  	return ret, nil
 30373  }
 30374  
 30375  type FloodlightGroupsFloodlightActivitiesGetCall struct {
 30376  	s                    *Service
 30377  	floodlightGroupId    int64
 30378  	floodlightActivityId int64
 30379  	urlParams_           gensupport.URLParams
 30380  	ifNoneMatch_         string
 30381  	ctx_                 context.Context
 30382  	header_              http.Header
 30383  }
 30384  
 30385  // Get: Gets a Floodlight activity.
 30386  //
 30387  //   - floodlightActivityId: The ID of the Floodlight activity to fetch.
 30388  //   - floodlightGroupId: The ID of the parent Floodlight group to which the
 30389  //     requested Floodlight activity belongs.
 30390  func (r *FloodlightGroupsFloodlightActivitiesService) Get(floodlightGroupId int64, floodlightActivityId int64) *FloodlightGroupsFloodlightActivitiesGetCall {
 30391  	c := &FloodlightGroupsFloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30392  	c.floodlightGroupId = floodlightGroupId
 30393  	c.floodlightActivityId = floodlightActivityId
 30394  	return c
 30395  }
 30396  
 30397  // PartnerId sets the optional parameter "partnerId": Required. The ID of the
 30398  // partner through which the Floodlight activity is being accessed.
 30399  func (c *FloodlightGroupsFloodlightActivitiesGetCall) PartnerId(partnerId int64) *FloodlightGroupsFloodlightActivitiesGetCall {
 30400  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30401  	return c
 30402  }
 30403  
 30404  // Fields allows partial responses to be retrieved. See
 30405  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30406  // details.
 30407  func (c *FloodlightGroupsFloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightGroupsFloodlightActivitiesGetCall {
 30408  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30409  	return c
 30410  }
 30411  
 30412  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30413  // object's ETag matches the given value. This is useful for getting updates
 30414  // only after the object has changed since the last request.
 30415  func (c *FloodlightGroupsFloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightGroupsFloodlightActivitiesGetCall {
 30416  	c.ifNoneMatch_ = entityTag
 30417  	return c
 30418  }
 30419  
 30420  // Context sets the context to be used in this call's Do method.
 30421  func (c *FloodlightGroupsFloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightGroupsFloodlightActivitiesGetCall {
 30422  	c.ctx_ = ctx
 30423  	return c
 30424  }
 30425  
 30426  // Header returns a http.Header that can be modified by the caller to add
 30427  // headers to the request.
 30428  func (c *FloodlightGroupsFloodlightActivitiesGetCall) Header() http.Header {
 30429  	if c.header_ == nil {
 30430  		c.header_ = make(http.Header)
 30431  	}
 30432  	return c.header_
 30433  }
 30434  
 30435  func (c *FloodlightGroupsFloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 30436  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30437  	if c.ifNoneMatch_ != "" {
 30438  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30439  	}
 30440  	var body io.Reader = nil
 30441  	c.urlParams_.Set("alt", alt)
 30442  	c.urlParams_.Set("prettyPrint", "false")
 30443  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/floodlightGroups/{+floodlightGroupId}/floodlightActivities/{+floodlightActivityId}")
 30444  	urls += "?" + c.urlParams_.Encode()
 30445  	req, err := http.NewRequest("GET", urls, body)
 30446  	if err != nil {
 30447  		return nil, err
 30448  	}
 30449  	req.Header = reqHeaders
 30450  	googleapi.Expand(req.URL, map[string]string{
 30451  		"floodlightGroupId":    strconv.FormatInt(c.floodlightGroupId, 10),
 30452  		"floodlightActivityId": strconv.FormatInt(c.floodlightActivityId, 10),
 30453  	})
 30454  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30455  }
 30456  
 30457  // Do executes the "displayvideo.floodlightGroups.floodlightActivities.get" call.
 30458  // Any non-2xx status code is an error. Response headers are in either
 30459  // *FloodlightActivity.ServerResponse.Header or (if a response was returned at
 30460  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 30461  // check whether the returned error was because http.StatusNotModified was
 30462  // returned.
 30463  func (c *FloodlightGroupsFloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 30464  	gensupport.SetOptions(c.urlParams_, opts...)
 30465  	res, err := c.doRequest("json")
 30466  	if res != nil && res.StatusCode == http.StatusNotModified {
 30467  		if res.Body != nil {
 30468  			res.Body.Close()
 30469  		}
 30470  		return nil, gensupport.WrapError(&googleapi.Error{
 30471  			Code:   res.StatusCode,
 30472  			Header: res.Header,
 30473  		})
 30474  	}
 30475  	if err != nil {
 30476  		return nil, err
 30477  	}
 30478  	defer googleapi.CloseBody(res)
 30479  	if err := googleapi.CheckResponse(res); err != nil {
 30480  		return nil, gensupport.WrapError(err)
 30481  	}
 30482  	ret := &FloodlightActivity{
 30483  		ServerResponse: googleapi.ServerResponse{
 30484  			Header:         res.Header,
 30485  			HTTPStatusCode: res.StatusCode,
 30486  		},
 30487  	}
 30488  	target := &ret
 30489  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30490  		return nil, err
 30491  	}
 30492  	return ret, nil
 30493  }
 30494  
 30495  type FloodlightGroupsFloodlightActivitiesListCall struct {
 30496  	s                 *Service
 30497  	floodlightGroupId int64
 30498  	urlParams_        gensupport.URLParams
 30499  	ifNoneMatch_      string
 30500  	ctx_              context.Context
 30501  	header_           http.Header
 30502  }
 30503  
 30504  // List: Lists Floodlight activities in a Floodlight group.
 30505  //
 30506  //   - floodlightGroupId: The ID of the parent Floodlight group to which the
 30507  //     requested Floodlight activities belong.
 30508  func (r *FloodlightGroupsFloodlightActivitiesService) List(floodlightGroupId int64) *FloodlightGroupsFloodlightActivitiesListCall {
 30509  	c := &FloodlightGroupsFloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30510  	c.floodlightGroupId = floodlightGroupId
 30511  	return c
 30512  }
 30513  
 30514  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 30515  // list. Acceptable values are: * `displayName` (default) *
 30516  // `floodlightActivityId` The default sorting order is ascending. To specify
 30517  // descending order for a field, a suffix "desc" should be added to the field
 30518  // name. Example: `displayName desc`.
 30519  func (c *FloodlightGroupsFloodlightActivitiesListCall) OrderBy(orderBy string) *FloodlightGroupsFloodlightActivitiesListCall {
 30520  	c.urlParams_.Set("orderBy", orderBy)
 30521  	return c
 30522  }
 30523  
 30524  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 30525  // be between `1` and `100`. If unspecified will default to `100`. Returns
 30526  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 30527  func (c *FloodlightGroupsFloodlightActivitiesListCall) PageSize(pageSize int64) *FloodlightGroupsFloodlightActivitiesListCall {
 30528  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 30529  	return c
 30530  }
 30531  
 30532  // PageToken sets the optional parameter "pageToken": A token identifying a
 30533  // page of results the server should return. Typically, this is the value of
 30534  // next_page_token returned from the previous call to
 30535  // `ListFloodlightActivities` method. If not specified, the first page of
 30536  // results will be returned.
 30537  func (c *FloodlightGroupsFloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightGroupsFloodlightActivitiesListCall {
 30538  	c.urlParams_.Set("pageToken", pageToken)
 30539  	return c
 30540  }
 30541  
 30542  // PartnerId sets the optional parameter "partnerId": Required. The ID of the
 30543  // partner through which the Floodlight activities are being accessed.
 30544  func (c *FloodlightGroupsFloodlightActivitiesListCall) PartnerId(partnerId int64) *FloodlightGroupsFloodlightActivitiesListCall {
 30545  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30546  	return c
 30547  }
 30548  
 30549  // Fields allows partial responses to be retrieved. See
 30550  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30551  // details.
 30552  func (c *FloodlightGroupsFloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightGroupsFloodlightActivitiesListCall {
 30553  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30554  	return c
 30555  }
 30556  
 30557  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30558  // object's ETag matches the given value. This is useful for getting updates
 30559  // only after the object has changed since the last request.
 30560  func (c *FloodlightGroupsFloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightGroupsFloodlightActivitiesListCall {
 30561  	c.ifNoneMatch_ = entityTag
 30562  	return c
 30563  }
 30564  
 30565  // Context sets the context to be used in this call's Do method.
 30566  func (c *FloodlightGroupsFloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightGroupsFloodlightActivitiesListCall {
 30567  	c.ctx_ = ctx
 30568  	return c
 30569  }
 30570  
 30571  // Header returns a http.Header that can be modified by the caller to add
 30572  // headers to the request.
 30573  func (c *FloodlightGroupsFloodlightActivitiesListCall) Header() http.Header {
 30574  	if c.header_ == nil {
 30575  		c.header_ = make(http.Header)
 30576  	}
 30577  	return c.header_
 30578  }
 30579  
 30580  func (c *FloodlightGroupsFloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 30581  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30582  	if c.ifNoneMatch_ != "" {
 30583  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30584  	}
 30585  	var body io.Reader = nil
 30586  	c.urlParams_.Set("alt", alt)
 30587  	c.urlParams_.Set("prettyPrint", "false")
 30588  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/floodlightGroups/{+floodlightGroupId}/floodlightActivities")
 30589  	urls += "?" + c.urlParams_.Encode()
 30590  	req, err := http.NewRequest("GET", urls, body)
 30591  	if err != nil {
 30592  		return nil, err
 30593  	}
 30594  	req.Header = reqHeaders
 30595  	googleapi.Expand(req.URL, map[string]string{
 30596  		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
 30597  	})
 30598  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30599  }
 30600  
 30601  // Do executes the "displayvideo.floodlightGroups.floodlightActivities.list" call.
 30602  // Any non-2xx status code is an error. Response headers are in either
 30603  // *ListFloodlightActivitiesResponse.ServerResponse.Header or (if a response
 30604  // was returned at all) in error.(*googleapi.Error).Header. Use
 30605  // googleapi.IsNotModified to check whether the returned error was because
 30606  // http.StatusNotModified was returned.
 30607  func (c *FloodlightGroupsFloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*ListFloodlightActivitiesResponse, error) {
 30608  	gensupport.SetOptions(c.urlParams_, opts...)
 30609  	res, err := c.doRequest("json")
 30610  	if res != nil && res.StatusCode == http.StatusNotModified {
 30611  		if res.Body != nil {
 30612  			res.Body.Close()
 30613  		}
 30614  		return nil, gensupport.WrapError(&googleapi.Error{
 30615  			Code:   res.StatusCode,
 30616  			Header: res.Header,
 30617  		})
 30618  	}
 30619  	if err != nil {
 30620  		return nil, err
 30621  	}
 30622  	defer googleapi.CloseBody(res)
 30623  	if err := googleapi.CheckResponse(res); err != nil {
 30624  		return nil, gensupport.WrapError(err)
 30625  	}
 30626  	ret := &ListFloodlightActivitiesResponse{
 30627  		ServerResponse: googleapi.ServerResponse{
 30628  			Header:         res.Header,
 30629  			HTTPStatusCode: res.StatusCode,
 30630  		},
 30631  	}
 30632  	target := &ret
 30633  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30634  		return nil, err
 30635  	}
 30636  	return ret, nil
 30637  }
 30638  
 30639  // Pages invokes f for each page of results.
 30640  // A non-nil error returned from f will halt the iteration.
 30641  // The provided context supersedes any context provided to the Context method.
 30642  func (c *FloodlightGroupsFloodlightActivitiesListCall) Pages(ctx context.Context, f func(*ListFloodlightActivitiesResponse) error) error {
 30643  	c.ctx_ = ctx
 30644  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 30645  	for {
 30646  		x, err := c.Do()
 30647  		if err != nil {
 30648  			return err
 30649  		}
 30650  		if err := f(x); err != nil {
 30651  			return err
 30652  		}
 30653  		if x.NextPageToken == "" {
 30654  			return nil
 30655  		}
 30656  		c.PageToken(x.NextPageToken)
 30657  	}
 30658  }
 30659  
 30660  type GoogleAudiencesGetCall struct {
 30661  	s                *Service
 30662  	googleAudienceId int64
 30663  	urlParams_       gensupport.URLParams
 30664  	ifNoneMatch_     string
 30665  	ctx_             context.Context
 30666  	header_          http.Header
 30667  }
 30668  
 30669  // Get: Gets a Google audience.
 30670  //
 30671  // - googleAudienceId: The ID of the Google audience to fetch.
 30672  func (r *GoogleAudiencesService) Get(googleAudienceId int64) *GoogleAudiencesGetCall {
 30673  	c := &GoogleAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30674  	c.googleAudienceId = googleAudienceId
 30675  	return c
 30676  }
 30677  
 30678  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 30679  // advertiser that has access to the fetched Google audience.
 30680  func (c *GoogleAudiencesGetCall) AdvertiserId(advertiserId int64) *GoogleAudiencesGetCall {
 30681  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30682  	return c
 30683  }
 30684  
 30685  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 30686  // that has access to the fetched Google audience.
 30687  func (c *GoogleAudiencesGetCall) PartnerId(partnerId int64) *GoogleAudiencesGetCall {
 30688  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30689  	return c
 30690  }
 30691  
 30692  // Fields allows partial responses to be retrieved. See
 30693  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30694  // details.
 30695  func (c *GoogleAudiencesGetCall) Fields(s ...googleapi.Field) *GoogleAudiencesGetCall {
 30696  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30697  	return c
 30698  }
 30699  
 30700  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30701  // object's ETag matches the given value. This is useful for getting updates
 30702  // only after the object has changed since the last request.
 30703  func (c *GoogleAudiencesGetCall) IfNoneMatch(entityTag string) *GoogleAudiencesGetCall {
 30704  	c.ifNoneMatch_ = entityTag
 30705  	return c
 30706  }
 30707  
 30708  // Context sets the context to be used in this call's Do method.
 30709  func (c *GoogleAudiencesGetCall) Context(ctx context.Context) *GoogleAudiencesGetCall {
 30710  	c.ctx_ = ctx
 30711  	return c
 30712  }
 30713  
 30714  // Header returns a http.Header that can be modified by the caller to add
 30715  // headers to the request.
 30716  func (c *GoogleAudiencesGetCall) Header() http.Header {
 30717  	if c.header_ == nil {
 30718  		c.header_ = make(http.Header)
 30719  	}
 30720  	return c.header_
 30721  }
 30722  
 30723  func (c *GoogleAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
 30724  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30725  	if c.ifNoneMatch_ != "" {
 30726  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30727  	}
 30728  	var body io.Reader = nil
 30729  	c.urlParams_.Set("alt", alt)
 30730  	c.urlParams_.Set("prettyPrint", "false")
 30731  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/googleAudiences/{+googleAudienceId}")
 30732  	urls += "?" + c.urlParams_.Encode()
 30733  	req, err := http.NewRequest("GET", urls, body)
 30734  	if err != nil {
 30735  		return nil, err
 30736  	}
 30737  	req.Header = reqHeaders
 30738  	googleapi.Expand(req.URL, map[string]string{
 30739  		"googleAudienceId": strconv.FormatInt(c.googleAudienceId, 10),
 30740  	})
 30741  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30742  }
 30743  
 30744  // Do executes the "displayvideo.googleAudiences.get" call.
 30745  // Any non-2xx status code is an error. Response headers are in either
 30746  // *GoogleAudience.ServerResponse.Header or (if a response was returned at all)
 30747  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 30748  // whether the returned error was because http.StatusNotModified was returned.
 30749  func (c *GoogleAudiencesGetCall) Do(opts ...googleapi.CallOption) (*GoogleAudience, error) {
 30750  	gensupport.SetOptions(c.urlParams_, opts...)
 30751  	res, err := c.doRequest("json")
 30752  	if res != nil && res.StatusCode == http.StatusNotModified {
 30753  		if res.Body != nil {
 30754  			res.Body.Close()
 30755  		}
 30756  		return nil, gensupport.WrapError(&googleapi.Error{
 30757  			Code:   res.StatusCode,
 30758  			Header: res.Header,
 30759  		})
 30760  	}
 30761  	if err != nil {
 30762  		return nil, err
 30763  	}
 30764  	defer googleapi.CloseBody(res)
 30765  	if err := googleapi.CheckResponse(res); err != nil {
 30766  		return nil, gensupport.WrapError(err)
 30767  	}
 30768  	ret := &GoogleAudience{
 30769  		ServerResponse: googleapi.ServerResponse{
 30770  			Header:         res.Header,
 30771  			HTTPStatusCode: res.StatusCode,
 30772  		},
 30773  	}
 30774  	target := &ret
 30775  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30776  		return nil, err
 30777  	}
 30778  	return ret, nil
 30779  }
 30780  
 30781  type GoogleAudiencesListCall struct {
 30782  	s            *Service
 30783  	urlParams_   gensupport.URLParams
 30784  	ifNoneMatch_ string
 30785  	ctx_         context.Context
 30786  	header_      http.Header
 30787  }
 30788  
 30789  // List: Lists Google audiences. The order is defined by the order_by
 30790  // parameter.
 30791  func (r *GoogleAudiencesService) List() *GoogleAudiencesListCall {
 30792  	c := &GoogleAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30793  	return c
 30794  }
 30795  
 30796  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 30797  // advertiser that has access to the fetched Google audiences.
 30798  func (c *GoogleAudiencesListCall) AdvertiserId(advertiserId int64) *GoogleAudiencesListCall {
 30799  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30800  	return c
 30801  }
 30802  
 30803  // Filter sets the optional parameter "filter": Allows filtering by Google
 30804  // audience fields. Supported syntax: * Filter expressions for Google audiences
 30805  // can only contain at most one restriction. * A restriction has the form of
 30806  // `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator.
 30807  // Supported fields: * `displayName` Examples: * All Google audiences for which
 30808  // the display name contains "Google": `displayName:"Google". The length of
 30809  // this field should be no more than 500 characters. Reference our filter
 30810  // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more
 30811  // information.
 30812  func (c *GoogleAudiencesListCall) Filter(filter string) *GoogleAudiencesListCall {
 30813  	c.urlParams_.Set("filter", filter)
 30814  	return c
 30815  }
 30816  
 30817  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 30818  // list. Acceptable values are: * `googleAudienceId` (default) * `displayName`
 30819  // The default sorting order is ascending. To specify descending order for a
 30820  // field, a suffix "desc" should be added to the field name. Example:
 30821  // `displayName desc`.
 30822  func (c *GoogleAudiencesListCall) OrderBy(orderBy string) *GoogleAudiencesListCall {
 30823  	c.urlParams_.Set("orderBy", orderBy)
 30824  	return c
 30825  }
 30826  
 30827  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 30828  // be between `1` and `200`. If unspecified will default to `100`. Returns
 30829  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 30830  func (c *GoogleAudiencesListCall) PageSize(pageSize int64) *GoogleAudiencesListCall {
 30831  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 30832  	return c
 30833  }
 30834  
 30835  // PageToken sets the optional parameter "pageToken": A token identifying a
 30836  // page of results the server should return. Typically, this is the value of
 30837  // next_page_token returned from the previous call to `ListGoogleAudiences`
 30838  // method. If not specified, the first page of results will be returned.
 30839  func (c *GoogleAudiencesListCall) PageToken(pageToken string) *GoogleAudiencesListCall {
 30840  	c.urlParams_.Set("pageToken", pageToken)
 30841  	return c
 30842  }
 30843  
 30844  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 30845  // that has access to the fetched Google audiences.
 30846  func (c *GoogleAudiencesListCall) PartnerId(partnerId int64) *GoogleAudiencesListCall {
 30847  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30848  	return c
 30849  }
 30850  
 30851  // Fields allows partial responses to be retrieved. See
 30852  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30853  // details.
 30854  func (c *GoogleAudiencesListCall) Fields(s ...googleapi.Field) *GoogleAudiencesListCall {
 30855  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30856  	return c
 30857  }
 30858  
 30859  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 30860  // object's ETag matches the given value. This is useful for getting updates
 30861  // only after the object has changed since the last request.
 30862  func (c *GoogleAudiencesListCall) IfNoneMatch(entityTag string) *GoogleAudiencesListCall {
 30863  	c.ifNoneMatch_ = entityTag
 30864  	return c
 30865  }
 30866  
 30867  // Context sets the context to be used in this call's Do method.
 30868  func (c *GoogleAudiencesListCall) Context(ctx context.Context) *GoogleAudiencesListCall {
 30869  	c.ctx_ = ctx
 30870  	return c
 30871  }
 30872  
 30873  // Header returns a http.Header that can be modified by the caller to add
 30874  // headers to the request.
 30875  func (c *GoogleAudiencesListCall) Header() http.Header {
 30876  	if c.header_ == nil {
 30877  		c.header_ = make(http.Header)
 30878  	}
 30879  	return c.header_
 30880  }
 30881  
 30882  func (c *GoogleAudiencesListCall) doRequest(alt string) (*http.Response, error) {
 30883  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 30884  	if c.ifNoneMatch_ != "" {
 30885  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30886  	}
 30887  	var body io.Reader = nil
 30888  	c.urlParams_.Set("alt", alt)
 30889  	c.urlParams_.Set("prettyPrint", "false")
 30890  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/googleAudiences")
 30891  	urls += "?" + c.urlParams_.Encode()
 30892  	req, err := http.NewRequest("GET", urls, body)
 30893  	if err != nil {
 30894  		return nil, err
 30895  	}
 30896  	req.Header = reqHeaders
 30897  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30898  }
 30899  
 30900  // Do executes the "displayvideo.googleAudiences.list" call.
 30901  // Any non-2xx status code is an error. Response headers are in either
 30902  // *ListGoogleAudiencesResponse.ServerResponse.Header or (if a response was
 30903  // returned at all) in error.(*googleapi.Error).Header. Use
 30904  // googleapi.IsNotModified to check whether the returned error was because
 30905  // http.StatusNotModified was returned.
 30906  func (c *GoogleAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListGoogleAudiencesResponse, error) {
 30907  	gensupport.SetOptions(c.urlParams_, opts...)
 30908  	res, err := c.doRequest("json")
 30909  	if res != nil && res.StatusCode == http.StatusNotModified {
 30910  		if res.Body != nil {
 30911  			res.Body.Close()
 30912  		}
 30913  		return nil, gensupport.WrapError(&googleapi.Error{
 30914  			Code:   res.StatusCode,
 30915  			Header: res.Header,
 30916  		})
 30917  	}
 30918  	if err != nil {
 30919  		return nil, err
 30920  	}
 30921  	defer googleapi.CloseBody(res)
 30922  	if err := googleapi.CheckResponse(res); err != nil {
 30923  		return nil, gensupport.WrapError(err)
 30924  	}
 30925  	ret := &ListGoogleAudiencesResponse{
 30926  		ServerResponse: googleapi.ServerResponse{
 30927  			Header:         res.Header,
 30928  			HTTPStatusCode: res.StatusCode,
 30929  		},
 30930  	}
 30931  	target := &ret
 30932  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30933  		return nil, err
 30934  	}
 30935  	return ret, nil
 30936  }
 30937  
 30938  // Pages invokes f for each page of results.
 30939  // A non-nil error returned from f will halt the iteration.
 30940  // The provided context supersedes any context provided to the Context method.
 30941  func (c *GoogleAudiencesListCall) Pages(ctx context.Context, f func(*ListGoogleAudiencesResponse) error) error {
 30942  	c.ctx_ = ctx
 30943  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 30944  	for {
 30945  		x, err := c.Do()
 30946  		if err != nil {
 30947  			return err
 30948  		}
 30949  		if err := f(x); err != nil {
 30950  			return err
 30951  		}
 30952  		if x.NextPageToken == "" {
 30953  			return nil
 30954  		}
 30955  		c.PageToken(x.NextPageToken)
 30956  	}
 30957  }
 30958  
 30959  type GuaranteedOrdersCreateCall struct {
 30960  	s               *Service
 30961  	guaranteedorder *GuaranteedOrder
 30962  	urlParams_      gensupport.URLParams
 30963  	ctx_            context.Context
 30964  	header_         http.Header
 30965  }
 30966  
 30967  // Create: Creates a new guaranteed order. Returns the newly created guaranteed
 30968  // order if successful.
 30969  func (r *GuaranteedOrdersService) Create(guaranteedorder *GuaranteedOrder) *GuaranteedOrdersCreateCall {
 30970  	c := &GuaranteedOrdersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30971  	c.guaranteedorder = guaranteedorder
 30972  	return c
 30973  }
 30974  
 30975  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 30976  // advertiser that the request is being made within.
 30977  func (c *GuaranteedOrdersCreateCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersCreateCall {
 30978  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30979  	return c
 30980  }
 30981  
 30982  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 30983  // that the request is being made within.
 30984  func (c *GuaranteedOrdersCreateCall) PartnerId(partnerId int64) *GuaranteedOrdersCreateCall {
 30985  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 30986  	return c
 30987  }
 30988  
 30989  // Fields allows partial responses to be retrieved. See
 30990  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 30991  // details.
 30992  func (c *GuaranteedOrdersCreateCall) Fields(s ...googleapi.Field) *GuaranteedOrdersCreateCall {
 30993  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30994  	return c
 30995  }
 30996  
 30997  // Context sets the context to be used in this call's Do method.
 30998  func (c *GuaranteedOrdersCreateCall) Context(ctx context.Context) *GuaranteedOrdersCreateCall {
 30999  	c.ctx_ = ctx
 31000  	return c
 31001  }
 31002  
 31003  // Header returns a http.Header that can be modified by the caller to add
 31004  // headers to the request.
 31005  func (c *GuaranteedOrdersCreateCall) Header() http.Header {
 31006  	if c.header_ == nil {
 31007  		c.header_ = make(http.Header)
 31008  	}
 31009  	return c.header_
 31010  }
 31011  
 31012  func (c *GuaranteedOrdersCreateCall) doRequest(alt string) (*http.Response, error) {
 31013  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 31014  	var body io.Reader = nil
 31015  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.guaranteedorder)
 31016  	if err != nil {
 31017  		return nil, err
 31018  	}
 31019  	c.urlParams_.Set("alt", alt)
 31020  	c.urlParams_.Set("prettyPrint", "false")
 31021  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/guaranteedOrders")
 31022  	urls += "?" + c.urlParams_.Encode()
 31023  	req, err := http.NewRequest("POST", urls, body)
 31024  	if err != nil {
 31025  		return nil, err
 31026  	}
 31027  	req.Header = reqHeaders
 31028  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31029  }
 31030  
 31031  // Do executes the "displayvideo.guaranteedOrders.create" call.
 31032  // Any non-2xx status code is an error. Response headers are in either
 31033  // *GuaranteedOrder.ServerResponse.Header or (if a response was returned at
 31034  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 31035  // check whether the returned error was because http.StatusNotModified was
 31036  // returned.
 31037  func (c *GuaranteedOrdersCreateCall) Do(opts ...googleapi.CallOption) (*GuaranteedOrder, error) {
 31038  	gensupport.SetOptions(c.urlParams_, opts...)
 31039  	res, err := c.doRequest("json")
 31040  	if res != nil && res.StatusCode == http.StatusNotModified {
 31041  		if res.Body != nil {
 31042  			res.Body.Close()
 31043  		}
 31044  		return nil, gensupport.WrapError(&googleapi.Error{
 31045  			Code:   res.StatusCode,
 31046  			Header: res.Header,
 31047  		})
 31048  	}
 31049  	if err != nil {
 31050  		return nil, err
 31051  	}
 31052  	defer googleapi.CloseBody(res)
 31053  	if err := googleapi.CheckResponse(res); err != nil {
 31054  		return nil, gensupport.WrapError(err)
 31055  	}
 31056  	ret := &GuaranteedOrder{
 31057  		ServerResponse: googleapi.ServerResponse{
 31058  			Header:         res.Header,
 31059  			HTTPStatusCode: res.StatusCode,
 31060  		},
 31061  	}
 31062  	target := &ret
 31063  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31064  		return nil, err
 31065  	}
 31066  	return ret, nil
 31067  }
 31068  
 31069  type GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall struct {
 31070  	s                                       *Service
 31071  	guaranteedOrderId                       string
 31072  	editguaranteedorderreadaccessorsrequest *EditGuaranteedOrderReadAccessorsRequest
 31073  	urlParams_                              gensupport.URLParams
 31074  	ctx_                                    context.Context
 31075  	header_                                 http.Header
 31076  }
 31077  
 31078  // EditGuaranteedOrderReadAccessors: Edits read advertisers of a guaranteed
 31079  // order.
 31080  //
 31081  //   - guaranteedOrderId: The ID of the guaranteed order to edit. The ID is of
 31082  //     the format `{exchange}-{legacy_guaranteed_order_id}`.
 31083  func (r *GuaranteedOrdersService) EditGuaranteedOrderReadAccessors(guaranteedOrderId string, editguaranteedorderreadaccessorsrequest *EditGuaranteedOrderReadAccessorsRequest) *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall {
 31084  	c := &GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31085  	c.guaranteedOrderId = guaranteedOrderId
 31086  	c.editguaranteedorderreadaccessorsrequest = editguaranteedorderreadaccessorsrequest
 31087  	return c
 31088  }
 31089  
 31090  // Fields allows partial responses to be retrieved. See
 31091  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31092  // details.
 31093  func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Fields(s ...googleapi.Field) *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall {
 31094  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31095  	return c
 31096  }
 31097  
 31098  // Context sets the context to be used in this call's Do method.
 31099  func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Context(ctx context.Context) *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall {
 31100  	c.ctx_ = ctx
 31101  	return c
 31102  }
 31103  
 31104  // Header returns a http.Header that can be modified by the caller to add
 31105  // headers to the request.
 31106  func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Header() http.Header {
 31107  	if c.header_ == nil {
 31108  		c.header_ = make(http.Header)
 31109  	}
 31110  	return c.header_
 31111  }
 31112  
 31113  func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) doRequest(alt string) (*http.Response, error) {
 31114  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 31115  	var body io.Reader = nil
 31116  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.editguaranteedorderreadaccessorsrequest)
 31117  	if err != nil {
 31118  		return nil, err
 31119  	}
 31120  	c.urlParams_.Set("alt", alt)
 31121  	c.urlParams_.Set("prettyPrint", "false")
 31122  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/guaranteedOrders/{+guaranteedOrderId}:editGuaranteedOrderReadAccessors")
 31123  	urls += "?" + c.urlParams_.Encode()
 31124  	req, err := http.NewRequest("POST", urls, body)
 31125  	if err != nil {
 31126  		return nil, err
 31127  	}
 31128  	req.Header = reqHeaders
 31129  	googleapi.Expand(req.URL, map[string]string{
 31130  		"guaranteedOrderId": c.guaranteedOrderId,
 31131  	})
 31132  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31133  }
 31134  
 31135  // Do executes the "displayvideo.guaranteedOrders.editGuaranteedOrderReadAccessors" call.
 31136  // Any non-2xx status code is an error. Response headers are in either
 31137  // *EditGuaranteedOrderReadAccessorsResponse.ServerResponse.Header or (if a
 31138  // response was returned at all) in error.(*googleapi.Error).Header. Use
 31139  // googleapi.IsNotModified to check whether the returned error was because
 31140  // http.StatusNotModified was returned.
 31141  func (c *GuaranteedOrdersEditGuaranteedOrderReadAccessorsCall) Do(opts ...googleapi.CallOption) (*EditGuaranteedOrderReadAccessorsResponse, error) {
 31142  	gensupport.SetOptions(c.urlParams_, opts...)
 31143  	res, err := c.doRequest("json")
 31144  	if res != nil && res.StatusCode == http.StatusNotModified {
 31145  		if res.Body != nil {
 31146  			res.Body.Close()
 31147  		}
 31148  		return nil, gensupport.WrapError(&googleapi.Error{
 31149  			Code:   res.StatusCode,
 31150  			Header: res.Header,
 31151  		})
 31152  	}
 31153  	if err != nil {
 31154  		return nil, err
 31155  	}
 31156  	defer googleapi.CloseBody(res)
 31157  	if err := googleapi.CheckResponse(res); err != nil {
 31158  		return nil, gensupport.WrapError(err)
 31159  	}
 31160  	ret := &EditGuaranteedOrderReadAccessorsResponse{
 31161  		ServerResponse: googleapi.ServerResponse{
 31162  			Header:         res.Header,
 31163  			HTTPStatusCode: res.StatusCode,
 31164  		},
 31165  	}
 31166  	target := &ret
 31167  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31168  		return nil, err
 31169  	}
 31170  	return ret, nil
 31171  }
 31172  
 31173  type GuaranteedOrdersGetCall struct {
 31174  	s                 *Service
 31175  	guaranteedOrderId string
 31176  	urlParams_        gensupport.URLParams
 31177  	ifNoneMatch_      string
 31178  	ctx_              context.Context
 31179  	header_           http.Header
 31180  }
 31181  
 31182  // Get: Gets a guaranteed order.
 31183  //
 31184  //   - guaranteedOrderId: The ID of the guaranteed order to fetch. The ID is of
 31185  //     the format `{exchange}-{legacy_guaranteed_order_id}`.
 31186  func (r *GuaranteedOrdersService) Get(guaranteedOrderId string) *GuaranteedOrdersGetCall {
 31187  	c := &GuaranteedOrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31188  	c.guaranteedOrderId = guaranteedOrderId
 31189  	return c
 31190  }
 31191  
 31192  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31193  // advertiser that has access to the guaranteed order.
 31194  func (c *GuaranteedOrdersGetCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersGetCall {
 31195  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31196  	return c
 31197  }
 31198  
 31199  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31200  // that has access to the guaranteed order.
 31201  func (c *GuaranteedOrdersGetCall) PartnerId(partnerId int64) *GuaranteedOrdersGetCall {
 31202  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31203  	return c
 31204  }
 31205  
 31206  // Fields allows partial responses to be retrieved. See
 31207  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31208  // details.
 31209  func (c *GuaranteedOrdersGetCall) Fields(s ...googleapi.Field) *GuaranteedOrdersGetCall {
 31210  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31211  	return c
 31212  }
 31213  
 31214  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 31215  // object's ETag matches the given value. This is useful for getting updates
 31216  // only after the object has changed since the last request.
 31217  func (c *GuaranteedOrdersGetCall) IfNoneMatch(entityTag string) *GuaranteedOrdersGetCall {
 31218  	c.ifNoneMatch_ = entityTag
 31219  	return c
 31220  }
 31221  
 31222  // Context sets the context to be used in this call's Do method.
 31223  func (c *GuaranteedOrdersGetCall) Context(ctx context.Context) *GuaranteedOrdersGetCall {
 31224  	c.ctx_ = ctx
 31225  	return c
 31226  }
 31227  
 31228  // Header returns a http.Header that can be modified by the caller to add
 31229  // headers to the request.
 31230  func (c *GuaranteedOrdersGetCall) Header() http.Header {
 31231  	if c.header_ == nil {
 31232  		c.header_ = make(http.Header)
 31233  	}
 31234  	return c.header_
 31235  }
 31236  
 31237  func (c *GuaranteedOrdersGetCall) doRequest(alt string) (*http.Response, error) {
 31238  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 31239  	if c.ifNoneMatch_ != "" {
 31240  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31241  	}
 31242  	var body io.Reader = nil
 31243  	c.urlParams_.Set("alt", alt)
 31244  	c.urlParams_.Set("prettyPrint", "false")
 31245  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/guaranteedOrders/{+guaranteedOrderId}")
 31246  	urls += "?" + c.urlParams_.Encode()
 31247  	req, err := http.NewRequest("GET", urls, body)
 31248  	if err != nil {
 31249  		return nil, err
 31250  	}
 31251  	req.Header = reqHeaders
 31252  	googleapi.Expand(req.URL, map[string]string{
 31253  		"guaranteedOrderId": c.guaranteedOrderId,
 31254  	})
 31255  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31256  }
 31257  
 31258  // Do executes the "displayvideo.guaranteedOrders.get" call.
 31259  // Any non-2xx status code is an error. Response headers are in either
 31260  // *GuaranteedOrder.ServerResponse.Header or (if a response was returned at
 31261  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 31262  // check whether the returned error was because http.StatusNotModified was
 31263  // returned.
 31264  func (c *GuaranteedOrdersGetCall) Do(opts ...googleapi.CallOption) (*GuaranteedOrder, error) {
 31265  	gensupport.SetOptions(c.urlParams_, opts...)
 31266  	res, err := c.doRequest("json")
 31267  	if res != nil && res.StatusCode == http.StatusNotModified {
 31268  		if res.Body != nil {
 31269  			res.Body.Close()
 31270  		}
 31271  		return nil, gensupport.WrapError(&googleapi.Error{
 31272  			Code:   res.StatusCode,
 31273  			Header: res.Header,
 31274  		})
 31275  	}
 31276  	if err != nil {
 31277  		return nil, err
 31278  	}
 31279  	defer googleapi.CloseBody(res)
 31280  	if err := googleapi.CheckResponse(res); err != nil {
 31281  		return nil, gensupport.WrapError(err)
 31282  	}
 31283  	ret := &GuaranteedOrder{
 31284  		ServerResponse: googleapi.ServerResponse{
 31285  			Header:         res.Header,
 31286  			HTTPStatusCode: res.StatusCode,
 31287  		},
 31288  	}
 31289  	target := &ret
 31290  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31291  		return nil, err
 31292  	}
 31293  	return ret, nil
 31294  }
 31295  
 31296  type GuaranteedOrdersListCall struct {
 31297  	s            *Service
 31298  	urlParams_   gensupport.URLParams
 31299  	ifNoneMatch_ string
 31300  	ctx_         context.Context
 31301  	header_      http.Header
 31302  }
 31303  
 31304  // List: Lists guaranteed orders that are accessible to the current user. The
 31305  // order is defined by the order_by parameter. If a filter by entity_status is
 31306  // not specified, guaranteed orders with entity status `ENTITY_STATUS_ARCHIVED`
 31307  // will not be included in the results.
 31308  func (r *GuaranteedOrdersService) List() *GuaranteedOrdersListCall {
 31309  	c := &GuaranteedOrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31310  	return c
 31311  }
 31312  
 31313  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31314  // advertiser that has access to the guaranteed order.
 31315  func (c *GuaranteedOrdersListCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersListCall {
 31316  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31317  	return c
 31318  }
 31319  
 31320  // Filter sets the optional parameter "filter": Allows filtering by guaranteed
 31321  // order fields. * Filter expressions are made up of one or more restrictions.
 31322  // * Restrictions can be combined by `AND` or `OR` logical operators. A
 31323  // sequence of restrictions implicitly uses `AND`. * A restriction has the form
 31324  // of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)`
 31325  // operator. Supported fields: * `guaranteed_order_id` * `exchange` *
 31326  // `display_name` * `status.entityStatus` Examples: * All active guaranteed
 31327  // orders: `status.entityStatus="ENTITY_STATUS_ACTIVE" * Guaranteed orders
 31328  // belonging to Google Ad Manager or Rubicon exchanges:
 31329  // `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR exchange="EXCHANGE_RUBICON" The
 31330  // length of this field should be no more than 500 characters. Reference our
 31331  // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for
 31332  // more information.
 31333  func (c *GuaranteedOrdersListCall) Filter(filter string) *GuaranteedOrdersListCall {
 31334  	c.urlParams_.Set("filter", filter)
 31335  	return c
 31336  }
 31337  
 31338  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 31339  // list. Acceptable values are: * `displayName` (default) The default sorting
 31340  // order is ascending. To specify descending order for a field, a suffix "desc"
 31341  // should be added to the field name. For example, `displayName desc`.
 31342  func (c *GuaranteedOrdersListCall) OrderBy(orderBy string) *GuaranteedOrdersListCall {
 31343  	c.urlParams_.Set("orderBy", orderBy)
 31344  	return c
 31345  }
 31346  
 31347  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 31348  // be between `1` and `200`. If unspecified will default to `100`.
 31349  func (c *GuaranteedOrdersListCall) PageSize(pageSize int64) *GuaranteedOrdersListCall {
 31350  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 31351  	return c
 31352  }
 31353  
 31354  // PageToken sets the optional parameter "pageToken": A token identifying a
 31355  // page of results the server should return. Typically, this is the value of
 31356  // next_page_token returned from the previous call to `ListGuaranteedOrders`
 31357  // method. If not specified, the first page of results will be returned.
 31358  func (c *GuaranteedOrdersListCall) PageToken(pageToken string) *GuaranteedOrdersListCall {
 31359  	c.urlParams_.Set("pageToken", pageToken)
 31360  	return c
 31361  }
 31362  
 31363  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31364  // that has access to the guaranteed order.
 31365  func (c *GuaranteedOrdersListCall) PartnerId(partnerId int64) *GuaranteedOrdersListCall {
 31366  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31367  	return c
 31368  }
 31369  
 31370  // Fields allows partial responses to be retrieved. See
 31371  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31372  // details.
 31373  func (c *GuaranteedOrdersListCall) Fields(s ...googleapi.Field) *GuaranteedOrdersListCall {
 31374  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31375  	return c
 31376  }
 31377  
 31378  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 31379  // object's ETag matches the given value. This is useful for getting updates
 31380  // only after the object has changed since the last request.
 31381  func (c *GuaranteedOrdersListCall) IfNoneMatch(entityTag string) *GuaranteedOrdersListCall {
 31382  	c.ifNoneMatch_ = entityTag
 31383  	return c
 31384  }
 31385  
 31386  // Context sets the context to be used in this call's Do method.
 31387  func (c *GuaranteedOrdersListCall) Context(ctx context.Context) *GuaranteedOrdersListCall {
 31388  	c.ctx_ = ctx
 31389  	return c
 31390  }
 31391  
 31392  // Header returns a http.Header that can be modified by the caller to add
 31393  // headers to the request.
 31394  func (c *GuaranteedOrdersListCall) Header() http.Header {
 31395  	if c.header_ == nil {
 31396  		c.header_ = make(http.Header)
 31397  	}
 31398  	return c.header_
 31399  }
 31400  
 31401  func (c *GuaranteedOrdersListCall) doRequest(alt string) (*http.Response, error) {
 31402  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 31403  	if c.ifNoneMatch_ != "" {
 31404  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31405  	}
 31406  	var body io.Reader = nil
 31407  	c.urlParams_.Set("alt", alt)
 31408  	c.urlParams_.Set("prettyPrint", "false")
 31409  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/guaranteedOrders")
 31410  	urls += "?" + c.urlParams_.Encode()
 31411  	req, err := http.NewRequest("GET", urls, body)
 31412  	if err != nil {
 31413  		return nil, err
 31414  	}
 31415  	req.Header = reqHeaders
 31416  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31417  }
 31418  
 31419  // Do executes the "displayvideo.guaranteedOrders.list" call.
 31420  // Any non-2xx status code is an error. Response headers are in either
 31421  // *ListGuaranteedOrdersResponse.ServerResponse.Header or (if a response was
 31422  // returned at all) in error.(*googleapi.Error).Header. Use
 31423  // googleapi.IsNotModified to check whether the returned error was because
 31424  // http.StatusNotModified was returned.
 31425  func (c *GuaranteedOrdersListCall) Do(opts ...googleapi.CallOption) (*ListGuaranteedOrdersResponse, error) {
 31426  	gensupport.SetOptions(c.urlParams_, opts...)
 31427  	res, err := c.doRequest("json")
 31428  	if res != nil && res.StatusCode == http.StatusNotModified {
 31429  		if res.Body != nil {
 31430  			res.Body.Close()
 31431  		}
 31432  		return nil, gensupport.WrapError(&googleapi.Error{
 31433  			Code:   res.StatusCode,
 31434  			Header: res.Header,
 31435  		})
 31436  	}
 31437  	if err != nil {
 31438  		return nil, err
 31439  	}
 31440  	defer googleapi.CloseBody(res)
 31441  	if err := googleapi.CheckResponse(res); err != nil {
 31442  		return nil, gensupport.WrapError(err)
 31443  	}
 31444  	ret := &ListGuaranteedOrdersResponse{
 31445  		ServerResponse: googleapi.ServerResponse{
 31446  			Header:         res.Header,
 31447  			HTTPStatusCode: res.StatusCode,
 31448  		},
 31449  	}
 31450  	target := &ret
 31451  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31452  		return nil, err
 31453  	}
 31454  	return ret, nil
 31455  }
 31456  
 31457  // Pages invokes f for each page of results.
 31458  // A non-nil error returned from f will halt the iteration.
 31459  // The provided context supersedes any context provided to the Context method.
 31460  func (c *GuaranteedOrdersListCall) Pages(ctx context.Context, f func(*ListGuaranteedOrdersResponse) error) error {
 31461  	c.ctx_ = ctx
 31462  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 31463  	for {
 31464  		x, err := c.Do()
 31465  		if err != nil {
 31466  			return err
 31467  		}
 31468  		if err := f(x); err != nil {
 31469  			return err
 31470  		}
 31471  		if x.NextPageToken == "" {
 31472  			return nil
 31473  		}
 31474  		c.PageToken(x.NextPageToken)
 31475  	}
 31476  }
 31477  
 31478  type GuaranteedOrdersPatchCall struct {
 31479  	s                 *Service
 31480  	guaranteedOrderId string
 31481  	guaranteedorder   *GuaranteedOrder
 31482  	urlParams_        gensupport.URLParams
 31483  	ctx_              context.Context
 31484  	header_           http.Header
 31485  }
 31486  
 31487  // Patch: Updates an existing guaranteed order. Returns the updated guaranteed
 31488  // order if successful.
 31489  //
 31490  //   - guaranteedOrderId: Output only. The unique identifier of the guaranteed
 31491  //     order. The guaranteed order IDs have the format
 31492  //     `{exchange}-{legacy_guaranteed_order_id}`.
 31493  func (r *GuaranteedOrdersService) Patch(guaranteedOrderId string, guaranteedorder *GuaranteedOrder) *GuaranteedOrdersPatchCall {
 31494  	c := &GuaranteedOrdersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31495  	c.guaranteedOrderId = guaranteedOrderId
 31496  	c.guaranteedorder = guaranteedorder
 31497  	return c
 31498  }
 31499  
 31500  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31501  // advertiser that the request is being made within.
 31502  func (c *GuaranteedOrdersPatchCall) AdvertiserId(advertiserId int64) *GuaranteedOrdersPatchCall {
 31503  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31504  	return c
 31505  }
 31506  
 31507  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31508  // that the request is being made within.
 31509  func (c *GuaranteedOrdersPatchCall) PartnerId(partnerId int64) *GuaranteedOrdersPatchCall {
 31510  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31511  	return c
 31512  }
 31513  
 31514  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 31515  // control which fields to update.
 31516  func (c *GuaranteedOrdersPatchCall) UpdateMask(updateMask string) *GuaranteedOrdersPatchCall {
 31517  	c.urlParams_.Set("updateMask", updateMask)
 31518  	return c
 31519  }
 31520  
 31521  // Fields allows partial responses to be retrieved. See
 31522  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31523  // details.
 31524  func (c *GuaranteedOrdersPatchCall) Fields(s ...googleapi.Field) *GuaranteedOrdersPatchCall {
 31525  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31526  	return c
 31527  }
 31528  
 31529  // Context sets the context to be used in this call's Do method.
 31530  func (c *GuaranteedOrdersPatchCall) Context(ctx context.Context) *GuaranteedOrdersPatchCall {
 31531  	c.ctx_ = ctx
 31532  	return c
 31533  }
 31534  
 31535  // Header returns a http.Header that can be modified by the caller to add
 31536  // headers to the request.
 31537  func (c *GuaranteedOrdersPatchCall) Header() http.Header {
 31538  	if c.header_ == nil {
 31539  		c.header_ = make(http.Header)
 31540  	}
 31541  	return c.header_
 31542  }
 31543  
 31544  func (c *GuaranteedOrdersPatchCall) doRequest(alt string) (*http.Response, error) {
 31545  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 31546  	var body io.Reader = nil
 31547  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.guaranteedorder)
 31548  	if err != nil {
 31549  		return nil, err
 31550  	}
 31551  	c.urlParams_.Set("alt", alt)
 31552  	c.urlParams_.Set("prettyPrint", "false")
 31553  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/guaranteedOrders/{+guaranteedOrderId}")
 31554  	urls += "?" + c.urlParams_.Encode()
 31555  	req, err := http.NewRequest("PATCH", urls, body)
 31556  	if err != nil {
 31557  		return nil, err
 31558  	}
 31559  	req.Header = reqHeaders
 31560  	googleapi.Expand(req.URL, map[string]string{
 31561  		"guaranteedOrderId": c.guaranteedOrderId,
 31562  	})
 31563  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31564  }
 31565  
 31566  // Do executes the "displayvideo.guaranteedOrders.patch" call.
 31567  // Any non-2xx status code is an error. Response headers are in either
 31568  // *GuaranteedOrder.ServerResponse.Header or (if a response was returned at
 31569  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 31570  // check whether the returned error was because http.StatusNotModified was
 31571  // returned.
 31572  func (c *GuaranteedOrdersPatchCall) Do(opts ...googleapi.CallOption) (*GuaranteedOrder, error) {
 31573  	gensupport.SetOptions(c.urlParams_, opts...)
 31574  	res, err := c.doRequest("json")
 31575  	if res != nil && res.StatusCode == http.StatusNotModified {
 31576  		if res.Body != nil {
 31577  			res.Body.Close()
 31578  		}
 31579  		return nil, gensupport.WrapError(&googleapi.Error{
 31580  			Code:   res.StatusCode,
 31581  			Header: res.Header,
 31582  		})
 31583  	}
 31584  	if err != nil {
 31585  		return nil, err
 31586  	}
 31587  	defer googleapi.CloseBody(res)
 31588  	if err := googleapi.CheckResponse(res); err != nil {
 31589  		return nil, gensupport.WrapError(err)
 31590  	}
 31591  	ret := &GuaranteedOrder{
 31592  		ServerResponse: googleapi.ServerResponse{
 31593  			Header:         res.Header,
 31594  			HTTPStatusCode: res.StatusCode,
 31595  		},
 31596  	}
 31597  	target := &ret
 31598  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31599  		return nil, err
 31600  	}
 31601  	return ret, nil
 31602  }
 31603  
 31604  type InventorySourceGroupsCreateCall struct {
 31605  	s                    *Service
 31606  	inventorysourcegroup *InventorySourceGroup
 31607  	urlParams_           gensupport.URLParams
 31608  	ctx_                 context.Context
 31609  	header_              http.Header
 31610  }
 31611  
 31612  // Create: Creates a new inventory source group. Returns the newly created
 31613  // inventory source group if successful.
 31614  func (r *InventorySourceGroupsService) Create(inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsCreateCall {
 31615  	c := &InventorySourceGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31616  	c.inventorysourcegroup = inventorysourcegroup
 31617  	return c
 31618  }
 31619  
 31620  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31621  // advertiser that owns the inventory source group. The parent partner will not
 31622  // have access to this group.
 31623  func (c *InventorySourceGroupsCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsCreateCall {
 31624  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31625  	return c
 31626  }
 31627  
 31628  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31629  // that owns the inventory source group. Only this partner will have write
 31630  // access to this group. Only advertisers to which this group is explicitly
 31631  // shared will have read access to this group.
 31632  func (c *InventorySourceGroupsCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsCreateCall {
 31633  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31634  	return c
 31635  }
 31636  
 31637  // Fields allows partial responses to be retrieved. See
 31638  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31639  // details.
 31640  func (c *InventorySourceGroupsCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsCreateCall {
 31641  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31642  	return c
 31643  }
 31644  
 31645  // Context sets the context to be used in this call's Do method.
 31646  func (c *InventorySourceGroupsCreateCall) Context(ctx context.Context) *InventorySourceGroupsCreateCall {
 31647  	c.ctx_ = ctx
 31648  	return c
 31649  }
 31650  
 31651  // Header returns a http.Header that can be modified by the caller to add
 31652  // headers to the request.
 31653  func (c *InventorySourceGroupsCreateCall) Header() http.Header {
 31654  	if c.header_ == nil {
 31655  		c.header_ = make(http.Header)
 31656  	}
 31657  	return c.header_
 31658  }
 31659  
 31660  func (c *InventorySourceGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
 31661  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 31662  	var body io.Reader = nil
 31663  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup)
 31664  	if err != nil {
 31665  		return nil, err
 31666  	}
 31667  	c.urlParams_.Set("alt", alt)
 31668  	c.urlParams_.Set("prettyPrint", "false")
 31669  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySourceGroups")
 31670  	urls += "?" + c.urlParams_.Encode()
 31671  	req, err := http.NewRequest("POST", urls, body)
 31672  	if err != nil {
 31673  		return nil, err
 31674  	}
 31675  	req.Header = reqHeaders
 31676  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31677  }
 31678  
 31679  // Do executes the "displayvideo.inventorySourceGroups.create" call.
 31680  // Any non-2xx status code is an error. Response headers are in either
 31681  // *InventorySourceGroup.ServerResponse.Header or (if a response was returned
 31682  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 31683  // check whether the returned error was because http.StatusNotModified was
 31684  // returned.
 31685  func (c *InventorySourceGroupsCreateCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
 31686  	gensupport.SetOptions(c.urlParams_, opts...)
 31687  	res, err := c.doRequest("json")
 31688  	if res != nil && res.StatusCode == http.StatusNotModified {
 31689  		if res.Body != nil {
 31690  			res.Body.Close()
 31691  		}
 31692  		return nil, gensupport.WrapError(&googleapi.Error{
 31693  			Code:   res.StatusCode,
 31694  			Header: res.Header,
 31695  		})
 31696  	}
 31697  	if err != nil {
 31698  		return nil, err
 31699  	}
 31700  	defer googleapi.CloseBody(res)
 31701  	if err := googleapi.CheckResponse(res); err != nil {
 31702  		return nil, gensupport.WrapError(err)
 31703  	}
 31704  	ret := &InventorySourceGroup{
 31705  		ServerResponse: googleapi.ServerResponse{
 31706  			Header:         res.Header,
 31707  			HTTPStatusCode: res.StatusCode,
 31708  		},
 31709  	}
 31710  	target := &ret
 31711  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31712  		return nil, err
 31713  	}
 31714  	return ret, nil
 31715  }
 31716  
 31717  type InventorySourceGroupsDeleteCall struct {
 31718  	s                      *Service
 31719  	inventorySourceGroupId int64
 31720  	urlParams_             gensupport.URLParams
 31721  	ctx_                   context.Context
 31722  	header_                http.Header
 31723  }
 31724  
 31725  // Delete: Deletes an inventory source group.
 31726  //
 31727  // - inventorySourceGroupId: The ID of the inventory source group to delete.
 31728  func (r *InventorySourceGroupsService) Delete(inventorySourceGroupId int64) *InventorySourceGroupsDeleteCall {
 31729  	c := &InventorySourceGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31730  	c.inventorySourceGroupId = inventorySourceGroupId
 31731  	return c
 31732  }
 31733  
 31734  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31735  // advertiser that owns the inventory source group. The parent partner does not
 31736  // have access to this group.
 31737  func (c *InventorySourceGroupsDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsDeleteCall {
 31738  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31739  	return c
 31740  }
 31741  
 31742  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31743  // that owns the inventory source group. Only this partner has write access to
 31744  // this group.
 31745  func (c *InventorySourceGroupsDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsDeleteCall {
 31746  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31747  	return c
 31748  }
 31749  
 31750  // Fields allows partial responses to be retrieved. See
 31751  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31752  // details.
 31753  func (c *InventorySourceGroupsDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsDeleteCall {
 31754  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31755  	return c
 31756  }
 31757  
 31758  // Context sets the context to be used in this call's Do method.
 31759  func (c *InventorySourceGroupsDeleteCall) Context(ctx context.Context) *InventorySourceGroupsDeleteCall {
 31760  	c.ctx_ = ctx
 31761  	return c
 31762  }
 31763  
 31764  // Header returns a http.Header that can be modified by the caller to add
 31765  // headers to the request.
 31766  func (c *InventorySourceGroupsDeleteCall) Header() http.Header {
 31767  	if c.header_ == nil {
 31768  		c.header_ = make(http.Header)
 31769  	}
 31770  	return c.header_
 31771  }
 31772  
 31773  func (c *InventorySourceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 31774  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 31775  	var body io.Reader = nil
 31776  	c.urlParams_.Set("alt", alt)
 31777  	c.urlParams_.Set("prettyPrint", "false")
 31778  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySourceGroups/{+inventorySourceGroupId}")
 31779  	urls += "?" + c.urlParams_.Encode()
 31780  	req, err := http.NewRequest("DELETE", urls, body)
 31781  	if err != nil {
 31782  		return nil, err
 31783  	}
 31784  	req.Header = reqHeaders
 31785  	googleapi.Expand(req.URL, map[string]string{
 31786  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 31787  	})
 31788  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31789  }
 31790  
 31791  // Do executes the "displayvideo.inventorySourceGroups.delete" call.
 31792  // Any non-2xx status code is an error. Response headers are in either
 31793  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 31794  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 31795  // whether the returned error was because http.StatusNotModified was returned.
 31796  func (c *InventorySourceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 31797  	gensupport.SetOptions(c.urlParams_, opts...)
 31798  	res, err := c.doRequest("json")
 31799  	if res != nil && res.StatusCode == http.StatusNotModified {
 31800  		if res.Body != nil {
 31801  			res.Body.Close()
 31802  		}
 31803  		return nil, gensupport.WrapError(&googleapi.Error{
 31804  			Code:   res.StatusCode,
 31805  			Header: res.Header,
 31806  		})
 31807  	}
 31808  	if err != nil {
 31809  		return nil, err
 31810  	}
 31811  	defer googleapi.CloseBody(res)
 31812  	if err := googleapi.CheckResponse(res); err != nil {
 31813  		return nil, gensupport.WrapError(err)
 31814  	}
 31815  	ret := &Empty{
 31816  		ServerResponse: googleapi.ServerResponse{
 31817  			Header:         res.Header,
 31818  			HTTPStatusCode: res.StatusCode,
 31819  		},
 31820  	}
 31821  	target := &ret
 31822  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31823  		return nil, err
 31824  	}
 31825  	return ret, nil
 31826  }
 31827  
 31828  type InventorySourceGroupsGetCall struct {
 31829  	s                      *Service
 31830  	inventorySourceGroupId int64
 31831  	urlParams_             gensupport.URLParams
 31832  	ifNoneMatch_           string
 31833  	ctx_                   context.Context
 31834  	header_                http.Header
 31835  }
 31836  
 31837  // Get: Gets an inventory source group.
 31838  //
 31839  // - inventorySourceGroupId: The ID of the inventory source group to fetch.
 31840  func (r *InventorySourceGroupsService) Get(inventorySourceGroupId int64) *InventorySourceGroupsGetCall {
 31841  	c := &InventorySourceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31842  	c.inventorySourceGroupId = inventorySourceGroupId
 31843  	return c
 31844  }
 31845  
 31846  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31847  // advertiser that has access to the inventory source group. If an inventory
 31848  // source group is partner-owned, only advertisers to which the group is
 31849  // explicitly shared can access the group.
 31850  func (c *InventorySourceGroupsGetCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsGetCall {
 31851  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31852  	return c
 31853  }
 31854  
 31855  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 31856  // that has access to the inventory source group. A partner cannot access an
 31857  // advertiser-owned inventory source group.
 31858  func (c *InventorySourceGroupsGetCall) PartnerId(partnerId int64) *InventorySourceGroupsGetCall {
 31859  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 31860  	return c
 31861  }
 31862  
 31863  // Fields allows partial responses to be retrieved. See
 31864  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 31865  // details.
 31866  func (c *InventorySourceGroupsGetCall) Fields(s ...googleapi.Field) *InventorySourceGroupsGetCall {
 31867  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31868  	return c
 31869  }
 31870  
 31871  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 31872  // object's ETag matches the given value. This is useful for getting updates
 31873  // only after the object has changed since the last request.
 31874  func (c *InventorySourceGroupsGetCall) IfNoneMatch(entityTag string) *InventorySourceGroupsGetCall {
 31875  	c.ifNoneMatch_ = entityTag
 31876  	return c
 31877  }
 31878  
 31879  // Context sets the context to be used in this call's Do method.
 31880  func (c *InventorySourceGroupsGetCall) Context(ctx context.Context) *InventorySourceGroupsGetCall {
 31881  	c.ctx_ = ctx
 31882  	return c
 31883  }
 31884  
 31885  // Header returns a http.Header that can be modified by the caller to add
 31886  // headers to the request.
 31887  func (c *InventorySourceGroupsGetCall) Header() http.Header {
 31888  	if c.header_ == nil {
 31889  		c.header_ = make(http.Header)
 31890  	}
 31891  	return c.header_
 31892  }
 31893  
 31894  func (c *InventorySourceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 31895  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 31896  	if c.ifNoneMatch_ != "" {
 31897  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31898  	}
 31899  	var body io.Reader = nil
 31900  	c.urlParams_.Set("alt", alt)
 31901  	c.urlParams_.Set("prettyPrint", "false")
 31902  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySourceGroups/{+inventorySourceGroupId}")
 31903  	urls += "?" + c.urlParams_.Encode()
 31904  	req, err := http.NewRequest("GET", urls, body)
 31905  	if err != nil {
 31906  		return nil, err
 31907  	}
 31908  	req.Header = reqHeaders
 31909  	googleapi.Expand(req.URL, map[string]string{
 31910  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 31911  	})
 31912  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31913  }
 31914  
 31915  // Do executes the "displayvideo.inventorySourceGroups.get" call.
 31916  // Any non-2xx status code is an error. Response headers are in either
 31917  // *InventorySourceGroup.ServerResponse.Header or (if a response was returned
 31918  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 31919  // check whether the returned error was because http.StatusNotModified was
 31920  // returned.
 31921  func (c *InventorySourceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
 31922  	gensupport.SetOptions(c.urlParams_, opts...)
 31923  	res, err := c.doRequest("json")
 31924  	if res != nil && res.StatusCode == http.StatusNotModified {
 31925  		if res.Body != nil {
 31926  			res.Body.Close()
 31927  		}
 31928  		return nil, gensupport.WrapError(&googleapi.Error{
 31929  			Code:   res.StatusCode,
 31930  			Header: res.Header,
 31931  		})
 31932  	}
 31933  	if err != nil {
 31934  		return nil, err
 31935  	}
 31936  	defer googleapi.CloseBody(res)
 31937  	if err := googleapi.CheckResponse(res); err != nil {
 31938  		return nil, gensupport.WrapError(err)
 31939  	}
 31940  	ret := &InventorySourceGroup{
 31941  		ServerResponse: googleapi.ServerResponse{
 31942  			Header:         res.Header,
 31943  			HTTPStatusCode: res.StatusCode,
 31944  		},
 31945  	}
 31946  	target := &ret
 31947  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31948  		return nil, err
 31949  	}
 31950  	return ret, nil
 31951  }
 31952  
 31953  type InventorySourceGroupsListCall struct {
 31954  	s            *Service
 31955  	urlParams_   gensupport.URLParams
 31956  	ifNoneMatch_ string
 31957  	ctx_         context.Context
 31958  	header_      http.Header
 31959  }
 31960  
 31961  // List: Lists inventory source groups that are accessible to the current user.
 31962  // The order is defined by the order_by parameter.
 31963  func (r *InventorySourceGroupsService) List() *InventorySourceGroupsListCall {
 31964  	c := &InventorySourceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31965  	return c
 31966  }
 31967  
 31968  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 31969  // advertiser that has access to the inventory source group. If an inventory
 31970  // source group is partner-owned, only advertisers to which the group is
 31971  // explicitly shared can access the group.
 31972  func (c *InventorySourceGroupsListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsListCall {
 31973  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31974  	return c
 31975  }
 31976  
 31977  // Filter sets the optional parameter "filter": Allows filtering by inventory
 31978  // source group fields. Supported syntax: * Filter expressions are made up of
 31979  // one or more restrictions. * Restrictions can be combined by the logical
 31980  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 31981  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 31982  // `inventorySourceGroupId` The length of this field should be no more than 500
 31983  // characters. Reference our filter `LIST` requests
 31984  // (/display-video/api/guides/how-tos/filters) guide for more information.
 31985  func (c *InventorySourceGroupsListCall) Filter(filter string) *InventorySourceGroupsListCall {
 31986  	c.urlParams_.Set("filter", filter)
 31987  	return c
 31988  }
 31989  
 31990  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 31991  // list. Acceptable values are: * `displayName` (default) *
 31992  // `inventorySourceGroupId` The default sorting order is ascending. To specify
 31993  // descending order for a field, a suffix "desc" should be added to the field
 31994  // name. For example, `displayName desc`.
 31995  func (c *InventorySourceGroupsListCall) OrderBy(orderBy string) *InventorySourceGroupsListCall {
 31996  	c.urlParams_.Set("orderBy", orderBy)
 31997  	return c
 31998  }
 31999  
 32000  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 32001  // be between `1` and `200`. If unspecified will default to `100`.
 32002  func (c *InventorySourceGroupsListCall) PageSize(pageSize int64) *InventorySourceGroupsListCall {
 32003  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 32004  	return c
 32005  }
 32006  
 32007  // PageToken sets the optional parameter "pageToken": A token identifying a
 32008  // page of results the server should return. Typically, this is the value of
 32009  // next_page_token returned from the previous call to `ListInventorySources`
 32010  // method. If not specified, the first page of results will be returned.
 32011  func (c *InventorySourceGroupsListCall) PageToken(pageToken string) *InventorySourceGroupsListCall {
 32012  	c.urlParams_.Set("pageToken", pageToken)
 32013  	return c
 32014  }
 32015  
 32016  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32017  // that has access to the inventory source group. A partner cannot access
 32018  // advertiser-owned inventory source groups.
 32019  func (c *InventorySourceGroupsListCall) PartnerId(partnerId int64) *InventorySourceGroupsListCall {
 32020  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32021  	return c
 32022  }
 32023  
 32024  // Fields allows partial responses to be retrieved. See
 32025  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32026  // details.
 32027  func (c *InventorySourceGroupsListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsListCall {
 32028  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32029  	return c
 32030  }
 32031  
 32032  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 32033  // object's ETag matches the given value. This is useful for getting updates
 32034  // only after the object has changed since the last request.
 32035  func (c *InventorySourceGroupsListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsListCall {
 32036  	c.ifNoneMatch_ = entityTag
 32037  	return c
 32038  }
 32039  
 32040  // Context sets the context to be used in this call's Do method.
 32041  func (c *InventorySourceGroupsListCall) Context(ctx context.Context) *InventorySourceGroupsListCall {
 32042  	c.ctx_ = ctx
 32043  	return c
 32044  }
 32045  
 32046  // Header returns a http.Header that can be modified by the caller to add
 32047  // headers to the request.
 32048  func (c *InventorySourceGroupsListCall) Header() http.Header {
 32049  	if c.header_ == nil {
 32050  		c.header_ = make(http.Header)
 32051  	}
 32052  	return c.header_
 32053  }
 32054  
 32055  func (c *InventorySourceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 32056  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 32057  	if c.ifNoneMatch_ != "" {
 32058  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32059  	}
 32060  	var body io.Reader = nil
 32061  	c.urlParams_.Set("alt", alt)
 32062  	c.urlParams_.Set("prettyPrint", "false")
 32063  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySourceGroups")
 32064  	urls += "?" + c.urlParams_.Encode()
 32065  	req, err := http.NewRequest("GET", urls, body)
 32066  	if err != nil {
 32067  		return nil, err
 32068  	}
 32069  	req.Header = reqHeaders
 32070  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32071  }
 32072  
 32073  // Do executes the "displayvideo.inventorySourceGroups.list" call.
 32074  // Any non-2xx status code is an error. Response headers are in either
 32075  // *ListInventorySourceGroupsResponse.ServerResponse.Header or (if a response
 32076  // was returned at all) in error.(*googleapi.Error).Header. Use
 32077  // googleapi.IsNotModified to check whether the returned error was because
 32078  // http.StatusNotModified was returned.
 32079  func (c *InventorySourceGroupsListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourceGroupsResponse, error) {
 32080  	gensupport.SetOptions(c.urlParams_, opts...)
 32081  	res, err := c.doRequest("json")
 32082  	if res != nil && res.StatusCode == http.StatusNotModified {
 32083  		if res.Body != nil {
 32084  			res.Body.Close()
 32085  		}
 32086  		return nil, gensupport.WrapError(&googleapi.Error{
 32087  			Code:   res.StatusCode,
 32088  			Header: res.Header,
 32089  		})
 32090  	}
 32091  	if err != nil {
 32092  		return nil, err
 32093  	}
 32094  	defer googleapi.CloseBody(res)
 32095  	if err := googleapi.CheckResponse(res); err != nil {
 32096  		return nil, gensupport.WrapError(err)
 32097  	}
 32098  	ret := &ListInventorySourceGroupsResponse{
 32099  		ServerResponse: googleapi.ServerResponse{
 32100  			Header:         res.Header,
 32101  			HTTPStatusCode: res.StatusCode,
 32102  		},
 32103  	}
 32104  	target := &ret
 32105  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32106  		return nil, err
 32107  	}
 32108  	return ret, nil
 32109  }
 32110  
 32111  // Pages invokes f for each page of results.
 32112  // A non-nil error returned from f will halt the iteration.
 32113  // The provided context supersedes any context provided to the Context method.
 32114  func (c *InventorySourceGroupsListCall) Pages(ctx context.Context, f func(*ListInventorySourceGroupsResponse) error) error {
 32115  	c.ctx_ = ctx
 32116  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 32117  	for {
 32118  		x, err := c.Do()
 32119  		if err != nil {
 32120  			return err
 32121  		}
 32122  		if err := f(x); err != nil {
 32123  			return err
 32124  		}
 32125  		if x.NextPageToken == "" {
 32126  			return nil
 32127  		}
 32128  		c.PageToken(x.NextPageToken)
 32129  	}
 32130  }
 32131  
 32132  type InventorySourceGroupsPatchCall struct {
 32133  	s                      *Service
 32134  	inventorySourceGroupId int64
 32135  	inventorysourcegroup   *InventorySourceGroup
 32136  	urlParams_             gensupport.URLParams
 32137  	ctx_                   context.Context
 32138  	header_                http.Header
 32139  }
 32140  
 32141  // Patch: Updates an inventory source group. Returns the updated inventory
 32142  // source group if successful.
 32143  //
 32144  //   - inventorySourceGroupId: Output only. The unique ID of the inventory source
 32145  //     group. Assigned by the system.
 32146  func (r *InventorySourceGroupsService) Patch(inventorySourceGroupId int64, inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsPatchCall {
 32147  	c := &InventorySourceGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32148  	c.inventorySourceGroupId = inventorySourceGroupId
 32149  	c.inventorysourcegroup = inventorysourcegroup
 32150  	return c
 32151  }
 32152  
 32153  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 32154  // advertiser that owns the inventory source group. The parent partner does not
 32155  // have access to this group.
 32156  func (c *InventorySourceGroupsPatchCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsPatchCall {
 32157  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32158  	return c
 32159  }
 32160  
 32161  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32162  // that owns the inventory source group. Only this partner has write access to
 32163  // this group.
 32164  func (c *InventorySourceGroupsPatchCall) PartnerId(partnerId int64) *InventorySourceGroupsPatchCall {
 32165  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32166  	return c
 32167  }
 32168  
 32169  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 32170  // control which fields to update.
 32171  func (c *InventorySourceGroupsPatchCall) UpdateMask(updateMask string) *InventorySourceGroupsPatchCall {
 32172  	c.urlParams_.Set("updateMask", updateMask)
 32173  	return c
 32174  }
 32175  
 32176  // Fields allows partial responses to be retrieved. See
 32177  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32178  // details.
 32179  func (c *InventorySourceGroupsPatchCall) Fields(s ...googleapi.Field) *InventorySourceGroupsPatchCall {
 32180  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32181  	return c
 32182  }
 32183  
 32184  // Context sets the context to be used in this call's Do method.
 32185  func (c *InventorySourceGroupsPatchCall) Context(ctx context.Context) *InventorySourceGroupsPatchCall {
 32186  	c.ctx_ = ctx
 32187  	return c
 32188  }
 32189  
 32190  // Header returns a http.Header that can be modified by the caller to add
 32191  // headers to the request.
 32192  func (c *InventorySourceGroupsPatchCall) Header() http.Header {
 32193  	if c.header_ == nil {
 32194  		c.header_ = make(http.Header)
 32195  	}
 32196  	return c.header_
 32197  }
 32198  
 32199  func (c *InventorySourceGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 32200  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 32201  	var body io.Reader = nil
 32202  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup)
 32203  	if err != nil {
 32204  		return nil, err
 32205  	}
 32206  	c.urlParams_.Set("alt", alt)
 32207  	c.urlParams_.Set("prettyPrint", "false")
 32208  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySourceGroups/{inventorySourceGroupId}")
 32209  	urls += "?" + c.urlParams_.Encode()
 32210  	req, err := http.NewRequest("PATCH", urls, body)
 32211  	if err != nil {
 32212  		return nil, err
 32213  	}
 32214  	req.Header = reqHeaders
 32215  	googleapi.Expand(req.URL, map[string]string{
 32216  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 32217  	})
 32218  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32219  }
 32220  
 32221  // Do executes the "displayvideo.inventorySourceGroups.patch" call.
 32222  // Any non-2xx status code is an error. Response headers are in either
 32223  // *InventorySourceGroup.ServerResponse.Header or (if a response was returned
 32224  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 32225  // check whether the returned error was because http.StatusNotModified was
 32226  // returned.
 32227  func (c *InventorySourceGroupsPatchCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
 32228  	gensupport.SetOptions(c.urlParams_, opts...)
 32229  	res, err := c.doRequest("json")
 32230  	if res != nil && res.StatusCode == http.StatusNotModified {
 32231  		if res.Body != nil {
 32232  			res.Body.Close()
 32233  		}
 32234  		return nil, gensupport.WrapError(&googleapi.Error{
 32235  			Code:   res.StatusCode,
 32236  			Header: res.Header,
 32237  		})
 32238  	}
 32239  	if err != nil {
 32240  		return nil, err
 32241  	}
 32242  	defer googleapi.CloseBody(res)
 32243  	if err := googleapi.CheckResponse(res); err != nil {
 32244  		return nil, gensupport.WrapError(err)
 32245  	}
 32246  	ret := &InventorySourceGroup{
 32247  		ServerResponse: googleapi.ServerResponse{
 32248  			Header:         res.Header,
 32249  			HTTPStatusCode: res.StatusCode,
 32250  		},
 32251  	}
 32252  	target := &ret
 32253  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32254  		return nil, err
 32255  	}
 32256  	return ret, nil
 32257  }
 32258  
 32259  type InventorySourceGroupsAssignedInventorySourcesBulkEditCall struct {
 32260  	s                                       *Service
 32261  	inventorySourceGroupId                  int64
 32262  	bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest
 32263  	urlParams_                              gensupport.URLParams
 32264  	ctx_                                    context.Context
 32265  	header_                                 http.Header
 32266  }
 32267  
 32268  // BulkEdit: Bulk edits multiple assignments between inventory sources and a
 32269  // single inventory source group. The operation will delete the assigned
 32270  // inventory sources provided in
 32271  // BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources
 32272  // and then create the assigned inventory sources provided in
 32273  // BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources.
 32274  //
 32275  //   - inventorySourceGroupId: The ID of the inventory source group to which the
 32276  //     assignments are assigned.
 32277  func (r *InventorySourceGroupsAssignedInventorySourcesService) BulkEdit(inventorySourceGroupId int64, bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
 32278  	c := &InventorySourceGroupsAssignedInventorySourcesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32279  	c.inventorySourceGroupId = inventorySourceGroupId
 32280  	c.bulkeditassignedinventorysourcesrequest = bulkeditassignedinventorysourcesrequest
 32281  	return c
 32282  }
 32283  
 32284  // Fields allows partial responses to be retrieved. See
 32285  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32286  // details.
 32287  func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
 32288  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32289  	return c
 32290  }
 32291  
 32292  // Context sets the context to be used in this call's Do method.
 32293  func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
 32294  	c.ctx_ = ctx
 32295  	return c
 32296  }
 32297  
 32298  // Header returns a http.Header that can be modified by the caller to add
 32299  // headers to the request.
 32300  func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Header() http.Header {
 32301  	if c.header_ == nil {
 32302  		c.header_ = make(http.Header)
 32303  	}
 32304  	return c.header_
 32305  }
 32306  
 32307  func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) doRequest(alt string) (*http.Response, error) {
 32308  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 32309  	var body io.Reader = nil
 32310  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedinventorysourcesrequest)
 32311  	if err != nil {
 32312  		return nil, err
 32313  	}
 32314  	c.urlParams_.Set("alt", alt)
 32315  	c.urlParams_.Set("prettyPrint", "false")
 32316  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit")
 32317  	urls += "?" + c.urlParams_.Encode()
 32318  	req, err := http.NewRequest("POST", urls, body)
 32319  	if err != nil {
 32320  		return nil, err
 32321  	}
 32322  	req.Header = reqHeaders
 32323  	googleapi.Expand(req.URL, map[string]string{
 32324  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 32325  	})
 32326  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32327  }
 32328  
 32329  // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit" call.
 32330  // Any non-2xx status code is an error. Response headers are in either
 32331  // *BulkEditAssignedInventorySourcesResponse.ServerResponse.Header or (if a
 32332  // response was returned at all) in error.(*googleapi.Error).Header. Use
 32333  // googleapi.IsNotModified to check whether the returned error was because
 32334  // http.StatusNotModified was returned.
 32335  func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedInventorySourcesResponse, error) {
 32336  	gensupport.SetOptions(c.urlParams_, opts...)
 32337  	res, err := c.doRequest("json")
 32338  	if res != nil && res.StatusCode == http.StatusNotModified {
 32339  		if res.Body != nil {
 32340  			res.Body.Close()
 32341  		}
 32342  		return nil, gensupport.WrapError(&googleapi.Error{
 32343  			Code:   res.StatusCode,
 32344  			Header: res.Header,
 32345  		})
 32346  	}
 32347  	if err != nil {
 32348  		return nil, err
 32349  	}
 32350  	defer googleapi.CloseBody(res)
 32351  	if err := googleapi.CheckResponse(res); err != nil {
 32352  		return nil, gensupport.WrapError(err)
 32353  	}
 32354  	ret := &BulkEditAssignedInventorySourcesResponse{
 32355  		ServerResponse: googleapi.ServerResponse{
 32356  			Header:         res.Header,
 32357  			HTTPStatusCode: res.StatusCode,
 32358  		},
 32359  	}
 32360  	target := &ret
 32361  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32362  		return nil, err
 32363  	}
 32364  	return ret, nil
 32365  }
 32366  
 32367  type InventorySourceGroupsAssignedInventorySourcesCreateCall struct {
 32368  	s                       *Service
 32369  	inventorySourceGroupId  int64
 32370  	assignedinventorysource *AssignedInventorySource
 32371  	urlParams_              gensupport.URLParams
 32372  	ctx_                    context.Context
 32373  	header_                 http.Header
 32374  }
 32375  
 32376  // Create: Creates an assignment between an inventory source and an inventory
 32377  // source group.
 32378  //
 32379  //   - inventorySourceGroupId: The ID of the inventory source group to which the
 32380  //     assignment will be assigned.
 32381  func (r *InventorySourceGroupsAssignedInventorySourcesService) Create(inventorySourceGroupId int64, assignedinventorysource *AssignedInventorySource) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
 32382  	c := &InventorySourceGroupsAssignedInventorySourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32383  	c.inventorySourceGroupId = inventorySourceGroupId
 32384  	c.assignedinventorysource = assignedinventorysource
 32385  	return c
 32386  }
 32387  
 32388  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 32389  // advertiser that owns the parent inventory source group. The parent partner
 32390  // will not have access to this assigned inventory source.
 32391  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
 32392  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32393  	return c
 32394  }
 32395  
 32396  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32397  // that owns the parent inventory source group. Only this partner will have
 32398  // write access to this assigned inventory source.
 32399  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
 32400  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32401  	return c
 32402  }
 32403  
 32404  // Fields allows partial responses to be retrieved. See
 32405  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32406  // details.
 32407  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
 32408  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32409  	return c
 32410  }
 32411  
 32412  // Context sets the context to be used in this call's Do method.
 32413  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
 32414  	c.ctx_ = ctx
 32415  	return c
 32416  }
 32417  
 32418  // Header returns a http.Header that can be modified by the caller to add
 32419  // headers to the request.
 32420  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Header() http.Header {
 32421  	if c.header_ == nil {
 32422  		c.header_ = make(http.Header)
 32423  	}
 32424  	return c.header_
 32425  }
 32426  
 32427  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 32428  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 32429  	var body io.Reader = nil
 32430  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedinventorysource)
 32431  	if err != nil {
 32432  		return nil, err
 32433  	}
 32434  	c.urlParams_.Set("alt", alt)
 32435  	c.urlParams_.Set("prettyPrint", "false")
 32436  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources")
 32437  	urls += "?" + c.urlParams_.Encode()
 32438  	req, err := http.NewRequest("POST", urls, body)
 32439  	if err != nil {
 32440  		return nil, err
 32441  	}
 32442  	req.Header = reqHeaders
 32443  	googleapi.Expand(req.URL, map[string]string{
 32444  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 32445  	})
 32446  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32447  }
 32448  
 32449  // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.create" call.
 32450  // Any non-2xx status code is an error. Response headers are in either
 32451  // *AssignedInventorySource.ServerResponse.Header or (if a response was
 32452  // returned at all) in error.(*googleapi.Error).Header. Use
 32453  // googleapi.IsNotModified to check whether the returned error was because
 32454  // http.StatusNotModified was returned.
 32455  func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Do(opts ...googleapi.CallOption) (*AssignedInventorySource, error) {
 32456  	gensupport.SetOptions(c.urlParams_, opts...)
 32457  	res, err := c.doRequest("json")
 32458  	if res != nil && res.StatusCode == http.StatusNotModified {
 32459  		if res.Body != nil {
 32460  			res.Body.Close()
 32461  		}
 32462  		return nil, gensupport.WrapError(&googleapi.Error{
 32463  			Code:   res.StatusCode,
 32464  			Header: res.Header,
 32465  		})
 32466  	}
 32467  	if err != nil {
 32468  		return nil, err
 32469  	}
 32470  	defer googleapi.CloseBody(res)
 32471  	if err := googleapi.CheckResponse(res); err != nil {
 32472  		return nil, gensupport.WrapError(err)
 32473  	}
 32474  	ret := &AssignedInventorySource{
 32475  		ServerResponse: googleapi.ServerResponse{
 32476  			Header:         res.Header,
 32477  			HTTPStatusCode: res.StatusCode,
 32478  		},
 32479  	}
 32480  	target := &ret
 32481  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32482  		return nil, err
 32483  	}
 32484  	return ret, nil
 32485  }
 32486  
 32487  type InventorySourceGroupsAssignedInventorySourcesDeleteCall struct {
 32488  	s                         *Service
 32489  	inventorySourceGroupId    int64
 32490  	assignedInventorySourceId int64
 32491  	urlParams_                gensupport.URLParams
 32492  	ctx_                      context.Context
 32493  	header_                   http.Header
 32494  }
 32495  
 32496  // Delete: Deletes the assignment between an inventory source and an inventory
 32497  // source group.
 32498  //
 32499  //   - assignedInventorySourceId: The ID of the assigned inventory source to
 32500  //     delete.
 32501  //   - inventorySourceGroupId: The ID of the inventory source group to which this
 32502  //     assignment is assigned.
 32503  func (r *InventorySourceGroupsAssignedInventorySourcesService) Delete(inventorySourceGroupId int64, assignedInventorySourceId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
 32504  	c := &InventorySourceGroupsAssignedInventorySourcesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32505  	c.inventorySourceGroupId = inventorySourceGroupId
 32506  	c.assignedInventorySourceId = assignedInventorySourceId
 32507  	return c
 32508  }
 32509  
 32510  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 32511  // advertiser that owns the parent inventory source group. The parent partner
 32512  // does not have access to this assigned inventory source.
 32513  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
 32514  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32515  	return c
 32516  }
 32517  
 32518  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32519  // that owns the parent inventory source group. Only this partner has write
 32520  // access to this assigned inventory source.
 32521  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
 32522  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32523  	return c
 32524  }
 32525  
 32526  // Fields allows partial responses to be retrieved. See
 32527  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32528  // details.
 32529  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
 32530  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32531  	return c
 32532  }
 32533  
 32534  // Context sets the context to be used in this call's Do method.
 32535  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
 32536  	c.ctx_ = ctx
 32537  	return c
 32538  }
 32539  
 32540  // Header returns a http.Header that can be modified by the caller to add
 32541  // headers to the request.
 32542  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Header() http.Header {
 32543  	if c.header_ == nil {
 32544  		c.header_ = make(http.Header)
 32545  	}
 32546  	return c.header_
 32547  }
 32548  
 32549  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 32550  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 32551  	var body io.Reader = nil
 32552  	c.urlParams_.Set("alt", alt)
 32553  	c.urlParams_.Set("prettyPrint", "false")
 32554  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}")
 32555  	urls += "?" + c.urlParams_.Encode()
 32556  	req, err := http.NewRequest("DELETE", urls, body)
 32557  	if err != nil {
 32558  		return nil, err
 32559  	}
 32560  	req.Header = reqHeaders
 32561  	googleapi.Expand(req.URL, map[string]string{
 32562  		"inventorySourceGroupId":    strconv.FormatInt(c.inventorySourceGroupId, 10),
 32563  		"assignedInventorySourceId": strconv.FormatInt(c.assignedInventorySourceId, 10),
 32564  	})
 32565  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32566  }
 32567  
 32568  // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.delete" call.
 32569  // Any non-2xx status code is an error. Response headers are in either
 32570  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 32571  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 32572  // whether the returned error was because http.StatusNotModified was returned.
 32573  func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 32574  	gensupport.SetOptions(c.urlParams_, opts...)
 32575  	res, err := c.doRequest("json")
 32576  	if res != nil && res.StatusCode == http.StatusNotModified {
 32577  		if res.Body != nil {
 32578  			res.Body.Close()
 32579  		}
 32580  		return nil, gensupport.WrapError(&googleapi.Error{
 32581  			Code:   res.StatusCode,
 32582  			Header: res.Header,
 32583  		})
 32584  	}
 32585  	if err != nil {
 32586  		return nil, err
 32587  	}
 32588  	defer googleapi.CloseBody(res)
 32589  	if err := googleapi.CheckResponse(res); err != nil {
 32590  		return nil, gensupport.WrapError(err)
 32591  	}
 32592  	ret := &Empty{
 32593  		ServerResponse: googleapi.ServerResponse{
 32594  			Header:         res.Header,
 32595  			HTTPStatusCode: res.StatusCode,
 32596  		},
 32597  	}
 32598  	target := &ret
 32599  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32600  		return nil, err
 32601  	}
 32602  	return ret, nil
 32603  }
 32604  
 32605  type InventorySourceGroupsAssignedInventorySourcesListCall struct {
 32606  	s                      *Service
 32607  	inventorySourceGroupId int64
 32608  	urlParams_             gensupport.URLParams
 32609  	ifNoneMatch_           string
 32610  	ctx_                   context.Context
 32611  	header_                http.Header
 32612  }
 32613  
 32614  // List: Lists inventory sources assigned to an inventory source group.
 32615  //
 32616  //   - inventorySourceGroupId: The ID of the inventory source group to which
 32617  //     these assignments are assigned.
 32618  func (r *InventorySourceGroupsAssignedInventorySourcesService) List(inventorySourceGroupId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32619  	c := &InventorySourceGroupsAssignedInventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32620  	c.inventorySourceGroupId = inventorySourceGroupId
 32621  	return c
 32622  }
 32623  
 32624  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 32625  // advertiser that has access to the assignment. If the parent inventory source
 32626  // group is partner-owned, only advertisers to which the parent group is
 32627  // explicitly shared can access the assigned inventory source.
 32628  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32629  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32630  	return c
 32631  }
 32632  
 32633  // Filter sets the optional parameter "filter": Allows filtering by assigned
 32634  // inventory source fields. Supported syntax: * Filter expressions are made up
 32635  // of one or more restrictions. * Restrictions can be combined by the `OR`
 32636  // logical operator. * A restriction has the form of `{field} {operator}
 32637  // {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields:
 32638  // * `assignedInventorySourceId` The length of this field should be no more
 32639  // than 500 characters. Reference our filter `LIST` requests
 32640  // (/display-video/api/guides/how-tos/filters) guide for more information.
 32641  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Filter(filter string) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32642  	c.urlParams_.Set("filter", filter)
 32643  	return c
 32644  }
 32645  
 32646  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 32647  // list. Acceptable values are: * `assignedInventorySourceId` (default) The
 32648  // default sorting order is ascending. To specify descending order for a field,
 32649  // a suffix " desc" should be added to the field name. Example:
 32650  // `assignedInventorySourceId desc`.
 32651  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) OrderBy(orderBy string) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32652  	c.urlParams_.Set("orderBy", orderBy)
 32653  	return c
 32654  }
 32655  
 32656  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 32657  // be between `1` and `100`. If unspecified will default to `100`. Returns
 32658  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 32659  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageSize(pageSize int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32660  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 32661  	return c
 32662  }
 32663  
 32664  // PageToken sets the optional parameter "pageToken": A token identifying a
 32665  // page of results the server should return. Typically, this is the value of
 32666  // next_page_token returned from the previous call to
 32667  // `ListAssignedInventorySources` method. If not specified, the first page of
 32668  // results will be returned.
 32669  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageToken(pageToken string) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32670  	c.urlParams_.Set("pageToken", pageToken)
 32671  	return c
 32672  }
 32673  
 32674  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32675  // that has access to the assignment. If the parent inventory source group is
 32676  // advertiser-owned, the assignment cannot be accessed via a partner.
 32677  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32678  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32679  	return c
 32680  }
 32681  
 32682  // Fields allows partial responses to be retrieved. See
 32683  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32684  // details.
 32685  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32686  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32687  	return c
 32688  }
 32689  
 32690  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 32691  // object's ETag matches the given value. This is useful for getting updates
 32692  // only after the object has changed since the last request.
 32693  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32694  	c.ifNoneMatch_ = entityTag
 32695  	return c
 32696  }
 32697  
 32698  // Context sets the context to be used in this call's Do method.
 32699  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesListCall {
 32700  	c.ctx_ = ctx
 32701  	return c
 32702  }
 32703  
 32704  // Header returns a http.Header that can be modified by the caller to add
 32705  // headers to the request.
 32706  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Header() http.Header {
 32707  	if c.header_ == nil {
 32708  		c.header_ = make(http.Header)
 32709  	}
 32710  	return c.header_
 32711  }
 32712  
 32713  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
 32714  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 32715  	if c.ifNoneMatch_ != "" {
 32716  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32717  	}
 32718  	var body io.Reader = nil
 32719  	c.urlParams_.Set("alt", alt)
 32720  	c.urlParams_.Set("prettyPrint", "false")
 32721  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources")
 32722  	urls += "?" + c.urlParams_.Encode()
 32723  	req, err := http.NewRequest("GET", urls, body)
 32724  	if err != nil {
 32725  		return nil, err
 32726  	}
 32727  	req.Header = reqHeaders
 32728  	googleapi.Expand(req.URL, map[string]string{
 32729  		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
 32730  	})
 32731  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32732  }
 32733  
 32734  // Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.list" call.
 32735  // Any non-2xx status code is an error. Response headers are in either
 32736  // *ListAssignedInventorySourcesResponse.ServerResponse.Header or (if a
 32737  // response was returned at all) in error.(*googleapi.Error).Header. Use
 32738  // googleapi.IsNotModified to check whether the returned error was because
 32739  // http.StatusNotModified was returned.
 32740  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListAssignedInventorySourcesResponse, error) {
 32741  	gensupport.SetOptions(c.urlParams_, opts...)
 32742  	res, err := c.doRequest("json")
 32743  	if res != nil && res.StatusCode == http.StatusNotModified {
 32744  		if res.Body != nil {
 32745  			res.Body.Close()
 32746  		}
 32747  		return nil, gensupport.WrapError(&googleapi.Error{
 32748  			Code:   res.StatusCode,
 32749  			Header: res.Header,
 32750  		})
 32751  	}
 32752  	if err != nil {
 32753  		return nil, err
 32754  	}
 32755  	defer googleapi.CloseBody(res)
 32756  	if err := googleapi.CheckResponse(res); err != nil {
 32757  		return nil, gensupport.WrapError(err)
 32758  	}
 32759  	ret := &ListAssignedInventorySourcesResponse{
 32760  		ServerResponse: googleapi.ServerResponse{
 32761  			Header:         res.Header,
 32762  			HTTPStatusCode: res.StatusCode,
 32763  		},
 32764  	}
 32765  	target := &ret
 32766  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32767  		return nil, err
 32768  	}
 32769  	return ret, nil
 32770  }
 32771  
 32772  // Pages invokes f for each page of results.
 32773  // A non-nil error returned from f will halt the iteration.
 32774  // The provided context supersedes any context provided to the Context method.
 32775  func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Pages(ctx context.Context, f func(*ListAssignedInventorySourcesResponse) error) error {
 32776  	c.ctx_ = ctx
 32777  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 32778  	for {
 32779  		x, err := c.Do()
 32780  		if err != nil {
 32781  			return err
 32782  		}
 32783  		if err := f(x); err != nil {
 32784  			return err
 32785  		}
 32786  		if x.NextPageToken == "" {
 32787  			return nil
 32788  		}
 32789  		c.PageToken(x.NextPageToken)
 32790  	}
 32791  }
 32792  
 32793  type InventorySourcesCreateCall struct {
 32794  	s               *Service
 32795  	inventorysource *InventorySource
 32796  	urlParams_      gensupport.URLParams
 32797  	ctx_            context.Context
 32798  	header_         http.Header
 32799  }
 32800  
 32801  // Create: Creates a new inventory source. Returns the newly created inventory
 32802  // source if successful.
 32803  func (r *InventorySourcesService) Create(inventorysource *InventorySource) *InventorySourcesCreateCall {
 32804  	c := &InventorySourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32805  	c.inventorysource = inventorysource
 32806  	return c
 32807  }
 32808  
 32809  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 32810  // advertiser that the request is being made within.
 32811  func (c *InventorySourcesCreateCall) AdvertiserId(advertiserId int64) *InventorySourcesCreateCall {
 32812  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32813  	return c
 32814  }
 32815  
 32816  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 32817  // that the request is being made within.
 32818  func (c *InventorySourcesCreateCall) PartnerId(partnerId int64) *InventorySourcesCreateCall {
 32819  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 32820  	return c
 32821  }
 32822  
 32823  // Fields allows partial responses to be retrieved. See
 32824  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32825  // details.
 32826  func (c *InventorySourcesCreateCall) Fields(s ...googleapi.Field) *InventorySourcesCreateCall {
 32827  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32828  	return c
 32829  }
 32830  
 32831  // Context sets the context to be used in this call's Do method.
 32832  func (c *InventorySourcesCreateCall) Context(ctx context.Context) *InventorySourcesCreateCall {
 32833  	c.ctx_ = ctx
 32834  	return c
 32835  }
 32836  
 32837  // Header returns a http.Header that can be modified by the caller to add
 32838  // headers to the request.
 32839  func (c *InventorySourcesCreateCall) Header() http.Header {
 32840  	if c.header_ == nil {
 32841  		c.header_ = make(http.Header)
 32842  	}
 32843  	return c.header_
 32844  }
 32845  
 32846  func (c *InventorySourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 32847  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 32848  	var body io.Reader = nil
 32849  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysource)
 32850  	if err != nil {
 32851  		return nil, err
 32852  	}
 32853  	c.urlParams_.Set("alt", alt)
 32854  	c.urlParams_.Set("prettyPrint", "false")
 32855  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySources")
 32856  	urls += "?" + c.urlParams_.Encode()
 32857  	req, err := http.NewRequest("POST", urls, body)
 32858  	if err != nil {
 32859  		return nil, err
 32860  	}
 32861  	req.Header = reqHeaders
 32862  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32863  }
 32864  
 32865  // Do executes the "displayvideo.inventorySources.create" call.
 32866  // Any non-2xx status code is an error. Response headers are in either
 32867  // *InventorySource.ServerResponse.Header or (if a response was returned at
 32868  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 32869  // check whether the returned error was because http.StatusNotModified was
 32870  // returned.
 32871  func (c *InventorySourcesCreateCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) {
 32872  	gensupport.SetOptions(c.urlParams_, opts...)
 32873  	res, err := c.doRequest("json")
 32874  	if res != nil && res.StatusCode == http.StatusNotModified {
 32875  		if res.Body != nil {
 32876  			res.Body.Close()
 32877  		}
 32878  		return nil, gensupport.WrapError(&googleapi.Error{
 32879  			Code:   res.StatusCode,
 32880  			Header: res.Header,
 32881  		})
 32882  	}
 32883  	if err != nil {
 32884  		return nil, err
 32885  	}
 32886  	defer googleapi.CloseBody(res)
 32887  	if err := googleapi.CheckResponse(res); err != nil {
 32888  		return nil, gensupport.WrapError(err)
 32889  	}
 32890  	ret := &InventorySource{
 32891  		ServerResponse: googleapi.ServerResponse{
 32892  			Header:         res.Header,
 32893  			HTTPStatusCode: res.StatusCode,
 32894  		},
 32895  	}
 32896  	target := &ret
 32897  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32898  		return nil, err
 32899  	}
 32900  	return ret, nil
 32901  }
 32902  
 32903  type InventorySourcesEditInventorySourceReadWriteAccessorsCall struct {
 32904  	s                                            *Service
 32905  	inventorySourceId                            int64
 32906  	editinventorysourcereadwriteaccessorsrequest *EditInventorySourceReadWriteAccessorsRequest
 32907  	urlParams_                                   gensupport.URLParams
 32908  	ctx_                                         context.Context
 32909  	header_                                      http.Header
 32910  }
 32911  
 32912  // EditInventorySourceReadWriteAccessors: Edits read/write accessors of an
 32913  // inventory source. Returns the updated read_write_accessors for the inventory
 32914  // source.
 32915  //
 32916  // - inventorySourceId: The ID of inventory source to update.
 32917  func (r *InventorySourcesService) EditInventorySourceReadWriteAccessors(inventorySourceId int64, editinventorysourcereadwriteaccessorsrequest *EditInventorySourceReadWriteAccessorsRequest) *InventorySourcesEditInventorySourceReadWriteAccessorsCall {
 32918  	c := &InventorySourcesEditInventorySourceReadWriteAccessorsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32919  	c.inventorySourceId = inventorySourceId
 32920  	c.editinventorysourcereadwriteaccessorsrequest = editinventorysourcereadwriteaccessorsrequest
 32921  	return c
 32922  }
 32923  
 32924  // Fields allows partial responses to be retrieved. See
 32925  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 32926  // details.
 32927  func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Fields(s ...googleapi.Field) *InventorySourcesEditInventorySourceReadWriteAccessorsCall {
 32928  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32929  	return c
 32930  }
 32931  
 32932  // Context sets the context to be used in this call's Do method.
 32933  func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Context(ctx context.Context) *InventorySourcesEditInventorySourceReadWriteAccessorsCall {
 32934  	c.ctx_ = ctx
 32935  	return c
 32936  }
 32937  
 32938  // Header returns a http.Header that can be modified by the caller to add
 32939  // headers to the request.
 32940  func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Header() http.Header {
 32941  	if c.header_ == nil {
 32942  		c.header_ = make(http.Header)
 32943  	}
 32944  	return c.header_
 32945  }
 32946  
 32947  func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) doRequest(alt string) (*http.Response, error) {
 32948  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 32949  	var body io.Reader = nil
 32950  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.editinventorysourcereadwriteaccessorsrequest)
 32951  	if err != nil {
 32952  		return nil, err
 32953  	}
 32954  	c.urlParams_.Set("alt", alt)
 32955  	c.urlParams_.Set("prettyPrint", "false")
 32956  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySources/{+inventorySourceId}:editInventorySourceReadWriteAccessors")
 32957  	urls += "?" + c.urlParams_.Encode()
 32958  	req, err := http.NewRequest("POST", urls, body)
 32959  	if err != nil {
 32960  		return nil, err
 32961  	}
 32962  	req.Header = reqHeaders
 32963  	googleapi.Expand(req.URL, map[string]string{
 32964  		"inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10),
 32965  	})
 32966  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32967  }
 32968  
 32969  // Do executes the "displayvideo.inventorySources.editInventorySourceReadWriteAccessors" call.
 32970  // Any non-2xx status code is an error. Response headers are in either
 32971  // *InventorySourceAccessors.ServerResponse.Header or (if a response was
 32972  // returned at all) in error.(*googleapi.Error).Header. Use
 32973  // googleapi.IsNotModified to check whether the returned error was because
 32974  // http.StatusNotModified was returned.
 32975  func (c *InventorySourcesEditInventorySourceReadWriteAccessorsCall) Do(opts ...googleapi.CallOption) (*InventorySourceAccessors, error) {
 32976  	gensupport.SetOptions(c.urlParams_, opts...)
 32977  	res, err := c.doRequest("json")
 32978  	if res != nil && res.StatusCode == http.StatusNotModified {
 32979  		if res.Body != nil {
 32980  			res.Body.Close()
 32981  		}
 32982  		return nil, gensupport.WrapError(&googleapi.Error{
 32983  			Code:   res.StatusCode,
 32984  			Header: res.Header,
 32985  		})
 32986  	}
 32987  	if err != nil {
 32988  		return nil, err
 32989  	}
 32990  	defer googleapi.CloseBody(res)
 32991  	if err := googleapi.CheckResponse(res); err != nil {
 32992  		return nil, gensupport.WrapError(err)
 32993  	}
 32994  	ret := &InventorySourceAccessors{
 32995  		ServerResponse: googleapi.ServerResponse{
 32996  			Header:         res.Header,
 32997  			HTTPStatusCode: res.StatusCode,
 32998  		},
 32999  	}
 33000  	target := &ret
 33001  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33002  		return nil, err
 33003  	}
 33004  	return ret, nil
 33005  }
 33006  
 33007  type InventorySourcesGetCall struct {
 33008  	s                 *Service
 33009  	inventorySourceId int64
 33010  	urlParams_        gensupport.URLParams
 33011  	ifNoneMatch_      string
 33012  	ctx_              context.Context
 33013  	header_           http.Header
 33014  }
 33015  
 33016  // Get: Gets an inventory source.
 33017  //
 33018  // - inventorySourceId: The ID of the inventory source to fetch.
 33019  func (r *InventorySourcesService) Get(inventorySourceId int64) *InventorySourcesGetCall {
 33020  	c := &InventorySourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33021  	c.inventorySourceId = inventorySourceId
 33022  	return c
 33023  }
 33024  
 33025  // AdvertiserId sets the optional parameter "advertiserId": The ID of the DV360
 33026  // advertiser to which the fetched inventory source is permissioned. If the
 33027  // user only has access to the advertiser and not the parent partner, use this
 33028  // field to specify the relevant advertiser.
 33029  func (c *InventorySourcesGetCall) AdvertiserId(advertiserId int64) *InventorySourcesGetCall {
 33030  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33031  	return c
 33032  }
 33033  
 33034  // PartnerId sets the optional parameter "partnerId": Required. The ID of the
 33035  // DV360 partner to which the fetched inventory source is permissioned.
 33036  func (c *InventorySourcesGetCall) PartnerId(partnerId int64) *InventorySourcesGetCall {
 33037  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 33038  	return c
 33039  }
 33040  
 33041  // Fields allows partial responses to be retrieved. See
 33042  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33043  // details.
 33044  func (c *InventorySourcesGetCall) Fields(s ...googleapi.Field) *InventorySourcesGetCall {
 33045  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33046  	return c
 33047  }
 33048  
 33049  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 33050  // object's ETag matches the given value. This is useful for getting updates
 33051  // only after the object has changed since the last request.
 33052  func (c *InventorySourcesGetCall) IfNoneMatch(entityTag string) *InventorySourcesGetCall {
 33053  	c.ifNoneMatch_ = entityTag
 33054  	return c
 33055  }
 33056  
 33057  // Context sets the context to be used in this call's Do method.
 33058  func (c *InventorySourcesGetCall) Context(ctx context.Context) *InventorySourcesGetCall {
 33059  	c.ctx_ = ctx
 33060  	return c
 33061  }
 33062  
 33063  // Header returns a http.Header that can be modified by the caller to add
 33064  // headers to the request.
 33065  func (c *InventorySourcesGetCall) Header() http.Header {
 33066  	if c.header_ == nil {
 33067  		c.header_ = make(http.Header)
 33068  	}
 33069  	return c.header_
 33070  }
 33071  
 33072  func (c *InventorySourcesGetCall) doRequest(alt string) (*http.Response, error) {
 33073  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 33074  	if c.ifNoneMatch_ != "" {
 33075  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33076  	}
 33077  	var body io.Reader = nil
 33078  	c.urlParams_.Set("alt", alt)
 33079  	c.urlParams_.Set("prettyPrint", "false")
 33080  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySources/{+inventorySourceId}")
 33081  	urls += "?" + c.urlParams_.Encode()
 33082  	req, err := http.NewRequest("GET", urls, body)
 33083  	if err != nil {
 33084  		return nil, err
 33085  	}
 33086  	req.Header = reqHeaders
 33087  	googleapi.Expand(req.URL, map[string]string{
 33088  		"inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10),
 33089  	})
 33090  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33091  }
 33092  
 33093  // Do executes the "displayvideo.inventorySources.get" call.
 33094  // Any non-2xx status code is an error. Response headers are in either
 33095  // *InventorySource.ServerResponse.Header or (if a response was returned at
 33096  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 33097  // check whether the returned error was because http.StatusNotModified was
 33098  // returned.
 33099  func (c *InventorySourcesGetCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) {
 33100  	gensupport.SetOptions(c.urlParams_, opts...)
 33101  	res, err := c.doRequest("json")
 33102  	if res != nil && res.StatusCode == http.StatusNotModified {
 33103  		if res.Body != nil {
 33104  			res.Body.Close()
 33105  		}
 33106  		return nil, gensupport.WrapError(&googleapi.Error{
 33107  			Code:   res.StatusCode,
 33108  			Header: res.Header,
 33109  		})
 33110  	}
 33111  	if err != nil {
 33112  		return nil, err
 33113  	}
 33114  	defer googleapi.CloseBody(res)
 33115  	if err := googleapi.CheckResponse(res); err != nil {
 33116  		return nil, gensupport.WrapError(err)
 33117  	}
 33118  	ret := &InventorySource{
 33119  		ServerResponse: googleapi.ServerResponse{
 33120  			Header:         res.Header,
 33121  			HTTPStatusCode: res.StatusCode,
 33122  		},
 33123  	}
 33124  	target := &ret
 33125  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33126  		return nil, err
 33127  	}
 33128  	return ret, nil
 33129  }
 33130  
 33131  type InventorySourcesListCall struct {
 33132  	s            *Service
 33133  	urlParams_   gensupport.URLParams
 33134  	ifNoneMatch_ string
 33135  	ctx_         context.Context
 33136  	header_      http.Header
 33137  }
 33138  
 33139  // List: Lists inventory sources that are accessible to the current user. The
 33140  // order is defined by the order_by parameter. If a filter by entity_status is
 33141  // not specified, inventory sources with entity status `ENTITY_STATUS_ARCHIVED`
 33142  // will not be included in the results.
 33143  func (r *InventorySourcesService) List() *InventorySourcesListCall {
 33144  	c := &InventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33145  	return c
 33146  }
 33147  
 33148  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 33149  // advertiser that has access to the inventory source.
 33150  func (c *InventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourcesListCall {
 33151  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33152  	return c
 33153  }
 33154  
 33155  // Filter sets the optional parameter "filter": Allows filtering by inventory
 33156  // source fields. Supported syntax: * Filter expressions are made up of one or
 33157  // more restrictions. * Restrictions can be combined by `AND` or `OR` logical
 33158  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 33159  // has the form of `{field} {operator} {value}`. * All fields must use the
 33160  // `EQUALS (=)` operator. Supported fields: * `status.entityStatus` *
 33161  // `commitment` * `deliveryMethod` * `rateDetails.rateType` * `exchange`
 33162  // Examples: * All active inventory sources:
 33163  // `status.entityStatus="ENTITY_STATUS_ACTIVE" * Inventory sources belonging
 33164  // to Google Ad Manager or Rubicon exchanges:
 33165  // `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR exchange="EXCHANGE_RUBICON" The
 33166  // length of this field should be no more than 500 characters. Reference our
 33167  // filter `LIST` requests (/display-video/api/guides/how-tos/filters) guide for
 33168  // more information.
 33169  func (c *InventorySourcesListCall) Filter(filter string) *InventorySourcesListCall {
 33170  	c.urlParams_.Set("filter", filter)
 33171  	return c
 33172  }
 33173  
 33174  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 33175  // list. Acceptable values are: * `displayName` (default) The default sorting
 33176  // order is ascending. To specify descending order for a field, a suffix "desc"
 33177  // should be added to the field name. For example, `displayName desc`.
 33178  func (c *InventorySourcesListCall) OrderBy(orderBy string) *InventorySourcesListCall {
 33179  	c.urlParams_.Set("orderBy", orderBy)
 33180  	return c
 33181  }
 33182  
 33183  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 33184  // be between `1` and `200`. If unspecified will default to `100`.
 33185  func (c *InventorySourcesListCall) PageSize(pageSize int64) *InventorySourcesListCall {
 33186  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 33187  	return c
 33188  }
 33189  
 33190  // PageToken sets the optional parameter "pageToken": A token identifying a
 33191  // page of results the server should return. Typically, this is the value of
 33192  // next_page_token returned from the previous call to `ListInventorySources`
 33193  // method. If not specified, the first page of results will be returned.
 33194  func (c *InventorySourcesListCall) PageToken(pageToken string) *InventorySourcesListCall {
 33195  	c.urlParams_.Set("pageToken", pageToken)
 33196  	return c
 33197  }
 33198  
 33199  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 33200  // that has access to the inventory source.
 33201  func (c *InventorySourcesListCall) PartnerId(partnerId int64) *InventorySourcesListCall {
 33202  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 33203  	return c
 33204  }
 33205  
 33206  // Fields allows partial responses to be retrieved. See
 33207  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33208  // details.
 33209  func (c *InventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourcesListCall {
 33210  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33211  	return c
 33212  }
 33213  
 33214  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 33215  // object's ETag matches the given value. This is useful for getting updates
 33216  // only after the object has changed since the last request.
 33217  func (c *InventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourcesListCall {
 33218  	c.ifNoneMatch_ = entityTag
 33219  	return c
 33220  }
 33221  
 33222  // Context sets the context to be used in this call's Do method.
 33223  func (c *InventorySourcesListCall) Context(ctx context.Context) *InventorySourcesListCall {
 33224  	c.ctx_ = ctx
 33225  	return c
 33226  }
 33227  
 33228  // Header returns a http.Header that can be modified by the caller to add
 33229  // headers to the request.
 33230  func (c *InventorySourcesListCall) Header() http.Header {
 33231  	if c.header_ == nil {
 33232  		c.header_ = make(http.Header)
 33233  	}
 33234  	return c.header_
 33235  }
 33236  
 33237  func (c *InventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
 33238  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 33239  	if c.ifNoneMatch_ != "" {
 33240  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33241  	}
 33242  	var body io.Reader = nil
 33243  	c.urlParams_.Set("alt", alt)
 33244  	c.urlParams_.Set("prettyPrint", "false")
 33245  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySources")
 33246  	urls += "?" + c.urlParams_.Encode()
 33247  	req, err := http.NewRequest("GET", urls, body)
 33248  	if err != nil {
 33249  		return nil, err
 33250  	}
 33251  	req.Header = reqHeaders
 33252  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33253  }
 33254  
 33255  // Do executes the "displayvideo.inventorySources.list" call.
 33256  // Any non-2xx status code is an error. Response headers are in either
 33257  // *ListInventorySourcesResponse.ServerResponse.Header or (if a response was
 33258  // returned at all) in error.(*googleapi.Error).Header. Use
 33259  // googleapi.IsNotModified to check whether the returned error was because
 33260  // http.StatusNotModified was returned.
 33261  func (c *InventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourcesResponse, error) {
 33262  	gensupport.SetOptions(c.urlParams_, opts...)
 33263  	res, err := c.doRequest("json")
 33264  	if res != nil && res.StatusCode == http.StatusNotModified {
 33265  		if res.Body != nil {
 33266  			res.Body.Close()
 33267  		}
 33268  		return nil, gensupport.WrapError(&googleapi.Error{
 33269  			Code:   res.StatusCode,
 33270  			Header: res.Header,
 33271  		})
 33272  	}
 33273  	if err != nil {
 33274  		return nil, err
 33275  	}
 33276  	defer googleapi.CloseBody(res)
 33277  	if err := googleapi.CheckResponse(res); err != nil {
 33278  		return nil, gensupport.WrapError(err)
 33279  	}
 33280  	ret := &ListInventorySourcesResponse{
 33281  		ServerResponse: googleapi.ServerResponse{
 33282  			Header:         res.Header,
 33283  			HTTPStatusCode: res.StatusCode,
 33284  		},
 33285  	}
 33286  	target := &ret
 33287  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33288  		return nil, err
 33289  	}
 33290  	return ret, nil
 33291  }
 33292  
 33293  // Pages invokes f for each page of results.
 33294  // A non-nil error returned from f will halt the iteration.
 33295  // The provided context supersedes any context provided to the Context method.
 33296  func (c *InventorySourcesListCall) Pages(ctx context.Context, f func(*ListInventorySourcesResponse) error) error {
 33297  	c.ctx_ = ctx
 33298  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 33299  	for {
 33300  		x, err := c.Do()
 33301  		if err != nil {
 33302  			return err
 33303  		}
 33304  		if err := f(x); err != nil {
 33305  			return err
 33306  		}
 33307  		if x.NextPageToken == "" {
 33308  			return nil
 33309  		}
 33310  		c.PageToken(x.NextPageToken)
 33311  	}
 33312  }
 33313  
 33314  type InventorySourcesPatchCall struct {
 33315  	s                 *Service
 33316  	inventorySourceId int64
 33317  	inventorysource   *InventorySource
 33318  	urlParams_        gensupport.URLParams
 33319  	ctx_              context.Context
 33320  	header_           http.Header
 33321  }
 33322  
 33323  // Patch: Updates an existing inventory source. Returns the updated inventory
 33324  // source if successful.
 33325  //
 33326  //   - inventorySourceId: Output only. The unique ID of the inventory source.
 33327  //     Assigned by the system.
 33328  func (r *InventorySourcesService) Patch(inventorySourceId int64, inventorysource *InventorySource) *InventorySourcesPatchCall {
 33329  	c := &InventorySourcesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33330  	c.inventorySourceId = inventorySourceId
 33331  	c.inventorysource = inventorysource
 33332  	return c
 33333  }
 33334  
 33335  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 33336  // advertiser that the request is being made within.
 33337  func (c *InventorySourcesPatchCall) AdvertiserId(advertiserId int64) *InventorySourcesPatchCall {
 33338  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33339  	return c
 33340  }
 33341  
 33342  // PartnerId sets the optional parameter "partnerId": The ID of the partner
 33343  // that the request is being made within.
 33344  func (c *InventorySourcesPatchCall) PartnerId(partnerId int64) *InventorySourcesPatchCall {
 33345  	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
 33346  	return c
 33347  }
 33348  
 33349  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 33350  // control which fields to update.
 33351  func (c *InventorySourcesPatchCall) UpdateMask(updateMask string) *InventorySourcesPatchCall {
 33352  	c.urlParams_.Set("updateMask", updateMask)
 33353  	return c
 33354  }
 33355  
 33356  // Fields allows partial responses to be retrieved. See
 33357  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33358  // details.
 33359  func (c *InventorySourcesPatchCall) Fields(s ...googleapi.Field) *InventorySourcesPatchCall {
 33360  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33361  	return c
 33362  }
 33363  
 33364  // Context sets the context to be used in this call's Do method.
 33365  func (c *InventorySourcesPatchCall) Context(ctx context.Context) *InventorySourcesPatchCall {
 33366  	c.ctx_ = ctx
 33367  	return c
 33368  }
 33369  
 33370  // Header returns a http.Header that can be modified by the caller to add
 33371  // headers to the request.
 33372  func (c *InventorySourcesPatchCall) Header() http.Header {
 33373  	if c.header_ == nil {
 33374  		c.header_ = make(http.Header)
 33375  	}
 33376  	return c.header_
 33377  }
 33378  
 33379  func (c *InventorySourcesPatchCall) doRequest(alt string) (*http.Response, error) {
 33380  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 33381  	var body io.Reader = nil
 33382  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysource)
 33383  	if err != nil {
 33384  		return nil, err
 33385  	}
 33386  	c.urlParams_.Set("alt", alt)
 33387  	c.urlParams_.Set("prettyPrint", "false")
 33388  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/inventorySources/{+inventorySourceId}")
 33389  	urls += "?" + c.urlParams_.Encode()
 33390  	req, err := http.NewRequest("PATCH", urls, body)
 33391  	if err != nil {
 33392  		return nil, err
 33393  	}
 33394  	req.Header = reqHeaders
 33395  	googleapi.Expand(req.URL, map[string]string{
 33396  		"inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10),
 33397  	})
 33398  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33399  }
 33400  
 33401  // Do executes the "displayvideo.inventorySources.patch" call.
 33402  // Any non-2xx status code is an error. Response headers are in either
 33403  // *InventorySource.ServerResponse.Header or (if a response was returned at
 33404  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 33405  // check whether the returned error was because http.StatusNotModified was
 33406  // returned.
 33407  func (c *InventorySourcesPatchCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) {
 33408  	gensupport.SetOptions(c.urlParams_, opts...)
 33409  	res, err := c.doRequest("json")
 33410  	if res != nil && res.StatusCode == http.StatusNotModified {
 33411  		if res.Body != nil {
 33412  			res.Body.Close()
 33413  		}
 33414  		return nil, gensupport.WrapError(&googleapi.Error{
 33415  			Code:   res.StatusCode,
 33416  			Header: res.Header,
 33417  		})
 33418  	}
 33419  	if err != nil {
 33420  		return nil, err
 33421  	}
 33422  	defer googleapi.CloseBody(res)
 33423  	if err := googleapi.CheckResponse(res); err != nil {
 33424  		return nil, gensupport.WrapError(err)
 33425  	}
 33426  	ret := &InventorySource{
 33427  		ServerResponse: googleapi.ServerResponse{
 33428  			Header:         res.Header,
 33429  			HTTPStatusCode: res.StatusCode,
 33430  		},
 33431  	}
 33432  	target := &ret
 33433  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33434  		return nil, err
 33435  	}
 33436  	return ret, nil
 33437  }
 33438  
 33439  type MediaDownloadCall struct {
 33440  	s            *Service
 33441  	resourceName string
 33442  	urlParams_   gensupport.URLParams
 33443  	ifNoneMatch_ string
 33444  	ctx_         context.Context
 33445  	header_      http.Header
 33446  }
 33447  
 33448  // Download: Downloads media. Download is supported on the URI
 33449  // `/download/{resource_name=**}?alt=media.` **Note**: Download requests will
 33450  // not be successful without including `alt=media` query string.
 33451  //
 33452  //   - resourceName: Name of the media that is being downloaded. See
 33453  //     ReadRequest.resource_name.
 33454  func (r *MediaService) Download(resourceName string) *MediaDownloadCall {
 33455  	c := &MediaDownloadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33456  	c.resourceName = resourceName
 33457  	return c
 33458  }
 33459  
 33460  // Fields allows partial responses to be retrieved. See
 33461  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33462  // details.
 33463  func (c *MediaDownloadCall) Fields(s ...googleapi.Field) *MediaDownloadCall {
 33464  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33465  	return c
 33466  }
 33467  
 33468  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 33469  // object's ETag matches the given value. This is useful for getting updates
 33470  // only after the object has changed since the last request.
 33471  func (c *MediaDownloadCall) IfNoneMatch(entityTag string) *MediaDownloadCall {
 33472  	c.ifNoneMatch_ = entityTag
 33473  	return c
 33474  }
 33475  
 33476  // Context sets the context to be used in this call's Do and Download methods.
 33477  func (c *MediaDownloadCall) Context(ctx context.Context) *MediaDownloadCall {
 33478  	c.ctx_ = ctx
 33479  	return c
 33480  }
 33481  
 33482  // Header returns a http.Header that can be modified by the caller to add
 33483  // headers to the request.
 33484  func (c *MediaDownloadCall) Header() http.Header {
 33485  	if c.header_ == nil {
 33486  		c.header_ = make(http.Header)
 33487  	}
 33488  	return c.header_
 33489  }
 33490  
 33491  func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) {
 33492  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 33493  	if c.ifNoneMatch_ != "" {
 33494  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33495  	}
 33496  	var body io.Reader = nil
 33497  	c.urlParams_.Set("alt", alt)
 33498  	c.urlParams_.Set("prettyPrint", "false")
 33499  	urls := googleapi.ResolveRelative(c.s.BasePath, "download/{+resourceName}")
 33500  	urls += "?" + c.urlParams_.Encode()
 33501  	req, err := http.NewRequest("GET", urls, body)
 33502  	if err != nil {
 33503  		return nil, err
 33504  	}
 33505  	req.Header = reqHeaders
 33506  	googleapi.Expand(req.URL, map[string]string{
 33507  		"resourceName": c.resourceName,
 33508  	})
 33509  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33510  }
 33511  
 33512  // Download fetches the API endpoint's "media" value, instead of the normal
 33513  // API response value. If the returned error is nil, the Response is guaranteed to
 33514  // have a 2xx status code. Callers must close the Response.Body as usual.
 33515  func (c *MediaDownloadCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 33516  	gensupport.SetOptions(c.urlParams_, opts...)
 33517  	res, err := c.doRequest("media")
 33518  	if err != nil {
 33519  		return nil, err
 33520  	}
 33521  	if err := googleapi.CheckResponse(res); err != nil {
 33522  		res.Body.Close()
 33523  		return nil, gensupport.WrapError(err)
 33524  	}
 33525  	return res, nil
 33526  }
 33527  
 33528  // Do executes the "displayvideo.media.download" call.
 33529  // Any non-2xx status code is an error. Response headers are in either
 33530  // *GoogleBytestreamMedia.ServerResponse.Header or (if a response was returned
 33531  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 33532  // check whether the returned error was because http.StatusNotModified was
 33533  // returned.
 33534  func (c *MediaDownloadCall) Do(opts ...googleapi.CallOption) (*GoogleBytestreamMedia, error) {
 33535  	gensupport.SetOptions(c.urlParams_, opts...)
 33536  	res, err := c.doRequest("json")
 33537  	if res != nil && res.StatusCode == http.StatusNotModified {
 33538  		if res.Body != nil {
 33539  			res.Body.Close()
 33540  		}
 33541  		return nil, gensupport.WrapError(&googleapi.Error{
 33542  			Code:   res.StatusCode,
 33543  			Header: res.Header,
 33544  		})
 33545  	}
 33546  	if err != nil {
 33547  		return nil, err
 33548  	}
 33549  	defer googleapi.CloseBody(res)
 33550  	if err := googleapi.CheckResponse(res); err != nil {
 33551  		return nil, gensupport.WrapError(err)
 33552  	}
 33553  	ret := &GoogleBytestreamMedia{
 33554  		ServerResponse: googleapi.ServerResponse{
 33555  			Header:         res.Header,
 33556  			HTTPStatusCode: res.StatusCode,
 33557  		},
 33558  	}
 33559  	target := &ret
 33560  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33561  		return nil, err
 33562  	}
 33563  	return ret, nil
 33564  }
 33565  
 33566  type MediaUploadCall struct {
 33567  	s                     *Service
 33568  	resourceName          string
 33569  	googlebytestreammedia *GoogleBytestreamMedia
 33570  	urlParams_            gensupport.URLParams
 33571  	mediaInfo_            *gensupport.MediaInfo
 33572  	ctx_                  context.Context
 33573  	header_               http.Header
 33574  }
 33575  
 33576  // Upload: Uploads media. Upload is supported on the URI
 33577  // `/upload/media/{resource_name=**}?upload_type=media.` **Note**: Upload
 33578  // requests will not be successful without including `upload_type=media` query
 33579  // string.
 33580  //
 33581  //   - resourceName: Name of the media that is being downloaded. See
 33582  //     ReadRequest.resource_name.
 33583  func (r *MediaService) Upload(resourceName string, googlebytestreammedia *GoogleBytestreamMedia) *MediaUploadCall {
 33584  	c := &MediaUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33585  	c.resourceName = resourceName
 33586  	c.googlebytestreammedia = googlebytestreammedia
 33587  	return c
 33588  }
 33589  
 33590  // Media specifies the media to upload in one or more chunks. The chunk size
 33591  // may be controlled by supplying a MediaOption generated by
 33592  // googleapi.ChunkSize. The chunk size defaults to
 33593  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload
 33594  // request will be determined by sniffing the contents of r, unless a
 33595  // MediaOption generated by googleapi.ContentType is supplied.
 33596  // At most one of Media and ResumableMedia may be set.
 33597  func (c *MediaUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *MediaUploadCall {
 33598  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 33599  	return c
 33600  }
 33601  
 33602  // ResumableMedia specifies the media to upload in chunks and can be canceled
 33603  // with ctx.
 33604  //
 33605  // Deprecated: use Media instead.
 33606  //
 33607  // At most one of Media and ResumableMedia may be set. mediaType identifies the
 33608  // MIME media type of the upload, such as "image/png". If mediaType is "", it
 33609  // will be auto-detected. The provided ctx will supersede any context
 33610  // previously provided to the Context method.
 33611  func (c *MediaUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *MediaUploadCall {
 33612  	c.ctx_ = ctx
 33613  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 33614  	return c
 33615  }
 33616  
 33617  // ProgressUpdater provides a callback function that will be called after every
 33618  // chunk. It should be a low-latency function in order to not slow down the
 33619  // upload operation. This should only be called when using ResumableMedia (as
 33620  // opposed to Media).
 33621  func (c *MediaUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *MediaUploadCall {
 33622  	c.mediaInfo_.SetProgressUpdater(pu)
 33623  	return c
 33624  }
 33625  
 33626  // Fields allows partial responses to be retrieved. See
 33627  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33628  // details.
 33629  func (c *MediaUploadCall) Fields(s ...googleapi.Field) *MediaUploadCall {
 33630  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33631  	return c
 33632  }
 33633  
 33634  // Context sets the context to be used in this call's Do method.
 33635  // This context will supersede any context previously provided to the
 33636  // ResumableMedia method.
 33637  func (c *MediaUploadCall) Context(ctx context.Context) *MediaUploadCall {
 33638  	c.ctx_ = ctx
 33639  	return c
 33640  }
 33641  
 33642  // Header returns a http.Header that can be modified by the caller to add
 33643  // headers to the request.
 33644  func (c *MediaUploadCall) Header() http.Header {
 33645  	if c.header_ == nil {
 33646  		c.header_ = make(http.Header)
 33647  	}
 33648  	return c.header_
 33649  }
 33650  
 33651  func (c *MediaUploadCall) doRequest(alt string) (*http.Response, error) {
 33652  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 33653  	var body io.Reader = nil
 33654  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlebytestreammedia)
 33655  	if err != nil {
 33656  		return nil, err
 33657  	}
 33658  	c.urlParams_.Set("alt", alt)
 33659  	c.urlParams_.Set("prettyPrint", "false")
 33660  	urls := googleapi.ResolveRelative(c.s.BasePath, "media/{+resourceName}")
 33661  	if c.mediaInfo_ != nil {
 33662  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/media/{+resourceName}")
 33663  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 33664  	}
 33665  	if body == nil {
 33666  		body = new(bytes.Buffer)
 33667  		reqHeaders.Set("Content-Type", "application/json")
 33668  	}
 33669  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 33670  	defer cleanup()
 33671  	urls += "?" + c.urlParams_.Encode()
 33672  	req, err := http.NewRequest("POST", urls, body)
 33673  	if err != nil {
 33674  		return nil, err
 33675  	}
 33676  	req.Header = reqHeaders
 33677  	req.GetBody = getBody
 33678  	googleapi.Expand(req.URL, map[string]string{
 33679  		"resourceName": c.resourceName,
 33680  	})
 33681  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33682  }
 33683  
 33684  // Do executes the "displayvideo.media.upload" call.
 33685  // Any non-2xx status code is an error. Response headers are in either
 33686  // *GoogleBytestreamMedia.ServerResponse.Header or (if a response was returned
 33687  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 33688  // check whether the returned error was because http.StatusNotModified was
 33689  // returned.
 33690  func (c *MediaUploadCall) Do(opts ...googleapi.CallOption) (*GoogleBytestreamMedia, error) {
 33691  	gensupport.SetOptions(c.urlParams_, opts...)
 33692  	res, err := c.doRequest("json")
 33693  	if res != nil && res.StatusCode == http.StatusNotModified {
 33694  		if res.Body != nil {
 33695  			res.Body.Close()
 33696  		}
 33697  		return nil, gensupport.WrapError(&googleapi.Error{
 33698  			Code:   res.StatusCode,
 33699  			Header: res.Header,
 33700  		})
 33701  	}
 33702  	if err != nil {
 33703  		return nil, err
 33704  	}
 33705  	defer googleapi.CloseBody(res)
 33706  	if err := googleapi.CheckResponse(res); err != nil {
 33707  		return nil, gensupport.WrapError(err)
 33708  	}
 33709  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 33710  	if rx != nil {
 33711  		rx.Client = c.s.client
 33712  		rx.UserAgent = c.s.userAgent()
 33713  		ctx := c.ctx_
 33714  		if ctx == nil {
 33715  			ctx = context.TODO()
 33716  		}
 33717  		res, err = rx.Upload(ctx)
 33718  		if err != nil {
 33719  			return nil, err
 33720  		}
 33721  		defer res.Body.Close()
 33722  		if err := googleapi.CheckResponse(res); err != nil {
 33723  			return nil, gensupport.WrapError(err)
 33724  		}
 33725  	}
 33726  	ret := &GoogleBytestreamMedia{
 33727  		ServerResponse: googleapi.ServerResponse{
 33728  			Header:         res.Header,
 33729  			HTTPStatusCode: res.StatusCode,
 33730  		},
 33731  	}
 33732  	target := &ret
 33733  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33734  		return nil, err
 33735  	}
 33736  	return ret, nil
 33737  }
 33738  
 33739  type PartnersEditAssignedTargetingOptionsCall struct {
 33740  	s                                              *Service
 33741  	partnerId                                      int64
 33742  	bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest
 33743  	urlParams_                                     gensupport.URLParams
 33744  	ctx_                                           context.Context
 33745  	header_                                        http.Header
 33746  }
 33747  
 33748  // EditAssignedTargetingOptions: Edits targeting options under a single
 33749  // partner. The operation will delete the assigned targeting options provided
 33750  // in BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and then
 33751  // create the assigned targeting options provided in
 33752  // BulkEditPartnerAssignedTargetingOptionsRequest.createRequests .
 33753  //
 33754  // - partnerId: The ID of the partner.
 33755  func (r *PartnersService) EditAssignedTargetingOptions(partnerId int64, bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest) *PartnersEditAssignedTargetingOptionsCall {
 33756  	c := &PartnersEditAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33757  	c.partnerId = partnerId
 33758  	c.bulkeditpartnerassignedtargetingoptionsrequest = bulkeditpartnerassignedtargetingoptionsrequest
 33759  	return c
 33760  }
 33761  
 33762  // Fields allows partial responses to be retrieved. See
 33763  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33764  // details.
 33765  func (c *PartnersEditAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *PartnersEditAssignedTargetingOptionsCall {
 33766  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33767  	return c
 33768  }
 33769  
 33770  // Context sets the context to be used in this call's Do method.
 33771  func (c *PartnersEditAssignedTargetingOptionsCall) Context(ctx context.Context) *PartnersEditAssignedTargetingOptionsCall {
 33772  	c.ctx_ = ctx
 33773  	return c
 33774  }
 33775  
 33776  // Header returns a http.Header that can be modified by the caller to add
 33777  // headers to the request.
 33778  func (c *PartnersEditAssignedTargetingOptionsCall) Header() http.Header {
 33779  	if c.header_ == nil {
 33780  		c.header_ = make(http.Header)
 33781  	}
 33782  	return c.header_
 33783  }
 33784  
 33785  func (c *PartnersEditAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 33786  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 33787  	var body io.Reader = nil
 33788  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditpartnerassignedtargetingoptionsrequest)
 33789  	if err != nil {
 33790  		return nil, err
 33791  	}
 33792  	c.urlParams_.Set("alt", alt)
 33793  	c.urlParams_.Set("prettyPrint", "false")
 33794  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{+partnerId}:editAssignedTargetingOptions")
 33795  	urls += "?" + c.urlParams_.Encode()
 33796  	req, err := http.NewRequest("POST", urls, body)
 33797  	if err != nil {
 33798  		return nil, err
 33799  	}
 33800  	req.Header = reqHeaders
 33801  	googleapi.Expand(req.URL, map[string]string{
 33802  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 33803  	})
 33804  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33805  }
 33806  
 33807  // Do executes the "displayvideo.partners.editAssignedTargetingOptions" call.
 33808  // Any non-2xx status code is an error. Response headers are in either
 33809  // *BulkEditPartnerAssignedTargetingOptionsResponse.ServerResponse.Header or
 33810  // (if a response was returned at all) in error.(*googleapi.Error).Header. Use
 33811  // googleapi.IsNotModified to check whether the returned error was because
 33812  // http.StatusNotModified was returned.
 33813  func (c *PartnersEditAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditPartnerAssignedTargetingOptionsResponse, error) {
 33814  	gensupport.SetOptions(c.urlParams_, opts...)
 33815  	res, err := c.doRequest("json")
 33816  	if res != nil && res.StatusCode == http.StatusNotModified {
 33817  		if res.Body != nil {
 33818  			res.Body.Close()
 33819  		}
 33820  		return nil, gensupport.WrapError(&googleapi.Error{
 33821  			Code:   res.StatusCode,
 33822  			Header: res.Header,
 33823  		})
 33824  	}
 33825  	if err != nil {
 33826  		return nil, err
 33827  	}
 33828  	defer googleapi.CloseBody(res)
 33829  	if err := googleapi.CheckResponse(res); err != nil {
 33830  		return nil, gensupport.WrapError(err)
 33831  	}
 33832  	ret := &BulkEditPartnerAssignedTargetingOptionsResponse{
 33833  		ServerResponse: googleapi.ServerResponse{
 33834  			Header:         res.Header,
 33835  			HTTPStatusCode: res.StatusCode,
 33836  		},
 33837  	}
 33838  	target := &ret
 33839  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33840  		return nil, err
 33841  	}
 33842  	return ret, nil
 33843  }
 33844  
 33845  type PartnersGetCall struct {
 33846  	s            *Service
 33847  	partnerId    int64
 33848  	urlParams_   gensupport.URLParams
 33849  	ifNoneMatch_ string
 33850  	ctx_         context.Context
 33851  	header_      http.Header
 33852  }
 33853  
 33854  // Get: Gets a partner.
 33855  //
 33856  // - partnerId: The ID of the partner to fetch.
 33857  func (r *PartnersService) Get(partnerId int64) *PartnersGetCall {
 33858  	c := &PartnersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33859  	c.partnerId = partnerId
 33860  	return c
 33861  }
 33862  
 33863  // Fields allows partial responses to be retrieved. See
 33864  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 33865  // details.
 33866  func (c *PartnersGetCall) Fields(s ...googleapi.Field) *PartnersGetCall {
 33867  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33868  	return c
 33869  }
 33870  
 33871  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 33872  // object's ETag matches the given value. This is useful for getting updates
 33873  // only after the object has changed since the last request.
 33874  func (c *PartnersGetCall) IfNoneMatch(entityTag string) *PartnersGetCall {
 33875  	c.ifNoneMatch_ = entityTag
 33876  	return c
 33877  }
 33878  
 33879  // Context sets the context to be used in this call's Do method.
 33880  func (c *PartnersGetCall) Context(ctx context.Context) *PartnersGetCall {
 33881  	c.ctx_ = ctx
 33882  	return c
 33883  }
 33884  
 33885  // Header returns a http.Header that can be modified by the caller to add
 33886  // headers to the request.
 33887  func (c *PartnersGetCall) Header() http.Header {
 33888  	if c.header_ == nil {
 33889  		c.header_ = make(http.Header)
 33890  	}
 33891  	return c.header_
 33892  }
 33893  
 33894  func (c *PartnersGetCall) doRequest(alt string) (*http.Response, error) {
 33895  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 33896  	if c.ifNoneMatch_ != "" {
 33897  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33898  	}
 33899  	var body io.Reader = nil
 33900  	c.urlParams_.Set("alt", alt)
 33901  	c.urlParams_.Set("prettyPrint", "false")
 33902  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{+partnerId}")
 33903  	urls += "?" + c.urlParams_.Encode()
 33904  	req, err := http.NewRequest("GET", urls, body)
 33905  	if err != nil {
 33906  		return nil, err
 33907  	}
 33908  	req.Header = reqHeaders
 33909  	googleapi.Expand(req.URL, map[string]string{
 33910  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 33911  	})
 33912  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33913  }
 33914  
 33915  // Do executes the "displayvideo.partners.get" call.
 33916  // Any non-2xx status code is an error. Response headers are in either
 33917  // *Partner.ServerResponse.Header or (if a response was returned at all) in
 33918  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 33919  // whether the returned error was because http.StatusNotModified was returned.
 33920  func (c *PartnersGetCall) Do(opts ...googleapi.CallOption) (*Partner, error) {
 33921  	gensupport.SetOptions(c.urlParams_, opts...)
 33922  	res, err := c.doRequest("json")
 33923  	if res != nil && res.StatusCode == http.StatusNotModified {
 33924  		if res.Body != nil {
 33925  			res.Body.Close()
 33926  		}
 33927  		return nil, gensupport.WrapError(&googleapi.Error{
 33928  			Code:   res.StatusCode,
 33929  			Header: res.Header,
 33930  		})
 33931  	}
 33932  	if err != nil {
 33933  		return nil, err
 33934  	}
 33935  	defer googleapi.CloseBody(res)
 33936  	if err := googleapi.CheckResponse(res); err != nil {
 33937  		return nil, gensupport.WrapError(err)
 33938  	}
 33939  	ret := &Partner{
 33940  		ServerResponse: googleapi.ServerResponse{
 33941  			Header:         res.Header,
 33942  			HTTPStatusCode: res.StatusCode,
 33943  		},
 33944  	}
 33945  	target := &ret
 33946  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33947  		return nil, err
 33948  	}
 33949  	return ret, nil
 33950  }
 33951  
 33952  type PartnersListCall struct {
 33953  	s            *Service
 33954  	urlParams_   gensupport.URLParams
 33955  	ifNoneMatch_ string
 33956  	ctx_         context.Context
 33957  	header_      http.Header
 33958  }
 33959  
 33960  // List: Lists partners that are accessible to the current user. The order is
 33961  // defined by the order_by parameter.
 33962  func (r *PartnersService) List() *PartnersListCall {
 33963  	c := &PartnersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33964  	return c
 33965  }
 33966  
 33967  // Filter sets the optional parameter "filter": Allows filtering by partner
 33968  // fields. Supported syntax: * Filter expressions are made up of one or more
 33969  // restrictions. * Restrictions can be combined by `AND` or `OR` logical
 33970  // operators. A sequence of restrictions implicitly uses `AND`. * A restriction
 33971  // has the form of `{field} {operator} {value}`. * All fields must use the
 33972  // `EQUALS (=)` operator. Supported fields: * `entityStatus` Examples: * All
 33973  // active partners: `entityStatus="ENTITY_STATUS_ACTIVE" The length of this
 33974  // field should be no more than 500 characters. Reference our filter `LIST`
 33975  // requests (/display-video/api/guides/how-tos/filters) guide for more
 33976  // information.
 33977  func (c *PartnersListCall) Filter(filter string) *PartnersListCall {
 33978  	c.urlParams_.Set("filter", filter)
 33979  	return c
 33980  }
 33981  
 33982  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 33983  // list. Acceptable values are: * `displayName` The default sorting order is
 33984  // ascending. To specify descending order for a field, a suffix "desc" should
 33985  // be added to the field name. For example, `displayName desc`.
 33986  func (c *PartnersListCall) OrderBy(orderBy string) *PartnersListCall {
 33987  	c.urlParams_.Set("orderBy", orderBy)
 33988  	return c
 33989  }
 33990  
 33991  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 33992  // be between `1` and `200`. If unspecified will default to `100`.
 33993  func (c *PartnersListCall) PageSize(pageSize int64) *PartnersListCall {
 33994  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 33995  	return c
 33996  }
 33997  
 33998  // PageToken sets the optional parameter "pageToken": A token identifying a
 33999  // page of results the server should return. Typically, this is the value of
 34000  // next_page_token returned from the previous call to `ListPartners` method. If
 34001  // not specified, the first page of results will be returned.
 34002  func (c *PartnersListCall) PageToken(pageToken string) *PartnersListCall {
 34003  	c.urlParams_.Set("pageToken", pageToken)
 34004  	return c
 34005  }
 34006  
 34007  // Fields allows partial responses to be retrieved. See
 34008  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34009  // details.
 34010  func (c *PartnersListCall) Fields(s ...googleapi.Field) *PartnersListCall {
 34011  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34012  	return c
 34013  }
 34014  
 34015  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 34016  // object's ETag matches the given value. This is useful for getting updates
 34017  // only after the object has changed since the last request.
 34018  func (c *PartnersListCall) IfNoneMatch(entityTag string) *PartnersListCall {
 34019  	c.ifNoneMatch_ = entityTag
 34020  	return c
 34021  }
 34022  
 34023  // Context sets the context to be used in this call's Do method.
 34024  func (c *PartnersListCall) Context(ctx context.Context) *PartnersListCall {
 34025  	c.ctx_ = ctx
 34026  	return c
 34027  }
 34028  
 34029  // Header returns a http.Header that can be modified by the caller to add
 34030  // headers to the request.
 34031  func (c *PartnersListCall) Header() http.Header {
 34032  	if c.header_ == nil {
 34033  		c.header_ = make(http.Header)
 34034  	}
 34035  	return c.header_
 34036  }
 34037  
 34038  func (c *PartnersListCall) doRequest(alt string) (*http.Response, error) {
 34039  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 34040  	if c.ifNoneMatch_ != "" {
 34041  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34042  	}
 34043  	var body io.Reader = nil
 34044  	c.urlParams_.Set("alt", alt)
 34045  	c.urlParams_.Set("prettyPrint", "false")
 34046  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners")
 34047  	urls += "?" + c.urlParams_.Encode()
 34048  	req, err := http.NewRequest("GET", urls, body)
 34049  	if err != nil {
 34050  		return nil, err
 34051  	}
 34052  	req.Header = reqHeaders
 34053  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34054  }
 34055  
 34056  // Do executes the "displayvideo.partners.list" call.
 34057  // Any non-2xx status code is an error. Response headers are in either
 34058  // *ListPartnersResponse.ServerResponse.Header or (if a response was returned
 34059  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 34060  // check whether the returned error was because http.StatusNotModified was
 34061  // returned.
 34062  func (c *PartnersListCall) Do(opts ...googleapi.CallOption) (*ListPartnersResponse, error) {
 34063  	gensupport.SetOptions(c.urlParams_, opts...)
 34064  	res, err := c.doRequest("json")
 34065  	if res != nil && res.StatusCode == http.StatusNotModified {
 34066  		if res.Body != nil {
 34067  			res.Body.Close()
 34068  		}
 34069  		return nil, gensupport.WrapError(&googleapi.Error{
 34070  			Code:   res.StatusCode,
 34071  			Header: res.Header,
 34072  		})
 34073  	}
 34074  	if err != nil {
 34075  		return nil, err
 34076  	}
 34077  	defer googleapi.CloseBody(res)
 34078  	if err := googleapi.CheckResponse(res); err != nil {
 34079  		return nil, gensupport.WrapError(err)
 34080  	}
 34081  	ret := &ListPartnersResponse{
 34082  		ServerResponse: googleapi.ServerResponse{
 34083  			Header:         res.Header,
 34084  			HTTPStatusCode: res.StatusCode,
 34085  		},
 34086  	}
 34087  	target := &ret
 34088  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34089  		return nil, err
 34090  	}
 34091  	return ret, nil
 34092  }
 34093  
 34094  // Pages invokes f for each page of results.
 34095  // A non-nil error returned from f will halt the iteration.
 34096  // The provided context supersedes any context provided to the Context method.
 34097  func (c *PartnersListCall) Pages(ctx context.Context, f func(*ListPartnersResponse) error) error {
 34098  	c.ctx_ = ctx
 34099  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 34100  	for {
 34101  		x, err := c.Do()
 34102  		if err != nil {
 34103  			return err
 34104  		}
 34105  		if err := f(x); err != nil {
 34106  			return err
 34107  		}
 34108  		if x.NextPageToken == "" {
 34109  			return nil
 34110  		}
 34111  		c.PageToken(x.NextPageToken)
 34112  	}
 34113  }
 34114  
 34115  type PartnersChannelsCreateCall struct {
 34116  	s          *Service
 34117  	partnerId  int64
 34118  	channel    *Channel
 34119  	urlParams_ gensupport.URLParams
 34120  	ctx_       context.Context
 34121  	header_    http.Header
 34122  }
 34123  
 34124  // Create: Creates a new channel. Returns the newly created channel if
 34125  // successful.
 34126  //
 34127  // - partnerId: The ID of the partner that owns the created channel.
 34128  func (r *PartnersChannelsService) Create(partnerId int64, channel *Channel) *PartnersChannelsCreateCall {
 34129  	c := &PartnersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34130  	c.partnerId = partnerId
 34131  	c.channel = channel
 34132  	return c
 34133  }
 34134  
 34135  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34136  // advertiser that owns the created channel.
 34137  func (c *PartnersChannelsCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsCreateCall {
 34138  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 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 *PartnersChannelsCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsCreateCall {
 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 *PartnersChannelsCreateCall) Context(ctx context.Context) *PartnersChannelsCreateCall {
 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 *PartnersChannelsCreateCall) Header() http.Header {
 34159  	if c.header_ == nil {
 34160  		c.header_ = make(http.Header)
 34161  	}
 34162  	return c.header_
 34163  }
 34164  
 34165  func (c *PartnersChannelsCreateCall) 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, "v3/partners/{+partnerId}/channels")
 34175  	urls += "?" + c.urlParams_.Encode()
 34176  	req, err := http.NewRequest("POST", 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  	})
 34184  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34185  }
 34186  
 34187  // Do executes the "displayvideo.partners.channels.create" call.
 34188  // Any non-2xx status code is an error. Response headers are in either
 34189  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 34190  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34191  // whether the returned error was because http.StatusNotModified was returned.
 34192  func (c *PartnersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 34193  	gensupport.SetOptions(c.urlParams_, opts...)
 34194  	res, err := c.doRequest("json")
 34195  	if res != nil && res.StatusCode == http.StatusNotModified {
 34196  		if res.Body != nil {
 34197  			res.Body.Close()
 34198  		}
 34199  		return nil, gensupport.WrapError(&googleapi.Error{
 34200  			Code:   res.StatusCode,
 34201  			Header: res.Header,
 34202  		})
 34203  	}
 34204  	if err != nil {
 34205  		return nil, err
 34206  	}
 34207  	defer googleapi.CloseBody(res)
 34208  	if err := googleapi.CheckResponse(res); err != nil {
 34209  		return nil, gensupport.WrapError(err)
 34210  	}
 34211  	ret := &Channel{
 34212  		ServerResponse: googleapi.ServerResponse{
 34213  			Header:         res.Header,
 34214  			HTTPStatusCode: res.StatusCode,
 34215  		},
 34216  	}
 34217  	target := &ret
 34218  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34219  		return nil, err
 34220  	}
 34221  	return ret, nil
 34222  }
 34223  
 34224  type PartnersChannelsGetCall struct {
 34225  	s            *Service
 34226  	partnerId    int64
 34227  	channelId    int64
 34228  	urlParams_   gensupport.URLParams
 34229  	ifNoneMatch_ string
 34230  	ctx_         context.Context
 34231  	header_      http.Header
 34232  }
 34233  
 34234  // Get: Gets a channel for a partner or advertiser.
 34235  //
 34236  // - channelId: The ID of the channel to fetch.
 34237  // - partnerId: The ID of the partner that owns the fetched channel.
 34238  func (r *PartnersChannelsService) Get(partnerId int64, channelId int64) *PartnersChannelsGetCall {
 34239  	c := &PartnersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34240  	c.partnerId = partnerId
 34241  	c.channelId = channelId
 34242  	return c
 34243  }
 34244  
 34245  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34246  // advertiser that owns the fetched channel.
 34247  func (c *PartnersChannelsGetCall) AdvertiserId(advertiserId int64) *PartnersChannelsGetCall {
 34248  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34249  	return c
 34250  }
 34251  
 34252  // Fields allows partial responses to be retrieved. See
 34253  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34254  // details.
 34255  func (c *PartnersChannelsGetCall) Fields(s ...googleapi.Field) *PartnersChannelsGetCall {
 34256  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34257  	return c
 34258  }
 34259  
 34260  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 34261  // object's ETag matches the given value. This is useful for getting updates
 34262  // only after the object has changed since the last request.
 34263  func (c *PartnersChannelsGetCall) IfNoneMatch(entityTag string) *PartnersChannelsGetCall {
 34264  	c.ifNoneMatch_ = entityTag
 34265  	return c
 34266  }
 34267  
 34268  // Context sets the context to be used in this call's Do method.
 34269  func (c *PartnersChannelsGetCall) Context(ctx context.Context) *PartnersChannelsGetCall {
 34270  	c.ctx_ = ctx
 34271  	return c
 34272  }
 34273  
 34274  // Header returns a http.Header that can be modified by the caller to add
 34275  // headers to the request.
 34276  func (c *PartnersChannelsGetCall) Header() http.Header {
 34277  	if c.header_ == nil {
 34278  		c.header_ = make(http.Header)
 34279  	}
 34280  	return c.header_
 34281  }
 34282  
 34283  func (c *PartnersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
 34284  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 34285  	if c.ifNoneMatch_ != "" {
 34286  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34287  	}
 34288  	var body io.Reader = nil
 34289  	c.urlParams_.Set("alt", alt)
 34290  	c.urlParams_.Set("prettyPrint", "false")
 34291  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{+partnerId}/channels/{+channelId}")
 34292  	urls += "?" + c.urlParams_.Encode()
 34293  	req, err := http.NewRequest("GET", urls, body)
 34294  	if err != nil {
 34295  		return nil, err
 34296  	}
 34297  	req.Header = reqHeaders
 34298  	googleapi.Expand(req.URL, map[string]string{
 34299  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34300  		"channelId": strconv.FormatInt(c.channelId, 10),
 34301  	})
 34302  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34303  }
 34304  
 34305  // Do executes the "displayvideo.partners.channels.get" call.
 34306  // Any non-2xx status code is an error. Response headers are in either
 34307  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 34308  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34309  // whether the returned error was because http.StatusNotModified was returned.
 34310  func (c *PartnersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 34311  	gensupport.SetOptions(c.urlParams_, opts...)
 34312  	res, err := c.doRequest("json")
 34313  	if res != nil && res.StatusCode == http.StatusNotModified {
 34314  		if res.Body != nil {
 34315  			res.Body.Close()
 34316  		}
 34317  		return nil, gensupport.WrapError(&googleapi.Error{
 34318  			Code:   res.StatusCode,
 34319  			Header: res.Header,
 34320  		})
 34321  	}
 34322  	if err != nil {
 34323  		return nil, err
 34324  	}
 34325  	defer googleapi.CloseBody(res)
 34326  	if err := googleapi.CheckResponse(res); err != nil {
 34327  		return nil, gensupport.WrapError(err)
 34328  	}
 34329  	ret := &Channel{
 34330  		ServerResponse: googleapi.ServerResponse{
 34331  			Header:         res.Header,
 34332  			HTTPStatusCode: res.StatusCode,
 34333  		},
 34334  	}
 34335  	target := &ret
 34336  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34337  		return nil, err
 34338  	}
 34339  	return ret, nil
 34340  }
 34341  
 34342  type PartnersChannelsListCall struct {
 34343  	s            *Service
 34344  	partnerId    int64
 34345  	urlParams_   gensupport.URLParams
 34346  	ifNoneMatch_ string
 34347  	ctx_         context.Context
 34348  	header_      http.Header
 34349  }
 34350  
 34351  // List: Lists channels for a partner or advertiser.
 34352  //
 34353  // - partnerId: The ID of the partner that owns the channels.
 34354  func (r *PartnersChannelsService) List(partnerId int64) *PartnersChannelsListCall {
 34355  	c := &PartnersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34356  	c.partnerId = partnerId
 34357  	return c
 34358  }
 34359  
 34360  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34361  // advertiser that owns the channels.
 34362  func (c *PartnersChannelsListCall) AdvertiserId(advertiserId int64) *PartnersChannelsListCall {
 34363  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34364  	return c
 34365  }
 34366  
 34367  // Filter sets the optional parameter "filter": Allows filtering by channel
 34368  // fields. Supported syntax: * Filter expressions for channel can only contain
 34369  // at most one restriction. * A restriction has the form of `{field} {operator}
 34370  // {value}`. * All fields must use the `HAS (:)` operator. Supported fields: *
 34371  // `displayName` Examples: * All channels for which the display name contains
 34372  // "google": `displayName : "google". The length of this field should be no
 34373  // more than 500 characters. Reference our filter `LIST` requests
 34374  // (/display-video/api/guides/how-tos/filters) guide for more information.
 34375  func (c *PartnersChannelsListCall) Filter(filter string) *PartnersChannelsListCall {
 34376  	c.urlParams_.Set("filter", filter)
 34377  	return c
 34378  }
 34379  
 34380  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 34381  // list. Acceptable values are: * `displayName` (default) * `channelId` The
 34382  // default sorting order is ascending. To specify descending order for a field,
 34383  // a suffix " desc" should be added to the field name. Example: `displayName
 34384  // desc`.
 34385  func (c *PartnersChannelsListCall) OrderBy(orderBy string) *PartnersChannelsListCall {
 34386  	c.urlParams_.Set("orderBy", orderBy)
 34387  	return c
 34388  }
 34389  
 34390  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 34391  // be between `1` and `200`. If unspecified will default to `100`. Returns
 34392  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 34393  func (c *PartnersChannelsListCall) PageSize(pageSize int64) *PartnersChannelsListCall {
 34394  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 34395  	return c
 34396  }
 34397  
 34398  // PageToken sets the optional parameter "pageToken": A token identifying a
 34399  // page of results the server should return. Typically, this is the value of
 34400  // next_page_token returned from the previous call to `ListChannels` method. If
 34401  // not specified, the first page of results will be returned.
 34402  func (c *PartnersChannelsListCall) PageToken(pageToken string) *PartnersChannelsListCall {
 34403  	c.urlParams_.Set("pageToken", pageToken)
 34404  	return c
 34405  }
 34406  
 34407  // Fields allows partial responses to be retrieved. See
 34408  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34409  // details.
 34410  func (c *PartnersChannelsListCall) Fields(s ...googleapi.Field) *PartnersChannelsListCall {
 34411  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34412  	return c
 34413  }
 34414  
 34415  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 34416  // object's ETag matches the given value. This is useful for getting updates
 34417  // only after the object has changed since the last request.
 34418  func (c *PartnersChannelsListCall) IfNoneMatch(entityTag string) *PartnersChannelsListCall {
 34419  	c.ifNoneMatch_ = entityTag
 34420  	return c
 34421  }
 34422  
 34423  // Context sets the context to be used in this call's Do method.
 34424  func (c *PartnersChannelsListCall) Context(ctx context.Context) *PartnersChannelsListCall {
 34425  	c.ctx_ = ctx
 34426  	return c
 34427  }
 34428  
 34429  // Header returns a http.Header that can be modified by the caller to add
 34430  // headers to the request.
 34431  func (c *PartnersChannelsListCall) Header() http.Header {
 34432  	if c.header_ == nil {
 34433  		c.header_ = make(http.Header)
 34434  	}
 34435  	return c.header_
 34436  }
 34437  
 34438  func (c *PartnersChannelsListCall) doRequest(alt string) (*http.Response, error) {
 34439  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 34440  	if c.ifNoneMatch_ != "" {
 34441  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34442  	}
 34443  	var body io.Reader = nil
 34444  	c.urlParams_.Set("alt", alt)
 34445  	c.urlParams_.Set("prettyPrint", "false")
 34446  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{+partnerId}/channels")
 34447  	urls += "?" + c.urlParams_.Encode()
 34448  	req, err := http.NewRequest("GET", urls, body)
 34449  	if err != nil {
 34450  		return nil, err
 34451  	}
 34452  	req.Header = reqHeaders
 34453  	googleapi.Expand(req.URL, map[string]string{
 34454  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34455  	})
 34456  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34457  }
 34458  
 34459  // Do executes the "displayvideo.partners.channels.list" call.
 34460  // Any non-2xx status code is an error. Response headers are in either
 34461  // *ListChannelsResponse.ServerResponse.Header or (if a response was returned
 34462  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 34463  // check whether the returned error was because http.StatusNotModified was
 34464  // returned.
 34465  func (c *PartnersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) {
 34466  	gensupport.SetOptions(c.urlParams_, opts...)
 34467  	res, err := c.doRequest("json")
 34468  	if res != nil && res.StatusCode == http.StatusNotModified {
 34469  		if res.Body != nil {
 34470  			res.Body.Close()
 34471  		}
 34472  		return nil, gensupport.WrapError(&googleapi.Error{
 34473  			Code:   res.StatusCode,
 34474  			Header: res.Header,
 34475  		})
 34476  	}
 34477  	if err != nil {
 34478  		return nil, err
 34479  	}
 34480  	defer googleapi.CloseBody(res)
 34481  	if err := googleapi.CheckResponse(res); err != nil {
 34482  		return nil, gensupport.WrapError(err)
 34483  	}
 34484  	ret := &ListChannelsResponse{
 34485  		ServerResponse: googleapi.ServerResponse{
 34486  			Header:         res.Header,
 34487  			HTTPStatusCode: res.StatusCode,
 34488  		},
 34489  	}
 34490  	target := &ret
 34491  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34492  		return nil, err
 34493  	}
 34494  	return ret, nil
 34495  }
 34496  
 34497  // Pages invokes f for each page of results.
 34498  // A non-nil error returned from f will halt the iteration.
 34499  // The provided context supersedes any context provided to the Context method.
 34500  func (c *PartnersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error {
 34501  	c.ctx_ = ctx
 34502  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 34503  	for {
 34504  		x, err := c.Do()
 34505  		if err != nil {
 34506  			return err
 34507  		}
 34508  		if err := f(x); err != nil {
 34509  			return err
 34510  		}
 34511  		if x.NextPageToken == "" {
 34512  			return nil
 34513  		}
 34514  		c.PageToken(x.NextPageToken)
 34515  	}
 34516  }
 34517  
 34518  type PartnersChannelsPatchCall struct {
 34519  	s          *Service
 34520  	partnerId  int64
 34521  	channelId  int64
 34522  	channel    *Channel
 34523  	urlParams_ gensupport.URLParams
 34524  	ctx_       context.Context
 34525  	header_    http.Header
 34526  }
 34527  
 34528  // Patch: Updates a channel. Returns the updated channel if successful.
 34529  //
 34530  //   - channelId: Output only. The unique ID of the channel. Assigned by the
 34531  //     system.
 34532  //   - partnerId: The ID of the partner that owns the created channel.
 34533  func (r *PartnersChannelsService) Patch(partnerId int64, channelId int64, channel *Channel) *PartnersChannelsPatchCall {
 34534  	c := &PartnersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34535  	c.partnerId = partnerId
 34536  	c.channelId = channelId
 34537  	c.channel = channel
 34538  	return c
 34539  }
 34540  
 34541  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34542  // advertiser that owns the created channel.
 34543  func (c *PartnersChannelsPatchCall) AdvertiserId(advertiserId int64) *PartnersChannelsPatchCall {
 34544  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34545  	return c
 34546  }
 34547  
 34548  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 34549  // control which fields to update.
 34550  func (c *PartnersChannelsPatchCall) UpdateMask(updateMask string) *PartnersChannelsPatchCall {
 34551  	c.urlParams_.Set("updateMask", updateMask)
 34552  	return c
 34553  }
 34554  
 34555  // Fields allows partial responses to be retrieved. See
 34556  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34557  // details.
 34558  func (c *PartnersChannelsPatchCall) Fields(s ...googleapi.Field) *PartnersChannelsPatchCall {
 34559  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34560  	return c
 34561  }
 34562  
 34563  // Context sets the context to be used in this call's Do method.
 34564  func (c *PartnersChannelsPatchCall) Context(ctx context.Context) *PartnersChannelsPatchCall {
 34565  	c.ctx_ = ctx
 34566  	return c
 34567  }
 34568  
 34569  // Header returns a http.Header that can be modified by the caller to add
 34570  // headers to the request.
 34571  func (c *PartnersChannelsPatchCall) Header() http.Header {
 34572  	if c.header_ == nil {
 34573  		c.header_ = make(http.Header)
 34574  	}
 34575  	return c.header_
 34576  }
 34577  
 34578  func (c *PartnersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
 34579  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 34580  	var body io.Reader = nil
 34581  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
 34582  	if err != nil {
 34583  		return nil, err
 34584  	}
 34585  	c.urlParams_.Set("alt", alt)
 34586  	c.urlParams_.Set("prettyPrint", "false")
 34587  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{+partnerId}/channels/{channelId}")
 34588  	urls += "?" + c.urlParams_.Encode()
 34589  	req, err := http.NewRequest("PATCH", urls, body)
 34590  	if err != nil {
 34591  		return nil, err
 34592  	}
 34593  	req.Header = reqHeaders
 34594  	googleapi.Expand(req.URL, map[string]string{
 34595  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34596  		"channelId": strconv.FormatInt(c.channelId, 10),
 34597  	})
 34598  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34599  }
 34600  
 34601  // Do executes the "displayvideo.partners.channels.patch" call.
 34602  // Any non-2xx status code is an error. Response headers are in either
 34603  // *Channel.ServerResponse.Header or (if a response was returned at all) in
 34604  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34605  // whether the returned error was because http.StatusNotModified was returned.
 34606  func (c *PartnersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
 34607  	gensupport.SetOptions(c.urlParams_, opts...)
 34608  	res, err := c.doRequest("json")
 34609  	if res != nil && res.StatusCode == http.StatusNotModified {
 34610  		if res.Body != nil {
 34611  			res.Body.Close()
 34612  		}
 34613  		return nil, gensupport.WrapError(&googleapi.Error{
 34614  			Code:   res.StatusCode,
 34615  			Header: res.Header,
 34616  		})
 34617  	}
 34618  	if err != nil {
 34619  		return nil, err
 34620  	}
 34621  	defer googleapi.CloseBody(res)
 34622  	if err := googleapi.CheckResponse(res); err != nil {
 34623  		return nil, gensupport.WrapError(err)
 34624  	}
 34625  	ret := &Channel{
 34626  		ServerResponse: googleapi.ServerResponse{
 34627  			Header:         res.Header,
 34628  			HTTPStatusCode: res.StatusCode,
 34629  		},
 34630  	}
 34631  	target := &ret
 34632  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34633  		return nil, err
 34634  	}
 34635  	return ret, nil
 34636  }
 34637  
 34638  type PartnersChannelsSitesBulkEditCall struct {
 34639  	s                    *Service
 34640  	partnerId            int64
 34641  	channelId            int64
 34642  	bulkeditsitesrequest *BulkEditSitesRequest
 34643  	urlParams_           gensupport.URLParams
 34644  	ctx_                 context.Context
 34645  	header_              http.Header
 34646  }
 34647  
 34648  // BulkEdit: Bulk edits sites under a single channel. The operation will delete
 34649  // the sites provided in BulkEditSitesRequest.deleted_sites and then create the
 34650  // sites provided in BulkEditSitesRequest.created_sites.
 34651  //
 34652  // - channelId: The ID of the parent channel to which the sites belong.
 34653  // - partnerId: The ID of the partner that owns the parent channel.
 34654  func (r *PartnersChannelsSitesService) BulkEdit(partnerId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *PartnersChannelsSitesBulkEditCall {
 34655  	c := &PartnersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34656  	c.partnerId = partnerId
 34657  	c.channelId = channelId
 34658  	c.bulkeditsitesrequest = bulkeditsitesrequest
 34659  	return c
 34660  }
 34661  
 34662  // Fields allows partial responses to be retrieved. See
 34663  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34664  // details.
 34665  func (c *PartnersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesBulkEditCall {
 34666  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34667  	return c
 34668  }
 34669  
 34670  // Context sets the context to be used in this call's Do method.
 34671  func (c *PartnersChannelsSitesBulkEditCall) Context(ctx context.Context) *PartnersChannelsSitesBulkEditCall {
 34672  	c.ctx_ = ctx
 34673  	return c
 34674  }
 34675  
 34676  // Header returns a http.Header that can be modified by the caller to add
 34677  // headers to the request.
 34678  func (c *PartnersChannelsSitesBulkEditCall) Header() http.Header {
 34679  	if c.header_ == nil {
 34680  		c.header_ = make(http.Header)
 34681  	}
 34682  	return c.header_
 34683  }
 34684  
 34685  func (c *PartnersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
 34686  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 34687  	var body io.Reader = nil
 34688  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest)
 34689  	if err != nil {
 34690  		return nil, err
 34691  	}
 34692  	c.urlParams_.Set("alt", alt)
 34693  	c.urlParams_.Set("prettyPrint", "false")
 34694  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit")
 34695  	urls += "?" + c.urlParams_.Encode()
 34696  	req, err := http.NewRequest("POST", urls, body)
 34697  	if err != nil {
 34698  		return nil, err
 34699  	}
 34700  	req.Header = reqHeaders
 34701  	googleapi.Expand(req.URL, map[string]string{
 34702  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34703  		"channelId": strconv.FormatInt(c.channelId, 10),
 34704  	})
 34705  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34706  }
 34707  
 34708  // Do executes the "displayvideo.partners.channels.sites.bulkEdit" call.
 34709  // Any non-2xx status code is an error. Response headers are in either
 34710  // *BulkEditSitesResponse.ServerResponse.Header or (if a response was returned
 34711  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 34712  // check whether the returned error was because http.StatusNotModified was
 34713  // returned.
 34714  func (c *PartnersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) {
 34715  	gensupport.SetOptions(c.urlParams_, opts...)
 34716  	res, err := c.doRequest("json")
 34717  	if res != nil && res.StatusCode == http.StatusNotModified {
 34718  		if res.Body != nil {
 34719  			res.Body.Close()
 34720  		}
 34721  		return nil, gensupport.WrapError(&googleapi.Error{
 34722  			Code:   res.StatusCode,
 34723  			Header: res.Header,
 34724  		})
 34725  	}
 34726  	if err != nil {
 34727  		return nil, err
 34728  	}
 34729  	defer googleapi.CloseBody(res)
 34730  	if err := googleapi.CheckResponse(res); err != nil {
 34731  		return nil, gensupport.WrapError(err)
 34732  	}
 34733  	ret := &BulkEditSitesResponse{
 34734  		ServerResponse: googleapi.ServerResponse{
 34735  			Header:         res.Header,
 34736  			HTTPStatusCode: res.StatusCode,
 34737  		},
 34738  	}
 34739  	target := &ret
 34740  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34741  		return nil, err
 34742  	}
 34743  	return ret, nil
 34744  }
 34745  
 34746  type PartnersChannelsSitesCreateCall struct {
 34747  	s          *Service
 34748  	partnerId  int64
 34749  	channelId  int64
 34750  	site       *Site
 34751  	urlParams_ gensupport.URLParams
 34752  	ctx_       context.Context
 34753  	header_    http.Header
 34754  }
 34755  
 34756  // Create: Creates a site in a channel.
 34757  //
 34758  // - channelId: The ID of the parent channel in which the site will be created.
 34759  // - partnerId: The ID of the partner that owns the parent channel.
 34760  func (r *PartnersChannelsSitesService) Create(partnerId int64, channelId int64, site *Site) *PartnersChannelsSitesCreateCall {
 34761  	c := &PartnersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34762  	c.partnerId = partnerId
 34763  	c.channelId = channelId
 34764  	c.site = site
 34765  	return c
 34766  }
 34767  
 34768  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34769  // advertiser that owns the parent channel.
 34770  func (c *PartnersChannelsSitesCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesCreateCall {
 34771  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34772  	return c
 34773  }
 34774  
 34775  // Fields allows partial responses to be retrieved. See
 34776  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34777  // details.
 34778  func (c *PartnersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesCreateCall {
 34779  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34780  	return c
 34781  }
 34782  
 34783  // Context sets the context to be used in this call's Do method.
 34784  func (c *PartnersChannelsSitesCreateCall) Context(ctx context.Context) *PartnersChannelsSitesCreateCall {
 34785  	c.ctx_ = ctx
 34786  	return c
 34787  }
 34788  
 34789  // Header returns a http.Header that can be modified by the caller to add
 34790  // headers to the request.
 34791  func (c *PartnersChannelsSitesCreateCall) Header() http.Header {
 34792  	if c.header_ == nil {
 34793  		c.header_ = make(http.Header)
 34794  	}
 34795  	return c.header_
 34796  }
 34797  
 34798  func (c *PartnersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
 34799  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 34800  	var body io.Reader = nil
 34801  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 34802  	if err != nil {
 34803  		return nil, err
 34804  	}
 34805  	c.urlParams_.Set("alt", alt)
 34806  	c.urlParams_.Set("prettyPrint", "false")
 34807  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{partnerId}/channels/{+channelId}/sites")
 34808  	urls += "?" + c.urlParams_.Encode()
 34809  	req, err := http.NewRequest("POST", urls, body)
 34810  	if err != nil {
 34811  		return nil, err
 34812  	}
 34813  	req.Header = reqHeaders
 34814  	googleapi.Expand(req.URL, map[string]string{
 34815  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 34816  		"channelId": strconv.FormatInt(c.channelId, 10),
 34817  	})
 34818  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34819  }
 34820  
 34821  // Do executes the "displayvideo.partners.channels.sites.create" call.
 34822  // Any non-2xx status code is an error. Response headers are in either
 34823  // *Site.ServerResponse.Header or (if a response was returned at all) in
 34824  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34825  // whether the returned error was because http.StatusNotModified was returned.
 34826  func (c *PartnersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 34827  	gensupport.SetOptions(c.urlParams_, opts...)
 34828  	res, err := c.doRequest("json")
 34829  	if res != nil && res.StatusCode == http.StatusNotModified {
 34830  		if res.Body != nil {
 34831  			res.Body.Close()
 34832  		}
 34833  		return nil, gensupport.WrapError(&googleapi.Error{
 34834  			Code:   res.StatusCode,
 34835  			Header: res.Header,
 34836  		})
 34837  	}
 34838  	if err != nil {
 34839  		return nil, err
 34840  	}
 34841  	defer googleapi.CloseBody(res)
 34842  	if err := googleapi.CheckResponse(res); err != nil {
 34843  		return nil, gensupport.WrapError(err)
 34844  	}
 34845  	ret := &Site{
 34846  		ServerResponse: googleapi.ServerResponse{
 34847  			Header:         res.Header,
 34848  			HTTPStatusCode: res.StatusCode,
 34849  		},
 34850  	}
 34851  	target := &ret
 34852  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34853  		return nil, err
 34854  	}
 34855  	return ret, nil
 34856  }
 34857  
 34858  type PartnersChannelsSitesDeleteCall struct {
 34859  	s          *Service
 34860  	partnerId  int64
 34861  	channelId  int64
 34862  	urlOrAppId string
 34863  	urlParams_ gensupport.URLParams
 34864  	ctx_       context.Context
 34865  	header_    http.Header
 34866  }
 34867  
 34868  // Delete: Deletes a site from a channel.
 34869  //
 34870  // - channelId: The ID of the parent channel to which the site belongs.
 34871  // - partnerId: The ID of the partner that owns the parent channel.
 34872  // - urlOrAppId: The URL or app ID of the site to delete.
 34873  func (r *PartnersChannelsSitesService) Delete(partnerId int64, channelId int64, urlOrAppId string) *PartnersChannelsSitesDeleteCall {
 34874  	c := &PartnersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34875  	c.partnerId = partnerId
 34876  	c.channelId = channelId
 34877  	c.urlOrAppId = urlOrAppId
 34878  	return c
 34879  }
 34880  
 34881  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34882  // advertiser that owns the parent channel.
 34883  func (c *PartnersChannelsSitesDeleteCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesDeleteCall {
 34884  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34885  	return c
 34886  }
 34887  
 34888  // Fields allows partial responses to be retrieved. See
 34889  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 34890  // details.
 34891  func (c *PartnersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesDeleteCall {
 34892  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34893  	return c
 34894  }
 34895  
 34896  // Context sets the context to be used in this call's Do method.
 34897  func (c *PartnersChannelsSitesDeleteCall) Context(ctx context.Context) *PartnersChannelsSitesDeleteCall {
 34898  	c.ctx_ = ctx
 34899  	return c
 34900  }
 34901  
 34902  // Header returns a http.Header that can be modified by the caller to add
 34903  // headers to the request.
 34904  func (c *PartnersChannelsSitesDeleteCall) Header() http.Header {
 34905  	if c.header_ == nil {
 34906  		c.header_ = make(http.Header)
 34907  	}
 34908  	return c.header_
 34909  }
 34910  
 34911  func (c *PartnersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
 34912  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 34913  	var body io.Reader = nil
 34914  	c.urlParams_.Set("alt", alt)
 34915  	c.urlParams_.Set("prettyPrint", "false")
 34916  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}")
 34917  	urls += "?" + c.urlParams_.Encode()
 34918  	req, err := http.NewRequest("DELETE", urls, body)
 34919  	if err != nil {
 34920  		return nil, err
 34921  	}
 34922  	req.Header = reqHeaders
 34923  	googleapi.Expand(req.URL, map[string]string{
 34924  		"partnerId":  strconv.FormatInt(c.partnerId, 10),
 34925  		"channelId":  strconv.FormatInt(c.channelId, 10),
 34926  		"urlOrAppId": c.urlOrAppId,
 34927  	})
 34928  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34929  }
 34930  
 34931  // Do executes the "displayvideo.partners.channels.sites.delete" call.
 34932  // Any non-2xx status code is an error. Response headers are in either
 34933  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 34934  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34935  // whether the returned error was because http.StatusNotModified was returned.
 34936  func (c *PartnersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 34937  	gensupport.SetOptions(c.urlParams_, opts...)
 34938  	res, err := c.doRequest("json")
 34939  	if res != nil && res.StatusCode == http.StatusNotModified {
 34940  		if res.Body != nil {
 34941  			res.Body.Close()
 34942  		}
 34943  		return nil, gensupport.WrapError(&googleapi.Error{
 34944  			Code:   res.StatusCode,
 34945  			Header: res.Header,
 34946  		})
 34947  	}
 34948  	if err != nil {
 34949  		return nil, err
 34950  	}
 34951  	defer googleapi.CloseBody(res)
 34952  	if err := googleapi.CheckResponse(res); err != nil {
 34953  		return nil, gensupport.WrapError(err)
 34954  	}
 34955  	ret := &Empty{
 34956  		ServerResponse: googleapi.ServerResponse{
 34957  			Header:         res.Header,
 34958  			HTTPStatusCode: res.StatusCode,
 34959  		},
 34960  	}
 34961  	target := &ret
 34962  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34963  		return nil, err
 34964  	}
 34965  	return ret, nil
 34966  }
 34967  
 34968  type PartnersChannelsSitesListCall struct {
 34969  	s            *Service
 34970  	partnerId    int64
 34971  	channelId    int64
 34972  	urlParams_   gensupport.URLParams
 34973  	ifNoneMatch_ string
 34974  	ctx_         context.Context
 34975  	header_      http.Header
 34976  }
 34977  
 34978  // List: Lists sites in a channel.
 34979  //
 34980  //   - channelId: The ID of the parent channel to which the requested sites
 34981  //     belong.
 34982  //   - partnerId: The ID of the partner that owns the parent channel.
 34983  func (r *PartnersChannelsSitesService) List(partnerId int64, channelId int64) *PartnersChannelsSitesListCall {
 34984  	c := &PartnersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34985  	c.partnerId = partnerId
 34986  	c.channelId = channelId
 34987  	return c
 34988  }
 34989  
 34990  // AdvertiserId sets the optional parameter "advertiserId": The ID of the
 34991  // advertiser that owns the parent channel.
 34992  func (c *PartnersChannelsSitesListCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesListCall {
 34993  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 34994  	return c
 34995  }
 34996  
 34997  // Filter sets the optional parameter "filter": Allows filtering by site
 34998  // fields. Supported syntax: * Filter expressions for site retrieval can only
 34999  // contain at most one restriction. * A restriction has the form of `{field}
 35000  // {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported
 35001  // fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID
 35002  // contains "google": `urlOrAppId : "google" The length of this field should
 35003  // be no more than 500 characters. Reference our filter `LIST` requests
 35004  // (/display-video/api/guides/how-tos/filters) guide for more information.
 35005  func (c *PartnersChannelsSitesListCall) Filter(filter string) *PartnersChannelsSitesListCall {
 35006  	c.urlParams_.Set("filter", filter)
 35007  	return c
 35008  }
 35009  
 35010  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 35011  // list. Acceptable values are: * `urlOrAppId` (default) The default sorting
 35012  // order is ascending. To specify descending order for a field, a suffix "
 35013  // desc" should be added to the field name. Example: `urlOrAppId desc`.
 35014  func (c *PartnersChannelsSitesListCall) OrderBy(orderBy string) *PartnersChannelsSitesListCall {
 35015  	c.urlParams_.Set("orderBy", orderBy)
 35016  	return c
 35017  }
 35018  
 35019  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 35020  // be between `1` and `10000`. If unspecified will default to `100`. Returns
 35021  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 35022  func (c *PartnersChannelsSitesListCall) PageSize(pageSize int64) *PartnersChannelsSitesListCall {
 35023  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 35024  	return c
 35025  }
 35026  
 35027  // PageToken sets the optional parameter "pageToken": A token identifying a
 35028  // page of results the server should return. Typically, this is the value of
 35029  // next_page_token returned from the previous call to `ListSites` method. If
 35030  // not specified, the first page of results will be returned.
 35031  func (c *PartnersChannelsSitesListCall) PageToken(pageToken string) *PartnersChannelsSitesListCall {
 35032  	c.urlParams_.Set("pageToken", pageToken)
 35033  	return c
 35034  }
 35035  
 35036  // Fields allows partial responses to be retrieved. See
 35037  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35038  // details.
 35039  func (c *PartnersChannelsSitesListCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesListCall {
 35040  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35041  	return c
 35042  }
 35043  
 35044  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 35045  // object's ETag matches the given value. This is useful for getting updates
 35046  // only after the object has changed since the last request.
 35047  func (c *PartnersChannelsSitesListCall) IfNoneMatch(entityTag string) *PartnersChannelsSitesListCall {
 35048  	c.ifNoneMatch_ = entityTag
 35049  	return c
 35050  }
 35051  
 35052  // Context sets the context to be used in this call's Do method.
 35053  func (c *PartnersChannelsSitesListCall) Context(ctx context.Context) *PartnersChannelsSitesListCall {
 35054  	c.ctx_ = ctx
 35055  	return c
 35056  }
 35057  
 35058  // Header returns a http.Header that can be modified by the caller to add
 35059  // headers to the request.
 35060  func (c *PartnersChannelsSitesListCall) Header() http.Header {
 35061  	if c.header_ == nil {
 35062  		c.header_ = make(http.Header)
 35063  	}
 35064  	return c.header_
 35065  }
 35066  
 35067  func (c *PartnersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
 35068  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35069  	if c.ifNoneMatch_ != "" {
 35070  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35071  	}
 35072  	var body io.Reader = nil
 35073  	c.urlParams_.Set("alt", alt)
 35074  	c.urlParams_.Set("prettyPrint", "false")
 35075  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{+partnerId}/channels/{+channelId}/sites")
 35076  	urls += "?" + c.urlParams_.Encode()
 35077  	req, err := http.NewRequest("GET", urls, body)
 35078  	if err != nil {
 35079  		return nil, err
 35080  	}
 35081  	req.Header = reqHeaders
 35082  	googleapi.Expand(req.URL, map[string]string{
 35083  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 35084  		"channelId": strconv.FormatInt(c.channelId, 10),
 35085  	})
 35086  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35087  }
 35088  
 35089  // Do executes the "displayvideo.partners.channels.sites.list" call.
 35090  // Any non-2xx status code is an error. Response headers are in either
 35091  // *ListSitesResponse.ServerResponse.Header or (if a response was returned at
 35092  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 35093  // check whether the returned error was because http.StatusNotModified was
 35094  // returned.
 35095  func (c *PartnersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) {
 35096  	gensupport.SetOptions(c.urlParams_, opts...)
 35097  	res, err := c.doRequest("json")
 35098  	if res != nil && res.StatusCode == http.StatusNotModified {
 35099  		if res.Body != nil {
 35100  			res.Body.Close()
 35101  		}
 35102  		return nil, gensupport.WrapError(&googleapi.Error{
 35103  			Code:   res.StatusCode,
 35104  			Header: res.Header,
 35105  		})
 35106  	}
 35107  	if err != nil {
 35108  		return nil, err
 35109  	}
 35110  	defer googleapi.CloseBody(res)
 35111  	if err := googleapi.CheckResponse(res); err != nil {
 35112  		return nil, gensupport.WrapError(err)
 35113  	}
 35114  	ret := &ListSitesResponse{
 35115  		ServerResponse: googleapi.ServerResponse{
 35116  			Header:         res.Header,
 35117  			HTTPStatusCode: res.StatusCode,
 35118  		},
 35119  	}
 35120  	target := &ret
 35121  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35122  		return nil, err
 35123  	}
 35124  	return ret, nil
 35125  }
 35126  
 35127  // Pages invokes f for each page of results.
 35128  // A non-nil error returned from f will halt the iteration.
 35129  // The provided context supersedes any context provided to the Context method.
 35130  func (c *PartnersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error {
 35131  	c.ctx_ = ctx
 35132  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 35133  	for {
 35134  		x, err := c.Do()
 35135  		if err != nil {
 35136  			return err
 35137  		}
 35138  		if err := f(x); err != nil {
 35139  			return err
 35140  		}
 35141  		if x.NextPageToken == "" {
 35142  			return nil
 35143  		}
 35144  		c.PageToken(x.NextPageToken)
 35145  	}
 35146  }
 35147  
 35148  type PartnersChannelsSitesReplaceCall struct {
 35149  	s                   *Service
 35150  	partnerId           int64
 35151  	channelId           int64
 35152  	replacesitesrequest *ReplaceSitesRequest
 35153  	urlParams_          gensupport.URLParams
 35154  	ctx_                context.Context
 35155  	header_             http.Header
 35156  }
 35157  
 35158  // Replace: Replaces all of the sites under a single channel. The operation
 35159  // will replace the sites under a channel with the sites provided in
 35160  // ReplaceSitesRequest.new_sites. **This method regularly experiences high
 35161  // latency.** We recommend increasing your default timeout
 35162  // (/display-video/api/guides/best-practices/timeouts#client_library_timeout)
 35163  // to avoid errors.
 35164  //
 35165  // - channelId: The ID of the parent channel whose sites will be replaced.
 35166  // - partnerId: The ID of the partner that owns the parent channel.
 35167  func (r *PartnersChannelsSitesService) Replace(partnerId int64, channelId int64, replacesitesrequest *ReplaceSitesRequest) *PartnersChannelsSitesReplaceCall {
 35168  	c := &PartnersChannelsSitesReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35169  	c.partnerId = partnerId
 35170  	c.channelId = channelId
 35171  	c.replacesitesrequest = replacesitesrequest
 35172  	return c
 35173  }
 35174  
 35175  // Fields allows partial responses to be retrieved. See
 35176  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35177  // details.
 35178  func (c *PartnersChannelsSitesReplaceCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesReplaceCall {
 35179  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35180  	return c
 35181  }
 35182  
 35183  // Context sets the context to be used in this call's Do method.
 35184  func (c *PartnersChannelsSitesReplaceCall) Context(ctx context.Context) *PartnersChannelsSitesReplaceCall {
 35185  	c.ctx_ = ctx
 35186  	return c
 35187  }
 35188  
 35189  // Header returns a http.Header that can be modified by the caller to add
 35190  // headers to the request.
 35191  func (c *PartnersChannelsSitesReplaceCall) Header() http.Header {
 35192  	if c.header_ == nil {
 35193  		c.header_ = make(http.Header)
 35194  	}
 35195  	return c.header_
 35196  }
 35197  
 35198  func (c *PartnersChannelsSitesReplaceCall) doRequest(alt string) (*http.Response, error) {
 35199  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 35200  	var body io.Reader = nil
 35201  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacesitesrequest)
 35202  	if err != nil {
 35203  		return nil, err
 35204  	}
 35205  	c.urlParams_.Set("alt", alt)
 35206  	c.urlParams_.Set("prettyPrint", "false")
 35207  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{partnerId}/channels/{+channelId}/sites:replace")
 35208  	urls += "?" + c.urlParams_.Encode()
 35209  	req, err := http.NewRequest("POST", urls, body)
 35210  	if err != nil {
 35211  		return nil, err
 35212  	}
 35213  	req.Header = reqHeaders
 35214  	googleapi.Expand(req.URL, map[string]string{
 35215  		"partnerId": strconv.FormatInt(c.partnerId, 10),
 35216  		"channelId": strconv.FormatInt(c.channelId, 10),
 35217  	})
 35218  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35219  }
 35220  
 35221  // Do executes the "displayvideo.partners.channels.sites.replace" call.
 35222  // Any non-2xx status code is an error. Response headers are in either
 35223  // *ReplaceSitesResponse.ServerResponse.Header or (if a response was returned
 35224  // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 35225  // check whether the returned error was because http.StatusNotModified was
 35226  // returned.
 35227  func (c *PartnersChannelsSitesReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceSitesResponse, error) {
 35228  	gensupport.SetOptions(c.urlParams_, opts...)
 35229  	res, err := c.doRequest("json")
 35230  	if res != nil && res.StatusCode == http.StatusNotModified {
 35231  		if res.Body != nil {
 35232  			res.Body.Close()
 35233  		}
 35234  		return nil, gensupport.WrapError(&googleapi.Error{
 35235  			Code:   res.StatusCode,
 35236  			Header: res.Header,
 35237  		})
 35238  	}
 35239  	if err != nil {
 35240  		return nil, err
 35241  	}
 35242  	defer googleapi.CloseBody(res)
 35243  	if err := googleapi.CheckResponse(res); err != nil {
 35244  		return nil, gensupport.WrapError(err)
 35245  	}
 35246  	ret := &ReplaceSitesResponse{
 35247  		ServerResponse: googleapi.ServerResponse{
 35248  			Header:         res.Header,
 35249  			HTTPStatusCode: res.StatusCode,
 35250  		},
 35251  	}
 35252  	target := &ret
 35253  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35254  		return nil, err
 35255  	}
 35256  	return ret, nil
 35257  }
 35258  
 35259  type PartnersTargetingTypesAssignedTargetingOptionsCreateCall struct {
 35260  	s                       *Service
 35261  	partnerId               int64
 35262  	targetingType           string
 35263  	assignedtargetingoption *AssignedTargetingOption
 35264  	urlParams_              gensupport.URLParams
 35265  	ctx_                    context.Context
 35266  	header_                 http.Header
 35267  }
 35268  
 35269  // Create: Assigns a targeting option to a partner. Returns the assigned
 35270  // targeting option if successful.
 35271  //
 35272  //   - partnerId: The ID of the partner.
 35273  //   - targetingType: Identifies the type of this assigned targeting option.
 35274  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
 35275  func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Create(partnerId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
 35276  	c := &PartnersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35277  	c.partnerId = partnerId
 35278  	c.targetingType = targetingType
 35279  	c.assignedtargetingoption = assignedtargetingoption
 35280  	return c
 35281  }
 35282  
 35283  // Fields allows partial responses to be retrieved. See
 35284  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35285  // details.
 35286  func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
 35287  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35288  	return c
 35289  }
 35290  
 35291  // Context sets the context to be used in this call's Do method.
 35292  func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
 35293  	c.ctx_ = ctx
 35294  	return c
 35295  }
 35296  
 35297  // Header returns a http.Header that can be modified by the caller to add
 35298  // headers to the request.
 35299  func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
 35300  	if c.header_ == nil {
 35301  		c.header_ = make(http.Header)
 35302  	}
 35303  	return c.header_
 35304  }
 35305  
 35306  func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 35307  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 35308  	var body io.Reader = nil
 35309  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
 35310  	if err != nil {
 35311  		return nil, err
 35312  	}
 35313  	c.urlParams_.Set("alt", alt)
 35314  	c.urlParams_.Set("prettyPrint", "false")
 35315  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 35316  	urls += "?" + c.urlParams_.Encode()
 35317  	req, err := http.NewRequest("POST", urls, body)
 35318  	if err != nil {
 35319  		return nil, err
 35320  	}
 35321  	req.Header = reqHeaders
 35322  	googleapi.Expand(req.URL, map[string]string{
 35323  		"partnerId":     strconv.FormatInt(c.partnerId, 10),
 35324  		"targetingType": c.targetingType,
 35325  	})
 35326  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35327  }
 35328  
 35329  // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.create" call.
 35330  // Any non-2xx status code is an error. Response headers are in either
 35331  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 35332  // returned at all) in error.(*googleapi.Error).Header. Use
 35333  // googleapi.IsNotModified to check whether the returned error was because
 35334  // http.StatusNotModified was returned.
 35335  func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 35336  	gensupport.SetOptions(c.urlParams_, opts...)
 35337  	res, err := c.doRequest("json")
 35338  	if res != nil && res.StatusCode == http.StatusNotModified {
 35339  		if res.Body != nil {
 35340  			res.Body.Close()
 35341  		}
 35342  		return nil, gensupport.WrapError(&googleapi.Error{
 35343  			Code:   res.StatusCode,
 35344  			Header: res.Header,
 35345  		})
 35346  	}
 35347  	if err != nil {
 35348  		return nil, err
 35349  	}
 35350  	defer googleapi.CloseBody(res)
 35351  	if err := googleapi.CheckResponse(res); err != nil {
 35352  		return nil, gensupport.WrapError(err)
 35353  	}
 35354  	ret := &AssignedTargetingOption{
 35355  		ServerResponse: googleapi.ServerResponse{
 35356  			Header:         res.Header,
 35357  			HTTPStatusCode: res.StatusCode,
 35358  		},
 35359  	}
 35360  	target := &ret
 35361  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35362  		return nil, err
 35363  	}
 35364  	return ret, nil
 35365  }
 35366  
 35367  type PartnersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
 35368  	s                         *Service
 35369  	partnerId                 int64
 35370  	targetingType             string
 35371  	assignedTargetingOptionId string
 35372  	urlParams_                gensupport.URLParams
 35373  	ctx_                      context.Context
 35374  	header_                   http.Header
 35375  }
 35376  
 35377  // Delete: Deletes an assigned targeting option from a partner.
 35378  //
 35379  //   - assignedTargetingOptionId: The ID of the assigned targeting option to
 35380  //     delete.
 35381  //   - partnerId: The ID of the partner.
 35382  //   - targetingType: Identifies the type of this assigned targeting option.
 35383  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
 35384  func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Delete(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
 35385  	c := &PartnersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35386  	c.partnerId = partnerId
 35387  	c.targetingType = targetingType
 35388  	c.assignedTargetingOptionId = assignedTargetingOptionId
 35389  	return c
 35390  }
 35391  
 35392  // Fields allows partial responses to be retrieved. See
 35393  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35394  // details.
 35395  func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
 35396  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35397  	return c
 35398  }
 35399  
 35400  // Context sets the context to be used in this call's Do method.
 35401  func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
 35402  	c.ctx_ = ctx
 35403  	return c
 35404  }
 35405  
 35406  // Header returns a http.Header that can be modified by the caller to add
 35407  // headers to the request.
 35408  func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
 35409  	if c.header_ == nil {
 35410  		c.header_ = make(http.Header)
 35411  	}
 35412  	return c.header_
 35413  }
 35414  
 35415  func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 35416  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35417  	var body io.Reader = nil
 35418  	c.urlParams_.Set("alt", alt)
 35419  	c.urlParams_.Set("prettyPrint", "false")
 35420  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 35421  	urls += "?" + c.urlParams_.Encode()
 35422  	req, err := http.NewRequest("DELETE", urls, body)
 35423  	if err != nil {
 35424  		return nil, err
 35425  	}
 35426  	req.Header = reqHeaders
 35427  	googleapi.Expand(req.URL, map[string]string{
 35428  		"partnerId":                 strconv.FormatInt(c.partnerId, 10),
 35429  		"targetingType":             c.targetingType,
 35430  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 35431  	})
 35432  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35433  }
 35434  
 35435  // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete" call.
 35436  // Any non-2xx status code is an error. Response headers are in either
 35437  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 35438  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 35439  // whether the returned error was because http.StatusNotModified was returned.
 35440  func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 35441  	gensupport.SetOptions(c.urlParams_, opts...)
 35442  	res, err := c.doRequest("json")
 35443  	if res != nil && res.StatusCode == http.StatusNotModified {
 35444  		if res.Body != nil {
 35445  			res.Body.Close()
 35446  		}
 35447  		return nil, gensupport.WrapError(&googleapi.Error{
 35448  			Code:   res.StatusCode,
 35449  			Header: res.Header,
 35450  		})
 35451  	}
 35452  	if err != nil {
 35453  		return nil, err
 35454  	}
 35455  	defer googleapi.CloseBody(res)
 35456  	if err := googleapi.CheckResponse(res); err != nil {
 35457  		return nil, gensupport.WrapError(err)
 35458  	}
 35459  	ret := &Empty{
 35460  		ServerResponse: googleapi.ServerResponse{
 35461  			Header:         res.Header,
 35462  			HTTPStatusCode: res.StatusCode,
 35463  		},
 35464  	}
 35465  	target := &ret
 35466  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35467  		return nil, err
 35468  	}
 35469  	return ret, nil
 35470  }
 35471  
 35472  type PartnersTargetingTypesAssignedTargetingOptionsGetCall struct {
 35473  	s                         *Service
 35474  	partnerId                 int64
 35475  	targetingType             string
 35476  	assignedTargetingOptionId string
 35477  	urlParams_                gensupport.URLParams
 35478  	ifNoneMatch_              string
 35479  	ctx_                      context.Context
 35480  	header_                   http.Header
 35481  }
 35482  
 35483  // Get: Gets a single targeting option assigned to a partner.
 35484  //
 35485  //   - assignedTargetingOptionId: An identifier unique to the targeting type in
 35486  //     this partner that identifies the assigned targeting option being
 35487  //     requested.
 35488  //   - partnerId: The ID of the partner.
 35489  //   - targetingType: Identifies the type of this assigned targeting option.
 35490  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
 35491  func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Get(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
 35492  	c := &PartnersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35493  	c.partnerId = partnerId
 35494  	c.targetingType = targetingType
 35495  	c.assignedTargetingOptionId = assignedTargetingOptionId
 35496  	return c
 35497  }
 35498  
 35499  // Fields allows partial responses to be retrieved. See
 35500  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35501  // details.
 35502  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
 35503  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35504  	return c
 35505  }
 35506  
 35507  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 35508  // object's ETag matches the given value. This is useful for getting updates
 35509  // only after the object has changed since the last request.
 35510  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
 35511  	c.ifNoneMatch_ = entityTag
 35512  	return c
 35513  }
 35514  
 35515  // Context sets the context to be used in this call's Do method.
 35516  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
 35517  	c.ctx_ = ctx
 35518  	return c
 35519  }
 35520  
 35521  // Header returns a http.Header that can be modified by the caller to add
 35522  // headers to the request.
 35523  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
 35524  	if c.header_ == nil {
 35525  		c.header_ = make(http.Header)
 35526  	}
 35527  	return c.header_
 35528  }
 35529  
 35530  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 35531  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35532  	if c.ifNoneMatch_ != "" {
 35533  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35534  	}
 35535  	var body io.Reader = nil
 35536  	c.urlParams_.Set("alt", alt)
 35537  	c.urlParams_.Set("prettyPrint", "false")
 35538  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
 35539  	urls += "?" + c.urlParams_.Encode()
 35540  	req, err := http.NewRequest("GET", urls, body)
 35541  	if err != nil {
 35542  		return nil, err
 35543  	}
 35544  	req.Header = reqHeaders
 35545  	googleapi.Expand(req.URL, map[string]string{
 35546  		"partnerId":                 strconv.FormatInt(c.partnerId, 10),
 35547  		"targetingType":             c.targetingType,
 35548  		"assignedTargetingOptionId": c.assignedTargetingOptionId,
 35549  	})
 35550  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35551  }
 35552  
 35553  // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.get" call.
 35554  // Any non-2xx status code is an error. Response headers are in either
 35555  // *AssignedTargetingOption.ServerResponse.Header or (if a response was
 35556  // returned at all) in error.(*googleapi.Error).Header. Use
 35557  // googleapi.IsNotModified to check whether the returned error was because
 35558  // http.StatusNotModified was returned.
 35559  func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
 35560  	gensupport.SetOptions(c.urlParams_, opts...)
 35561  	res, err := c.doRequest("json")
 35562  	if res != nil && res.StatusCode == http.StatusNotModified {
 35563  		if res.Body != nil {
 35564  			res.Body.Close()
 35565  		}
 35566  		return nil, gensupport.WrapError(&googleapi.Error{
 35567  			Code:   res.StatusCode,
 35568  			Header: res.Header,
 35569  		})
 35570  	}
 35571  	if err != nil {
 35572  		return nil, err
 35573  	}
 35574  	defer googleapi.CloseBody(res)
 35575  	if err := googleapi.CheckResponse(res); err != nil {
 35576  		return nil, gensupport.WrapError(err)
 35577  	}
 35578  	ret := &AssignedTargetingOption{
 35579  		ServerResponse: googleapi.ServerResponse{
 35580  			Header:         res.Header,
 35581  			HTTPStatusCode: res.StatusCode,
 35582  		},
 35583  	}
 35584  	target := &ret
 35585  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35586  		return nil, err
 35587  	}
 35588  	return ret, nil
 35589  }
 35590  
 35591  type PartnersTargetingTypesAssignedTargetingOptionsListCall struct {
 35592  	s             *Service
 35593  	partnerId     int64
 35594  	targetingType string
 35595  	urlParams_    gensupport.URLParams
 35596  	ifNoneMatch_  string
 35597  	ctx_          context.Context
 35598  	header_       http.Header
 35599  }
 35600  
 35601  // List: Lists the targeting options assigned to a partner.
 35602  //
 35603  //   - partnerId: The ID of the partner.
 35604  //   - targetingType: Identifies the type of assigned targeting options to list.
 35605  //     Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
 35606  func (r *PartnersTargetingTypesAssignedTargetingOptionsService) List(partnerId int64, targetingType string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35607  	c := &PartnersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35608  	c.partnerId = partnerId
 35609  	c.targetingType = targetingType
 35610  	return c
 35611  }
 35612  
 35613  // Filter sets the optional parameter "filter": Allows filtering by assigned
 35614  // targeting option fields. Supported syntax: * Filter expressions are made up
 35615  // of one or more restrictions. * Restrictions can be combined by the logical
 35616  // operator `OR`. * A restriction has the form of `{field} {operator} {value}`.
 35617  // * All fields must use the `EQUALS (=)` operator. Supported fields: *
 35618  // `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resource
 35619  // with ID 123456: `assignedTargetingOptionId="123456" The length of this
 35620  // field should be no more than 500 characters. Reference our filter `LIST`
 35621  // requests (/display-video/api/guides/how-tos/filters) guide for more
 35622  // information.
 35623  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35624  	c.urlParams_.Set("filter", filter)
 35625  	return c
 35626  }
 35627  
 35628  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 35629  // list. Acceptable values are: * `assignedTargetingOptionId` (default) The
 35630  // default sorting order is ascending. To specify descending order for a field,
 35631  // a suffix "desc" should be added to the field name. Example:
 35632  // `assignedTargetingOptionId desc`.
 35633  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35634  	c.urlParams_.Set("orderBy", orderBy)
 35635  	return c
 35636  }
 35637  
 35638  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 35639  // be between `1` and `200`. If unspecified will default to `100`. Returns
 35640  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 35641  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35642  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 35643  	return c
 35644  }
 35645  
 35646  // PageToken sets the optional parameter "pageToken": A token identifying a
 35647  // page of results the server should return. Typically, this is the value of
 35648  // next_page_token returned from the previous call to
 35649  // `ListPartnerAssignedTargetingOptions` method. If not specified, the first
 35650  // page of results will be returned.
 35651  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35652  	c.urlParams_.Set("pageToken", pageToken)
 35653  	return c
 35654  }
 35655  
 35656  // Fields allows partial responses to be retrieved. See
 35657  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35658  // details.
 35659  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35660  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35661  	return c
 35662  }
 35663  
 35664  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 35665  // object's ETag matches the given value. This is useful for getting updates
 35666  // only after the object has changed since the last request.
 35667  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35668  	c.ifNoneMatch_ = entityTag
 35669  	return c
 35670  }
 35671  
 35672  // Context sets the context to be used in this call's Do method.
 35673  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
 35674  	c.ctx_ = ctx
 35675  	return c
 35676  }
 35677  
 35678  // Header returns a http.Header that can be modified by the caller to add
 35679  // headers to the request.
 35680  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
 35681  	if c.header_ == nil {
 35682  		c.header_ = make(http.Header)
 35683  	}
 35684  	return c.header_
 35685  }
 35686  
 35687  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 35688  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35689  	if c.ifNoneMatch_ != "" {
 35690  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35691  	}
 35692  	var body io.Reader = nil
 35693  	c.urlParams_.Set("alt", alt)
 35694  	c.urlParams_.Set("prettyPrint", "false")
 35695  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
 35696  	urls += "?" + c.urlParams_.Encode()
 35697  	req, err := http.NewRequest("GET", urls, body)
 35698  	if err != nil {
 35699  		return nil, err
 35700  	}
 35701  	req.Header = reqHeaders
 35702  	googleapi.Expand(req.URL, map[string]string{
 35703  		"partnerId":     strconv.FormatInt(c.partnerId, 10),
 35704  		"targetingType": c.targetingType,
 35705  	})
 35706  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35707  }
 35708  
 35709  // Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.list" call.
 35710  // Any non-2xx status code is an error. Response headers are in either
 35711  // *ListPartnerAssignedTargetingOptionsResponse.ServerResponse.Header or (if a
 35712  // response was returned at all) in error.(*googleapi.Error).Header. Use
 35713  // googleapi.IsNotModified to check whether the returned error was because
 35714  // http.StatusNotModified was returned.
 35715  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListPartnerAssignedTargetingOptionsResponse, error) {
 35716  	gensupport.SetOptions(c.urlParams_, opts...)
 35717  	res, err := c.doRequest("json")
 35718  	if res != nil && res.StatusCode == http.StatusNotModified {
 35719  		if res.Body != nil {
 35720  			res.Body.Close()
 35721  		}
 35722  		return nil, gensupport.WrapError(&googleapi.Error{
 35723  			Code:   res.StatusCode,
 35724  			Header: res.Header,
 35725  		})
 35726  	}
 35727  	if err != nil {
 35728  		return nil, err
 35729  	}
 35730  	defer googleapi.CloseBody(res)
 35731  	if err := googleapi.CheckResponse(res); err != nil {
 35732  		return nil, gensupport.WrapError(err)
 35733  	}
 35734  	ret := &ListPartnerAssignedTargetingOptionsResponse{
 35735  		ServerResponse: googleapi.ServerResponse{
 35736  			Header:         res.Header,
 35737  			HTTPStatusCode: res.StatusCode,
 35738  		},
 35739  	}
 35740  	target := &ret
 35741  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35742  		return nil, err
 35743  	}
 35744  	return ret, nil
 35745  }
 35746  
 35747  // Pages invokes f for each page of results.
 35748  // A non-nil error returned from f will halt the iteration.
 35749  // The provided context supersedes any context provided to the Context method.
 35750  func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListPartnerAssignedTargetingOptionsResponse) error) error {
 35751  	c.ctx_ = ctx
 35752  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 35753  	for {
 35754  		x, err := c.Do()
 35755  		if err != nil {
 35756  			return err
 35757  		}
 35758  		if err := f(x); err != nil {
 35759  			return err
 35760  		}
 35761  		if x.NextPageToken == "" {
 35762  			return nil
 35763  		}
 35764  		c.PageToken(x.NextPageToken)
 35765  	}
 35766  }
 35767  
 35768  type SdfdownloadtasksCreateCall struct {
 35769  	s                            *Service
 35770  	createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest
 35771  	urlParams_                   gensupport.URLParams
 35772  	ctx_                         context.Context
 35773  	header_                      http.Header
 35774  }
 35775  
 35776  // Create: Creates an SDF Download Task. Returns an Operation. An SDF Download
 35777  // Task is a long-running, asynchronous operation. The metadata type of this
 35778  // operation is SdfDownloadTaskMetadata. If the request is successful, the
 35779  // response type of the operation is SdfDownloadTask. The response will not
 35780  // include the download files, which must be retrieved with media.download. The
 35781  // state of operation can be retrieved with sdfdownloadtask.operations.get. Any
 35782  // errors can be found in the error.message. Note that error.details is
 35783  // expected to be empty.
 35784  func (r *SdfdownloadtasksService) Create(createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest) *SdfdownloadtasksCreateCall {
 35785  	c := &SdfdownloadtasksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35786  	c.createsdfdownloadtaskrequest = createsdfdownloadtaskrequest
 35787  	return c
 35788  }
 35789  
 35790  // Fields allows partial responses to be retrieved. See
 35791  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35792  // details.
 35793  func (c *SdfdownloadtasksCreateCall) Fields(s ...googleapi.Field) *SdfdownloadtasksCreateCall {
 35794  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35795  	return c
 35796  }
 35797  
 35798  // Context sets the context to be used in this call's Do method.
 35799  func (c *SdfdownloadtasksCreateCall) Context(ctx context.Context) *SdfdownloadtasksCreateCall {
 35800  	c.ctx_ = ctx
 35801  	return c
 35802  }
 35803  
 35804  // Header returns a http.Header that can be modified by the caller to add
 35805  // headers to the request.
 35806  func (c *SdfdownloadtasksCreateCall) Header() http.Header {
 35807  	if c.header_ == nil {
 35808  		c.header_ = make(http.Header)
 35809  	}
 35810  	return c.header_
 35811  }
 35812  
 35813  func (c *SdfdownloadtasksCreateCall) doRequest(alt string) (*http.Response, error) {
 35814  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 35815  	var body io.Reader = nil
 35816  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createsdfdownloadtaskrequest)
 35817  	if err != nil {
 35818  		return nil, err
 35819  	}
 35820  	c.urlParams_.Set("alt", alt)
 35821  	c.urlParams_.Set("prettyPrint", "false")
 35822  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/sdfdownloadtasks")
 35823  	urls += "?" + c.urlParams_.Encode()
 35824  	req, err := http.NewRequest("POST", urls, body)
 35825  	if err != nil {
 35826  		return nil, err
 35827  	}
 35828  	req.Header = reqHeaders
 35829  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35830  }
 35831  
 35832  // Do executes the "displayvideo.sdfdownloadtasks.create" call.
 35833  // Any non-2xx status code is an error. Response headers are in either
 35834  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 35835  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 35836  // whether the returned error was because http.StatusNotModified was returned.
 35837  func (c *SdfdownloadtasksCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 35838  	gensupport.SetOptions(c.urlParams_, opts...)
 35839  	res, err := c.doRequest("json")
 35840  	if res != nil && res.StatusCode == http.StatusNotModified {
 35841  		if res.Body != nil {
 35842  			res.Body.Close()
 35843  		}
 35844  		return nil, gensupport.WrapError(&googleapi.Error{
 35845  			Code:   res.StatusCode,
 35846  			Header: res.Header,
 35847  		})
 35848  	}
 35849  	if err != nil {
 35850  		return nil, err
 35851  	}
 35852  	defer googleapi.CloseBody(res)
 35853  	if err := googleapi.CheckResponse(res); err != nil {
 35854  		return nil, gensupport.WrapError(err)
 35855  	}
 35856  	ret := &Operation{
 35857  		ServerResponse: googleapi.ServerResponse{
 35858  			Header:         res.Header,
 35859  			HTTPStatusCode: res.StatusCode,
 35860  		},
 35861  	}
 35862  	target := &ret
 35863  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35864  		return nil, err
 35865  	}
 35866  	return ret, nil
 35867  }
 35868  
 35869  type SdfdownloadtasksOperationsGetCall struct {
 35870  	s            *Service
 35871  	name         string
 35872  	urlParams_   gensupport.URLParams
 35873  	ifNoneMatch_ string
 35874  	ctx_         context.Context
 35875  	header_      http.Header
 35876  }
 35877  
 35878  // Get: Gets the latest state of an asynchronous SDF download task operation.
 35879  // Clients should poll this method at intervals of 30 seconds.
 35880  //
 35881  // - name: The name of the operation resource.
 35882  func (r *SdfdownloadtasksOperationsService) Get(name string) *SdfdownloadtasksOperationsGetCall {
 35883  	c := &SdfdownloadtasksOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35884  	c.name = name
 35885  	return c
 35886  }
 35887  
 35888  // Fields allows partial responses to be retrieved. See
 35889  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 35890  // details.
 35891  func (c *SdfdownloadtasksOperationsGetCall) Fields(s ...googleapi.Field) *SdfdownloadtasksOperationsGetCall {
 35892  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35893  	return c
 35894  }
 35895  
 35896  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 35897  // object's ETag matches the given value. This is useful for getting updates
 35898  // only after the object has changed since the last request.
 35899  func (c *SdfdownloadtasksOperationsGetCall) IfNoneMatch(entityTag string) *SdfdownloadtasksOperationsGetCall {
 35900  	c.ifNoneMatch_ = entityTag
 35901  	return c
 35902  }
 35903  
 35904  // Context sets the context to be used in this call's Do method.
 35905  func (c *SdfdownloadtasksOperationsGetCall) Context(ctx context.Context) *SdfdownloadtasksOperationsGetCall {
 35906  	c.ctx_ = ctx
 35907  	return c
 35908  }
 35909  
 35910  // Header returns a http.Header that can be modified by the caller to add
 35911  // headers to the request.
 35912  func (c *SdfdownloadtasksOperationsGetCall) Header() http.Header {
 35913  	if c.header_ == nil {
 35914  		c.header_ = make(http.Header)
 35915  	}
 35916  	return c.header_
 35917  }
 35918  
 35919  func (c *SdfdownloadtasksOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 35920  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 35921  	if c.ifNoneMatch_ != "" {
 35922  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35923  	}
 35924  	var body io.Reader = nil
 35925  	c.urlParams_.Set("alt", alt)
 35926  	c.urlParams_.Set("prettyPrint", "false")
 35927  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/{+name}")
 35928  	urls += "?" + c.urlParams_.Encode()
 35929  	req, err := http.NewRequest("GET", urls, body)
 35930  	if err != nil {
 35931  		return nil, err
 35932  	}
 35933  	req.Header = reqHeaders
 35934  	googleapi.Expand(req.URL, map[string]string{
 35935  		"name": c.name,
 35936  	})
 35937  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35938  }
 35939  
 35940  // Do executes the "displayvideo.sdfdownloadtasks.operations.get" call.
 35941  // Any non-2xx status code is an error. Response headers are in either
 35942  // *Operation.ServerResponse.Header or (if a response was returned at all) in
 35943  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 35944  // whether the returned error was because http.StatusNotModified was returned.
 35945  func (c *SdfdownloadtasksOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
 35946  	gensupport.SetOptions(c.urlParams_, opts...)
 35947  	res, err := c.doRequest("json")
 35948  	if res != nil && res.StatusCode == http.StatusNotModified {
 35949  		if res.Body != nil {
 35950  			res.Body.Close()
 35951  		}
 35952  		return nil, gensupport.WrapError(&googleapi.Error{
 35953  			Code:   res.StatusCode,
 35954  			Header: res.Header,
 35955  		})
 35956  	}
 35957  	if err != nil {
 35958  		return nil, err
 35959  	}
 35960  	defer googleapi.CloseBody(res)
 35961  	if err := googleapi.CheckResponse(res); err != nil {
 35962  		return nil, gensupport.WrapError(err)
 35963  	}
 35964  	ret := &Operation{
 35965  		ServerResponse: googleapi.ServerResponse{
 35966  			Header:         res.Header,
 35967  			HTTPStatusCode: res.StatusCode,
 35968  		},
 35969  	}
 35970  	target := &ret
 35971  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35972  		return nil, err
 35973  	}
 35974  	return ret, nil
 35975  }
 35976  
 35977  type TargetingTypesTargetingOptionsGetCall struct {
 35978  	s                 *Service
 35979  	targetingType     string
 35980  	targetingOptionId string
 35981  	urlParams_        gensupport.URLParams
 35982  	ifNoneMatch_      string
 35983  	ctx_              context.Context
 35984  	header_           http.Header
 35985  }
 35986  
 35987  // Get: Gets a single targeting option.
 35988  //
 35989  //   - targetingOptionId: The ID of the of targeting option to retrieve.
 35990  //   - targetingType: The type of targeting option to retrieve. Accepted values
 35991  //     are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` *
 35992  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` *
 35993  //     `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS`
 35994  //   - `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 35995  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE`
 35996  //   - `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` *
 35997  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 35998  //     `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 35999  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` *
 36000  //     `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
 36001  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` *
 36002  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 36003  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE`
 36004  //   - `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION`
 36005  //   - `TARGETING_TYPE_OMID`.
 36006  func (r *TargetingTypesTargetingOptionsService) Get(targetingType string, targetingOptionId string) *TargetingTypesTargetingOptionsGetCall {
 36007  	c := &TargetingTypesTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36008  	c.targetingType = targetingType
 36009  	c.targetingOptionId = targetingOptionId
 36010  	return c
 36011  }
 36012  
 36013  // AdvertiserId sets the optional parameter "advertiserId": Required. The
 36014  // Advertiser this request is being made in the context of.
 36015  func (c *TargetingTypesTargetingOptionsGetCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsGetCall {
 36016  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 36017  	return c
 36018  }
 36019  
 36020  // Fields allows partial responses to be retrieved. See
 36021  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36022  // details.
 36023  func (c *TargetingTypesTargetingOptionsGetCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsGetCall {
 36024  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36025  	return c
 36026  }
 36027  
 36028  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 36029  // object's ETag matches the given value. This is useful for getting updates
 36030  // only after the object has changed since the last request.
 36031  func (c *TargetingTypesTargetingOptionsGetCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsGetCall {
 36032  	c.ifNoneMatch_ = entityTag
 36033  	return c
 36034  }
 36035  
 36036  // Context sets the context to be used in this call's Do method.
 36037  func (c *TargetingTypesTargetingOptionsGetCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsGetCall {
 36038  	c.ctx_ = ctx
 36039  	return c
 36040  }
 36041  
 36042  // Header returns a http.Header that can be modified by the caller to add
 36043  // headers to the request.
 36044  func (c *TargetingTypesTargetingOptionsGetCall) Header() http.Header {
 36045  	if c.header_ == nil {
 36046  		c.header_ = make(http.Header)
 36047  	}
 36048  	return c.header_
 36049  }
 36050  
 36051  func (c *TargetingTypesTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 36052  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 36053  	if c.ifNoneMatch_ != "" {
 36054  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36055  	}
 36056  	var body io.Reader = nil
 36057  	c.urlParams_.Set("alt", alt)
 36058  	c.urlParams_.Set("prettyPrint", "false")
 36059  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}")
 36060  	urls += "?" + c.urlParams_.Encode()
 36061  	req, err := http.NewRequest("GET", urls, body)
 36062  	if err != nil {
 36063  		return nil, err
 36064  	}
 36065  	req.Header = reqHeaders
 36066  	googleapi.Expand(req.URL, map[string]string{
 36067  		"targetingType":     c.targetingType,
 36068  		"targetingOptionId": c.targetingOptionId,
 36069  	})
 36070  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36071  }
 36072  
 36073  // Do executes the "displayvideo.targetingTypes.targetingOptions.get" call.
 36074  // Any non-2xx status code is an error. Response headers are in either
 36075  // *TargetingOption.ServerResponse.Header or (if a response was returned at
 36076  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 36077  // check whether the returned error was because http.StatusNotModified was
 36078  // returned.
 36079  func (c *TargetingTypesTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*TargetingOption, error) {
 36080  	gensupport.SetOptions(c.urlParams_, opts...)
 36081  	res, err := c.doRequest("json")
 36082  	if res != nil && res.StatusCode == http.StatusNotModified {
 36083  		if res.Body != nil {
 36084  			res.Body.Close()
 36085  		}
 36086  		return nil, gensupport.WrapError(&googleapi.Error{
 36087  			Code:   res.StatusCode,
 36088  			Header: res.Header,
 36089  		})
 36090  	}
 36091  	if err != nil {
 36092  		return nil, err
 36093  	}
 36094  	defer googleapi.CloseBody(res)
 36095  	if err := googleapi.CheckResponse(res); err != nil {
 36096  		return nil, gensupport.WrapError(err)
 36097  	}
 36098  	ret := &TargetingOption{
 36099  		ServerResponse: googleapi.ServerResponse{
 36100  			Header:         res.Header,
 36101  			HTTPStatusCode: res.StatusCode,
 36102  		},
 36103  	}
 36104  	target := &ret
 36105  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36106  		return nil, err
 36107  	}
 36108  	return ret, nil
 36109  }
 36110  
 36111  type TargetingTypesTargetingOptionsListCall struct {
 36112  	s             *Service
 36113  	targetingType string
 36114  	urlParams_    gensupport.URLParams
 36115  	ifNoneMatch_  string
 36116  	ctx_          context.Context
 36117  	header_       http.Header
 36118  }
 36119  
 36120  // List: Lists targeting options of a given type.
 36121  //
 36122  //   - targetingType: The type of targeting option to be listed. Accepted values
 36123  //     are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` *
 36124  //     `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` *
 36125  //     `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS`
 36126  //   - `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
 36127  //     `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE`
 36128  //   - `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` *
 36129  //     `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` *
 36130  //     `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` *
 36131  //     `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` *
 36132  //     `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
 36133  //     `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` *
 36134  //     `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
 36135  //     `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE`
 36136  //   - `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION`
 36137  //   - `TARGETING_TYPE_OMID`.
 36138  func (r *TargetingTypesTargetingOptionsService) List(targetingType string) *TargetingTypesTargetingOptionsListCall {
 36139  	c := &TargetingTypesTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36140  	c.targetingType = targetingType
 36141  	return c
 36142  }
 36143  
 36144  // AdvertiserId sets the optional parameter "advertiserId": Required. The
 36145  // Advertiser this request is being made in the context of.
 36146  func (c *TargetingTypesTargetingOptionsListCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsListCall {
 36147  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 36148  	return c
 36149  }
 36150  
 36151  // Filter sets the optional parameter "filter": Allows filtering by targeting
 36152  // option fields. Supported syntax: * Filter expressions are made up of one or
 36153  // more restrictions. * Restrictions can be combined by `OR` logical operators.
 36154  // * A restriction has the form of `{field} {operator} {value}`. * All fields
 36155  // must use the `EQUALS (=)` operator. Supported fields: *
 36156  // `carrierAndIspDetails.type` * `geoRegionDetails.geoRegionType` *
 36157  // `targetingOptionId` Examples: * All `GEO REGION` targeting options that
 36158  // belong to sub type `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`:
 36159  // `geoRegionDetails.geoRegionType="GEO_REGION_TYPE_COUNTRY" OR
 36160  // geoRegionDetails.geoRegionType="GEO_REGION_TYPE_STATE" * All `CARRIER AND
 36161  // ISP` targeting options that belong to sub type
 36162  // `CARRIER_AND_ISP_TYPE_CARRIER`:
 36163  // `carrierAndIspDetails.type="CARRIER_AND_ISP_TYPE_CARRIER" The length of
 36164  // this field should be no more than 500 characters. Reference our filter
 36165  // `LIST` requests (/display-video/api/guides/how-tos/filters) guide for more
 36166  // information.
 36167  func (c *TargetingTypesTargetingOptionsListCall) Filter(filter string) *TargetingTypesTargetingOptionsListCall {
 36168  	c.urlParams_.Set("filter", filter)
 36169  	return c
 36170  }
 36171  
 36172  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 36173  // list. Acceptable values are: * `targetingOptionId` (default) The default
 36174  // sorting order is ascending. To specify descending order for a field, a
 36175  // suffix "desc" should be added to the field name. Example: `targetingOptionId
 36176  // desc`.
 36177  func (c *TargetingTypesTargetingOptionsListCall) OrderBy(orderBy string) *TargetingTypesTargetingOptionsListCall {
 36178  	c.urlParams_.Set("orderBy", orderBy)
 36179  	return c
 36180  }
 36181  
 36182  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 36183  // be between `1` and `200`. If unspecified will default to `100`. Returns
 36184  // error code `INVALID_ARGUMENT` if an invalid value is specified.
 36185  func (c *TargetingTypesTargetingOptionsListCall) PageSize(pageSize int64) *TargetingTypesTargetingOptionsListCall {
 36186  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 36187  	return c
 36188  }
 36189  
 36190  // PageToken sets the optional parameter "pageToken": A token identifying a
 36191  // page of results the server should return. Typically, this is the value of
 36192  // next_page_token returned from the previous call to `ListTargetingOptions`
 36193  // method. If not specified, the first page of results will be returned.
 36194  func (c *TargetingTypesTargetingOptionsListCall) PageToken(pageToken string) *TargetingTypesTargetingOptionsListCall {
 36195  	c.urlParams_.Set("pageToken", pageToken)
 36196  	return c
 36197  }
 36198  
 36199  // Fields allows partial responses to be retrieved. See
 36200  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36201  // details.
 36202  func (c *TargetingTypesTargetingOptionsListCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsListCall {
 36203  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36204  	return c
 36205  }
 36206  
 36207  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 36208  // object's ETag matches the given value. This is useful for getting updates
 36209  // only after the object has changed since the last request.
 36210  func (c *TargetingTypesTargetingOptionsListCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsListCall {
 36211  	c.ifNoneMatch_ = entityTag
 36212  	return c
 36213  }
 36214  
 36215  // Context sets the context to be used in this call's Do method.
 36216  func (c *TargetingTypesTargetingOptionsListCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsListCall {
 36217  	c.ctx_ = ctx
 36218  	return c
 36219  }
 36220  
 36221  // Header returns a http.Header that can be modified by the caller to add
 36222  // headers to the request.
 36223  func (c *TargetingTypesTargetingOptionsListCall) Header() http.Header {
 36224  	if c.header_ == nil {
 36225  		c.header_ = make(http.Header)
 36226  	}
 36227  	return c.header_
 36228  }
 36229  
 36230  func (c *TargetingTypesTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 36231  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 36232  	if c.ifNoneMatch_ != "" {
 36233  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36234  	}
 36235  	var body io.Reader = nil
 36236  	c.urlParams_.Set("alt", alt)
 36237  	c.urlParams_.Set("prettyPrint", "false")
 36238  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/targetingTypes/{+targetingType}/targetingOptions")
 36239  	urls += "?" + c.urlParams_.Encode()
 36240  	req, err := http.NewRequest("GET", urls, body)
 36241  	if err != nil {
 36242  		return nil, err
 36243  	}
 36244  	req.Header = reqHeaders
 36245  	googleapi.Expand(req.URL, map[string]string{
 36246  		"targetingType": c.targetingType,
 36247  	})
 36248  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36249  }
 36250  
 36251  // Do executes the "displayvideo.targetingTypes.targetingOptions.list" call.
 36252  // Any non-2xx status code is an error. Response headers are in either
 36253  // *ListTargetingOptionsResponse.ServerResponse.Header or (if a response was
 36254  // returned at all) in error.(*googleapi.Error).Header. Use
 36255  // googleapi.IsNotModified to check whether the returned error was because
 36256  // http.StatusNotModified was returned.
 36257  func (c *TargetingTypesTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListTargetingOptionsResponse, error) {
 36258  	gensupport.SetOptions(c.urlParams_, opts...)
 36259  	res, err := c.doRequest("json")
 36260  	if res != nil && res.StatusCode == http.StatusNotModified {
 36261  		if res.Body != nil {
 36262  			res.Body.Close()
 36263  		}
 36264  		return nil, gensupport.WrapError(&googleapi.Error{
 36265  			Code:   res.StatusCode,
 36266  			Header: res.Header,
 36267  		})
 36268  	}
 36269  	if err != nil {
 36270  		return nil, err
 36271  	}
 36272  	defer googleapi.CloseBody(res)
 36273  	if err := googleapi.CheckResponse(res); err != nil {
 36274  		return nil, gensupport.WrapError(err)
 36275  	}
 36276  	ret := &ListTargetingOptionsResponse{
 36277  		ServerResponse: googleapi.ServerResponse{
 36278  			Header:         res.Header,
 36279  			HTTPStatusCode: res.StatusCode,
 36280  		},
 36281  	}
 36282  	target := &ret
 36283  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36284  		return nil, err
 36285  	}
 36286  	return ret, nil
 36287  }
 36288  
 36289  // Pages invokes f for each page of results.
 36290  // A non-nil error returned from f will halt the iteration.
 36291  // The provided context supersedes any context provided to the Context method.
 36292  func (c *TargetingTypesTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListTargetingOptionsResponse) error) error {
 36293  	c.ctx_ = ctx
 36294  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 36295  	for {
 36296  		x, err := c.Do()
 36297  		if err != nil {
 36298  			return err
 36299  		}
 36300  		if err := f(x); err != nil {
 36301  			return err
 36302  		}
 36303  		if x.NextPageToken == "" {
 36304  			return nil
 36305  		}
 36306  		c.PageToken(x.NextPageToken)
 36307  	}
 36308  }
 36309  
 36310  type TargetingTypesTargetingOptionsSearchCall struct {
 36311  	s                             *Service
 36312  	targetingType                 string
 36313  	searchtargetingoptionsrequest *SearchTargetingOptionsRequest
 36314  	urlParams_                    gensupport.URLParams
 36315  	ctx_                          context.Context
 36316  	header_                       http.Header
 36317  }
 36318  
 36319  // Search: Searches for targeting options of a given type based on the given
 36320  // search terms.
 36321  //
 36322  //   - targetingType: The type of targeting options to retrieve. Accepted values
 36323  //     are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` *
 36324  //     `TARGETING_TYPE_BUSINESS_CHAIN`.
 36325  func (r *TargetingTypesTargetingOptionsService) Search(targetingType string, searchtargetingoptionsrequest *SearchTargetingOptionsRequest) *TargetingTypesTargetingOptionsSearchCall {
 36326  	c := &TargetingTypesTargetingOptionsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36327  	c.targetingType = targetingType
 36328  	c.searchtargetingoptionsrequest = searchtargetingoptionsrequest
 36329  	return c
 36330  }
 36331  
 36332  // Fields allows partial responses to be retrieved. See
 36333  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36334  // details.
 36335  func (c *TargetingTypesTargetingOptionsSearchCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsSearchCall {
 36336  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36337  	return c
 36338  }
 36339  
 36340  // Context sets the context to be used in this call's Do method.
 36341  func (c *TargetingTypesTargetingOptionsSearchCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsSearchCall {
 36342  	c.ctx_ = ctx
 36343  	return c
 36344  }
 36345  
 36346  // Header returns a http.Header that can be modified by the caller to add
 36347  // headers to the request.
 36348  func (c *TargetingTypesTargetingOptionsSearchCall) Header() http.Header {
 36349  	if c.header_ == nil {
 36350  		c.header_ = make(http.Header)
 36351  	}
 36352  	return c.header_
 36353  }
 36354  
 36355  func (c *TargetingTypesTargetingOptionsSearchCall) doRequest(alt string) (*http.Response, error) {
 36356  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 36357  	var body io.Reader = nil
 36358  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchtargetingoptionsrequest)
 36359  	if err != nil {
 36360  		return nil, err
 36361  	}
 36362  	c.urlParams_.Set("alt", alt)
 36363  	c.urlParams_.Set("prettyPrint", "false")
 36364  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/targetingTypes/{+targetingType}/targetingOptions:search")
 36365  	urls += "?" + c.urlParams_.Encode()
 36366  	req, err := http.NewRequest("POST", urls, body)
 36367  	if err != nil {
 36368  		return nil, err
 36369  	}
 36370  	req.Header = reqHeaders
 36371  	googleapi.Expand(req.URL, map[string]string{
 36372  		"targetingType": c.targetingType,
 36373  	})
 36374  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36375  }
 36376  
 36377  // Do executes the "displayvideo.targetingTypes.targetingOptions.search" call.
 36378  // Any non-2xx status code is an error. Response headers are in either
 36379  // *SearchTargetingOptionsResponse.ServerResponse.Header or (if a response was
 36380  // returned at all) in error.(*googleapi.Error).Header. Use
 36381  // googleapi.IsNotModified to check whether the returned error was because
 36382  // http.StatusNotModified was returned.
 36383  func (c *TargetingTypesTargetingOptionsSearchCall) Do(opts ...googleapi.CallOption) (*SearchTargetingOptionsResponse, error) {
 36384  	gensupport.SetOptions(c.urlParams_, opts...)
 36385  	res, err := c.doRequest("json")
 36386  	if res != nil && res.StatusCode == http.StatusNotModified {
 36387  		if res.Body != nil {
 36388  			res.Body.Close()
 36389  		}
 36390  		return nil, gensupport.WrapError(&googleapi.Error{
 36391  			Code:   res.StatusCode,
 36392  			Header: res.Header,
 36393  		})
 36394  	}
 36395  	if err != nil {
 36396  		return nil, err
 36397  	}
 36398  	defer googleapi.CloseBody(res)
 36399  	if err := googleapi.CheckResponse(res); err != nil {
 36400  		return nil, gensupport.WrapError(err)
 36401  	}
 36402  	ret := &SearchTargetingOptionsResponse{
 36403  		ServerResponse: googleapi.ServerResponse{
 36404  			Header:         res.Header,
 36405  			HTTPStatusCode: res.StatusCode,
 36406  		},
 36407  	}
 36408  	target := &ret
 36409  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36410  		return nil, err
 36411  	}
 36412  	return ret, nil
 36413  }
 36414  
 36415  // Pages invokes f for each page of results.
 36416  // A non-nil error returned from f will halt the iteration.
 36417  // The provided context supersedes any context provided to the Context method.
 36418  func (c *TargetingTypesTargetingOptionsSearchCall) Pages(ctx context.Context, f func(*SearchTargetingOptionsResponse) error) error {
 36419  	c.ctx_ = ctx
 36420  	defer func(pt string) { c.searchtargetingoptionsrequest.PageToken = pt }(c.searchtargetingoptionsrequest.PageToken)
 36421  	for {
 36422  		x, err := c.Do()
 36423  		if err != nil {
 36424  			return err
 36425  		}
 36426  		if err := f(x); err != nil {
 36427  			return err
 36428  		}
 36429  		if x.NextPageToken == "" {
 36430  			return nil
 36431  		}
 36432  		c.searchtargetingoptionsrequest.PageToken = x.NextPageToken
 36433  	}
 36434  }
 36435  
 36436  type UsersBulkEditAssignedUserRolesCall struct {
 36437  	s                                *Service
 36438  	userId                           int64
 36439  	bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest
 36440  	urlParams_                       gensupport.URLParams
 36441  	ctx_                             context.Context
 36442  	header_                          http.Header
 36443  }
 36444  
 36445  // BulkEditAssignedUserRoles: Bulk edits user roles for a user. The operation
 36446  // will delete the assigned user roles provided in
 36447  // BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then assign
 36448  // the user roles provided in
 36449  // BulkEditAssignedUserRolesRequest.createdAssignedUserRoles. This method has
 36450  // unique authentication requirements. Read the prerequisites in our Managing
 36451  // Users guide (/display-video/api/guides/users/overview#prerequisites) before
 36452  // using this method. The "Try this method" feature does not work for this
 36453  // method.
 36454  //
 36455  // - userId: The ID of the user to which the assigned user roles belong.
 36456  func (r *UsersService) BulkEditAssignedUserRoles(userId int64, bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest) *UsersBulkEditAssignedUserRolesCall {
 36457  	c := &UsersBulkEditAssignedUserRolesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36458  	c.userId = userId
 36459  	c.bulkeditassigneduserrolesrequest = bulkeditassigneduserrolesrequest
 36460  	return c
 36461  }
 36462  
 36463  // Fields allows partial responses to be retrieved. See
 36464  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36465  // details.
 36466  func (c *UsersBulkEditAssignedUserRolesCall) Fields(s ...googleapi.Field) *UsersBulkEditAssignedUserRolesCall {
 36467  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36468  	return c
 36469  }
 36470  
 36471  // Context sets the context to be used in this call's Do method.
 36472  func (c *UsersBulkEditAssignedUserRolesCall) Context(ctx context.Context) *UsersBulkEditAssignedUserRolesCall {
 36473  	c.ctx_ = ctx
 36474  	return c
 36475  }
 36476  
 36477  // Header returns a http.Header that can be modified by the caller to add
 36478  // headers to the request.
 36479  func (c *UsersBulkEditAssignedUserRolesCall) Header() http.Header {
 36480  	if c.header_ == nil {
 36481  		c.header_ = make(http.Header)
 36482  	}
 36483  	return c.header_
 36484  }
 36485  
 36486  func (c *UsersBulkEditAssignedUserRolesCall) doRequest(alt string) (*http.Response, error) {
 36487  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 36488  	var body io.Reader = nil
 36489  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassigneduserrolesrequest)
 36490  	if err != nil {
 36491  		return nil, err
 36492  	}
 36493  	c.urlParams_.Set("alt", alt)
 36494  	c.urlParams_.Set("prettyPrint", "false")
 36495  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/users/{+userId}:bulkEditAssignedUserRoles")
 36496  	urls += "?" + c.urlParams_.Encode()
 36497  	req, err := http.NewRequest("POST", urls, body)
 36498  	if err != nil {
 36499  		return nil, err
 36500  	}
 36501  	req.Header = reqHeaders
 36502  	googleapi.Expand(req.URL, map[string]string{
 36503  		"userId": strconv.FormatInt(c.userId, 10),
 36504  	})
 36505  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36506  }
 36507  
 36508  // Do executes the "displayvideo.users.bulkEditAssignedUserRoles" call.
 36509  // Any non-2xx status code is an error. Response headers are in either
 36510  // *BulkEditAssignedUserRolesResponse.ServerResponse.Header or (if a response
 36511  // was returned at all) in error.(*googleapi.Error).Header. Use
 36512  // googleapi.IsNotModified to check whether the returned error was because
 36513  // http.StatusNotModified was returned.
 36514  func (c *UsersBulkEditAssignedUserRolesCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedUserRolesResponse, error) {
 36515  	gensupport.SetOptions(c.urlParams_, opts...)
 36516  	res, err := c.doRequest("json")
 36517  	if res != nil && res.StatusCode == http.StatusNotModified {
 36518  		if res.Body != nil {
 36519  			res.Body.Close()
 36520  		}
 36521  		return nil, gensupport.WrapError(&googleapi.Error{
 36522  			Code:   res.StatusCode,
 36523  			Header: res.Header,
 36524  		})
 36525  	}
 36526  	if err != nil {
 36527  		return nil, err
 36528  	}
 36529  	defer googleapi.CloseBody(res)
 36530  	if err := googleapi.CheckResponse(res); err != nil {
 36531  		return nil, gensupport.WrapError(err)
 36532  	}
 36533  	ret := &BulkEditAssignedUserRolesResponse{
 36534  		ServerResponse: googleapi.ServerResponse{
 36535  			Header:         res.Header,
 36536  			HTTPStatusCode: res.StatusCode,
 36537  		},
 36538  	}
 36539  	target := &ret
 36540  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36541  		return nil, err
 36542  	}
 36543  	return ret, nil
 36544  }
 36545  
 36546  type UsersCreateCall struct {
 36547  	s          *Service
 36548  	user       *User
 36549  	urlParams_ gensupport.URLParams
 36550  	ctx_       context.Context
 36551  	header_    http.Header
 36552  }
 36553  
 36554  // Create: Creates a new user. Returns the newly created user if successful.
 36555  // This method has unique authentication requirements. Read the prerequisites
 36556  // in our Managing Users guide
 36557  // (/display-video/api/guides/users/overview#prerequisites) before using this
 36558  // method. The "Try this method" feature does not work for this method.
 36559  func (r *UsersService) Create(user *User) *UsersCreateCall {
 36560  	c := &UsersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36561  	c.user = user
 36562  	return c
 36563  }
 36564  
 36565  // Fields allows partial responses to be retrieved. See
 36566  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36567  // details.
 36568  func (c *UsersCreateCall) Fields(s ...googleapi.Field) *UsersCreateCall {
 36569  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36570  	return c
 36571  }
 36572  
 36573  // Context sets the context to be used in this call's Do method.
 36574  func (c *UsersCreateCall) Context(ctx context.Context) *UsersCreateCall {
 36575  	c.ctx_ = ctx
 36576  	return c
 36577  }
 36578  
 36579  // Header returns a http.Header that can be modified by the caller to add
 36580  // headers to the request.
 36581  func (c *UsersCreateCall) Header() http.Header {
 36582  	if c.header_ == nil {
 36583  		c.header_ = make(http.Header)
 36584  	}
 36585  	return c.header_
 36586  }
 36587  
 36588  func (c *UsersCreateCall) doRequest(alt string) (*http.Response, error) {
 36589  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 36590  	var body io.Reader = nil
 36591  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 36592  	if err != nil {
 36593  		return nil, err
 36594  	}
 36595  	c.urlParams_.Set("alt", alt)
 36596  	c.urlParams_.Set("prettyPrint", "false")
 36597  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/users")
 36598  	urls += "?" + c.urlParams_.Encode()
 36599  	req, err := http.NewRequest("POST", urls, body)
 36600  	if err != nil {
 36601  		return nil, err
 36602  	}
 36603  	req.Header = reqHeaders
 36604  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36605  }
 36606  
 36607  // Do executes the "displayvideo.users.create" call.
 36608  // Any non-2xx status code is an error. Response headers are in either
 36609  // *User.ServerResponse.Header or (if a response was returned at all) in
 36610  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36611  // whether the returned error was because http.StatusNotModified was returned.
 36612  func (c *UsersCreateCall) Do(opts ...googleapi.CallOption) (*User, error) {
 36613  	gensupport.SetOptions(c.urlParams_, opts...)
 36614  	res, err := c.doRequest("json")
 36615  	if res != nil && res.StatusCode == http.StatusNotModified {
 36616  		if res.Body != nil {
 36617  			res.Body.Close()
 36618  		}
 36619  		return nil, gensupport.WrapError(&googleapi.Error{
 36620  			Code:   res.StatusCode,
 36621  			Header: res.Header,
 36622  		})
 36623  	}
 36624  	if err != nil {
 36625  		return nil, err
 36626  	}
 36627  	defer googleapi.CloseBody(res)
 36628  	if err := googleapi.CheckResponse(res); err != nil {
 36629  		return nil, gensupport.WrapError(err)
 36630  	}
 36631  	ret := &User{
 36632  		ServerResponse: googleapi.ServerResponse{
 36633  			Header:         res.Header,
 36634  			HTTPStatusCode: res.StatusCode,
 36635  		},
 36636  	}
 36637  	target := &ret
 36638  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36639  		return nil, err
 36640  	}
 36641  	return ret, nil
 36642  }
 36643  
 36644  type UsersDeleteCall struct {
 36645  	s          *Service
 36646  	userId     int64
 36647  	urlParams_ gensupport.URLParams
 36648  	ctx_       context.Context
 36649  	header_    http.Header
 36650  }
 36651  
 36652  // Delete: Deletes a user. This method has unique authentication requirements.
 36653  // Read the prerequisites in our Managing Users guide
 36654  // (/display-video/api/guides/users/overview#prerequisites) before using this
 36655  // method. The "Try this method" feature does not work for this method.
 36656  //
 36657  // - userId: The ID of the user to delete.
 36658  func (r *UsersService) Delete(userId int64) *UsersDeleteCall {
 36659  	c := &UsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36660  	c.userId = userId
 36661  	return c
 36662  }
 36663  
 36664  // Fields allows partial responses to be retrieved. See
 36665  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36666  // details.
 36667  func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
 36668  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36669  	return c
 36670  }
 36671  
 36672  // Context sets the context to be used in this call's Do method.
 36673  func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
 36674  	c.ctx_ = ctx
 36675  	return c
 36676  }
 36677  
 36678  // Header returns a http.Header that can be modified by the caller to add
 36679  // headers to the request.
 36680  func (c *UsersDeleteCall) Header() http.Header {
 36681  	if c.header_ == nil {
 36682  		c.header_ = make(http.Header)
 36683  	}
 36684  	return c.header_
 36685  }
 36686  
 36687  func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 36688  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 36689  	var body io.Reader = nil
 36690  	c.urlParams_.Set("alt", alt)
 36691  	c.urlParams_.Set("prettyPrint", "false")
 36692  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/users/{+userId}")
 36693  	urls += "?" + c.urlParams_.Encode()
 36694  	req, err := http.NewRequest("DELETE", urls, body)
 36695  	if err != nil {
 36696  		return nil, err
 36697  	}
 36698  	req.Header = reqHeaders
 36699  	googleapi.Expand(req.URL, map[string]string{
 36700  		"userId": strconv.FormatInt(c.userId, 10),
 36701  	})
 36702  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36703  }
 36704  
 36705  // Do executes the "displayvideo.users.delete" call.
 36706  // Any non-2xx status code is an error. Response headers are in either
 36707  // *Empty.ServerResponse.Header or (if a response was returned at all) in
 36708  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36709  // whether the returned error was because http.StatusNotModified was returned.
 36710  func (c *UsersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
 36711  	gensupport.SetOptions(c.urlParams_, opts...)
 36712  	res, err := c.doRequest("json")
 36713  	if res != nil && res.StatusCode == http.StatusNotModified {
 36714  		if res.Body != nil {
 36715  			res.Body.Close()
 36716  		}
 36717  		return nil, gensupport.WrapError(&googleapi.Error{
 36718  			Code:   res.StatusCode,
 36719  			Header: res.Header,
 36720  		})
 36721  	}
 36722  	if err != nil {
 36723  		return nil, err
 36724  	}
 36725  	defer googleapi.CloseBody(res)
 36726  	if err := googleapi.CheckResponse(res); err != nil {
 36727  		return nil, gensupport.WrapError(err)
 36728  	}
 36729  	ret := &Empty{
 36730  		ServerResponse: googleapi.ServerResponse{
 36731  			Header:         res.Header,
 36732  			HTTPStatusCode: res.StatusCode,
 36733  		},
 36734  	}
 36735  	target := &ret
 36736  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36737  		return nil, err
 36738  	}
 36739  	return ret, nil
 36740  }
 36741  
 36742  type UsersGetCall struct {
 36743  	s            *Service
 36744  	userId       int64
 36745  	urlParams_   gensupport.URLParams
 36746  	ifNoneMatch_ string
 36747  	ctx_         context.Context
 36748  	header_      http.Header
 36749  }
 36750  
 36751  // Get: Gets a user. This method has unique authentication requirements. Read
 36752  // the prerequisites in our Managing Users guide
 36753  // (/display-video/api/guides/users/overview#prerequisites) before using this
 36754  // method. The "Try this method" feature does not work for this method.
 36755  //
 36756  // - userId: The ID of the user to fetch.
 36757  func (r *UsersService) Get(userId int64) *UsersGetCall {
 36758  	c := &UsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36759  	c.userId = userId
 36760  	return c
 36761  }
 36762  
 36763  // Fields allows partial responses to be retrieved. See
 36764  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36765  // details.
 36766  func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
 36767  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36768  	return c
 36769  }
 36770  
 36771  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 36772  // object's ETag matches the given value. This is useful for getting updates
 36773  // only after the object has changed since the last request.
 36774  func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
 36775  	c.ifNoneMatch_ = entityTag
 36776  	return c
 36777  }
 36778  
 36779  // Context sets the context to be used in this call's Do method.
 36780  func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
 36781  	c.ctx_ = ctx
 36782  	return c
 36783  }
 36784  
 36785  // Header returns a http.Header that can be modified by the caller to add
 36786  // headers to the request.
 36787  func (c *UsersGetCall) Header() http.Header {
 36788  	if c.header_ == nil {
 36789  		c.header_ = make(http.Header)
 36790  	}
 36791  	return c.header_
 36792  }
 36793  
 36794  func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 36795  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 36796  	if c.ifNoneMatch_ != "" {
 36797  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36798  	}
 36799  	var body io.Reader = nil
 36800  	c.urlParams_.Set("alt", alt)
 36801  	c.urlParams_.Set("prettyPrint", "false")
 36802  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/users/{+userId}")
 36803  	urls += "?" + c.urlParams_.Encode()
 36804  	req, err := http.NewRequest("GET", urls, body)
 36805  	if err != nil {
 36806  		return nil, err
 36807  	}
 36808  	req.Header = reqHeaders
 36809  	googleapi.Expand(req.URL, map[string]string{
 36810  		"userId": strconv.FormatInt(c.userId, 10),
 36811  	})
 36812  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36813  }
 36814  
 36815  // Do executes the "displayvideo.users.get" call.
 36816  // Any non-2xx status code is an error. Response headers are in either
 36817  // *User.ServerResponse.Header or (if a response was returned at all) in
 36818  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36819  // whether the returned error was because http.StatusNotModified was returned.
 36820  func (c *UsersGetCall) Do(opts ...googleapi.CallOption) (*User, error) {
 36821  	gensupport.SetOptions(c.urlParams_, opts...)
 36822  	res, err := c.doRequest("json")
 36823  	if res != nil && res.StatusCode == http.StatusNotModified {
 36824  		if res.Body != nil {
 36825  			res.Body.Close()
 36826  		}
 36827  		return nil, gensupport.WrapError(&googleapi.Error{
 36828  			Code:   res.StatusCode,
 36829  			Header: res.Header,
 36830  		})
 36831  	}
 36832  	if err != nil {
 36833  		return nil, err
 36834  	}
 36835  	defer googleapi.CloseBody(res)
 36836  	if err := googleapi.CheckResponse(res); err != nil {
 36837  		return nil, gensupport.WrapError(err)
 36838  	}
 36839  	ret := &User{
 36840  		ServerResponse: googleapi.ServerResponse{
 36841  			Header:         res.Header,
 36842  			HTTPStatusCode: res.StatusCode,
 36843  		},
 36844  	}
 36845  	target := &ret
 36846  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36847  		return nil, err
 36848  	}
 36849  	return ret, nil
 36850  }
 36851  
 36852  type UsersListCall struct {
 36853  	s            *Service
 36854  	urlParams_   gensupport.URLParams
 36855  	ifNoneMatch_ string
 36856  	ctx_         context.Context
 36857  	header_      http.Header
 36858  }
 36859  
 36860  // List: Lists users that are accessible to the current user. If two users have
 36861  // user roles on the same partner or advertiser, they can access each other.
 36862  // This method has unique authentication requirements. Read the prerequisites
 36863  // in our Managing Users guide
 36864  // (/display-video/api/guides/users/overview#prerequisites) before using this
 36865  // method. The "Try this method" feature does not work for this method.
 36866  func (r *UsersService) List() *UsersListCall {
 36867  	c := &UsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36868  	return c
 36869  }
 36870  
 36871  // Filter sets the optional parameter "filter": Allows filtering by user
 36872  // fields. Supported syntax: * Filter expressions are made up of one or more
 36873  // restrictions. * Restrictions can be combined by the logical operator `AND`.
 36874  // * A restriction has the form of `{field} {operator} {value}`. * The
 36875  // `displayName` and `email` fields must use the `HAS (:)` operator. * The
 36876  // `lastLoginTime` field must use either the `LESS THAN OR EQUAL TO (<=)` or
 36877  // `GREATER THAN OR EQUAL TO (>=)` operator. * All other fields must use the
 36878  // `EQUALS (=)` operator. Supported fields: * `assignedUserRole.advertiserId` *
 36879  // `assignedUserRole.entityType`: This is synthetic field of `AssignedUserRole`
 36880  // used for filtering. Identifies the type of entity to which the user role is
 36881  // assigned. Valid values are `Partner` and `Advertiser`. *
 36882  // `assignedUserRole.parentPartnerId`: This is a synthetic field of
 36883  // `AssignedUserRole` used for filtering. Identifies the parent partner of the
 36884  // entity to which the user role is assigned. * `assignedUserRole.partnerId` *
 36885  // `assignedUserRole.userRole` * `displayName` * `email` * `lastLoginTime`
 36886  // (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * The user
 36887  // with `displayName` containing "foo": `displayName:"foo" * The user with
 36888  // `email` containing "bar": `email:"bar" * All users with standard user
 36889  // roles: `assignedUserRole.userRole="STANDARD" * All users with user roles
 36890  // for partner 123: `assignedUserRole.partnerId="123" * All users with user
 36891  // roles for advertiser 123: `assignedUserRole.advertiserId="123" * All users
 36892  // with partner level user roles: `entityType="PARTNER" * All users with user
 36893  // roles for partner 123 and advertisers under partner 123:
 36894  // `parentPartnerId="123" * All users that last logged in on or after
 36895  // 2023-01-01T00:00:00Z (format of ISO 8601):
 36896  // `lastLoginTime>="2023-01-01T00:00:00Z" The length of this field should be
 36897  // no more than 500 characters. Reference our filter `LIST` requests
 36898  // (/display-video/api/guides/how-tos/filters) guide for more information.
 36899  func (c *UsersListCall) Filter(filter string) *UsersListCall {
 36900  	c.urlParams_.Set("filter", filter)
 36901  	return c
 36902  }
 36903  
 36904  // OrderBy sets the optional parameter "orderBy": Field by which to sort the
 36905  // list. Acceptable values are: * `displayName` (default) The default sorting
 36906  // order is ascending. To specify descending order for a field, a suffix "desc"
 36907  // should be added to the field name. For example, `displayName desc`.
 36908  func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
 36909  	c.urlParams_.Set("orderBy", orderBy)
 36910  	return c
 36911  }
 36912  
 36913  // PageSize sets the optional parameter "pageSize": Requested page size. Must
 36914  // be between `1` and `200`. If unspecified will default to `100`.
 36915  func (c *UsersListCall) PageSize(pageSize int64) *UsersListCall {
 36916  	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 36917  	return c
 36918  }
 36919  
 36920  // PageToken sets the optional parameter "pageToken": A token identifying a
 36921  // page of results the server should return. Typically, this is the value of
 36922  // next_page_token returned from the previous call to `ListUsers` method. If
 36923  // not specified, the first page of results will be returned.
 36924  func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
 36925  	c.urlParams_.Set("pageToken", pageToken)
 36926  	return c
 36927  }
 36928  
 36929  // Fields allows partial responses to be retrieved. See
 36930  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 36931  // details.
 36932  func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
 36933  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36934  	return c
 36935  }
 36936  
 36937  // IfNoneMatch sets an optional parameter which makes the operation fail if the
 36938  // object's ETag matches the given value. This is useful for getting updates
 36939  // only after the object has changed since the last request.
 36940  func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
 36941  	c.ifNoneMatch_ = entityTag
 36942  	return c
 36943  }
 36944  
 36945  // Context sets the context to be used in this call's Do method.
 36946  func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
 36947  	c.ctx_ = ctx
 36948  	return c
 36949  }
 36950  
 36951  // Header returns a http.Header that can be modified by the caller to add
 36952  // headers to the request.
 36953  func (c *UsersListCall) Header() http.Header {
 36954  	if c.header_ == nil {
 36955  		c.header_ = make(http.Header)
 36956  	}
 36957  	return c.header_
 36958  }
 36959  
 36960  func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 36961  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
 36962  	if c.ifNoneMatch_ != "" {
 36963  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36964  	}
 36965  	var body io.Reader = nil
 36966  	c.urlParams_.Set("alt", alt)
 36967  	c.urlParams_.Set("prettyPrint", "false")
 36968  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/users")
 36969  	urls += "?" + c.urlParams_.Encode()
 36970  	req, err := http.NewRequest("GET", urls, body)
 36971  	if err != nil {
 36972  		return nil, err
 36973  	}
 36974  	req.Header = reqHeaders
 36975  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36976  }
 36977  
 36978  // Do executes the "displayvideo.users.list" call.
 36979  // Any non-2xx status code is an error. Response headers are in either
 36980  // *ListUsersResponse.ServerResponse.Header or (if a response was returned at
 36981  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 36982  // check whether the returned error was because http.StatusNotModified was
 36983  // returned.
 36984  func (c *UsersListCall) Do(opts ...googleapi.CallOption) (*ListUsersResponse, error) {
 36985  	gensupport.SetOptions(c.urlParams_, opts...)
 36986  	res, err := c.doRequest("json")
 36987  	if res != nil && res.StatusCode == http.StatusNotModified {
 36988  		if res.Body != nil {
 36989  			res.Body.Close()
 36990  		}
 36991  		return nil, gensupport.WrapError(&googleapi.Error{
 36992  			Code:   res.StatusCode,
 36993  			Header: res.Header,
 36994  		})
 36995  	}
 36996  	if err != nil {
 36997  		return nil, err
 36998  	}
 36999  	defer googleapi.CloseBody(res)
 37000  	if err := googleapi.CheckResponse(res); err != nil {
 37001  		return nil, gensupport.WrapError(err)
 37002  	}
 37003  	ret := &ListUsersResponse{
 37004  		ServerResponse: googleapi.ServerResponse{
 37005  			Header:         res.Header,
 37006  			HTTPStatusCode: res.StatusCode,
 37007  		},
 37008  	}
 37009  	target := &ret
 37010  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37011  		return nil, err
 37012  	}
 37013  	return ret, nil
 37014  }
 37015  
 37016  // Pages invokes f for each page of results.
 37017  // A non-nil error returned from f will halt the iteration.
 37018  // The provided context supersedes any context provided to the Context method.
 37019  func (c *UsersListCall) Pages(ctx context.Context, f func(*ListUsersResponse) error) error {
 37020  	c.ctx_ = ctx
 37021  	defer c.PageToken(c.urlParams_.Get("pageToken"))
 37022  	for {
 37023  		x, err := c.Do()
 37024  		if err != nil {
 37025  			return err
 37026  		}
 37027  		if err := f(x); err != nil {
 37028  			return err
 37029  		}
 37030  		if x.NextPageToken == "" {
 37031  			return nil
 37032  		}
 37033  		c.PageToken(x.NextPageToken)
 37034  	}
 37035  }
 37036  
 37037  type UsersPatchCall struct {
 37038  	s          *Service
 37039  	userId     int64
 37040  	user       *User
 37041  	urlParams_ gensupport.URLParams
 37042  	ctx_       context.Context
 37043  	header_    http.Header
 37044  }
 37045  
 37046  // Patch: Updates an existing user. Returns the updated user if successful.
 37047  // This method has unique authentication requirements. Read the prerequisites
 37048  // in our Managing Users guide
 37049  // (/display-video/api/guides/users/overview#prerequisites) before using this
 37050  // method. The "Try this method" feature does not work for this method.
 37051  //
 37052  // - userId: Output only. The unique ID of the user. Assigned by the system.
 37053  func (r *UsersService) Patch(userId int64, user *User) *UsersPatchCall {
 37054  	c := &UsersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37055  	c.userId = userId
 37056  	c.user = user
 37057  	return c
 37058  }
 37059  
 37060  // UpdateMask sets the optional parameter "updateMask": Required. The mask to
 37061  // control which fields to update.
 37062  func (c *UsersPatchCall) UpdateMask(updateMask string) *UsersPatchCall {
 37063  	c.urlParams_.Set("updateMask", updateMask)
 37064  	return c
 37065  }
 37066  
 37067  // Fields allows partial responses to be retrieved. See
 37068  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
 37069  // details.
 37070  func (c *UsersPatchCall) Fields(s ...googleapi.Field) *UsersPatchCall {
 37071  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37072  	return c
 37073  }
 37074  
 37075  // Context sets the context to be used in this call's Do method.
 37076  func (c *UsersPatchCall) Context(ctx context.Context) *UsersPatchCall {
 37077  	c.ctx_ = ctx
 37078  	return c
 37079  }
 37080  
 37081  // Header returns a http.Header that can be modified by the caller to add
 37082  // headers to the request.
 37083  func (c *UsersPatchCall) Header() http.Header {
 37084  	if c.header_ == nil {
 37085  		c.header_ = make(http.Header)
 37086  	}
 37087  	return c.header_
 37088  }
 37089  
 37090  func (c *UsersPatchCall) doRequest(alt string) (*http.Response, error) {
 37091  	reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
 37092  	var body io.Reader = nil
 37093  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
 37094  	if err != nil {
 37095  		return nil, err
 37096  	}
 37097  	c.urlParams_.Set("alt", alt)
 37098  	c.urlParams_.Set("prettyPrint", "false")
 37099  	urls := googleapi.ResolveRelative(c.s.BasePath, "v3/users/{+userId}")
 37100  	urls += "?" + c.urlParams_.Encode()
 37101  	req, err := http.NewRequest("PATCH", urls, body)
 37102  	if err != nil {
 37103  		return nil, err
 37104  	}
 37105  	req.Header = reqHeaders
 37106  	googleapi.Expand(req.URL, map[string]string{
 37107  		"userId": strconv.FormatInt(c.userId, 10),
 37108  	})
 37109  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37110  }
 37111  
 37112  // Do executes the "displayvideo.users.patch" call.
 37113  // Any non-2xx status code is an error. Response headers are in either
 37114  // *User.ServerResponse.Header or (if a response was returned at all) in
 37115  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 37116  // whether the returned error was because http.StatusNotModified was returned.
 37117  func (c *UsersPatchCall) Do(opts ...googleapi.CallOption) (*User, error) {
 37118  	gensupport.SetOptions(c.urlParams_, opts...)
 37119  	res, err := c.doRequest("json")
 37120  	if res != nil && res.StatusCode == http.StatusNotModified {
 37121  		if res.Body != nil {
 37122  			res.Body.Close()
 37123  		}
 37124  		return nil, gensupport.WrapError(&googleapi.Error{
 37125  			Code:   res.StatusCode,
 37126  			Header: res.Header,
 37127  		})
 37128  	}
 37129  	if err != nil {
 37130  		return nil, err
 37131  	}
 37132  	defer googleapi.CloseBody(res)
 37133  	if err := googleapi.CheckResponse(res); err != nil {
 37134  		return nil, gensupport.WrapError(err)
 37135  	}
 37136  	ret := &User{
 37137  		ServerResponse: googleapi.ServerResponse{
 37138  			Header:         res.Header,
 37139  			HTTPStatusCode: res.StatusCode,
 37140  		},
 37141  	}
 37142  	target := &ret
 37143  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37144  		return nil, err
 37145  	}
 37146  	return ret, nil
 37147  }
 37148  

View as plain text