...

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

Documentation: google.golang.org/api/dfareporting/v2.7

     1  // Copyright 2020 Google LLC.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated file. DO NOT EDIT.
     6  
     7  // Package dfareporting provides access to the DCM/DFA Reporting And Trafficking API.
     8  //
     9  // For product documentation, see: https://developers.google.com/doubleclick-advertisers/
    10  //
    11  // # Creating a client
    12  //
    13  // Usage example:
    14  //
    15  //	import "google.golang.org/api/dfareporting/v2.7"
    16  //	...
    17  //	ctx := context.Background()
    18  //	dfareportingService, err := dfareporting.NewService(ctx)
    19  //
    20  // In this example, Google Application Default Credentials are used for authentication.
    21  //
    22  // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
    23  //
    24  // # Other authentication options
    25  //
    26  // By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
    27  //
    28  //	dfareportingService, err := dfareporting.NewService(ctx, option.WithScopes(dfareporting.DfatraffickingScope))
    29  //
    30  // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
    31  //
    32  //	dfareportingService, err := dfareporting.NewService(ctx, option.WithAPIKey("AIza..."))
    33  //
    34  // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
    35  //
    36  //	config := &oauth2.Config{...}
    37  //	// ...
    38  //	token, err := config.Exchange(ctx, ...)
    39  //	dfareportingService, err := dfareporting.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
    40  //
    41  // See https://godoc.org/google.golang.org/api/option/ for details on options.
    42  package dfareporting // import "google.golang.org/api/dfareporting/v2.7"
    43  
    44  import (
    45  	"bytes"
    46  	"context"
    47  	"encoding/json"
    48  	"errors"
    49  	"fmt"
    50  	"io"
    51  	"net/http"
    52  	"net/url"
    53  	"strconv"
    54  	"strings"
    55  
    56  	googleapi "google.golang.org/api/googleapi"
    57  	gensupport "google.golang.org/api/internal/gensupport"
    58  	option "google.golang.org/api/option"
    59  	htransport "google.golang.org/api/transport/http"
    60  )
    61  
    62  // Always reference these packages, just in case the auto-generated code
    63  // below doesn't.
    64  var _ = bytes.NewBuffer
    65  var _ = strconv.Itoa
    66  var _ = fmt.Sprintf
    67  var _ = json.NewDecoder
    68  var _ = io.Copy
    69  var _ = url.Parse
    70  var _ = gensupport.MarshalJSON
    71  var _ = googleapi.Version
    72  var _ = errors.New
    73  var _ = strings.Replace
    74  var _ = context.Canceled
    75  
    76  const apiId = "dfareporting:v2.7"
    77  const apiName = "dfareporting"
    78  const apiVersion = "v2.7"
    79  const basePath = "https://www.googleapis.com/dfareporting/v2.7/"
    80  
    81  // OAuth2 scopes used by this API.
    82  const (
    83  	// Manage DoubleClick Digital Marketing conversions
    84  	DdmconversionsScope = "https://www.googleapis.com/auth/ddmconversions"
    85  
    86  	// View and manage DoubleClick for Advertisers reports
    87  	DfareportingScope = "https://www.googleapis.com/auth/dfareporting"
    88  
    89  	// View and manage your DoubleClick Campaign Manager's (DCM) display ad
    90  	// campaigns
    91  	DfatraffickingScope = "https://www.googleapis.com/auth/dfatrafficking"
    92  )
    93  
    94  // NewService creates a new Service.
    95  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
    96  	scopesOption := option.WithScopes(
    97  		"https://www.googleapis.com/auth/ddmconversions",
    98  		"https://www.googleapis.com/auth/dfareporting",
    99  		"https://www.googleapis.com/auth/dfatrafficking",
   100  	)
   101  	// NOTE: prepend, so we don't override user-specified scopes.
   102  	opts = append([]option.ClientOption{scopesOption}, opts...)
   103  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   104  	if err != nil {
   105  		return nil, err
   106  	}
   107  	s, err := New(client)
   108  	if err != nil {
   109  		return nil, err
   110  	}
   111  	if endpoint != "" {
   112  		s.BasePath = endpoint
   113  	}
   114  	return s, nil
   115  }
   116  
   117  // New creates a new Service. It uses the provided http.Client for requests.
   118  //
   119  // Deprecated: please use NewService instead.
   120  // To provide a custom HTTP client, use option.WithHTTPClient.
   121  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   122  func New(client *http.Client) (*Service, error) {
   123  	if client == nil {
   124  		return nil, errors.New("client is nil")
   125  	}
   126  	s := &Service{client: client, BasePath: basePath}
   127  	s.AccountActiveAdSummaries = NewAccountActiveAdSummariesService(s)
   128  	s.AccountPermissionGroups = NewAccountPermissionGroupsService(s)
   129  	s.AccountPermissions = NewAccountPermissionsService(s)
   130  	s.AccountUserProfiles = NewAccountUserProfilesService(s)
   131  	s.Accounts = NewAccountsService(s)
   132  	s.Ads = NewAdsService(s)
   133  	s.AdvertiserGroups = NewAdvertiserGroupsService(s)
   134  	s.Advertisers = NewAdvertisersService(s)
   135  	s.Browsers = NewBrowsersService(s)
   136  	s.CampaignCreativeAssociations = NewCampaignCreativeAssociationsService(s)
   137  	s.Campaigns = NewCampaignsService(s)
   138  	s.ChangeLogs = NewChangeLogsService(s)
   139  	s.Cities = NewCitiesService(s)
   140  	s.ConnectionTypes = NewConnectionTypesService(s)
   141  	s.ContentCategories = NewContentCategoriesService(s)
   142  	s.Conversions = NewConversionsService(s)
   143  	s.Countries = NewCountriesService(s)
   144  	s.CreativeAssets = NewCreativeAssetsService(s)
   145  	s.CreativeFieldValues = NewCreativeFieldValuesService(s)
   146  	s.CreativeFields = NewCreativeFieldsService(s)
   147  	s.CreativeGroups = NewCreativeGroupsService(s)
   148  	s.Creatives = NewCreativesService(s)
   149  	s.DimensionValues = NewDimensionValuesService(s)
   150  	s.DirectorySiteContacts = NewDirectorySiteContactsService(s)
   151  	s.DirectorySites = NewDirectorySitesService(s)
   152  	s.DynamicTargetingKeys = NewDynamicTargetingKeysService(s)
   153  	s.EventTags = NewEventTagsService(s)
   154  	s.Files = NewFilesService(s)
   155  	s.FloodlightActivities = NewFloodlightActivitiesService(s)
   156  	s.FloodlightActivityGroups = NewFloodlightActivityGroupsService(s)
   157  	s.FloodlightConfigurations = NewFloodlightConfigurationsService(s)
   158  	s.InventoryItems = NewInventoryItemsService(s)
   159  	s.LandingPages = NewLandingPagesService(s)
   160  	s.Languages = NewLanguagesService(s)
   161  	s.Metros = NewMetrosService(s)
   162  	s.MobileCarriers = NewMobileCarriersService(s)
   163  	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
   164  	s.OperatingSystems = NewOperatingSystemsService(s)
   165  	s.OrderDocuments = NewOrderDocumentsService(s)
   166  	s.Orders = NewOrdersService(s)
   167  	s.PlacementGroups = NewPlacementGroupsService(s)
   168  	s.PlacementStrategies = NewPlacementStrategiesService(s)
   169  	s.Placements = NewPlacementsService(s)
   170  	s.PlatformTypes = NewPlatformTypesService(s)
   171  	s.PostalCodes = NewPostalCodesService(s)
   172  	s.Projects = NewProjectsService(s)
   173  	s.Regions = NewRegionsService(s)
   174  	s.RemarketingListShares = NewRemarketingListSharesService(s)
   175  	s.RemarketingLists = NewRemarketingListsService(s)
   176  	s.Reports = NewReportsService(s)
   177  	s.Sites = NewSitesService(s)
   178  	s.Sizes = NewSizesService(s)
   179  	s.Subaccounts = NewSubaccountsService(s)
   180  	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
   181  	s.TargetingTemplates = NewTargetingTemplatesService(s)
   182  	s.UserProfiles = NewUserProfilesService(s)
   183  	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
   184  	s.UserRolePermissions = NewUserRolePermissionsService(s)
   185  	s.UserRoles = NewUserRolesService(s)
   186  	s.VideoFormats = NewVideoFormatsService(s)
   187  	return s, nil
   188  }
   189  
   190  type Service struct {
   191  	client    *http.Client
   192  	BasePath  string // API endpoint base URL
   193  	UserAgent string // optional additional User-Agent fragment
   194  
   195  	AccountActiveAdSummaries *AccountActiveAdSummariesService
   196  
   197  	AccountPermissionGroups *AccountPermissionGroupsService
   198  
   199  	AccountPermissions *AccountPermissionsService
   200  
   201  	AccountUserProfiles *AccountUserProfilesService
   202  
   203  	Accounts *AccountsService
   204  
   205  	Ads *AdsService
   206  
   207  	AdvertiserGroups *AdvertiserGroupsService
   208  
   209  	Advertisers *AdvertisersService
   210  
   211  	Browsers *BrowsersService
   212  
   213  	CampaignCreativeAssociations *CampaignCreativeAssociationsService
   214  
   215  	Campaigns *CampaignsService
   216  
   217  	ChangeLogs *ChangeLogsService
   218  
   219  	Cities *CitiesService
   220  
   221  	ConnectionTypes *ConnectionTypesService
   222  
   223  	ContentCategories *ContentCategoriesService
   224  
   225  	Conversions *ConversionsService
   226  
   227  	Countries *CountriesService
   228  
   229  	CreativeAssets *CreativeAssetsService
   230  
   231  	CreativeFieldValues *CreativeFieldValuesService
   232  
   233  	CreativeFields *CreativeFieldsService
   234  
   235  	CreativeGroups *CreativeGroupsService
   236  
   237  	Creatives *CreativesService
   238  
   239  	DimensionValues *DimensionValuesService
   240  
   241  	DirectorySiteContacts *DirectorySiteContactsService
   242  
   243  	DirectorySites *DirectorySitesService
   244  
   245  	DynamicTargetingKeys *DynamicTargetingKeysService
   246  
   247  	EventTags *EventTagsService
   248  
   249  	Files *FilesService
   250  
   251  	FloodlightActivities *FloodlightActivitiesService
   252  
   253  	FloodlightActivityGroups *FloodlightActivityGroupsService
   254  
   255  	FloodlightConfigurations *FloodlightConfigurationsService
   256  
   257  	InventoryItems *InventoryItemsService
   258  
   259  	LandingPages *LandingPagesService
   260  
   261  	Languages *LanguagesService
   262  
   263  	Metros *MetrosService
   264  
   265  	MobileCarriers *MobileCarriersService
   266  
   267  	OperatingSystemVersions *OperatingSystemVersionsService
   268  
   269  	OperatingSystems *OperatingSystemsService
   270  
   271  	OrderDocuments *OrderDocumentsService
   272  
   273  	Orders *OrdersService
   274  
   275  	PlacementGroups *PlacementGroupsService
   276  
   277  	PlacementStrategies *PlacementStrategiesService
   278  
   279  	Placements *PlacementsService
   280  
   281  	PlatformTypes *PlatformTypesService
   282  
   283  	PostalCodes *PostalCodesService
   284  
   285  	Projects *ProjectsService
   286  
   287  	Regions *RegionsService
   288  
   289  	RemarketingListShares *RemarketingListSharesService
   290  
   291  	RemarketingLists *RemarketingListsService
   292  
   293  	Reports *ReportsService
   294  
   295  	Sites *SitesService
   296  
   297  	Sizes *SizesService
   298  
   299  	Subaccounts *SubaccountsService
   300  
   301  	TargetableRemarketingLists *TargetableRemarketingListsService
   302  
   303  	TargetingTemplates *TargetingTemplatesService
   304  
   305  	UserProfiles *UserProfilesService
   306  
   307  	UserRolePermissionGroups *UserRolePermissionGroupsService
   308  
   309  	UserRolePermissions *UserRolePermissionsService
   310  
   311  	UserRoles *UserRolesService
   312  
   313  	VideoFormats *VideoFormatsService
   314  }
   315  
   316  func (s *Service) userAgent() string {
   317  	if s.UserAgent == "" {
   318  		return googleapi.UserAgent
   319  	}
   320  	return googleapi.UserAgent + " " + s.UserAgent
   321  }
   322  
   323  func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
   324  	rs := &AccountActiveAdSummariesService{s: s}
   325  	return rs
   326  }
   327  
   328  type AccountActiveAdSummariesService struct {
   329  	s *Service
   330  }
   331  
   332  func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
   333  	rs := &AccountPermissionGroupsService{s: s}
   334  	return rs
   335  }
   336  
   337  type AccountPermissionGroupsService struct {
   338  	s *Service
   339  }
   340  
   341  func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
   342  	rs := &AccountPermissionsService{s: s}
   343  	return rs
   344  }
   345  
   346  type AccountPermissionsService struct {
   347  	s *Service
   348  }
   349  
   350  func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
   351  	rs := &AccountUserProfilesService{s: s}
   352  	return rs
   353  }
   354  
   355  type AccountUserProfilesService struct {
   356  	s *Service
   357  }
   358  
   359  func NewAccountsService(s *Service) *AccountsService {
   360  	rs := &AccountsService{s: s}
   361  	return rs
   362  }
   363  
   364  type AccountsService struct {
   365  	s *Service
   366  }
   367  
   368  func NewAdsService(s *Service) *AdsService {
   369  	rs := &AdsService{s: s}
   370  	return rs
   371  }
   372  
   373  type AdsService struct {
   374  	s *Service
   375  }
   376  
   377  func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
   378  	rs := &AdvertiserGroupsService{s: s}
   379  	return rs
   380  }
   381  
   382  type AdvertiserGroupsService struct {
   383  	s *Service
   384  }
   385  
   386  func NewAdvertisersService(s *Service) *AdvertisersService {
   387  	rs := &AdvertisersService{s: s}
   388  	return rs
   389  }
   390  
   391  type AdvertisersService struct {
   392  	s *Service
   393  }
   394  
   395  func NewBrowsersService(s *Service) *BrowsersService {
   396  	rs := &BrowsersService{s: s}
   397  	return rs
   398  }
   399  
   400  type BrowsersService struct {
   401  	s *Service
   402  }
   403  
   404  func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
   405  	rs := &CampaignCreativeAssociationsService{s: s}
   406  	return rs
   407  }
   408  
   409  type CampaignCreativeAssociationsService struct {
   410  	s *Service
   411  }
   412  
   413  func NewCampaignsService(s *Service) *CampaignsService {
   414  	rs := &CampaignsService{s: s}
   415  	return rs
   416  }
   417  
   418  type CampaignsService struct {
   419  	s *Service
   420  }
   421  
   422  func NewChangeLogsService(s *Service) *ChangeLogsService {
   423  	rs := &ChangeLogsService{s: s}
   424  	return rs
   425  }
   426  
   427  type ChangeLogsService struct {
   428  	s *Service
   429  }
   430  
   431  func NewCitiesService(s *Service) *CitiesService {
   432  	rs := &CitiesService{s: s}
   433  	return rs
   434  }
   435  
   436  type CitiesService struct {
   437  	s *Service
   438  }
   439  
   440  func NewConnectionTypesService(s *Service) *ConnectionTypesService {
   441  	rs := &ConnectionTypesService{s: s}
   442  	return rs
   443  }
   444  
   445  type ConnectionTypesService struct {
   446  	s *Service
   447  }
   448  
   449  func NewContentCategoriesService(s *Service) *ContentCategoriesService {
   450  	rs := &ContentCategoriesService{s: s}
   451  	return rs
   452  }
   453  
   454  type ContentCategoriesService struct {
   455  	s *Service
   456  }
   457  
   458  func NewConversionsService(s *Service) *ConversionsService {
   459  	rs := &ConversionsService{s: s}
   460  	return rs
   461  }
   462  
   463  type ConversionsService struct {
   464  	s *Service
   465  }
   466  
   467  func NewCountriesService(s *Service) *CountriesService {
   468  	rs := &CountriesService{s: s}
   469  	return rs
   470  }
   471  
   472  type CountriesService struct {
   473  	s *Service
   474  }
   475  
   476  func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
   477  	rs := &CreativeAssetsService{s: s}
   478  	return rs
   479  }
   480  
   481  type CreativeAssetsService struct {
   482  	s *Service
   483  }
   484  
   485  func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
   486  	rs := &CreativeFieldValuesService{s: s}
   487  	return rs
   488  }
   489  
   490  type CreativeFieldValuesService struct {
   491  	s *Service
   492  }
   493  
   494  func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
   495  	rs := &CreativeFieldsService{s: s}
   496  	return rs
   497  }
   498  
   499  type CreativeFieldsService struct {
   500  	s *Service
   501  }
   502  
   503  func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
   504  	rs := &CreativeGroupsService{s: s}
   505  	return rs
   506  }
   507  
   508  type CreativeGroupsService struct {
   509  	s *Service
   510  }
   511  
   512  func NewCreativesService(s *Service) *CreativesService {
   513  	rs := &CreativesService{s: s}
   514  	return rs
   515  }
   516  
   517  type CreativesService struct {
   518  	s *Service
   519  }
   520  
   521  func NewDimensionValuesService(s *Service) *DimensionValuesService {
   522  	rs := &DimensionValuesService{s: s}
   523  	return rs
   524  }
   525  
   526  type DimensionValuesService struct {
   527  	s *Service
   528  }
   529  
   530  func NewDirectorySiteContactsService(s *Service) *DirectorySiteContactsService {
   531  	rs := &DirectorySiteContactsService{s: s}
   532  	return rs
   533  }
   534  
   535  type DirectorySiteContactsService struct {
   536  	s *Service
   537  }
   538  
   539  func NewDirectorySitesService(s *Service) *DirectorySitesService {
   540  	rs := &DirectorySitesService{s: s}
   541  	return rs
   542  }
   543  
   544  type DirectorySitesService struct {
   545  	s *Service
   546  }
   547  
   548  func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
   549  	rs := &DynamicTargetingKeysService{s: s}
   550  	return rs
   551  }
   552  
   553  type DynamicTargetingKeysService struct {
   554  	s *Service
   555  }
   556  
   557  func NewEventTagsService(s *Service) *EventTagsService {
   558  	rs := &EventTagsService{s: s}
   559  	return rs
   560  }
   561  
   562  type EventTagsService struct {
   563  	s *Service
   564  }
   565  
   566  func NewFilesService(s *Service) *FilesService {
   567  	rs := &FilesService{s: s}
   568  	return rs
   569  }
   570  
   571  type FilesService struct {
   572  	s *Service
   573  }
   574  
   575  func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
   576  	rs := &FloodlightActivitiesService{s: s}
   577  	return rs
   578  }
   579  
   580  type FloodlightActivitiesService struct {
   581  	s *Service
   582  }
   583  
   584  func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
   585  	rs := &FloodlightActivityGroupsService{s: s}
   586  	return rs
   587  }
   588  
   589  type FloodlightActivityGroupsService struct {
   590  	s *Service
   591  }
   592  
   593  func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
   594  	rs := &FloodlightConfigurationsService{s: s}
   595  	return rs
   596  }
   597  
   598  type FloodlightConfigurationsService struct {
   599  	s *Service
   600  }
   601  
   602  func NewInventoryItemsService(s *Service) *InventoryItemsService {
   603  	rs := &InventoryItemsService{s: s}
   604  	return rs
   605  }
   606  
   607  type InventoryItemsService struct {
   608  	s *Service
   609  }
   610  
   611  func NewLandingPagesService(s *Service) *LandingPagesService {
   612  	rs := &LandingPagesService{s: s}
   613  	return rs
   614  }
   615  
   616  type LandingPagesService struct {
   617  	s *Service
   618  }
   619  
   620  func NewLanguagesService(s *Service) *LanguagesService {
   621  	rs := &LanguagesService{s: s}
   622  	return rs
   623  }
   624  
   625  type LanguagesService struct {
   626  	s *Service
   627  }
   628  
   629  func NewMetrosService(s *Service) *MetrosService {
   630  	rs := &MetrosService{s: s}
   631  	return rs
   632  }
   633  
   634  type MetrosService struct {
   635  	s *Service
   636  }
   637  
   638  func NewMobileCarriersService(s *Service) *MobileCarriersService {
   639  	rs := &MobileCarriersService{s: s}
   640  	return rs
   641  }
   642  
   643  type MobileCarriersService struct {
   644  	s *Service
   645  }
   646  
   647  func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
   648  	rs := &OperatingSystemVersionsService{s: s}
   649  	return rs
   650  }
   651  
   652  type OperatingSystemVersionsService struct {
   653  	s *Service
   654  }
   655  
   656  func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
   657  	rs := &OperatingSystemsService{s: s}
   658  	return rs
   659  }
   660  
   661  type OperatingSystemsService struct {
   662  	s *Service
   663  }
   664  
   665  func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
   666  	rs := &OrderDocumentsService{s: s}
   667  	return rs
   668  }
   669  
   670  type OrderDocumentsService struct {
   671  	s *Service
   672  }
   673  
   674  func NewOrdersService(s *Service) *OrdersService {
   675  	rs := &OrdersService{s: s}
   676  	return rs
   677  }
   678  
   679  type OrdersService struct {
   680  	s *Service
   681  }
   682  
   683  func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
   684  	rs := &PlacementGroupsService{s: s}
   685  	return rs
   686  }
   687  
   688  type PlacementGroupsService struct {
   689  	s *Service
   690  }
   691  
   692  func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
   693  	rs := &PlacementStrategiesService{s: s}
   694  	return rs
   695  }
   696  
   697  type PlacementStrategiesService struct {
   698  	s *Service
   699  }
   700  
   701  func NewPlacementsService(s *Service) *PlacementsService {
   702  	rs := &PlacementsService{s: s}
   703  	return rs
   704  }
   705  
   706  type PlacementsService struct {
   707  	s *Service
   708  }
   709  
   710  func NewPlatformTypesService(s *Service) *PlatformTypesService {
   711  	rs := &PlatformTypesService{s: s}
   712  	return rs
   713  }
   714  
   715  type PlatformTypesService struct {
   716  	s *Service
   717  }
   718  
   719  func NewPostalCodesService(s *Service) *PostalCodesService {
   720  	rs := &PostalCodesService{s: s}
   721  	return rs
   722  }
   723  
   724  type PostalCodesService struct {
   725  	s *Service
   726  }
   727  
   728  func NewProjectsService(s *Service) *ProjectsService {
   729  	rs := &ProjectsService{s: s}
   730  	return rs
   731  }
   732  
   733  type ProjectsService struct {
   734  	s *Service
   735  }
   736  
   737  func NewRegionsService(s *Service) *RegionsService {
   738  	rs := &RegionsService{s: s}
   739  	return rs
   740  }
   741  
   742  type RegionsService struct {
   743  	s *Service
   744  }
   745  
   746  func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
   747  	rs := &RemarketingListSharesService{s: s}
   748  	return rs
   749  }
   750  
   751  type RemarketingListSharesService struct {
   752  	s *Service
   753  }
   754  
   755  func NewRemarketingListsService(s *Service) *RemarketingListsService {
   756  	rs := &RemarketingListsService{s: s}
   757  	return rs
   758  }
   759  
   760  type RemarketingListsService struct {
   761  	s *Service
   762  }
   763  
   764  func NewReportsService(s *Service) *ReportsService {
   765  	rs := &ReportsService{s: s}
   766  	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
   767  	rs.Files = NewReportsFilesService(s)
   768  	return rs
   769  }
   770  
   771  type ReportsService struct {
   772  	s *Service
   773  
   774  	CompatibleFields *ReportsCompatibleFieldsService
   775  
   776  	Files *ReportsFilesService
   777  }
   778  
   779  func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
   780  	rs := &ReportsCompatibleFieldsService{s: s}
   781  	return rs
   782  }
   783  
   784  type ReportsCompatibleFieldsService struct {
   785  	s *Service
   786  }
   787  
   788  func NewReportsFilesService(s *Service) *ReportsFilesService {
   789  	rs := &ReportsFilesService{s: s}
   790  	return rs
   791  }
   792  
   793  type ReportsFilesService struct {
   794  	s *Service
   795  }
   796  
   797  func NewSitesService(s *Service) *SitesService {
   798  	rs := &SitesService{s: s}
   799  	return rs
   800  }
   801  
   802  type SitesService struct {
   803  	s *Service
   804  }
   805  
   806  func NewSizesService(s *Service) *SizesService {
   807  	rs := &SizesService{s: s}
   808  	return rs
   809  }
   810  
   811  type SizesService struct {
   812  	s *Service
   813  }
   814  
   815  func NewSubaccountsService(s *Service) *SubaccountsService {
   816  	rs := &SubaccountsService{s: s}
   817  	return rs
   818  }
   819  
   820  type SubaccountsService struct {
   821  	s *Service
   822  }
   823  
   824  func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
   825  	rs := &TargetableRemarketingListsService{s: s}
   826  	return rs
   827  }
   828  
   829  type TargetableRemarketingListsService struct {
   830  	s *Service
   831  }
   832  
   833  func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
   834  	rs := &TargetingTemplatesService{s: s}
   835  	return rs
   836  }
   837  
   838  type TargetingTemplatesService struct {
   839  	s *Service
   840  }
   841  
   842  func NewUserProfilesService(s *Service) *UserProfilesService {
   843  	rs := &UserProfilesService{s: s}
   844  	return rs
   845  }
   846  
   847  type UserProfilesService struct {
   848  	s *Service
   849  }
   850  
   851  func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
   852  	rs := &UserRolePermissionGroupsService{s: s}
   853  	return rs
   854  }
   855  
   856  type UserRolePermissionGroupsService struct {
   857  	s *Service
   858  }
   859  
   860  func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
   861  	rs := &UserRolePermissionsService{s: s}
   862  	return rs
   863  }
   864  
   865  type UserRolePermissionsService struct {
   866  	s *Service
   867  }
   868  
   869  func NewUserRolesService(s *Service) *UserRolesService {
   870  	rs := &UserRolesService{s: s}
   871  	return rs
   872  }
   873  
   874  type UserRolesService struct {
   875  	s *Service
   876  }
   877  
   878  func NewVideoFormatsService(s *Service) *VideoFormatsService {
   879  	rs := &VideoFormatsService{s: s}
   880  	return rs
   881  }
   882  
   883  type VideoFormatsService struct {
   884  	s *Service
   885  }
   886  
   887  // Account: Contains properties of a DCM account.
   888  type Account struct {
   889  	// AccountPermissionIds: Account permissions assigned to this account.
   890  	AccountPermissionIds googleapi.Int64s `json:"accountPermissionIds,omitempty"`
   891  
   892  	// AccountProfile: Profile for this account. This is a read-only field
   893  	// that can be left blank.
   894  	//
   895  	// Possible values:
   896  	//   "ACCOUNT_PROFILE_BASIC"
   897  	//   "ACCOUNT_PROFILE_STANDARD"
   898  	AccountProfile string `json:"accountProfile,omitempty"`
   899  
   900  	// Active: Whether this account is active.
   901  	Active bool `json:"active,omitempty"`
   902  
   903  	// ActiveAdsLimitTier: Maximum number of active ads allowed for this
   904  	// account.
   905  	//
   906  	// Possible values:
   907  	//   "ACTIVE_ADS_TIER_100K"
   908  	//   "ACTIVE_ADS_TIER_1M"
   909  	//   "ACTIVE_ADS_TIER_200K"
   910  	//   "ACTIVE_ADS_TIER_300K"
   911  	//   "ACTIVE_ADS_TIER_40K"
   912  	//   "ACTIVE_ADS_TIER_500K"
   913  	//   "ACTIVE_ADS_TIER_750K"
   914  	//   "ACTIVE_ADS_TIER_75K"
   915  	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
   916  
   917  	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
   918  	// If disabled, viewability data will not be available for any
   919  	// impressions.
   920  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
   921  
   922  	// AvailablePermissionIds: User role permissions available to the user
   923  	// roles of this account.
   924  	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
   925  
   926  	// CountryId: ID of the country associated with this account.
   927  	CountryId int64 `json:"countryId,omitempty,string"`
   928  
   929  	// CurrencyId: ID of currency associated with this account. This is a
   930  	// required field.
   931  	// Acceptable values are:
   932  	// - "1" for USD
   933  	// - "2" for GBP
   934  	// - "3" for ESP
   935  	// - "4" for SEK
   936  	// - "5" for CAD
   937  	// - "6" for JPY
   938  	// - "7" for DEM
   939  	// - "8" for AUD
   940  	// - "9" for FRF
   941  	// - "10" for ITL
   942  	// - "11" for DKK
   943  	// - "12" for NOK
   944  	// - "13" for FIM
   945  	// - "14" for ZAR
   946  	// - "15" for IEP
   947  	// - "16" for NLG
   948  	// - "17" for EUR
   949  	// - "18" for KRW
   950  	// - "19" for TWD
   951  	// - "20" for SGD
   952  	// - "21" for CNY
   953  	// - "22" for HKD
   954  	// - "23" for NZD
   955  	// - "24" for MYR
   956  	// - "25" for BRL
   957  	// - "26" for PTE
   958  	// - "27" for MXP
   959  	// - "28" for CLP
   960  	// - "29" for TRY
   961  	// - "30" for ARS
   962  	// - "31" for PEN
   963  	// - "32" for ILS
   964  	// - "33" for CHF
   965  	// - "34" for VEF
   966  	// - "35" for COP
   967  	// - "36" for GTQ
   968  	// - "37" for PLN
   969  	// - "39" for INR
   970  	// - "40" for THB
   971  	// - "41" for IDR
   972  	// - "42" for CZK
   973  	// - "43" for RON
   974  	// - "44" for HUF
   975  	// - "45" for RUB
   976  	// - "46" for AED
   977  	// - "47" for BGN
   978  	// - "48" for HRK
   979  	// - "49" for MXN
   980  	// - "50" for NGN
   981  	CurrencyId int64 `json:"currencyId,omitempty,string"`
   982  
   983  	// DefaultCreativeSizeId: Default placement dimensions for this account.
   984  	DefaultCreativeSizeId int64 `json:"defaultCreativeSizeId,omitempty,string"`
   985  
   986  	// Description: Description of this account.
   987  	Description string `json:"description,omitempty"`
   988  
   989  	// Id: ID of this account. This is a read-only, auto-generated field.
   990  	Id int64 `json:"id,omitempty,string"`
   991  
   992  	// Kind: Identifies what kind of resource this is. Value: the fixed
   993  	// string "dfareporting#account".
   994  	Kind string `json:"kind,omitempty"`
   995  
   996  	// Locale: Locale of this account.
   997  	// Acceptable values are:
   998  	// - "cs" (Czech)
   999  	// - "de" (German)
  1000  	// - "en" (English)
  1001  	// - "en-GB" (English United Kingdom)
  1002  	// - "es" (Spanish)
  1003  	// - "fr" (French)
  1004  	// - "it" (Italian)
  1005  	// - "ja" (Japanese)
  1006  	// - "ko" (Korean)
  1007  	// - "pl" (Polish)
  1008  	// - "pt-BR" (Portuguese Brazil)
  1009  	// - "ru" (Russian)
  1010  	// - "sv" (Swedish)
  1011  	// - "tr" (Turkish)
  1012  	// - "zh-CN" (Chinese Simplified)
  1013  	// - "zh-TW" (Chinese Traditional)
  1014  	Locale string `json:"locale,omitempty"`
  1015  
  1016  	// MaximumImageSize: Maximum image size allowed for this account, in
  1017  	// kilobytes. Value must be greater than or equal to 1.
  1018  	MaximumImageSize int64 `json:"maximumImageSize,omitempty,string"`
  1019  
  1020  	// Name: Name of this account. This is a required field, and must be
  1021  	// less than 128 characters long and be globally unique.
  1022  	Name string `json:"name,omitempty"`
  1023  
  1024  	// NielsenOcrEnabled: Whether campaigns created in this account will be
  1025  	// enabled for Nielsen OCR reach ratings by default.
  1026  	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
  1027  
  1028  	// ReportsConfiguration: Reporting configuration of this account.
  1029  	ReportsConfiguration *ReportsConfiguration `json:"reportsConfiguration,omitempty"`
  1030  
  1031  	// ShareReportsWithTwitter: Share Path to Conversion reports with
  1032  	// Twitter.
  1033  	ShareReportsWithTwitter bool `json:"shareReportsWithTwitter,omitempty"`
  1034  
  1035  	// TeaserSizeLimit: File size limit in kilobytes of Rich Media teaser
  1036  	// creatives. Acceptable values are 1 to 10240, inclusive.
  1037  	TeaserSizeLimit int64 `json:"teaserSizeLimit,omitempty,string"`
  1038  
  1039  	// ServerResponse contains the HTTP response code and headers from the
  1040  	// server.
  1041  	googleapi.ServerResponse `json:"-"`
  1042  
  1043  	// ForceSendFields is a list of field names (e.g.
  1044  	// "AccountPermissionIds") to unconditionally include in API requests.
  1045  	// By default, fields with empty values are omitted from API requests.
  1046  	// However, any non-pointer, non-interface field appearing in
  1047  	// ForceSendFields will be sent to the server regardless of whether the
  1048  	// field is empty or not. This may be used to include empty fields in
  1049  	// Patch requests.
  1050  	ForceSendFields []string `json:"-"`
  1051  
  1052  	// NullFields is a list of field names (e.g. "AccountPermissionIds") to
  1053  	// include in API requests with the JSON null value. By default, fields
  1054  	// with empty values are omitted from API requests. However, any field
  1055  	// with an empty value appearing in NullFields will be sent to the
  1056  	// server as null. It is an error if a field in this list has a
  1057  	// non-empty value. This may be used to include null fields in Patch
  1058  	// requests.
  1059  	NullFields []string `json:"-"`
  1060  }
  1061  
  1062  func (s *Account) MarshalJSON() ([]byte, error) {
  1063  	type NoMethod Account
  1064  	raw := NoMethod(*s)
  1065  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1066  }
  1067  
  1068  // AccountActiveAdSummary: Gets a summary of active ads in an account.
  1069  type AccountActiveAdSummary struct {
  1070  	// AccountId: ID of the account.
  1071  	AccountId int64 `json:"accountId,omitempty,string"`
  1072  
  1073  	// ActiveAds: Ads that have been activated for the account
  1074  	ActiveAds int64 `json:"activeAds,omitempty,string"`
  1075  
  1076  	// ActiveAdsLimitTier: Maximum number of active ads allowed for the
  1077  	// account.
  1078  	//
  1079  	// Possible values:
  1080  	//   "ACTIVE_ADS_TIER_100K"
  1081  	//   "ACTIVE_ADS_TIER_1M"
  1082  	//   "ACTIVE_ADS_TIER_200K"
  1083  	//   "ACTIVE_ADS_TIER_300K"
  1084  	//   "ACTIVE_ADS_TIER_40K"
  1085  	//   "ACTIVE_ADS_TIER_500K"
  1086  	//   "ACTIVE_ADS_TIER_750K"
  1087  	//   "ACTIVE_ADS_TIER_75K"
  1088  	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
  1089  
  1090  	// AvailableAds: Ads that can be activated for the account.
  1091  	AvailableAds int64 `json:"availableAds,omitempty,string"`
  1092  
  1093  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1094  	// string "dfareporting#accountActiveAdSummary".
  1095  	Kind string `json:"kind,omitempty"`
  1096  
  1097  	// ServerResponse contains the HTTP response code and headers from the
  1098  	// server.
  1099  	googleapi.ServerResponse `json:"-"`
  1100  
  1101  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1102  	// unconditionally include in API requests. By default, fields with
  1103  	// empty values are omitted from API requests. However, any non-pointer,
  1104  	// non-interface field appearing in ForceSendFields will be sent to the
  1105  	// server regardless of whether the field is empty or not. This may be
  1106  	// used to include empty fields in Patch requests.
  1107  	ForceSendFields []string `json:"-"`
  1108  
  1109  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1110  	// API requests with the JSON null value. By default, fields with empty
  1111  	// values are omitted from API requests. However, any field with an
  1112  	// empty value appearing in NullFields will be sent to the server as
  1113  	// null. It is an error if a field in this list has a non-empty value.
  1114  	// This may be used to include null fields in Patch requests.
  1115  	NullFields []string `json:"-"`
  1116  }
  1117  
  1118  func (s *AccountActiveAdSummary) MarshalJSON() ([]byte, error) {
  1119  	type NoMethod AccountActiveAdSummary
  1120  	raw := NoMethod(*s)
  1121  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1122  }
  1123  
  1124  // AccountPermission: AccountPermissions contains information about a
  1125  // particular account permission. Some features of DCM require an
  1126  // account permission to be present in the account.
  1127  type AccountPermission struct {
  1128  	// AccountProfiles: Account profiles associated with this account
  1129  	// permission.
  1130  	//
  1131  	// Possible values are:
  1132  	// - "ACCOUNT_PROFILE_BASIC"
  1133  	// - "ACCOUNT_PROFILE_STANDARD"
  1134  	//
  1135  	// Possible values:
  1136  	//   "ACCOUNT_PROFILE_BASIC"
  1137  	//   "ACCOUNT_PROFILE_STANDARD"
  1138  	AccountProfiles []string `json:"accountProfiles,omitempty"`
  1139  
  1140  	// Id: ID of this account permission.
  1141  	Id int64 `json:"id,omitempty,string"`
  1142  
  1143  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1144  	// string "dfareporting#accountPermission".
  1145  	Kind string `json:"kind,omitempty"`
  1146  
  1147  	// Level: Administrative level required to enable this account
  1148  	// permission.
  1149  	//
  1150  	// Possible values:
  1151  	//   "ADMINISTRATOR"
  1152  	//   "USER"
  1153  	Level string `json:"level,omitempty"`
  1154  
  1155  	// Name: Name of this account permission.
  1156  	Name string `json:"name,omitempty"`
  1157  
  1158  	// PermissionGroupId: Permission group of this account permission.
  1159  	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
  1160  
  1161  	// ServerResponse contains the HTTP response code and headers from the
  1162  	// server.
  1163  	googleapi.ServerResponse `json:"-"`
  1164  
  1165  	// ForceSendFields is a list of field names (e.g. "AccountProfiles") to
  1166  	// unconditionally include in API requests. By default, fields with
  1167  	// empty values are omitted from API requests. However, any non-pointer,
  1168  	// non-interface field appearing in ForceSendFields will be sent to the
  1169  	// server regardless of whether the field is empty or not. This may be
  1170  	// used to include empty fields in Patch requests.
  1171  	ForceSendFields []string `json:"-"`
  1172  
  1173  	// NullFields is a list of field names (e.g. "AccountProfiles") to
  1174  	// include in API requests with the JSON null value. By default, fields
  1175  	// with empty values are omitted from API requests. However, any field
  1176  	// with an empty value appearing in NullFields will be sent to the
  1177  	// server as null. It is an error if a field in this list has a
  1178  	// non-empty value. This may be used to include null fields in Patch
  1179  	// requests.
  1180  	NullFields []string `json:"-"`
  1181  }
  1182  
  1183  func (s *AccountPermission) MarshalJSON() ([]byte, error) {
  1184  	type NoMethod AccountPermission
  1185  	raw := NoMethod(*s)
  1186  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1187  }
  1188  
  1189  // AccountPermissionGroup: AccountPermissionGroups contains a mapping of
  1190  // permission group IDs to names. A permission group is a grouping of
  1191  // account permissions.
  1192  type AccountPermissionGroup struct {
  1193  	// Id: ID of this account permission group.
  1194  	Id int64 `json:"id,omitempty,string"`
  1195  
  1196  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1197  	// string "dfareporting#accountPermissionGroup".
  1198  	Kind string `json:"kind,omitempty"`
  1199  
  1200  	// Name: Name of this account permission group.
  1201  	Name string `json:"name,omitempty"`
  1202  
  1203  	// ServerResponse contains the HTTP response code and headers from the
  1204  	// server.
  1205  	googleapi.ServerResponse `json:"-"`
  1206  
  1207  	// ForceSendFields is a list of field names (e.g. "Id") to
  1208  	// unconditionally include in API requests. By default, fields with
  1209  	// empty values are omitted from API requests. However, any non-pointer,
  1210  	// non-interface field appearing in ForceSendFields will be sent to the
  1211  	// server regardless of whether the field is empty or not. This may be
  1212  	// used to include empty fields in Patch requests.
  1213  	ForceSendFields []string `json:"-"`
  1214  
  1215  	// NullFields is a list of field names (e.g. "Id") to include in API
  1216  	// requests with the JSON null value. By default, fields with empty
  1217  	// values are omitted from API requests. However, any field with an
  1218  	// empty value appearing in NullFields will be sent to the server as
  1219  	// null. It is an error if a field in this list has a non-empty value.
  1220  	// This may be used to include null fields in Patch requests.
  1221  	NullFields []string `json:"-"`
  1222  }
  1223  
  1224  func (s *AccountPermissionGroup) MarshalJSON() ([]byte, error) {
  1225  	type NoMethod AccountPermissionGroup
  1226  	raw := NoMethod(*s)
  1227  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1228  }
  1229  
  1230  // AccountPermissionGroupsListResponse: Account Permission Group List
  1231  // Response
  1232  type AccountPermissionGroupsListResponse struct {
  1233  	// AccountPermissionGroups: Account permission group collection.
  1234  	AccountPermissionGroups []*AccountPermissionGroup `json:"accountPermissionGroups,omitempty"`
  1235  
  1236  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1237  	// string "dfareporting#accountPermissionGroupsListResponse".
  1238  	Kind string `json:"kind,omitempty"`
  1239  
  1240  	// ServerResponse contains the HTTP response code and headers from the
  1241  	// server.
  1242  	googleapi.ServerResponse `json:"-"`
  1243  
  1244  	// ForceSendFields is a list of field names (e.g.
  1245  	// "AccountPermissionGroups") to unconditionally include in API
  1246  	// requests. By default, fields with empty values are omitted from API
  1247  	// requests. However, any non-pointer, non-interface field appearing in
  1248  	// ForceSendFields will be sent to the server regardless of whether the
  1249  	// field is empty or not. This may be used to include empty fields in
  1250  	// Patch requests.
  1251  	ForceSendFields []string `json:"-"`
  1252  
  1253  	// NullFields is a list of field names (e.g. "AccountPermissionGroups")
  1254  	// to include in API requests with the JSON null value. By default,
  1255  	// fields with empty values are omitted from API requests. However, any
  1256  	// field with an empty value appearing in NullFields will be sent to the
  1257  	// server as null. It is an error if a field in this list has a
  1258  	// non-empty value. This may be used to include null fields in Patch
  1259  	// requests.
  1260  	NullFields []string `json:"-"`
  1261  }
  1262  
  1263  func (s *AccountPermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
  1264  	type NoMethod AccountPermissionGroupsListResponse
  1265  	raw := NoMethod(*s)
  1266  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1267  }
  1268  
  1269  // AccountPermissionsListResponse: Account Permission List Response
  1270  type AccountPermissionsListResponse struct {
  1271  	// AccountPermissions: Account permission collection.
  1272  	AccountPermissions []*AccountPermission `json:"accountPermissions,omitempty"`
  1273  
  1274  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1275  	// string "dfareporting#accountPermissionsListResponse".
  1276  	Kind string `json:"kind,omitempty"`
  1277  
  1278  	// ServerResponse contains the HTTP response code and headers from the
  1279  	// server.
  1280  	googleapi.ServerResponse `json:"-"`
  1281  
  1282  	// ForceSendFields is a list of field names (e.g. "AccountPermissions")
  1283  	// to unconditionally include in API requests. By default, fields with
  1284  	// empty values are omitted from API requests. However, any non-pointer,
  1285  	// non-interface field appearing in ForceSendFields will be sent to the
  1286  	// server regardless of whether the field is empty or not. This may be
  1287  	// used to include empty fields in Patch requests.
  1288  	ForceSendFields []string `json:"-"`
  1289  
  1290  	// NullFields is a list of field names (e.g. "AccountPermissions") to
  1291  	// include in API requests with the JSON null value. By default, fields
  1292  	// with empty values are omitted from API requests. However, any field
  1293  	// with an empty value appearing in NullFields will be sent to the
  1294  	// server as null. It is an error if a field in this list has a
  1295  	// non-empty value. This may be used to include null fields in Patch
  1296  	// requests.
  1297  	NullFields []string `json:"-"`
  1298  }
  1299  
  1300  func (s *AccountPermissionsListResponse) MarshalJSON() ([]byte, error) {
  1301  	type NoMethod AccountPermissionsListResponse
  1302  	raw := NoMethod(*s)
  1303  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1304  }
  1305  
  1306  // AccountUserProfile: AccountUserProfiles contains properties of a DCM
  1307  // user profile. This resource is specifically for managing user
  1308  // profiles, whereas UserProfiles is for accessing the API.
  1309  type AccountUserProfile struct {
  1310  	// AccountId: Account ID of the user profile. This is a read-only field
  1311  	// that can be left blank.
  1312  	AccountId int64 `json:"accountId,omitempty,string"`
  1313  
  1314  	// Active: Whether this user profile is active. This defaults to false,
  1315  	// and must be set true on insert for the user profile to be usable.
  1316  	Active bool `json:"active,omitempty"`
  1317  
  1318  	// AdvertiserFilter: Filter that describes which advertisers are visible
  1319  	// to the user profile.
  1320  	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
  1321  
  1322  	// CampaignFilter: Filter that describes which campaigns are visible to
  1323  	// the user profile.
  1324  	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
  1325  
  1326  	// Comments: Comments for this user profile.
  1327  	Comments string `json:"comments,omitempty"`
  1328  
  1329  	// Email: Email of the user profile. The email addresss must be linked
  1330  	// to a Google Account. This field is required on insertion and is
  1331  	// read-only after insertion.
  1332  	Email string `json:"email,omitempty"`
  1333  
  1334  	// Id: ID of the user profile. This is a read-only, auto-generated
  1335  	// field.
  1336  	Id int64 `json:"id,omitempty,string"`
  1337  
  1338  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1339  	// string "dfareporting#accountUserProfile".
  1340  	Kind string `json:"kind,omitempty"`
  1341  
  1342  	// Locale: Locale of the user profile. This is a required
  1343  	// field.
  1344  	// Acceptable values are:
  1345  	// - "cs" (Czech)
  1346  	// - "de" (German)
  1347  	// - "en" (English)
  1348  	// - "en-GB" (English United Kingdom)
  1349  	// - "es" (Spanish)
  1350  	// - "fr" (French)
  1351  	// - "it" (Italian)
  1352  	// - "ja" (Japanese)
  1353  	// - "ko" (Korean)
  1354  	// - "pl" (Polish)
  1355  	// - "pt-BR" (Portuguese Brazil)
  1356  	// - "ru" (Russian)
  1357  	// - "sv" (Swedish)
  1358  	// - "tr" (Turkish)
  1359  	// - "zh-CN" (Chinese Simplified)
  1360  	// - "zh-TW" (Chinese Traditional)
  1361  	Locale string `json:"locale,omitempty"`
  1362  
  1363  	// Name: Name of the user profile. This is a required field. Must be
  1364  	// less than 64 characters long, must be globally unique, and cannot
  1365  	// contain whitespace or any of the following characters: "&;"#%,".
  1366  	Name string `json:"name,omitempty"`
  1367  
  1368  	// SiteFilter: Filter that describes which sites are visible to the user
  1369  	// profile.
  1370  	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
  1371  
  1372  	// SubaccountId: Subaccount ID of the user profile. This is a read-only
  1373  	// field that can be left blank.
  1374  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1375  
  1376  	// TraffickerType: Trafficker type of this user profile.
  1377  	//
  1378  	// Possible values:
  1379  	//   "EXTERNAL_TRAFFICKER"
  1380  	//   "INTERNAL_NON_TRAFFICKER"
  1381  	//   "INTERNAL_TRAFFICKER"
  1382  	TraffickerType string `json:"traffickerType,omitempty"`
  1383  
  1384  	// UserAccessType: User type of the user profile. This is a read-only
  1385  	// field that can be left blank.
  1386  	//
  1387  	// Possible values:
  1388  	//   "INTERNAL_ADMINISTRATOR"
  1389  	//   "NORMAL_USER"
  1390  	//   "READ_ONLY_SUPER_USER"
  1391  	//   "SUPER_USER"
  1392  	UserAccessType string `json:"userAccessType,omitempty"`
  1393  
  1394  	// UserRoleFilter: Filter that describes which user roles are visible to
  1395  	// the user profile.
  1396  	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
  1397  
  1398  	// UserRoleId: User role ID of the user profile. This is a required
  1399  	// field.
  1400  	UserRoleId int64 `json:"userRoleId,omitempty,string"`
  1401  
  1402  	// ServerResponse contains the HTTP response code and headers from the
  1403  	// server.
  1404  	googleapi.ServerResponse `json:"-"`
  1405  
  1406  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1407  	// unconditionally include in API requests. By default, fields with
  1408  	// empty values are omitted from API requests. However, any non-pointer,
  1409  	// non-interface field appearing in ForceSendFields will be sent to the
  1410  	// server regardless of whether the field is empty or not. This may be
  1411  	// used to include empty fields in Patch requests.
  1412  	ForceSendFields []string `json:"-"`
  1413  
  1414  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1415  	// API requests with the JSON null value. By default, fields with empty
  1416  	// values are omitted from API requests. However, any field with an
  1417  	// empty value appearing in NullFields will be sent to the server as
  1418  	// null. It is an error if a field in this list has a non-empty value.
  1419  	// This may be used to include null fields in Patch requests.
  1420  	NullFields []string `json:"-"`
  1421  }
  1422  
  1423  func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
  1424  	type NoMethod AccountUserProfile
  1425  	raw := NoMethod(*s)
  1426  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1427  }
  1428  
  1429  // AccountUserProfilesListResponse: Account User Profile List Response
  1430  type AccountUserProfilesListResponse struct {
  1431  	// AccountUserProfiles: Account user profile collection.
  1432  	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
  1433  
  1434  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1435  	// string "dfareporting#accountUserProfilesListResponse".
  1436  	Kind string `json:"kind,omitempty"`
  1437  
  1438  	// NextPageToken: Pagination token to be used for the next list
  1439  	// operation.
  1440  	NextPageToken string `json:"nextPageToken,omitempty"`
  1441  
  1442  	// ServerResponse contains the HTTP response code and headers from the
  1443  	// server.
  1444  	googleapi.ServerResponse `json:"-"`
  1445  
  1446  	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
  1447  	// to unconditionally include in API requests. By default, fields with
  1448  	// empty values are omitted from API requests. However, any non-pointer,
  1449  	// non-interface field appearing in ForceSendFields will be sent to the
  1450  	// server regardless of whether the field is empty or not. This may be
  1451  	// used to include empty fields in Patch requests.
  1452  	ForceSendFields []string `json:"-"`
  1453  
  1454  	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
  1455  	// include in API requests with the JSON null value. By default, fields
  1456  	// with empty values are omitted from API requests. However, any field
  1457  	// with an empty value appearing in NullFields will be sent to the
  1458  	// server as null. It is an error if a field in this list has a
  1459  	// non-empty value. This may be used to include null fields in Patch
  1460  	// requests.
  1461  	NullFields []string `json:"-"`
  1462  }
  1463  
  1464  func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
  1465  	type NoMethod AccountUserProfilesListResponse
  1466  	raw := NoMethod(*s)
  1467  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1468  }
  1469  
  1470  // AccountsListResponse: Account List Response
  1471  type AccountsListResponse struct {
  1472  	// Accounts: Account collection.
  1473  	Accounts []*Account `json:"accounts,omitempty"`
  1474  
  1475  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1476  	// string "dfareporting#accountsListResponse".
  1477  	Kind string `json:"kind,omitempty"`
  1478  
  1479  	// NextPageToken: Pagination token to be used for the next list
  1480  	// operation.
  1481  	NextPageToken string `json:"nextPageToken,omitempty"`
  1482  
  1483  	// ServerResponse contains the HTTP response code and headers from the
  1484  	// server.
  1485  	googleapi.ServerResponse `json:"-"`
  1486  
  1487  	// ForceSendFields is a list of field names (e.g. "Accounts") to
  1488  	// unconditionally include in API requests. By default, fields with
  1489  	// empty values are omitted from API requests. However, any non-pointer,
  1490  	// non-interface field appearing in ForceSendFields will be sent to the
  1491  	// server regardless of whether the field is empty or not. This may be
  1492  	// used to include empty fields in Patch requests.
  1493  	ForceSendFields []string `json:"-"`
  1494  
  1495  	// NullFields is a list of field names (e.g. "Accounts") to include in
  1496  	// API requests with the JSON null value. By default, fields with empty
  1497  	// values are omitted from API requests. However, any field with an
  1498  	// empty value appearing in NullFields will be sent to the server as
  1499  	// null. It is an error if a field in this list has a non-empty value.
  1500  	// This may be used to include null fields in Patch requests.
  1501  	NullFields []string `json:"-"`
  1502  }
  1503  
  1504  func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
  1505  	type NoMethod AccountsListResponse
  1506  	raw := NoMethod(*s)
  1507  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1508  }
  1509  
  1510  // Activities: Represents an activity group.
  1511  type Activities struct {
  1512  	// Filters: List of activity filters. The dimension values need to be
  1513  	// all either of type "dfa:activity" or "dfa:activityGroup".
  1514  	Filters []*DimensionValue `json:"filters,omitempty"`
  1515  
  1516  	// Kind: The kind of resource this is, in this case
  1517  	// dfareporting#activities.
  1518  	Kind string `json:"kind,omitempty"`
  1519  
  1520  	// MetricNames: List of names of floodlight activity metrics.
  1521  	MetricNames []string `json:"metricNames,omitempty"`
  1522  
  1523  	// ForceSendFields is a list of field names (e.g. "Filters") to
  1524  	// unconditionally include in API requests. By default, fields with
  1525  	// empty values are omitted from API requests. However, any non-pointer,
  1526  	// non-interface field appearing in ForceSendFields will be sent to the
  1527  	// server regardless of whether the field is empty or not. This may be
  1528  	// used to include empty fields in Patch requests.
  1529  	ForceSendFields []string `json:"-"`
  1530  
  1531  	// NullFields is a list of field names (e.g. "Filters") to include in
  1532  	// API requests with the JSON null value. By default, fields with empty
  1533  	// values are omitted from API requests. However, any field with an
  1534  	// empty value appearing in NullFields will be sent to the server as
  1535  	// null. It is an error if a field in this list has a non-empty value.
  1536  	// This may be used to include null fields in Patch requests.
  1537  	NullFields []string `json:"-"`
  1538  }
  1539  
  1540  func (s *Activities) MarshalJSON() ([]byte, error) {
  1541  	type NoMethod Activities
  1542  	raw := NoMethod(*s)
  1543  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1544  }
  1545  
  1546  // Ad: Contains properties of a DCM ad.
  1547  type Ad struct {
  1548  	// AccountId: Account ID of this ad. This is a read-only field that can
  1549  	// be left blank.
  1550  	AccountId int64 `json:"accountId,omitempty,string"`
  1551  
  1552  	// Active: Whether this ad is active. When true, archived must be false.
  1553  	Active bool `json:"active,omitempty"`
  1554  
  1555  	// AdvertiserId: Advertiser ID of this ad. This is a required field on
  1556  	// insertion.
  1557  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  1558  
  1559  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  1560  	// advertiser. This is a read-only, auto-generated field.
  1561  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  1562  
  1563  	// Archived: Whether this ad is archived. When true, active must be
  1564  	// false.
  1565  	Archived bool `json:"archived,omitempty"`
  1566  
  1567  	// AudienceSegmentId: Audience segment ID that is being targeted for
  1568  	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
  1569  	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
  1570  
  1571  	// CampaignId: Campaign ID of this ad. This is a required field on
  1572  	// insertion.
  1573  	CampaignId int64 `json:"campaignId,omitempty,string"`
  1574  
  1575  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  1576  	// This is a read-only, auto-generated field.
  1577  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  1578  
  1579  	// ClickThroughUrl: Click-through URL for this ad. This is a required
  1580  	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
  1581  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  1582  
  1583  	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
  1584  	// for this ad. Applies to the URL in the ad or (if overriding ad
  1585  	// properties) the URL in the creative.
  1586  	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
  1587  
  1588  	// Comments: Comments for this ad.
  1589  	Comments string `json:"comments,omitempty"`
  1590  
  1591  	// Compatibility: Compatibility of this ad. Applicable when type is
  1592  	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
  1593  	// either rendering on desktop or on mobile devices or in mobile apps
  1594  	// for regular or interstitial ads, respectively. APP and
  1595  	// APP_INTERSTITIAL are only used for existing default ads. New mobile
  1596  	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
  1597  	// default ads created for those placements will be limited to those
  1598  	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
  1599  	// video ads developed with the VAST standard.
  1600  	//
  1601  	// Possible values:
  1602  	//   "APP"
  1603  	//   "APP_INTERSTITIAL"
  1604  	//   "DISPLAY"
  1605  	//   "DISPLAY_INTERSTITIAL"
  1606  	//   "IN_STREAM_VIDEO"
  1607  	Compatibility string `json:"compatibility,omitempty"`
  1608  
  1609  	// CreateInfo: Information about the creation of this ad. This is a
  1610  	// read-only field.
  1611  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  1612  
  1613  	// CreativeGroupAssignments: Creative group assignments for this ad.
  1614  	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
  1615  	// per creative group number is allowed for a maximum of two
  1616  	// assignments.
  1617  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  1618  
  1619  	// CreativeRotation: Creative rotation for this ad. Applicable when type
  1620  	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
  1621  	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
  1622  	// should have exactly one creativeAssignment.
  1623  	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
  1624  
  1625  	// DayPartTargeting: Time and day targeting information for this ad.
  1626  	// This field must be left blank if the ad is using a targeting
  1627  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1628  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
  1629  
  1630  	// DefaultClickThroughEventTagProperties: Default click-through event
  1631  	// tag properties for this ad.
  1632  	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
  1633  
  1634  	// DeliverySchedule: Delivery schedule information for this ad.
  1635  	// Applicable when type is AD_SERVING_STANDARD_AD or
  1636  	// AD_SERVING_TRACKING. This field along with subfields priority and
  1637  	// impressionRatio are required on insertion when type is
  1638  	// AD_SERVING_STANDARD_AD.
  1639  	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
  1640  
  1641  	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
  1642  	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
  1643  	// field on insert, and is read-only after insert.
  1644  	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
  1645  
  1646  	// EndTime: Date and time that this ad should stop serving. Must be
  1647  	// later than the start time. This is a required field on insertion.
  1648  	EndTime string `json:"endTime,omitempty"`
  1649  
  1650  	// EventTagOverrides: Event tag overrides for this ad.
  1651  	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
  1652  
  1653  	// GeoTargeting: Geographical targeting information for this ad. This
  1654  	// field must be left blank if the ad is using a targeting template.
  1655  	// Applicable when type is AD_SERVING_STANDARD_AD.
  1656  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
  1657  
  1658  	// Id: ID of this ad. This is a read-only, auto-generated field.
  1659  	Id int64 `json:"id,omitempty,string"`
  1660  
  1661  	// IdDimensionValue: Dimension value for the ID of this ad. This is a
  1662  	// read-only, auto-generated field.
  1663  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  1664  
  1665  	// KeyValueTargetingExpression: Key-value targeting information for this
  1666  	// ad. This field must be left blank if the ad is using a targeting
  1667  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1668  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
  1669  
  1670  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1671  	// string "dfareporting#ad".
  1672  	Kind string `json:"kind,omitempty"`
  1673  
  1674  	// LanguageTargeting: Language targeting information for this ad. This
  1675  	// field must be left blank if the ad is using a targeting template.
  1676  	// Applicable when type is AD_SERVING_STANDARD_AD.
  1677  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
  1678  
  1679  	// LastModifiedInfo: Information about the most recent modification of
  1680  	// this ad. This is a read-only field.
  1681  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  1682  
  1683  	// Name: Name of this ad. This is a required field and must be less than
  1684  	// 256 characters long.
  1685  	Name string `json:"name,omitempty"`
  1686  
  1687  	// PlacementAssignments: Placement assignments for this ad.
  1688  	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
  1689  
  1690  	// RemarketingListExpression: Remarketing list targeting expression for
  1691  	// this ad. This field must be left blank if the ad is using a targeting
  1692  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1693  	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
  1694  
  1695  	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
  1696  	Size *Size `json:"size,omitempty"`
  1697  
  1698  	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
  1699  	// field that is auto-generated when the ad is inserted or updated.
  1700  	SslCompliant bool `json:"sslCompliant,omitempty"`
  1701  
  1702  	// SslRequired: Whether this ad requires ssl. This is a read-only field
  1703  	// that is auto-generated when the ad is inserted or updated.
  1704  	SslRequired bool `json:"sslRequired,omitempty"`
  1705  
  1706  	// StartTime: Date and time that this ad should start serving. If
  1707  	// creating an ad, this field must be a time in the future. This is a
  1708  	// required field on insertion.
  1709  	StartTime string `json:"startTime,omitempty"`
  1710  
  1711  	// SubaccountId: Subaccount ID of this ad. This is a read-only field
  1712  	// that can be left blank.
  1713  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1714  
  1715  	// TargetingTemplateId: Targeting template ID, used to apply
  1716  	// preconfigured targeting information to this ad. This cannot be set
  1717  	// while any of dayPartTargeting, geoTargeting,
  1718  	// keyValueTargetingExpression, languageTargeting,
  1719  	// remarketingListExpression, or technologyTargeting are set. Applicable
  1720  	// when type is AD_SERVING_STANDARD_AD.
  1721  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
  1722  
  1723  	// TechnologyTargeting: Technology platform targeting information for
  1724  	// this ad. This field must be left blank if the ad is using a targeting
  1725  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1726  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
  1727  
  1728  	// Type: Type of ad. This is a required field on insertion. Note that
  1729  	// default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see
  1730  	// Creative resource).
  1731  	//
  1732  	// Possible values:
  1733  	//   "AD_SERVING_CLICK_TRACKER"
  1734  	//   "AD_SERVING_DEFAULT_AD"
  1735  	//   "AD_SERVING_STANDARD_AD"
  1736  	//   "AD_SERVING_TRACKING"
  1737  	Type string `json:"type,omitempty"`
  1738  
  1739  	// ServerResponse contains the HTTP response code and headers from the
  1740  	// server.
  1741  	googleapi.ServerResponse `json:"-"`
  1742  
  1743  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1744  	// unconditionally include in API requests. By default, fields with
  1745  	// empty values are omitted from API requests. However, any non-pointer,
  1746  	// non-interface field appearing in ForceSendFields will be sent to the
  1747  	// server regardless of whether the field is empty or not. This may be
  1748  	// used to include empty fields in Patch requests.
  1749  	ForceSendFields []string `json:"-"`
  1750  
  1751  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1752  	// API requests with the JSON null value. By default, fields with empty
  1753  	// values are omitted from API requests. However, any field with an
  1754  	// empty value appearing in NullFields will be sent to the server as
  1755  	// null. It is an error if a field in this list has a non-empty value.
  1756  	// This may be used to include null fields in Patch requests.
  1757  	NullFields []string `json:"-"`
  1758  }
  1759  
  1760  func (s *Ad) MarshalJSON() ([]byte, error) {
  1761  	type NoMethod Ad
  1762  	raw := NoMethod(*s)
  1763  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1764  }
  1765  
  1766  // AdSlot: Ad Slot
  1767  type AdSlot struct {
  1768  	// Comment: Comment for this ad slot.
  1769  	Comment string `json:"comment,omitempty"`
  1770  
  1771  	// Compatibility: Ad slot compatibility. DISPLAY and
  1772  	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
  1773  	// devices or in mobile apps for regular or interstitial ads
  1774  	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
  1775  	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
  1776  	// developed with the VAST standard.
  1777  	//
  1778  	// Possible values:
  1779  	//   "APP"
  1780  	//   "APP_INTERSTITIAL"
  1781  	//   "DISPLAY"
  1782  	//   "DISPLAY_INTERSTITIAL"
  1783  	//   "IN_STREAM_VIDEO"
  1784  	Compatibility string `json:"compatibility,omitempty"`
  1785  
  1786  	// Height: Height of this ad slot.
  1787  	Height int64 `json:"height,omitempty,string"`
  1788  
  1789  	// LinkedPlacementId: ID of the placement from an external platform that
  1790  	// is linked to this ad slot.
  1791  	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
  1792  
  1793  	// Name: Name of this ad slot.
  1794  	Name string `json:"name,omitempty"`
  1795  
  1796  	// PaymentSourceType: Payment source type of this ad slot.
  1797  	//
  1798  	// Possible values:
  1799  	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
  1800  	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
  1801  	PaymentSourceType string `json:"paymentSourceType,omitempty"`
  1802  
  1803  	// Primary: Primary ad slot of a roadblock inventory item.
  1804  	Primary bool `json:"primary,omitempty"`
  1805  
  1806  	// Width: Width of this ad slot.
  1807  	Width int64 `json:"width,omitempty,string"`
  1808  
  1809  	// ForceSendFields is a list of field names (e.g. "Comment") to
  1810  	// unconditionally include in API requests. By default, fields with
  1811  	// empty values are omitted from API requests. However, any non-pointer,
  1812  	// non-interface field appearing in ForceSendFields will be sent to the
  1813  	// server regardless of whether the field is empty or not. This may be
  1814  	// used to include empty fields in Patch requests.
  1815  	ForceSendFields []string `json:"-"`
  1816  
  1817  	// NullFields is a list of field names (e.g. "Comment") to include in
  1818  	// API requests with the JSON null value. By default, fields with empty
  1819  	// values are omitted from API requests. However, any field with an
  1820  	// empty value appearing in NullFields will be sent to the server as
  1821  	// null. It is an error if a field in this list has a non-empty value.
  1822  	// This may be used to include null fields in Patch requests.
  1823  	NullFields []string `json:"-"`
  1824  }
  1825  
  1826  func (s *AdSlot) MarshalJSON() ([]byte, error) {
  1827  	type NoMethod AdSlot
  1828  	raw := NoMethod(*s)
  1829  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1830  }
  1831  
  1832  // AdsListResponse: Ad List Response
  1833  type AdsListResponse struct {
  1834  	// Ads: Ad collection.
  1835  	Ads []*Ad `json:"ads,omitempty"`
  1836  
  1837  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1838  	// string "dfareporting#adsListResponse".
  1839  	Kind string `json:"kind,omitempty"`
  1840  
  1841  	// NextPageToken: Pagination token to be used for the next list
  1842  	// operation.
  1843  	NextPageToken string `json:"nextPageToken,omitempty"`
  1844  
  1845  	// ServerResponse contains the HTTP response code and headers from the
  1846  	// server.
  1847  	googleapi.ServerResponse `json:"-"`
  1848  
  1849  	// ForceSendFields is a list of field names (e.g. "Ads") to
  1850  	// unconditionally include in API requests. By default, fields with
  1851  	// empty values are omitted from API requests. However, any non-pointer,
  1852  	// non-interface field appearing in ForceSendFields will be sent to the
  1853  	// server regardless of whether the field is empty or not. This may be
  1854  	// used to include empty fields in Patch requests.
  1855  	ForceSendFields []string `json:"-"`
  1856  
  1857  	// NullFields is a list of field names (e.g. "Ads") to include in API
  1858  	// requests with the JSON null value. By default, fields with empty
  1859  	// values are omitted from API requests. However, any field with an
  1860  	// empty value appearing in NullFields will be sent to the server as
  1861  	// null. It is an error if a field in this list has a non-empty value.
  1862  	// This may be used to include null fields in Patch requests.
  1863  	NullFields []string `json:"-"`
  1864  }
  1865  
  1866  func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
  1867  	type NoMethod AdsListResponse
  1868  	raw := NoMethod(*s)
  1869  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1870  }
  1871  
  1872  // Advertiser: Contains properties of a DCM advertiser.
  1873  type Advertiser struct {
  1874  	// AccountId: Account ID of this advertiser.This is a read-only field
  1875  	// that can be left blank.
  1876  	AccountId int64 `json:"accountId,omitempty,string"`
  1877  
  1878  	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
  1879  	// to. You can group advertisers for reporting purposes, allowing you to
  1880  	// see aggregated information for all advertisers in each group.
  1881  	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
  1882  
  1883  	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
  1884  	// creative associations under this advertiser. Must be less than 129
  1885  	// characters long.
  1886  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  1887  
  1888  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  1889  	// apply by default to the landing pages of this advertiser's campaigns.
  1890  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  1891  
  1892  	// DefaultEmail: Default email address used in sender field for tag
  1893  	// emails.
  1894  	DefaultEmail string `json:"defaultEmail,omitempty"`
  1895  
  1896  	// FloodlightConfigurationId: Floodlight configuration ID of this
  1897  	// advertiser. The floodlight configuration ID will be created
  1898  	// automatically, so on insert this field should be left blank. This
  1899  	// field can be set to another advertiser's floodlight configuration ID
  1900  	// in order to share that advertiser's floodlight configuration with
  1901  	// this advertiser, so long as:
  1902  	// - This advertiser's original floodlight configuration is not already
  1903  	// associated with floodlight activities or floodlight activity groups.
  1904  	//
  1905  	// - This advertiser's original floodlight configuration is not already
  1906  	// shared with another advertiser.
  1907  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  1908  
  1909  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  1910  	// of the floodlight configuration. This is a read-only, auto-generated
  1911  	// field.
  1912  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  1913  
  1914  	// Id: ID of this advertiser. This is a read-only, auto-generated field.
  1915  	Id int64 `json:"id,omitempty,string"`
  1916  
  1917  	// IdDimensionValue: Dimension value for the ID of this advertiser. This
  1918  	// is a read-only, auto-generated field.
  1919  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  1920  
  1921  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1922  	// string "dfareporting#advertiser".
  1923  	Kind string `json:"kind,omitempty"`
  1924  
  1925  	// Name: Name of this advertiser. This is a required field and must be
  1926  	// less than 256 characters long and unique among advertisers of the
  1927  	// same account.
  1928  	Name string `json:"name,omitempty"`
  1929  
  1930  	// OriginalFloodlightConfigurationId: Original floodlight configuration
  1931  	// before any sharing occurred. Set the floodlightConfigurationId of
  1932  	// this advertiser to originalFloodlightConfigurationId to unshare the
  1933  	// advertiser's current floodlight configuration. You cannot unshare an
  1934  	// advertiser's floodlight configuration if the shared configuration has
  1935  	// activities associated with any campaign or placement.
  1936  	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
  1937  
  1938  	// Status: Status of this advertiser.
  1939  	//
  1940  	// Possible values:
  1941  	//   "APPROVED"
  1942  	//   "ON_HOLD"
  1943  	Status string `json:"status,omitempty"`
  1944  
  1945  	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
  1946  	// field that can be left blank.
  1947  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1948  
  1949  	// Suspended: Suspension status of this advertiser.
  1950  	Suspended bool `json:"suspended,omitempty"`
  1951  
  1952  	// ServerResponse contains the HTTP response code and headers from the
  1953  	// server.
  1954  	googleapi.ServerResponse `json:"-"`
  1955  
  1956  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1957  	// unconditionally include in API requests. By default, fields with
  1958  	// empty values are omitted from API requests. However, any non-pointer,
  1959  	// non-interface field appearing in ForceSendFields will be sent to the
  1960  	// server regardless of whether the field is empty or not. This may be
  1961  	// used to include empty fields in Patch requests.
  1962  	ForceSendFields []string `json:"-"`
  1963  
  1964  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1965  	// API requests with the JSON null value. By default, fields with empty
  1966  	// values are omitted from API requests. However, any field with an
  1967  	// empty value appearing in NullFields will be sent to the server as
  1968  	// null. It is an error if a field in this list has a non-empty value.
  1969  	// This may be used to include null fields in Patch requests.
  1970  	NullFields []string `json:"-"`
  1971  }
  1972  
  1973  func (s *Advertiser) MarshalJSON() ([]byte, error) {
  1974  	type NoMethod Advertiser
  1975  	raw := NoMethod(*s)
  1976  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1977  }
  1978  
  1979  // AdvertiserGroup: Groups advertisers together so that reports can be
  1980  // generated for the entire group at once.
  1981  type AdvertiserGroup struct {
  1982  	// AccountId: Account ID of this advertiser group. This is a read-only
  1983  	// field that can be left blank.
  1984  	AccountId int64 `json:"accountId,omitempty,string"`
  1985  
  1986  	// Id: ID of this advertiser group. This is a read-only, auto-generated
  1987  	// field.
  1988  	Id int64 `json:"id,omitempty,string"`
  1989  
  1990  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1991  	// string "dfareporting#advertiserGroup".
  1992  	Kind string `json:"kind,omitempty"`
  1993  
  1994  	// Name: Name of this advertiser group. This is a required field and
  1995  	// must be less than 256 characters long and unique among advertiser
  1996  	// groups of the same account.
  1997  	Name string `json:"name,omitempty"`
  1998  
  1999  	// ServerResponse contains the HTTP response code and headers from the
  2000  	// server.
  2001  	googleapi.ServerResponse `json:"-"`
  2002  
  2003  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2004  	// unconditionally include in API requests. By default, fields with
  2005  	// empty values are omitted from API requests. However, any non-pointer,
  2006  	// non-interface field appearing in ForceSendFields will be sent to the
  2007  	// server regardless of whether the field is empty or not. This may be
  2008  	// used to include empty fields in Patch requests.
  2009  	ForceSendFields []string `json:"-"`
  2010  
  2011  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2012  	// API requests with the JSON null value. By default, fields with empty
  2013  	// values are omitted from API requests. However, any field with an
  2014  	// empty value appearing in NullFields will be sent to the server as
  2015  	// null. It is an error if a field in this list has a non-empty value.
  2016  	// This may be used to include null fields in Patch requests.
  2017  	NullFields []string `json:"-"`
  2018  }
  2019  
  2020  func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
  2021  	type NoMethod AdvertiserGroup
  2022  	raw := NoMethod(*s)
  2023  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2024  }
  2025  
  2026  // AdvertiserGroupsListResponse: Advertiser Group List Response
  2027  type AdvertiserGroupsListResponse struct {
  2028  	// AdvertiserGroups: Advertiser group collection.
  2029  	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
  2030  
  2031  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2032  	// string "dfareporting#advertiserGroupsListResponse".
  2033  	Kind string `json:"kind,omitempty"`
  2034  
  2035  	// NextPageToken: Pagination token to be used for the next list
  2036  	// operation.
  2037  	NextPageToken string `json:"nextPageToken,omitempty"`
  2038  
  2039  	// ServerResponse contains the HTTP response code and headers from the
  2040  	// server.
  2041  	googleapi.ServerResponse `json:"-"`
  2042  
  2043  	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
  2044  	// unconditionally include in API requests. By default, fields with
  2045  	// empty values are omitted from API requests. However, any non-pointer,
  2046  	// non-interface field appearing in ForceSendFields will be sent to the
  2047  	// server regardless of whether the field is empty or not. This may be
  2048  	// used to include empty fields in Patch requests.
  2049  	ForceSendFields []string `json:"-"`
  2050  
  2051  	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
  2052  	// include in API requests with the JSON null value. By default, fields
  2053  	// with empty values are omitted from API requests. However, any field
  2054  	// with an empty value appearing in NullFields will be sent to the
  2055  	// server as null. It is an error if a field in this list has a
  2056  	// non-empty value. This may be used to include null fields in Patch
  2057  	// requests.
  2058  	NullFields []string `json:"-"`
  2059  }
  2060  
  2061  func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
  2062  	type NoMethod AdvertiserGroupsListResponse
  2063  	raw := NoMethod(*s)
  2064  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2065  }
  2066  
  2067  // AdvertisersListResponse: Advertiser List Response
  2068  type AdvertisersListResponse struct {
  2069  	// Advertisers: Advertiser collection.
  2070  	Advertisers []*Advertiser `json:"advertisers,omitempty"`
  2071  
  2072  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2073  	// string "dfareporting#advertisersListResponse".
  2074  	Kind string `json:"kind,omitempty"`
  2075  
  2076  	// NextPageToken: Pagination token to be used for the next list
  2077  	// operation.
  2078  	NextPageToken string `json:"nextPageToken,omitempty"`
  2079  
  2080  	// ServerResponse contains the HTTP response code and headers from the
  2081  	// server.
  2082  	googleapi.ServerResponse `json:"-"`
  2083  
  2084  	// ForceSendFields is a list of field names (e.g. "Advertisers") to
  2085  	// unconditionally include in API requests. By default, fields with
  2086  	// empty values are omitted from API requests. However, any non-pointer,
  2087  	// non-interface field appearing in ForceSendFields will be sent to the
  2088  	// server regardless of whether the field is empty or not. This may be
  2089  	// used to include empty fields in Patch requests.
  2090  	ForceSendFields []string `json:"-"`
  2091  
  2092  	// NullFields is a list of field names (e.g. "Advertisers") to include
  2093  	// in API requests with the JSON null value. By default, fields with
  2094  	// empty values are omitted from API requests. However, any field with
  2095  	// an empty value appearing in NullFields will be sent to the server as
  2096  	// null. It is an error if a field in this list has a non-empty value.
  2097  	// This may be used to include null fields in Patch requests.
  2098  	NullFields []string `json:"-"`
  2099  }
  2100  
  2101  func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
  2102  	type NoMethod AdvertisersListResponse
  2103  	raw := NoMethod(*s)
  2104  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2105  }
  2106  
  2107  // AudienceSegment: Audience Segment.
  2108  type AudienceSegment struct {
  2109  	// Allocation: Weight allocated to this segment. The weight assigned
  2110  	// will be understood in proportion to the weights assigned to other
  2111  	// segments in the same segment group. Acceptable values are 1 to 1000,
  2112  	// inclusive.
  2113  	Allocation int64 `json:"allocation,omitempty"`
  2114  
  2115  	// Id: ID of this audience segment. This is a read-only, auto-generated
  2116  	// field.
  2117  	Id int64 `json:"id,omitempty,string"`
  2118  
  2119  	// Name: Name of this audience segment. This is a required field and
  2120  	// must be less than 65 characters long.
  2121  	Name string `json:"name,omitempty"`
  2122  
  2123  	// ForceSendFields is a list of field names (e.g. "Allocation") to
  2124  	// unconditionally include in API requests. By default, fields with
  2125  	// empty values are omitted from API requests. However, any non-pointer,
  2126  	// non-interface field appearing in ForceSendFields will be sent to the
  2127  	// server regardless of whether the field is empty or not. This may be
  2128  	// used to include empty fields in Patch requests.
  2129  	ForceSendFields []string `json:"-"`
  2130  
  2131  	// NullFields is a list of field names (e.g. "Allocation") to include in
  2132  	// API requests with the JSON null value. By default, fields with empty
  2133  	// values are omitted from API requests. However, any field with an
  2134  	// empty value appearing in NullFields will be sent to the server as
  2135  	// null. It is an error if a field in this list has a non-empty value.
  2136  	// This may be used to include null fields in Patch requests.
  2137  	NullFields []string `json:"-"`
  2138  }
  2139  
  2140  func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
  2141  	type NoMethod AudienceSegment
  2142  	raw := NoMethod(*s)
  2143  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2144  }
  2145  
  2146  // AudienceSegmentGroup: Audience Segment Group.
  2147  type AudienceSegmentGroup struct {
  2148  	// AudienceSegments: Audience segments assigned to this group. The
  2149  	// number of segments must be between 2 and 100.
  2150  	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
  2151  
  2152  	// Id: ID of this audience segment group. This is a read-only,
  2153  	// auto-generated field.
  2154  	Id int64 `json:"id,omitempty,string"`
  2155  
  2156  	// Name: Name of this audience segment group. This is a required field
  2157  	// and must be less than 65 characters long.
  2158  	Name string `json:"name,omitempty"`
  2159  
  2160  	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
  2161  	// unconditionally include in API requests. By default, fields with
  2162  	// empty values are omitted from API requests. However, any non-pointer,
  2163  	// non-interface field appearing in ForceSendFields will be sent to the
  2164  	// server regardless of whether the field is empty or not. This may be
  2165  	// used to include empty fields in Patch requests.
  2166  	ForceSendFields []string `json:"-"`
  2167  
  2168  	// NullFields is a list of field names (e.g. "AudienceSegments") to
  2169  	// include in API requests with the JSON null value. By default, fields
  2170  	// with empty values are omitted from API requests. However, any field
  2171  	// with an empty value appearing in NullFields will be sent to the
  2172  	// server as null. It is an error if a field in this list has a
  2173  	// non-empty value. This may be used to include null fields in Patch
  2174  	// requests.
  2175  	NullFields []string `json:"-"`
  2176  }
  2177  
  2178  func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
  2179  	type NoMethod AudienceSegmentGroup
  2180  	raw := NoMethod(*s)
  2181  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2182  }
  2183  
  2184  // Browser: Contains information about a browser that can be targeted by
  2185  // ads.
  2186  type Browser struct {
  2187  	// BrowserVersionId: ID referring to this grouping of browser and
  2188  	// version numbers. This is the ID used for targeting.
  2189  	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
  2190  
  2191  	// DartId: DART ID of this browser. This is the ID used when generating
  2192  	// reports.
  2193  	DartId int64 `json:"dartId,omitempty,string"`
  2194  
  2195  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2196  	// string "dfareporting#browser".
  2197  	Kind string `json:"kind,omitempty"`
  2198  
  2199  	// MajorVersion: Major version number (leftmost number) of this browser.
  2200  	// For example, for Chrome 5.0.376.86 beta, this field should be set to
  2201  	// 5. An asterisk (*) may be used to target any version number, and a
  2202  	// question mark (?) may be used to target cases where the version
  2203  	// number cannot be identified. For example, Chrome *.* targets any
  2204  	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
  2205  	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
  2206  	// server knows the browser is Firefox but can't tell which version it
  2207  	// is.
  2208  	MajorVersion string `json:"majorVersion,omitempty"`
  2209  
  2210  	// MinorVersion: Minor version number (number after first dot on left)
  2211  	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
  2212  	// should be set to 0. An asterisk (*) may be used to target any version
  2213  	// number, and a question mark (?) may be used to target cases where the
  2214  	// version number cannot be identified. For example, Chrome *.* targets
  2215  	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
  2216  	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
  2217  	// server knows the browser is Firefox but can't tell which version it
  2218  	// is.
  2219  	MinorVersion string `json:"minorVersion,omitempty"`
  2220  
  2221  	// Name: Name of this browser.
  2222  	Name string `json:"name,omitempty"`
  2223  
  2224  	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
  2225  	// unconditionally include in API requests. By default, fields with
  2226  	// empty values are omitted from API requests. However, any non-pointer,
  2227  	// non-interface field appearing in ForceSendFields will be sent to the
  2228  	// server regardless of whether the field is empty or not. This may be
  2229  	// used to include empty fields in Patch requests.
  2230  	ForceSendFields []string `json:"-"`
  2231  
  2232  	// NullFields is a list of field names (e.g. "BrowserVersionId") to
  2233  	// include in API requests with the JSON null value. By default, fields
  2234  	// with empty values are omitted from API requests. However, any field
  2235  	// with an empty value appearing in NullFields will be sent to the
  2236  	// server as null. It is an error if a field in this list has a
  2237  	// non-empty value. This may be used to include null fields in Patch
  2238  	// requests.
  2239  	NullFields []string `json:"-"`
  2240  }
  2241  
  2242  func (s *Browser) MarshalJSON() ([]byte, error) {
  2243  	type NoMethod Browser
  2244  	raw := NoMethod(*s)
  2245  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2246  }
  2247  
  2248  // BrowsersListResponse: Browser List Response
  2249  type BrowsersListResponse struct {
  2250  	// Browsers: Browser collection.
  2251  	Browsers []*Browser `json:"browsers,omitempty"`
  2252  
  2253  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2254  	// string "dfareporting#browsersListResponse".
  2255  	Kind string `json:"kind,omitempty"`
  2256  
  2257  	// ServerResponse contains the HTTP response code and headers from the
  2258  	// server.
  2259  	googleapi.ServerResponse `json:"-"`
  2260  
  2261  	// ForceSendFields is a list of field names (e.g. "Browsers") to
  2262  	// unconditionally include in API requests. By default, fields with
  2263  	// empty values are omitted from API requests. However, any non-pointer,
  2264  	// non-interface field appearing in ForceSendFields will be sent to the
  2265  	// server regardless of whether the field is empty or not. This may be
  2266  	// used to include empty fields in Patch requests.
  2267  	ForceSendFields []string `json:"-"`
  2268  
  2269  	// NullFields is a list of field names (e.g. "Browsers") to include in
  2270  	// API requests with the JSON null value. By default, fields with empty
  2271  	// values are omitted from API requests. However, any field with an
  2272  	// empty value appearing in NullFields will be sent to the server as
  2273  	// null. It is an error if a field in this list has a non-empty value.
  2274  	// This may be used to include null fields in Patch requests.
  2275  	NullFields []string `json:"-"`
  2276  }
  2277  
  2278  func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
  2279  	type NoMethod BrowsersListResponse
  2280  	raw := NoMethod(*s)
  2281  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2282  }
  2283  
  2284  // Campaign: Contains properties of a DCM campaign.
  2285  type Campaign struct {
  2286  	// AccountId: Account ID of this campaign. This is a read-only field
  2287  	// that can be left blank.
  2288  	AccountId int64 `json:"accountId,omitempty,string"`
  2289  
  2290  	// AdditionalCreativeOptimizationConfigurations: Additional creative
  2291  	// optimization configurations for the campaign.
  2292  	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
  2293  
  2294  	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
  2295  	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
  2296  
  2297  	// AdvertiserId: Advertiser ID of this campaign. This is a required
  2298  	// field.
  2299  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  2300  
  2301  	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
  2302  	// this campaign. This is a read-only, auto-generated field.
  2303  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  2304  
  2305  	// Archived: Whether this campaign has been archived.
  2306  	Archived bool `json:"archived,omitempty"`
  2307  
  2308  	// AudienceSegmentGroups: Audience segment groups assigned to this
  2309  	// campaign. Cannot have more than 300 segment groups.
  2310  	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
  2311  
  2312  	// BillingInvoiceCode: Billing invoice code included in the DCM client
  2313  	// billing invoices associated with the campaign.
  2314  	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
  2315  
  2316  	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
  2317  	// properties for this campaign.
  2318  	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
  2319  
  2320  	// Comment: Arbitrary comments about this campaign. Must be less than
  2321  	// 256 characters long.
  2322  	Comment string `json:"comment,omitempty"`
  2323  
  2324  	// CreateInfo: Information about the creation of this campaign. This is
  2325  	// a read-only field.
  2326  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  2327  
  2328  	// CreativeGroupIds: List of creative group IDs that are assigned to the
  2329  	// campaign.
  2330  	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
  2331  
  2332  	// CreativeOptimizationConfiguration: Creative optimization
  2333  	// configuration for the campaign.
  2334  	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
  2335  
  2336  	// DefaultClickThroughEventTagProperties: Click-through event tag ID
  2337  	// override properties for this campaign.
  2338  	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
  2339  
  2340  	// EndDate: Date on which the campaign will stop running. On insert, the
  2341  	// end date must be today or a future date. The end date must be later
  2342  	// than or be the same as the start date. If, for example, you set
  2343  	// 6/25/2015 as both the start and end dates, the effective campaign run
  2344  	// date is just that day only, 6/25/2015. The hours, minutes, and
  2345  	// seconds of the end date should not be set, as doing so will result in
  2346  	// an error. This is a required field.
  2347  	EndDate string `json:"endDate,omitempty"`
  2348  
  2349  	// EventTagOverrides: Overrides that can be used to activate or
  2350  	// deactivate advertiser event tags.
  2351  	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
  2352  
  2353  	// ExternalId: External ID for this campaign.
  2354  	ExternalId string `json:"externalId,omitempty"`
  2355  
  2356  	// Id: ID of this campaign. This is a read-only auto-generated field.
  2357  	Id int64 `json:"id,omitempty,string"`
  2358  
  2359  	// IdDimensionValue: Dimension value for the ID of this campaign. This
  2360  	// is a read-only, auto-generated field.
  2361  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  2362  
  2363  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2364  	// string "dfareporting#campaign".
  2365  	Kind string `json:"kind,omitempty"`
  2366  
  2367  	// LastModifiedInfo: Information about the most recent modification of
  2368  	// this campaign. This is a read-only field.
  2369  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  2370  
  2371  	// LookbackConfiguration: Lookback window settings for the campaign.
  2372  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  2373  
  2374  	// Name: Name of this campaign. This is a required field and must be
  2375  	// less than 256 characters long and unique among campaigns of the same
  2376  	// advertiser.
  2377  	Name string `json:"name,omitempty"`
  2378  
  2379  	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
  2380  	// campaign.
  2381  	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
  2382  
  2383  	// StartDate: Date on which the campaign starts running. The start date
  2384  	// can be any date. The hours, minutes, and seconds of the start date
  2385  	// should not be set, as doing so will result in an error. This is a
  2386  	// required field.
  2387  	StartDate string `json:"startDate,omitempty"`
  2388  
  2389  	// SubaccountId: Subaccount ID of this campaign. This is a read-only
  2390  	// field that can be left blank.
  2391  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2392  
  2393  	// TraffickerEmails: Campaign trafficker contact emails.
  2394  	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
  2395  
  2396  	// ServerResponse contains the HTTP response code and headers from the
  2397  	// server.
  2398  	googleapi.ServerResponse `json:"-"`
  2399  
  2400  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2401  	// unconditionally include in API requests. By default, fields with
  2402  	// empty values are omitted from API requests. However, any non-pointer,
  2403  	// non-interface field appearing in ForceSendFields will be sent to the
  2404  	// server regardless of whether the field is empty or not. This may be
  2405  	// used to include empty fields in Patch requests.
  2406  	ForceSendFields []string `json:"-"`
  2407  
  2408  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2409  	// API requests with the JSON null value. By default, fields with empty
  2410  	// values are omitted from API requests. However, any field with an
  2411  	// empty value appearing in NullFields will be sent to the server as
  2412  	// null. It is an error if a field in this list has a non-empty value.
  2413  	// This may be used to include null fields in Patch requests.
  2414  	NullFields []string `json:"-"`
  2415  }
  2416  
  2417  func (s *Campaign) MarshalJSON() ([]byte, error) {
  2418  	type NoMethod Campaign
  2419  	raw := NoMethod(*s)
  2420  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2421  }
  2422  
  2423  // CampaignCreativeAssociation: Identifies a creative which has been
  2424  // associated with a given campaign.
  2425  type CampaignCreativeAssociation struct {
  2426  	// CreativeId: ID of the creative associated with the campaign. This is
  2427  	// a required field.
  2428  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2429  
  2430  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2431  	// string "dfareporting#campaignCreativeAssociation".
  2432  	Kind string `json:"kind,omitempty"`
  2433  
  2434  	// ServerResponse contains the HTTP response code and headers from the
  2435  	// server.
  2436  	googleapi.ServerResponse `json:"-"`
  2437  
  2438  	// ForceSendFields is a list of field names (e.g. "CreativeId") to
  2439  	// unconditionally include in API requests. By default, fields with
  2440  	// empty values are omitted from API requests. However, any non-pointer,
  2441  	// non-interface field appearing in ForceSendFields will be sent to the
  2442  	// server regardless of whether the field is empty or not. This may be
  2443  	// used to include empty fields in Patch requests.
  2444  	ForceSendFields []string `json:"-"`
  2445  
  2446  	// NullFields is a list of field names (e.g. "CreativeId") to include in
  2447  	// API requests with the JSON null value. By default, fields with empty
  2448  	// values are omitted from API requests. However, any field with an
  2449  	// empty value appearing in NullFields will be sent to the server as
  2450  	// null. It is an error if a field in this list has a non-empty value.
  2451  	// This may be used to include null fields in Patch requests.
  2452  	NullFields []string `json:"-"`
  2453  }
  2454  
  2455  func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
  2456  	type NoMethod CampaignCreativeAssociation
  2457  	raw := NoMethod(*s)
  2458  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2459  }
  2460  
  2461  // CampaignCreativeAssociationsListResponse: Campaign Creative
  2462  // Association List Response
  2463  type CampaignCreativeAssociationsListResponse struct {
  2464  	// CampaignCreativeAssociations: Campaign creative association
  2465  	// collection
  2466  	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
  2467  
  2468  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2469  	// string "dfareporting#campaignCreativeAssociationsListResponse".
  2470  	Kind string `json:"kind,omitempty"`
  2471  
  2472  	// NextPageToken: Pagination token to be used for the next list
  2473  	// operation.
  2474  	NextPageToken string `json:"nextPageToken,omitempty"`
  2475  
  2476  	// ServerResponse contains the HTTP response code and headers from the
  2477  	// server.
  2478  	googleapi.ServerResponse `json:"-"`
  2479  
  2480  	// ForceSendFields is a list of field names (e.g.
  2481  	// "CampaignCreativeAssociations") to unconditionally include in API
  2482  	// requests. By default, fields with empty values are omitted from API
  2483  	// requests. However, any non-pointer, non-interface field appearing in
  2484  	// ForceSendFields will be sent to the server regardless of whether the
  2485  	// field is empty or not. This may be used to include empty fields in
  2486  	// Patch requests.
  2487  	ForceSendFields []string `json:"-"`
  2488  
  2489  	// NullFields is a list of field names (e.g.
  2490  	// "CampaignCreativeAssociations") to include in API requests with the
  2491  	// JSON null value. By default, fields with empty values are omitted
  2492  	// from API requests. However, any field with an empty value appearing
  2493  	// in NullFields will be sent to the server as null. It is an error if a
  2494  	// field in this list has a non-empty value. This may be used to include
  2495  	// null fields in Patch requests.
  2496  	NullFields []string `json:"-"`
  2497  }
  2498  
  2499  func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
  2500  	type NoMethod CampaignCreativeAssociationsListResponse
  2501  	raw := NoMethod(*s)
  2502  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2503  }
  2504  
  2505  // CampaignsListResponse: Campaign List Response
  2506  type CampaignsListResponse struct {
  2507  	// Campaigns: Campaign collection.
  2508  	Campaigns []*Campaign `json:"campaigns,omitempty"`
  2509  
  2510  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2511  	// string "dfareporting#campaignsListResponse".
  2512  	Kind string `json:"kind,omitempty"`
  2513  
  2514  	// NextPageToken: Pagination token to be used for the next list
  2515  	// operation.
  2516  	NextPageToken string `json:"nextPageToken,omitempty"`
  2517  
  2518  	// ServerResponse contains the HTTP response code and headers from the
  2519  	// server.
  2520  	googleapi.ServerResponse `json:"-"`
  2521  
  2522  	// ForceSendFields is a list of field names (e.g. "Campaigns") to
  2523  	// unconditionally include in API requests. By default, fields with
  2524  	// empty values are omitted from API requests. However, any non-pointer,
  2525  	// non-interface field appearing in ForceSendFields will be sent to the
  2526  	// server regardless of whether the field is empty or not. This may be
  2527  	// used to include empty fields in Patch requests.
  2528  	ForceSendFields []string `json:"-"`
  2529  
  2530  	// NullFields is a list of field names (e.g. "Campaigns") to include in
  2531  	// API requests with the JSON null value. By default, fields with empty
  2532  	// values are omitted from API requests. However, any field with an
  2533  	// empty value appearing in NullFields will be sent to the server as
  2534  	// null. It is an error if a field in this list has a non-empty value.
  2535  	// This may be used to include null fields in Patch requests.
  2536  	NullFields []string `json:"-"`
  2537  }
  2538  
  2539  func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
  2540  	type NoMethod CampaignsListResponse
  2541  	raw := NoMethod(*s)
  2542  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2543  }
  2544  
  2545  // ChangeLog: Describes a change that a user has made to a resource.
  2546  type ChangeLog struct {
  2547  	// AccountId: Account ID of the modified object.
  2548  	AccountId int64 `json:"accountId,omitempty,string"`
  2549  
  2550  	// Action: Action which caused the change.
  2551  	Action string `json:"action,omitempty"`
  2552  
  2553  	// ChangeTime: Time when the object was modified.
  2554  	ChangeTime string `json:"changeTime,omitempty"`
  2555  
  2556  	// FieldName: Field name of the object which changed.
  2557  	FieldName string `json:"fieldName,omitempty"`
  2558  
  2559  	// Id: ID of this change log.
  2560  	Id int64 `json:"id,omitempty,string"`
  2561  
  2562  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2563  	// string "dfareporting#changeLog".
  2564  	Kind string `json:"kind,omitempty"`
  2565  
  2566  	// NewValue: New value of the object field.
  2567  	NewValue string `json:"newValue,omitempty"`
  2568  
  2569  	// ObjectId: ID of the object of this change log. The object could be a
  2570  	// campaign, placement, ad, or other type.
  2571  	ObjectId int64 `json:"objectId,omitempty,string"`
  2572  
  2573  	// ObjectType: Object type of the change log.
  2574  	ObjectType string `json:"objectType,omitempty"`
  2575  
  2576  	// OldValue: Old value of the object field.
  2577  	OldValue string `json:"oldValue,omitempty"`
  2578  
  2579  	// SubaccountId: Subaccount ID of the modified object.
  2580  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2581  
  2582  	// TransactionId: Transaction ID of this change log. When a single API
  2583  	// call results in many changes, each change will have a separate ID in
  2584  	// the change log but will share the same transactionId.
  2585  	TransactionId int64 `json:"transactionId,omitempty,string"`
  2586  
  2587  	// UserProfileId: ID of the user who modified the object.
  2588  	UserProfileId int64 `json:"userProfileId,omitempty,string"`
  2589  
  2590  	// UserProfileName: User profile name of the user who modified the
  2591  	// object.
  2592  	UserProfileName string `json:"userProfileName,omitempty"`
  2593  
  2594  	// ServerResponse contains the HTTP response code and headers from the
  2595  	// server.
  2596  	googleapi.ServerResponse `json:"-"`
  2597  
  2598  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2599  	// unconditionally include in API requests. By default, fields with
  2600  	// empty values are omitted from API requests. However, any non-pointer,
  2601  	// non-interface field appearing in ForceSendFields will be sent to the
  2602  	// server regardless of whether the field is empty or not. This may be
  2603  	// used to include empty fields in Patch requests.
  2604  	ForceSendFields []string `json:"-"`
  2605  
  2606  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2607  	// API requests with the JSON null value. By default, fields with empty
  2608  	// values are omitted from API requests. However, any field with an
  2609  	// empty value appearing in NullFields will be sent to the server as
  2610  	// null. It is an error if a field in this list has a non-empty value.
  2611  	// This may be used to include null fields in Patch requests.
  2612  	NullFields []string `json:"-"`
  2613  }
  2614  
  2615  func (s *ChangeLog) MarshalJSON() ([]byte, error) {
  2616  	type NoMethod ChangeLog
  2617  	raw := NoMethod(*s)
  2618  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2619  }
  2620  
  2621  // ChangeLogsListResponse: Change Log List Response
  2622  type ChangeLogsListResponse struct {
  2623  	// ChangeLogs: Change log collection.
  2624  	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
  2625  
  2626  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2627  	// string "dfareporting#changeLogsListResponse".
  2628  	Kind string `json:"kind,omitempty"`
  2629  
  2630  	// NextPageToken: Pagination token to be used for the next list
  2631  	// operation.
  2632  	NextPageToken string `json:"nextPageToken,omitempty"`
  2633  
  2634  	// ServerResponse contains the HTTP response code and headers from the
  2635  	// server.
  2636  	googleapi.ServerResponse `json:"-"`
  2637  
  2638  	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
  2639  	// unconditionally include in API requests. By default, fields with
  2640  	// empty values are omitted from API requests. However, any non-pointer,
  2641  	// non-interface field appearing in ForceSendFields will be sent to the
  2642  	// server regardless of whether the field is empty or not. This may be
  2643  	// used to include empty fields in Patch requests.
  2644  	ForceSendFields []string `json:"-"`
  2645  
  2646  	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
  2647  	// API requests with the JSON null value. By default, fields with empty
  2648  	// values are omitted from API requests. However, any field with an
  2649  	// empty value appearing in NullFields will be sent to the server as
  2650  	// null. It is an error if a field in this list has a non-empty value.
  2651  	// This may be used to include null fields in Patch requests.
  2652  	NullFields []string `json:"-"`
  2653  }
  2654  
  2655  func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
  2656  	type NoMethod ChangeLogsListResponse
  2657  	raw := NoMethod(*s)
  2658  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2659  }
  2660  
  2661  // CitiesListResponse: City List Response
  2662  type CitiesListResponse struct {
  2663  	// Cities: City collection.
  2664  	Cities []*City `json:"cities,omitempty"`
  2665  
  2666  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2667  	// string "dfareporting#citiesListResponse".
  2668  	Kind string `json:"kind,omitempty"`
  2669  
  2670  	// ServerResponse contains the HTTP response code and headers from the
  2671  	// server.
  2672  	googleapi.ServerResponse `json:"-"`
  2673  
  2674  	// ForceSendFields is a list of field names (e.g. "Cities") to
  2675  	// unconditionally include in API requests. By default, fields with
  2676  	// empty values are omitted from API requests. However, any non-pointer,
  2677  	// non-interface field appearing in ForceSendFields will be sent to the
  2678  	// server regardless of whether the field is empty or not. This may be
  2679  	// used to include empty fields in Patch requests.
  2680  	ForceSendFields []string `json:"-"`
  2681  
  2682  	// NullFields is a list of field names (e.g. "Cities") to include in API
  2683  	// requests with the JSON null value. By default, fields with empty
  2684  	// values are omitted from API requests. However, any field with an
  2685  	// empty value appearing in NullFields will be sent to the server as
  2686  	// null. It is an error if a field in this list has a non-empty value.
  2687  	// This may be used to include null fields in Patch requests.
  2688  	NullFields []string `json:"-"`
  2689  }
  2690  
  2691  func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
  2692  	type NoMethod CitiesListResponse
  2693  	raw := NoMethod(*s)
  2694  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2695  }
  2696  
  2697  // City: Contains information about a city that can be targeted by ads.
  2698  type City struct {
  2699  	// CountryCode: Country code of the country to which this city belongs.
  2700  	CountryCode string `json:"countryCode,omitempty"`
  2701  
  2702  	// CountryDartId: DART ID of the country to which this city belongs.
  2703  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  2704  
  2705  	// DartId: DART ID of this city. This is the ID used for targeting and
  2706  	// generating reports.
  2707  	DartId int64 `json:"dartId,omitempty,string"`
  2708  
  2709  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2710  	// string "dfareporting#city".
  2711  	Kind string `json:"kind,omitempty"`
  2712  
  2713  	// MetroCode: Metro region code of the metro region (DMA) to which this
  2714  	// city belongs.
  2715  	MetroCode string `json:"metroCode,omitempty"`
  2716  
  2717  	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
  2718  	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
  2719  
  2720  	// Name: Name of this city.
  2721  	Name string `json:"name,omitempty"`
  2722  
  2723  	// RegionCode: Region code of the region to which this city belongs.
  2724  	RegionCode string `json:"regionCode,omitempty"`
  2725  
  2726  	// RegionDartId: DART ID of the region to which this city belongs.
  2727  	RegionDartId int64 `json:"regionDartId,omitempty,string"`
  2728  
  2729  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  2730  	// unconditionally include in API requests. By default, fields with
  2731  	// empty values are omitted from API requests. However, any non-pointer,
  2732  	// non-interface field appearing in ForceSendFields will be sent to the
  2733  	// server regardless of whether the field is empty or not. This may be
  2734  	// used to include empty fields in Patch requests.
  2735  	ForceSendFields []string `json:"-"`
  2736  
  2737  	// NullFields is a list of field names (e.g. "CountryCode") to include
  2738  	// in API requests with the JSON null value. By default, fields with
  2739  	// empty values are omitted from API requests. However, any field with
  2740  	// an empty value appearing in NullFields will be sent to the server as
  2741  	// null. It is an error if a field in this list has a non-empty value.
  2742  	// This may be used to include null fields in Patch requests.
  2743  	NullFields []string `json:"-"`
  2744  }
  2745  
  2746  func (s *City) MarshalJSON() ([]byte, error) {
  2747  	type NoMethod City
  2748  	raw := NoMethod(*s)
  2749  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2750  }
  2751  
  2752  // ClickTag: Creative Click Tag.
  2753  type ClickTag struct {
  2754  	// EventName: Advertiser event name associated with the click tag. This
  2755  	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
  2756  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  2757  	EventName string `json:"eventName,omitempty"`
  2758  
  2759  	// Name: Parameter name for the specified click tag. For
  2760  	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
  2761  	// value of the creative asset's creativeAssetId.name field.
  2762  	Name string `json:"name,omitempty"`
  2763  
  2764  	// Value: Parameter value for the specified click tag. This field
  2765  	// contains a click-through url.
  2766  	Value string `json:"value,omitempty"`
  2767  
  2768  	// ForceSendFields is a list of field names (e.g. "EventName") to
  2769  	// unconditionally include in API requests. By default, fields with
  2770  	// empty values are omitted from API requests. However, any non-pointer,
  2771  	// non-interface field appearing in ForceSendFields will be sent to the
  2772  	// server regardless of whether the field is empty or not. This may be
  2773  	// used to include empty fields in Patch requests.
  2774  	ForceSendFields []string `json:"-"`
  2775  
  2776  	// NullFields is a list of field names (e.g. "EventName") to include in
  2777  	// API requests with the JSON null value. By default, fields with empty
  2778  	// values are omitted from API requests. However, any field with an
  2779  	// empty value appearing in NullFields will be sent to the server as
  2780  	// null. It is an error if a field in this list has a non-empty value.
  2781  	// This may be used to include null fields in Patch requests.
  2782  	NullFields []string `json:"-"`
  2783  }
  2784  
  2785  func (s *ClickTag) MarshalJSON() ([]byte, error) {
  2786  	type NoMethod ClickTag
  2787  	raw := NoMethod(*s)
  2788  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2789  }
  2790  
  2791  // ClickThroughUrl: Click-through URL
  2792  type ClickThroughUrl struct {
  2793  	// ComputedClickThroughUrl: Read-only convenience field representing the
  2794  	// actual URL that will be used for this click-through. The URL is
  2795  	// computed as follows:
  2796  	// - If defaultLandingPage is enabled then the campaign's default
  2797  	// landing page URL is assigned to this field.
  2798  	// - If defaultLandingPage is not enabled and a landingPageId is
  2799  	// specified then that landing page's URL is assigned to this field.
  2800  	// - If neither of the above cases apply, then the customClickThroughUrl
  2801  	// is assigned to this field.
  2802  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  2803  
  2804  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  2805  	// defaultLandingPage field is set to false and the landingPageId field
  2806  	// is left unset.
  2807  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  2808  
  2809  	// DefaultLandingPage: Whether the campaign default landing page is
  2810  	// used.
  2811  	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
  2812  
  2813  	// LandingPageId: ID of the landing page for the click-through URL.
  2814  	// Applicable if the defaultLandingPage field is set to false.
  2815  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  2816  
  2817  	// ForceSendFields is a list of field names (e.g.
  2818  	// "ComputedClickThroughUrl") to unconditionally include in API
  2819  	// requests. By default, fields with empty values are omitted from API
  2820  	// requests. However, any non-pointer, non-interface field appearing in
  2821  	// ForceSendFields will be sent to the server regardless of whether the
  2822  	// field is empty or not. This may be used to include empty fields in
  2823  	// Patch requests.
  2824  	ForceSendFields []string `json:"-"`
  2825  
  2826  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  2827  	// to include in API requests with the JSON null value. By default,
  2828  	// fields with empty values are omitted from API requests. However, any
  2829  	// field with an empty value appearing in NullFields will be sent to the
  2830  	// server as null. It is an error if a field in this list has a
  2831  	// non-empty value. This may be used to include null fields in Patch
  2832  	// requests.
  2833  	NullFields []string `json:"-"`
  2834  }
  2835  
  2836  func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
  2837  	type NoMethod ClickThroughUrl
  2838  	raw := NoMethod(*s)
  2839  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2840  }
  2841  
  2842  // ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
  2843  type ClickThroughUrlSuffixProperties struct {
  2844  	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
  2845  	// in this entity's scope. Must be less than 128 characters long.
  2846  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  2847  
  2848  	// OverrideInheritedSuffix: Whether this entity should override the
  2849  	// inherited click-through URL suffix with its own defined value.
  2850  	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
  2851  
  2852  	// ForceSendFields is a list of field names (e.g.
  2853  	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
  2854  	// By default, fields with empty values are omitted from API requests.
  2855  	// However, any non-pointer, non-interface field appearing in
  2856  	// ForceSendFields will be sent to the server regardless of whether the
  2857  	// field is empty or not. This may be used to include empty fields in
  2858  	// Patch requests.
  2859  	ForceSendFields []string `json:"-"`
  2860  
  2861  	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
  2862  	// include in API requests with the JSON null value. By default, fields
  2863  	// with empty values are omitted from API requests. However, any field
  2864  	// with an empty value appearing in NullFields will be sent to the
  2865  	// server as null. It is an error if a field in this list has a
  2866  	// non-empty value. This may be used to include null fields in Patch
  2867  	// requests.
  2868  	NullFields []string `json:"-"`
  2869  }
  2870  
  2871  func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
  2872  	type NoMethod ClickThroughUrlSuffixProperties
  2873  	raw := NoMethod(*s)
  2874  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2875  }
  2876  
  2877  // CompanionClickThroughOverride: Companion Click-through override.
  2878  type CompanionClickThroughOverride struct {
  2879  	// ClickThroughUrl: Click-through URL of this companion click-through
  2880  	// override.
  2881  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  2882  
  2883  	// CreativeId: ID of the creative for this companion click-through
  2884  	// override.
  2885  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2886  
  2887  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  2888  	// unconditionally include in API requests. By default, fields with
  2889  	// empty values are omitted from API requests. However, any non-pointer,
  2890  	// non-interface field appearing in ForceSendFields will be sent to the
  2891  	// server regardless of whether the field is empty or not. This may be
  2892  	// used to include empty fields in Patch requests.
  2893  	ForceSendFields []string `json:"-"`
  2894  
  2895  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  2896  	// include in API requests with the JSON null value. By default, fields
  2897  	// with empty values are omitted from API requests. However, any field
  2898  	// with an empty value appearing in NullFields will be sent to the
  2899  	// server as null. It is an error if a field in this list has a
  2900  	// non-empty value. This may be used to include null fields in Patch
  2901  	// requests.
  2902  	NullFields []string `json:"-"`
  2903  }
  2904  
  2905  func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
  2906  	type NoMethod CompanionClickThroughOverride
  2907  	raw := NoMethod(*s)
  2908  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2909  }
  2910  
  2911  // CompanionSetting: Companion Settings
  2912  type CompanionSetting struct {
  2913  	// CompanionsDisabled: Whether companions are disabled for this
  2914  	// placement.
  2915  	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
  2916  
  2917  	// EnabledSizes: Whitelist of companion sizes to be served to this
  2918  	// placement. Set this list to null or empty to serve all companion
  2919  	// sizes.
  2920  	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
  2921  
  2922  	// ImageOnly: Whether to serve only static images as companions.
  2923  	ImageOnly bool `json:"imageOnly,omitempty"`
  2924  
  2925  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2926  	// string "dfareporting#companionSetting".
  2927  	Kind string `json:"kind,omitempty"`
  2928  
  2929  	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
  2930  	// to unconditionally include in API requests. By default, fields with
  2931  	// empty values are omitted from API requests. However, any non-pointer,
  2932  	// non-interface field appearing in ForceSendFields will be sent to the
  2933  	// server regardless of whether the field is empty or not. This may be
  2934  	// used to include empty fields in Patch requests.
  2935  	ForceSendFields []string `json:"-"`
  2936  
  2937  	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
  2938  	// include in API requests with the JSON null value. By default, fields
  2939  	// with empty values are omitted from API requests. However, any field
  2940  	// with an empty value appearing in NullFields will be sent to the
  2941  	// server as null. It is an error if a field in this list has a
  2942  	// non-empty value. This may be used to include null fields in Patch
  2943  	// requests.
  2944  	NullFields []string `json:"-"`
  2945  }
  2946  
  2947  func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
  2948  	type NoMethod CompanionSetting
  2949  	raw := NoMethod(*s)
  2950  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2951  }
  2952  
  2953  // CompatibleFields: Represents a response to the queryCompatibleFields
  2954  // method.
  2955  type CompatibleFields struct {
  2956  	// CrossDimensionReachReportCompatibleFields: Contains items that are
  2957  	// compatible to be selected for a report of type
  2958  	// "CROSS_DIMENSION_REACH".
  2959  	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
  2960  
  2961  	// FloodlightReportCompatibleFields: Contains items that are compatible
  2962  	// to be selected for a report of type "FLOODLIGHT".
  2963  	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
  2964  
  2965  	// Kind: The kind of resource this is, in this case
  2966  	// dfareporting#compatibleFields.
  2967  	Kind string `json:"kind,omitempty"`
  2968  
  2969  	// PathToConversionReportCompatibleFields: Contains items that are
  2970  	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
  2971  	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
  2972  
  2973  	// ReachReportCompatibleFields: Contains items that are compatible to be
  2974  	// selected for a report of type "REACH".
  2975  	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
  2976  
  2977  	// ReportCompatibleFields: Contains items that are compatible to be
  2978  	// selected for a report of type "STANDARD".
  2979  	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
  2980  
  2981  	// ServerResponse contains the HTTP response code and headers from the
  2982  	// server.
  2983  	googleapi.ServerResponse `json:"-"`
  2984  
  2985  	// ForceSendFields is a list of field names (e.g.
  2986  	// "CrossDimensionReachReportCompatibleFields") to unconditionally
  2987  	// include in API requests. By default, fields with empty values are
  2988  	// omitted from API requests. However, any non-pointer, non-interface
  2989  	// field appearing in ForceSendFields will be sent to the server
  2990  	// regardless of whether the field is empty or not. This may be used to
  2991  	// include empty fields in Patch requests.
  2992  	ForceSendFields []string `json:"-"`
  2993  
  2994  	// NullFields is a list of field names (e.g.
  2995  	// "CrossDimensionReachReportCompatibleFields") to include in API
  2996  	// requests with the JSON null value. By default, fields with empty
  2997  	// values are omitted from API requests. However, any field with an
  2998  	// empty value appearing in NullFields will be sent to the server as
  2999  	// null. It is an error if a field in this list has a non-empty value.
  3000  	// This may be used to include null fields in Patch requests.
  3001  	NullFields []string `json:"-"`
  3002  }
  3003  
  3004  func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
  3005  	type NoMethod CompatibleFields
  3006  	raw := NoMethod(*s)
  3007  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3008  }
  3009  
  3010  // ConnectionType: Contains information about an internet connection
  3011  // type that can be targeted by ads. Clients can use the connection type
  3012  // to target mobile vs. broadband users.
  3013  type ConnectionType struct {
  3014  	// Id: ID of this connection type.
  3015  	Id int64 `json:"id,omitempty,string"`
  3016  
  3017  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3018  	// string "dfareporting#connectionType".
  3019  	Kind string `json:"kind,omitempty"`
  3020  
  3021  	// Name: Name of this connection type.
  3022  	Name string `json:"name,omitempty"`
  3023  
  3024  	// ServerResponse contains the HTTP response code and headers from the
  3025  	// server.
  3026  	googleapi.ServerResponse `json:"-"`
  3027  
  3028  	// ForceSendFields is a list of field names (e.g. "Id") to
  3029  	// unconditionally include in API requests. By default, fields with
  3030  	// empty values are omitted from API requests. However, any non-pointer,
  3031  	// non-interface field appearing in ForceSendFields will be sent to the
  3032  	// server regardless of whether the field is empty or not. This may be
  3033  	// used to include empty fields in Patch requests.
  3034  	ForceSendFields []string `json:"-"`
  3035  
  3036  	// NullFields is a list of field names (e.g. "Id") to include in API
  3037  	// requests with the JSON null value. By default, fields with empty
  3038  	// values are omitted from API requests. However, any field with an
  3039  	// empty value appearing in NullFields will be sent to the server as
  3040  	// null. It is an error if a field in this list has a non-empty value.
  3041  	// This may be used to include null fields in Patch requests.
  3042  	NullFields []string `json:"-"`
  3043  }
  3044  
  3045  func (s *ConnectionType) MarshalJSON() ([]byte, error) {
  3046  	type NoMethod ConnectionType
  3047  	raw := NoMethod(*s)
  3048  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3049  }
  3050  
  3051  // ConnectionTypesListResponse: Connection Type List Response
  3052  type ConnectionTypesListResponse struct {
  3053  	// ConnectionTypes: Collection of connection types such as broadband and
  3054  	// mobile.
  3055  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
  3056  
  3057  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3058  	// string "dfareporting#connectionTypesListResponse".
  3059  	Kind string `json:"kind,omitempty"`
  3060  
  3061  	// ServerResponse contains the HTTP response code and headers from the
  3062  	// server.
  3063  	googleapi.ServerResponse `json:"-"`
  3064  
  3065  	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
  3066  	// unconditionally include in API requests. By default, fields with
  3067  	// empty values are omitted from API requests. However, any non-pointer,
  3068  	// non-interface field appearing in ForceSendFields will be sent to the
  3069  	// server regardless of whether the field is empty or not. This may be
  3070  	// used to include empty fields in Patch requests.
  3071  	ForceSendFields []string `json:"-"`
  3072  
  3073  	// NullFields is a list of field names (e.g. "ConnectionTypes") to
  3074  	// include in API requests with the JSON null value. By default, fields
  3075  	// with empty values are omitted from API requests. However, any field
  3076  	// with an empty value appearing in NullFields will be sent to the
  3077  	// server as null. It is an error if a field in this list has a
  3078  	// non-empty value. This may be used to include null fields in Patch
  3079  	// requests.
  3080  	NullFields []string `json:"-"`
  3081  }
  3082  
  3083  func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
  3084  	type NoMethod ConnectionTypesListResponse
  3085  	raw := NoMethod(*s)
  3086  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3087  }
  3088  
  3089  // ContentCategoriesListResponse: Content Category List Response
  3090  type ContentCategoriesListResponse struct {
  3091  	// ContentCategories: Content category collection.
  3092  	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
  3093  
  3094  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3095  	// string "dfareporting#contentCategoriesListResponse".
  3096  	Kind string `json:"kind,omitempty"`
  3097  
  3098  	// NextPageToken: Pagination token to be used for the next list
  3099  	// operation.
  3100  	NextPageToken string `json:"nextPageToken,omitempty"`
  3101  
  3102  	// ServerResponse contains the HTTP response code and headers from the
  3103  	// server.
  3104  	googleapi.ServerResponse `json:"-"`
  3105  
  3106  	// ForceSendFields is a list of field names (e.g. "ContentCategories")
  3107  	// to unconditionally include in API requests. By default, fields with
  3108  	// empty values are omitted from API requests. However, any non-pointer,
  3109  	// non-interface field appearing in ForceSendFields will be sent to the
  3110  	// server regardless of whether the field is empty or not. This may be
  3111  	// used to include empty fields in Patch requests.
  3112  	ForceSendFields []string `json:"-"`
  3113  
  3114  	// NullFields is a list of field names (e.g. "ContentCategories") to
  3115  	// include in API requests with the JSON null value. By default, fields
  3116  	// with empty values are omitted from API requests. However, any field
  3117  	// with an empty value appearing in NullFields will be sent to the
  3118  	// server as null. It is an error if a field in this list has a
  3119  	// non-empty value. This may be used to include null fields in Patch
  3120  	// requests.
  3121  	NullFields []string `json:"-"`
  3122  }
  3123  
  3124  func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
  3125  	type NoMethod ContentCategoriesListResponse
  3126  	raw := NoMethod(*s)
  3127  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3128  }
  3129  
  3130  // ContentCategory: Organizes placements according to the contents of
  3131  // their associated webpages.
  3132  type ContentCategory struct {
  3133  	// AccountId: Account ID of this content category. This is a read-only
  3134  	// field that can be left blank.
  3135  	AccountId int64 `json:"accountId,omitempty,string"`
  3136  
  3137  	// Id: ID of this content category. This is a read-only, auto-generated
  3138  	// field.
  3139  	Id int64 `json:"id,omitempty,string"`
  3140  
  3141  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3142  	// string "dfareporting#contentCategory".
  3143  	Kind string `json:"kind,omitempty"`
  3144  
  3145  	// Name: Name of this content category. This is a required field and
  3146  	// must be less than 256 characters long and unique among content
  3147  	// categories of the same account.
  3148  	Name string `json:"name,omitempty"`
  3149  
  3150  	// ServerResponse contains the HTTP response code and headers from the
  3151  	// server.
  3152  	googleapi.ServerResponse `json:"-"`
  3153  
  3154  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  3155  	// unconditionally include in API requests. By default, fields with
  3156  	// empty values are omitted from API requests. However, any non-pointer,
  3157  	// non-interface field appearing in ForceSendFields will be sent to the
  3158  	// server regardless of whether the field is empty or not. This may be
  3159  	// used to include empty fields in Patch requests.
  3160  	ForceSendFields []string `json:"-"`
  3161  
  3162  	// NullFields is a list of field names (e.g. "AccountId") to include in
  3163  	// API requests with the JSON null value. By default, fields with empty
  3164  	// values are omitted from API requests. However, any field with an
  3165  	// empty value appearing in NullFields will be sent to the server as
  3166  	// null. It is an error if a field in this list has a non-empty value.
  3167  	// This may be used to include null fields in Patch requests.
  3168  	NullFields []string `json:"-"`
  3169  }
  3170  
  3171  func (s *ContentCategory) MarshalJSON() ([]byte, error) {
  3172  	type NoMethod ContentCategory
  3173  	raw := NoMethod(*s)
  3174  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3175  }
  3176  
  3177  // Conversion: A Conversion represents when a user successfully performs
  3178  // a desired action after seeing an ad.
  3179  type Conversion struct {
  3180  	// ChildDirectedTreatment: Whether the conversion was directed toward
  3181  	// children.
  3182  	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
  3183  
  3184  	// CustomVariables: Custom floodlight variables.
  3185  	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
  3186  
  3187  	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
  3188  	// encryptionInfo should also be specified. This field is mutually
  3189  	// exclusive with encryptedUserIdCandidates[] and mobileDeviceId. This
  3190  	// or encryptedUserIdCandidates[] or mobileDeviceId is a required field.
  3191  	EncryptedUserId string `json:"encryptedUserId,omitempty"`
  3192  
  3193  	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
  3194  	// IDs. Any user ID with exposure prior to the conversion timestamp will
  3195  	// be used in the inserted conversion. If no such user ID is found then
  3196  	// the conversion will be rejected with NO_COOKIE_MATCH_FOUND error.
  3197  	// When set, encryptionInfo should also be specified. This field should
  3198  	// only be used when calling conversions.batchinsert. This field is
  3199  	// mutually exclusive with encryptedUserId and mobileDeviceId. This or
  3200  	// encryptedUserId or mobileDeviceId is a required field.
  3201  	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
  3202  
  3203  	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
  3204  	// is a required field.
  3205  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  3206  
  3207  	// FloodlightConfigurationId: Floodlight Configuration ID of this
  3208  	// conversion. This is a required field.
  3209  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  3210  
  3211  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3212  	// string "dfareporting#conversion".
  3213  	Kind string `json:"kind,omitempty"`
  3214  
  3215  	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
  3216  	// true, the conversion will be used for reporting but not targeting.
  3217  	// This will prevent remarketing.
  3218  	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
  3219  
  3220  	// MobileDeviceId: The mobile device ID. This field is mutually
  3221  	// exclusive with encryptedUserId and encryptedUserIdCandidates[]. This
  3222  	// or encryptedUserId or encryptedUserIdCandidates[] is a required
  3223  	// field.
  3224  	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
  3225  
  3226  	// Ordinal: The ordinal of the conversion. Use this field to control how
  3227  	// conversions of the same user and day are de-duplicated. This is a
  3228  	// required field.
  3229  	Ordinal string `json:"ordinal,omitempty"`
  3230  
  3231  	// Quantity: The quantity of the conversion.
  3232  	Quantity int64 `json:"quantity,omitempty,string"`
  3233  
  3234  	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
  3235  	// This is a required field.
  3236  	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
  3237  
  3238  	// Value: The value of the conversion.
  3239  	Value float64 `json:"value,omitempty"`
  3240  
  3241  	// ForceSendFields is a list of field names (e.g.
  3242  	// "ChildDirectedTreatment") to unconditionally include in API requests.
  3243  	// By default, fields with empty values are omitted from API requests.
  3244  	// However, any non-pointer, non-interface field appearing in
  3245  	// ForceSendFields will be sent to the server regardless of whether the
  3246  	// field is empty or not. This may be used to include empty fields in
  3247  	// Patch requests.
  3248  	ForceSendFields []string `json:"-"`
  3249  
  3250  	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
  3251  	// to include in API requests with the JSON null value. By default,
  3252  	// fields with empty values are omitted from API requests. However, any
  3253  	// field with an empty value appearing in NullFields will be sent to the
  3254  	// server as null. It is an error if a field in this list has a
  3255  	// non-empty value. This may be used to include null fields in Patch
  3256  	// requests.
  3257  	NullFields []string `json:"-"`
  3258  }
  3259  
  3260  func (s *Conversion) MarshalJSON() ([]byte, error) {
  3261  	type NoMethod Conversion
  3262  	raw := NoMethod(*s)
  3263  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3264  }
  3265  
  3266  func (s *Conversion) UnmarshalJSON(data []byte) error {
  3267  	type NoMethod Conversion
  3268  	var s1 struct {
  3269  		Value gensupport.JSONFloat64 `json:"value"`
  3270  		*NoMethod
  3271  	}
  3272  	s1.NoMethod = (*NoMethod)(s)
  3273  	if err := json.Unmarshal(data, &s1); err != nil {
  3274  		return err
  3275  	}
  3276  	s.Value = float64(s1.Value)
  3277  	return nil
  3278  }
  3279  
  3280  // ConversionError: The error code and description for a conversion that
  3281  // failed to insert or update.
  3282  type ConversionError struct {
  3283  	// Code: The error code.
  3284  	//
  3285  	// Possible values:
  3286  	//   "INTERNAL"
  3287  	//   "INVALID_ARGUMENT"
  3288  	//   "NOT_FOUND"
  3289  	//   "PERMISSION_DENIED"
  3290  	Code string `json:"code,omitempty"`
  3291  
  3292  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3293  	// string "dfareporting#conversionError".
  3294  	Kind string `json:"kind,omitempty"`
  3295  
  3296  	// Message: A description of the error.
  3297  	Message string `json:"message,omitempty"`
  3298  
  3299  	// ForceSendFields is a list of field names (e.g. "Code") to
  3300  	// unconditionally include in API requests. By default, fields with
  3301  	// empty values are omitted from API requests. However, any non-pointer,
  3302  	// non-interface field appearing in ForceSendFields will be sent to the
  3303  	// server regardless of whether the field is empty or not. This may be
  3304  	// used to include empty fields in Patch requests.
  3305  	ForceSendFields []string `json:"-"`
  3306  
  3307  	// NullFields is a list of field names (e.g. "Code") to include in API
  3308  	// requests with the JSON null value. By default, fields with empty
  3309  	// values are omitted from API requests. However, any field with an
  3310  	// empty value appearing in NullFields will be sent to the server as
  3311  	// null. It is an error if a field in this list has a non-empty value.
  3312  	// This may be used to include null fields in Patch requests.
  3313  	NullFields []string `json:"-"`
  3314  }
  3315  
  3316  func (s *ConversionError) MarshalJSON() ([]byte, error) {
  3317  	type NoMethod ConversionError
  3318  	raw := NoMethod(*s)
  3319  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3320  }
  3321  
  3322  // ConversionStatus: The original conversion that was inserted or
  3323  // updated and whether there were any errors.
  3324  type ConversionStatus struct {
  3325  	// Conversion: The original conversion that was inserted or updated.
  3326  	Conversion *Conversion `json:"conversion,omitempty"`
  3327  
  3328  	// Errors: A list of errors related to this conversion.
  3329  	Errors []*ConversionError `json:"errors,omitempty"`
  3330  
  3331  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3332  	// string "dfareporting#conversionStatus".
  3333  	Kind string `json:"kind,omitempty"`
  3334  
  3335  	// ForceSendFields is a list of field names (e.g. "Conversion") to
  3336  	// unconditionally include in API requests. By default, fields with
  3337  	// empty values are omitted from API requests. However, any non-pointer,
  3338  	// non-interface field appearing in ForceSendFields will be sent to the
  3339  	// server regardless of whether the field is empty or not. This may be
  3340  	// used to include empty fields in Patch requests.
  3341  	ForceSendFields []string `json:"-"`
  3342  
  3343  	// NullFields is a list of field names (e.g. "Conversion") to include in
  3344  	// API requests with the JSON null value. By default, fields with empty
  3345  	// values are omitted from API requests. However, any field with an
  3346  	// empty value appearing in NullFields will be sent to the server as
  3347  	// null. It is an error if a field in this list has a non-empty value.
  3348  	// This may be used to include null fields in Patch requests.
  3349  	NullFields []string `json:"-"`
  3350  }
  3351  
  3352  func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
  3353  	type NoMethod ConversionStatus
  3354  	raw := NoMethod(*s)
  3355  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3356  }
  3357  
  3358  // ConversionsBatchInsertRequest: Insert Conversions Request.
  3359  type ConversionsBatchInsertRequest struct {
  3360  	// Conversions: The set of conversions to insert.
  3361  	Conversions []*Conversion `json:"conversions,omitempty"`
  3362  
  3363  	// EncryptionInfo: Describes how encryptedUserId or
  3364  	// encryptedUserIdCandidates[] is encrypted. This is a required field if
  3365  	// encryptedUserId or encryptedUserIdCandidates[] is used.
  3366  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3367  
  3368  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3369  	// string "dfareporting#conversionsBatchInsertRequest".
  3370  	Kind string `json:"kind,omitempty"`
  3371  
  3372  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3373  	// unconditionally include in API requests. By default, fields with
  3374  	// empty values are omitted from API requests. However, any non-pointer,
  3375  	// non-interface field appearing in ForceSendFields will be sent to the
  3376  	// server regardless of whether the field is empty or not. This may be
  3377  	// used to include empty fields in Patch requests.
  3378  	ForceSendFields []string `json:"-"`
  3379  
  3380  	// NullFields is a list of field names (e.g. "Conversions") to include
  3381  	// in API requests with the JSON null value. By default, fields with
  3382  	// empty values are omitted from API requests. However, any field with
  3383  	// an empty value appearing in NullFields will be sent to the server as
  3384  	// null. It is an error if a field in this list has a non-empty value.
  3385  	// This may be used to include null fields in Patch requests.
  3386  	NullFields []string `json:"-"`
  3387  }
  3388  
  3389  func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
  3390  	type NoMethod ConversionsBatchInsertRequest
  3391  	raw := NoMethod(*s)
  3392  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3393  }
  3394  
  3395  // ConversionsBatchInsertResponse: Insert Conversions Response.
  3396  type ConversionsBatchInsertResponse struct {
  3397  	// HasFailures: Indicates that some or all conversions failed to insert.
  3398  	HasFailures bool `json:"hasFailures,omitempty"`
  3399  
  3400  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3401  	// string "dfareporting#conversionsBatchInsertResponse".
  3402  	Kind string `json:"kind,omitempty"`
  3403  
  3404  	// Status: The insert status of each conversion. Statuses are returned
  3405  	// in the same order that conversions are inserted.
  3406  	Status []*ConversionStatus `json:"status,omitempty"`
  3407  
  3408  	// ServerResponse contains the HTTP response code and headers from the
  3409  	// server.
  3410  	googleapi.ServerResponse `json:"-"`
  3411  
  3412  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3413  	// unconditionally include in API requests. By default, fields with
  3414  	// empty values are omitted from API requests. However, any non-pointer,
  3415  	// non-interface field appearing in ForceSendFields will be sent to the
  3416  	// server regardless of whether the field is empty or not. This may be
  3417  	// used to include empty fields in Patch requests.
  3418  	ForceSendFields []string `json:"-"`
  3419  
  3420  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3421  	// in API requests with the JSON null value. By default, fields with
  3422  	// empty values are omitted from API requests. However, any field with
  3423  	// an empty value appearing in NullFields will be sent to the server as
  3424  	// null. It is an error if a field in this list has a non-empty value.
  3425  	// This may be used to include null fields in Patch requests.
  3426  	NullFields []string `json:"-"`
  3427  }
  3428  
  3429  func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
  3430  	type NoMethod ConversionsBatchInsertResponse
  3431  	raw := NoMethod(*s)
  3432  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3433  }
  3434  
  3435  // CountriesListResponse: Country List Response
  3436  type CountriesListResponse struct {
  3437  	// Countries: Country collection.
  3438  	Countries []*Country `json:"countries,omitempty"`
  3439  
  3440  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3441  	// string "dfareporting#countriesListResponse".
  3442  	Kind string `json:"kind,omitempty"`
  3443  
  3444  	// ServerResponse contains the HTTP response code and headers from the
  3445  	// server.
  3446  	googleapi.ServerResponse `json:"-"`
  3447  
  3448  	// ForceSendFields is a list of field names (e.g. "Countries") to
  3449  	// unconditionally include in API requests. By default, fields with
  3450  	// empty values are omitted from API requests. However, any non-pointer,
  3451  	// non-interface field appearing in ForceSendFields will be sent to the
  3452  	// server regardless of whether the field is empty or not. This may be
  3453  	// used to include empty fields in Patch requests.
  3454  	ForceSendFields []string `json:"-"`
  3455  
  3456  	// NullFields is a list of field names (e.g. "Countries") to include in
  3457  	// API requests with the JSON null value. By default, fields with empty
  3458  	// values are omitted from API requests. However, any field with an
  3459  	// empty value appearing in NullFields will be sent to the server as
  3460  	// null. It is an error if a field in this list has a non-empty value.
  3461  	// This may be used to include null fields in Patch requests.
  3462  	NullFields []string `json:"-"`
  3463  }
  3464  
  3465  func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
  3466  	type NoMethod CountriesListResponse
  3467  	raw := NoMethod(*s)
  3468  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3469  }
  3470  
  3471  // Country: Contains information about a country that can be targeted by
  3472  // ads.
  3473  type Country struct {
  3474  	// CountryCode: Country code.
  3475  	CountryCode string `json:"countryCode,omitempty"`
  3476  
  3477  	// DartId: DART ID of this country. This is the ID used for targeting
  3478  	// and generating reports.
  3479  	DartId int64 `json:"dartId,omitempty,string"`
  3480  
  3481  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3482  	// string "dfareporting#country".
  3483  	Kind string `json:"kind,omitempty"`
  3484  
  3485  	// Name: Name of this country.
  3486  	Name string `json:"name,omitempty"`
  3487  
  3488  	// SslEnabled: Whether ad serving supports secure servers in this
  3489  	// country.
  3490  	SslEnabled bool `json:"sslEnabled,omitempty"`
  3491  
  3492  	// ServerResponse contains the HTTP response code and headers from the
  3493  	// server.
  3494  	googleapi.ServerResponse `json:"-"`
  3495  
  3496  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  3497  	// unconditionally include in API requests. By default, fields with
  3498  	// empty values are omitted from API requests. However, any non-pointer,
  3499  	// non-interface field appearing in ForceSendFields will be sent to the
  3500  	// server regardless of whether the field is empty or not. This may be
  3501  	// used to include empty fields in Patch requests.
  3502  	ForceSendFields []string `json:"-"`
  3503  
  3504  	// NullFields is a list of field names (e.g. "CountryCode") to include
  3505  	// in API requests with the JSON null value. By default, fields with
  3506  	// empty values are omitted from API requests. However, any field with
  3507  	// an empty value appearing in NullFields will be sent to the server as
  3508  	// null. It is an error if a field in this list has a non-empty value.
  3509  	// This may be used to include null fields in Patch requests.
  3510  	NullFields []string `json:"-"`
  3511  }
  3512  
  3513  func (s *Country) MarshalJSON() ([]byte, error) {
  3514  	type NoMethod Country
  3515  	raw := NoMethod(*s)
  3516  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3517  }
  3518  
  3519  // Creative: Contains properties of a Creative.
  3520  type Creative struct {
  3521  	// AccountId: Account ID of this creative. This field, if left unset,
  3522  	// will be auto-generated for both insert and update operations.
  3523  	// Applicable to all creative types.
  3524  	AccountId int64 `json:"accountId,omitempty,string"`
  3525  
  3526  	// Active: Whether the creative is active. Applicable to all creative
  3527  	// types.
  3528  	Active bool `json:"active,omitempty"`
  3529  
  3530  	// AdParameters: Ad parameters user for VPAID creative. This is a
  3531  	// read-only field. Applicable to the following creative types: all
  3532  	// VPAID.
  3533  	AdParameters string `json:"adParameters,omitempty"`
  3534  
  3535  	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
  3536  	// customize the creative settings of a Rich Media ad running on your
  3537  	// site without having to contact the advertiser. You can use keywords
  3538  	// to dynamically change the look or functionality of a creative.
  3539  	// Applicable to the following creative types: all RICH_MEDIA, and all
  3540  	// VPAID.
  3541  	AdTagKeys []string `json:"adTagKeys,omitempty"`
  3542  
  3543  	// AdvertiserId: Advertiser ID of this creative. This is a required
  3544  	// field. Applicable to all creative types.
  3545  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  3546  
  3547  	// AllowScriptAccess: Whether script access is allowed for this
  3548  	// creative. This is a read-only and deprecated field which will
  3549  	// automatically be set to true on update. Applicable to the following
  3550  	// creative types: FLASH_INPAGE.
  3551  	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
  3552  
  3553  	// Archived: Whether the creative is archived. Applicable to all
  3554  	// creative types.
  3555  	Archived bool `json:"archived,omitempty"`
  3556  
  3557  	// ArtworkType: Type of artwork used for the creative. This is a
  3558  	// read-only field. Applicable to the following creative types: all
  3559  	// RICH_MEDIA, and all VPAID.
  3560  	//
  3561  	// Possible values:
  3562  	//   "ARTWORK_TYPE_FLASH"
  3563  	//   "ARTWORK_TYPE_HTML5"
  3564  	//   "ARTWORK_TYPE_IMAGE"
  3565  	//   "ARTWORK_TYPE_MIXED"
  3566  	ArtworkType string `json:"artworkType,omitempty"`
  3567  
  3568  	// AuthoringSource: Source application where creative was authored.
  3569  	// Presently, only DBM authored creatives will have this field set.
  3570  	// Applicable to all creative types.
  3571  	//
  3572  	// Possible values:
  3573  	//   "CREATIVE_AUTHORING_SOURCE_DBM"
  3574  	//   "CREATIVE_AUTHORING_SOURCE_DCM"
  3575  	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
  3576  	AuthoringSource string `json:"authoringSource,omitempty"`
  3577  
  3578  	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
  3579  	// read-only field. Applicable to the following creative types:
  3580  	// HTML5_BANNER.
  3581  	//
  3582  	// Possible values:
  3583  	//   "NINJA"
  3584  	//   "SWIFFY"
  3585  	AuthoringTool string `json:"authoringTool,omitempty"`
  3586  
  3587  	// AutoAdvanceImages: Whether images are automatically advanced for
  3588  	// image gallery creatives. Applicable to the following creative types:
  3589  	// DISPLAY_IMAGE_GALLERY.
  3590  	AutoAdvanceImages bool `json:"auto_advance_images,omitempty"`
  3591  
  3592  	// BackgroundColor: The 6-character HTML color code, beginning with #,
  3593  	// for the background of the window area where the Flash file is
  3594  	// displayed. Default is white. Applicable to the following creative
  3595  	// types: FLASH_INPAGE.
  3596  	BackgroundColor string `json:"backgroundColor,omitempty"`
  3597  
  3598  	// BackupImageClickThroughUrl: Click-through URL for backup image.
  3599  	// Applicable to the following creative types: FLASH_INPAGE, and
  3600  	// HTML5_BANNER. Applicable to DISPLAY when the primary asset type is
  3601  	// not HTML_IMAGE.
  3602  	BackupImageClickThroughUrl string `json:"backupImageClickThroughUrl,omitempty"`
  3603  
  3604  	// BackupImageFeatures: List of feature dependencies that will cause a
  3605  	// backup image to be served if the browser that serves the ad does not
  3606  	// support them. Feature dependencies are features that a browser must
  3607  	// be able to support in order to render your HTML5 creative asset
  3608  	// correctly. This field is initially auto-generated to contain all
  3609  	// features detected by DCM for all the assets of this creative and can
  3610  	// then be modified by the client. To reset this field, copy over all
  3611  	// the creativeAssets' detected features. Applicable to the following
  3612  	// creative types: HTML5_BANNER. Applicable to DISPLAY when the primary
  3613  	// asset type is not HTML_IMAGE.
  3614  	//
  3615  	// Possible values:
  3616  	//   "APPLICATION_CACHE"
  3617  	//   "AUDIO"
  3618  	//   "CANVAS"
  3619  	//   "CANVAS_TEXT"
  3620  	//   "CSS_ANIMATIONS"
  3621  	//   "CSS_BACKGROUND_SIZE"
  3622  	//   "CSS_BORDER_IMAGE"
  3623  	//   "CSS_BORDER_RADIUS"
  3624  	//   "CSS_BOX_SHADOW"
  3625  	//   "CSS_COLUMNS"
  3626  	//   "CSS_FLEX_BOX"
  3627  	//   "CSS_FONT_FACE"
  3628  	//   "CSS_GENERATED_CONTENT"
  3629  	//   "CSS_GRADIENTS"
  3630  	//   "CSS_HSLA"
  3631  	//   "CSS_MULTIPLE_BGS"
  3632  	//   "CSS_OPACITY"
  3633  	//   "CSS_REFLECTIONS"
  3634  	//   "CSS_RGBA"
  3635  	//   "CSS_TEXT_SHADOW"
  3636  	//   "CSS_TRANSFORMS"
  3637  	//   "CSS_TRANSFORMS3D"
  3638  	//   "CSS_TRANSITIONS"
  3639  	//   "DRAG_AND_DROP"
  3640  	//   "GEO_LOCATION"
  3641  	//   "HASH_CHANGE"
  3642  	//   "HISTORY"
  3643  	//   "INDEXED_DB"
  3644  	//   "INLINE_SVG"
  3645  	//   "INPUT_ATTR_AUTOCOMPLETE"
  3646  	//   "INPUT_ATTR_AUTOFOCUS"
  3647  	//   "INPUT_ATTR_LIST"
  3648  	//   "INPUT_ATTR_MAX"
  3649  	//   "INPUT_ATTR_MIN"
  3650  	//   "INPUT_ATTR_MULTIPLE"
  3651  	//   "INPUT_ATTR_PATTERN"
  3652  	//   "INPUT_ATTR_PLACEHOLDER"
  3653  	//   "INPUT_ATTR_REQUIRED"
  3654  	//   "INPUT_ATTR_STEP"
  3655  	//   "INPUT_TYPE_COLOR"
  3656  	//   "INPUT_TYPE_DATE"
  3657  	//   "INPUT_TYPE_DATETIME"
  3658  	//   "INPUT_TYPE_DATETIME_LOCAL"
  3659  	//   "INPUT_TYPE_EMAIL"
  3660  	//   "INPUT_TYPE_MONTH"
  3661  	//   "INPUT_TYPE_NUMBER"
  3662  	//   "INPUT_TYPE_RANGE"
  3663  	//   "INPUT_TYPE_SEARCH"
  3664  	//   "INPUT_TYPE_TEL"
  3665  	//   "INPUT_TYPE_TIME"
  3666  	//   "INPUT_TYPE_URL"
  3667  	//   "INPUT_TYPE_WEEK"
  3668  	//   "LOCAL_STORAGE"
  3669  	//   "POST_MESSAGE"
  3670  	//   "SESSION_STORAGE"
  3671  	//   "SMIL"
  3672  	//   "SVG_CLIP_PATHS"
  3673  	//   "SVG_FE_IMAGE"
  3674  	//   "SVG_FILTERS"
  3675  	//   "SVG_HREF"
  3676  	//   "TOUCH"
  3677  	//   "VIDEO"
  3678  	//   "WEBGL"
  3679  	//   "WEB_SOCKETS"
  3680  	//   "WEB_SQL_DATABASE"
  3681  	//   "WEB_WORKERS"
  3682  	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
  3683  
  3684  	// BackupImageReportingLabel: Reporting label used for HTML5 banner
  3685  	// backup image. Applicable to the following creative types: DISPLAY
  3686  	// when the primary asset type is not HTML_IMAGE.
  3687  	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
  3688  
  3689  	// BackupImageTargetWindow: Target window for backup image. Applicable
  3690  	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
  3691  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  3692  	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
  3693  
  3694  	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
  3695  	// HTML5_BANNER creatives, this is a subset of detected click tags for
  3696  	// the assets associated with this creative. After creating a flash
  3697  	// asset, detected click tags will be returned in the
  3698  	// creativeAssetMetadata. When inserting the creative, populate the
  3699  	// creative clickTags field using the creativeAssetMetadata.clickTags
  3700  	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
  3701  	// one entry in this list for each image creative asset. A click tag is
  3702  	// matched with a corresponding creative asset by matching the
  3703  	// clickTag.name field with the creativeAsset.assetIdentifier.name
  3704  	// field. Applicable to the following creative types:
  3705  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
  3706  	// DISPLAY when the primary asset type is not HTML_IMAGE.
  3707  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  3708  
  3709  	// CommercialId: Industry standard ID assigned to creative for reach and
  3710  	// frequency. Applicable to the following creative types: all
  3711  	// INSTREAM_VIDEO and all VPAID.
  3712  	CommercialId string `json:"commercialId,omitempty"`
  3713  
  3714  	// CompanionCreatives: List of companion creatives assigned to an
  3715  	// in-Stream videocreative. Acceptable values include IDs of existing
  3716  	// flash and image creatives. Applicable to the following creative
  3717  	// types: all VPAID and all INSTREAM_VIDEO with dynamicAssetSelection
  3718  	// set to false.
  3719  	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
  3720  
  3721  	// Compatibility: Compatibilities associated with this creative. This is
  3722  	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
  3723  	// rendering either on desktop or on mobile devices or in mobile apps
  3724  	// for regular or interstitial ads, respectively. APP and
  3725  	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
  3726  	// creatives may have these compatibilities since new creatives will
  3727  	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
  3728  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  3729  	// with the VAST standard. Applicable to all creative types.
  3730  	//
  3731  	// Acceptable values are:
  3732  	// - "APP"
  3733  	// - "APP_INTERSTITIAL"
  3734  	// - "IN_STREAM_VIDEO"
  3735  	// - "DISPLAY"
  3736  	// - "DISPLAY_INTERSTITIAL"
  3737  	//
  3738  	// Possible values:
  3739  	//   "APP"
  3740  	//   "APP_INTERSTITIAL"
  3741  	//   "DISPLAY"
  3742  	//   "DISPLAY_INTERSTITIAL"
  3743  	//   "IN_STREAM_VIDEO"
  3744  	Compatibility []string `json:"compatibility,omitempty"`
  3745  
  3746  	// ConvertFlashToHtml5: Whether Flash assets associated with the
  3747  	// creative need to be automatically converted to HTML5. This flag is
  3748  	// enabled by default and users can choose to disable it if they don't
  3749  	// want the system to generate and use HTML5 asset for this creative.
  3750  	// Applicable to the following creative type: FLASH_INPAGE. Applicable
  3751  	// to DISPLAY when the primary asset type is not HTML_IMAGE.
  3752  	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
  3753  
  3754  	// CounterCustomEvents: List of counter events configured for the
  3755  	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
  3756  	// and auto-generated from clickTags. Applicable to the following
  3757  	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  3758  	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
  3759  
  3760  	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
  3761  	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
  3762  
  3763  	// CreativeAssets: Assets associated with a creative. Applicable to all
  3764  	// but the following creative types: INTERNAL_REDIRECT,
  3765  	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
  3766  	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
  3767  
  3768  	// CreativeFieldAssignments: Creative field assignments for this
  3769  	// creative. Applicable to all creative types.
  3770  	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
  3771  
  3772  	// CustomKeyValues: Custom key-values for a Rich Media creative.
  3773  	// Key-values let you customize the creative settings of a Rich Media ad
  3774  	// running on your site without having to contact the advertiser. You
  3775  	// can use key-values to dynamically change the look or functionality of
  3776  	// a creative. Applicable to the following creative types: all
  3777  	// RICH_MEDIA, and all VPAID.
  3778  	CustomKeyValues []string `json:"customKeyValues,omitempty"`
  3779  
  3780  	// DynamicAssetSelection: Set this to true to enable the use of rules to
  3781  	// target individual assets in this creative. When set to true
  3782  	// creativeAssetSelection must be set. This also controls asset-level
  3783  	// companions. When this is true, companion creatives should be assigned
  3784  	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
  3785  	// creatives.
  3786  	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
  3787  
  3788  	// ExitCustomEvents: List of exit events configured for the creative.
  3789  	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
  3790  	// and auto-generated from clickTags, For DISPLAY, an event is also
  3791  	// created from the backupImageReportingLabel. Applicable to the
  3792  	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
  3793  	// all VPAID. Applicable to DISPLAY when the primary asset type is not
  3794  	// HTML_IMAGE.
  3795  	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
  3796  
  3797  	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
  3798  	// file communicate with either Flash Player or the program hosting
  3799  	// Flash Player, such as a web browser. This is only triggered if
  3800  	// allowScriptAccess field is true. Applicable to the following creative
  3801  	// types: FLASH_INPAGE.
  3802  	FsCommand *FsCommand `json:"fsCommand,omitempty"`
  3803  
  3804  	// HtmlCode: HTML code for the creative. This is a required field when
  3805  	// applicable. This field is ignored if htmlCodeLocked is true.
  3806  	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
  3807  	// and HTML5_BANNER, and all RICH_MEDIA.
  3808  	HtmlCode string `json:"htmlCode,omitempty"`
  3809  
  3810  	// HtmlCodeLocked: Whether HTML code is DCM-generated or manually
  3811  	// entered. Set to true to ignore changes to htmlCode. Applicable to the
  3812  	// following creative types: FLASH_INPAGE and HTML5_BANNER.
  3813  	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
  3814  
  3815  	// Id: ID of this creative. This is a read-only, auto-generated field.
  3816  	// Applicable to all creative types.
  3817  	Id int64 `json:"id,omitempty,string"`
  3818  
  3819  	// IdDimensionValue: Dimension value for the ID of this creative. This
  3820  	// is a read-only field. Applicable to all creative types.
  3821  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  3822  
  3823  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3824  	// string "dfareporting#creative".
  3825  	Kind string `json:"kind,omitempty"`
  3826  
  3827  	// LastModifiedInfo: Creative last modification information. This is a
  3828  	// read-only field. Applicable to all creative types.
  3829  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  3830  
  3831  	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
  3832  	// associated with rich media and VPAID creatives. This is a read-only
  3833  	// field. Applicable to the following creative types: all RICH_MEDIA,
  3834  	// and all VPAID.
  3835  	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
  3836  
  3837  	// Name: Name of the creative. This is a required field and must be less
  3838  	// than 256 characters long. Applicable to all creative types.
  3839  	Name string `json:"name,omitempty"`
  3840  
  3841  	// OverrideCss: Override CSS value for rich media creatives. Applicable
  3842  	// to the following creative types: all RICH_MEDIA.
  3843  	OverrideCss string `json:"overrideCss,omitempty"`
  3844  
  3845  	// ProgressOffset: Amount of time to play the video before counting a
  3846  	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
  3847  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
  3848  
  3849  	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
  3850  	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
  3851  	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
  3852  	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
  3853  	// This is a required field when applicable. Applicable to the following
  3854  	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
  3855  	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
  3856  	RedirectUrl string `json:"redirectUrl,omitempty"`
  3857  
  3858  	// RenderingId: ID of current rendering version. This is a read-only
  3859  	// field. Applicable to all creative types.
  3860  	RenderingId int64 `json:"renderingId,omitempty,string"`
  3861  
  3862  	// RenderingIdDimensionValue: Dimension value for the rendering ID of
  3863  	// this creative. This is a read-only field. Applicable to all creative
  3864  	// types.
  3865  	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
  3866  
  3867  	// RequiredFlashPluginVersion: The minimum required Flash plugin version
  3868  	// for this creative. For example, 11.2.202.235. This is a read-only
  3869  	// field. Applicable to the following creative types: all RICH_MEDIA,
  3870  	// and all VPAID.
  3871  	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
  3872  
  3873  	// RequiredFlashVersion: The internal Flash version for this creative as
  3874  	// calculated by DoubleClick Studio. This is a read-only field.
  3875  	// Applicable to the following creative types: FLASH_INPAGE all
  3876  	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
  3877  	// asset type is not HTML_IMAGE.
  3878  	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
  3879  
  3880  	// Size: Size associated with this creative. When inserting or updating
  3881  	// a creative either the size ID field or size width and height fields
  3882  	// can be used. This is a required field when applicable; however for
  3883  	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
  3884  	// primary asset of type HTML_IMAGE, if left blank, this field will be
  3885  	// automatically set using the actual size of the associated image
  3886  	// assets. Applicable to the following creative types: DISPLAY,
  3887  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
  3888  	// RICH_MEDIA.
  3889  	Size *Size `json:"size,omitempty"`
  3890  
  3891  	// SkipOffset: Amount of time to play the video before the skip button
  3892  	// appears. Applicable to the following creative types: all
  3893  	// INSTREAM_VIDEO.
  3894  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
  3895  
  3896  	// Skippable: Whether the user can choose to skip the creative.
  3897  	// Applicable to the following creative types: all INSTREAM_VIDEO and
  3898  	// all VPAID.
  3899  	Skippable bool `json:"skippable,omitempty"`
  3900  
  3901  	// SslCompliant: Whether the creative is SSL-compliant. This is a
  3902  	// read-only field. Applicable to all creative types.
  3903  	SslCompliant bool `json:"sslCompliant,omitempty"`
  3904  
  3905  	// SslOverride: Whether creative should be treated as SSL compliant even
  3906  	// if the system scan shows it's not. Applicable to all creative types.
  3907  	SslOverride bool `json:"sslOverride,omitempty"`
  3908  
  3909  	// StudioAdvertiserId: Studio advertiser ID associated with rich media
  3910  	// and VPAID creatives. This is a read-only field. Applicable to the
  3911  	// following creative types: all RICH_MEDIA, and all VPAID.
  3912  	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
  3913  
  3914  	// StudioCreativeId: Studio creative ID associated with rich media and
  3915  	// VPAID creatives. This is a read-only field. Applicable to the
  3916  	// following creative types: all RICH_MEDIA, and all VPAID.
  3917  	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
  3918  
  3919  	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
  3920  	// with rich media and VPAID creatives. This is a read-only field.
  3921  	// Applicable to the following creative types: all RICH_MEDIA, and all
  3922  	// VPAID.
  3923  	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
  3924  
  3925  	// SubaccountId: Subaccount ID of this creative. This field, if left
  3926  	// unset, will be auto-generated for both insert and update operations.
  3927  	// Applicable to all creative types.
  3928  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  3929  
  3930  	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
  3931  	// backup image impressions. Applicable to the following creative types:
  3932  	// all RICH_MEDIA.
  3933  	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
  3934  
  3935  	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
  3936  	// rich media impressions. Applicable to the following creative types:
  3937  	// all RICH_MEDIA.
  3938  	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
  3939  
  3940  	// ThirdPartyUrls: Third-party URLs for tracking in-stream video
  3941  	// creative events. Applicable to the following creative types: all
  3942  	// INSTREAM_VIDEO and all VPAID.
  3943  	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
  3944  
  3945  	// TimerCustomEvents: List of timer events configured for the creative.
  3946  	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
  3947  	// auto-generated from clickTags. Applicable to the following creative
  3948  	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  3949  	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
  3950  	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
  3951  
  3952  	// TotalFileSize: Combined size of all creative assets. This is a
  3953  	// read-only field. Applicable to the following creative types: all
  3954  	// RICH_MEDIA, and all VPAID.
  3955  	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
  3956  
  3957  	// Type: Type of this creative. This is a required field. Applicable to
  3958  	// all creative types.
  3959  	//
  3960  	// Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for
  3961  	// existing creatives. New creatives should use DISPLAY as a replacement
  3962  	// for these types.
  3963  	//
  3964  	// Possible values:
  3965  	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
  3966  	//   "CUSTOM_DISPLAY"
  3967  	//   "CUSTOM_DISPLAY_INTERSTITIAL"
  3968  	//   "DISPLAY"
  3969  	//   "DISPLAY_IMAGE_GALLERY"
  3970  	//   "DISPLAY_REDIRECT"
  3971  	//   "FLASH_INPAGE"
  3972  	//   "HTML5_BANNER"
  3973  	//   "IMAGE"
  3974  	//   "INSTREAM_VIDEO"
  3975  	//   "INSTREAM_VIDEO_REDIRECT"
  3976  	//   "INTERNAL_REDIRECT"
  3977  	//   "INTERSTITIAL_INTERNAL_REDIRECT"
  3978  	//   "RICH_MEDIA_DISPLAY_BANNER"
  3979  	//   "RICH_MEDIA_DISPLAY_EXPANDING"
  3980  	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
  3981  	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
  3982  	//   "RICH_MEDIA_IM_EXPAND"
  3983  	//   "RICH_MEDIA_INPAGE_FLOATING"
  3984  	//   "RICH_MEDIA_MOBILE_IN_APP"
  3985  	//   "RICH_MEDIA_PEEL_DOWN"
  3986  	//   "TRACKING_TEXT"
  3987  	//   "VPAID_LINEAR_VIDEO"
  3988  	//   "VPAID_NON_LINEAR_VIDEO"
  3989  	Type string `json:"type,omitempty"`
  3990  
  3991  	// Version: The version number helps you keep track of multiple versions
  3992  	// of your creative in your reports. The version number will always be
  3993  	// auto-generated during insert operations to start at 1. For tracking
  3994  	// creatives the version cannot be incremented and will always remain at
  3995  	// 1. For all other creative types the version can be incremented only
  3996  	// by 1 during update operations. In addition, the version will be
  3997  	// automatically incremented by 1 when undergoing Rich Media creative
  3998  	// merging. Applicable to all creative types.
  3999  	Version int64 `json:"version,omitempty"`
  4000  
  4001  	// VideoDescription: Description of the video ad. Applicable to the
  4002  	// following creative types: all INSTREAM_VIDEO and all VPAID.
  4003  	VideoDescription string `json:"videoDescription,omitempty"`
  4004  
  4005  	// VideoDuration: Creative video duration in seconds. This is a
  4006  	// read-only field. Applicable to the following creative types:
  4007  	// INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
  4008  	VideoDuration float64 `json:"videoDuration,omitempty"`
  4009  
  4010  	// ServerResponse contains the HTTP response code and headers from the
  4011  	// server.
  4012  	googleapi.ServerResponse `json:"-"`
  4013  
  4014  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  4015  	// unconditionally include in API requests. By default, fields with
  4016  	// empty values are omitted from API requests. However, any non-pointer,
  4017  	// non-interface field appearing in ForceSendFields will be sent to the
  4018  	// server regardless of whether the field is empty or not. This may be
  4019  	// used to include empty fields in Patch requests.
  4020  	ForceSendFields []string `json:"-"`
  4021  
  4022  	// NullFields is a list of field names (e.g. "AccountId") to include in
  4023  	// API requests with the JSON null value. By default, fields with empty
  4024  	// values are omitted from API requests. However, any field with an
  4025  	// empty value appearing in NullFields will be sent to the server as
  4026  	// null. It is an error if a field in this list has a non-empty value.
  4027  	// This may be used to include null fields in Patch requests.
  4028  	NullFields []string `json:"-"`
  4029  }
  4030  
  4031  func (s *Creative) MarshalJSON() ([]byte, error) {
  4032  	type NoMethod Creative
  4033  	raw := NoMethod(*s)
  4034  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4035  }
  4036  
  4037  func (s *Creative) UnmarshalJSON(data []byte) error {
  4038  	type NoMethod Creative
  4039  	var s1 struct {
  4040  		VideoDuration gensupport.JSONFloat64 `json:"videoDuration"`
  4041  		*NoMethod
  4042  	}
  4043  	s1.NoMethod = (*NoMethod)(s)
  4044  	if err := json.Unmarshal(data, &s1); err != nil {
  4045  		return err
  4046  	}
  4047  	s.VideoDuration = float64(s1.VideoDuration)
  4048  	return nil
  4049  }
  4050  
  4051  // CreativeAsset: Creative Asset.
  4052  type CreativeAsset struct {
  4053  	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
  4054  	// This is a read-only field. Applicable to the following creative type:
  4055  	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
  4056  	// not HTML_IMAGE.
  4057  	ActionScript3 bool `json:"actionScript3,omitempty"`
  4058  
  4059  	// Active: Whether the video asset is active. This is a read-only field
  4060  	// for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following
  4061  	// creative types: INSTREAM_VIDEO and all VPAID.
  4062  	Active bool `json:"active,omitempty"`
  4063  
  4064  	// Alignment: Possible alignments for an asset. This is a read-only
  4065  	// field. Applicable to the following creative types:
  4066  	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
  4067  	//
  4068  	// Possible values:
  4069  	//   "ALIGNMENT_BOTTOM"
  4070  	//   "ALIGNMENT_LEFT"
  4071  	//   "ALIGNMENT_RIGHT"
  4072  	//   "ALIGNMENT_TOP"
  4073  	Alignment string `json:"alignment,omitempty"`
  4074  
  4075  	// ArtworkType: Artwork type of rich media creative. This is a read-only
  4076  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4077  	//
  4078  	// Possible values:
  4079  	//   "ARTWORK_TYPE_FLASH"
  4080  	//   "ARTWORK_TYPE_HTML5"
  4081  	//   "ARTWORK_TYPE_IMAGE"
  4082  	//   "ARTWORK_TYPE_MIXED"
  4083  	ArtworkType string `json:"artworkType,omitempty"`
  4084  
  4085  	// AssetIdentifier: Identifier of this asset. This is the same
  4086  	// identifier returned during creative asset insert operation. This is a
  4087  	// required field. Applicable to all but the following creative types:
  4088  	// all REDIRECT and TRACKING_TEXT.
  4089  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4090  
  4091  	// BackupImageExit: Exit event configured for the backup image.
  4092  	// Applicable to the following creative types: all RICH_MEDIA.
  4093  	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
  4094  
  4095  	// BitRate: Detected bit-rate for video asset. This is a read-only
  4096  	// field. Applicable to the following creative types: INSTREAM_VIDEO and
  4097  	// all VPAID.
  4098  	BitRate int64 `json:"bitRate,omitempty"`
  4099  
  4100  	// ChildAssetType: Rich media child asset type. This is a read-only
  4101  	// field. Applicable to the following creative types: all VPAID.
  4102  	//
  4103  	// Possible values:
  4104  	//   "CHILD_ASSET_TYPE_DATA"
  4105  	//   "CHILD_ASSET_TYPE_FLASH"
  4106  	//   "CHILD_ASSET_TYPE_IMAGE"
  4107  	//   "CHILD_ASSET_TYPE_VIDEO"
  4108  	ChildAssetType string `json:"childAssetType,omitempty"`
  4109  
  4110  	// CollapsedSize: Size of an asset when collapsed. This is a read-only
  4111  	// field. Applicable to the following creative types: all RICH_MEDIA and
  4112  	// all VPAID. Additionally, applicable to assets whose displayType is
  4113  	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4114  	CollapsedSize *Size `json:"collapsedSize,omitempty"`
  4115  
  4116  	// CompanionCreativeIds: List of companion creatives assigned to an
  4117  	// in-stream video creative asset. Acceptable values include IDs of
  4118  	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
  4119  	// creative type with dynamicAssetSelection set to true.
  4120  	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
  4121  
  4122  	// CustomStartTimeValue: Custom start time in seconds for making the
  4123  	// asset visible. Applicable to the following creative types: all
  4124  	// RICH_MEDIA. Value must be greater than or equal to 0.
  4125  	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
  4126  
  4127  	// DetectedFeatures: List of feature dependencies for the creative asset
  4128  	// that are detected by DCM. Feature dependencies are features that a
  4129  	// browser must be able to support in order to render your HTML5
  4130  	// creative correctly. This is a read-only, auto-generated field.
  4131  	// Applicable to the following creative types: HTML5_BANNER. Applicable
  4132  	// to DISPLAY when the primary asset type is not HTML_IMAGE.
  4133  	//
  4134  	// Possible values:
  4135  	//   "APPLICATION_CACHE"
  4136  	//   "AUDIO"
  4137  	//   "CANVAS"
  4138  	//   "CANVAS_TEXT"
  4139  	//   "CSS_ANIMATIONS"
  4140  	//   "CSS_BACKGROUND_SIZE"
  4141  	//   "CSS_BORDER_IMAGE"
  4142  	//   "CSS_BORDER_RADIUS"
  4143  	//   "CSS_BOX_SHADOW"
  4144  	//   "CSS_COLUMNS"
  4145  	//   "CSS_FLEX_BOX"
  4146  	//   "CSS_FONT_FACE"
  4147  	//   "CSS_GENERATED_CONTENT"
  4148  	//   "CSS_GRADIENTS"
  4149  	//   "CSS_HSLA"
  4150  	//   "CSS_MULTIPLE_BGS"
  4151  	//   "CSS_OPACITY"
  4152  	//   "CSS_REFLECTIONS"
  4153  	//   "CSS_RGBA"
  4154  	//   "CSS_TEXT_SHADOW"
  4155  	//   "CSS_TRANSFORMS"
  4156  	//   "CSS_TRANSFORMS3D"
  4157  	//   "CSS_TRANSITIONS"
  4158  	//   "DRAG_AND_DROP"
  4159  	//   "GEO_LOCATION"
  4160  	//   "HASH_CHANGE"
  4161  	//   "HISTORY"
  4162  	//   "INDEXED_DB"
  4163  	//   "INLINE_SVG"
  4164  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4165  	//   "INPUT_ATTR_AUTOFOCUS"
  4166  	//   "INPUT_ATTR_LIST"
  4167  	//   "INPUT_ATTR_MAX"
  4168  	//   "INPUT_ATTR_MIN"
  4169  	//   "INPUT_ATTR_MULTIPLE"
  4170  	//   "INPUT_ATTR_PATTERN"
  4171  	//   "INPUT_ATTR_PLACEHOLDER"
  4172  	//   "INPUT_ATTR_REQUIRED"
  4173  	//   "INPUT_ATTR_STEP"
  4174  	//   "INPUT_TYPE_COLOR"
  4175  	//   "INPUT_TYPE_DATE"
  4176  	//   "INPUT_TYPE_DATETIME"
  4177  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4178  	//   "INPUT_TYPE_EMAIL"
  4179  	//   "INPUT_TYPE_MONTH"
  4180  	//   "INPUT_TYPE_NUMBER"
  4181  	//   "INPUT_TYPE_RANGE"
  4182  	//   "INPUT_TYPE_SEARCH"
  4183  	//   "INPUT_TYPE_TEL"
  4184  	//   "INPUT_TYPE_TIME"
  4185  	//   "INPUT_TYPE_URL"
  4186  	//   "INPUT_TYPE_WEEK"
  4187  	//   "LOCAL_STORAGE"
  4188  	//   "POST_MESSAGE"
  4189  	//   "SESSION_STORAGE"
  4190  	//   "SMIL"
  4191  	//   "SVG_CLIP_PATHS"
  4192  	//   "SVG_FE_IMAGE"
  4193  	//   "SVG_FILTERS"
  4194  	//   "SVG_HREF"
  4195  	//   "TOUCH"
  4196  	//   "VIDEO"
  4197  	//   "WEBGL"
  4198  	//   "WEB_SOCKETS"
  4199  	//   "WEB_SQL_DATABASE"
  4200  	//   "WEB_WORKERS"
  4201  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4202  
  4203  	// DisplayType: Type of rich media asset. This is a read-only field.
  4204  	// Applicable to the following creative types: all RICH_MEDIA.
  4205  	//
  4206  	// Possible values:
  4207  	//   "ASSET_DISPLAY_TYPE_BACKDROP"
  4208  	//   "ASSET_DISPLAY_TYPE_EXPANDING"
  4209  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
  4210  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
  4211  	//   "ASSET_DISPLAY_TYPE_FLOATING"
  4212  	//   "ASSET_DISPLAY_TYPE_INPAGE"
  4213  	//   "ASSET_DISPLAY_TYPE_OVERLAY"
  4214  	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
  4215  	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
  4216  	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
  4217  	DisplayType string `json:"displayType,omitempty"`
  4218  
  4219  	// Duration: Duration in seconds for which an asset will be displayed.
  4220  	// Applicable to the following creative types: INSTREAM_VIDEO and
  4221  	// VPAID_LINEAR_VIDEO. Value must be greater than or equal to 1.
  4222  	Duration int64 `json:"duration,omitempty"`
  4223  
  4224  	// DurationType: Duration type for which an asset will be displayed.
  4225  	// Applicable to the following creative types: all RICH_MEDIA.
  4226  	//
  4227  	// Possible values:
  4228  	//   "ASSET_DURATION_TYPE_AUTO"
  4229  	//   "ASSET_DURATION_TYPE_CUSTOM"
  4230  	//   "ASSET_DURATION_TYPE_NONE"
  4231  	DurationType string `json:"durationType,omitempty"`
  4232  
  4233  	// ExpandedDimension: Detected expanded dimension for video asset. This
  4234  	// is a read-only field. Applicable to the following creative types:
  4235  	// INSTREAM_VIDEO and all VPAID.
  4236  	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
  4237  
  4238  	// FileSize: File size associated with this creative asset. This is a
  4239  	// read-only field. Applicable to all but the following creative types:
  4240  	// all REDIRECT and TRACKING_TEXT.
  4241  	FileSize int64 `json:"fileSize,omitempty,string"`
  4242  
  4243  	// FlashVersion: Flash version of the asset. This is a read-only field.
  4244  	// Applicable to the following creative types: FLASH_INPAGE, all
  4245  	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
  4246  	// asset type is not HTML_IMAGE.
  4247  	FlashVersion int64 `json:"flashVersion,omitempty"`
  4248  
  4249  	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
  4250  	// Applicable to the following creative types: all RICH_MEDIA.
  4251  	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
  4252  
  4253  	// HideSelectionBoxes: Whether to hide selection boxes flag for an
  4254  	// asset. Applicable to the following creative types: all RICH_MEDIA.
  4255  	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
  4256  
  4257  	// HorizontallyLocked: Whether the asset is horizontally locked. This is
  4258  	// a read-only field. Applicable to the following creative types: all
  4259  	// RICH_MEDIA.
  4260  	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
  4261  
  4262  	// Id: Numeric ID of this creative asset. This is a required field and
  4263  	// should not be modified. Applicable to all but the following creative
  4264  	// types: all REDIRECT and TRACKING_TEXT.
  4265  	Id int64 `json:"id,omitempty,string"`
  4266  
  4267  	// IdDimensionValue: Dimension value for the ID of the asset. This is a
  4268  	// read-only, auto-generated field.
  4269  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4270  
  4271  	// MimeType: Detected MIME type for video asset. This is a read-only
  4272  	// field. Applicable to the following creative types: INSTREAM_VIDEO and
  4273  	// all VPAID.
  4274  	MimeType string `json:"mimeType,omitempty"`
  4275  
  4276  	// Offset: Offset position for an asset in collapsed mode. This is a
  4277  	// read-only field. Applicable to the following creative types: all
  4278  	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
  4279  	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
  4280  	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4281  	Offset *OffsetPosition `json:"offset,omitempty"`
  4282  
  4283  	// OriginalBackup: Whether the backup asset is original or changed by
  4284  	// the user in DCM. Applicable to the following creative types: all
  4285  	// RICH_MEDIA.
  4286  	OriginalBackup bool `json:"originalBackup,omitempty"`
  4287  
  4288  	// Position: Offset position for an asset. Applicable to the following
  4289  	// creative types: all RICH_MEDIA.
  4290  	Position *OffsetPosition `json:"position,omitempty"`
  4291  
  4292  	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
  4293  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4294  	//
  4295  	// Possible values:
  4296  	//   "OFFSET_UNIT_PERCENT"
  4297  	//   "OFFSET_UNIT_PIXEL"
  4298  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4299  	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
  4300  
  4301  	// PositionTopUnit: Offset top unit for an asset. This is a read-only
  4302  	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
  4303  	// Applicable to the following creative types: all RICH_MEDIA.
  4304  	//
  4305  	// Possible values:
  4306  	//   "OFFSET_UNIT_PERCENT"
  4307  	//   "OFFSET_UNIT_PIXEL"
  4308  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4309  	PositionTopUnit string `json:"positionTopUnit,omitempty"`
  4310  
  4311  	// ProgressiveServingUrl: Progressive URL for video asset. This is a
  4312  	// read-only field. Applicable to the following creative types:
  4313  	// INSTREAM_VIDEO and all VPAID.
  4314  	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
  4315  
  4316  	// Pushdown: Whether the asset pushes down other content. Applicable to
  4317  	// the following creative types: all RICH_MEDIA. Additionally, only
  4318  	// applicable when the asset offsets are 0, the collapsedSize.width
  4319  	// matches size.width, and the collapsedSize.height is less than
  4320  	// size.height.
  4321  	Pushdown bool `json:"pushdown,omitempty"`
  4322  
  4323  	// PushdownDuration: Pushdown duration in seconds for an asset.
  4324  	// Applicable to the following creative types: all
  4325  	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
  4326  	// field is true, the offsets are 0, the collapsedSize.width matches
  4327  	// size.width, and the collapsedSize.height is less than size.height.
  4328  	// Acceptable values are 0 to 9.99, inclusive.
  4329  	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
  4330  
  4331  	// Role: Role of the asset in relation to creative. Applicable to all
  4332  	// but the following creative types: all REDIRECT and TRACKING_TEXT.
  4333  	// This is a required field.
  4334  	// PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE,
  4335  	// DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple
  4336  	// primary assets), and all VPAID creatives.
  4337  	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
  4338  	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
  4339  	// type is not HTML_IMAGE.
  4340  	// ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE
  4341  	// creatives.
  4342  	// OTHER refers to assets from sources other than DCM, such as Studio
  4343  	// uploaded assets, applicable to all RICH_MEDIA and all VPAID
  4344  	// creatives.
  4345  	// PARENT_VIDEO refers to videos uploaded by the user in DCM and is
  4346  	// applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
  4347  	// creatives.
  4348  	// TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO
  4349  	// assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
  4350  	// creatives.
  4351  	// ALTERNATE_VIDEO refers to the DCM representation of child asset
  4352  	// videos from Studio, and is applicable to VPAID_LINEAR_VIDEO
  4353  	// creatives. These cannot be added or removed within DCM.
  4354  	// For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and
  4355  	// ALTERNATE_VIDEO assets that are marked active serve as backup in case
  4356  	// the VPAID creative cannot be served. Only PARENT_VIDEO assets can be
  4357  	// added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
  4358  	// creative.
  4359  	//
  4360  	// Possible values:
  4361  	//   "ADDITIONAL_FLASH"
  4362  	//   "ADDITIONAL_IMAGE"
  4363  	//   "ALTERNATE_VIDEO"
  4364  	//   "BACKUP_IMAGE"
  4365  	//   "OTHER"
  4366  	//   "PARENT_VIDEO"
  4367  	//   "PRIMARY"
  4368  	//   "TRANSCODED_VIDEO"
  4369  	Role string `json:"role,omitempty"`
  4370  
  4371  	// Size: Size associated with this creative asset. This is a required
  4372  	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
  4373  	// if left blank, this field will be automatically set using the actual
  4374  	// size of the associated image asset. Applicable to the following
  4375  	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
  4376  	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
  4377  	// asset type is not HTML_IMAGE.
  4378  	Size *Size `json:"size,omitempty"`
  4379  
  4380  	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
  4381  	// field. Applicable to all but the following creative types: all
  4382  	// REDIRECT and TRACKING_TEXT.
  4383  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4384  
  4385  	// StartTimeType: Initial wait time type before making the asset
  4386  	// visible. Applicable to the following creative types: all RICH_MEDIA.
  4387  	//
  4388  	// Possible values:
  4389  	//   "ASSET_START_TIME_TYPE_CUSTOM"
  4390  	//   "ASSET_START_TIME_TYPE_NONE"
  4391  	StartTimeType string `json:"startTimeType,omitempty"`
  4392  
  4393  	// StreamingServingUrl: Streaming URL for video asset. This is a
  4394  	// read-only field. Applicable to the following creative types:
  4395  	// INSTREAM_VIDEO and all VPAID.
  4396  	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
  4397  
  4398  	// Transparency: Whether the asset is transparent. Applicable to the
  4399  	// following creative types: all RICH_MEDIA. Additionally, only
  4400  	// applicable to HTML5 assets.
  4401  	Transparency bool `json:"transparency,omitempty"`
  4402  
  4403  	// VerticallyLocked: Whether the asset is vertically locked. This is a
  4404  	// read-only field. Applicable to the following creative types: all
  4405  	// RICH_MEDIA.
  4406  	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
  4407  
  4408  	// VideoDuration: Detected video duration for video asset. This is a
  4409  	// read-only field. Applicable to the following creative types:
  4410  	// INSTREAM_VIDEO and all VPAID.
  4411  	VideoDuration float64 `json:"videoDuration,omitempty"`
  4412  
  4413  	// WindowMode: Window mode options for flash assets. Applicable to the
  4414  	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
  4415  	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
  4416  	// RICH_MEDIA_INPAGE_FLOATING.
  4417  	//
  4418  	// Possible values:
  4419  	//   "OPAQUE"
  4420  	//   "TRANSPARENT"
  4421  	//   "WINDOW"
  4422  	WindowMode string `json:"windowMode,omitempty"`
  4423  
  4424  	// ZIndex: zIndex value of an asset. Applicable to the following
  4425  	// creative types: all RICH_MEDIA.Additionally, only applicable to
  4426  	// assets whose displayType is NOT one of the following types:
  4427  	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
  4428  	// values are -999999999 to 999999999, inclusive.
  4429  	ZIndex int64 `json:"zIndex,omitempty"`
  4430  
  4431  	// ZipFilename: File name of zip file. This is a read-only field.
  4432  	// Applicable to the following creative types: HTML5_BANNER.
  4433  	ZipFilename string `json:"zipFilename,omitempty"`
  4434  
  4435  	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
  4436  	// to the following creative types: HTML5_BANNER.
  4437  	ZipFilesize string `json:"zipFilesize,omitempty"`
  4438  
  4439  	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
  4440  	// unconditionally include in API requests. By default, fields with
  4441  	// empty values are omitted from API requests. However, any non-pointer,
  4442  	// non-interface field appearing in ForceSendFields will be sent to the
  4443  	// server regardless of whether the field is empty or not. This may be
  4444  	// used to include empty fields in Patch requests.
  4445  	ForceSendFields []string `json:"-"`
  4446  
  4447  	// NullFields is a list of field names (e.g. "ActionScript3") to include
  4448  	// in API requests with the JSON null value. By default, fields with
  4449  	// empty values are omitted from API requests. However, any field with
  4450  	// an empty value appearing in NullFields will be sent to the server as
  4451  	// null. It is an error if a field in this list has a non-empty value.
  4452  	// This may be used to include null fields in Patch requests.
  4453  	NullFields []string `json:"-"`
  4454  }
  4455  
  4456  func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
  4457  	type NoMethod CreativeAsset
  4458  	raw := NoMethod(*s)
  4459  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4460  }
  4461  
  4462  func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
  4463  	type NoMethod CreativeAsset
  4464  	var s1 struct {
  4465  		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
  4466  		VideoDuration    gensupport.JSONFloat64 `json:"videoDuration"`
  4467  		*NoMethod
  4468  	}
  4469  	s1.NoMethod = (*NoMethod)(s)
  4470  	if err := json.Unmarshal(data, &s1); err != nil {
  4471  		return err
  4472  	}
  4473  	s.PushdownDuration = float64(s1.PushdownDuration)
  4474  	s.VideoDuration = float64(s1.VideoDuration)
  4475  	return nil
  4476  }
  4477  
  4478  // CreativeAssetId: Creative Asset ID.
  4479  type CreativeAssetId struct {
  4480  	// Name: Name of the creative asset. This is a required field while
  4481  	// inserting an asset. After insertion, this assetIdentifier is used to
  4482  	// identify the uploaded asset. Characters in the name must be
  4483  	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
  4484  	Name string `json:"name,omitempty"`
  4485  
  4486  	// Type: Type of asset to upload. This is a required field. FLASH and
  4487  	// IMAGE are no longer supported for new uploads. All image assets
  4488  	// should use HTML_IMAGE.
  4489  	//
  4490  	// Possible values:
  4491  	//   "FLASH"
  4492  	//   "HTML"
  4493  	//   "HTML_IMAGE"
  4494  	//   "IMAGE"
  4495  	//   "VIDEO"
  4496  	Type string `json:"type,omitempty"`
  4497  
  4498  	// ForceSendFields is a list of field names (e.g. "Name") to
  4499  	// unconditionally include in API requests. By default, fields with
  4500  	// empty values are omitted from API requests. However, any non-pointer,
  4501  	// non-interface field appearing in ForceSendFields will be sent to the
  4502  	// server regardless of whether the field is empty or not. This may be
  4503  	// used to include empty fields in Patch requests.
  4504  	ForceSendFields []string `json:"-"`
  4505  
  4506  	// NullFields is a list of field names (e.g. "Name") to include in API
  4507  	// requests with the JSON null value. By default, fields with empty
  4508  	// values are omitted from API requests. However, any field with an
  4509  	// empty value appearing in NullFields will be sent to the server as
  4510  	// null. It is an error if a field in this list has a non-empty value.
  4511  	// This may be used to include null fields in Patch requests.
  4512  	NullFields []string `json:"-"`
  4513  }
  4514  
  4515  func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
  4516  	type NoMethod CreativeAssetId
  4517  	raw := NoMethod(*s)
  4518  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4519  }
  4520  
  4521  // CreativeAssetMetadata: CreativeAssets contains properties of a
  4522  // creative asset file which will be uploaded or has already been
  4523  // uploaded. Refer to the creative sample code for how to upload assets
  4524  // and insert a creative.
  4525  type CreativeAssetMetadata struct {
  4526  	// AssetIdentifier: ID of the creative asset. This is a required field.
  4527  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4528  
  4529  	// ClickTags: List of detected click tags for assets. This is a
  4530  	// read-only auto-generated field.
  4531  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  4532  
  4533  	// DetectedFeatures: List of feature dependencies for the creative asset
  4534  	// that are detected by DCM. Feature dependencies are features that a
  4535  	// browser must be able to support in order to render your HTML5
  4536  	// creative correctly. This is a read-only, auto-generated field.
  4537  	//
  4538  	// Possible values:
  4539  	//   "APPLICATION_CACHE"
  4540  	//   "AUDIO"
  4541  	//   "CANVAS"
  4542  	//   "CANVAS_TEXT"
  4543  	//   "CSS_ANIMATIONS"
  4544  	//   "CSS_BACKGROUND_SIZE"
  4545  	//   "CSS_BORDER_IMAGE"
  4546  	//   "CSS_BORDER_RADIUS"
  4547  	//   "CSS_BOX_SHADOW"
  4548  	//   "CSS_COLUMNS"
  4549  	//   "CSS_FLEX_BOX"
  4550  	//   "CSS_FONT_FACE"
  4551  	//   "CSS_GENERATED_CONTENT"
  4552  	//   "CSS_GRADIENTS"
  4553  	//   "CSS_HSLA"
  4554  	//   "CSS_MULTIPLE_BGS"
  4555  	//   "CSS_OPACITY"
  4556  	//   "CSS_REFLECTIONS"
  4557  	//   "CSS_RGBA"
  4558  	//   "CSS_TEXT_SHADOW"
  4559  	//   "CSS_TRANSFORMS"
  4560  	//   "CSS_TRANSFORMS3D"
  4561  	//   "CSS_TRANSITIONS"
  4562  	//   "DRAG_AND_DROP"
  4563  	//   "GEO_LOCATION"
  4564  	//   "HASH_CHANGE"
  4565  	//   "HISTORY"
  4566  	//   "INDEXED_DB"
  4567  	//   "INLINE_SVG"
  4568  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4569  	//   "INPUT_ATTR_AUTOFOCUS"
  4570  	//   "INPUT_ATTR_LIST"
  4571  	//   "INPUT_ATTR_MAX"
  4572  	//   "INPUT_ATTR_MIN"
  4573  	//   "INPUT_ATTR_MULTIPLE"
  4574  	//   "INPUT_ATTR_PATTERN"
  4575  	//   "INPUT_ATTR_PLACEHOLDER"
  4576  	//   "INPUT_ATTR_REQUIRED"
  4577  	//   "INPUT_ATTR_STEP"
  4578  	//   "INPUT_TYPE_COLOR"
  4579  	//   "INPUT_TYPE_DATE"
  4580  	//   "INPUT_TYPE_DATETIME"
  4581  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4582  	//   "INPUT_TYPE_EMAIL"
  4583  	//   "INPUT_TYPE_MONTH"
  4584  	//   "INPUT_TYPE_NUMBER"
  4585  	//   "INPUT_TYPE_RANGE"
  4586  	//   "INPUT_TYPE_SEARCH"
  4587  	//   "INPUT_TYPE_TEL"
  4588  	//   "INPUT_TYPE_TIME"
  4589  	//   "INPUT_TYPE_URL"
  4590  	//   "INPUT_TYPE_WEEK"
  4591  	//   "LOCAL_STORAGE"
  4592  	//   "POST_MESSAGE"
  4593  	//   "SESSION_STORAGE"
  4594  	//   "SMIL"
  4595  	//   "SVG_CLIP_PATHS"
  4596  	//   "SVG_FE_IMAGE"
  4597  	//   "SVG_FILTERS"
  4598  	//   "SVG_HREF"
  4599  	//   "TOUCH"
  4600  	//   "VIDEO"
  4601  	//   "WEBGL"
  4602  	//   "WEB_SOCKETS"
  4603  	//   "WEB_SQL_DATABASE"
  4604  	//   "WEB_WORKERS"
  4605  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4606  
  4607  	// Id: Numeric ID of the asset. This is a read-only, auto-generated
  4608  	// field.
  4609  	Id int64 `json:"id,omitempty,string"`
  4610  
  4611  	// IdDimensionValue: Dimension value for the numeric ID of the asset.
  4612  	// This is a read-only, auto-generated field.
  4613  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4614  
  4615  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4616  	// string "dfareporting#creativeAssetMetadata".
  4617  	Kind string `json:"kind,omitempty"`
  4618  
  4619  	// WarnedValidationRules: Rules validated during code generation that
  4620  	// generated a warning. This is a read-only, auto-generated
  4621  	// field.
  4622  	//
  4623  	// Possible values are:
  4624  	// - "ADMOB_REFERENCED"
  4625  	// - "ASSET_FORMAT_UNSUPPORTED_DCM"
  4626  	// - "ASSET_INVALID"
  4627  	// - "CLICK_TAG_HARD_CODED"
  4628  	// - "CLICK_TAG_INVALID"
  4629  	// - "CLICK_TAG_IN_GWD"
  4630  	// - "CLICK_TAG_MISSING"
  4631  	// - "CLICK_TAG_MORE_THAN_ONE"
  4632  	// - "CLICK_TAG_NON_TOP_LEVEL"
  4633  	// - "COMPONENT_UNSUPPORTED_DCM"
  4634  	// - "ENABLER_UNSUPPORTED_METHOD_DCM"
  4635  	// - "EXTERNAL_FILE_REFERENCED"
  4636  	// - "FILE_DETAIL_EMPTY"
  4637  	// - "FILE_TYPE_INVALID"
  4638  	// - "GWD_PROPERTIES_INVALID"
  4639  	// - "HTML5_FEATURE_UNSUPPORTED"
  4640  	// - "LINKED_FILE_NOT_FOUND"
  4641  	// - "MAX_FLASH_VERSION_11"
  4642  	// - "MRAID_REFERENCED"
  4643  	// - "NOT_SSL_COMPLIANT"
  4644  	// - "ORPHANED_ASSET"
  4645  	// - "PRIMARY_HTML_MISSING"
  4646  	// - "SVG_INVALID"
  4647  	// - "ZIP_INVALID"
  4648  	//
  4649  	// Possible values:
  4650  	//   "ADMOB_REFERENCED"
  4651  	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
  4652  	//   "ASSET_INVALID"
  4653  	//   "CLICK_TAG_HARD_CODED"
  4654  	//   "CLICK_TAG_INVALID"
  4655  	//   "CLICK_TAG_IN_GWD"
  4656  	//   "CLICK_TAG_MISSING"
  4657  	//   "CLICK_TAG_MORE_THAN_ONE"
  4658  	//   "CLICK_TAG_NON_TOP_LEVEL"
  4659  	//   "COMPONENT_UNSUPPORTED_DCM"
  4660  	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
  4661  	//   "EXTERNAL_FILE_REFERENCED"
  4662  	//   "FILE_DETAIL_EMPTY"
  4663  	//   "FILE_TYPE_INVALID"
  4664  	//   "GWD_PROPERTIES_INVALID"
  4665  	//   "HTML5_FEATURE_UNSUPPORTED"
  4666  	//   "LINKED_FILE_NOT_FOUND"
  4667  	//   "MAX_FLASH_VERSION_11"
  4668  	//   "MRAID_REFERENCED"
  4669  	//   "NOT_SSL_COMPLIANT"
  4670  	//   "ORPHANED_ASSET"
  4671  	//   "PRIMARY_HTML_MISSING"
  4672  	//   "SVG_INVALID"
  4673  	//   "ZIP_INVALID"
  4674  	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
  4675  
  4676  	// ServerResponse contains the HTTP response code and headers from the
  4677  	// server.
  4678  	googleapi.ServerResponse `json:"-"`
  4679  
  4680  	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
  4681  	// unconditionally include in API requests. By default, fields with
  4682  	// empty values are omitted from API requests. However, any non-pointer,
  4683  	// non-interface field appearing in ForceSendFields will be sent to the
  4684  	// server regardless of whether the field is empty or not. This may be
  4685  	// used to include empty fields in Patch requests.
  4686  	ForceSendFields []string `json:"-"`
  4687  
  4688  	// NullFields is a list of field names (e.g. "AssetIdentifier") to
  4689  	// include in API requests with the JSON null value. By default, fields
  4690  	// with empty values are omitted from API requests. However, any field
  4691  	// with an empty value appearing in NullFields will be sent to the
  4692  	// server as null. It is an error if a field in this list has a
  4693  	// non-empty value. This may be used to include null fields in Patch
  4694  	// requests.
  4695  	NullFields []string `json:"-"`
  4696  }
  4697  
  4698  func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
  4699  	type NoMethod CreativeAssetMetadata
  4700  	raw := NoMethod(*s)
  4701  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4702  }
  4703  
  4704  // CreativeAssetSelection: Encapsulates the list of rules for asset
  4705  // selection and a default asset in case none of the rules match.
  4706  // Applicable to INSTREAM_VIDEO creatives.
  4707  type CreativeAssetSelection struct {
  4708  	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
  4709  	// the parent assets in this creative, and will be served if none of the
  4710  	// rules match. This is a required field.
  4711  	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
  4712  
  4713  	// Rules: Rules determine which asset will be served to a viewer. Rules
  4714  	// will be evaluated in the order in which they are stored in this list.
  4715  	// This list must contain at least one rule. Applicable to
  4716  	// INSTREAM_VIDEO creatives.
  4717  	Rules []*Rule `json:"rules,omitempty"`
  4718  
  4719  	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
  4720  	// unconditionally include in API requests. By default, fields with
  4721  	// empty values are omitted from API requests. However, any non-pointer,
  4722  	// non-interface field appearing in ForceSendFields will be sent to the
  4723  	// server regardless of whether the field is empty or not. This may be
  4724  	// used to include empty fields in Patch requests.
  4725  	ForceSendFields []string `json:"-"`
  4726  
  4727  	// NullFields is a list of field names (e.g. "DefaultAssetId") to
  4728  	// include in API requests with the JSON null value. By default, fields
  4729  	// with empty values are omitted from API requests. However, any field
  4730  	// with an empty value appearing in NullFields will be sent to the
  4731  	// server as null. It is an error if a field in this list has a
  4732  	// non-empty value. This may be used to include null fields in Patch
  4733  	// requests.
  4734  	NullFields []string `json:"-"`
  4735  }
  4736  
  4737  func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
  4738  	type NoMethod CreativeAssetSelection
  4739  	raw := NoMethod(*s)
  4740  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4741  }
  4742  
  4743  // CreativeAssignment: Creative Assignment.
  4744  type CreativeAssignment struct {
  4745  	// Active: Whether this creative assignment is active. When true, the
  4746  	// creative will be included in the ad's rotation.
  4747  	Active bool `json:"active,omitempty"`
  4748  
  4749  	// ApplyEventTags: Whether applicable event tags should fire when this
  4750  	// creative assignment is rendered. If this value is unset when the ad
  4751  	// is inserted or updated, it will default to true for all creative
  4752  	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
  4753  	// and INSTREAM_VIDEO.
  4754  	ApplyEventTags bool `json:"applyEventTags,omitempty"`
  4755  
  4756  	// ClickThroughUrl: Click-through URL of the creative assignment.
  4757  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  4758  
  4759  	// CompanionCreativeOverrides: Companion creative overrides for this
  4760  	// creative assignment. Applicable to video ads.
  4761  	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
  4762  
  4763  	// CreativeGroupAssignments: Creative group assignments for this
  4764  	// creative assignment. Only one assignment per creative group number is
  4765  	// allowed for a maximum of two assignments.
  4766  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  4767  
  4768  	// CreativeId: ID of the creative to be assigned. This is a required
  4769  	// field.
  4770  	CreativeId int64 `json:"creativeId,omitempty,string"`
  4771  
  4772  	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
  4773  	// This is a read-only, auto-generated field.
  4774  	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
  4775  
  4776  	// EndTime: Date and time that the assigned creative should stop
  4777  	// serving. Must be later than the start time.
  4778  	EndTime string `json:"endTime,omitempty"`
  4779  
  4780  	// RichMediaExitOverrides: Rich media exit overrides for this creative
  4781  	// assignment.
  4782  	// Applicable when the creative type is any of the following:
  4783  	// - DISPLAY
  4784  	// - RICH_MEDIA_INPAGE
  4785  	// - RICH_MEDIA_INPAGE_FLOATING
  4786  	// - RICH_MEDIA_IM_EXPAND
  4787  	// - RICH_MEDIA_EXPANDING
  4788  	// - RICH_MEDIA_INTERSTITIAL_FLOAT
  4789  	// - RICH_MEDIA_MOBILE_IN_APP
  4790  	// - RICH_MEDIA_MULTI_FLOATING
  4791  	// - RICH_MEDIA_PEEL_DOWN
  4792  	// - VPAID_LINEAR
  4793  	// - VPAID_NON_LINEAR
  4794  	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
  4795  
  4796  	// Sequence: Sequence number of the creative assignment, applicable when
  4797  	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
  4798  	// values are 1 to 65535, inclusive.
  4799  	Sequence int64 `json:"sequence,omitempty"`
  4800  
  4801  	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
  4802  	// This is a read-only field that is auto-generated when the ad is
  4803  	// inserted or updated.
  4804  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4805  
  4806  	// StartTime: Date and time that the assigned creative should start
  4807  	// serving.
  4808  	StartTime string `json:"startTime,omitempty"`
  4809  
  4810  	// Weight: Weight of the creative assignment, applicable when the
  4811  	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
  4812  	// than or equal to 1.
  4813  	Weight int64 `json:"weight,omitempty"`
  4814  
  4815  	// ForceSendFields is a list of field names (e.g. "Active") to
  4816  	// unconditionally include in API requests. By default, fields with
  4817  	// empty values are omitted from API requests. However, any non-pointer,
  4818  	// non-interface field appearing in ForceSendFields will be sent to the
  4819  	// server regardless of whether the field is empty or not. This may be
  4820  	// used to include empty fields in Patch requests.
  4821  	ForceSendFields []string `json:"-"`
  4822  
  4823  	// NullFields is a list of field names (e.g. "Active") to include in API
  4824  	// requests with the JSON null value. By default, fields with empty
  4825  	// values are omitted from API requests. However, any field with an
  4826  	// empty value appearing in NullFields will be sent to the server as
  4827  	// null. It is an error if a field in this list has a non-empty value.
  4828  	// This may be used to include null fields in Patch requests.
  4829  	NullFields []string `json:"-"`
  4830  }
  4831  
  4832  func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
  4833  	type NoMethod CreativeAssignment
  4834  	raw := NoMethod(*s)
  4835  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4836  }
  4837  
  4838  // CreativeCustomEvent: Creative Custom Event.
  4839  type CreativeCustomEvent struct {
  4840  	// AdvertiserCustomEventId: Unique ID of this event used by DDM
  4841  	// Reporting and Data Transfer. This is a read-only field.
  4842  	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
  4843  
  4844  	// AdvertiserCustomEventName: User-entered name for the event.
  4845  	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
  4846  
  4847  	// AdvertiserCustomEventType: Type of the event. This is a read-only
  4848  	// field.
  4849  	//
  4850  	// Possible values:
  4851  	//   "ADVERTISER_EVENT_COUNTER"
  4852  	//   "ADVERTISER_EVENT_EXIT"
  4853  	//   "ADVERTISER_EVENT_TIMER"
  4854  	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
  4855  
  4856  	// ArtworkLabel: Artwork label column, used to link events in DCM back
  4857  	// to events in Studio. This is a required field and should not be
  4858  	// modified after insertion.
  4859  	ArtworkLabel string `json:"artworkLabel,omitempty"`
  4860  
  4861  	// ArtworkType: Artwork type used by the creative.This is a read-only
  4862  	// field.
  4863  	//
  4864  	// Possible values:
  4865  	//   "ARTWORK_TYPE_FLASH"
  4866  	//   "ARTWORK_TYPE_HTML5"
  4867  	//   "ARTWORK_TYPE_IMAGE"
  4868  	//   "ARTWORK_TYPE_MIXED"
  4869  	ArtworkType string `json:"artworkType,omitempty"`
  4870  
  4871  	// ExitUrl: Exit URL of the event. This field is used only for exit
  4872  	// events.
  4873  	ExitUrl string `json:"exitUrl,omitempty"`
  4874  
  4875  	// Id: ID of this event. This is a required field and should not be
  4876  	// modified after insertion.
  4877  	Id int64 `json:"id,omitempty,string"`
  4878  
  4879  	// PopupWindowProperties: Properties for rich media popup windows. This
  4880  	// field is used only for exit events.
  4881  	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
  4882  
  4883  	// TargetType: Target type used by the event.
  4884  	//
  4885  	// Possible values:
  4886  	//   "TARGET_BLANK"
  4887  	//   "TARGET_PARENT"
  4888  	//   "TARGET_POPUP"
  4889  	//   "TARGET_SELF"
  4890  	//   "TARGET_TOP"
  4891  	TargetType string `json:"targetType,omitempty"`
  4892  
  4893  	// VideoReportingId: Video reporting ID, used to differentiate multiple
  4894  	// videos in a single creative. This is a read-only field.
  4895  	VideoReportingId string `json:"videoReportingId,omitempty"`
  4896  
  4897  	// ForceSendFields is a list of field names (e.g.
  4898  	// "AdvertiserCustomEventId") to unconditionally include in API
  4899  	// requests. By default, fields with empty values are omitted from API
  4900  	// requests. However, any non-pointer, non-interface field appearing in
  4901  	// ForceSendFields will be sent to the server regardless of whether the
  4902  	// field is empty or not. This may be used to include empty fields in
  4903  	// Patch requests.
  4904  	ForceSendFields []string `json:"-"`
  4905  
  4906  	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
  4907  	// to include in API requests with the JSON null value. By default,
  4908  	// fields with empty values are omitted from API requests. However, any
  4909  	// field with an empty value appearing in NullFields will be sent to the
  4910  	// server as null. It is an error if a field in this list has a
  4911  	// non-empty value. This may be used to include null fields in Patch
  4912  	// requests.
  4913  	NullFields []string `json:"-"`
  4914  }
  4915  
  4916  func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
  4917  	type NoMethod CreativeCustomEvent
  4918  	raw := NoMethod(*s)
  4919  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4920  }
  4921  
  4922  // CreativeField: Contains properties of a creative field.
  4923  type CreativeField struct {
  4924  	// AccountId: Account ID of this creative field. This is a read-only
  4925  	// field that can be left blank.
  4926  	AccountId int64 `json:"accountId,omitempty,string"`
  4927  
  4928  	// AdvertiserId: Advertiser ID of this creative field. This is a
  4929  	// required field on insertion.
  4930  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  4931  
  4932  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  4933  	// advertiser. This is a read-only, auto-generated field.
  4934  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  4935  
  4936  	// Id: ID of this creative field. This is a read-only, auto-generated
  4937  	// field.
  4938  	Id int64 `json:"id,omitempty,string"`
  4939  
  4940  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4941  	// string "dfareporting#creativeField".
  4942  	Kind string `json:"kind,omitempty"`
  4943  
  4944  	// Name: Name of this creative field. This is a required field and must
  4945  	// be less than 256 characters long and unique among creative fields of
  4946  	// the same advertiser.
  4947  	Name string `json:"name,omitempty"`
  4948  
  4949  	// SubaccountId: Subaccount ID of this creative field. This is a
  4950  	// read-only field that can be left blank.
  4951  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  4952  
  4953  	// ServerResponse contains the HTTP response code and headers from the
  4954  	// server.
  4955  	googleapi.ServerResponse `json:"-"`
  4956  
  4957  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  4958  	// unconditionally include in API requests. By default, fields with
  4959  	// empty values are omitted from API requests. However, any non-pointer,
  4960  	// non-interface field appearing in ForceSendFields will be sent to the
  4961  	// server regardless of whether the field is empty or not. This may be
  4962  	// used to include empty fields in Patch requests.
  4963  	ForceSendFields []string `json:"-"`
  4964  
  4965  	// NullFields is a list of field names (e.g. "AccountId") to include in
  4966  	// API requests with the JSON null value. By default, fields with empty
  4967  	// values are omitted from API requests. However, any field with an
  4968  	// empty value appearing in NullFields will be sent to the server as
  4969  	// null. It is an error if a field in this list has a non-empty value.
  4970  	// This may be used to include null fields in Patch requests.
  4971  	NullFields []string `json:"-"`
  4972  }
  4973  
  4974  func (s *CreativeField) MarshalJSON() ([]byte, error) {
  4975  	type NoMethod CreativeField
  4976  	raw := NoMethod(*s)
  4977  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4978  }
  4979  
  4980  // CreativeFieldAssignment: Creative Field Assignment.
  4981  type CreativeFieldAssignment struct {
  4982  	// CreativeFieldId: ID of the creative field.
  4983  	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
  4984  
  4985  	// CreativeFieldValueId: ID of the creative field value.
  4986  	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
  4987  
  4988  	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
  4989  	// unconditionally include in API requests. By default, fields with
  4990  	// empty values are omitted from API requests. However, any non-pointer,
  4991  	// non-interface field appearing in ForceSendFields will be sent to the
  4992  	// server regardless of whether the field is empty or not. This may be
  4993  	// used to include empty fields in Patch requests.
  4994  	ForceSendFields []string `json:"-"`
  4995  
  4996  	// NullFields is a list of field names (e.g. "CreativeFieldId") to
  4997  	// include in API requests with the JSON null value. By default, fields
  4998  	// with empty values are omitted from API requests. However, any field
  4999  	// with an empty value appearing in NullFields will be sent to the
  5000  	// server as null. It is an error if a field in this list has a
  5001  	// non-empty value. This may be used to include null fields in Patch
  5002  	// requests.
  5003  	NullFields []string `json:"-"`
  5004  }
  5005  
  5006  func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
  5007  	type NoMethod CreativeFieldAssignment
  5008  	raw := NoMethod(*s)
  5009  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5010  }
  5011  
  5012  // CreativeFieldValue: Contains properties of a creative field value.
  5013  type CreativeFieldValue struct {
  5014  	// Id: ID of this creative field value. This is a read-only,
  5015  	// auto-generated field.
  5016  	Id int64 `json:"id,omitempty,string"`
  5017  
  5018  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5019  	// string "dfareporting#creativeFieldValue".
  5020  	Kind string `json:"kind,omitempty"`
  5021  
  5022  	// Value: Value of this creative field value. It needs to be less than
  5023  	// 256 characters in length and unique per creative field.
  5024  	Value string `json:"value,omitempty"`
  5025  
  5026  	// ServerResponse contains the HTTP response code and headers from the
  5027  	// server.
  5028  	googleapi.ServerResponse `json:"-"`
  5029  
  5030  	// ForceSendFields is a list of field names (e.g. "Id") to
  5031  	// unconditionally include in API requests. By default, fields with
  5032  	// empty values are omitted from API requests. However, any non-pointer,
  5033  	// non-interface field appearing in ForceSendFields will be sent to the
  5034  	// server regardless of whether the field is empty or not. This may be
  5035  	// used to include empty fields in Patch requests.
  5036  	ForceSendFields []string `json:"-"`
  5037  
  5038  	// NullFields is a list of field names (e.g. "Id") to include in API
  5039  	// requests with the JSON null value. By default, fields with empty
  5040  	// values are omitted from API requests. However, any field with an
  5041  	// empty value appearing in NullFields will be sent to the server as
  5042  	// null. It is an error if a field in this list has a non-empty value.
  5043  	// This may be used to include null fields in Patch requests.
  5044  	NullFields []string `json:"-"`
  5045  }
  5046  
  5047  func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
  5048  	type NoMethod CreativeFieldValue
  5049  	raw := NoMethod(*s)
  5050  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5051  }
  5052  
  5053  // CreativeFieldValuesListResponse: Creative Field Value List Response
  5054  type CreativeFieldValuesListResponse struct {
  5055  	// CreativeFieldValues: Creative field value collection.
  5056  	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
  5057  
  5058  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5059  	// string "dfareporting#creativeFieldValuesListResponse".
  5060  	Kind string `json:"kind,omitempty"`
  5061  
  5062  	// NextPageToken: Pagination token to be used for the next list
  5063  	// operation.
  5064  	NextPageToken string `json:"nextPageToken,omitempty"`
  5065  
  5066  	// ServerResponse contains the HTTP response code and headers from the
  5067  	// server.
  5068  	googleapi.ServerResponse `json:"-"`
  5069  
  5070  	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
  5071  	// to unconditionally include in API requests. By default, fields with
  5072  	// empty values are omitted from API requests. However, any non-pointer,
  5073  	// non-interface field appearing in ForceSendFields will be sent to the
  5074  	// server regardless of whether the field is empty or not. This may be
  5075  	// used to include empty fields in Patch requests.
  5076  	ForceSendFields []string `json:"-"`
  5077  
  5078  	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
  5079  	// include in API requests with the JSON null value. By default, fields
  5080  	// with empty values are omitted from API requests. However, any field
  5081  	// with an empty value appearing in NullFields will be sent to the
  5082  	// server as null. It is an error if a field in this list has a
  5083  	// non-empty value. This may be used to include null fields in Patch
  5084  	// requests.
  5085  	NullFields []string `json:"-"`
  5086  }
  5087  
  5088  func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
  5089  	type NoMethod CreativeFieldValuesListResponse
  5090  	raw := NoMethod(*s)
  5091  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5092  }
  5093  
  5094  // CreativeFieldsListResponse: Creative Field List Response
  5095  type CreativeFieldsListResponse struct {
  5096  	// CreativeFields: Creative field collection.
  5097  	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
  5098  
  5099  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5100  	// string "dfareporting#creativeFieldsListResponse".
  5101  	Kind string `json:"kind,omitempty"`
  5102  
  5103  	// NextPageToken: Pagination token to be used for the next list
  5104  	// operation.
  5105  	NextPageToken string `json:"nextPageToken,omitempty"`
  5106  
  5107  	// ServerResponse contains the HTTP response code and headers from the
  5108  	// server.
  5109  	googleapi.ServerResponse `json:"-"`
  5110  
  5111  	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
  5112  	// unconditionally include in API requests. By default, fields with
  5113  	// empty values are omitted from API requests. However, any non-pointer,
  5114  	// non-interface field appearing in ForceSendFields will be sent to the
  5115  	// server regardless of whether the field is empty or not. This may be
  5116  	// used to include empty fields in Patch requests.
  5117  	ForceSendFields []string `json:"-"`
  5118  
  5119  	// NullFields is a list of field names (e.g. "CreativeFields") to
  5120  	// include in API requests with the JSON null value. By default, fields
  5121  	// with empty values are omitted from API requests. However, any field
  5122  	// with an empty value appearing in NullFields will be sent to the
  5123  	// server as null. It is an error if a field in this list has a
  5124  	// non-empty value. This may be used to include null fields in Patch
  5125  	// requests.
  5126  	NullFields []string `json:"-"`
  5127  }
  5128  
  5129  func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
  5130  	type NoMethod CreativeFieldsListResponse
  5131  	raw := NoMethod(*s)
  5132  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5133  }
  5134  
  5135  // CreativeGroup: Contains properties of a creative group.
  5136  type CreativeGroup struct {
  5137  	// AccountId: Account ID of this creative group. This is a read-only
  5138  	// field that can be left blank.
  5139  	AccountId int64 `json:"accountId,omitempty,string"`
  5140  
  5141  	// AdvertiserId: Advertiser ID of this creative group. This is a
  5142  	// required field on insertion.
  5143  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5144  
  5145  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5146  	// advertiser. This is a read-only, auto-generated field.
  5147  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5148  
  5149  	// GroupNumber: Subgroup of the creative group. Assign your creative
  5150  	// groups to a subgroup in order to filter or manage them more easily.
  5151  	// This field is required on insertion and is read-only after insertion.
  5152  	// Acceptable values are 1 to 2, inclusive.
  5153  	GroupNumber int64 `json:"groupNumber,omitempty"`
  5154  
  5155  	// Id: ID of this creative group. This is a read-only, auto-generated
  5156  	// field.
  5157  	Id int64 `json:"id,omitempty,string"`
  5158  
  5159  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5160  	// string "dfareporting#creativeGroup".
  5161  	Kind string `json:"kind,omitempty"`
  5162  
  5163  	// Name: Name of this creative group. This is a required field and must
  5164  	// be less than 256 characters long and unique among creative groups of
  5165  	// the same advertiser.
  5166  	Name string `json:"name,omitempty"`
  5167  
  5168  	// SubaccountId: Subaccount ID of this creative group. This is a
  5169  	// read-only field that can be left blank.
  5170  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5171  
  5172  	// ServerResponse contains the HTTP response code and headers from the
  5173  	// server.
  5174  	googleapi.ServerResponse `json:"-"`
  5175  
  5176  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5177  	// unconditionally include in API requests. By default, fields with
  5178  	// empty values are omitted from API requests. However, any non-pointer,
  5179  	// non-interface field appearing in ForceSendFields will be sent to the
  5180  	// server regardless of whether the field is empty or not. This may be
  5181  	// used to include empty fields in Patch requests.
  5182  	ForceSendFields []string `json:"-"`
  5183  
  5184  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5185  	// API requests with the JSON null value. By default, fields with empty
  5186  	// values are omitted from API requests. However, any field with an
  5187  	// empty value appearing in NullFields will be sent to the server as
  5188  	// null. It is an error if a field in this list has a non-empty value.
  5189  	// This may be used to include null fields in Patch requests.
  5190  	NullFields []string `json:"-"`
  5191  }
  5192  
  5193  func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
  5194  	type NoMethod CreativeGroup
  5195  	raw := NoMethod(*s)
  5196  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5197  }
  5198  
  5199  // CreativeGroupAssignment: Creative Group Assignment.
  5200  type CreativeGroupAssignment struct {
  5201  	// CreativeGroupId: ID of the creative group to be assigned.
  5202  	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
  5203  
  5204  	// CreativeGroupNumber: Creative group number of the creative group
  5205  	// assignment.
  5206  	//
  5207  	// Possible values:
  5208  	//   "CREATIVE_GROUP_ONE"
  5209  	//   "CREATIVE_GROUP_TWO"
  5210  	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
  5211  
  5212  	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
  5213  	// unconditionally include in API requests. By default, fields with
  5214  	// empty values are omitted from API requests. However, any non-pointer,
  5215  	// non-interface field appearing in ForceSendFields will be sent to the
  5216  	// server regardless of whether the field is empty or not. This may be
  5217  	// used to include empty fields in Patch requests.
  5218  	ForceSendFields []string `json:"-"`
  5219  
  5220  	// NullFields is a list of field names (e.g. "CreativeGroupId") to
  5221  	// include in API requests with the JSON null value. By default, fields
  5222  	// with empty values are omitted from API requests. However, any field
  5223  	// with an empty value appearing in NullFields will be sent to the
  5224  	// server as null. It is an error if a field in this list has a
  5225  	// non-empty value. This may be used to include null fields in Patch
  5226  	// requests.
  5227  	NullFields []string `json:"-"`
  5228  }
  5229  
  5230  func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
  5231  	type NoMethod CreativeGroupAssignment
  5232  	raw := NoMethod(*s)
  5233  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5234  }
  5235  
  5236  // CreativeGroupsListResponse: Creative Group List Response
  5237  type CreativeGroupsListResponse struct {
  5238  	// CreativeGroups: Creative group collection.
  5239  	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
  5240  
  5241  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5242  	// string "dfareporting#creativeGroupsListResponse".
  5243  	Kind string `json:"kind,omitempty"`
  5244  
  5245  	// NextPageToken: Pagination token to be used for the next list
  5246  	// operation.
  5247  	NextPageToken string `json:"nextPageToken,omitempty"`
  5248  
  5249  	// ServerResponse contains the HTTP response code and headers from the
  5250  	// server.
  5251  	googleapi.ServerResponse `json:"-"`
  5252  
  5253  	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
  5254  	// unconditionally include in API requests. By default, fields with
  5255  	// empty values are omitted from API requests. However, any non-pointer,
  5256  	// non-interface field appearing in ForceSendFields will be sent to the
  5257  	// server regardless of whether the field is empty or not. This may be
  5258  	// used to include empty fields in Patch requests.
  5259  	ForceSendFields []string `json:"-"`
  5260  
  5261  	// NullFields is a list of field names (e.g. "CreativeGroups") to
  5262  	// include in API requests with the JSON null value. By default, fields
  5263  	// with empty values are omitted from API requests. However, any field
  5264  	// with an empty value appearing in NullFields will be sent to the
  5265  	// server as null. It is an error if a field in this list has a
  5266  	// non-empty value. This may be used to include null fields in Patch
  5267  	// requests.
  5268  	NullFields []string `json:"-"`
  5269  }
  5270  
  5271  func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
  5272  	type NoMethod CreativeGroupsListResponse
  5273  	raw := NoMethod(*s)
  5274  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5275  }
  5276  
  5277  // CreativeOptimizationConfiguration: Creative optimization settings.
  5278  type CreativeOptimizationConfiguration struct {
  5279  	// Id: ID of this creative optimization config. This field is
  5280  	// auto-generated when the campaign is inserted or updated. It can be
  5281  	// null for existing campaigns.
  5282  	Id int64 `json:"id,omitempty,string"`
  5283  
  5284  	// Name: Name of this creative optimization config. This is a required
  5285  	// field and must be less than 129 characters long.
  5286  	Name string `json:"name,omitempty"`
  5287  
  5288  	// OptimizationActivitys: List of optimization activities associated
  5289  	// with this configuration.
  5290  	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
  5291  
  5292  	// OptimizationModel: Optimization model for this configuration.
  5293  	//
  5294  	// Possible values:
  5295  	//   "CLICK"
  5296  	//   "POST_CLICK"
  5297  	//   "POST_CLICK_AND_IMPRESSION"
  5298  	//   "POST_IMPRESSION"
  5299  	//   "VIDEO_COMPLETION"
  5300  	OptimizationModel string `json:"optimizationModel,omitempty"`
  5301  
  5302  	// ForceSendFields is a list of field names (e.g. "Id") to
  5303  	// unconditionally include in API requests. By default, fields with
  5304  	// empty values are omitted from API requests. However, any non-pointer,
  5305  	// non-interface field appearing in ForceSendFields will be sent to the
  5306  	// server regardless of whether the field is empty or not. This may be
  5307  	// used to include empty fields in Patch requests.
  5308  	ForceSendFields []string `json:"-"`
  5309  
  5310  	// NullFields is a list of field names (e.g. "Id") to include in API
  5311  	// requests with the JSON null value. By default, fields with empty
  5312  	// values are omitted from API requests. However, any field with an
  5313  	// empty value appearing in NullFields will be sent to the server as
  5314  	// null. It is an error if a field in this list has a non-empty value.
  5315  	// This may be used to include null fields in Patch requests.
  5316  	NullFields []string `json:"-"`
  5317  }
  5318  
  5319  func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
  5320  	type NoMethod CreativeOptimizationConfiguration
  5321  	raw := NoMethod(*s)
  5322  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5323  }
  5324  
  5325  // CreativeRotation: Creative Rotation.
  5326  type CreativeRotation struct {
  5327  	// CreativeAssignments: Creative assignments in this creative rotation.
  5328  	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
  5329  
  5330  	// CreativeOptimizationConfigurationId: Creative optimization
  5331  	// configuration that is used by this ad. It should refer to one of the
  5332  	// existing optimization configurations in the ad's campaign. If it is
  5333  	// unset or set to 0, then the campaign's default optimization
  5334  	// configuration will be used for this ad.
  5335  	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
  5336  
  5337  	// Type: Type of creative rotation. Can be used to specify whether to
  5338  	// use sequential or random rotation.
  5339  	//
  5340  	// Possible values:
  5341  	//   "CREATIVE_ROTATION_TYPE_RANDOM"
  5342  	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
  5343  	Type string `json:"type,omitempty"`
  5344  
  5345  	// WeightCalculationStrategy: Strategy for calculating weights. Used
  5346  	// with CREATIVE_ROTATION_TYPE_RANDOM.
  5347  	//
  5348  	// Possible values:
  5349  	//   "WEIGHT_STRATEGY_CUSTOM"
  5350  	//   "WEIGHT_STRATEGY_EQUAL"
  5351  	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
  5352  	//   "WEIGHT_STRATEGY_OPTIMIZED"
  5353  	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
  5354  
  5355  	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
  5356  	// to unconditionally include in API requests. By default, fields with
  5357  	// empty values are omitted from API requests. However, any non-pointer,
  5358  	// non-interface field appearing in ForceSendFields will be sent to the
  5359  	// server regardless of whether the field is empty or not. This may be
  5360  	// used to include empty fields in Patch requests.
  5361  	ForceSendFields []string `json:"-"`
  5362  
  5363  	// NullFields is a list of field names (e.g. "CreativeAssignments") to
  5364  	// include in API requests with the JSON null value. By default, fields
  5365  	// with empty values are omitted from API requests. However, any field
  5366  	// with an empty value appearing in NullFields will be sent to the
  5367  	// server as null. It is an error if a field in this list has a
  5368  	// non-empty value. This may be used to include null fields in Patch
  5369  	// requests.
  5370  	NullFields []string `json:"-"`
  5371  }
  5372  
  5373  func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
  5374  	type NoMethod CreativeRotation
  5375  	raw := NoMethod(*s)
  5376  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5377  }
  5378  
  5379  // CreativeSettings: Creative Settings
  5380  type CreativeSettings struct {
  5381  	// IFrameFooter: Header text for iFrames for this site. Must be less
  5382  	// than or equal to 2000 characters long.
  5383  	IFrameFooter string `json:"iFrameFooter,omitempty"`
  5384  
  5385  	// IFrameHeader: Header text for iFrames for this site. Must be less
  5386  	// than or equal to 2000 characters long.
  5387  	IFrameHeader string `json:"iFrameHeader,omitempty"`
  5388  
  5389  	// ForceSendFields is a list of field names (e.g. "IFrameFooter") to
  5390  	// unconditionally include in API requests. By default, fields with
  5391  	// empty values are omitted from API requests. However, any non-pointer,
  5392  	// non-interface field appearing in ForceSendFields will be sent to the
  5393  	// server regardless of whether the field is empty or not. This may be
  5394  	// used to include empty fields in Patch requests.
  5395  	ForceSendFields []string `json:"-"`
  5396  
  5397  	// NullFields is a list of field names (e.g. "IFrameFooter") to include
  5398  	// in API requests with the JSON null value. By default, fields with
  5399  	// empty values are omitted from API requests. However, any field with
  5400  	// an empty value appearing in NullFields will be sent to the server as
  5401  	// null. It is an error if a field in this list has a non-empty value.
  5402  	// This may be used to include null fields in Patch requests.
  5403  	NullFields []string `json:"-"`
  5404  }
  5405  
  5406  func (s *CreativeSettings) MarshalJSON() ([]byte, error) {
  5407  	type NoMethod CreativeSettings
  5408  	raw := NoMethod(*s)
  5409  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5410  }
  5411  
  5412  // CreativesListResponse: Creative List Response
  5413  type CreativesListResponse struct {
  5414  	// Creatives: Creative collection.
  5415  	Creatives []*Creative `json:"creatives,omitempty"`
  5416  
  5417  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5418  	// string "dfareporting#creativesListResponse".
  5419  	Kind string `json:"kind,omitempty"`
  5420  
  5421  	// NextPageToken: Pagination token to be used for the next list
  5422  	// operation.
  5423  	NextPageToken string `json:"nextPageToken,omitempty"`
  5424  
  5425  	// ServerResponse contains the HTTP response code and headers from the
  5426  	// server.
  5427  	googleapi.ServerResponse `json:"-"`
  5428  
  5429  	// ForceSendFields is a list of field names (e.g. "Creatives") to
  5430  	// unconditionally include in API requests. By default, fields with
  5431  	// empty values are omitted from API requests. However, any non-pointer,
  5432  	// non-interface field appearing in ForceSendFields will be sent to the
  5433  	// server regardless of whether the field is empty or not. This may be
  5434  	// used to include empty fields in Patch requests.
  5435  	ForceSendFields []string `json:"-"`
  5436  
  5437  	// NullFields is a list of field names (e.g. "Creatives") to include in
  5438  	// API requests with the JSON null value. By default, fields with empty
  5439  	// values are omitted from API requests. However, any field with an
  5440  	// empty value appearing in NullFields will be sent to the server as
  5441  	// null. It is an error if a field in this list has a non-empty value.
  5442  	// This may be used to include null fields in Patch requests.
  5443  	NullFields []string `json:"-"`
  5444  }
  5445  
  5446  func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
  5447  	type NoMethod CreativesListResponse
  5448  	raw := NoMethod(*s)
  5449  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5450  }
  5451  
  5452  // CrossDimensionReachReportCompatibleFields: Represents fields that are
  5453  // compatible to be selected for a report of type
  5454  // "CROSS_DIMENSION_REACH".
  5455  type CrossDimensionReachReportCompatibleFields struct {
  5456  	// Breakdown: Dimensions which are compatible to be selected in the
  5457  	// "breakdown" section of the report.
  5458  	Breakdown []*Dimension `json:"breakdown,omitempty"`
  5459  
  5460  	// DimensionFilters: Dimensions which are compatible to be selected in
  5461  	// the "dimensionFilters" section of the report.
  5462  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  5463  
  5464  	// Kind: The kind of resource this is, in this case
  5465  	// dfareporting#crossDimensionReachReportCompatibleFields.
  5466  	Kind string `json:"kind,omitempty"`
  5467  
  5468  	// Metrics: Metrics which are compatible to be selected in the
  5469  	// "metricNames" section of the report.
  5470  	Metrics []*Metric `json:"metrics,omitempty"`
  5471  
  5472  	// OverlapMetrics: Metrics which are compatible to be selected in the
  5473  	// "overlapMetricNames" section of the report.
  5474  	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
  5475  
  5476  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
  5477  	// unconditionally include in API requests. By default, fields with
  5478  	// empty values are omitted from API requests. However, any non-pointer,
  5479  	// non-interface field appearing in ForceSendFields will be sent to the
  5480  	// server regardless of whether the field is empty or not. This may be
  5481  	// used to include empty fields in Patch requests.
  5482  	ForceSendFields []string `json:"-"`
  5483  
  5484  	// NullFields is a list of field names (e.g. "Breakdown") to include in
  5485  	// API requests with the JSON null value. By default, fields with empty
  5486  	// values are omitted from API requests. However, any field with an
  5487  	// empty value appearing in NullFields will be sent to the server as
  5488  	// null. It is an error if a field in this list has a non-empty value.
  5489  	// This may be used to include null fields in Patch requests.
  5490  	NullFields []string `json:"-"`
  5491  }
  5492  
  5493  func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
  5494  	type NoMethod CrossDimensionReachReportCompatibleFields
  5495  	raw := NoMethod(*s)
  5496  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5497  }
  5498  
  5499  // CustomFloodlightVariable: A custom floodlight variable.
  5500  type CustomFloodlightVariable struct {
  5501  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5502  	// string "dfareporting#customFloodlightVariable".
  5503  	Kind string `json:"kind,omitempty"`
  5504  
  5505  	// Type: The type of custom floodlight variable to supply a value for.
  5506  	// These map to the "u[1-20]=" in the tags.
  5507  	//
  5508  	// Possible values:
  5509  	//   "U1"
  5510  	//   "U10"
  5511  	//   "U100"
  5512  	//   "U11"
  5513  	//   "U12"
  5514  	//   "U13"
  5515  	//   "U14"
  5516  	//   "U15"
  5517  	//   "U16"
  5518  	//   "U17"
  5519  	//   "U18"
  5520  	//   "U19"
  5521  	//   "U2"
  5522  	//   "U20"
  5523  	//   "U21"
  5524  	//   "U22"
  5525  	//   "U23"
  5526  	//   "U24"
  5527  	//   "U25"
  5528  	//   "U26"
  5529  	//   "U27"
  5530  	//   "U28"
  5531  	//   "U29"
  5532  	//   "U3"
  5533  	//   "U30"
  5534  	//   "U31"
  5535  	//   "U32"
  5536  	//   "U33"
  5537  	//   "U34"
  5538  	//   "U35"
  5539  	//   "U36"
  5540  	//   "U37"
  5541  	//   "U38"
  5542  	//   "U39"
  5543  	//   "U4"
  5544  	//   "U40"
  5545  	//   "U41"
  5546  	//   "U42"
  5547  	//   "U43"
  5548  	//   "U44"
  5549  	//   "U45"
  5550  	//   "U46"
  5551  	//   "U47"
  5552  	//   "U48"
  5553  	//   "U49"
  5554  	//   "U5"
  5555  	//   "U50"
  5556  	//   "U51"
  5557  	//   "U52"
  5558  	//   "U53"
  5559  	//   "U54"
  5560  	//   "U55"
  5561  	//   "U56"
  5562  	//   "U57"
  5563  	//   "U58"
  5564  	//   "U59"
  5565  	//   "U6"
  5566  	//   "U60"
  5567  	//   "U61"
  5568  	//   "U62"
  5569  	//   "U63"
  5570  	//   "U64"
  5571  	//   "U65"
  5572  	//   "U66"
  5573  	//   "U67"
  5574  	//   "U68"
  5575  	//   "U69"
  5576  	//   "U7"
  5577  	//   "U70"
  5578  	//   "U71"
  5579  	//   "U72"
  5580  	//   "U73"
  5581  	//   "U74"
  5582  	//   "U75"
  5583  	//   "U76"
  5584  	//   "U77"
  5585  	//   "U78"
  5586  	//   "U79"
  5587  	//   "U8"
  5588  	//   "U80"
  5589  	//   "U81"
  5590  	//   "U82"
  5591  	//   "U83"
  5592  	//   "U84"
  5593  	//   "U85"
  5594  	//   "U86"
  5595  	//   "U87"
  5596  	//   "U88"
  5597  	//   "U89"
  5598  	//   "U9"
  5599  	//   "U90"
  5600  	//   "U91"
  5601  	//   "U92"
  5602  	//   "U93"
  5603  	//   "U94"
  5604  	//   "U95"
  5605  	//   "U96"
  5606  	//   "U97"
  5607  	//   "U98"
  5608  	//   "U99"
  5609  	Type string `json:"type,omitempty"`
  5610  
  5611  	// Value: The value of the custom floodlight variable. The length of
  5612  	// string must not exceed 50 characters.
  5613  	Value string `json:"value,omitempty"`
  5614  
  5615  	// ForceSendFields is a list of field names (e.g. "Kind") to
  5616  	// unconditionally include in API requests. By default, fields with
  5617  	// empty values are omitted from API requests. However, any non-pointer,
  5618  	// non-interface field appearing in ForceSendFields will be sent to the
  5619  	// server regardless of whether the field is empty or not. This may be
  5620  	// used to include empty fields in Patch requests.
  5621  	ForceSendFields []string `json:"-"`
  5622  
  5623  	// NullFields is a list of field names (e.g. "Kind") to include in API
  5624  	// requests with the JSON null value. By default, fields with empty
  5625  	// values are omitted from API requests. However, any field with an
  5626  	// empty value appearing in NullFields will be sent to the server as
  5627  	// null. It is an error if a field in this list has a non-empty value.
  5628  	// This may be used to include null fields in Patch requests.
  5629  	NullFields []string `json:"-"`
  5630  }
  5631  
  5632  func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
  5633  	type NoMethod CustomFloodlightVariable
  5634  	raw := NoMethod(*s)
  5635  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5636  }
  5637  
  5638  // CustomRichMediaEvents: Represents a Custom Rich Media Events group.
  5639  type CustomRichMediaEvents struct {
  5640  	// FilteredEventIds: List of custom rich media event IDs. Dimension
  5641  	// values must be all of type dfa:richMediaEventTypeIdAndName.
  5642  	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
  5643  
  5644  	// Kind: The kind of resource this is, in this case
  5645  	// dfareporting#customRichMediaEvents.
  5646  	Kind string `json:"kind,omitempty"`
  5647  
  5648  	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
  5649  	// unconditionally include in API requests. By default, fields with
  5650  	// empty values are omitted from API requests. However, any non-pointer,
  5651  	// non-interface field appearing in ForceSendFields will be sent to the
  5652  	// server regardless of whether the field is empty or not. This may be
  5653  	// used to include empty fields in Patch requests.
  5654  	ForceSendFields []string `json:"-"`
  5655  
  5656  	// NullFields is a list of field names (e.g. "FilteredEventIds") to
  5657  	// include in API requests with the JSON null value. By default, fields
  5658  	// with empty values are omitted from API requests. However, any field
  5659  	// with an empty value appearing in NullFields will be sent to the
  5660  	// server as null. It is an error if a field in this list has a
  5661  	// non-empty value. This may be used to include null fields in Patch
  5662  	// requests.
  5663  	NullFields []string `json:"-"`
  5664  }
  5665  
  5666  func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
  5667  	type NoMethod CustomRichMediaEvents
  5668  	raw := NoMethod(*s)
  5669  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5670  }
  5671  
  5672  // DateRange: Represents a date range.
  5673  type DateRange struct {
  5674  	// EndDate: The end date of the date range, inclusive. A string of the
  5675  	// format: "yyyy-MM-dd".
  5676  	EndDate string `json:"endDate,omitempty"`
  5677  
  5678  	// Kind: The kind of resource this is, in this case
  5679  	// dfareporting#dateRange.
  5680  	Kind string `json:"kind,omitempty"`
  5681  
  5682  	// RelativeDateRange: The date range relative to the date of when the
  5683  	// report is run.
  5684  	//
  5685  	// Possible values:
  5686  	//   "LAST_24_MONTHS"
  5687  	//   "LAST_30_DAYS"
  5688  	//   "LAST_365_DAYS"
  5689  	//   "LAST_7_DAYS"
  5690  	//   "LAST_90_DAYS"
  5691  	//   "MONTH_TO_DATE"
  5692  	//   "PREVIOUS_MONTH"
  5693  	//   "PREVIOUS_QUARTER"
  5694  	//   "PREVIOUS_WEEK"
  5695  	//   "PREVIOUS_YEAR"
  5696  	//   "QUARTER_TO_DATE"
  5697  	//   "TODAY"
  5698  	//   "WEEK_TO_DATE"
  5699  	//   "YEAR_TO_DATE"
  5700  	//   "YESTERDAY"
  5701  	RelativeDateRange string `json:"relativeDateRange,omitempty"`
  5702  
  5703  	// StartDate: The start date of the date range, inclusive. A string of
  5704  	// the format: "yyyy-MM-dd".
  5705  	StartDate string `json:"startDate,omitempty"`
  5706  
  5707  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  5708  	// unconditionally include in API requests. By default, fields with
  5709  	// empty values are omitted from API requests. However, any non-pointer,
  5710  	// non-interface field appearing in ForceSendFields will be sent to the
  5711  	// server regardless of whether the field is empty or not. This may be
  5712  	// used to include empty fields in Patch requests.
  5713  	ForceSendFields []string `json:"-"`
  5714  
  5715  	// NullFields is a list of field names (e.g. "EndDate") to include in
  5716  	// API requests with the JSON null value. By default, fields with empty
  5717  	// values are omitted from API requests. However, any field with an
  5718  	// empty value appearing in NullFields will be sent to the server as
  5719  	// null. It is an error if a field in this list has a non-empty value.
  5720  	// This may be used to include null fields in Patch requests.
  5721  	NullFields []string `json:"-"`
  5722  }
  5723  
  5724  func (s *DateRange) MarshalJSON() ([]byte, error) {
  5725  	type NoMethod DateRange
  5726  	raw := NoMethod(*s)
  5727  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5728  }
  5729  
  5730  // DayPartTargeting: Day Part Targeting.
  5731  type DayPartTargeting struct {
  5732  	// DaysOfWeek: Days of the week when the ad will serve.
  5733  	//
  5734  	// Acceptable values are:
  5735  	// - "SUNDAY"
  5736  	// - "MONDAY"
  5737  	// - "TUESDAY"
  5738  	// - "WEDNESDAY"
  5739  	// - "THURSDAY"
  5740  	// - "FRIDAY"
  5741  	// - "SATURDAY"
  5742  	//
  5743  	// Possible values:
  5744  	//   "FRIDAY"
  5745  	//   "MONDAY"
  5746  	//   "SATURDAY"
  5747  	//   "SUNDAY"
  5748  	//   "THURSDAY"
  5749  	//   "TUESDAY"
  5750  	//   "WEDNESDAY"
  5751  	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
  5752  
  5753  	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
  5754  	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
  5755  	// days of week, in which case the ad would serve during these hours on
  5756  	// the specified days. For example if Monday, Wednesday, Friday are the
  5757  	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
  5758  	// specified, the ad would serve Monday, Wednesdays, and Fridays at
  5759  	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
  5760  	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
  5761  
  5762  	// UserLocalTime: Whether or not to use the user's local time. If false,
  5763  	// the America/New York time zone applies.
  5764  	UserLocalTime bool `json:"userLocalTime,omitempty"`
  5765  
  5766  	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
  5767  	// unconditionally include in API requests. By default, fields with
  5768  	// empty values are omitted from API requests. However, any non-pointer,
  5769  	// non-interface field appearing in ForceSendFields will be sent to the
  5770  	// server regardless of whether the field is empty or not. This may be
  5771  	// used to include empty fields in Patch requests.
  5772  	ForceSendFields []string `json:"-"`
  5773  
  5774  	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
  5775  	// API requests with the JSON null value. By default, fields with empty
  5776  	// values are omitted from API requests. However, any field with an
  5777  	// empty value appearing in NullFields will be sent to the server as
  5778  	// null. It is an error if a field in this list has a non-empty value.
  5779  	// This may be used to include null fields in Patch requests.
  5780  	NullFields []string `json:"-"`
  5781  }
  5782  
  5783  func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
  5784  	type NoMethod DayPartTargeting
  5785  	raw := NoMethod(*s)
  5786  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5787  }
  5788  
  5789  // DefaultClickThroughEventTagProperties: Properties of inheriting and
  5790  // overriding the default click-through event tag. A campaign may
  5791  // override the event tag defined at the advertiser level, and an ad may
  5792  // also override the campaign's setting further.
  5793  type DefaultClickThroughEventTagProperties struct {
  5794  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  5795  	// apply to all ads in this entity's scope.
  5796  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  5797  
  5798  	// OverrideInheritedEventTag: Whether this entity should override the
  5799  	// inherited default click-through event tag with its own defined value.
  5800  	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
  5801  
  5802  	// ForceSendFields is a list of field names (e.g.
  5803  	// "DefaultClickThroughEventTagId") to unconditionally include in API
  5804  	// requests. By default, fields with empty values are omitted from API
  5805  	// requests. However, any non-pointer, non-interface field appearing in
  5806  	// ForceSendFields will be sent to the server regardless of whether the
  5807  	// field is empty or not. This may be used to include empty fields in
  5808  	// Patch requests.
  5809  	ForceSendFields []string `json:"-"`
  5810  
  5811  	// NullFields is a list of field names (e.g.
  5812  	// "DefaultClickThroughEventTagId") to include in API requests with the
  5813  	// JSON null value. By default, fields with empty values are omitted
  5814  	// from API requests. However, any field with an empty value appearing
  5815  	// in NullFields will be sent to the server as null. It is an error if a
  5816  	// field in this list has a non-empty value. This may be used to include
  5817  	// null fields in Patch requests.
  5818  	NullFields []string `json:"-"`
  5819  }
  5820  
  5821  func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
  5822  	type NoMethod DefaultClickThroughEventTagProperties
  5823  	raw := NoMethod(*s)
  5824  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5825  }
  5826  
  5827  // DeliverySchedule: Delivery Schedule.
  5828  type DeliverySchedule struct {
  5829  	// FrequencyCap: Limit on the number of times an individual user can be
  5830  	// served the ad within a specified period of time.
  5831  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  5832  
  5833  	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
  5834  	// will not serve after the end date and time. Otherwise the ad will
  5835  	// continue to be served until it has reached its delivery goals.
  5836  	HardCutoff bool `json:"hardCutoff,omitempty"`
  5837  
  5838  	// ImpressionRatio: Impression ratio for this ad. This ratio determines
  5839  	// how often each ad is served relative to the others. For example, if
  5840  	// ad A has an impression ratio of 1 and ad B has an impression ratio of
  5841  	// 3, then DCM will serve ad B three times as often as ad A. Acceptable
  5842  	// values are 1 to 10, inclusive.
  5843  	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
  5844  
  5845  	// Priority: Serving priority of an ad, with respect to other ads. The
  5846  	// lower the priority number, the greater the priority with which it is
  5847  	// served.
  5848  	//
  5849  	// Possible values:
  5850  	//   "AD_PRIORITY_01"
  5851  	//   "AD_PRIORITY_02"
  5852  	//   "AD_PRIORITY_03"
  5853  	//   "AD_PRIORITY_04"
  5854  	//   "AD_PRIORITY_05"
  5855  	//   "AD_PRIORITY_06"
  5856  	//   "AD_PRIORITY_07"
  5857  	//   "AD_PRIORITY_08"
  5858  	//   "AD_PRIORITY_09"
  5859  	//   "AD_PRIORITY_10"
  5860  	//   "AD_PRIORITY_11"
  5861  	//   "AD_PRIORITY_12"
  5862  	//   "AD_PRIORITY_13"
  5863  	//   "AD_PRIORITY_14"
  5864  	//   "AD_PRIORITY_15"
  5865  	//   "AD_PRIORITY_16"
  5866  	Priority string `json:"priority,omitempty"`
  5867  
  5868  	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
  5869  	// unconditionally include in API requests. By default, fields with
  5870  	// empty values are omitted from API requests. However, any non-pointer,
  5871  	// non-interface field appearing in ForceSendFields will be sent to the
  5872  	// server regardless of whether the field is empty or not. This may be
  5873  	// used to include empty fields in Patch requests.
  5874  	ForceSendFields []string `json:"-"`
  5875  
  5876  	// NullFields is a list of field names (e.g. "FrequencyCap") to include
  5877  	// in API requests with the JSON null value. By default, fields with
  5878  	// empty values are omitted from API requests. However, any field with
  5879  	// an empty value appearing in NullFields will be sent to the server as
  5880  	// null. It is an error if a field in this list has a non-empty value.
  5881  	// This may be used to include null fields in Patch requests.
  5882  	NullFields []string `json:"-"`
  5883  }
  5884  
  5885  func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
  5886  	type NoMethod DeliverySchedule
  5887  	raw := NoMethod(*s)
  5888  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5889  }
  5890  
  5891  // DfpSettings: DFP Settings
  5892  type DfpSettings struct {
  5893  	// DfpNetworkCode: DFP network code for this directory site.
  5894  	DfpNetworkCode string `json:"dfp_network_code,omitempty"`
  5895  
  5896  	// DfpNetworkName: DFP network name for this directory site.
  5897  	DfpNetworkName string `json:"dfp_network_name,omitempty"`
  5898  
  5899  	// ProgrammaticPlacementAccepted: Whether this directory site accepts
  5900  	// programmatic placements.
  5901  	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
  5902  
  5903  	// PubPaidPlacementAccepted: Whether this directory site accepts
  5904  	// publisher-paid tags.
  5905  	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
  5906  
  5907  	// PublisherPortalOnly: Whether this directory site is available only
  5908  	// via DoubleClick Publisher Portal.
  5909  	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
  5910  
  5911  	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
  5912  	// unconditionally include in API requests. By default, fields with
  5913  	// empty values are omitted from API requests. However, any non-pointer,
  5914  	// non-interface field appearing in ForceSendFields will be sent to the
  5915  	// server regardless of whether the field is empty or not. This may be
  5916  	// used to include empty fields in Patch requests.
  5917  	ForceSendFields []string `json:"-"`
  5918  
  5919  	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
  5920  	// include in API requests with the JSON null value. By default, fields
  5921  	// with empty values are omitted from API requests. However, any field
  5922  	// with an empty value appearing in NullFields will be sent to the
  5923  	// server as null. It is an error if a field in this list has a
  5924  	// non-empty value. This may be used to include null fields in Patch
  5925  	// requests.
  5926  	NullFields []string `json:"-"`
  5927  }
  5928  
  5929  func (s *DfpSettings) MarshalJSON() ([]byte, error) {
  5930  	type NoMethod DfpSettings
  5931  	raw := NoMethod(*s)
  5932  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5933  }
  5934  
  5935  // Dimension: Represents a dimension.
  5936  type Dimension struct {
  5937  	// Kind: The kind of resource this is, in this case
  5938  	// dfareporting#dimension.
  5939  	Kind string `json:"kind,omitempty"`
  5940  
  5941  	// Name: The dimension name, e.g. dfa:advertiser
  5942  	Name string `json:"name,omitempty"`
  5943  
  5944  	// ForceSendFields is a list of field names (e.g. "Kind") to
  5945  	// unconditionally include in API requests. By default, fields with
  5946  	// empty values are omitted from API requests. However, any non-pointer,
  5947  	// non-interface field appearing in ForceSendFields will be sent to the
  5948  	// server regardless of whether the field is empty or not. This may be
  5949  	// used to include empty fields in Patch requests.
  5950  	ForceSendFields []string `json:"-"`
  5951  
  5952  	// NullFields is a list of field names (e.g. "Kind") to include in API
  5953  	// requests with the JSON null value. By default, fields with empty
  5954  	// values are omitted from API requests. However, any field with an
  5955  	// empty value appearing in NullFields will be sent to the server as
  5956  	// null. It is an error if a field in this list has a non-empty value.
  5957  	// This may be used to include null fields in Patch requests.
  5958  	NullFields []string `json:"-"`
  5959  }
  5960  
  5961  func (s *Dimension) MarshalJSON() ([]byte, error) {
  5962  	type NoMethod Dimension
  5963  	raw := NoMethod(*s)
  5964  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5965  }
  5966  
  5967  // DimensionFilter: Represents a dimension filter.
  5968  type DimensionFilter struct {
  5969  	// DimensionName: The name of the dimension to filter.
  5970  	DimensionName string `json:"dimensionName,omitempty"`
  5971  
  5972  	// Kind: The kind of resource this is, in this case
  5973  	// dfareporting#dimensionFilter.
  5974  	Kind string `json:"kind,omitempty"`
  5975  
  5976  	// Value: The value of the dimension to filter.
  5977  	Value string `json:"value,omitempty"`
  5978  
  5979  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  5980  	// unconditionally include in API requests. By default, fields with
  5981  	// empty values are omitted from API requests. However, any non-pointer,
  5982  	// non-interface field appearing in ForceSendFields will be sent to the
  5983  	// server regardless of whether the field is empty or not. This may be
  5984  	// used to include empty fields in Patch requests.
  5985  	ForceSendFields []string `json:"-"`
  5986  
  5987  	// NullFields is a list of field names (e.g. "DimensionName") to include
  5988  	// in API requests with the JSON null value. By default, fields with
  5989  	// empty values are omitted from API requests. However, any field with
  5990  	// an empty value appearing in NullFields will be sent to the server as
  5991  	// null. It is an error if a field in this list has a non-empty value.
  5992  	// This may be used to include null fields in Patch requests.
  5993  	NullFields []string `json:"-"`
  5994  }
  5995  
  5996  func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
  5997  	type NoMethod DimensionFilter
  5998  	raw := NoMethod(*s)
  5999  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6000  }
  6001  
  6002  // DimensionValue: Represents a DimensionValue resource.
  6003  type DimensionValue struct {
  6004  	// DimensionName: The name of the dimension.
  6005  	DimensionName string `json:"dimensionName,omitempty"`
  6006  
  6007  	// Etag: The eTag of this response for caching purposes.
  6008  	Etag string `json:"etag,omitempty"`
  6009  
  6010  	// Id: The ID associated with the value if available.
  6011  	Id string `json:"id,omitempty"`
  6012  
  6013  	// Kind: The kind of resource this is, in this case
  6014  	// dfareporting#dimensionValue.
  6015  	Kind string `json:"kind,omitempty"`
  6016  
  6017  	// MatchType: Determines how the 'value' field is matched when
  6018  	// filtering. If not specified, defaults to EXACT. If set to
  6019  	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
  6020  	// length character sequences, and it can be escaped with a backslash.
  6021  	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
  6022  	// matchType other than EXACT.
  6023  	//
  6024  	// Possible values:
  6025  	//   "BEGINS_WITH"
  6026  	//   "CONTAINS"
  6027  	//   "EXACT"
  6028  	//   "WILDCARD_EXPRESSION"
  6029  	MatchType string `json:"matchType,omitempty"`
  6030  
  6031  	// Value: The value of the dimension.
  6032  	Value string `json:"value,omitempty"`
  6033  
  6034  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6035  	// unconditionally include in API requests. By default, fields with
  6036  	// empty values are omitted from API requests. However, any non-pointer,
  6037  	// non-interface field appearing in ForceSendFields will be sent to the
  6038  	// server regardless of whether the field is empty or not. This may be
  6039  	// used to include empty fields in Patch requests.
  6040  	ForceSendFields []string `json:"-"`
  6041  
  6042  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6043  	// in API requests with the JSON null value. By default, fields with
  6044  	// empty values are omitted from API requests. However, any field with
  6045  	// an empty value appearing in NullFields will be sent to the server as
  6046  	// null. It is an error if a field in this list has a non-empty value.
  6047  	// This may be used to include null fields in Patch requests.
  6048  	NullFields []string `json:"-"`
  6049  }
  6050  
  6051  func (s *DimensionValue) MarshalJSON() ([]byte, error) {
  6052  	type NoMethod DimensionValue
  6053  	raw := NoMethod(*s)
  6054  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6055  }
  6056  
  6057  // DimensionValueList: Represents the list of DimensionValue resources.
  6058  type DimensionValueList struct {
  6059  	// Etag: The eTag of this response for caching purposes.
  6060  	Etag string `json:"etag,omitempty"`
  6061  
  6062  	// Items: The dimension values returned in this response.
  6063  	Items []*DimensionValue `json:"items,omitempty"`
  6064  
  6065  	// Kind: The kind of list this is, in this case
  6066  	// dfareporting#dimensionValueList.
  6067  	Kind string `json:"kind,omitempty"`
  6068  
  6069  	// NextPageToken: Continuation token used to page through dimension
  6070  	// values. To retrieve the next page of results, set the next request's
  6071  	// "pageToken" to the value of this field. The page token is only valid
  6072  	// for a limited amount of time and should not be persisted.
  6073  	NextPageToken string `json:"nextPageToken,omitempty"`
  6074  
  6075  	// ServerResponse contains the HTTP response code and headers from the
  6076  	// server.
  6077  	googleapi.ServerResponse `json:"-"`
  6078  
  6079  	// ForceSendFields is a list of field names (e.g. "Etag") to
  6080  	// unconditionally include in API requests. By default, fields with
  6081  	// empty values are omitted from API requests. However, any non-pointer,
  6082  	// non-interface field appearing in ForceSendFields will be sent to the
  6083  	// server regardless of whether the field is empty or not. This may be
  6084  	// used to include empty fields in Patch requests.
  6085  	ForceSendFields []string `json:"-"`
  6086  
  6087  	// NullFields is a list of field names (e.g. "Etag") to include in API
  6088  	// requests with the JSON null value. By default, fields with empty
  6089  	// values are omitted from API requests. However, any field with an
  6090  	// empty value appearing in NullFields will be sent to the server as
  6091  	// null. It is an error if a field in this list has a non-empty value.
  6092  	// This may be used to include null fields in Patch requests.
  6093  	NullFields []string `json:"-"`
  6094  }
  6095  
  6096  func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
  6097  	type NoMethod DimensionValueList
  6098  	raw := NoMethod(*s)
  6099  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6100  }
  6101  
  6102  // DimensionValueRequest: Represents a DimensionValuesRequest.
  6103  type DimensionValueRequest struct {
  6104  	// DimensionName: The name of the dimension for which values should be
  6105  	// requested.
  6106  	DimensionName string `json:"dimensionName,omitempty"`
  6107  
  6108  	// EndDate: The end date of the date range for which to retrieve
  6109  	// dimension values. A string of the format "yyyy-MM-dd".
  6110  	EndDate string `json:"endDate,omitempty"`
  6111  
  6112  	// Filters: The list of filters by which to filter values. The filters
  6113  	// are ANDed.
  6114  	Filters []*DimensionFilter `json:"filters,omitempty"`
  6115  
  6116  	// Kind: The kind of request this is, in this case
  6117  	// dfareporting#dimensionValueRequest.
  6118  	Kind string `json:"kind,omitempty"`
  6119  
  6120  	// StartDate: The start date of the date range for which to retrieve
  6121  	// dimension values. A string of the format "yyyy-MM-dd".
  6122  	StartDate string `json:"startDate,omitempty"`
  6123  
  6124  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6125  	// unconditionally include in API requests. By default, fields with
  6126  	// empty values are omitted from API requests. However, any non-pointer,
  6127  	// non-interface field appearing in ForceSendFields will be sent to the
  6128  	// server regardless of whether the field is empty or not. This may be
  6129  	// used to include empty fields in Patch requests.
  6130  	ForceSendFields []string `json:"-"`
  6131  
  6132  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6133  	// in API requests with the JSON null value. By default, fields with
  6134  	// empty values are omitted from API requests. However, any field with
  6135  	// an empty value appearing in NullFields will be sent to the server as
  6136  	// null. It is an error if a field in this list has a non-empty value.
  6137  	// This may be used to include null fields in Patch requests.
  6138  	NullFields []string `json:"-"`
  6139  }
  6140  
  6141  func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
  6142  	type NoMethod DimensionValueRequest
  6143  	raw := NoMethod(*s)
  6144  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6145  }
  6146  
  6147  // DirectorySite: DirectorySites contains properties of a website from
  6148  // the Site Directory. Sites need to be added to an account via the
  6149  // Sites resource before they can be assigned to a placement.
  6150  type DirectorySite struct {
  6151  	// Active: Whether this directory site is active.
  6152  	Active bool `json:"active,omitempty"`
  6153  
  6154  	// ContactAssignments: Directory site contacts.
  6155  	ContactAssignments []*DirectorySiteContactAssignment `json:"contactAssignments,omitempty"`
  6156  
  6157  	// CountryId: Country ID of this directory site. This is a read-only
  6158  	// field.
  6159  	CountryId int64 `json:"countryId,omitempty,string"`
  6160  
  6161  	// CurrencyId: Currency ID of this directory site. This is a read-only
  6162  	// field.
  6163  	// Possible values are:
  6164  	// - "1" for USD
  6165  	// - "2" for GBP
  6166  	// - "3" for ESP
  6167  	// - "4" for SEK
  6168  	// - "5" for CAD
  6169  	// - "6" for JPY
  6170  	// - "7" for DEM
  6171  	// - "8" for AUD
  6172  	// - "9" for FRF
  6173  	// - "10" for ITL
  6174  	// - "11" for DKK
  6175  	// - "12" for NOK
  6176  	// - "13" for FIM
  6177  	// - "14" for ZAR
  6178  	// - "15" for IEP
  6179  	// - "16" for NLG
  6180  	// - "17" for EUR
  6181  	// - "18" for KRW
  6182  	// - "19" for TWD
  6183  	// - "20" for SGD
  6184  	// - "21" for CNY
  6185  	// - "22" for HKD
  6186  	// - "23" for NZD
  6187  	// - "24" for MYR
  6188  	// - "25" for BRL
  6189  	// - "26" for PTE
  6190  	// - "27" for MXP
  6191  	// - "28" for CLP
  6192  	// - "29" for TRY
  6193  	// - "30" for ARS
  6194  	// - "31" for PEN
  6195  	// - "32" for ILS
  6196  	// - "33" for CHF
  6197  	// - "34" for VEF
  6198  	// - "35" for COP
  6199  	// - "36" for GTQ
  6200  	// - "37" for PLN
  6201  	// - "39" for INR
  6202  	// - "40" for THB
  6203  	// - "41" for IDR
  6204  	// - "42" for CZK
  6205  	// - "43" for RON
  6206  	// - "44" for HUF
  6207  	// - "45" for RUB
  6208  	// - "46" for AED
  6209  	// - "47" for BGN
  6210  	// - "48" for HRK
  6211  	// - "49" for MXN
  6212  	// - "50" for NGN
  6213  	CurrencyId int64 `json:"currencyId,omitempty,string"`
  6214  
  6215  	// Description: Description of this directory site. This is a read-only
  6216  	// field.
  6217  	Description string `json:"description,omitempty"`
  6218  
  6219  	// Id: ID of this directory site. This is a read-only, auto-generated
  6220  	// field.
  6221  	Id int64 `json:"id,omitempty,string"`
  6222  
  6223  	// IdDimensionValue: Dimension value for the ID of this directory site.
  6224  	// This is a read-only, auto-generated field.
  6225  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  6226  
  6227  	// InpageTagFormats: Tag types for regular placements.
  6228  	//
  6229  	// Acceptable values are:
  6230  	// - "STANDARD"
  6231  	// - "IFRAME_JAVASCRIPT_INPAGE"
  6232  	// - "INTERNAL_REDIRECT_INPAGE"
  6233  	// - "JAVASCRIPT_INPAGE"
  6234  	//
  6235  	// Possible values:
  6236  	//   "IFRAME_JAVASCRIPT_INPAGE"
  6237  	//   "INTERNAL_REDIRECT_INPAGE"
  6238  	//   "JAVASCRIPT_INPAGE"
  6239  	//   "STANDARD"
  6240  	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
  6241  
  6242  	// InterstitialTagFormats: Tag types for interstitial
  6243  	// placements.
  6244  	//
  6245  	// Acceptable values are:
  6246  	// - "IFRAME_JAVASCRIPT_INTERSTITIAL"
  6247  	// - "INTERNAL_REDIRECT_INTERSTITIAL"
  6248  	// - "JAVASCRIPT_INTERSTITIAL"
  6249  	//
  6250  	// Possible values:
  6251  	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
  6252  	//   "INTERNAL_REDIRECT_INTERSTITIAL"
  6253  	//   "JAVASCRIPT_INTERSTITIAL"
  6254  	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
  6255  
  6256  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6257  	// string "dfareporting#directorySite".
  6258  	Kind string `json:"kind,omitempty"`
  6259  
  6260  	// Name: Name of this directory site.
  6261  	Name string `json:"name,omitempty"`
  6262  
  6263  	// ParentId: Parent directory site ID.
  6264  	ParentId int64 `json:"parentId,omitempty,string"`
  6265  
  6266  	// Settings: Directory site settings.
  6267  	Settings *DirectorySiteSettings `json:"settings,omitempty"`
  6268  
  6269  	// Url: URL of this directory site.
  6270  	Url string `json:"url,omitempty"`
  6271  
  6272  	// ServerResponse contains the HTTP response code and headers from the
  6273  	// server.
  6274  	googleapi.ServerResponse `json:"-"`
  6275  
  6276  	// ForceSendFields is a list of field names (e.g. "Active") to
  6277  	// unconditionally include in API requests. By default, fields with
  6278  	// empty values are omitted from API requests. However, any non-pointer,
  6279  	// non-interface field appearing in ForceSendFields will be sent to the
  6280  	// server regardless of whether the field is empty or not. This may be
  6281  	// used to include empty fields in Patch requests.
  6282  	ForceSendFields []string `json:"-"`
  6283  
  6284  	// NullFields is a list of field names (e.g. "Active") to include in API
  6285  	// requests with the JSON null value. By default, fields with empty
  6286  	// values are omitted from API requests. However, any field with an
  6287  	// empty value appearing in NullFields will be sent to the server as
  6288  	// null. It is an error if a field in this list has a non-empty value.
  6289  	// This may be used to include null fields in Patch requests.
  6290  	NullFields []string `json:"-"`
  6291  }
  6292  
  6293  func (s *DirectorySite) MarshalJSON() ([]byte, error) {
  6294  	type NoMethod DirectorySite
  6295  	raw := NoMethod(*s)
  6296  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6297  }
  6298  
  6299  // DirectorySiteContact: Contains properties of a Site Directory
  6300  // contact.
  6301  type DirectorySiteContact struct {
  6302  	// Address: Address of this directory site contact.
  6303  	Address string `json:"address,omitempty"`
  6304  
  6305  	// Email: Email address of this directory site contact.
  6306  	Email string `json:"email,omitempty"`
  6307  
  6308  	// FirstName: First name of this directory site contact.
  6309  	FirstName string `json:"firstName,omitempty"`
  6310  
  6311  	// Id: ID of this directory site contact. This is a read-only,
  6312  	// auto-generated field.
  6313  	Id int64 `json:"id,omitempty,string"`
  6314  
  6315  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6316  	// string "dfareporting#directorySiteContact".
  6317  	Kind string `json:"kind,omitempty"`
  6318  
  6319  	// LastName: Last name of this directory site contact.
  6320  	LastName string `json:"lastName,omitempty"`
  6321  
  6322  	// Phone: Phone number of this directory site contact.
  6323  	Phone string `json:"phone,omitempty"`
  6324  
  6325  	// Role: Directory site contact role.
  6326  	//
  6327  	// Possible values:
  6328  	//   "ADMIN"
  6329  	//   "EDIT"
  6330  	//   "VIEW"
  6331  	Role string `json:"role,omitempty"`
  6332  
  6333  	// Title: Title or designation of this directory site contact.
  6334  	Title string `json:"title,omitempty"`
  6335  
  6336  	// Type: Directory site contact type.
  6337  	//
  6338  	// Possible values:
  6339  	//   "BILLING"
  6340  	//   "OTHER"
  6341  	//   "SALES"
  6342  	//   "TECHNICAL"
  6343  	Type string `json:"type,omitempty"`
  6344  
  6345  	// ServerResponse contains the HTTP response code and headers from the
  6346  	// server.
  6347  	googleapi.ServerResponse `json:"-"`
  6348  
  6349  	// ForceSendFields is a list of field names (e.g. "Address") to
  6350  	// unconditionally include in API requests. By default, fields with
  6351  	// empty values are omitted from API requests. However, any non-pointer,
  6352  	// non-interface field appearing in ForceSendFields will be sent to the
  6353  	// server regardless of whether the field is empty or not. This may be
  6354  	// used to include empty fields in Patch requests.
  6355  	ForceSendFields []string `json:"-"`
  6356  
  6357  	// NullFields is a list of field names (e.g. "Address") to include in
  6358  	// API requests with the JSON null value. By default, fields with empty
  6359  	// values are omitted from API requests. However, any field with an
  6360  	// empty value appearing in NullFields will be sent to the server as
  6361  	// null. It is an error if a field in this list has a non-empty value.
  6362  	// This may be used to include null fields in Patch requests.
  6363  	NullFields []string `json:"-"`
  6364  }
  6365  
  6366  func (s *DirectorySiteContact) MarshalJSON() ([]byte, error) {
  6367  	type NoMethod DirectorySiteContact
  6368  	raw := NoMethod(*s)
  6369  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6370  }
  6371  
  6372  // DirectorySiteContactAssignment: Directory Site Contact Assignment
  6373  type DirectorySiteContactAssignment struct {
  6374  	// ContactId: ID of this directory site contact. This is a read-only,
  6375  	// auto-generated field.
  6376  	ContactId int64 `json:"contactId,omitempty,string"`
  6377  
  6378  	// Visibility: Visibility of this directory site contact assignment.
  6379  	// When set to PUBLIC this contact assignment is visible to all account
  6380  	// and agency users; when set to PRIVATE it is visible only to the site.
  6381  	//
  6382  	// Possible values:
  6383  	//   "PRIVATE"
  6384  	//   "PUBLIC"
  6385  	Visibility string `json:"visibility,omitempty"`
  6386  
  6387  	// ForceSendFields is a list of field names (e.g. "ContactId") to
  6388  	// unconditionally include in API requests. By default, fields with
  6389  	// empty values are omitted from API requests. However, any non-pointer,
  6390  	// non-interface field appearing in ForceSendFields will be sent to the
  6391  	// server regardless of whether the field is empty or not. This may be
  6392  	// used to include empty fields in Patch requests.
  6393  	ForceSendFields []string `json:"-"`
  6394  
  6395  	// NullFields is a list of field names (e.g. "ContactId") to include in
  6396  	// API requests with the JSON null value. By default, fields with empty
  6397  	// values are omitted from API requests. However, any field with an
  6398  	// empty value appearing in NullFields will be sent to the server as
  6399  	// null. It is an error if a field in this list has a non-empty value.
  6400  	// This may be used to include null fields in Patch requests.
  6401  	NullFields []string `json:"-"`
  6402  }
  6403  
  6404  func (s *DirectorySiteContactAssignment) MarshalJSON() ([]byte, error) {
  6405  	type NoMethod DirectorySiteContactAssignment
  6406  	raw := NoMethod(*s)
  6407  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6408  }
  6409  
  6410  // DirectorySiteContactsListResponse: Directory Site Contact List
  6411  // Response
  6412  type DirectorySiteContactsListResponse struct {
  6413  	// DirectorySiteContacts: Directory site contact collection
  6414  	DirectorySiteContacts []*DirectorySiteContact `json:"directorySiteContacts,omitempty"`
  6415  
  6416  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6417  	// string "dfareporting#directorySiteContactsListResponse".
  6418  	Kind string `json:"kind,omitempty"`
  6419  
  6420  	// NextPageToken: Pagination token to be used for the next list
  6421  	// operation.
  6422  	NextPageToken string `json:"nextPageToken,omitempty"`
  6423  
  6424  	// ServerResponse contains the HTTP response code and headers from the
  6425  	// server.
  6426  	googleapi.ServerResponse `json:"-"`
  6427  
  6428  	// ForceSendFields is a list of field names (e.g.
  6429  	// "DirectorySiteContacts") to unconditionally include in API requests.
  6430  	// By default, fields with empty values are omitted from API requests.
  6431  	// However, any non-pointer, non-interface field appearing in
  6432  	// ForceSendFields will be sent to the server regardless of whether the
  6433  	// field is empty or not. This may be used to include empty fields in
  6434  	// Patch requests.
  6435  	ForceSendFields []string `json:"-"`
  6436  
  6437  	// NullFields is a list of field names (e.g. "DirectorySiteContacts") to
  6438  	// include in API requests with the JSON null value. By default, fields
  6439  	// with empty values are omitted from API requests. However, any field
  6440  	// with an empty value appearing in NullFields will be sent to the
  6441  	// server as null. It is an error if a field in this list has a
  6442  	// non-empty value. This may be used to include null fields in Patch
  6443  	// requests.
  6444  	NullFields []string `json:"-"`
  6445  }
  6446  
  6447  func (s *DirectorySiteContactsListResponse) MarshalJSON() ([]byte, error) {
  6448  	type NoMethod DirectorySiteContactsListResponse
  6449  	raw := NoMethod(*s)
  6450  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6451  }
  6452  
  6453  // DirectorySiteSettings: Directory Site Settings
  6454  type DirectorySiteSettings struct {
  6455  	// ActiveViewOptOut: Whether this directory site has disabled active
  6456  	// view creatives.
  6457  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
  6458  
  6459  	// DfpSettings: Directory site DFP settings.
  6460  	DfpSettings *DfpSettings `json:"dfp_settings,omitempty"`
  6461  
  6462  	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
  6463  	// video ads.
  6464  	InstreamVideoPlacementAccepted bool `json:"instream_video_placement_accepted,omitempty"`
  6465  
  6466  	// InterstitialPlacementAccepted: Whether this site accepts interstitial
  6467  	// ads.
  6468  	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
  6469  
  6470  	// NielsenOcrOptOut: Whether this directory site has disabled Nielsen
  6471  	// OCR reach ratings.
  6472  	NielsenOcrOptOut bool `json:"nielsenOcrOptOut,omitempty"`
  6473  
  6474  	// VerificationTagOptOut: Whether this directory site has disabled
  6475  	// generation of Verification ins tags.
  6476  	VerificationTagOptOut bool `json:"verificationTagOptOut,omitempty"`
  6477  
  6478  	// VideoActiveViewOptOut: Whether this directory site has disabled
  6479  	// active view for in-stream video creatives. This is a read-only field.
  6480  	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
  6481  
  6482  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
  6483  	// unconditionally include in API requests. By default, fields with
  6484  	// empty values are omitted from API requests. However, any non-pointer,
  6485  	// non-interface field appearing in ForceSendFields will be sent to the
  6486  	// server regardless of whether the field is empty or not. This may be
  6487  	// used to include empty fields in Patch requests.
  6488  	ForceSendFields []string `json:"-"`
  6489  
  6490  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
  6491  	// include in API requests with the JSON null value. By default, fields
  6492  	// with empty values are omitted from API requests. However, any field
  6493  	// with an empty value appearing in NullFields will be sent to the
  6494  	// server as null. It is an error if a field in this list has a
  6495  	// non-empty value. This may be used to include null fields in Patch
  6496  	// requests.
  6497  	NullFields []string `json:"-"`
  6498  }
  6499  
  6500  func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
  6501  	type NoMethod DirectorySiteSettings
  6502  	raw := NoMethod(*s)
  6503  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6504  }
  6505  
  6506  // DirectorySitesListResponse: Directory Site List Response
  6507  type DirectorySitesListResponse struct {
  6508  	// DirectorySites: Directory site collection.
  6509  	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
  6510  
  6511  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6512  	// string "dfareporting#directorySitesListResponse".
  6513  	Kind string `json:"kind,omitempty"`
  6514  
  6515  	// NextPageToken: Pagination token to be used for the next list
  6516  	// operation.
  6517  	NextPageToken string `json:"nextPageToken,omitempty"`
  6518  
  6519  	// ServerResponse contains the HTTP response code and headers from the
  6520  	// server.
  6521  	googleapi.ServerResponse `json:"-"`
  6522  
  6523  	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
  6524  	// unconditionally include in API requests. By default, fields with
  6525  	// empty values are omitted from API requests. However, any non-pointer,
  6526  	// non-interface field appearing in ForceSendFields will be sent to the
  6527  	// server regardless of whether the field is empty or not. This may be
  6528  	// used to include empty fields in Patch requests.
  6529  	ForceSendFields []string `json:"-"`
  6530  
  6531  	// NullFields is a list of field names (e.g. "DirectorySites") to
  6532  	// include in API requests with the JSON null value. By default, fields
  6533  	// with empty values are omitted from API requests. However, any field
  6534  	// with an empty value appearing in NullFields will be sent to the
  6535  	// server as null. It is an error if a field in this list has a
  6536  	// non-empty value. This may be used to include null fields in Patch
  6537  	// requests.
  6538  	NullFields []string `json:"-"`
  6539  }
  6540  
  6541  func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
  6542  	type NoMethod DirectorySitesListResponse
  6543  	raw := NoMethod(*s)
  6544  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6545  }
  6546  
  6547  // DynamicTargetingKey: Contains properties of a dynamic targeting key.
  6548  // Dynamic targeting keys are unique, user-friendly labels, created at
  6549  // the advertiser level in DCM, that can be assigned to ads, creatives,
  6550  // and placements and used for targeting with DoubleClick Studio dynamic
  6551  // creatives. Use these labels instead of numeric DCM IDs (such as
  6552  // placement IDs) to save time and avoid errors in your dynamic feeds.
  6553  type DynamicTargetingKey struct {
  6554  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6555  	// string "dfareporting#dynamicTargetingKey".
  6556  	Kind string `json:"kind,omitempty"`
  6557  
  6558  	// Name: Name of this dynamic targeting key. This is a required field.
  6559  	// Must be less than 256 characters long and cannot contain commas. All
  6560  	// characters are converted to lowercase.
  6561  	Name string `json:"name,omitempty"`
  6562  
  6563  	// ObjectId: ID of the object of this dynamic targeting key. This is a
  6564  	// required field.
  6565  	ObjectId int64 `json:"objectId,omitempty,string"`
  6566  
  6567  	// ObjectType: Type of the object of this dynamic targeting key. This is
  6568  	// a required field.
  6569  	//
  6570  	// Possible values:
  6571  	//   "OBJECT_AD"
  6572  	//   "OBJECT_ADVERTISER"
  6573  	//   "OBJECT_CREATIVE"
  6574  	//   "OBJECT_PLACEMENT"
  6575  	ObjectType string `json:"objectType,omitempty"`
  6576  
  6577  	// ServerResponse contains the HTTP response code and headers from the
  6578  	// server.
  6579  	googleapi.ServerResponse `json:"-"`
  6580  
  6581  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6582  	// unconditionally include in API requests. By default, fields with
  6583  	// empty values are omitted from API requests. However, any non-pointer,
  6584  	// non-interface field appearing in ForceSendFields will be sent to the
  6585  	// server regardless of whether the field is empty or not. This may be
  6586  	// used to include empty fields in Patch requests.
  6587  	ForceSendFields []string `json:"-"`
  6588  
  6589  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6590  	// requests with the JSON null value. By default, fields with empty
  6591  	// values are omitted from API requests. However, any field with an
  6592  	// empty value appearing in NullFields will be sent to the server as
  6593  	// null. It is an error if a field in this list has a non-empty value.
  6594  	// This may be used to include null fields in Patch requests.
  6595  	NullFields []string `json:"-"`
  6596  }
  6597  
  6598  func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
  6599  	type NoMethod DynamicTargetingKey
  6600  	raw := NoMethod(*s)
  6601  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6602  }
  6603  
  6604  // DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
  6605  type DynamicTargetingKeysListResponse struct {
  6606  	// DynamicTargetingKeys: Dynamic targeting key collection.
  6607  	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
  6608  
  6609  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6610  	// string "dfareporting#dynamicTargetingKeysListResponse".
  6611  	Kind string `json:"kind,omitempty"`
  6612  
  6613  	// ServerResponse contains the HTTP response code and headers from the
  6614  	// server.
  6615  	googleapi.ServerResponse `json:"-"`
  6616  
  6617  	// ForceSendFields is a list of field names (e.g.
  6618  	// "DynamicTargetingKeys") to unconditionally include in API requests.
  6619  	// By default, fields with empty values are omitted from API requests.
  6620  	// However, any non-pointer, non-interface field appearing in
  6621  	// ForceSendFields will be sent to the server regardless of whether the
  6622  	// field is empty or not. This may be used to include empty fields in
  6623  	// Patch requests.
  6624  	ForceSendFields []string `json:"-"`
  6625  
  6626  	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
  6627  	// include in API requests with the JSON null value. By default, fields
  6628  	// with empty values are omitted from API requests. However, any field
  6629  	// with an empty value appearing in NullFields will be sent to the
  6630  	// server as null. It is an error if a field in this list has a
  6631  	// non-empty value. This may be used to include null fields in Patch
  6632  	// requests.
  6633  	NullFields []string `json:"-"`
  6634  }
  6635  
  6636  func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
  6637  	type NoMethod DynamicTargetingKeysListResponse
  6638  	raw := NoMethod(*s)
  6639  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6640  }
  6641  
  6642  // EncryptionInfo: A description of how user IDs are encrypted.
  6643  type EncryptionInfo struct {
  6644  	// EncryptionEntityId: The encryption entity ID. This should match the
  6645  	// encryption configuration for ad serving or Data Transfer.
  6646  	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
  6647  
  6648  	// EncryptionEntityType: The encryption entity type. This should match
  6649  	// the encryption configuration for ad serving or Data Transfer.
  6650  	//
  6651  	// Possible values:
  6652  	//   "ADWORDS_CUSTOMER"
  6653  	//   "DBM_ADVERTISER"
  6654  	//   "DBM_PARTNER"
  6655  	//   "DCM_ACCOUNT"
  6656  	//   "DCM_ADVERTISER"
  6657  	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
  6658  	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
  6659  
  6660  	// EncryptionSource: Describes whether the encrypted cookie was received
  6661  	// from ad serving (the %m macro) or from Data Transfer.
  6662  	//
  6663  	// Possible values:
  6664  	//   "AD_SERVING"
  6665  	//   "DATA_TRANSFER"
  6666  	//   "ENCRYPTION_SCOPE_UNKNOWN"
  6667  	EncryptionSource string `json:"encryptionSource,omitempty"`
  6668  
  6669  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6670  	// string "dfareporting#encryptionInfo".
  6671  	Kind string `json:"kind,omitempty"`
  6672  
  6673  	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
  6674  	// to unconditionally include in API requests. By default, fields with
  6675  	// empty values are omitted from API requests. However, any non-pointer,
  6676  	// non-interface field appearing in ForceSendFields will be sent to the
  6677  	// server regardless of whether the field is empty or not. This may be
  6678  	// used to include empty fields in Patch requests.
  6679  	ForceSendFields []string `json:"-"`
  6680  
  6681  	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
  6682  	// include in API requests with the JSON null value. By default, fields
  6683  	// with empty values are omitted from API requests. However, any field
  6684  	// with an empty value appearing in NullFields will be sent to the
  6685  	// server as null. It is an error if a field in this list has a
  6686  	// non-empty value. This may be used to include null fields in Patch
  6687  	// requests.
  6688  	NullFields []string `json:"-"`
  6689  }
  6690  
  6691  func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
  6692  	type NoMethod EncryptionInfo
  6693  	raw := NoMethod(*s)
  6694  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6695  }
  6696  
  6697  // EventTag: Contains properties of an event tag.
  6698  type EventTag struct {
  6699  	// AccountId: Account ID of this event tag. This is a read-only field
  6700  	// that can be left blank.
  6701  	AccountId int64 `json:"accountId,omitempty,string"`
  6702  
  6703  	// AdvertiserId: Advertiser ID of this event tag. This field or the
  6704  	// campaignId field is required on insertion.
  6705  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  6706  
  6707  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  6708  	// advertiser. This is a read-only, auto-generated field.
  6709  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  6710  
  6711  	// CampaignId: Campaign ID of this event tag. This field or the
  6712  	// advertiserId field is required on insertion.
  6713  	CampaignId int64 `json:"campaignId,omitempty,string"`
  6714  
  6715  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  6716  	// This is a read-only, auto-generated field.
  6717  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  6718  
  6719  	// EnabledByDefault: Whether this event tag should be automatically
  6720  	// enabled for all of the advertiser's campaigns and ads.
  6721  	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
  6722  
  6723  	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
  6724  	// that are trafficked through DoubleClick Bid Manager to Ad Exchange.
  6725  	// This may be useful if the event tag uses a pixel that is unapproved
  6726  	// for Ad Exchange bids on one or more networks, such as the Google
  6727  	// Display Network.
  6728  	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
  6729  
  6730  	// Id: ID of this event tag. This is a read-only, auto-generated field.
  6731  	Id int64 `json:"id,omitempty,string"`
  6732  
  6733  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6734  	// string "dfareporting#eventTag".
  6735  	Kind string `json:"kind,omitempty"`
  6736  
  6737  	// Name: Name of this event tag. This is a required field and must be
  6738  	// less than 256 characters long.
  6739  	Name string `json:"name,omitempty"`
  6740  
  6741  	// SiteFilterType: Site filter type for this event tag. If no type is
  6742  	// specified then the event tag will be applied to all sites.
  6743  	//
  6744  	// Possible values:
  6745  	//   "BLACKLIST"
  6746  	//   "WHITELIST"
  6747  	SiteFilterType string `json:"siteFilterType,omitempty"`
  6748  
  6749  	// SiteIds: Filter list of site IDs associated with this event tag. The
  6750  	// siteFilterType determines whether this is a whitelist or blacklist
  6751  	// filter.
  6752  	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
  6753  
  6754  	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
  6755  	// read-only field.
  6756  	SslCompliant bool `json:"sslCompliant,omitempty"`
  6757  
  6758  	// Status: Status of this event tag. Must be ENABLED for this event tag
  6759  	// to fire. This is a required field.
  6760  	//
  6761  	// Possible values:
  6762  	//   "DISABLED"
  6763  	//   "ENABLED"
  6764  	Status string `json:"status,omitempty"`
  6765  
  6766  	// SubaccountId: Subaccount ID of this event tag. This is a read-only
  6767  	// field that can be left blank.
  6768  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  6769  
  6770  	// Type: Event tag type. Can be used to specify whether to use a
  6771  	// third-party pixel, a third-party JavaScript URL, or a third-party
  6772  	// click-through URL for either impression or click tracking. This is a
  6773  	// required field.
  6774  	//
  6775  	// Possible values:
  6776  	//   "CLICK_THROUGH_EVENT_TAG"
  6777  	//   "IMPRESSION_IMAGE_EVENT_TAG"
  6778  	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
  6779  	Type string `json:"type,omitempty"`
  6780  
  6781  	// Url: Payload URL for this event tag. The URL on a click-through event
  6782  	// tag should have a landing page URL appended to the end of it. This
  6783  	// field is required on insertion.
  6784  	Url string `json:"url,omitempty"`
  6785  
  6786  	// UrlEscapeLevels: Number of times the landing page URL should be
  6787  	// URL-escaped before being appended to the click-through event tag URL.
  6788  	// Only applies to click-through event tags as specified by the event
  6789  	// tag type.
  6790  	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
  6791  
  6792  	// ServerResponse contains the HTTP response code and headers from the
  6793  	// server.
  6794  	googleapi.ServerResponse `json:"-"`
  6795  
  6796  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  6797  	// unconditionally include in API requests. By default, fields with
  6798  	// empty values are omitted from API requests. However, any non-pointer,
  6799  	// non-interface field appearing in ForceSendFields will be sent to the
  6800  	// server regardless of whether the field is empty or not. This may be
  6801  	// used to include empty fields in Patch requests.
  6802  	ForceSendFields []string `json:"-"`
  6803  
  6804  	// NullFields is a list of field names (e.g. "AccountId") to include in
  6805  	// API requests with the JSON null value. By default, fields with empty
  6806  	// values are omitted from API requests. However, any field with an
  6807  	// empty value appearing in NullFields will be sent to the server as
  6808  	// null. It is an error if a field in this list has a non-empty value.
  6809  	// This may be used to include null fields in Patch requests.
  6810  	NullFields []string `json:"-"`
  6811  }
  6812  
  6813  func (s *EventTag) MarshalJSON() ([]byte, error) {
  6814  	type NoMethod EventTag
  6815  	raw := NoMethod(*s)
  6816  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6817  }
  6818  
  6819  // EventTagOverride: Event tag override information.
  6820  type EventTagOverride struct {
  6821  	// Enabled: Whether this override is enabled.
  6822  	Enabled bool `json:"enabled,omitempty"`
  6823  
  6824  	// Id: ID of this event tag override. This is a read-only,
  6825  	// auto-generated field.
  6826  	Id int64 `json:"id,omitempty,string"`
  6827  
  6828  	// ForceSendFields is a list of field names (e.g. "Enabled") to
  6829  	// unconditionally include in API requests. By default, fields with
  6830  	// empty values are omitted from API requests. However, any non-pointer,
  6831  	// non-interface field appearing in ForceSendFields will be sent to the
  6832  	// server regardless of whether the field is empty or not. This may be
  6833  	// used to include empty fields in Patch requests.
  6834  	ForceSendFields []string `json:"-"`
  6835  
  6836  	// NullFields is a list of field names (e.g. "Enabled") to include in
  6837  	// API requests with the JSON null value. By default, fields with empty
  6838  	// values are omitted from API requests. However, any field with an
  6839  	// empty value appearing in NullFields will be sent to the server as
  6840  	// null. It is an error if a field in this list has a non-empty value.
  6841  	// This may be used to include null fields in Patch requests.
  6842  	NullFields []string `json:"-"`
  6843  }
  6844  
  6845  func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
  6846  	type NoMethod EventTagOverride
  6847  	raw := NoMethod(*s)
  6848  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6849  }
  6850  
  6851  // EventTagsListResponse: Event Tag List Response
  6852  type EventTagsListResponse struct {
  6853  	// EventTags: Event tag collection.
  6854  	EventTags []*EventTag `json:"eventTags,omitempty"`
  6855  
  6856  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6857  	// string "dfareporting#eventTagsListResponse".
  6858  	Kind string `json:"kind,omitempty"`
  6859  
  6860  	// ServerResponse contains the HTTP response code and headers from the
  6861  	// server.
  6862  	googleapi.ServerResponse `json:"-"`
  6863  
  6864  	// ForceSendFields is a list of field names (e.g. "EventTags") to
  6865  	// unconditionally include in API requests. By default, fields with
  6866  	// empty values are omitted from API requests. However, any non-pointer,
  6867  	// non-interface field appearing in ForceSendFields will be sent to the
  6868  	// server regardless of whether the field is empty or not. This may be
  6869  	// used to include empty fields in Patch requests.
  6870  	ForceSendFields []string `json:"-"`
  6871  
  6872  	// NullFields is a list of field names (e.g. "EventTags") to include in
  6873  	// API requests with the JSON null value. By default, fields with empty
  6874  	// values are omitted from API requests. However, any field with an
  6875  	// empty value appearing in NullFields will be sent to the server as
  6876  	// null. It is an error if a field in this list has a non-empty value.
  6877  	// This may be used to include null fields in Patch requests.
  6878  	NullFields []string `json:"-"`
  6879  }
  6880  
  6881  func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
  6882  	type NoMethod EventTagsListResponse
  6883  	raw := NoMethod(*s)
  6884  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6885  }
  6886  
  6887  // File: Represents a File resource. A file contains the metadata for a
  6888  // report run. It shows the status of the run and holds the URLs to the
  6889  // generated report data if the run is finished and the status is
  6890  // "REPORT_AVAILABLE".
  6891  type File struct {
  6892  	// DateRange: The date range for which the file has report data. The
  6893  	// date range will always be the absolute date range for which the
  6894  	// report is run.
  6895  	DateRange *DateRange `json:"dateRange,omitempty"`
  6896  
  6897  	// Etag: The eTag of this response for caching purposes.
  6898  	Etag string `json:"etag,omitempty"`
  6899  
  6900  	// FileName: The filename of the file.
  6901  	FileName string `json:"fileName,omitempty"`
  6902  
  6903  	// Format: The output format of the report. Only available once the file
  6904  	// is available.
  6905  	//
  6906  	// Possible values:
  6907  	//   "CSV"
  6908  	//   "EXCEL"
  6909  	Format string `json:"format,omitempty"`
  6910  
  6911  	// Id: The unique ID of this report file.
  6912  	Id int64 `json:"id,omitempty,string"`
  6913  
  6914  	// Kind: The kind of resource this is, in this case dfareporting#file.
  6915  	Kind string `json:"kind,omitempty"`
  6916  
  6917  	// LastModifiedTime: The timestamp in milliseconds since epoch when this
  6918  	// file was last modified.
  6919  	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
  6920  
  6921  	// ReportId: The ID of the report this file was generated from.
  6922  	ReportId int64 `json:"reportId,omitempty,string"`
  6923  
  6924  	// Status: The status of the report file.
  6925  	//
  6926  	// Possible values:
  6927  	//   "CANCELLED"
  6928  	//   "FAILED"
  6929  	//   "PROCESSING"
  6930  	//   "REPORT_AVAILABLE"
  6931  	Status string `json:"status,omitempty"`
  6932  
  6933  	// Urls: The URLs where the completed report file can be downloaded.
  6934  	Urls *FileUrls `json:"urls,omitempty"`
  6935  
  6936  	// ServerResponse contains the HTTP response code and headers from the
  6937  	// server.
  6938  	googleapi.ServerResponse `json:"-"`
  6939  
  6940  	// ForceSendFields is a list of field names (e.g. "DateRange") to
  6941  	// unconditionally include in API requests. By default, fields with
  6942  	// empty values are omitted from API requests. However, any non-pointer,
  6943  	// non-interface field appearing in ForceSendFields will be sent to the
  6944  	// server regardless of whether the field is empty or not. This may be
  6945  	// used to include empty fields in Patch requests.
  6946  	ForceSendFields []string `json:"-"`
  6947  
  6948  	// NullFields is a list of field names (e.g. "DateRange") to include in
  6949  	// API requests with the JSON null value. By default, fields with empty
  6950  	// values are omitted from API requests. However, any field with an
  6951  	// empty value appearing in NullFields will be sent to the server as
  6952  	// null. It is an error if a field in this list has a non-empty value.
  6953  	// This may be used to include null fields in Patch requests.
  6954  	NullFields []string `json:"-"`
  6955  }
  6956  
  6957  func (s *File) MarshalJSON() ([]byte, error) {
  6958  	type NoMethod File
  6959  	raw := NoMethod(*s)
  6960  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6961  }
  6962  
  6963  // FileUrls: The URLs where the completed report file can be downloaded.
  6964  type FileUrls struct {
  6965  	// ApiUrl: The URL for downloading the report data through the API.
  6966  	ApiUrl string `json:"apiUrl,omitempty"`
  6967  
  6968  	// BrowserUrl: The URL for downloading the report data through a
  6969  	// browser.
  6970  	BrowserUrl string `json:"browserUrl,omitempty"`
  6971  
  6972  	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
  6973  	// unconditionally include in API requests. By default, fields with
  6974  	// empty values are omitted from API requests. However, any non-pointer,
  6975  	// non-interface field appearing in ForceSendFields will be sent to the
  6976  	// server regardless of whether the field is empty or not. This may be
  6977  	// used to include empty fields in Patch requests.
  6978  	ForceSendFields []string `json:"-"`
  6979  
  6980  	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
  6981  	// requests with the JSON null value. By default, fields with empty
  6982  	// values are omitted from API requests. However, any field with an
  6983  	// empty value appearing in NullFields will be sent to the server as
  6984  	// null. It is an error if a field in this list has a non-empty value.
  6985  	// This may be used to include null fields in Patch requests.
  6986  	NullFields []string `json:"-"`
  6987  }
  6988  
  6989  func (s *FileUrls) MarshalJSON() ([]byte, error) {
  6990  	type NoMethod FileUrls
  6991  	raw := NoMethod(*s)
  6992  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6993  }
  6994  
  6995  // FileList: Represents the list of File resources.
  6996  type FileList struct {
  6997  	// Etag: The eTag of this response for caching purposes.
  6998  	Etag string `json:"etag,omitempty"`
  6999  
  7000  	// Items: The files returned in this response.
  7001  	Items []*File `json:"items,omitempty"`
  7002  
  7003  	// Kind: The kind of list this is, in this case dfareporting#fileList.
  7004  	Kind string `json:"kind,omitempty"`
  7005  
  7006  	// NextPageToken: Continuation token used to page through files. To
  7007  	// retrieve the next page of results, set the next request's "pageToken"
  7008  	// to the value of this field. The page token is only valid for a
  7009  	// limited amount of time and should not be persisted.
  7010  	NextPageToken string `json:"nextPageToken,omitempty"`
  7011  
  7012  	// ServerResponse contains the HTTP response code and headers from the
  7013  	// server.
  7014  	googleapi.ServerResponse `json:"-"`
  7015  
  7016  	// ForceSendFields is a list of field names (e.g. "Etag") to
  7017  	// unconditionally include in API requests. By default, fields with
  7018  	// empty values are omitted from API requests. However, any non-pointer,
  7019  	// non-interface field appearing in ForceSendFields will be sent to the
  7020  	// server regardless of whether the field is empty or not. This may be
  7021  	// used to include empty fields in Patch requests.
  7022  	ForceSendFields []string `json:"-"`
  7023  
  7024  	// NullFields is a list of field names (e.g. "Etag") to include in API
  7025  	// requests with the JSON null value. By default, fields with empty
  7026  	// values are omitted from API requests. However, any field with an
  7027  	// empty value appearing in NullFields will be sent to the server as
  7028  	// null. It is an error if a field in this list has a non-empty value.
  7029  	// This may be used to include null fields in Patch requests.
  7030  	NullFields []string `json:"-"`
  7031  }
  7032  
  7033  func (s *FileList) MarshalJSON() ([]byte, error) {
  7034  	type NoMethod FileList
  7035  	raw := NoMethod(*s)
  7036  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7037  }
  7038  
  7039  // Flight: Flight
  7040  type Flight struct {
  7041  	// EndDate: Inventory item flight end date.
  7042  	EndDate string `json:"endDate,omitempty"`
  7043  
  7044  	// RateOrCost: Rate or cost of this flight.
  7045  	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
  7046  
  7047  	// StartDate: Inventory item flight start date.
  7048  	StartDate string `json:"startDate,omitempty"`
  7049  
  7050  	// Units: Units of this flight.
  7051  	Units int64 `json:"units,omitempty,string"`
  7052  
  7053  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  7054  	// unconditionally include in API requests. By default, fields with
  7055  	// empty values are omitted from API requests. However, any non-pointer,
  7056  	// non-interface field appearing in ForceSendFields will be sent to the
  7057  	// server regardless of whether the field is empty or not. This may be
  7058  	// used to include empty fields in Patch requests.
  7059  	ForceSendFields []string `json:"-"`
  7060  
  7061  	// NullFields is a list of field names (e.g. "EndDate") to include in
  7062  	// API requests with the JSON null value. By default, fields with empty
  7063  	// values are omitted from API requests. However, any field with an
  7064  	// empty value appearing in NullFields will be sent to the server as
  7065  	// null. It is an error if a field in this list has a non-empty value.
  7066  	// This may be used to include null fields in Patch requests.
  7067  	NullFields []string `json:"-"`
  7068  }
  7069  
  7070  func (s *Flight) MarshalJSON() ([]byte, error) {
  7071  	type NoMethod Flight
  7072  	raw := NoMethod(*s)
  7073  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7074  }
  7075  
  7076  // FloodlightActivitiesGenerateTagResponse: Floodlight Activity
  7077  // GenerateTag Response
  7078  type FloodlightActivitiesGenerateTagResponse struct {
  7079  	// FloodlightActivityTag: Generated tag for this Floodlight activity.
  7080  	// For global site tags, this is the event snippet.
  7081  	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
  7082  
  7083  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7084  	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
  7085  	Kind string `json:"kind,omitempty"`
  7086  
  7087  	// ServerResponse contains the HTTP response code and headers from the
  7088  	// server.
  7089  	googleapi.ServerResponse `json:"-"`
  7090  
  7091  	// ForceSendFields is a list of field names (e.g.
  7092  	// "FloodlightActivityTag") to unconditionally include in API requests.
  7093  	// By default, fields with empty values are omitted from API requests.
  7094  	// However, any non-pointer, non-interface field appearing in
  7095  	// ForceSendFields will be sent to the server regardless of whether the
  7096  	// field is empty or not. This may be used to include empty fields in
  7097  	// Patch requests.
  7098  	ForceSendFields []string `json:"-"`
  7099  
  7100  	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
  7101  	// include in API requests with the JSON null value. By default, fields
  7102  	// with empty values are omitted from API requests. However, any field
  7103  	// with an empty value appearing in NullFields will be sent to the
  7104  	// server as null. It is an error if a field in this list has a
  7105  	// non-empty value. This may be used to include null fields in Patch
  7106  	// requests.
  7107  	NullFields []string `json:"-"`
  7108  }
  7109  
  7110  func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
  7111  	type NoMethod FloodlightActivitiesGenerateTagResponse
  7112  	raw := NoMethod(*s)
  7113  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7114  }
  7115  
  7116  // FloodlightActivitiesListResponse: Floodlight Activity List Response
  7117  type FloodlightActivitiesListResponse struct {
  7118  	// FloodlightActivities: Floodlight activity collection.
  7119  	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
  7120  
  7121  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7122  	// string "dfareporting#floodlightActivitiesListResponse".
  7123  	Kind string `json:"kind,omitempty"`
  7124  
  7125  	// NextPageToken: Pagination token to be used for the next list
  7126  	// operation.
  7127  	NextPageToken string `json:"nextPageToken,omitempty"`
  7128  
  7129  	// ServerResponse contains the HTTP response code and headers from the
  7130  	// server.
  7131  	googleapi.ServerResponse `json:"-"`
  7132  
  7133  	// ForceSendFields is a list of field names (e.g.
  7134  	// "FloodlightActivities") to unconditionally include in API requests.
  7135  	// By default, fields with empty values are omitted from API requests.
  7136  	// However, any non-pointer, non-interface field appearing in
  7137  	// ForceSendFields will be sent to the server regardless of whether the
  7138  	// field is empty or not. This may be used to include empty fields in
  7139  	// Patch requests.
  7140  	ForceSendFields []string `json:"-"`
  7141  
  7142  	// NullFields is a list of field names (e.g. "FloodlightActivities") to
  7143  	// include in API requests with the JSON null value. By default, fields
  7144  	// with empty values are omitted from API requests. However, any field
  7145  	// with an empty value appearing in NullFields will be sent to the
  7146  	// server as null. It is an error if a field in this list has a
  7147  	// non-empty value. This may be used to include null fields in Patch
  7148  	// requests.
  7149  	NullFields []string `json:"-"`
  7150  }
  7151  
  7152  func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
  7153  	type NoMethod FloodlightActivitiesListResponse
  7154  	raw := NoMethod(*s)
  7155  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7156  }
  7157  
  7158  // FloodlightActivity: Contains properties of a Floodlight activity.
  7159  type FloodlightActivity struct {
  7160  	// AccountId: Account ID of this floodlight activity. This is a
  7161  	// read-only field that can be left blank.
  7162  	AccountId int64 `json:"accountId,omitempty,string"`
  7163  
  7164  	// AdvertiserId: Advertiser ID of this floodlight activity. If this
  7165  	// field is left blank, the value will be copied over either from the
  7166  	// activity group's advertiser or the existing activity's advertiser.
  7167  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7168  
  7169  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7170  	// advertiser. This is a read-only, auto-generated field.
  7171  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7172  
  7173  	// CacheBustingType: Code type used for cache busting in the generated
  7174  	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
  7175  	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
  7176  	//
  7177  	// Possible values:
  7178  	//   "ACTIVE_SERVER_PAGE"
  7179  	//   "COLD_FUSION"
  7180  	//   "JAVASCRIPT"
  7181  	//   "JSP"
  7182  	//   "PHP"
  7183  	CacheBustingType string `json:"cacheBustingType,omitempty"`
  7184  
  7185  	// CountingMethod: Counting method for conversions for this floodlight
  7186  	// activity. This is a required field.
  7187  	//
  7188  	// Possible values:
  7189  	//   "ITEMS_SOLD_COUNTING"
  7190  	//   "SESSION_COUNTING"
  7191  	//   "STANDARD_COUNTING"
  7192  	//   "TRANSACTIONS_COUNTING"
  7193  	//   "UNIQUE_COUNTING"
  7194  	CountingMethod string `json:"countingMethod,omitempty"`
  7195  
  7196  	// DefaultTags: Dynamic floodlight tags.
  7197  	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
  7198  
  7199  	// ExpectedUrl: URL where this tag will be deployed. If specified, must
  7200  	// be less than 256 characters long.
  7201  	ExpectedUrl string `json:"expectedUrl,omitempty"`
  7202  
  7203  	// FloodlightActivityGroupId: Floodlight activity group ID of this
  7204  	// floodlight activity. This is a required field.
  7205  	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
  7206  
  7207  	// FloodlightActivityGroupName: Name of the associated floodlight
  7208  	// activity group. This is a read-only field.
  7209  	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
  7210  
  7211  	// FloodlightActivityGroupTagString: Tag string of the associated
  7212  	// floodlight activity group. This is a read-only field.
  7213  	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
  7214  
  7215  	// FloodlightActivityGroupType: Type of the associated floodlight
  7216  	// activity group. This is a read-only field.
  7217  	//
  7218  	// Possible values:
  7219  	//   "COUNTER"
  7220  	//   "SALE"
  7221  	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
  7222  
  7223  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7224  	// floodlight activity. If this field is left blank, the value will be
  7225  	// copied over either from the activity group's floodlight configuration
  7226  	// or from the existing activity's floodlight configuration.
  7227  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7228  
  7229  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7230  	// of the floodlight configuration. This is a read-only, auto-generated
  7231  	// field.
  7232  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7233  
  7234  	// Hidden: Whether this activity is archived.
  7235  	Hidden bool `json:"hidden,omitempty"`
  7236  
  7237  	// Id: ID of this floodlight activity. This is a read-only,
  7238  	// auto-generated field.
  7239  	Id int64 `json:"id,omitempty,string"`
  7240  
  7241  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7242  	// activity. This is a read-only, auto-generated field.
  7243  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7244  
  7245  	// ImageTagEnabled: Whether the image tag is enabled for this activity.
  7246  	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
  7247  
  7248  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7249  	// string "dfareporting#floodlightActivity".
  7250  	Kind string `json:"kind,omitempty"`
  7251  
  7252  	// Name: Name of this floodlight activity. This is a required field.
  7253  	// Must be less than 129 characters long and cannot contain quotes.
  7254  	Name string `json:"name,omitempty"`
  7255  
  7256  	// Notes: General notes or implementation instructions for the tag.
  7257  	Notes string `json:"notes,omitempty"`
  7258  
  7259  	// PublisherTags: Publisher dynamic floodlight tags.
  7260  	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
  7261  
  7262  	// Secure: Whether this tag should use SSL.
  7263  	Secure bool `json:"secure,omitempty"`
  7264  
  7265  	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
  7266  	// is a read-only field, its value detected by the system from the
  7267  	// floodlight tags.
  7268  	SslCompliant bool `json:"sslCompliant,omitempty"`
  7269  
  7270  	// SslRequired: Whether this floodlight activity must be SSL-compliant.
  7271  	SslRequired bool `json:"sslRequired,omitempty"`
  7272  
  7273  	// SubaccountId: Subaccount ID of this floodlight activity. This is a
  7274  	// read-only field that can be left blank.
  7275  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7276  
  7277  	// TagFormat: Tag format type for the floodlight activity. If left
  7278  	// blank, the tag format will default to HTML.
  7279  	//
  7280  	// Possible values:
  7281  	//   "HTML"
  7282  	//   "XHTML"
  7283  	TagFormat string `json:"tagFormat,omitempty"`
  7284  
  7285  	// TagString: Value of the cat= parameter in the floodlight tag, which
  7286  	// the ad servers use to identify the activity. This is optional: if
  7287  	// empty, a new tag string will be generated for you. This string must
  7288  	// be 1 to 8 characters long, with valid characters being
  7289  	// [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among
  7290  	// activities of the same activity group. This field is read-only after
  7291  	// insertion.
  7292  	TagString string `json:"tagString,omitempty"`
  7293  
  7294  	// UserDefinedVariableTypes: List of the user-defined variables used by
  7295  	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
  7296  	// of these can have a user defined type.
  7297  	// Acceptable values are U1 to U100, inclusive.
  7298  	//
  7299  	// Possible values:
  7300  	//   "U1"
  7301  	//   "U10"
  7302  	//   "U100"
  7303  	//   "U11"
  7304  	//   "U12"
  7305  	//   "U13"
  7306  	//   "U14"
  7307  	//   "U15"
  7308  	//   "U16"
  7309  	//   "U17"
  7310  	//   "U18"
  7311  	//   "U19"
  7312  	//   "U2"
  7313  	//   "U20"
  7314  	//   "U21"
  7315  	//   "U22"
  7316  	//   "U23"
  7317  	//   "U24"
  7318  	//   "U25"
  7319  	//   "U26"
  7320  	//   "U27"
  7321  	//   "U28"
  7322  	//   "U29"
  7323  	//   "U3"
  7324  	//   "U30"
  7325  	//   "U31"
  7326  	//   "U32"
  7327  	//   "U33"
  7328  	//   "U34"
  7329  	//   "U35"
  7330  	//   "U36"
  7331  	//   "U37"
  7332  	//   "U38"
  7333  	//   "U39"
  7334  	//   "U4"
  7335  	//   "U40"
  7336  	//   "U41"
  7337  	//   "U42"
  7338  	//   "U43"
  7339  	//   "U44"
  7340  	//   "U45"
  7341  	//   "U46"
  7342  	//   "U47"
  7343  	//   "U48"
  7344  	//   "U49"
  7345  	//   "U5"
  7346  	//   "U50"
  7347  	//   "U51"
  7348  	//   "U52"
  7349  	//   "U53"
  7350  	//   "U54"
  7351  	//   "U55"
  7352  	//   "U56"
  7353  	//   "U57"
  7354  	//   "U58"
  7355  	//   "U59"
  7356  	//   "U6"
  7357  	//   "U60"
  7358  	//   "U61"
  7359  	//   "U62"
  7360  	//   "U63"
  7361  	//   "U64"
  7362  	//   "U65"
  7363  	//   "U66"
  7364  	//   "U67"
  7365  	//   "U68"
  7366  	//   "U69"
  7367  	//   "U7"
  7368  	//   "U70"
  7369  	//   "U71"
  7370  	//   "U72"
  7371  	//   "U73"
  7372  	//   "U74"
  7373  	//   "U75"
  7374  	//   "U76"
  7375  	//   "U77"
  7376  	//   "U78"
  7377  	//   "U79"
  7378  	//   "U8"
  7379  	//   "U80"
  7380  	//   "U81"
  7381  	//   "U82"
  7382  	//   "U83"
  7383  	//   "U84"
  7384  	//   "U85"
  7385  	//   "U86"
  7386  	//   "U87"
  7387  	//   "U88"
  7388  	//   "U89"
  7389  	//   "U9"
  7390  	//   "U90"
  7391  	//   "U91"
  7392  	//   "U92"
  7393  	//   "U93"
  7394  	//   "U94"
  7395  	//   "U95"
  7396  	//   "U96"
  7397  	//   "U97"
  7398  	//   "U98"
  7399  	//   "U99"
  7400  	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
  7401  
  7402  	// ServerResponse contains the HTTP response code and headers from the
  7403  	// server.
  7404  	googleapi.ServerResponse `json:"-"`
  7405  
  7406  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7407  	// unconditionally include in API requests. By default, fields with
  7408  	// empty values are omitted from API requests. However, any non-pointer,
  7409  	// non-interface field appearing in ForceSendFields will be sent to the
  7410  	// server regardless of whether the field is empty or not. This may be
  7411  	// used to include empty fields in Patch requests.
  7412  	ForceSendFields []string `json:"-"`
  7413  
  7414  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7415  	// API requests with the JSON null value. By default, fields with empty
  7416  	// values are omitted from API requests. However, any field with an
  7417  	// empty value appearing in NullFields will be sent to the server as
  7418  	// null. It is an error if a field in this list has a non-empty value.
  7419  	// This may be used to include null fields in Patch requests.
  7420  	NullFields []string `json:"-"`
  7421  }
  7422  
  7423  func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
  7424  	type NoMethod FloodlightActivity
  7425  	raw := NoMethod(*s)
  7426  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7427  }
  7428  
  7429  // FloodlightActivityDynamicTag: Dynamic Tag
  7430  type FloodlightActivityDynamicTag struct {
  7431  	// Id: ID of this dynamic tag. This is a read-only, auto-generated
  7432  	// field.
  7433  	Id int64 `json:"id,omitempty,string"`
  7434  
  7435  	// Name: Name of this tag.
  7436  	Name string `json:"name,omitempty"`
  7437  
  7438  	// Tag: Tag code.
  7439  	Tag string `json:"tag,omitempty"`
  7440  
  7441  	// ForceSendFields is a list of field names (e.g. "Id") to
  7442  	// unconditionally include in API requests. By default, fields with
  7443  	// empty values are omitted from API requests. However, any non-pointer,
  7444  	// non-interface field appearing in ForceSendFields will be sent to the
  7445  	// server regardless of whether the field is empty or not. This may be
  7446  	// used to include empty fields in Patch requests.
  7447  	ForceSendFields []string `json:"-"`
  7448  
  7449  	// NullFields is a list of field names (e.g. "Id") to include in API
  7450  	// requests with the JSON null value. By default, fields with empty
  7451  	// values are omitted from API requests. However, any field with an
  7452  	// empty value appearing in NullFields will be sent to the server as
  7453  	// null. It is an error if a field in this list has a non-empty value.
  7454  	// This may be used to include null fields in Patch requests.
  7455  	NullFields []string `json:"-"`
  7456  }
  7457  
  7458  func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
  7459  	type NoMethod FloodlightActivityDynamicTag
  7460  	raw := NoMethod(*s)
  7461  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7462  }
  7463  
  7464  // FloodlightActivityGroup: Contains properties of a Floodlight activity
  7465  // group.
  7466  type FloodlightActivityGroup struct {
  7467  	// AccountId: Account ID of this floodlight activity group. This is a
  7468  	// read-only field that can be left blank.
  7469  	AccountId int64 `json:"accountId,omitempty,string"`
  7470  
  7471  	// AdvertiserId: Advertiser ID of this floodlight activity group. If
  7472  	// this field is left blank, the value will be copied over either from
  7473  	// the floodlight configuration's advertiser or from the existing
  7474  	// activity group's advertiser.
  7475  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7476  
  7477  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7478  	// advertiser. This is a read-only, auto-generated field.
  7479  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7480  
  7481  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7482  	// floodlight activity group. This is a required field.
  7483  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7484  
  7485  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7486  	// of the floodlight configuration. This is a read-only, auto-generated
  7487  	// field.
  7488  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7489  
  7490  	// Id: ID of this floodlight activity group. This is a read-only,
  7491  	// auto-generated field.
  7492  	Id int64 `json:"id,omitempty,string"`
  7493  
  7494  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7495  	// activity group. This is a read-only, auto-generated field.
  7496  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7497  
  7498  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7499  	// string "dfareporting#floodlightActivityGroup".
  7500  	Kind string `json:"kind,omitempty"`
  7501  
  7502  	// Name: Name of this floodlight activity group. This is a required
  7503  	// field. Must be less than 65 characters long and cannot contain
  7504  	// quotes.
  7505  	Name string `json:"name,omitempty"`
  7506  
  7507  	// SubaccountId: Subaccount ID of this floodlight activity group. This
  7508  	// is a read-only field that can be left blank.
  7509  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7510  
  7511  	// TagString: Value of the type= parameter in the floodlight tag, which
  7512  	// the ad servers use to identify the activity group that the activity
  7513  	// belongs to. This is optional: if empty, a new tag string will be
  7514  	// generated for you. This string must be 1 to 8 characters long, with
  7515  	// valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must
  7516  	// also be unique among activity groups of the same floodlight
  7517  	// configuration. This field is read-only after insertion.
  7518  	TagString string `json:"tagString,omitempty"`
  7519  
  7520  	// Type: Type of the floodlight activity group. This is a required field
  7521  	// that is read-only after insertion.
  7522  	//
  7523  	// Possible values:
  7524  	//   "COUNTER"
  7525  	//   "SALE"
  7526  	Type string `json:"type,omitempty"`
  7527  
  7528  	// ServerResponse contains the HTTP response code and headers from the
  7529  	// server.
  7530  	googleapi.ServerResponse `json:"-"`
  7531  
  7532  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7533  	// unconditionally include in API requests. By default, fields with
  7534  	// empty values are omitted from API requests. However, any non-pointer,
  7535  	// non-interface field appearing in ForceSendFields will be sent to the
  7536  	// server regardless of whether the field is empty or not. This may be
  7537  	// used to include empty fields in Patch requests.
  7538  	ForceSendFields []string `json:"-"`
  7539  
  7540  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7541  	// API requests with the JSON null value. By default, fields with empty
  7542  	// values are omitted from API requests. However, any field with an
  7543  	// empty value appearing in NullFields will be sent to the server as
  7544  	// null. It is an error if a field in this list has a non-empty value.
  7545  	// This may be used to include null fields in Patch requests.
  7546  	NullFields []string `json:"-"`
  7547  }
  7548  
  7549  func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
  7550  	type NoMethod FloodlightActivityGroup
  7551  	raw := NoMethod(*s)
  7552  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7553  }
  7554  
  7555  // FloodlightActivityGroupsListResponse: Floodlight Activity Group List
  7556  // Response
  7557  type FloodlightActivityGroupsListResponse struct {
  7558  	// FloodlightActivityGroups: Floodlight activity group collection.
  7559  	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
  7560  
  7561  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7562  	// string "dfareporting#floodlightActivityGroupsListResponse".
  7563  	Kind string `json:"kind,omitempty"`
  7564  
  7565  	// NextPageToken: Pagination token to be used for the next list
  7566  	// operation.
  7567  	NextPageToken string `json:"nextPageToken,omitempty"`
  7568  
  7569  	// ServerResponse contains the HTTP response code and headers from the
  7570  	// server.
  7571  	googleapi.ServerResponse `json:"-"`
  7572  
  7573  	// ForceSendFields is a list of field names (e.g.
  7574  	// "FloodlightActivityGroups") to unconditionally include in API
  7575  	// requests. By default, fields with empty values are omitted from API
  7576  	// requests. However, any non-pointer, non-interface field appearing in
  7577  	// ForceSendFields will be sent to the server regardless of whether the
  7578  	// field is empty or not. This may be used to include empty fields in
  7579  	// Patch requests.
  7580  	ForceSendFields []string `json:"-"`
  7581  
  7582  	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
  7583  	// to include in API requests with the JSON null value. By default,
  7584  	// fields with empty values are omitted from API requests. However, any
  7585  	// field with an empty value appearing in NullFields will be sent to the
  7586  	// server as null. It is an error if a field in this list has a
  7587  	// non-empty value. This may be used to include null fields in Patch
  7588  	// requests.
  7589  	NullFields []string `json:"-"`
  7590  }
  7591  
  7592  func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
  7593  	type NoMethod FloodlightActivityGroupsListResponse
  7594  	raw := NoMethod(*s)
  7595  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7596  }
  7597  
  7598  // FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
  7599  type FloodlightActivityPublisherDynamicTag struct {
  7600  	// ClickThrough: Whether this tag is applicable only for click-throughs.
  7601  	ClickThrough bool `json:"clickThrough,omitempty"`
  7602  
  7603  	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
  7604  	// write-only field that can be used as an alternative to the siteId
  7605  	// field. When this resource is retrieved, only the siteId field will be
  7606  	// populated.
  7607  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  7608  
  7609  	// DynamicTag: Dynamic floodlight tag.
  7610  	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
  7611  
  7612  	// SiteId: Site ID of this dynamic tag.
  7613  	SiteId int64 `json:"siteId,omitempty,string"`
  7614  
  7615  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  7616  	// a read-only, auto-generated field.
  7617  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  7618  
  7619  	// ViewThrough: Whether this tag is applicable only for view-throughs.
  7620  	ViewThrough bool `json:"viewThrough,omitempty"`
  7621  
  7622  	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
  7623  	// unconditionally include in API requests. By default, fields with
  7624  	// empty values are omitted from API requests. However, any non-pointer,
  7625  	// non-interface field appearing in ForceSendFields will be sent to the
  7626  	// server regardless of whether the field is empty or not. This may be
  7627  	// used to include empty fields in Patch requests.
  7628  	ForceSendFields []string `json:"-"`
  7629  
  7630  	// NullFields is a list of field names (e.g. "ClickThrough") to include
  7631  	// in API requests with the JSON null value. By default, fields with
  7632  	// empty values are omitted from API requests. However, any field with
  7633  	// an empty value appearing in NullFields will be sent to the server as
  7634  	// null. It is an error if a field in this list has a non-empty value.
  7635  	// This may be used to include null fields in Patch requests.
  7636  	NullFields []string `json:"-"`
  7637  }
  7638  
  7639  func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
  7640  	type NoMethod FloodlightActivityPublisherDynamicTag
  7641  	raw := NoMethod(*s)
  7642  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7643  }
  7644  
  7645  // FloodlightConfiguration: Contains properties of a Floodlight
  7646  // configuration.
  7647  type FloodlightConfiguration struct {
  7648  	// AccountId: Account ID of this floodlight configuration. This is a
  7649  	// read-only field that can be left blank.
  7650  	AccountId int64 `json:"accountId,omitempty,string"`
  7651  
  7652  	// AdvertiserId: Advertiser ID of the parent advertiser of this
  7653  	// floodlight configuration.
  7654  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7655  
  7656  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7657  	// advertiser. This is a read-only, auto-generated field.
  7658  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7659  
  7660  	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
  7661  	// Google Analytics.
  7662  	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
  7663  
  7664  	// ExposureToConversionEnabled: Whether the exposure-to-conversion
  7665  	// report is enabled. This report shows detailed pathway information on
  7666  	// up to 10 of the most recent ad exposures seen by a user before
  7667  	// converting.
  7668  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
  7669  
  7670  	// FirstDayOfWeek: Day that will be counted as the first day of the week
  7671  	// in reports. This is a required field.
  7672  	//
  7673  	// Possible values:
  7674  	//   "MONDAY"
  7675  	//   "SUNDAY"
  7676  	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
  7677  
  7678  	// Id: ID of this floodlight configuration. This is a read-only,
  7679  	// auto-generated field.
  7680  	Id int64 `json:"id,omitempty,string"`
  7681  
  7682  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7683  	// configuration. This is a read-only, auto-generated field.
  7684  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7685  
  7686  	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
  7687  	// is enabled.
  7688  	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
  7689  
  7690  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7691  	// string "dfareporting#floodlightConfiguration".
  7692  	Kind string `json:"kind,omitempty"`
  7693  
  7694  	// LookbackConfiguration: Lookback window settings for this floodlight
  7695  	// configuration.
  7696  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  7697  
  7698  	// NaturalSearchConversionAttributionOption: Types of attribution
  7699  	// options for natural search conversions.
  7700  	//
  7701  	// Possible values:
  7702  	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  7703  	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  7704  	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
  7705  	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
  7706  
  7707  	// OmnitureSettings: Settings for DCM Omniture integration.
  7708  	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
  7709  
  7710  	// StandardVariableTypes: List of standard variables enabled for this
  7711  	// configuration.
  7712  	//
  7713  	// Acceptable values are:
  7714  	// - "ORD"
  7715  	// - "NUM"
  7716  	//
  7717  	// Possible values:
  7718  	//   "NUM"
  7719  	//   "ORD"
  7720  	//   "TRAN"
  7721  	//   "U"
  7722  	StandardVariableTypes []string `json:"standardVariableTypes,omitempty"`
  7723  
  7724  	// SubaccountId: Subaccount ID of this floodlight configuration. This is
  7725  	// a read-only field that can be left blank.
  7726  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7727  
  7728  	// TagSettings: Configuration settings for dynamic and image floodlight
  7729  	// tags.
  7730  	TagSettings *TagSettings `json:"tagSettings,omitempty"`
  7731  
  7732  	// ThirdPartyAuthenticationTokens: List of third-party authentication
  7733  	// tokens enabled for this configuration.
  7734  	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
  7735  
  7736  	// UserDefinedVariableConfigurations: List of user defined variables
  7737  	// enabled for this configuration.
  7738  	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
  7739  
  7740  	// ServerResponse contains the HTTP response code and headers from the
  7741  	// server.
  7742  	googleapi.ServerResponse `json:"-"`
  7743  
  7744  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7745  	// unconditionally include in API requests. By default, fields with
  7746  	// empty values are omitted from API requests. However, any non-pointer,
  7747  	// non-interface field appearing in ForceSendFields will be sent to the
  7748  	// server regardless of whether the field is empty or not. This may be
  7749  	// used to include empty fields in Patch requests.
  7750  	ForceSendFields []string `json:"-"`
  7751  
  7752  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7753  	// API requests with the JSON null value. By default, fields with empty
  7754  	// values are omitted from API requests. However, any field with an
  7755  	// empty value appearing in NullFields will be sent to the server as
  7756  	// null. It is an error if a field in this list has a non-empty value.
  7757  	// This may be used to include null fields in Patch requests.
  7758  	NullFields []string `json:"-"`
  7759  }
  7760  
  7761  func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
  7762  	type NoMethod FloodlightConfiguration
  7763  	raw := NoMethod(*s)
  7764  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7765  }
  7766  
  7767  // FloodlightConfigurationsListResponse: Floodlight Configuration List
  7768  // Response
  7769  type FloodlightConfigurationsListResponse struct {
  7770  	// FloodlightConfigurations: Floodlight configuration collection.
  7771  	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
  7772  
  7773  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7774  	// string "dfareporting#floodlightConfigurationsListResponse".
  7775  	Kind string `json:"kind,omitempty"`
  7776  
  7777  	// ServerResponse contains the HTTP response code and headers from the
  7778  	// server.
  7779  	googleapi.ServerResponse `json:"-"`
  7780  
  7781  	// ForceSendFields is a list of field names (e.g.
  7782  	// "FloodlightConfigurations") to unconditionally include in API
  7783  	// requests. By default, fields with empty values are omitted from API
  7784  	// requests. However, any non-pointer, non-interface field appearing in
  7785  	// ForceSendFields will be sent to the server regardless of whether the
  7786  	// field is empty or not. This may be used to include empty fields in
  7787  	// Patch requests.
  7788  	ForceSendFields []string `json:"-"`
  7789  
  7790  	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
  7791  	// to include in API requests with the JSON null value. By default,
  7792  	// fields with empty values are omitted from API requests. However, any
  7793  	// field with an empty value appearing in NullFields will be sent to the
  7794  	// server as null. It is an error if a field in this list has a
  7795  	// non-empty value. This may be used to include null fields in Patch
  7796  	// requests.
  7797  	NullFields []string `json:"-"`
  7798  }
  7799  
  7800  func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
  7801  	type NoMethod FloodlightConfigurationsListResponse
  7802  	raw := NoMethod(*s)
  7803  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7804  }
  7805  
  7806  // FloodlightReportCompatibleFields: Represents fields that are
  7807  // compatible to be selected for a report of type "FlOODLIGHT".
  7808  type FloodlightReportCompatibleFields struct {
  7809  	// DimensionFilters: Dimensions which are compatible to be selected in
  7810  	// the "dimensionFilters" section of the report.
  7811  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  7812  
  7813  	// Dimensions: Dimensions which are compatible to be selected in the
  7814  	// "dimensions" section of the report.
  7815  	Dimensions []*Dimension `json:"dimensions,omitempty"`
  7816  
  7817  	// Kind: The kind of resource this is, in this case
  7818  	// dfareporting#floodlightReportCompatibleFields.
  7819  	Kind string `json:"kind,omitempty"`
  7820  
  7821  	// Metrics: Metrics which are compatible to be selected in the
  7822  	// "metricNames" section of the report.
  7823  	Metrics []*Metric `json:"metrics,omitempty"`
  7824  
  7825  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
  7826  	// unconditionally include in API requests. By default, fields with
  7827  	// empty values are omitted from API requests. However, any non-pointer,
  7828  	// non-interface field appearing in ForceSendFields will be sent to the
  7829  	// server regardless of whether the field is empty or not. This may be
  7830  	// used to include empty fields in Patch requests.
  7831  	ForceSendFields []string `json:"-"`
  7832  
  7833  	// NullFields is a list of field names (e.g. "DimensionFilters") to
  7834  	// include in API requests with the JSON null value. By default, fields
  7835  	// with empty values are omitted from API requests. However, any field
  7836  	// with an empty value appearing in NullFields will be sent to the
  7837  	// server as null. It is an error if a field in this list has a
  7838  	// non-empty value. This may be used to include null fields in Patch
  7839  	// requests.
  7840  	NullFields []string `json:"-"`
  7841  }
  7842  
  7843  func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
  7844  	type NoMethod FloodlightReportCompatibleFields
  7845  	raw := NoMethod(*s)
  7846  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7847  }
  7848  
  7849  // FrequencyCap: Frequency Cap.
  7850  type FrequencyCap struct {
  7851  	// Duration: Duration of time, in seconds, for this frequency cap. The
  7852  	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
  7853  	// inclusive.
  7854  	Duration int64 `json:"duration,omitempty,string"`
  7855  
  7856  	// Impressions: Number of times an individual user can be served the ad
  7857  	// within the specified duration. Acceptable values are 1 to 15,
  7858  	// inclusive.
  7859  	Impressions int64 `json:"impressions,omitempty,string"`
  7860  
  7861  	// ForceSendFields is a list of field names (e.g. "Duration") to
  7862  	// unconditionally include in API requests. By default, fields with
  7863  	// empty values are omitted from API requests. However, any non-pointer,
  7864  	// non-interface field appearing in ForceSendFields will be sent to the
  7865  	// server regardless of whether the field is empty or not. This may be
  7866  	// used to include empty fields in Patch requests.
  7867  	ForceSendFields []string `json:"-"`
  7868  
  7869  	// NullFields is a list of field names (e.g. "Duration") to include in
  7870  	// API requests with the JSON null value. By default, fields with empty
  7871  	// values are omitted from API requests. However, any field with an
  7872  	// empty value appearing in NullFields will be sent to the server as
  7873  	// null. It is an error if a field in this list has a non-empty value.
  7874  	// This may be used to include null fields in Patch requests.
  7875  	NullFields []string `json:"-"`
  7876  }
  7877  
  7878  func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
  7879  	type NoMethod FrequencyCap
  7880  	raw := NoMethod(*s)
  7881  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7882  }
  7883  
  7884  // FsCommand: FsCommand.
  7885  type FsCommand struct {
  7886  	// Left: Distance from the left of the browser.Applicable when
  7887  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  7888  	Left int64 `json:"left,omitempty"`
  7889  
  7890  	// PositionOption: Position in the browser where the window will open.
  7891  	//
  7892  	// Possible values:
  7893  	//   "CENTERED"
  7894  	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
  7895  	PositionOption string `json:"positionOption,omitempty"`
  7896  
  7897  	// Top: Distance from the top of the browser. Applicable when
  7898  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  7899  	Top int64 `json:"top,omitempty"`
  7900  
  7901  	// WindowHeight: Height of the window.
  7902  	WindowHeight int64 `json:"windowHeight,omitempty"`
  7903  
  7904  	// WindowWidth: Width of the window.
  7905  	WindowWidth int64 `json:"windowWidth,omitempty"`
  7906  
  7907  	// ForceSendFields is a list of field names (e.g. "Left") to
  7908  	// unconditionally include in API requests. By default, fields with
  7909  	// empty values are omitted from API requests. However, any non-pointer,
  7910  	// non-interface field appearing in ForceSendFields will be sent to the
  7911  	// server regardless of whether the field is empty or not. This may be
  7912  	// used to include empty fields in Patch requests.
  7913  	ForceSendFields []string `json:"-"`
  7914  
  7915  	// NullFields is a list of field names (e.g. "Left") to include in API
  7916  	// requests with the JSON null value. By default, fields with empty
  7917  	// values are omitted from API requests. However, any field with an
  7918  	// empty value appearing in NullFields will be sent to the server as
  7919  	// null. It is an error if a field in this list has a non-empty value.
  7920  	// This may be used to include null fields in Patch requests.
  7921  	NullFields []string `json:"-"`
  7922  }
  7923  
  7924  func (s *FsCommand) MarshalJSON() ([]byte, error) {
  7925  	type NoMethod FsCommand
  7926  	raw := NoMethod(*s)
  7927  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7928  }
  7929  
  7930  // GeoTargeting: Geographical Targeting.
  7931  type GeoTargeting struct {
  7932  	// Cities: Cities to be targeted. For each city only dartId is required.
  7933  	// The other fields are populated automatically when the ad is inserted
  7934  	// or updated. If targeting a city, do not target or exclude the country
  7935  	// of the city, and do not target the metro or region of the city.
  7936  	Cities []*City `json:"cities,omitempty"`
  7937  
  7938  	// Countries: Countries to be targeted or excluded from targeting,
  7939  	// depending on the setting of the excludeCountries field. For each
  7940  	// country only dartId is required. The other fields are populated
  7941  	// automatically when the ad is inserted or updated. If targeting or
  7942  	// excluding a country, do not target regions, cities, metros, or postal
  7943  	// codes in the same country.
  7944  	Countries []*Country `json:"countries,omitempty"`
  7945  
  7946  	// ExcludeCountries: Whether or not to exclude the countries in the
  7947  	// countries field from targeting. If false, the countries field refers
  7948  	// to countries which will be targeted by the ad.
  7949  	ExcludeCountries bool `json:"excludeCountries,omitempty"`
  7950  
  7951  	// Metros: Metros to be targeted. For each metro only dmaId is required.
  7952  	// The other fields are populated automatically when the ad is inserted
  7953  	// or updated. If targeting a metro, do not target or exclude the
  7954  	// country of the metro.
  7955  	Metros []*Metro `json:"metros,omitempty"`
  7956  
  7957  	// PostalCodes: Postal codes to be targeted. For each postal code only
  7958  	// id is required. The other fields are populated automatically when the
  7959  	// ad is inserted or updated. If targeting a postal code, do not target
  7960  	// or exclude the country of the postal code.
  7961  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
  7962  
  7963  	// Regions: Regions to be targeted. For each region only dartId is
  7964  	// required. The other fields are populated automatically when the ad is
  7965  	// inserted or updated. If targeting a region, do not target or exclude
  7966  	// the country of the region.
  7967  	Regions []*Region `json:"regions,omitempty"`
  7968  
  7969  	// ForceSendFields is a list of field names (e.g. "Cities") to
  7970  	// unconditionally include in API requests. By default, fields with
  7971  	// empty values are omitted from API requests. However, any non-pointer,
  7972  	// non-interface field appearing in ForceSendFields will be sent to the
  7973  	// server regardless of whether the field is empty or not. This may be
  7974  	// used to include empty fields in Patch requests.
  7975  	ForceSendFields []string `json:"-"`
  7976  
  7977  	// NullFields is a list of field names (e.g. "Cities") to include in API
  7978  	// requests with the JSON null value. By default, fields with empty
  7979  	// values are omitted from API requests. However, any field with an
  7980  	// empty value appearing in NullFields will be sent to the server as
  7981  	// null. It is an error if a field in this list has a non-empty value.
  7982  	// This may be used to include null fields in Patch requests.
  7983  	NullFields []string `json:"-"`
  7984  }
  7985  
  7986  func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
  7987  	type NoMethod GeoTargeting
  7988  	raw := NoMethod(*s)
  7989  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7990  }
  7991  
  7992  // InventoryItem: Represents a buy from the DoubleClick Planning
  7993  // inventory store.
  7994  type InventoryItem struct {
  7995  	// AccountId: Account ID of this inventory item.
  7996  	AccountId int64 `json:"accountId,omitempty,string"`
  7997  
  7998  	// AdSlots: Ad slots of this inventory item. If this inventory item
  7999  	// represents a standalone placement, there will be exactly one ad slot.
  8000  	// If this inventory item represents a placement group, there will be
  8001  	// more than one ad slot, each representing one child placement in that
  8002  	// placement group.
  8003  	AdSlots []*AdSlot `json:"adSlots,omitempty"`
  8004  
  8005  	// AdvertiserId: Advertiser ID of this inventory item.
  8006  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8007  
  8008  	// ContentCategoryId: Content category ID of this inventory item.
  8009  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  8010  
  8011  	// EstimatedClickThroughRate: Estimated click-through rate of this
  8012  	// inventory item.
  8013  	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
  8014  
  8015  	// EstimatedConversionRate: Estimated conversion rate of this inventory
  8016  	// item.
  8017  	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
  8018  
  8019  	// Id: ID of this inventory item.
  8020  	Id int64 `json:"id,omitempty,string"`
  8021  
  8022  	// InPlan: Whether this inventory item is in plan.
  8023  	InPlan bool `json:"inPlan,omitempty"`
  8024  
  8025  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8026  	// string "dfareporting#inventoryItem".
  8027  	Kind string `json:"kind,omitempty"`
  8028  
  8029  	// LastModifiedInfo: Information about the most recent modification of
  8030  	// this inventory item.
  8031  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  8032  
  8033  	// Name: Name of this inventory item. For standalone inventory items,
  8034  	// this is the same name as that of its only ad slot. For group
  8035  	// inventory items, this can differ from the name of any of its ad
  8036  	// slots.
  8037  	Name string `json:"name,omitempty"`
  8038  
  8039  	// NegotiationChannelId: Negotiation channel ID of this inventory item.
  8040  	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
  8041  
  8042  	// OrderId: Order ID of this inventory item.
  8043  	OrderId int64 `json:"orderId,omitempty,string"`
  8044  
  8045  	// PlacementStrategyId: Placement strategy ID of this inventory item.
  8046  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  8047  
  8048  	// Pricing: Pricing of this inventory item.
  8049  	Pricing *Pricing `json:"pricing,omitempty"`
  8050  
  8051  	// ProjectId: Project ID of this inventory item.
  8052  	ProjectId int64 `json:"projectId,omitempty,string"`
  8053  
  8054  	// RfpId: RFP ID of this inventory item.
  8055  	RfpId int64 `json:"rfpId,omitempty,string"`
  8056  
  8057  	// SiteId: ID of the site this inventory item is associated with.
  8058  	SiteId int64 `json:"siteId,omitempty,string"`
  8059  
  8060  	// SubaccountId: Subaccount ID of this inventory item.
  8061  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  8062  
  8063  	// Type: Type of inventory item.
  8064  	//
  8065  	// Possible values:
  8066  	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
  8067  	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
  8068  	Type string `json:"type,omitempty"`
  8069  
  8070  	// ServerResponse contains the HTTP response code and headers from the
  8071  	// server.
  8072  	googleapi.ServerResponse `json:"-"`
  8073  
  8074  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  8075  	// unconditionally include in API requests. By default, fields with
  8076  	// empty values are omitted from API requests. However, any non-pointer,
  8077  	// non-interface field appearing in ForceSendFields will be sent to the
  8078  	// server regardless of whether the field is empty or not. This may be
  8079  	// used to include empty fields in Patch requests.
  8080  	ForceSendFields []string `json:"-"`
  8081  
  8082  	// NullFields is a list of field names (e.g. "AccountId") to include in
  8083  	// API requests with the JSON null value. By default, fields with empty
  8084  	// values are omitted from API requests. However, any field with an
  8085  	// empty value appearing in NullFields will be sent to the server as
  8086  	// null. It is an error if a field in this list has a non-empty value.
  8087  	// This may be used to include null fields in Patch requests.
  8088  	NullFields []string `json:"-"`
  8089  }
  8090  
  8091  func (s *InventoryItem) MarshalJSON() ([]byte, error) {
  8092  	type NoMethod InventoryItem
  8093  	raw := NoMethod(*s)
  8094  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8095  }
  8096  
  8097  // InventoryItemsListResponse: Inventory item List Response
  8098  type InventoryItemsListResponse struct {
  8099  	// InventoryItems: Inventory item collection
  8100  	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
  8101  
  8102  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8103  	// string "dfareporting#inventoryItemsListResponse".
  8104  	Kind string `json:"kind,omitempty"`
  8105  
  8106  	// NextPageToken: Pagination token to be used for the next list
  8107  	// operation.
  8108  	NextPageToken string `json:"nextPageToken,omitempty"`
  8109  
  8110  	// ServerResponse contains the HTTP response code and headers from the
  8111  	// server.
  8112  	googleapi.ServerResponse `json:"-"`
  8113  
  8114  	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
  8115  	// unconditionally include in API requests. By default, fields with
  8116  	// empty values are omitted from API requests. However, any non-pointer,
  8117  	// non-interface field appearing in ForceSendFields will be sent to the
  8118  	// server regardless of whether the field is empty or not. This may be
  8119  	// used to include empty fields in Patch requests.
  8120  	ForceSendFields []string `json:"-"`
  8121  
  8122  	// NullFields is a list of field names (e.g. "InventoryItems") to
  8123  	// include in API requests with the JSON null value. By default, fields
  8124  	// with empty values are omitted from API requests. However, any field
  8125  	// with an empty value appearing in NullFields will be sent to the
  8126  	// server as null. It is an error if a field in this list has a
  8127  	// non-empty value. This may be used to include null fields in Patch
  8128  	// requests.
  8129  	NullFields []string `json:"-"`
  8130  }
  8131  
  8132  func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
  8133  	type NoMethod InventoryItemsListResponse
  8134  	raw := NoMethod(*s)
  8135  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8136  }
  8137  
  8138  // KeyValueTargetingExpression: Key Value Targeting Expression.
  8139  type KeyValueTargetingExpression struct {
  8140  	// Expression: Keyword expression being targeted by the ad.
  8141  	Expression string `json:"expression,omitempty"`
  8142  
  8143  	// ForceSendFields is a list of field names (e.g. "Expression") to
  8144  	// unconditionally include in API requests. By default, fields with
  8145  	// empty values are omitted from API requests. However, any non-pointer,
  8146  	// non-interface field appearing in ForceSendFields will be sent to the
  8147  	// server regardless of whether the field is empty or not. This may be
  8148  	// used to include empty fields in Patch requests.
  8149  	ForceSendFields []string `json:"-"`
  8150  
  8151  	// NullFields is a list of field names (e.g. "Expression") to include in
  8152  	// API requests with the JSON null value. By default, fields with empty
  8153  	// values are omitted from API requests. However, any field with an
  8154  	// empty value appearing in NullFields will be sent to the server as
  8155  	// null. It is an error if a field in this list has a non-empty value.
  8156  	// This may be used to include null fields in Patch requests.
  8157  	NullFields []string `json:"-"`
  8158  }
  8159  
  8160  func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
  8161  	type NoMethod KeyValueTargetingExpression
  8162  	raw := NoMethod(*s)
  8163  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8164  }
  8165  
  8166  // LandingPage: Contains information about where a user's browser is
  8167  // taken after the user clicks an ad.
  8168  type LandingPage struct {
  8169  	// Default: Whether or not this landing page will be assigned to any ads
  8170  	// or creatives that do not have a landing page assigned explicitly.
  8171  	// Only one default landing page is allowed per campaign.
  8172  	Default bool `json:"default,omitempty"`
  8173  
  8174  	// Id: ID of this landing page. This is a read-only, auto-generated
  8175  	// field.
  8176  	Id int64 `json:"id,omitempty,string"`
  8177  
  8178  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8179  	// string "dfareporting#landingPage".
  8180  	Kind string `json:"kind,omitempty"`
  8181  
  8182  	// Name: Name of this landing page. This is a required field. It must be
  8183  	// less than 256 characters long, and must be unique among landing pages
  8184  	// of the same campaign.
  8185  	Name string `json:"name,omitempty"`
  8186  
  8187  	// Url: URL of this landing page. This is a required field.
  8188  	Url string `json:"url,omitempty"`
  8189  
  8190  	// ServerResponse contains the HTTP response code and headers from the
  8191  	// server.
  8192  	googleapi.ServerResponse `json:"-"`
  8193  
  8194  	// ForceSendFields is a list of field names (e.g. "Default") to
  8195  	// unconditionally include in API requests. By default, fields with
  8196  	// empty values are omitted from API requests. However, any non-pointer,
  8197  	// non-interface field appearing in ForceSendFields will be sent to the
  8198  	// server regardless of whether the field is empty or not. This may be
  8199  	// used to include empty fields in Patch requests.
  8200  	ForceSendFields []string `json:"-"`
  8201  
  8202  	// NullFields is a list of field names (e.g. "Default") to include in
  8203  	// API requests with the JSON null value. By default, fields with empty
  8204  	// values are omitted from API requests. However, any field with an
  8205  	// empty value appearing in NullFields will be sent to the server as
  8206  	// null. It is an error if a field in this list has a non-empty value.
  8207  	// This may be used to include null fields in Patch requests.
  8208  	NullFields []string `json:"-"`
  8209  }
  8210  
  8211  func (s *LandingPage) MarshalJSON() ([]byte, error) {
  8212  	type NoMethod LandingPage
  8213  	raw := NoMethod(*s)
  8214  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8215  }
  8216  
  8217  // LandingPagesListResponse: Landing Page List Response
  8218  type LandingPagesListResponse struct {
  8219  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8220  	// string "dfareporting#landingPagesListResponse".
  8221  	Kind string `json:"kind,omitempty"`
  8222  
  8223  	// LandingPages: Landing page collection
  8224  	LandingPages []*LandingPage `json:"landingPages,omitempty"`
  8225  
  8226  	// ServerResponse contains the HTTP response code and headers from the
  8227  	// server.
  8228  	googleapi.ServerResponse `json:"-"`
  8229  
  8230  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8231  	// unconditionally include in API requests. By default, fields with
  8232  	// empty values are omitted from API requests. However, any non-pointer,
  8233  	// non-interface field appearing in ForceSendFields will be sent to the
  8234  	// server regardless of whether the field is empty or not. This may be
  8235  	// used to include empty fields in Patch requests.
  8236  	ForceSendFields []string `json:"-"`
  8237  
  8238  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8239  	// requests with the JSON null value. By default, fields with empty
  8240  	// values are omitted from API requests. However, any field with an
  8241  	// empty value appearing in NullFields will be sent to the server as
  8242  	// null. It is an error if a field in this list has a non-empty value.
  8243  	// This may be used to include null fields in Patch requests.
  8244  	NullFields []string `json:"-"`
  8245  }
  8246  
  8247  func (s *LandingPagesListResponse) MarshalJSON() ([]byte, error) {
  8248  	type NoMethod LandingPagesListResponse
  8249  	raw := NoMethod(*s)
  8250  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8251  }
  8252  
  8253  // Language: Contains information about a language that can be targeted
  8254  // by ads.
  8255  type Language struct {
  8256  	// Id: Language ID of this language. This is the ID used for targeting
  8257  	// and generating reports.
  8258  	Id int64 `json:"id,omitempty,string"`
  8259  
  8260  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8261  	// string "dfareporting#language".
  8262  	Kind string `json:"kind,omitempty"`
  8263  
  8264  	// LanguageCode: Format of language code is an ISO 639 two-letter
  8265  	// language code optionally followed by an underscore followed by an ISO
  8266  	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
  8267  	// Chinese.
  8268  	LanguageCode string `json:"languageCode,omitempty"`
  8269  
  8270  	// Name: Name of this language.
  8271  	Name string `json:"name,omitempty"`
  8272  
  8273  	// ForceSendFields is a list of field names (e.g. "Id") to
  8274  	// unconditionally include in API requests. By default, fields with
  8275  	// empty values are omitted from API requests. However, any non-pointer,
  8276  	// non-interface field appearing in ForceSendFields will be sent to the
  8277  	// server regardless of whether the field is empty or not. This may be
  8278  	// used to include empty fields in Patch requests.
  8279  	ForceSendFields []string `json:"-"`
  8280  
  8281  	// NullFields is a list of field names (e.g. "Id") to include in API
  8282  	// requests with the JSON null value. By default, fields with empty
  8283  	// values are omitted from API requests. However, any field with an
  8284  	// empty value appearing in NullFields will be sent to the server as
  8285  	// null. It is an error if a field in this list has a non-empty value.
  8286  	// This may be used to include null fields in Patch requests.
  8287  	NullFields []string `json:"-"`
  8288  }
  8289  
  8290  func (s *Language) MarshalJSON() ([]byte, error) {
  8291  	type NoMethod Language
  8292  	raw := NoMethod(*s)
  8293  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8294  }
  8295  
  8296  // LanguageTargeting: Language Targeting.
  8297  type LanguageTargeting struct {
  8298  	// Languages: Languages that this ad targets. For each language only
  8299  	// languageId is required. The other fields are populated automatically
  8300  	// when the ad is inserted or updated.
  8301  	Languages []*Language `json:"languages,omitempty"`
  8302  
  8303  	// ForceSendFields is a list of field names (e.g. "Languages") to
  8304  	// unconditionally include in API requests. By default, fields with
  8305  	// empty values are omitted from API requests. However, any non-pointer,
  8306  	// non-interface field appearing in ForceSendFields will be sent to the
  8307  	// server regardless of whether the field is empty or not. This may be
  8308  	// used to include empty fields in Patch requests.
  8309  	ForceSendFields []string `json:"-"`
  8310  
  8311  	// NullFields is a list of field names (e.g. "Languages") to include in
  8312  	// API requests with the JSON null value. By default, fields with empty
  8313  	// values are omitted from API requests. However, any field with an
  8314  	// empty value appearing in NullFields will be sent to the server as
  8315  	// null. It is an error if a field in this list has a non-empty value.
  8316  	// This may be used to include null fields in Patch requests.
  8317  	NullFields []string `json:"-"`
  8318  }
  8319  
  8320  func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
  8321  	type NoMethod LanguageTargeting
  8322  	raw := NoMethod(*s)
  8323  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8324  }
  8325  
  8326  // LanguagesListResponse: Language List Response
  8327  type LanguagesListResponse struct {
  8328  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8329  	// string "dfareporting#languagesListResponse".
  8330  	Kind string `json:"kind,omitempty"`
  8331  
  8332  	// Languages: Language collection.
  8333  	Languages []*Language `json:"languages,omitempty"`
  8334  
  8335  	// ServerResponse contains the HTTP response code and headers from the
  8336  	// server.
  8337  	googleapi.ServerResponse `json:"-"`
  8338  
  8339  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8340  	// unconditionally include in API requests. By default, fields with
  8341  	// empty values are omitted from API requests. However, any non-pointer,
  8342  	// non-interface field appearing in ForceSendFields will be sent to the
  8343  	// server regardless of whether the field is empty or not. This may be
  8344  	// used to include empty fields in Patch requests.
  8345  	ForceSendFields []string `json:"-"`
  8346  
  8347  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8348  	// requests with the JSON null value. By default, fields with empty
  8349  	// values are omitted from API requests. However, any field with an
  8350  	// empty value appearing in NullFields will be sent to the server as
  8351  	// null. It is an error if a field in this list has a non-empty value.
  8352  	// This may be used to include null fields in Patch requests.
  8353  	NullFields []string `json:"-"`
  8354  }
  8355  
  8356  func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
  8357  	type NoMethod LanguagesListResponse
  8358  	raw := NoMethod(*s)
  8359  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8360  }
  8361  
  8362  // LastModifiedInfo: Modification timestamp.
  8363  type LastModifiedInfo struct {
  8364  	// Time: Timestamp of the last change in milliseconds since epoch.
  8365  	Time int64 `json:"time,omitempty,string"`
  8366  
  8367  	// ForceSendFields is a list of field names (e.g. "Time") to
  8368  	// unconditionally include in API requests. By default, fields with
  8369  	// empty values are omitted from API requests. However, any non-pointer,
  8370  	// non-interface field appearing in ForceSendFields will be sent to the
  8371  	// server regardless of whether the field is empty or not. This may be
  8372  	// used to include empty fields in Patch requests.
  8373  	ForceSendFields []string `json:"-"`
  8374  
  8375  	// NullFields is a list of field names (e.g. "Time") to include in API
  8376  	// requests with the JSON null value. By default, fields with empty
  8377  	// values are omitted from API requests. However, any field with an
  8378  	// empty value appearing in NullFields will be sent to the server as
  8379  	// null. It is an error if a field in this list has a non-empty value.
  8380  	// This may be used to include null fields in Patch requests.
  8381  	NullFields []string `json:"-"`
  8382  }
  8383  
  8384  func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
  8385  	type NoMethod LastModifiedInfo
  8386  	raw := NoMethod(*s)
  8387  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8388  }
  8389  
  8390  // ListPopulationClause: A group clause made up of list population terms
  8391  // representing constraints joined by ORs.
  8392  type ListPopulationClause struct {
  8393  	// Terms: Terms of this list population clause. Each clause is made up
  8394  	// of list population terms representing constraints and are joined by
  8395  	// ORs.
  8396  	Terms []*ListPopulationTerm `json:"terms,omitempty"`
  8397  
  8398  	// ForceSendFields is a list of field names (e.g. "Terms") to
  8399  	// unconditionally include in API requests. By default, fields with
  8400  	// empty values are omitted from API requests. However, any non-pointer,
  8401  	// non-interface field appearing in ForceSendFields will be sent to the
  8402  	// server regardless of whether the field is empty or not. This may be
  8403  	// used to include empty fields in Patch requests.
  8404  	ForceSendFields []string `json:"-"`
  8405  
  8406  	// NullFields is a list of field names (e.g. "Terms") to include in API
  8407  	// requests with the JSON null value. By default, fields with empty
  8408  	// values are omitted from API requests. However, any field with an
  8409  	// empty value appearing in NullFields will be sent to the server as
  8410  	// null. It is an error if a field in this list has a non-empty value.
  8411  	// This may be used to include null fields in Patch requests.
  8412  	NullFields []string `json:"-"`
  8413  }
  8414  
  8415  func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
  8416  	type NoMethod ListPopulationClause
  8417  	raw := NoMethod(*s)
  8418  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8419  }
  8420  
  8421  // ListPopulationRule: Remarketing List Population Rule.
  8422  type ListPopulationRule struct {
  8423  	// FloodlightActivityId: Floodlight activity ID associated with this
  8424  	// rule. This field can be left blank.
  8425  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  8426  
  8427  	// FloodlightActivityName: Name of floodlight activity associated with
  8428  	// this rule. This is a read-only, auto-generated field.
  8429  	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
  8430  
  8431  	// ListPopulationClauses: Clauses that make up this list population
  8432  	// rule. Clauses are joined by ANDs, and the clauses themselves are made
  8433  	// up of list population terms which are joined by ORs.
  8434  	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
  8435  
  8436  	// ForceSendFields is a list of field names (e.g.
  8437  	// "FloodlightActivityId") to unconditionally include in API requests.
  8438  	// By default, fields with empty values are omitted from API requests.
  8439  	// However, any non-pointer, non-interface field appearing in
  8440  	// ForceSendFields will be sent to the server regardless of whether the
  8441  	// field is empty or not. This may be used to include empty fields in
  8442  	// Patch requests.
  8443  	ForceSendFields []string `json:"-"`
  8444  
  8445  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  8446  	// include in API requests with the JSON null value. By default, fields
  8447  	// with empty values are omitted from API requests. However, any field
  8448  	// with an empty value appearing in NullFields will be sent to the
  8449  	// server as null. It is an error if a field in this list has a
  8450  	// non-empty value. This may be used to include null fields in Patch
  8451  	// requests.
  8452  	NullFields []string `json:"-"`
  8453  }
  8454  
  8455  func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
  8456  	type NoMethod ListPopulationRule
  8457  	raw := NoMethod(*s)
  8458  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8459  }
  8460  
  8461  // ListPopulationTerm: Remarketing List Population Rule Term.
  8462  type ListPopulationTerm struct {
  8463  	// Contains: Will be true if the term should check if the user is in the
  8464  	// list and false if the term should check if the user is not in the
  8465  	// list. This field is only relevant when type is set to
  8466  	// LIST_MEMBERSHIP_TERM. False by default.
  8467  	Contains bool `json:"contains,omitempty"`
  8468  
  8469  	// Negation: Whether to negate the comparison result of this term during
  8470  	// rule evaluation. This field is only relevant when type is left unset
  8471  	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  8472  	Negation bool `json:"negation,omitempty"`
  8473  
  8474  	// Operator: Comparison operator of this term. This field is only
  8475  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  8476  	// REFERRER_TERM.
  8477  	//
  8478  	// Possible values:
  8479  	//   "NUM_EQUALS"
  8480  	//   "NUM_GREATER_THAN"
  8481  	//   "NUM_GREATER_THAN_EQUAL"
  8482  	//   "NUM_LESS_THAN"
  8483  	//   "NUM_LESS_THAN_EQUAL"
  8484  	//   "STRING_CONTAINS"
  8485  	//   "STRING_EQUALS"
  8486  	Operator string `json:"operator,omitempty"`
  8487  
  8488  	// RemarketingListId: ID of the list in question. This field is only
  8489  	// relevant when type is set to LIST_MEMBERSHIP_TERM.
  8490  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
  8491  
  8492  	// Type: List population term type determines the applicable fields in
  8493  	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
  8494  	// variableName, variableFriendlyName, operator, value, and negation are
  8495  	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
  8496  	// contains are applicable. If set to REFERRER_TERM then operator,
  8497  	// value, and negation are applicable.
  8498  	//
  8499  	// Possible values:
  8500  	//   "CUSTOM_VARIABLE_TERM"
  8501  	//   "LIST_MEMBERSHIP_TERM"
  8502  	//   "REFERRER_TERM"
  8503  	Type string `json:"type,omitempty"`
  8504  
  8505  	// Value: Literal to compare the variable to. This field is only
  8506  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  8507  	// REFERRER_TERM.
  8508  	Value string `json:"value,omitempty"`
  8509  
  8510  	// VariableFriendlyName: Friendly name of this term's variable. This is
  8511  	// a read-only, auto-generated field. This field is only relevant when
  8512  	// type is left unset or set to CUSTOM_VARIABLE_TERM.
  8513  	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
  8514  
  8515  	// VariableName: Name of the variable (U1, U2, etc.) being compared in
  8516  	// this term. This field is only relevant when type is set to null,
  8517  	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  8518  	VariableName string `json:"variableName,omitempty"`
  8519  
  8520  	// ForceSendFields is a list of field names (e.g. "Contains") to
  8521  	// unconditionally include in API requests. By default, fields with
  8522  	// empty values are omitted from API requests. However, any non-pointer,
  8523  	// non-interface field appearing in ForceSendFields will be sent to the
  8524  	// server regardless of whether the field is empty or not. This may be
  8525  	// used to include empty fields in Patch requests.
  8526  	ForceSendFields []string `json:"-"`
  8527  
  8528  	// NullFields is a list of field names (e.g. "Contains") to include in
  8529  	// API requests with the JSON null value. By default, fields with empty
  8530  	// values are omitted from API requests. However, any field with an
  8531  	// empty value appearing in NullFields will be sent to the server as
  8532  	// null. It is an error if a field in this list has a non-empty value.
  8533  	// This may be used to include null fields in Patch requests.
  8534  	NullFields []string `json:"-"`
  8535  }
  8536  
  8537  func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
  8538  	type NoMethod ListPopulationTerm
  8539  	raw := NoMethod(*s)
  8540  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8541  }
  8542  
  8543  // ListTargetingExpression: Remarketing List Targeting Expression.
  8544  type ListTargetingExpression struct {
  8545  	// Expression: Expression describing which lists are being targeted by
  8546  	// the ad.
  8547  	Expression string `json:"expression,omitempty"`
  8548  
  8549  	// ForceSendFields is a list of field names (e.g. "Expression") to
  8550  	// unconditionally include in API requests. By default, fields with
  8551  	// empty values are omitted from API requests. However, any non-pointer,
  8552  	// non-interface field appearing in ForceSendFields will be sent to the
  8553  	// server regardless of whether the field is empty or not. This may be
  8554  	// used to include empty fields in Patch requests.
  8555  	ForceSendFields []string `json:"-"`
  8556  
  8557  	// NullFields is a list of field names (e.g. "Expression") to include in
  8558  	// API requests with the JSON null value. By default, fields with empty
  8559  	// values are omitted from API requests. However, any field with an
  8560  	// empty value appearing in NullFields will be sent to the server as
  8561  	// null. It is an error if a field in this list has a non-empty value.
  8562  	// This may be used to include null fields in Patch requests.
  8563  	NullFields []string `json:"-"`
  8564  }
  8565  
  8566  func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
  8567  	type NoMethod ListTargetingExpression
  8568  	raw := NoMethod(*s)
  8569  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8570  }
  8571  
  8572  // LookbackConfiguration: Lookback configuration settings.
  8573  type LookbackConfiguration struct {
  8574  	// ClickDuration: Lookback window, in days, from the last time a given
  8575  	// user clicked on one of your ads. If you enter 0, clicks will not be
  8576  	// considered as triggering events for floodlight tracking. If you leave
  8577  	// this field blank, the default value for your account will be used.
  8578  	// Acceptable values are 0 to 90, inclusive.
  8579  	ClickDuration int64 `json:"clickDuration,omitempty"`
  8580  
  8581  	// PostImpressionActivitiesDuration: Lookback window, in days, from the
  8582  	// last time a given user viewed one of your ads. If you enter 0,
  8583  	// impressions will not be considered as triggering events for
  8584  	// floodlight tracking. If you leave this field blank, the default value
  8585  	// for your account will be used. Acceptable values are 0 to 90,
  8586  	// inclusive.
  8587  	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
  8588  
  8589  	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
  8590  	// unconditionally include in API requests. By default, fields with
  8591  	// empty values are omitted from API requests. However, any non-pointer,
  8592  	// non-interface field appearing in ForceSendFields will be sent to the
  8593  	// server regardless of whether the field is empty or not. This may be
  8594  	// used to include empty fields in Patch requests.
  8595  	ForceSendFields []string `json:"-"`
  8596  
  8597  	// NullFields is a list of field names (e.g. "ClickDuration") to include
  8598  	// in API requests with the JSON null value. By default, fields with
  8599  	// empty values are omitted from API requests. However, any field with
  8600  	// an empty value appearing in NullFields will be sent to the server as
  8601  	// null. It is an error if a field in this list has a non-empty value.
  8602  	// This may be used to include null fields in Patch requests.
  8603  	NullFields []string `json:"-"`
  8604  }
  8605  
  8606  func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
  8607  	type NoMethod LookbackConfiguration
  8608  	raw := NoMethod(*s)
  8609  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8610  }
  8611  
  8612  // Metric: Represents a metric.
  8613  type Metric struct {
  8614  	// Kind: The kind of resource this is, in this case dfareporting#metric.
  8615  	Kind string `json:"kind,omitempty"`
  8616  
  8617  	// Name: The metric name, e.g. dfa:impressions
  8618  	Name string `json:"name,omitempty"`
  8619  
  8620  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8621  	// unconditionally include in API requests. By default, fields with
  8622  	// empty values are omitted from API requests. However, any non-pointer,
  8623  	// non-interface field appearing in ForceSendFields will be sent to the
  8624  	// server regardless of whether the field is empty or not. This may be
  8625  	// used to include empty fields in Patch requests.
  8626  	ForceSendFields []string `json:"-"`
  8627  
  8628  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8629  	// requests with the JSON null value. By default, fields with empty
  8630  	// values are omitted from API requests. However, any field with an
  8631  	// empty value appearing in NullFields will be sent to the server as
  8632  	// null. It is an error if a field in this list has a non-empty value.
  8633  	// This may be used to include null fields in Patch requests.
  8634  	NullFields []string `json:"-"`
  8635  }
  8636  
  8637  func (s *Metric) MarshalJSON() ([]byte, error) {
  8638  	type NoMethod Metric
  8639  	raw := NoMethod(*s)
  8640  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8641  }
  8642  
  8643  // Metro: Contains information about a metro region that can be targeted
  8644  // by ads.
  8645  type Metro struct {
  8646  	// CountryCode: Country code of the country to which this metro region
  8647  	// belongs.
  8648  	CountryCode string `json:"countryCode,omitempty"`
  8649  
  8650  	// CountryDartId: DART ID of the country to which this metro region
  8651  	// belongs.
  8652  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  8653  
  8654  	// DartId: DART ID of this metro region.
  8655  	DartId int64 `json:"dartId,omitempty,string"`
  8656  
  8657  	// DmaId: DMA ID of this metro region. This is the ID used for targeting
  8658  	// and generating reports, and is equivalent to metro_code.
  8659  	DmaId int64 `json:"dmaId,omitempty,string"`
  8660  
  8661  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8662  	// string "dfareporting#metro".
  8663  	Kind string `json:"kind,omitempty"`
  8664  
  8665  	// MetroCode: Metro code of this metro region. This is equivalent to
  8666  	// dma_id.
  8667  	MetroCode string `json:"metroCode,omitempty"`
  8668  
  8669  	// Name: Name of this metro region.
  8670  	Name string `json:"name,omitempty"`
  8671  
  8672  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  8673  	// unconditionally include in API requests. By default, fields with
  8674  	// empty values are omitted from API requests. However, any non-pointer,
  8675  	// non-interface field appearing in ForceSendFields will be sent to the
  8676  	// server regardless of whether the field is empty or not. This may be
  8677  	// used to include empty fields in Patch requests.
  8678  	ForceSendFields []string `json:"-"`
  8679  
  8680  	// NullFields is a list of field names (e.g. "CountryCode") to include
  8681  	// in API requests with the JSON null value. By default, fields with
  8682  	// empty values are omitted from API requests. However, any field with
  8683  	// an empty value appearing in NullFields will be sent to the server as
  8684  	// null. It is an error if a field in this list has a non-empty value.
  8685  	// This may be used to include null fields in Patch requests.
  8686  	NullFields []string `json:"-"`
  8687  }
  8688  
  8689  func (s *Metro) MarshalJSON() ([]byte, error) {
  8690  	type NoMethod Metro
  8691  	raw := NoMethod(*s)
  8692  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8693  }
  8694  
  8695  // MetrosListResponse: Metro List Response
  8696  type MetrosListResponse struct {
  8697  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8698  	// string "dfareporting#metrosListResponse".
  8699  	Kind string `json:"kind,omitempty"`
  8700  
  8701  	// Metros: Metro collection.
  8702  	Metros []*Metro `json:"metros,omitempty"`
  8703  
  8704  	// ServerResponse contains the HTTP response code and headers from the
  8705  	// server.
  8706  	googleapi.ServerResponse `json:"-"`
  8707  
  8708  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8709  	// unconditionally include in API requests. By default, fields with
  8710  	// empty values are omitted from API requests. However, any non-pointer,
  8711  	// non-interface field appearing in ForceSendFields will be sent to the
  8712  	// server regardless of whether the field is empty or not. This may be
  8713  	// used to include empty fields in Patch requests.
  8714  	ForceSendFields []string `json:"-"`
  8715  
  8716  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8717  	// requests with the JSON null value. By default, fields with empty
  8718  	// values are omitted from API requests. However, any field with an
  8719  	// empty value appearing in NullFields will be sent to the server as
  8720  	// null. It is an error if a field in this list has a non-empty value.
  8721  	// This may be used to include null fields in Patch requests.
  8722  	NullFields []string `json:"-"`
  8723  }
  8724  
  8725  func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
  8726  	type NoMethod MetrosListResponse
  8727  	raw := NoMethod(*s)
  8728  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8729  }
  8730  
  8731  // MobileCarrier: Contains information about a mobile carrier that can
  8732  // be targeted by ads.
  8733  type MobileCarrier struct {
  8734  	// CountryCode: Country code of the country to which this mobile carrier
  8735  	// belongs.
  8736  	CountryCode string `json:"countryCode,omitempty"`
  8737  
  8738  	// CountryDartId: DART ID of the country to which this mobile carrier
  8739  	// belongs.
  8740  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  8741  
  8742  	// Id: ID of this mobile carrier.
  8743  	Id int64 `json:"id,omitempty,string"`
  8744  
  8745  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8746  	// string "dfareporting#mobileCarrier".
  8747  	Kind string `json:"kind,omitempty"`
  8748  
  8749  	// Name: Name of this mobile carrier.
  8750  	Name string `json:"name,omitempty"`
  8751  
  8752  	// ServerResponse contains the HTTP response code and headers from the
  8753  	// server.
  8754  	googleapi.ServerResponse `json:"-"`
  8755  
  8756  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  8757  	// unconditionally include in API requests. By default, fields with
  8758  	// empty values are omitted from API requests. However, any non-pointer,
  8759  	// non-interface field appearing in ForceSendFields will be sent to the
  8760  	// server regardless of whether the field is empty or not. This may be
  8761  	// used to include empty fields in Patch requests.
  8762  	ForceSendFields []string `json:"-"`
  8763  
  8764  	// NullFields is a list of field names (e.g. "CountryCode") to include
  8765  	// in API requests with the JSON null value. By default, fields with
  8766  	// empty values are omitted from API requests. However, any field with
  8767  	// an empty value appearing in NullFields will be sent to the server as
  8768  	// null. It is an error if a field in this list has a non-empty value.
  8769  	// This may be used to include null fields in Patch requests.
  8770  	NullFields []string `json:"-"`
  8771  }
  8772  
  8773  func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
  8774  	type NoMethod MobileCarrier
  8775  	raw := NoMethod(*s)
  8776  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8777  }
  8778  
  8779  // MobileCarriersListResponse: Mobile Carrier List Response
  8780  type MobileCarriersListResponse struct {
  8781  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8782  	// string "dfareporting#mobileCarriersListResponse".
  8783  	Kind string `json:"kind,omitempty"`
  8784  
  8785  	// MobileCarriers: Mobile carrier collection.
  8786  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
  8787  
  8788  	// ServerResponse contains the HTTP response code and headers from the
  8789  	// server.
  8790  	googleapi.ServerResponse `json:"-"`
  8791  
  8792  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8793  	// unconditionally include in API requests. By default, fields with
  8794  	// empty values are omitted from API requests. However, any non-pointer,
  8795  	// non-interface field appearing in ForceSendFields will be sent to the
  8796  	// server regardless of whether the field is empty or not. This may be
  8797  	// used to include empty fields in Patch requests.
  8798  	ForceSendFields []string `json:"-"`
  8799  
  8800  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8801  	// requests with the JSON null value. By default, fields with empty
  8802  	// values are omitted from API requests. However, any field with an
  8803  	// empty value appearing in NullFields will be sent to the server as
  8804  	// null. It is an error if a field in this list has a non-empty value.
  8805  	// This may be used to include null fields in Patch requests.
  8806  	NullFields []string `json:"-"`
  8807  }
  8808  
  8809  func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
  8810  	type NoMethod MobileCarriersListResponse
  8811  	raw := NoMethod(*s)
  8812  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8813  }
  8814  
  8815  // ObjectFilter: Object Filter.
  8816  type ObjectFilter struct {
  8817  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8818  	// string "dfareporting#objectFilter".
  8819  	Kind string `json:"kind,omitempty"`
  8820  
  8821  	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
  8822  	// objects with these object IDs.
  8823  	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
  8824  
  8825  	// Status: Status of the filter. NONE means the user has access to none
  8826  	// of the objects. ALL means the user has access to all objects.
  8827  	// ASSIGNED means the user has access to the objects with IDs in the
  8828  	// objectIds list.
  8829  	//
  8830  	// Possible values:
  8831  	//   "ALL"
  8832  	//   "ASSIGNED"
  8833  	//   "NONE"
  8834  	Status string `json:"status,omitempty"`
  8835  
  8836  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8837  	// unconditionally include in API requests. By default, fields with
  8838  	// empty values are omitted from API requests. However, any non-pointer,
  8839  	// non-interface field appearing in ForceSendFields will be sent to the
  8840  	// server regardless of whether the field is empty or not. This may be
  8841  	// used to include empty fields in Patch requests.
  8842  	ForceSendFields []string `json:"-"`
  8843  
  8844  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8845  	// requests with the JSON null value. By default, fields with empty
  8846  	// values are omitted from API requests. However, any field with an
  8847  	// empty value appearing in NullFields will be sent to the server as
  8848  	// null. It is an error if a field in this list has a non-empty value.
  8849  	// This may be used to include null fields in Patch requests.
  8850  	NullFields []string `json:"-"`
  8851  }
  8852  
  8853  func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
  8854  	type NoMethod ObjectFilter
  8855  	raw := NoMethod(*s)
  8856  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8857  }
  8858  
  8859  // OffsetPosition: Offset Position.
  8860  type OffsetPosition struct {
  8861  	// Left: Offset distance from left side of an asset or a window.
  8862  	Left int64 `json:"left,omitempty"`
  8863  
  8864  	// Top: Offset distance from top side of an asset or a window.
  8865  	Top int64 `json:"top,omitempty"`
  8866  
  8867  	// ForceSendFields is a list of field names (e.g. "Left") to
  8868  	// unconditionally include in API requests. By default, fields with
  8869  	// empty values are omitted from API requests. However, any non-pointer,
  8870  	// non-interface field appearing in ForceSendFields will be sent to the
  8871  	// server regardless of whether the field is empty or not. This may be
  8872  	// used to include empty fields in Patch requests.
  8873  	ForceSendFields []string `json:"-"`
  8874  
  8875  	// NullFields is a list of field names (e.g. "Left") to include in API
  8876  	// requests with the JSON null value. By default, fields with empty
  8877  	// values are omitted from API requests. However, any field with an
  8878  	// empty value appearing in NullFields will be sent to the server as
  8879  	// null. It is an error if a field in this list has a non-empty value.
  8880  	// This may be used to include null fields in Patch requests.
  8881  	NullFields []string `json:"-"`
  8882  }
  8883  
  8884  func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
  8885  	type NoMethod OffsetPosition
  8886  	raw := NoMethod(*s)
  8887  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8888  }
  8889  
  8890  // OmnitureSettings: Omniture Integration Settings.
  8891  type OmnitureSettings struct {
  8892  	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
  8893  	// Omniture. This property can be enabled only if
  8894  	// omnitureIntegrationEnabled is true.
  8895  	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
  8896  
  8897  	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
  8898  	// This property can be enabled only when the "Advanced Ad Serving"
  8899  	// account setting is enabled.
  8900  	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
  8901  
  8902  	// ForceSendFields is a list of field names (e.g.
  8903  	// "OmnitureCostDataEnabled") to unconditionally include in API
  8904  	// requests. By default, fields with empty values are omitted from API
  8905  	// requests. However, any non-pointer, non-interface field appearing in
  8906  	// ForceSendFields will be sent to the server regardless of whether the
  8907  	// field is empty or not. This may be used to include empty fields in
  8908  	// Patch requests.
  8909  	ForceSendFields []string `json:"-"`
  8910  
  8911  	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
  8912  	// to include in API requests with the JSON null value. By default,
  8913  	// fields with empty values are omitted from API requests. However, any
  8914  	// field with an empty value appearing in NullFields will be sent to the
  8915  	// server as null. It is an error if a field in this list has a
  8916  	// non-empty value. This may be used to include null fields in Patch
  8917  	// requests.
  8918  	NullFields []string `json:"-"`
  8919  }
  8920  
  8921  func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
  8922  	type NoMethod OmnitureSettings
  8923  	raw := NoMethod(*s)
  8924  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8925  }
  8926  
  8927  // OperatingSystem: Contains information about an operating system that
  8928  // can be targeted by ads.
  8929  type OperatingSystem struct {
  8930  	// DartId: DART ID of this operating system. This is the ID used for
  8931  	// targeting.
  8932  	DartId int64 `json:"dartId,omitempty,string"`
  8933  
  8934  	// Desktop: Whether this operating system is for desktop.
  8935  	Desktop bool `json:"desktop,omitempty"`
  8936  
  8937  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8938  	// string "dfareporting#operatingSystem".
  8939  	Kind string `json:"kind,omitempty"`
  8940  
  8941  	// Mobile: Whether this operating system is for mobile.
  8942  	Mobile bool `json:"mobile,omitempty"`
  8943  
  8944  	// Name: Name of this operating system.
  8945  	Name string `json:"name,omitempty"`
  8946  
  8947  	// ServerResponse contains the HTTP response code and headers from the
  8948  	// server.
  8949  	googleapi.ServerResponse `json:"-"`
  8950  
  8951  	// ForceSendFields is a list of field names (e.g. "DartId") to
  8952  	// unconditionally include in API requests. By default, fields with
  8953  	// empty values are omitted from API requests. However, any non-pointer,
  8954  	// non-interface field appearing in ForceSendFields will be sent to the
  8955  	// server regardless of whether the field is empty or not. This may be
  8956  	// used to include empty fields in Patch requests.
  8957  	ForceSendFields []string `json:"-"`
  8958  
  8959  	// NullFields is a list of field names (e.g. "DartId") to include in API
  8960  	// requests with the JSON null value. By default, fields with empty
  8961  	// values are omitted from API requests. However, any field with an
  8962  	// empty value appearing in NullFields will be sent to the server as
  8963  	// null. It is an error if a field in this list has a non-empty value.
  8964  	// This may be used to include null fields in Patch requests.
  8965  	NullFields []string `json:"-"`
  8966  }
  8967  
  8968  func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
  8969  	type NoMethod OperatingSystem
  8970  	raw := NoMethod(*s)
  8971  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8972  }
  8973  
  8974  // OperatingSystemVersion: Contains information about a particular
  8975  // version of an operating system that can be targeted by ads.
  8976  type OperatingSystemVersion struct {
  8977  	// Id: ID of this operating system version.
  8978  	Id int64 `json:"id,omitempty,string"`
  8979  
  8980  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8981  	// string "dfareporting#operatingSystemVersion".
  8982  	Kind string `json:"kind,omitempty"`
  8983  
  8984  	// MajorVersion: Major version (leftmost number) of this operating
  8985  	// system version.
  8986  	MajorVersion string `json:"majorVersion,omitempty"`
  8987  
  8988  	// MinorVersion: Minor version (number after the first dot) of this
  8989  	// operating system version.
  8990  	MinorVersion string `json:"minorVersion,omitempty"`
  8991  
  8992  	// Name: Name of this operating system version.
  8993  	Name string `json:"name,omitempty"`
  8994  
  8995  	// OperatingSystem: Operating system of this operating system version.
  8996  	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
  8997  
  8998  	// ServerResponse contains the HTTP response code and headers from the
  8999  	// server.
  9000  	googleapi.ServerResponse `json:"-"`
  9001  
  9002  	// ForceSendFields is a list of field names (e.g. "Id") to
  9003  	// unconditionally include in API requests. By default, fields with
  9004  	// empty values are omitted from API requests. However, any non-pointer,
  9005  	// non-interface field appearing in ForceSendFields will be sent to the
  9006  	// server regardless of whether the field is empty or not. This may be
  9007  	// used to include empty fields in Patch requests.
  9008  	ForceSendFields []string `json:"-"`
  9009  
  9010  	// NullFields is a list of field names (e.g. "Id") to include in API
  9011  	// requests with the JSON null value. By default, fields with empty
  9012  	// values are omitted from API requests. However, any field with an
  9013  	// empty value appearing in NullFields will be sent to the server as
  9014  	// null. It is an error if a field in this list has a non-empty value.
  9015  	// This may be used to include null fields in Patch requests.
  9016  	NullFields []string `json:"-"`
  9017  }
  9018  
  9019  func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
  9020  	type NoMethod OperatingSystemVersion
  9021  	raw := NoMethod(*s)
  9022  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9023  }
  9024  
  9025  // OperatingSystemVersionsListResponse: Operating System Version List
  9026  // Response
  9027  type OperatingSystemVersionsListResponse struct {
  9028  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9029  	// string "dfareporting#operatingSystemVersionsListResponse".
  9030  	Kind string `json:"kind,omitempty"`
  9031  
  9032  	// OperatingSystemVersions: Operating system version collection.
  9033  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
  9034  
  9035  	// ServerResponse contains the HTTP response code and headers from the
  9036  	// server.
  9037  	googleapi.ServerResponse `json:"-"`
  9038  
  9039  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9040  	// unconditionally include in API requests. By default, fields with
  9041  	// empty values are omitted from API requests. However, any non-pointer,
  9042  	// non-interface field appearing in ForceSendFields will be sent to the
  9043  	// server regardless of whether the field is empty or not. This may be
  9044  	// used to include empty fields in Patch requests.
  9045  	ForceSendFields []string `json:"-"`
  9046  
  9047  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9048  	// requests with the JSON null value. By default, fields with empty
  9049  	// values are omitted from API requests. However, any field with an
  9050  	// empty value appearing in NullFields will be sent to the server as
  9051  	// null. It is an error if a field in this list has a non-empty value.
  9052  	// This may be used to include null fields in Patch requests.
  9053  	NullFields []string `json:"-"`
  9054  }
  9055  
  9056  func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
  9057  	type NoMethod OperatingSystemVersionsListResponse
  9058  	raw := NoMethod(*s)
  9059  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9060  }
  9061  
  9062  // OperatingSystemsListResponse: Operating System List Response
  9063  type OperatingSystemsListResponse struct {
  9064  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9065  	// string "dfareporting#operatingSystemsListResponse".
  9066  	Kind string `json:"kind,omitempty"`
  9067  
  9068  	// OperatingSystems: Operating system collection.
  9069  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
  9070  
  9071  	// ServerResponse contains the HTTP response code and headers from the
  9072  	// server.
  9073  	googleapi.ServerResponse `json:"-"`
  9074  
  9075  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9076  	// unconditionally include in API requests. By default, fields with
  9077  	// empty values are omitted from API requests. However, any non-pointer,
  9078  	// non-interface field appearing in ForceSendFields will be sent to the
  9079  	// server regardless of whether the field is empty or not. This may be
  9080  	// used to include empty fields in Patch requests.
  9081  	ForceSendFields []string `json:"-"`
  9082  
  9083  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9084  	// requests with the JSON null value. By default, fields with empty
  9085  	// values are omitted from API requests. However, any field with an
  9086  	// empty value appearing in NullFields will be sent to the server as
  9087  	// null. It is an error if a field in this list has a non-empty value.
  9088  	// This may be used to include null fields in Patch requests.
  9089  	NullFields []string `json:"-"`
  9090  }
  9091  
  9092  func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
  9093  	type NoMethod OperatingSystemsListResponse
  9094  	raw := NoMethod(*s)
  9095  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9096  }
  9097  
  9098  // OptimizationActivity: Creative optimization activity.
  9099  type OptimizationActivity struct {
  9100  	// FloodlightActivityId: Floodlight activity ID of this optimization
  9101  	// activity. This is a required field.
  9102  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  9103  
  9104  	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
  9105  	// floodlight activity. This is a read-only, auto-generated field.
  9106  	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
  9107  
  9108  	// Weight: Weight associated with this optimization. The weight assigned
  9109  	// will be understood in proportion to the weights assigned to the other
  9110  	// optimization activities. Value must be greater than or equal to 1.
  9111  	Weight int64 `json:"weight,omitempty"`
  9112  
  9113  	// ForceSendFields is a list of field names (e.g.
  9114  	// "FloodlightActivityId") to unconditionally include in API requests.
  9115  	// By default, fields with empty values are omitted from API requests.
  9116  	// However, any non-pointer, non-interface field appearing in
  9117  	// ForceSendFields will be sent to the server regardless of whether the
  9118  	// field is empty or not. This may be used to include empty fields in
  9119  	// Patch requests.
  9120  	ForceSendFields []string `json:"-"`
  9121  
  9122  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  9123  	// include in API requests with the JSON null value. By default, fields
  9124  	// with empty values are omitted from API requests. However, any field
  9125  	// with an empty value appearing in NullFields will be sent to the
  9126  	// server as null. It is an error if a field in this list has a
  9127  	// non-empty value. This may be used to include null fields in Patch
  9128  	// requests.
  9129  	NullFields []string `json:"-"`
  9130  }
  9131  
  9132  func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
  9133  	type NoMethod OptimizationActivity
  9134  	raw := NoMethod(*s)
  9135  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9136  }
  9137  
  9138  // Order: Describes properties of a DoubleClick Planning order.
  9139  type Order struct {
  9140  	// AccountId: Account ID of this order.
  9141  	AccountId int64 `json:"accountId,omitempty,string"`
  9142  
  9143  	// AdvertiserId: Advertiser ID of this order.
  9144  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9145  
  9146  	// ApproverUserProfileIds: IDs for users that have to approve documents
  9147  	// created for this order.
  9148  	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
  9149  
  9150  	// BuyerInvoiceId: Buyer invoice ID associated with this order.
  9151  	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
  9152  
  9153  	// BuyerOrganizationName: Name of the buyer organization.
  9154  	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
  9155  
  9156  	// Comments: Comments in this order.
  9157  	Comments string `json:"comments,omitempty"`
  9158  
  9159  	// Contacts: Contacts for this order.
  9160  	Contacts []*OrderContact `json:"contacts,omitempty"`
  9161  
  9162  	// Id: ID of this order. This is a read-only, auto-generated field.
  9163  	Id int64 `json:"id,omitempty,string"`
  9164  
  9165  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9166  	// string "dfareporting#order".
  9167  	Kind string `json:"kind,omitempty"`
  9168  
  9169  	// LastModifiedInfo: Information about the most recent modification of
  9170  	// this order.
  9171  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9172  
  9173  	// Name: Name of this order.
  9174  	Name string `json:"name,omitempty"`
  9175  
  9176  	// Notes: Notes of this order.
  9177  	Notes string `json:"notes,omitempty"`
  9178  
  9179  	// PlanningTermId: ID of the terms and conditions template used in this
  9180  	// order.
  9181  	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
  9182  
  9183  	// ProjectId: Project ID of this order.
  9184  	ProjectId int64 `json:"projectId,omitempty,string"`
  9185  
  9186  	// SellerOrderId: Seller order ID associated with this order.
  9187  	SellerOrderId string `json:"sellerOrderId,omitempty"`
  9188  
  9189  	// SellerOrganizationName: Name of the seller organization.
  9190  	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
  9191  
  9192  	// SiteId: Site IDs this order is associated with.
  9193  	SiteId googleapi.Int64s `json:"siteId,omitempty"`
  9194  
  9195  	// SiteNames: Free-form site names this order is associated with.
  9196  	SiteNames []string `json:"siteNames,omitempty"`
  9197  
  9198  	// SubaccountId: Subaccount ID of this order.
  9199  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9200  
  9201  	// TermsAndConditions: Terms and conditions of this order.
  9202  	TermsAndConditions string `json:"termsAndConditions,omitempty"`
  9203  
  9204  	// ServerResponse contains the HTTP response code and headers from the
  9205  	// server.
  9206  	googleapi.ServerResponse `json:"-"`
  9207  
  9208  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9209  	// unconditionally include in API requests. By default, fields with
  9210  	// empty values are omitted from API requests. However, any non-pointer,
  9211  	// non-interface field appearing in ForceSendFields will be sent to the
  9212  	// server regardless of whether the field is empty or not. This may be
  9213  	// used to include empty fields in Patch requests.
  9214  	ForceSendFields []string `json:"-"`
  9215  
  9216  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9217  	// API requests with the JSON null value. By default, fields with empty
  9218  	// values are omitted from API requests. However, any field with an
  9219  	// empty value appearing in NullFields will be sent to the server as
  9220  	// null. It is an error if a field in this list has a non-empty value.
  9221  	// This may be used to include null fields in Patch requests.
  9222  	NullFields []string `json:"-"`
  9223  }
  9224  
  9225  func (s *Order) MarshalJSON() ([]byte, error) {
  9226  	type NoMethod Order
  9227  	raw := NoMethod(*s)
  9228  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9229  }
  9230  
  9231  // OrderContact: Contact of an order.
  9232  type OrderContact struct {
  9233  	// ContactInfo: Free-form information about this contact. It could be
  9234  	// any information related to this contact in addition to type, title,
  9235  	// name, and signature user profile ID.
  9236  	ContactInfo string `json:"contactInfo,omitempty"`
  9237  
  9238  	// ContactName: Name of this contact.
  9239  	ContactName string `json:"contactName,omitempty"`
  9240  
  9241  	// ContactTitle: Title of this contact.
  9242  	ContactTitle string `json:"contactTitle,omitempty"`
  9243  
  9244  	// ContactType: Type of this contact.
  9245  	//
  9246  	// Possible values:
  9247  	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
  9248  	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
  9249  	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
  9250  	ContactType string `json:"contactType,omitempty"`
  9251  
  9252  	// SignatureUserProfileId: ID of the user profile containing the
  9253  	// signature that will be embedded into order documents.
  9254  	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
  9255  
  9256  	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
  9257  	// unconditionally include in API requests. By default, fields with
  9258  	// empty values are omitted from API requests. However, any non-pointer,
  9259  	// non-interface field appearing in ForceSendFields will be sent to the
  9260  	// server regardless of whether the field is empty or not. This may be
  9261  	// used to include empty fields in Patch requests.
  9262  	ForceSendFields []string `json:"-"`
  9263  
  9264  	// NullFields is a list of field names (e.g. "ContactInfo") to include
  9265  	// in API requests with the JSON null value. By default, fields with
  9266  	// empty values are omitted from API requests. However, any field with
  9267  	// an empty value appearing in NullFields will be sent to the server as
  9268  	// null. It is an error if a field in this list has a non-empty value.
  9269  	// This may be used to include null fields in Patch requests.
  9270  	NullFields []string `json:"-"`
  9271  }
  9272  
  9273  func (s *OrderContact) MarshalJSON() ([]byte, error) {
  9274  	type NoMethod OrderContact
  9275  	raw := NoMethod(*s)
  9276  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9277  }
  9278  
  9279  // OrderDocument: Contains properties of a DoubleClick Planning order
  9280  // document.
  9281  type OrderDocument struct {
  9282  	// AccountId: Account ID of this order document.
  9283  	AccountId int64 `json:"accountId,omitempty,string"`
  9284  
  9285  	// AdvertiserId: Advertiser ID of this order document.
  9286  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9287  
  9288  	// AmendedOrderDocumentId: The amended order document ID of this order
  9289  	// document. An order document can be created by optionally amending
  9290  	// another order document so that the change history can be preserved.
  9291  	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
  9292  
  9293  	// ApprovedByUserProfileIds: IDs of users who have approved this order
  9294  	// document.
  9295  	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
  9296  
  9297  	// Cancelled: Whether this order document is cancelled.
  9298  	Cancelled bool `json:"cancelled,omitempty"`
  9299  
  9300  	// CreatedInfo: Information about the creation of this order document.
  9301  	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
  9302  
  9303  	// EffectiveDate: Effective date of this order document.
  9304  	EffectiveDate string `json:"effectiveDate,omitempty"`
  9305  
  9306  	// Id: ID of this order document.
  9307  	Id int64 `json:"id,omitempty,string"`
  9308  
  9309  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9310  	// string "dfareporting#orderDocument".
  9311  	Kind string `json:"kind,omitempty"`
  9312  
  9313  	// LastSentRecipients: List of email addresses that received the last
  9314  	// sent document.
  9315  	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
  9316  
  9317  	// LastSentTime: Timestamp of the last email sent with this order
  9318  	// document.
  9319  	LastSentTime string `json:"lastSentTime,omitempty"`
  9320  
  9321  	// OrderId: ID of the order from which this order document is created.
  9322  	OrderId int64 `json:"orderId,omitempty,string"`
  9323  
  9324  	// ProjectId: Project ID of this order document.
  9325  	ProjectId int64 `json:"projectId,omitempty,string"`
  9326  
  9327  	// Signed: Whether this order document has been signed.
  9328  	Signed bool `json:"signed,omitempty"`
  9329  
  9330  	// SubaccountId: Subaccount ID of this order document.
  9331  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9332  
  9333  	// Title: Title of this order document.
  9334  	Title string `json:"title,omitempty"`
  9335  
  9336  	// Type: Type of this order document
  9337  	//
  9338  	// Possible values:
  9339  	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
  9340  	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
  9341  	Type string `json:"type,omitempty"`
  9342  
  9343  	// ServerResponse contains the HTTP response code and headers from the
  9344  	// server.
  9345  	googleapi.ServerResponse `json:"-"`
  9346  
  9347  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9348  	// unconditionally include in API requests. By default, fields with
  9349  	// empty values are omitted from API requests. However, any non-pointer,
  9350  	// non-interface field appearing in ForceSendFields will be sent to the
  9351  	// server regardless of whether the field is empty or not. This may be
  9352  	// used to include empty fields in Patch requests.
  9353  	ForceSendFields []string `json:"-"`
  9354  
  9355  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9356  	// API requests with the JSON null value. By default, fields with empty
  9357  	// values are omitted from API requests. However, any field with an
  9358  	// empty value appearing in NullFields will be sent to the server as
  9359  	// null. It is an error if a field in this list has a non-empty value.
  9360  	// This may be used to include null fields in Patch requests.
  9361  	NullFields []string `json:"-"`
  9362  }
  9363  
  9364  func (s *OrderDocument) MarshalJSON() ([]byte, error) {
  9365  	type NoMethod OrderDocument
  9366  	raw := NoMethod(*s)
  9367  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9368  }
  9369  
  9370  // OrderDocumentsListResponse: Order document List Response
  9371  type OrderDocumentsListResponse struct {
  9372  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9373  	// string "dfareporting#orderDocumentsListResponse".
  9374  	Kind string `json:"kind,omitempty"`
  9375  
  9376  	// NextPageToken: Pagination token to be used for the next list
  9377  	// operation.
  9378  	NextPageToken string `json:"nextPageToken,omitempty"`
  9379  
  9380  	// OrderDocuments: Order document collection
  9381  	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
  9382  
  9383  	// ServerResponse contains the HTTP response code and headers from the
  9384  	// server.
  9385  	googleapi.ServerResponse `json:"-"`
  9386  
  9387  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9388  	// unconditionally include in API requests. By default, fields with
  9389  	// empty values are omitted from API requests. However, any non-pointer,
  9390  	// non-interface field appearing in ForceSendFields will be sent to the
  9391  	// server regardless of whether the field is empty or not. This may be
  9392  	// used to include empty fields in Patch requests.
  9393  	ForceSendFields []string `json:"-"`
  9394  
  9395  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9396  	// requests with the JSON null value. By default, fields with empty
  9397  	// values are omitted from API requests. However, any field with an
  9398  	// empty value appearing in NullFields will be sent to the server as
  9399  	// null. It is an error if a field in this list has a non-empty value.
  9400  	// This may be used to include null fields in Patch requests.
  9401  	NullFields []string `json:"-"`
  9402  }
  9403  
  9404  func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
  9405  	type NoMethod OrderDocumentsListResponse
  9406  	raw := NoMethod(*s)
  9407  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9408  }
  9409  
  9410  // OrdersListResponse: Order List Response
  9411  type OrdersListResponse struct {
  9412  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9413  	// string "dfareporting#ordersListResponse".
  9414  	Kind string `json:"kind,omitempty"`
  9415  
  9416  	// NextPageToken: Pagination token to be used for the next list
  9417  	// operation.
  9418  	NextPageToken string `json:"nextPageToken,omitempty"`
  9419  
  9420  	// Orders: Order collection.
  9421  	Orders []*Order `json:"orders,omitempty"`
  9422  
  9423  	// ServerResponse contains the HTTP response code and headers from the
  9424  	// server.
  9425  	googleapi.ServerResponse `json:"-"`
  9426  
  9427  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9428  	// unconditionally include in API requests. By default, fields with
  9429  	// empty values are omitted from API requests. However, any non-pointer,
  9430  	// non-interface field appearing in ForceSendFields will be sent to the
  9431  	// server regardless of whether the field is empty or not. This may be
  9432  	// used to include empty fields in Patch requests.
  9433  	ForceSendFields []string `json:"-"`
  9434  
  9435  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9436  	// requests with the JSON null value. By default, fields with empty
  9437  	// values are omitted from API requests. However, any field with an
  9438  	// empty value appearing in NullFields will be sent to the server as
  9439  	// null. It is an error if a field in this list has a non-empty value.
  9440  	// This may be used to include null fields in Patch requests.
  9441  	NullFields []string `json:"-"`
  9442  }
  9443  
  9444  func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
  9445  	type NoMethod OrdersListResponse
  9446  	raw := NoMethod(*s)
  9447  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9448  }
  9449  
  9450  // PathToConversionReportCompatibleFields: Represents fields that are
  9451  // compatible to be selected for a report of type "PATH_TO_CONVERSION".
  9452  type PathToConversionReportCompatibleFields struct {
  9453  	// ConversionDimensions: Conversion dimensions which are compatible to
  9454  	// be selected in the "conversionDimensions" section of the report.
  9455  	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
  9456  
  9457  	// CustomFloodlightVariables: Custom floodlight variables which are
  9458  	// compatible to be selected in the "customFloodlightVariables" section
  9459  	// of the report.
  9460  	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
  9461  
  9462  	// Kind: The kind of resource this is, in this case
  9463  	// dfareporting#pathToConversionReportCompatibleFields.
  9464  	Kind string `json:"kind,omitempty"`
  9465  
  9466  	// Metrics: Metrics which are compatible to be selected in the
  9467  	// "metricNames" section of the report.
  9468  	Metrics []*Metric `json:"metrics,omitempty"`
  9469  
  9470  	// PerInteractionDimensions: Per-interaction dimensions which are
  9471  	// compatible to be selected in the "perInteractionDimensions" section
  9472  	// of the report.
  9473  	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
  9474  
  9475  	// ForceSendFields is a list of field names (e.g.
  9476  	// "ConversionDimensions") to unconditionally include in API requests.
  9477  	// By default, fields with empty values are omitted from API requests.
  9478  	// However, any non-pointer, non-interface field appearing in
  9479  	// ForceSendFields will be sent to the server regardless of whether the
  9480  	// field is empty or not. This may be used to include empty fields in
  9481  	// Patch requests.
  9482  	ForceSendFields []string `json:"-"`
  9483  
  9484  	// NullFields is a list of field names (e.g. "ConversionDimensions") to
  9485  	// include in API requests with the JSON null value. By default, fields
  9486  	// with empty values are omitted from API requests. However, any field
  9487  	// with an empty value appearing in NullFields will be sent to the
  9488  	// server as null. It is an error if a field in this list has a
  9489  	// non-empty value. This may be used to include null fields in Patch
  9490  	// requests.
  9491  	NullFields []string `json:"-"`
  9492  }
  9493  
  9494  func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
  9495  	type NoMethod PathToConversionReportCompatibleFields
  9496  	raw := NoMethod(*s)
  9497  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9498  }
  9499  
  9500  // Placement: Contains properties of a placement.
  9501  type Placement struct {
  9502  	// AccountId: Account ID of this placement. This field can be left
  9503  	// blank.
  9504  	AccountId int64 `json:"accountId,omitempty,string"`
  9505  
  9506  	// AdvertiserId: Advertiser ID of this placement. This field can be left
  9507  	// blank.
  9508  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9509  
  9510  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  9511  	// advertiser. This is a read-only, auto-generated field.
  9512  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  9513  
  9514  	// Archived: Whether this placement is archived.
  9515  	Archived bool `json:"archived,omitempty"`
  9516  
  9517  	// CampaignId: Campaign ID of this placement. This field is a required
  9518  	// field on insertion.
  9519  	CampaignId int64 `json:"campaignId,omitempty,string"`
  9520  
  9521  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  9522  	// This is a read-only, auto-generated field.
  9523  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  9524  
  9525  	// Comment: Comments for this placement.
  9526  	Comment string `json:"comment,omitempty"`
  9527  
  9528  	// Compatibility: Placement compatibility. DISPLAY and
  9529  	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
  9530  	// or in mobile apps for regular or interstitial ads respectively. APP
  9531  	// and APP_INTERSTITIAL are no longer allowed for new placement
  9532  	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
  9533  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  9534  	// with the VAST standard. This field is required on insertion.
  9535  	//
  9536  	// Possible values:
  9537  	//   "APP"
  9538  	//   "APP_INTERSTITIAL"
  9539  	//   "DISPLAY"
  9540  	//   "DISPLAY_INTERSTITIAL"
  9541  	//   "IN_STREAM_VIDEO"
  9542  	Compatibility string `json:"compatibility,omitempty"`
  9543  
  9544  	// ContentCategoryId: ID of the content category assigned to this
  9545  	// placement.
  9546  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  9547  
  9548  	// CreateInfo: Information about the creation of this placement. This is
  9549  	// a read-only field.
  9550  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  9551  
  9552  	// DirectorySiteId: Directory site ID of this placement. On insert, you
  9553  	// must set either this field or the siteId field to specify the site
  9554  	// associated with this placement. This is a required field that is
  9555  	// read-only after insertion.
  9556  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  9557  
  9558  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
  9559  	// directory site. This is a read-only, auto-generated field.
  9560  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
  9561  
  9562  	// ExternalId: External ID for this placement.
  9563  	ExternalId string `json:"externalId,omitempty"`
  9564  
  9565  	// Id: ID of this placement. This is a read-only, auto-generated field.
  9566  	Id int64 `json:"id,omitempty,string"`
  9567  
  9568  	// IdDimensionValue: Dimension value for the ID of this placement. This
  9569  	// is a read-only, auto-generated field.
  9570  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  9571  
  9572  	// KeyName: Key name of this placement. This is a read-only,
  9573  	// auto-generated field.
  9574  	KeyName string `json:"keyName,omitempty"`
  9575  
  9576  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9577  	// string "dfareporting#placement".
  9578  	Kind string `json:"kind,omitempty"`
  9579  
  9580  	// LastModifiedInfo: Information about the most recent modification of
  9581  	// this placement. This is a read-only field.
  9582  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9583  
  9584  	// LookbackConfiguration: Lookback window settings for this placement.
  9585  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  9586  
  9587  	// Name: Name of this placement.This is a required field and must be
  9588  	// less than 256 characters long.
  9589  	Name string `json:"name,omitempty"`
  9590  
  9591  	// PaymentApproved: Whether payment was approved for this placement.
  9592  	// This is a read-only field relevant only to publisher-paid placements.
  9593  	PaymentApproved bool `json:"paymentApproved,omitempty"`
  9594  
  9595  	// PaymentSource: Payment source for this placement. This is a required
  9596  	// field that is read-only after insertion.
  9597  	//
  9598  	// Possible values:
  9599  	//   "PLACEMENT_AGENCY_PAID"
  9600  	//   "PLACEMENT_PUBLISHER_PAID"
  9601  	PaymentSource string `json:"paymentSource,omitempty"`
  9602  
  9603  	// PlacementGroupId: ID of this placement's group, if applicable.
  9604  	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
  9605  
  9606  	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
  9607  	// placement group. This is a read-only, auto-generated field.
  9608  	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
  9609  
  9610  	// PlacementStrategyId: ID of the placement strategy assigned to this
  9611  	// placement.
  9612  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  9613  
  9614  	// PricingSchedule: Pricing schedule of this placement. This field is
  9615  	// required on insertion, specifically subfields startDate, endDate and
  9616  	// pricingType.
  9617  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
  9618  
  9619  	// Primary: Whether this placement is the primary placement of a
  9620  	// roadblock (placement group). You cannot change this field from true
  9621  	// to false. Setting this field to true will automatically set the
  9622  	// primary field on the original primary placement of the roadblock to
  9623  	// false, and it will automatically set the roadblock's
  9624  	// primaryPlacementId field to the ID of this placement.
  9625  	Primary bool `json:"primary,omitempty"`
  9626  
  9627  	// PublisherUpdateInfo: Information about the last publisher update.
  9628  	// This is a read-only field.
  9629  	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
  9630  
  9631  	// SiteId: Site ID associated with this placement. On insert, you must
  9632  	// set either this field or the directorySiteId field to specify the
  9633  	// site associated with this placement. This is a required field that is
  9634  	// read-only after insertion.
  9635  	SiteId int64 `json:"siteId,omitempty,string"`
  9636  
  9637  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  9638  	// a read-only, auto-generated field.
  9639  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  9640  
  9641  	// Size: Size associated with this placement. When inserting or updating
  9642  	// a placement, only the size ID field is used. This field is required
  9643  	// on insertion.
  9644  	Size *Size `json:"size,omitempty"`
  9645  
  9646  	// SslRequired: Whether creatives assigned to this placement must be
  9647  	// SSL-compliant.
  9648  	SslRequired bool `json:"sslRequired,omitempty"`
  9649  
  9650  	// Status: Third-party placement status.
  9651  	//
  9652  	// Possible values:
  9653  	//   "ACKNOWLEDGE_ACCEPTANCE"
  9654  	//   "ACKNOWLEDGE_REJECTION"
  9655  	//   "DRAFT"
  9656  	//   "PAYMENT_ACCEPTED"
  9657  	//   "PAYMENT_REJECTED"
  9658  	//   "PENDING_REVIEW"
  9659  	Status string `json:"status,omitempty"`
  9660  
  9661  	// SubaccountId: Subaccount ID of this placement. This field can be left
  9662  	// blank.
  9663  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9664  
  9665  	// TagFormats: Tag formats to generate for this placement. This field is
  9666  	// required on insertion.
  9667  	// Acceptable values are:
  9668  	// - "PLACEMENT_TAG_STANDARD"
  9669  	// - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
  9670  	// - "PLACEMENT_TAG_IFRAME_ILAYER"
  9671  	// - "PLACEMENT_TAG_INTERNAL_REDIRECT"
  9672  	// - "PLACEMENT_TAG_JAVASCRIPT"
  9673  	// - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
  9674  	// - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
  9675  	// - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
  9676  	// - "PLACEMENT_TAG_CLICK_COMMANDS"
  9677  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
  9678  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
  9679  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
  9680  	// - "PLACEMENT_TAG_TRACKING"
  9681  	// - "PLACEMENT_TAG_TRACKING_IFRAME"
  9682  	// - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
  9683  	//
  9684  	// Possible values:
  9685  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
  9686  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
  9687  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
  9688  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
  9689  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
  9690  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
  9691  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
  9692  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
  9693  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
  9694  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
  9695  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
  9696  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
  9697  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
  9698  	//   "PLACEMENT_TAG_JAVASCRIPT"
  9699  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
  9700  	//   "PLACEMENT_TAG_STANDARD"
  9701  	//   "PLACEMENT_TAG_TRACKING"
  9702  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
  9703  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
  9704  	TagFormats []string `json:"tagFormats,omitempty"`
  9705  
  9706  	// TagSetting: Tag settings for this placement.
  9707  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
  9708  
  9709  	// VideoActiveViewOptOut: Whether Verification and ActiveView are
  9710  	// disabled for in-stream video creatives for this placement. The same
  9711  	// setting videoActiveViewOptOut exists on the site level -- the opt out
  9712  	// occurs if either of these settings are true. These settings are
  9713  	// distinct from DirectorySites.settings.activeViewOptOut or
  9714  	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
  9715  	// However, Accounts.activeViewOptOut opts out both video traffic, as
  9716  	// well as display ads, from Verification and ActiveView.
  9717  	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
  9718  
  9719  	// VideoSettings: A collection of settings which affect video creatives
  9720  	// served through this placement. Applicable to placements with
  9721  	// IN_STREAM_VIDEO compatibility.
  9722  	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
  9723  
  9724  	// VpaidAdapterChoice: VPAID adapter setting for this placement.
  9725  	// Controls which VPAID format the measurement adapter will use for
  9726  	// in-stream video creatives assigned to this placement.
  9727  	//
  9728  	// Note: Flash is no longer supported. This field now defaults to HTML5
  9729  	// when the following values are provided: FLASH, BOTH.
  9730  	//
  9731  	// Possible values:
  9732  	//   "BOTH"
  9733  	//   "DEFAULT"
  9734  	//   "FLASH"
  9735  	//   "HTML5"
  9736  	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
  9737  
  9738  	// ServerResponse contains the HTTP response code and headers from the
  9739  	// server.
  9740  	googleapi.ServerResponse `json:"-"`
  9741  
  9742  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9743  	// unconditionally include in API requests. By default, fields with
  9744  	// empty values are omitted from API requests. However, any non-pointer,
  9745  	// non-interface field appearing in ForceSendFields will be sent to the
  9746  	// server regardless of whether the field is empty or not. This may be
  9747  	// used to include empty fields in Patch requests.
  9748  	ForceSendFields []string `json:"-"`
  9749  
  9750  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9751  	// API requests with the JSON null value. By default, fields with empty
  9752  	// values are omitted from API requests. However, any field with an
  9753  	// empty value appearing in NullFields will be sent to the server as
  9754  	// null. It is an error if a field in this list has a non-empty value.
  9755  	// This may be used to include null fields in Patch requests.
  9756  	NullFields []string `json:"-"`
  9757  }
  9758  
  9759  func (s *Placement) MarshalJSON() ([]byte, error) {
  9760  	type NoMethod Placement
  9761  	raw := NoMethod(*s)
  9762  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9763  }
  9764  
  9765  // PlacementAssignment: Placement Assignment.
  9766  type PlacementAssignment struct {
  9767  	// Active: Whether this placement assignment is active. When true, the
  9768  	// placement will be included in the ad's rotation.
  9769  	Active bool `json:"active,omitempty"`
  9770  
  9771  	// PlacementId: ID of the placement to be assigned. This is a required
  9772  	// field.
  9773  	PlacementId int64 `json:"placementId,omitempty,string"`
  9774  
  9775  	// PlacementIdDimensionValue: Dimension value for the ID of the
  9776  	// placement. This is a read-only, auto-generated field.
  9777  	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
  9778  
  9779  	// SslRequired: Whether the placement to be assigned requires SSL. This
  9780  	// is a read-only field that is auto-generated when the ad is inserted
  9781  	// or updated.
  9782  	SslRequired bool `json:"sslRequired,omitempty"`
  9783  
  9784  	// ForceSendFields is a list of field names (e.g. "Active") to
  9785  	// unconditionally include in API requests. By default, fields with
  9786  	// empty values are omitted from API requests. However, any non-pointer,
  9787  	// non-interface field appearing in ForceSendFields will be sent to the
  9788  	// server regardless of whether the field is empty or not. This may be
  9789  	// used to include empty fields in Patch requests.
  9790  	ForceSendFields []string `json:"-"`
  9791  
  9792  	// NullFields is a list of field names (e.g. "Active") to include in API
  9793  	// requests with the JSON null value. By default, fields with empty
  9794  	// values are omitted from API requests. However, any field with an
  9795  	// empty value appearing in NullFields will be sent to the server as
  9796  	// null. It is an error if a field in this list has a non-empty value.
  9797  	// This may be used to include null fields in Patch requests.
  9798  	NullFields []string `json:"-"`
  9799  }
  9800  
  9801  func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
  9802  	type NoMethod PlacementAssignment
  9803  	raw := NoMethod(*s)
  9804  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9805  }
  9806  
  9807  // PlacementGroup: Contains properties of a package or roadblock.
  9808  type PlacementGroup struct {
  9809  	// AccountId: Account ID of this placement group. This is a read-only
  9810  	// field that can be left blank.
  9811  	AccountId int64 `json:"accountId,omitempty,string"`
  9812  
  9813  	// AdvertiserId: Advertiser ID of this placement group. This is a
  9814  	// required field on insertion.
  9815  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9816  
  9817  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  9818  	// advertiser. This is a read-only, auto-generated field.
  9819  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  9820  
  9821  	// Archived: Whether this placement group is archived.
  9822  	Archived bool `json:"archived,omitempty"`
  9823  
  9824  	// CampaignId: Campaign ID of this placement group. This field is
  9825  	// required on insertion.
  9826  	CampaignId int64 `json:"campaignId,omitempty,string"`
  9827  
  9828  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  9829  	// This is a read-only, auto-generated field.
  9830  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  9831  
  9832  	// ChildPlacementIds: IDs of placements which are assigned to this
  9833  	// placement group. This is a read-only, auto-generated field.
  9834  	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
  9835  
  9836  	// Comment: Comments for this placement group.
  9837  	Comment string `json:"comment,omitempty"`
  9838  
  9839  	// ContentCategoryId: ID of the content category assigned to this
  9840  	// placement group.
  9841  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  9842  
  9843  	// CreateInfo: Information about the creation of this placement group.
  9844  	// This is a read-only field.
  9845  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  9846  
  9847  	// DirectorySiteId: Directory site ID associated with this placement
  9848  	// group. On insert, you must set either this field or the site_id field
  9849  	// to specify the site associated with this placement group. This is a
  9850  	// required field that is read-only after insertion.
  9851  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  9852  
  9853  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
  9854  	// directory site. This is a read-only, auto-generated field.
  9855  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
  9856  
  9857  	// ExternalId: External ID for this placement.
  9858  	ExternalId string `json:"externalId,omitempty"`
  9859  
  9860  	// Id: ID of this placement group. This is a read-only, auto-generated
  9861  	// field.
  9862  	Id int64 `json:"id,omitempty,string"`
  9863  
  9864  	// IdDimensionValue: Dimension value for the ID of this placement group.
  9865  	// This is a read-only, auto-generated field.
  9866  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  9867  
  9868  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9869  	// string "dfareporting#placementGroup".
  9870  	Kind string `json:"kind,omitempty"`
  9871  
  9872  	// LastModifiedInfo: Information about the most recent modification of
  9873  	// this placement group. This is a read-only field.
  9874  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9875  
  9876  	// Name: Name of this placement group. This is a required field and must
  9877  	// be less than 256 characters long.
  9878  	Name string `json:"name,omitempty"`
  9879  
  9880  	// PlacementGroupType: Type of this placement group. A package is a
  9881  	// simple group of placements that acts as a single pricing point for a
  9882  	// group of tags. A roadblock is a group of placements that not only
  9883  	// acts as a single pricing point, but also assumes that all the tags in
  9884  	// it will be served at the same time. A roadblock requires one of its
  9885  	// assigned placements to be marked as primary for reporting. This field
  9886  	// is required on insertion.
  9887  	//
  9888  	// Possible values:
  9889  	//   "PLACEMENT_PACKAGE"
  9890  	//   "PLACEMENT_ROADBLOCK"
  9891  	PlacementGroupType string `json:"placementGroupType,omitempty"`
  9892  
  9893  	// PlacementStrategyId: ID of the placement strategy assigned to this
  9894  	// placement group.
  9895  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  9896  
  9897  	// PricingSchedule: Pricing schedule of this placement group. This field
  9898  	// is required on insertion.
  9899  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
  9900  
  9901  	// PrimaryPlacementId: ID of the primary placement, used to calculate
  9902  	// the media cost of a roadblock (placement group). Modifying this field
  9903  	// will automatically modify the primary field on all affected roadblock
  9904  	// child placements.
  9905  	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
  9906  
  9907  	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
  9908  	// primary placement. This is a read-only, auto-generated field.
  9909  	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
  9910  
  9911  	// SiteId: Site ID associated with this placement group. On insert, you
  9912  	// must set either this field or the directorySiteId field to specify
  9913  	// the site associated with this placement group. This is a required
  9914  	// field that is read-only after insertion.
  9915  	SiteId int64 `json:"siteId,omitempty,string"`
  9916  
  9917  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  9918  	// a read-only, auto-generated field.
  9919  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  9920  
  9921  	// SubaccountId: Subaccount ID of this placement group. This is a
  9922  	// read-only field that can be left blank.
  9923  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9924  
  9925  	// ServerResponse contains the HTTP response code and headers from the
  9926  	// server.
  9927  	googleapi.ServerResponse `json:"-"`
  9928  
  9929  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9930  	// unconditionally include in API requests. By default, fields with
  9931  	// empty values are omitted from API requests. However, any non-pointer,
  9932  	// non-interface field appearing in ForceSendFields will be sent to the
  9933  	// server regardless of whether the field is empty or not. This may be
  9934  	// used to include empty fields in Patch requests.
  9935  	ForceSendFields []string `json:"-"`
  9936  
  9937  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9938  	// API requests with the JSON null value. By default, fields with empty
  9939  	// values are omitted from API requests. However, any field with an
  9940  	// empty value appearing in NullFields will be sent to the server as
  9941  	// null. It is an error if a field in this list has a non-empty value.
  9942  	// This may be used to include null fields in Patch requests.
  9943  	NullFields []string `json:"-"`
  9944  }
  9945  
  9946  func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
  9947  	type NoMethod PlacementGroup
  9948  	raw := NoMethod(*s)
  9949  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9950  }
  9951  
  9952  // PlacementGroupsListResponse: Placement Group List Response
  9953  type PlacementGroupsListResponse struct {
  9954  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9955  	// string "dfareporting#placementGroupsListResponse".
  9956  	Kind string `json:"kind,omitempty"`
  9957  
  9958  	// NextPageToken: Pagination token to be used for the next list
  9959  	// operation.
  9960  	NextPageToken string `json:"nextPageToken,omitempty"`
  9961  
  9962  	// PlacementGroups: Placement group collection.
  9963  	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
  9964  
  9965  	// ServerResponse contains the HTTP response code and headers from the
  9966  	// server.
  9967  	googleapi.ServerResponse `json:"-"`
  9968  
  9969  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9970  	// unconditionally include in API requests. By default, fields with
  9971  	// empty values are omitted from API requests. However, any non-pointer,
  9972  	// non-interface field appearing in ForceSendFields will be sent to the
  9973  	// server regardless of whether the field is empty or not. This may be
  9974  	// used to include empty fields in Patch requests.
  9975  	ForceSendFields []string `json:"-"`
  9976  
  9977  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9978  	// requests with the JSON null value. By default, fields with empty
  9979  	// values are omitted from API requests. However, any field with an
  9980  	// empty value appearing in NullFields will be sent to the server as
  9981  	// null. It is an error if a field in this list has a non-empty value.
  9982  	// This may be used to include null fields in Patch requests.
  9983  	NullFields []string `json:"-"`
  9984  }
  9985  
  9986  func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
  9987  	type NoMethod PlacementGroupsListResponse
  9988  	raw := NoMethod(*s)
  9989  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9990  }
  9991  
  9992  // PlacementStrategiesListResponse: Placement Strategy List Response
  9993  type PlacementStrategiesListResponse struct {
  9994  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9995  	// string "dfareporting#placementStrategiesListResponse".
  9996  	Kind string `json:"kind,omitempty"`
  9997  
  9998  	// NextPageToken: Pagination token to be used for the next list
  9999  	// operation.
 10000  	NextPageToken string `json:"nextPageToken,omitempty"`
 10001  
 10002  	// PlacementStrategies: Placement strategy collection.
 10003  	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
 10004  
 10005  	// ServerResponse contains the HTTP response code and headers from the
 10006  	// server.
 10007  	googleapi.ServerResponse `json:"-"`
 10008  
 10009  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10010  	// unconditionally include in API requests. By default, fields with
 10011  	// empty values are omitted from API requests. However, any non-pointer,
 10012  	// non-interface field appearing in ForceSendFields will be sent to the
 10013  	// server regardless of whether the field is empty or not. This may be
 10014  	// used to include empty fields in Patch requests.
 10015  	ForceSendFields []string `json:"-"`
 10016  
 10017  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10018  	// requests with the JSON null value. By default, fields with empty
 10019  	// values are omitted from API requests. However, any field with an
 10020  	// empty value appearing in NullFields will be sent to the server as
 10021  	// null. It is an error if a field in this list has a non-empty value.
 10022  	// This may be used to include null fields in Patch requests.
 10023  	NullFields []string `json:"-"`
 10024  }
 10025  
 10026  func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
 10027  	type NoMethod PlacementStrategiesListResponse
 10028  	raw := NoMethod(*s)
 10029  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10030  }
 10031  
 10032  // PlacementStrategy: Contains properties of a placement strategy.
 10033  type PlacementStrategy struct {
 10034  	// AccountId: Account ID of this placement strategy.This is a read-only
 10035  	// field that can be left blank.
 10036  	AccountId int64 `json:"accountId,omitempty,string"`
 10037  
 10038  	// Id: ID of this placement strategy. This is a read-only,
 10039  	// auto-generated field.
 10040  	Id int64 `json:"id,omitempty,string"`
 10041  
 10042  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10043  	// string "dfareporting#placementStrategy".
 10044  	Kind string `json:"kind,omitempty"`
 10045  
 10046  	// Name: Name of this placement strategy. This is a required field. It
 10047  	// must be less than 256 characters long and unique among placement
 10048  	// strategies of the same account.
 10049  	Name string `json:"name,omitempty"`
 10050  
 10051  	// ServerResponse contains the HTTP response code and headers from the
 10052  	// server.
 10053  	googleapi.ServerResponse `json:"-"`
 10054  
 10055  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10056  	// unconditionally include in API requests. By default, fields with
 10057  	// empty values are omitted from API requests. However, any non-pointer,
 10058  	// non-interface field appearing in ForceSendFields will be sent to the
 10059  	// server regardless of whether the field is empty or not. This may be
 10060  	// used to include empty fields in Patch requests.
 10061  	ForceSendFields []string `json:"-"`
 10062  
 10063  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10064  	// API requests with the JSON null value. By default, fields with empty
 10065  	// values are omitted from API requests. However, any field with an
 10066  	// empty value appearing in NullFields will be sent to the server as
 10067  	// null. It is an error if a field in this list has a non-empty value.
 10068  	// This may be used to include null fields in Patch requests.
 10069  	NullFields []string `json:"-"`
 10070  }
 10071  
 10072  func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
 10073  	type NoMethod PlacementStrategy
 10074  	raw := NoMethod(*s)
 10075  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10076  }
 10077  
 10078  // PlacementTag: Placement Tag
 10079  type PlacementTag struct {
 10080  	// PlacementId: Placement ID
 10081  	PlacementId int64 `json:"placementId,omitempty,string"`
 10082  
 10083  	// TagDatas: Tags generated for this placement.
 10084  	TagDatas []*TagData `json:"tagDatas,omitempty"`
 10085  
 10086  	// ForceSendFields is a list of field names (e.g. "PlacementId") to
 10087  	// unconditionally include in API requests. By default, fields with
 10088  	// empty values are omitted from API requests. However, any non-pointer,
 10089  	// non-interface field appearing in ForceSendFields will be sent to the
 10090  	// server regardless of whether the field is empty or not. This may be
 10091  	// used to include empty fields in Patch requests.
 10092  	ForceSendFields []string `json:"-"`
 10093  
 10094  	// NullFields is a list of field names (e.g. "PlacementId") to include
 10095  	// in API requests with the JSON null value. By default, fields with
 10096  	// empty values are omitted from API requests. However, any field with
 10097  	// an empty value appearing in NullFields will be sent to the server as
 10098  	// null. It is an error if a field in this list has a non-empty value.
 10099  	// This may be used to include null fields in Patch requests.
 10100  	NullFields []string `json:"-"`
 10101  }
 10102  
 10103  func (s *PlacementTag) MarshalJSON() ([]byte, error) {
 10104  	type NoMethod PlacementTag
 10105  	raw := NoMethod(*s)
 10106  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10107  }
 10108  
 10109  // PlacementsGenerateTagsResponse: Placement GenerateTags Response
 10110  type PlacementsGenerateTagsResponse struct {
 10111  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10112  	// string "dfareporting#placementsGenerateTagsResponse".
 10113  	Kind string `json:"kind,omitempty"`
 10114  
 10115  	// PlacementTags: Set of generated tags for the specified placements.
 10116  	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
 10117  
 10118  	// ServerResponse contains the HTTP response code and headers from the
 10119  	// server.
 10120  	googleapi.ServerResponse `json:"-"`
 10121  
 10122  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10123  	// unconditionally include in API requests. By default, fields with
 10124  	// empty values are omitted from API requests. However, any non-pointer,
 10125  	// non-interface field appearing in ForceSendFields will be sent to the
 10126  	// server regardless of whether the field is empty or not. This may be
 10127  	// used to include empty fields in Patch requests.
 10128  	ForceSendFields []string `json:"-"`
 10129  
 10130  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10131  	// requests with the JSON null value. By default, fields with empty
 10132  	// values are omitted from API requests. However, any field with an
 10133  	// empty value appearing in NullFields will be sent to the server as
 10134  	// null. It is an error if a field in this list has a non-empty value.
 10135  	// This may be used to include null fields in Patch requests.
 10136  	NullFields []string `json:"-"`
 10137  }
 10138  
 10139  func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
 10140  	type NoMethod PlacementsGenerateTagsResponse
 10141  	raw := NoMethod(*s)
 10142  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10143  }
 10144  
 10145  // PlacementsListResponse: Placement List Response
 10146  type PlacementsListResponse struct {
 10147  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10148  	// string "dfareporting#placementsListResponse".
 10149  	Kind string `json:"kind,omitempty"`
 10150  
 10151  	// NextPageToken: Pagination token to be used for the next list
 10152  	// operation.
 10153  	NextPageToken string `json:"nextPageToken,omitempty"`
 10154  
 10155  	// Placements: Placement collection.
 10156  	Placements []*Placement `json:"placements,omitempty"`
 10157  
 10158  	// ServerResponse contains the HTTP response code and headers from the
 10159  	// server.
 10160  	googleapi.ServerResponse `json:"-"`
 10161  
 10162  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10163  	// unconditionally include in API requests. By default, fields with
 10164  	// empty values are omitted from API requests. However, any non-pointer,
 10165  	// non-interface field appearing in ForceSendFields will be sent to the
 10166  	// server regardless of whether the field is empty or not. This may be
 10167  	// used to include empty fields in Patch requests.
 10168  	ForceSendFields []string `json:"-"`
 10169  
 10170  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10171  	// requests with the JSON null value. By default, fields with empty
 10172  	// values are omitted from API requests. However, any field with an
 10173  	// empty value appearing in NullFields will be sent to the server as
 10174  	// null. It is an error if a field in this list has a non-empty value.
 10175  	// This may be used to include null fields in Patch requests.
 10176  	NullFields []string `json:"-"`
 10177  }
 10178  
 10179  func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
 10180  	type NoMethod PlacementsListResponse
 10181  	raw := NoMethod(*s)
 10182  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10183  }
 10184  
 10185  // PlatformType: Contains information about a platform type that can be
 10186  // targeted by ads.
 10187  type PlatformType struct {
 10188  	// Id: ID of this platform type.
 10189  	Id int64 `json:"id,omitempty,string"`
 10190  
 10191  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10192  	// string "dfareporting#platformType".
 10193  	Kind string `json:"kind,omitempty"`
 10194  
 10195  	// Name: Name of this platform type.
 10196  	Name string `json:"name,omitempty"`
 10197  
 10198  	// ServerResponse contains the HTTP response code and headers from the
 10199  	// server.
 10200  	googleapi.ServerResponse `json:"-"`
 10201  
 10202  	// ForceSendFields is a list of field names (e.g. "Id") to
 10203  	// unconditionally include in API requests. By default, fields with
 10204  	// empty values are omitted from API requests. However, any non-pointer,
 10205  	// non-interface field appearing in ForceSendFields will be sent to the
 10206  	// server regardless of whether the field is empty or not. This may be
 10207  	// used to include empty fields in Patch requests.
 10208  	ForceSendFields []string `json:"-"`
 10209  
 10210  	// NullFields is a list of field names (e.g. "Id") to include in API
 10211  	// requests with the JSON null value. By default, fields with empty
 10212  	// values are omitted from API requests. However, any field with an
 10213  	// empty value appearing in NullFields will be sent to the server as
 10214  	// null. It is an error if a field in this list has a non-empty value.
 10215  	// This may be used to include null fields in Patch requests.
 10216  	NullFields []string `json:"-"`
 10217  }
 10218  
 10219  func (s *PlatformType) MarshalJSON() ([]byte, error) {
 10220  	type NoMethod PlatformType
 10221  	raw := NoMethod(*s)
 10222  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10223  }
 10224  
 10225  // PlatformTypesListResponse: Platform Type List Response
 10226  type PlatformTypesListResponse struct {
 10227  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10228  	// string "dfareporting#platformTypesListResponse".
 10229  	Kind string `json:"kind,omitempty"`
 10230  
 10231  	// PlatformTypes: Platform type collection.
 10232  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 10233  
 10234  	// ServerResponse contains the HTTP response code and headers from the
 10235  	// server.
 10236  	googleapi.ServerResponse `json:"-"`
 10237  
 10238  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10239  	// unconditionally include in API requests. By default, fields with
 10240  	// empty values are omitted from API requests. However, any non-pointer,
 10241  	// non-interface field appearing in ForceSendFields will be sent to the
 10242  	// server regardless of whether the field is empty or not. This may be
 10243  	// used to include empty fields in Patch requests.
 10244  	ForceSendFields []string `json:"-"`
 10245  
 10246  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10247  	// requests with the JSON null value. By default, fields with empty
 10248  	// values are omitted from API requests. However, any field with an
 10249  	// empty value appearing in NullFields will be sent to the server as
 10250  	// null. It is an error if a field in this list has a non-empty value.
 10251  	// This may be used to include null fields in Patch requests.
 10252  	NullFields []string `json:"-"`
 10253  }
 10254  
 10255  func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
 10256  	type NoMethod PlatformTypesListResponse
 10257  	raw := NoMethod(*s)
 10258  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10259  }
 10260  
 10261  // PopupWindowProperties: Popup Window Properties.
 10262  type PopupWindowProperties struct {
 10263  	// Dimension: Popup dimension for a creative. This is a read-only field.
 10264  	// Applicable to the following creative types: all RICH_MEDIA and all
 10265  	// VPAID
 10266  	Dimension *Size `json:"dimension,omitempty"`
 10267  
 10268  	// Offset: Upper-left corner coordinates of the popup window. Applicable
 10269  	// if positionType is COORDINATES.
 10270  	Offset *OffsetPosition `json:"offset,omitempty"`
 10271  
 10272  	// PositionType: Popup window position either centered or at specific
 10273  	// coordinate.
 10274  	//
 10275  	// Possible values:
 10276  	//   "CENTER"
 10277  	//   "COORDINATES"
 10278  	PositionType string `json:"positionType,omitempty"`
 10279  
 10280  	// ShowAddressBar: Whether to display the browser address bar.
 10281  	ShowAddressBar bool `json:"showAddressBar,omitempty"`
 10282  
 10283  	// ShowMenuBar: Whether to display the browser menu bar.
 10284  	ShowMenuBar bool `json:"showMenuBar,omitempty"`
 10285  
 10286  	// ShowScrollBar: Whether to display the browser scroll bar.
 10287  	ShowScrollBar bool `json:"showScrollBar,omitempty"`
 10288  
 10289  	// ShowStatusBar: Whether to display the browser status bar.
 10290  	ShowStatusBar bool `json:"showStatusBar,omitempty"`
 10291  
 10292  	// ShowToolBar: Whether to display the browser tool bar.
 10293  	ShowToolBar bool `json:"showToolBar,omitempty"`
 10294  
 10295  	// Title: Title of popup window.
 10296  	Title string `json:"title,omitempty"`
 10297  
 10298  	// ForceSendFields is a list of field names (e.g. "Dimension") to
 10299  	// unconditionally include in API requests. By default, fields with
 10300  	// empty values are omitted from API requests. However, any non-pointer,
 10301  	// non-interface field appearing in ForceSendFields will be sent to the
 10302  	// server regardless of whether the field is empty or not. This may be
 10303  	// used to include empty fields in Patch requests.
 10304  	ForceSendFields []string `json:"-"`
 10305  
 10306  	// NullFields is a list of field names (e.g. "Dimension") to include in
 10307  	// API requests with the JSON null value. By default, fields with empty
 10308  	// values are omitted from API requests. However, any field with an
 10309  	// empty value appearing in NullFields will be sent to the server as
 10310  	// null. It is an error if a field in this list has a non-empty value.
 10311  	// This may be used to include null fields in Patch requests.
 10312  	NullFields []string `json:"-"`
 10313  }
 10314  
 10315  func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
 10316  	type NoMethod PopupWindowProperties
 10317  	raw := NoMethod(*s)
 10318  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10319  }
 10320  
 10321  // PostalCode: Contains information about a postal code that can be
 10322  // targeted by ads.
 10323  type PostalCode struct {
 10324  	// Code: Postal code. This is equivalent to the id field.
 10325  	Code string `json:"code,omitempty"`
 10326  
 10327  	// CountryCode: Country code of the country to which this postal code
 10328  	// belongs.
 10329  	CountryCode string `json:"countryCode,omitempty"`
 10330  
 10331  	// CountryDartId: DART ID of the country to which this postal code
 10332  	// belongs.
 10333  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 10334  
 10335  	// Id: ID of this postal code.
 10336  	Id string `json:"id,omitempty"`
 10337  
 10338  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10339  	// string "dfareporting#postalCode".
 10340  	Kind string `json:"kind,omitempty"`
 10341  
 10342  	// ServerResponse contains the HTTP response code and headers from the
 10343  	// server.
 10344  	googleapi.ServerResponse `json:"-"`
 10345  
 10346  	// ForceSendFields is a list of field names (e.g. "Code") to
 10347  	// unconditionally include in API requests. By default, fields with
 10348  	// empty values are omitted from API requests. However, any non-pointer,
 10349  	// non-interface field appearing in ForceSendFields will be sent to the
 10350  	// server regardless of whether the field is empty or not. This may be
 10351  	// used to include empty fields in Patch requests.
 10352  	ForceSendFields []string `json:"-"`
 10353  
 10354  	// NullFields is a list of field names (e.g. "Code") to include in API
 10355  	// requests with the JSON null value. By default, fields with empty
 10356  	// values are omitted from API requests. However, any field with an
 10357  	// empty value appearing in NullFields will be sent to the server as
 10358  	// null. It is an error if a field in this list has a non-empty value.
 10359  	// This may be used to include null fields in Patch requests.
 10360  	NullFields []string `json:"-"`
 10361  }
 10362  
 10363  func (s *PostalCode) MarshalJSON() ([]byte, error) {
 10364  	type NoMethod PostalCode
 10365  	raw := NoMethod(*s)
 10366  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10367  }
 10368  
 10369  // PostalCodesListResponse: Postal Code List Response
 10370  type PostalCodesListResponse struct {
 10371  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10372  	// string "dfareporting#postalCodesListResponse".
 10373  	Kind string `json:"kind,omitempty"`
 10374  
 10375  	// PostalCodes: Postal code collection.
 10376  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
 10377  
 10378  	// ServerResponse contains the HTTP response code and headers from the
 10379  	// server.
 10380  	googleapi.ServerResponse `json:"-"`
 10381  
 10382  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10383  	// unconditionally include in API requests. By default, fields with
 10384  	// empty values are omitted from API requests. However, any non-pointer,
 10385  	// non-interface field appearing in ForceSendFields will be sent to the
 10386  	// server regardless of whether the field is empty or not. This may be
 10387  	// used to include empty fields in Patch requests.
 10388  	ForceSendFields []string `json:"-"`
 10389  
 10390  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10391  	// requests with the JSON null value. By default, fields with empty
 10392  	// values are omitted from API requests. However, any field with an
 10393  	// empty value appearing in NullFields will be sent to the server as
 10394  	// null. It is an error if a field in this list has a non-empty value.
 10395  	// This may be used to include null fields in Patch requests.
 10396  	NullFields []string `json:"-"`
 10397  }
 10398  
 10399  func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
 10400  	type NoMethod PostalCodesListResponse
 10401  	raw := NoMethod(*s)
 10402  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10403  }
 10404  
 10405  // Pricing: Pricing Information
 10406  type Pricing struct {
 10407  	// CapCostType: Cap cost type of this inventory item.
 10408  	//
 10409  	// Possible values:
 10410  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
 10411  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
 10412  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
 10413  	CapCostType string `json:"capCostType,omitempty"`
 10414  
 10415  	// EndDate: End date of this inventory item.
 10416  	EndDate string `json:"endDate,omitempty"`
 10417  
 10418  	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
 10419  	// period) represents the inventory item pricing information for a
 10420  	// specific period of time.
 10421  	Flights []*Flight `json:"flights,omitempty"`
 10422  
 10423  	// GroupType: Group type of this inventory item if it represents a
 10424  	// placement group. Is null otherwise. There are two type of placement
 10425  	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
 10426  	// inventory items that acts as a single pricing point for a group of
 10427  	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
 10428  	// items that not only acts as a single pricing point, but also assumes
 10429  	// that all the tags in it will be served at the same time. A roadblock
 10430  	// requires one of its assigned inventory items to be marked as primary.
 10431  	//
 10432  	// Possible values:
 10433  	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
 10434  	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
 10435  	GroupType string `json:"groupType,omitempty"`
 10436  
 10437  	// PricingType: Pricing type of this inventory item.
 10438  	//
 10439  	// Possible values:
 10440  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
 10441  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
 10442  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
 10443  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
 10444  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
 10445  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
 10446  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 10447  	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
 10448  	PricingType string `json:"pricingType,omitempty"`
 10449  
 10450  	// StartDate: Start date of this inventory item.
 10451  	StartDate string `json:"startDate,omitempty"`
 10452  
 10453  	// ForceSendFields is a list of field names (e.g. "CapCostType") to
 10454  	// unconditionally include in API requests. By default, fields with
 10455  	// empty values are omitted from API requests. However, any non-pointer,
 10456  	// non-interface field appearing in ForceSendFields will be sent to the
 10457  	// server regardless of whether the field is empty or not. This may be
 10458  	// used to include empty fields in Patch requests.
 10459  	ForceSendFields []string `json:"-"`
 10460  
 10461  	// NullFields is a list of field names (e.g. "CapCostType") to include
 10462  	// in API requests with the JSON null value. By default, fields with
 10463  	// empty values are omitted from API requests. However, any field with
 10464  	// an empty value appearing in NullFields will be sent to the server as
 10465  	// null. It is an error if a field in this list has a non-empty value.
 10466  	// This may be used to include null fields in Patch requests.
 10467  	NullFields []string `json:"-"`
 10468  }
 10469  
 10470  func (s *Pricing) MarshalJSON() ([]byte, error) {
 10471  	type NoMethod Pricing
 10472  	raw := NoMethod(*s)
 10473  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10474  }
 10475  
 10476  // PricingSchedule: Pricing Schedule
 10477  type PricingSchedule struct {
 10478  	// CapCostOption: Placement cap cost option.
 10479  	//
 10480  	// Possible values:
 10481  	//   "CAP_COST_CUMULATIVE"
 10482  	//   "CAP_COST_MONTHLY"
 10483  	//   "CAP_COST_NONE"
 10484  	CapCostOption string `json:"capCostOption,omitempty"`
 10485  
 10486  	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
 10487  	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
 10488  
 10489  	// EndDate: Placement end date. This date must be later than, or the
 10490  	// same day as, the placement start date, but not later than the
 10491  	// campaign end date. If, for example, you set 6/25/2015 as both the
 10492  	// start and end dates, the effective placement date is just that day
 10493  	// only, 6/25/2015. The hours, minutes, and seconds of the end date
 10494  	// should not be set, as doing so will result in an error. This field is
 10495  	// required on insertion.
 10496  	EndDate string `json:"endDate,omitempty"`
 10497  
 10498  	// Flighted: Whether this placement is flighted. If true, pricing
 10499  	// periods will be computed automatically.
 10500  	Flighted bool `json:"flighted,omitempty"`
 10501  
 10502  	// FloodlightActivityId: Floodlight activity ID associated with this
 10503  	// placement. This field should be set when placement pricing type is
 10504  	// set to PRICING_TYPE_CPA.
 10505  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
 10506  
 10507  	// PricingPeriods: Pricing periods for this placement.
 10508  	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
 10509  
 10510  	// PricingType: Placement pricing type. This field is required on
 10511  	// insertion.
 10512  	//
 10513  	// Possible values:
 10514  	//   "PRICING_TYPE_CPA"
 10515  	//   "PRICING_TYPE_CPC"
 10516  	//   "PRICING_TYPE_CPM"
 10517  	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
 10518  	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
 10519  	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 10520  	PricingType string `json:"pricingType,omitempty"`
 10521  
 10522  	// StartDate: Placement start date. This date must be later than, or the
 10523  	// same day as, the campaign start date. The hours, minutes, and seconds
 10524  	// of the start date should not be set, as doing so will result in an
 10525  	// error. This field is required on insertion.
 10526  	StartDate string `json:"startDate,omitempty"`
 10527  
 10528  	// TestingStartDate: Testing start date of this placement. The hours,
 10529  	// minutes, and seconds of the start date should not be set, as doing so
 10530  	// will result in an error.
 10531  	TestingStartDate string `json:"testingStartDate,omitempty"`
 10532  
 10533  	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
 10534  	// unconditionally include in API requests. By default, fields with
 10535  	// empty values are omitted from API requests. However, any non-pointer,
 10536  	// non-interface field appearing in ForceSendFields will be sent to the
 10537  	// server regardless of whether the field is empty or not. This may be
 10538  	// used to include empty fields in Patch requests.
 10539  	ForceSendFields []string `json:"-"`
 10540  
 10541  	// NullFields is a list of field names (e.g. "CapCostOption") to include
 10542  	// in API requests with the JSON null value. By default, fields with
 10543  	// empty values are omitted from API requests. However, any field with
 10544  	// an empty value appearing in NullFields will be sent to the server as
 10545  	// null. It is an error if a field in this list has a non-empty value.
 10546  	// This may be used to include null fields in Patch requests.
 10547  	NullFields []string `json:"-"`
 10548  }
 10549  
 10550  func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
 10551  	type NoMethod PricingSchedule
 10552  	raw := NoMethod(*s)
 10553  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10554  }
 10555  
 10556  // PricingSchedulePricingPeriod: Pricing Period
 10557  type PricingSchedulePricingPeriod struct {
 10558  	// EndDate: Pricing period end date. This date must be later than, or
 10559  	// the same day as, the pricing period start date, but not later than
 10560  	// the placement end date. The period end date can be the same date as
 10561  	// the period start date. If, for example, you set 6/25/2015 as both the
 10562  	// start and end dates, the effective pricing period date is just that
 10563  	// day only, 6/25/2015. The hours, minutes, and seconds of the end date
 10564  	// should not be set, as doing so will result in an error.
 10565  	EndDate string `json:"endDate,omitempty"`
 10566  
 10567  	// PricingComment: Comments for this pricing period.
 10568  	PricingComment string `json:"pricingComment,omitempty"`
 10569  
 10570  	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
 10571  	// multipled by 1000000000). Acceptable values are 0 to
 10572  	// 1000000000000000000, inclusive.
 10573  	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
 10574  
 10575  	// StartDate: Pricing period start date. This date must be later than,
 10576  	// or the same day as, the placement start date. The hours, minutes, and
 10577  	// seconds of the start date should not be set, as doing so will result
 10578  	// in an error.
 10579  	StartDate string `json:"startDate,omitempty"`
 10580  
 10581  	// Units: Units of this pricing period. Acceptable values are 0 to
 10582  	// 10000000000, inclusive.
 10583  	Units int64 `json:"units,omitempty,string"`
 10584  
 10585  	// ForceSendFields is a list of field names (e.g. "EndDate") to
 10586  	// unconditionally include in API requests. By default, fields with
 10587  	// empty values are omitted from API requests. However, any non-pointer,
 10588  	// non-interface field appearing in ForceSendFields will be sent to the
 10589  	// server regardless of whether the field is empty or not. This may be
 10590  	// used to include empty fields in Patch requests.
 10591  	ForceSendFields []string `json:"-"`
 10592  
 10593  	// NullFields is a list of field names (e.g. "EndDate") to include in
 10594  	// API requests with the JSON null value. By default, fields with empty
 10595  	// values are omitted from API requests. However, any field with an
 10596  	// empty value appearing in NullFields will be sent to the server as
 10597  	// null. It is an error if a field in this list has a non-empty value.
 10598  	// This may be used to include null fields in Patch requests.
 10599  	NullFields []string `json:"-"`
 10600  }
 10601  
 10602  func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
 10603  	type NoMethod PricingSchedulePricingPeriod
 10604  	raw := NoMethod(*s)
 10605  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10606  }
 10607  
 10608  // Project: Contains properties of a DoubleClick Planning project.
 10609  type Project struct {
 10610  	// AccountId: Account ID of this project.
 10611  	AccountId int64 `json:"accountId,omitempty,string"`
 10612  
 10613  	// AdvertiserId: Advertiser ID of this project.
 10614  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10615  
 10616  	// AudienceAgeGroup: Audience age group of this project.
 10617  	//
 10618  	// Possible values:
 10619  	//   "PLANNING_AUDIENCE_AGE_18_24"
 10620  	//   "PLANNING_AUDIENCE_AGE_25_34"
 10621  	//   "PLANNING_AUDIENCE_AGE_35_44"
 10622  	//   "PLANNING_AUDIENCE_AGE_45_54"
 10623  	//   "PLANNING_AUDIENCE_AGE_55_64"
 10624  	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
 10625  	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
 10626  	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
 10627  
 10628  	// AudienceGender: Audience gender of this project.
 10629  	//
 10630  	// Possible values:
 10631  	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
 10632  	//   "PLANNING_AUDIENCE_GENDER_MALE"
 10633  	AudienceGender string `json:"audienceGender,omitempty"`
 10634  
 10635  	// Budget: Budget of this project in the currency specified by the
 10636  	// current account. The value stored in this field represents only the
 10637  	// non-fractional amount. For example, for USD, the smallest value that
 10638  	// can be represented by this field is 1 US dollar.
 10639  	Budget int64 `json:"budget,omitempty,string"`
 10640  
 10641  	// ClientBillingCode: Client billing code of this project.
 10642  	ClientBillingCode string `json:"clientBillingCode,omitempty"`
 10643  
 10644  	// ClientName: Name of the project client.
 10645  	ClientName string `json:"clientName,omitempty"`
 10646  
 10647  	// EndDate: End date of the project.
 10648  	EndDate string `json:"endDate,omitempty"`
 10649  
 10650  	// Id: ID of this project. This is a read-only, auto-generated field.
 10651  	Id int64 `json:"id,omitempty,string"`
 10652  
 10653  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10654  	// string "dfareporting#project".
 10655  	Kind string `json:"kind,omitempty"`
 10656  
 10657  	// LastModifiedInfo: Information about the most recent modification of
 10658  	// this project.
 10659  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
 10660  
 10661  	// Name: Name of this project.
 10662  	Name string `json:"name,omitempty"`
 10663  
 10664  	// Overview: Overview of this project.
 10665  	Overview string `json:"overview,omitempty"`
 10666  
 10667  	// StartDate: Start date of the project.
 10668  	StartDate string `json:"startDate,omitempty"`
 10669  
 10670  	// SubaccountId: Subaccount ID of this project.
 10671  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10672  
 10673  	// TargetClicks: Number of clicks that the advertiser is targeting.
 10674  	TargetClicks int64 `json:"targetClicks,omitempty,string"`
 10675  
 10676  	// TargetConversions: Number of conversions that the advertiser is
 10677  	// targeting.
 10678  	TargetConversions int64 `json:"targetConversions,omitempty,string"`
 10679  
 10680  	// TargetCpaNanos: CPA that the advertiser is targeting.
 10681  	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
 10682  
 10683  	// TargetCpcNanos: CPC that the advertiser is targeting.
 10684  	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
 10685  
 10686  	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
 10687  	// is targeting.
 10688  	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
 10689  
 10690  	// TargetCpmNanos: CPM that the advertiser is targeting.
 10691  	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
 10692  
 10693  	// TargetImpressions: Number of impressions that the advertiser is
 10694  	// targeting.
 10695  	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
 10696  
 10697  	// ServerResponse contains the HTTP response code and headers from the
 10698  	// server.
 10699  	googleapi.ServerResponse `json:"-"`
 10700  
 10701  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10702  	// unconditionally include in API requests. By default, fields with
 10703  	// empty values are omitted from API requests. However, any non-pointer,
 10704  	// non-interface field appearing in ForceSendFields will be sent to the
 10705  	// server regardless of whether the field is empty or not. This may be
 10706  	// used to include empty fields in Patch requests.
 10707  	ForceSendFields []string `json:"-"`
 10708  
 10709  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10710  	// API requests with the JSON null value. By default, fields with empty
 10711  	// values are omitted from API requests. However, any field with an
 10712  	// empty value appearing in NullFields will be sent to the server as
 10713  	// null. It is an error if a field in this list has a non-empty value.
 10714  	// This may be used to include null fields in Patch requests.
 10715  	NullFields []string `json:"-"`
 10716  }
 10717  
 10718  func (s *Project) MarshalJSON() ([]byte, error) {
 10719  	type NoMethod Project
 10720  	raw := NoMethod(*s)
 10721  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10722  }
 10723  
 10724  // ProjectsListResponse: Project List Response
 10725  type ProjectsListResponse struct {
 10726  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10727  	// string "dfareporting#projectsListResponse".
 10728  	Kind string `json:"kind,omitempty"`
 10729  
 10730  	// NextPageToken: Pagination token to be used for the next list
 10731  	// operation.
 10732  	NextPageToken string `json:"nextPageToken,omitempty"`
 10733  
 10734  	// Projects: Project collection.
 10735  	Projects []*Project `json:"projects,omitempty"`
 10736  
 10737  	// ServerResponse contains the HTTP response code and headers from the
 10738  	// server.
 10739  	googleapi.ServerResponse `json:"-"`
 10740  
 10741  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10742  	// unconditionally include in API requests. By default, fields with
 10743  	// empty values are omitted from API requests. However, any non-pointer,
 10744  	// non-interface field appearing in ForceSendFields will be sent to the
 10745  	// server regardless of whether the field is empty or not. This may be
 10746  	// used to include empty fields in Patch requests.
 10747  	ForceSendFields []string `json:"-"`
 10748  
 10749  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10750  	// requests with the JSON null value. By default, fields with empty
 10751  	// values are omitted from API requests. However, any field with an
 10752  	// empty value appearing in NullFields will be sent to the server as
 10753  	// null. It is an error if a field in this list has a non-empty value.
 10754  	// This may be used to include null fields in Patch requests.
 10755  	NullFields []string `json:"-"`
 10756  }
 10757  
 10758  func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
 10759  	type NoMethod ProjectsListResponse
 10760  	raw := NoMethod(*s)
 10761  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10762  }
 10763  
 10764  // ReachReportCompatibleFields: Represents fields that are compatible to
 10765  // be selected for a report of type "REACH".
 10766  type ReachReportCompatibleFields struct {
 10767  	// DimensionFilters: Dimensions which are compatible to be selected in
 10768  	// the "dimensionFilters" section of the report.
 10769  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 10770  
 10771  	// Dimensions: Dimensions which are compatible to be selected in the
 10772  	// "dimensions" section of the report.
 10773  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 10774  
 10775  	// Kind: The kind of resource this is, in this case
 10776  	// dfareporting#reachReportCompatibleFields.
 10777  	Kind string `json:"kind,omitempty"`
 10778  
 10779  	// Metrics: Metrics which are compatible to be selected in the
 10780  	// "metricNames" section of the report.
 10781  	Metrics []*Metric `json:"metrics,omitempty"`
 10782  
 10783  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 10784  	// as activity metrics to pivot on in the "activities" section of the
 10785  	// report.
 10786  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 10787  
 10788  	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
 10789  	// in the "reachByFrequencyMetricNames" section of the report.
 10790  	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
 10791  
 10792  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 10793  	// unconditionally include in API requests. By default, fields with
 10794  	// empty values are omitted from API requests. However, any non-pointer,
 10795  	// non-interface field appearing in ForceSendFields will be sent to the
 10796  	// server regardless of whether the field is empty or not. This may be
 10797  	// used to include empty fields in Patch requests.
 10798  	ForceSendFields []string `json:"-"`
 10799  
 10800  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 10801  	// include in API requests with the JSON null value. By default, fields
 10802  	// with empty values are omitted from API requests. However, any field
 10803  	// with an empty value appearing in NullFields will be sent to the
 10804  	// server as null. It is an error if a field in this list has a
 10805  	// non-empty value. This may be used to include null fields in Patch
 10806  	// requests.
 10807  	NullFields []string `json:"-"`
 10808  }
 10809  
 10810  func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
 10811  	type NoMethod ReachReportCompatibleFields
 10812  	raw := NoMethod(*s)
 10813  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10814  }
 10815  
 10816  // Recipient: Represents a recipient.
 10817  type Recipient struct {
 10818  	// DeliveryType: The delivery type for the recipient.
 10819  	//
 10820  	// Possible values:
 10821  	//   "ATTACHMENT"
 10822  	//   "LINK"
 10823  	DeliveryType string `json:"deliveryType,omitempty"`
 10824  
 10825  	// Email: The email address of the recipient.
 10826  	Email string `json:"email,omitempty"`
 10827  
 10828  	// Kind: The kind of resource this is, in this case
 10829  	// dfareporting#recipient.
 10830  	Kind string `json:"kind,omitempty"`
 10831  
 10832  	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
 10833  	// unconditionally include in API requests. By default, fields with
 10834  	// empty values are omitted from API requests. However, any non-pointer,
 10835  	// non-interface field appearing in ForceSendFields will be sent to the
 10836  	// server regardless of whether the field is empty or not. This may be
 10837  	// used to include empty fields in Patch requests.
 10838  	ForceSendFields []string `json:"-"`
 10839  
 10840  	// NullFields is a list of field names (e.g. "DeliveryType") to include
 10841  	// in API requests with the JSON null value. By default, fields with
 10842  	// empty values are omitted from API requests. However, any field with
 10843  	// an empty value appearing in NullFields will be sent to the server as
 10844  	// null. It is an error if a field in this list has a non-empty value.
 10845  	// This may be used to include null fields in Patch requests.
 10846  	NullFields []string `json:"-"`
 10847  }
 10848  
 10849  func (s *Recipient) MarshalJSON() ([]byte, error) {
 10850  	type NoMethod Recipient
 10851  	raw := NoMethod(*s)
 10852  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10853  }
 10854  
 10855  // Region: Contains information about a region that can be targeted by
 10856  // ads.
 10857  type Region struct {
 10858  	// CountryCode: Country code of the country to which this region
 10859  	// belongs.
 10860  	CountryCode string `json:"countryCode,omitempty"`
 10861  
 10862  	// CountryDartId: DART ID of the country to which this region belongs.
 10863  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 10864  
 10865  	// DartId: DART ID of this region.
 10866  	DartId int64 `json:"dartId,omitempty,string"`
 10867  
 10868  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10869  	// string "dfareporting#region".
 10870  	Kind string `json:"kind,omitempty"`
 10871  
 10872  	// Name: Name of this region.
 10873  	Name string `json:"name,omitempty"`
 10874  
 10875  	// RegionCode: Region code.
 10876  	RegionCode string `json:"regionCode,omitempty"`
 10877  
 10878  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
 10879  	// unconditionally include in API requests. By default, fields with
 10880  	// empty values are omitted from API requests. However, any non-pointer,
 10881  	// non-interface field appearing in ForceSendFields will be sent to the
 10882  	// server regardless of whether the field is empty or not. This may be
 10883  	// used to include empty fields in Patch requests.
 10884  	ForceSendFields []string `json:"-"`
 10885  
 10886  	// NullFields is a list of field names (e.g. "CountryCode") to include
 10887  	// in API requests with the JSON null value. By default, fields with
 10888  	// empty values are omitted from API requests. However, any field with
 10889  	// an empty value appearing in NullFields will be sent to the server as
 10890  	// null. It is an error if a field in this list has a non-empty value.
 10891  	// This may be used to include null fields in Patch requests.
 10892  	NullFields []string `json:"-"`
 10893  }
 10894  
 10895  func (s *Region) MarshalJSON() ([]byte, error) {
 10896  	type NoMethod Region
 10897  	raw := NoMethod(*s)
 10898  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10899  }
 10900  
 10901  // RegionsListResponse: Region List Response
 10902  type RegionsListResponse struct {
 10903  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10904  	// string "dfareporting#regionsListResponse".
 10905  	Kind string `json:"kind,omitempty"`
 10906  
 10907  	// Regions: Region collection.
 10908  	Regions []*Region `json:"regions,omitempty"`
 10909  
 10910  	// ServerResponse contains the HTTP response code and headers from the
 10911  	// server.
 10912  	googleapi.ServerResponse `json:"-"`
 10913  
 10914  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10915  	// unconditionally include in API requests. By default, fields with
 10916  	// empty values are omitted from API requests. However, any non-pointer,
 10917  	// non-interface field appearing in ForceSendFields will be sent to the
 10918  	// server regardless of whether the field is empty or not. This may be
 10919  	// used to include empty fields in Patch requests.
 10920  	ForceSendFields []string `json:"-"`
 10921  
 10922  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10923  	// requests with the JSON null value. By default, fields with empty
 10924  	// values are omitted from API requests. However, any field with an
 10925  	// empty value appearing in NullFields will be sent to the server as
 10926  	// null. It is an error if a field in this list has a non-empty value.
 10927  	// This may be used to include null fields in Patch requests.
 10928  	NullFields []string `json:"-"`
 10929  }
 10930  
 10931  func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
 10932  	type NoMethod RegionsListResponse
 10933  	raw := NoMethod(*s)
 10934  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10935  }
 10936  
 10937  // RemarketingList: Contains properties of a remarketing list.
 10938  // Remarketing enables you to create lists of users who have performed
 10939  // specific actions on a site, then target ads to members of those
 10940  // lists. This resource can be used to manage remarketing lists that are
 10941  // owned by your advertisers. To see all remarketing lists that are
 10942  // visible to your advertisers, including those that are shared to your
 10943  // advertiser or account, use the TargetableRemarketingLists resource.
 10944  type RemarketingList struct {
 10945  	// AccountId: Account ID of this remarketing list. This is a read-only,
 10946  	// auto-generated field that is only returned in GET requests.
 10947  	AccountId int64 `json:"accountId,omitempty,string"`
 10948  
 10949  	// Active: Whether this remarketing list is active.
 10950  	Active bool `json:"active,omitempty"`
 10951  
 10952  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 10953  	// remarketing list. This is a required field.
 10954  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10955  
 10956  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 10957  	// advertiser. This is a read-only, auto-generated field.
 10958  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 10959  
 10960  	// Description: Remarketing list description.
 10961  	Description string `json:"description,omitempty"`
 10962  
 10963  	// Id: Remarketing list ID. This is a read-only, auto-generated field.
 10964  	Id int64 `json:"id,omitempty,string"`
 10965  
 10966  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10967  	// string "dfareporting#remarketingList".
 10968  	Kind string `json:"kind,omitempty"`
 10969  
 10970  	// LifeSpan: Number of days that a user should remain in the remarketing
 10971  	// list without an impression. Acceptable values are 1 to 540,
 10972  	// inclusive.
 10973  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 10974  
 10975  	// ListPopulationRule: Rule used to populate the remarketing list with
 10976  	// users.
 10977  	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
 10978  
 10979  	// ListSize: Number of users currently in the list. This is a read-only
 10980  	// field.
 10981  	ListSize int64 `json:"listSize,omitempty,string"`
 10982  
 10983  	// ListSource: Product from which this remarketing list was originated.
 10984  	//
 10985  	// Possible values:
 10986  	//   "REMARKETING_LIST_SOURCE_ADX"
 10987  	//   "REMARKETING_LIST_SOURCE_DBM"
 10988  	//   "REMARKETING_LIST_SOURCE_DFA"
 10989  	//   "REMARKETING_LIST_SOURCE_DFP"
 10990  	//   "REMARKETING_LIST_SOURCE_DMP"
 10991  	//   "REMARKETING_LIST_SOURCE_GA"
 10992  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 10993  	//   "REMARKETING_LIST_SOURCE_OTHER"
 10994  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 10995  	//   "REMARKETING_LIST_SOURCE_XFP"
 10996  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 10997  	ListSource string `json:"listSource,omitempty"`
 10998  
 10999  	// Name: Name of the remarketing list. This is a required field. Must be
 11000  	// no greater than 128 characters long.
 11001  	Name string `json:"name,omitempty"`
 11002  
 11003  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 11004  	// read-only, auto-generated field that is only returned in GET
 11005  	// requests.
 11006  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 11007  
 11008  	// ServerResponse contains the HTTP response code and headers from the
 11009  	// server.
 11010  	googleapi.ServerResponse `json:"-"`
 11011  
 11012  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11013  	// unconditionally include in API requests. By default, fields with
 11014  	// empty values are omitted from API requests. However, any non-pointer,
 11015  	// non-interface field appearing in ForceSendFields will be sent to the
 11016  	// server regardless of whether the field is empty or not. This may be
 11017  	// used to include empty fields in Patch requests.
 11018  	ForceSendFields []string `json:"-"`
 11019  
 11020  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11021  	// API requests with the JSON null value. By default, fields with empty
 11022  	// values are omitted from API requests. However, any field with an
 11023  	// empty value appearing in NullFields will be sent to the server as
 11024  	// null. It is an error if a field in this list has a non-empty value.
 11025  	// This may be used to include null fields in Patch requests.
 11026  	NullFields []string `json:"-"`
 11027  }
 11028  
 11029  func (s *RemarketingList) MarshalJSON() ([]byte, error) {
 11030  	type NoMethod RemarketingList
 11031  	raw := NoMethod(*s)
 11032  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11033  }
 11034  
 11035  // RemarketingListShare: Contains properties of a remarketing list's
 11036  // sharing information. Sharing allows other accounts or advertisers to
 11037  // target to your remarketing lists. This resource can be used to manage
 11038  // remarketing list sharing to other accounts and advertisers.
 11039  type RemarketingListShare struct {
 11040  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11041  	// string "dfareporting#remarketingListShare".
 11042  	Kind string `json:"kind,omitempty"`
 11043  
 11044  	// RemarketingListId: Remarketing list ID. This is a read-only,
 11045  	// auto-generated field.
 11046  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
 11047  
 11048  	// SharedAccountIds: Accounts that the remarketing list is shared with.
 11049  	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
 11050  
 11051  	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
 11052  	// with.
 11053  	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
 11054  
 11055  	// ServerResponse contains the HTTP response code and headers from the
 11056  	// server.
 11057  	googleapi.ServerResponse `json:"-"`
 11058  
 11059  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11060  	// unconditionally include in API requests. By default, fields with
 11061  	// empty values are omitted from API requests. However, any non-pointer,
 11062  	// non-interface field appearing in ForceSendFields will be sent to the
 11063  	// server regardless of whether the field is empty or not. This may be
 11064  	// used to include empty fields in Patch requests.
 11065  	ForceSendFields []string `json:"-"`
 11066  
 11067  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11068  	// requests with the JSON null value. By default, fields with empty
 11069  	// values are omitted from API requests. However, any field with an
 11070  	// empty value appearing in NullFields will be sent to the server as
 11071  	// null. It is an error if a field in this list has a non-empty value.
 11072  	// This may be used to include null fields in Patch requests.
 11073  	NullFields []string `json:"-"`
 11074  }
 11075  
 11076  func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
 11077  	type NoMethod RemarketingListShare
 11078  	raw := NoMethod(*s)
 11079  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11080  }
 11081  
 11082  // RemarketingListsListResponse: Remarketing list response
 11083  type RemarketingListsListResponse struct {
 11084  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11085  	// string "dfareporting#remarketingListsListResponse".
 11086  	Kind string `json:"kind,omitempty"`
 11087  
 11088  	// NextPageToken: Pagination token to be used for the next list
 11089  	// operation.
 11090  	NextPageToken string `json:"nextPageToken,omitempty"`
 11091  
 11092  	// RemarketingLists: Remarketing list collection.
 11093  	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
 11094  
 11095  	// ServerResponse contains the HTTP response code and headers from the
 11096  	// server.
 11097  	googleapi.ServerResponse `json:"-"`
 11098  
 11099  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11100  	// unconditionally include in API requests. By default, fields with
 11101  	// empty values are omitted from API requests. However, any non-pointer,
 11102  	// non-interface field appearing in ForceSendFields will be sent to the
 11103  	// server regardless of whether the field is empty or not. This may be
 11104  	// used to include empty fields in Patch requests.
 11105  	ForceSendFields []string `json:"-"`
 11106  
 11107  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11108  	// requests with the JSON null value. By default, fields with empty
 11109  	// values are omitted from API requests. However, any field with an
 11110  	// empty value appearing in NullFields will be sent to the server as
 11111  	// null. It is an error if a field in this list has a non-empty value.
 11112  	// This may be used to include null fields in Patch requests.
 11113  	NullFields []string `json:"-"`
 11114  }
 11115  
 11116  func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 11117  	type NoMethod RemarketingListsListResponse
 11118  	raw := NoMethod(*s)
 11119  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11120  }
 11121  
 11122  // Report: Represents a Report resource.
 11123  type Report struct {
 11124  	// AccountId: The account ID to which this report belongs.
 11125  	AccountId int64 `json:"accountId,omitempty,string"`
 11126  
 11127  	// Criteria: The report criteria for a report of type "STANDARD".
 11128  	Criteria *ReportCriteria `json:"criteria,omitempty"`
 11129  
 11130  	// CrossDimensionReachCriteria: The report criteria for a report of type
 11131  	// "CROSS_DIMENSION_REACH".
 11132  	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
 11133  
 11134  	// Delivery: The report's email delivery settings.
 11135  	Delivery *ReportDelivery `json:"delivery,omitempty"`
 11136  
 11137  	// Etag: The eTag of this response for caching purposes.
 11138  	Etag string `json:"etag,omitempty"`
 11139  
 11140  	// FileName: The filename used when generating report files for this
 11141  	// report.
 11142  	FileName string `json:"fileName,omitempty"`
 11143  
 11144  	// FloodlightCriteria: The report criteria for a report of type
 11145  	// "FLOODLIGHT".
 11146  	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
 11147  
 11148  	// Format: The output format of the report. If not specified, default
 11149  	// format is "CSV". Note that the actual format in the completed report
 11150  	// file might differ if for instance the report's size exceeds the
 11151  	// format's capabilities. "CSV" will then be the fallback format.
 11152  	//
 11153  	// Possible values:
 11154  	//   "CSV"
 11155  	//   "EXCEL"
 11156  	Format string `json:"format,omitempty"`
 11157  
 11158  	// Id: The unique ID identifying this report resource.
 11159  	Id int64 `json:"id,omitempty,string"`
 11160  
 11161  	// Kind: The kind of resource this is, in this case dfareporting#report.
 11162  	Kind string `json:"kind,omitempty"`
 11163  
 11164  	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
 11165  	// this report was last modified.
 11166  	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
 11167  
 11168  	// Name: The name of the report.
 11169  	Name string `json:"name,omitempty"`
 11170  
 11171  	// OwnerProfileId: The user profile id of the owner of this report.
 11172  	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
 11173  
 11174  	// PathToConversionCriteria: The report criteria for a report of type
 11175  	// "PATH_TO_CONVERSION".
 11176  	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
 11177  
 11178  	// ReachCriteria: The report criteria for a report of type "REACH".
 11179  	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
 11180  
 11181  	// Schedule: The report's schedule. Can only be set if the report's
 11182  	// 'dateRange' is a relative date range and the relative date range is
 11183  	// not "TODAY".
 11184  	Schedule *ReportSchedule `json:"schedule,omitempty"`
 11185  
 11186  	// SubAccountId: The subaccount ID to which this report belongs if
 11187  	// applicable.
 11188  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 11189  
 11190  	// Type: The type of the report.
 11191  	//
 11192  	// Possible values:
 11193  	//   "CROSS_DIMENSION_REACH"
 11194  	//   "FLOODLIGHT"
 11195  	//   "PATH_TO_CONVERSION"
 11196  	//   "REACH"
 11197  	//   "STANDARD"
 11198  	Type string `json:"type,omitempty"`
 11199  
 11200  	// ServerResponse contains the HTTP response code and headers from the
 11201  	// server.
 11202  	googleapi.ServerResponse `json:"-"`
 11203  
 11204  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11205  	// unconditionally include in API requests. By default, fields with
 11206  	// empty values are omitted from API requests. However, any non-pointer,
 11207  	// non-interface field appearing in ForceSendFields will be sent to the
 11208  	// server regardless of whether the field is empty or not. This may be
 11209  	// used to include empty fields in Patch requests.
 11210  	ForceSendFields []string `json:"-"`
 11211  
 11212  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11213  	// API requests with the JSON null value. By default, fields with empty
 11214  	// values are omitted from API requests. However, any field with an
 11215  	// empty value appearing in NullFields will be sent to the server as
 11216  	// null. It is an error if a field in this list has a non-empty value.
 11217  	// This may be used to include null fields in Patch requests.
 11218  	NullFields []string `json:"-"`
 11219  }
 11220  
 11221  func (s *Report) MarshalJSON() ([]byte, error) {
 11222  	type NoMethod Report
 11223  	raw := NoMethod(*s)
 11224  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11225  }
 11226  
 11227  // ReportCriteria: The report criteria for a report of type "STANDARD".
 11228  type ReportCriteria struct {
 11229  	// Activities: Activity group.
 11230  	Activities *Activities `json:"activities,omitempty"`
 11231  
 11232  	// CustomRichMediaEvents: Custom Rich Media Events group.
 11233  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 11234  
 11235  	// DateRange: The date range for which this report should be run.
 11236  	DateRange *DateRange `json:"dateRange,omitempty"`
 11237  
 11238  	// DimensionFilters: The list of filters on which dimensions are
 11239  	// filtered.
 11240  	// Filters for different dimensions are ANDed, filters for the same
 11241  	// dimension are grouped together and ORed.
 11242  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11243  
 11244  	// Dimensions: The list of standard dimensions the report should
 11245  	// include.
 11246  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11247  
 11248  	// MetricNames: The list of names of metrics the report should include.
 11249  	MetricNames []string `json:"metricNames,omitempty"`
 11250  
 11251  	// ForceSendFields is a list of field names (e.g. "Activities") to
 11252  	// unconditionally include in API requests. By default, fields with
 11253  	// empty values are omitted from API requests. However, any non-pointer,
 11254  	// non-interface field appearing in ForceSendFields will be sent to the
 11255  	// server regardless of whether the field is empty or not. This may be
 11256  	// used to include empty fields in Patch requests.
 11257  	ForceSendFields []string `json:"-"`
 11258  
 11259  	// NullFields is a list of field names (e.g. "Activities") to include in
 11260  	// API requests with the JSON null value. By default, fields with empty
 11261  	// values are omitted from API requests. However, any field with an
 11262  	// empty value appearing in NullFields will be sent to the server as
 11263  	// null. It is an error if a field in this list has a non-empty value.
 11264  	// This may be used to include null fields in Patch requests.
 11265  	NullFields []string `json:"-"`
 11266  }
 11267  
 11268  func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
 11269  	type NoMethod ReportCriteria
 11270  	raw := NoMethod(*s)
 11271  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11272  }
 11273  
 11274  // ReportCrossDimensionReachCriteria: The report criteria for a report
 11275  // of type "CROSS_DIMENSION_REACH".
 11276  type ReportCrossDimensionReachCriteria struct {
 11277  	// Breakdown: The list of dimensions the report should include.
 11278  	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
 11279  
 11280  	// DateRange: The date range this report should be run for.
 11281  	DateRange *DateRange `json:"dateRange,omitempty"`
 11282  
 11283  	// Dimension: The dimension option.
 11284  	//
 11285  	// Possible values:
 11286  	//   "ADVERTISER"
 11287  	//   "CAMPAIGN"
 11288  	//   "SITE_BY_ADVERTISER"
 11289  	//   "SITE_BY_CAMPAIGN"
 11290  	Dimension string `json:"dimension,omitempty"`
 11291  
 11292  	// DimensionFilters: The list of filters on which dimensions are
 11293  	// filtered.
 11294  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11295  
 11296  	// MetricNames: The list of names of metrics the report should include.
 11297  	MetricNames []string `json:"metricNames,omitempty"`
 11298  
 11299  	// OverlapMetricNames: The list of names of overlap metrics the report
 11300  	// should include.
 11301  	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
 11302  
 11303  	// Pivoted: Whether the report is pivoted or not. Defaults to true.
 11304  	Pivoted bool `json:"pivoted,omitempty"`
 11305  
 11306  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
 11307  	// unconditionally include in API requests. By default, fields with
 11308  	// empty values are omitted from API requests. However, any non-pointer,
 11309  	// non-interface field appearing in ForceSendFields will be sent to the
 11310  	// server regardless of whether the field is empty or not. This may be
 11311  	// used to include empty fields in Patch requests.
 11312  	ForceSendFields []string `json:"-"`
 11313  
 11314  	// NullFields is a list of field names (e.g. "Breakdown") to include in
 11315  	// API requests with the JSON null value. By default, fields with empty
 11316  	// values are omitted from API requests. However, any field with an
 11317  	// empty value appearing in NullFields will be sent to the server as
 11318  	// null. It is an error if a field in this list has a non-empty value.
 11319  	// This may be used to include null fields in Patch requests.
 11320  	NullFields []string `json:"-"`
 11321  }
 11322  
 11323  func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
 11324  	type NoMethod ReportCrossDimensionReachCriteria
 11325  	raw := NoMethod(*s)
 11326  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11327  }
 11328  
 11329  // ReportDelivery: The report's email delivery settings.
 11330  type ReportDelivery struct {
 11331  	// EmailOwner: Whether the report should be emailed to the report owner.
 11332  	EmailOwner bool `json:"emailOwner,omitempty"`
 11333  
 11334  	// EmailOwnerDeliveryType: The type of delivery for the owner to
 11335  	// receive, if enabled.
 11336  	//
 11337  	// Possible values:
 11338  	//   "ATTACHMENT"
 11339  	//   "LINK"
 11340  	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
 11341  
 11342  	// Message: The message to be sent with each email.
 11343  	Message string `json:"message,omitempty"`
 11344  
 11345  	// Recipients: The list of recipients to which to email the report.
 11346  	Recipients []*Recipient `json:"recipients,omitempty"`
 11347  
 11348  	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
 11349  	// unconditionally include in API requests. By default, fields with
 11350  	// empty values are omitted from API requests. However, any non-pointer,
 11351  	// non-interface field appearing in ForceSendFields will be sent to the
 11352  	// server regardless of whether the field is empty or not. This may be
 11353  	// used to include empty fields in Patch requests.
 11354  	ForceSendFields []string `json:"-"`
 11355  
 11356  	// NullFields is a list of field names (e.g. "EmailOwner") to include in
 11357  	// API requests with the JSON null value. By default, fields with empty
 11358  	// values are omitted from API requests. However, any field with an
 11359  	// empty value appearing in NullFields will be sent to the server as
 11360  	// null. It is an error if a field in this list has a non-empty value.
 11361  	// This may be used to include null fields in Patch requests.
 11362  	NullFields []string `json:"-"`
 11363  }
 11364  
 11365  func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
 11366  	type NoMethod ReportDelivery
 11367  	raw := NoMethod(*s)
 11368  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11369  }
 11370  
 11371  // ReportFloodlightCriteria: The report criteria for a report of type
 11372  // "FLOODLIGHT".
 11373  type ReportFloodlightCriteria struct {
 11374  	// CustomRichMediaEvents: The list of custom rich media events to
 11375  	// include.
 11376  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 11377  
 11378  	// DateRange: The date range this report should be run for.
 11379  	DateRange *DateRange `json:"dateRange,omitempty"`
 11380  
 11381  	// DimensionFilters: The list of filters on which dimensions are
 11382  	// filtered.
 11383  	// Filters for different dimensions are ANDed, filters for the same
 11384  	// dimension are grouped together and ORed.
 11385  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11386  
 11387  	// Dimensions: The list of dimensions the report should include.
 11388  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11389  
 11390  	// FloodlightConfigId: The floodlight ID for which to show data in this
 11391  	// report. All advertisers associated with that ID will automatically be
 11392  	// added. The dimension of the value needs to be
 11393  	// 'dfa:floodlightConfigId'.
 11394  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 11395  
 11396  	// MetricNames: The list of names of metrics the report should include.
 11397  	MetricNames []string `json:"metricNames,omitempty"`
 11398  
 11399  	// ReportProperties: The properties of the report.
 11400  	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
 11401  
 11402  	// ForceSendFields is a list of field names (e.g.
 11403  	// "CustomRichMediaEvents") to unconditionally include in API requests.
 11404  	// By default, fields with empty values are omitted from API requests.
 11405  	// However, any non-pointer, non-interface field appearing in
 11406  	// ForceSendFields will be sent to the server regardless of whether the
 11407  	// field is empty or not. This may be used to include empty fields in
 11408  	// Patch requests.
 11409  	ForceSendFields []string `json:"-"`
 11410  
 11411  	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
 11412  	// include in API requests with the JSON null value. By default, fields
 11413  	// with empty values are omitted from API requests. However, any field
 11414  	// with an empty value appearing in NullFields will be sent to the
 11415  	// server as null. It is an error if a field in this list has a
 11416  	// non-empty value. This may be used to include null fields in Patch
 11417  	// requests.
 11418  	NullFields []string `json:"-"`
 11419  }
 11420  
 11421  func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
 11422  	type NoMethod ReportFloodlightCriteria
 11423  	raw := NoMethod(*s)
 11424  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11425  }
 11426  
 11427  // ReportFloodlightCriteriaReportProperties: The properties of the
 11428  // report.
 11429  type ReportFloodlightCriteriaReportProperties struct {
 11430  	// IncludeAttributedIPConversions: Include conversions that have no
 11431  	// cookie, but do have an exposure path.
 11432  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 11433  
 11434  	// IncludeUnattributedCookieConversions: Include conversions of users
 11435  	// with a DoubleClick cookie but without an exposure. That means the
 11436  	// user did not click or see an ad from the advertiser within the
 11437  	// Floodlight group, or that the interaction happened outside the
 11438  	// lookback window.
 11439  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 11440  
 11441  	// IncludeUnattributedIPConversions: Include conversions that have no
 11442  	// associated cookies and no exposures. It’s therefore impossible to
 11443  	// know how the user was exposed to your ads during the lookback window
 11444  	// prior to a conversion.
 11445  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 11446  
 11447  	// ForceSendFields is a list of field names (e.g.
 11448  	// "IncludeAttributedIPConversions") to unconditionally include in API
 11449  	// requests. By default, fields with empty values are omitted from API
 11450  	// requests. However, any non-pointer, non-interface field appearing in
 11451  	// ForceSendFields will be sent to the server regardless of whether the
 11452  	// field is empty or not. This may be used to include empty fields in
 11453  	// Patch requests.
 11454  	ForceSendFields []string `json:"-"`
 11455  
 11456  	// NullFields is a list of field names (e.g.
 11457  	// "IncludeAttributedIPConversions") to include in API requests with the
 11458  	// JSON null value. By default, fields with empty values are omitted
 11459  	// from API requests. However, any field with an empty value appearing
 11460  	// in NullFields will be sent to the server as null. It is an error if a
 11461  	// field in this list has a non-empty value. This may be used to include
 11462  	// null fields in Patch requests.
 11463  	NullFields []string `json:"-"`
 11464  }
 11465  
 11466  func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 11467  	type NoMethod ReportFloodlightCriteriaReportProperties
 11468  	raw := NoMethod(*s)
 11469  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11470  }
 11471  
 11472  // ReportPathToConversionCriteria: The report criteria for a report of
 11473  // type "PATH_TO_CONVERSION".
 11474  type ReportPathToConversionCriteria struct {
 11475  	// ActivityFilters: The list of 'dfa:activity' values to filter on.
 11476  	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
 11477  
 11478  	// ConversionDimensions: The list of conversion dimensions the report
 11479  	// should include.
 11480  	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
 11481  
 11482  	// CustomFloodlightVariables: The list of custom floodlight variables
 11483  	// the report should include.
 11484  	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
 11485  
 11486  	// CustomRichMediaEvents: The list of custom rich media events to
 11487  	// include.
 11488  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 11489  
 11490  	// DateRange: The date range this report should be run for.
 11491  	DateRange *DateRange `json:"dateRange,omitempty"`
 11492  
 11493  	// FloodlightConfigId: The floodlight ID for which to show data in this
 11494  	// report. All advertisers associated with that ID will automatically be
 11495  	// added. The dimension of the value needs to be
 11496  	// 'dfa:floodlightConfigId'.
 11497  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 11498  
 11499  	// MetricNames: The list of names of metrics the report should include.
 11500  	MetricNames []string `json:"metricNames,omitempty"`
 11501  
 11502  	// PerInteractionDimensions: The list of per interaction dimensions the
 11503  	// report should include.
 11504  	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
 11505  
 11506  	// ReportProperties: The properties of the report.
 11507  	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
 11508  
 11509  	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
 11510  	// unconditionally include in API requests. By default, fields with
 11511  	// empty values are omitted from API requests. However, any non-pointer,
 11512  	// non-interface field appearing in ForceSendFields will be sent to the
 11513  	// server regardless of whether the field is empty or not. This may be
 11514  	// used to include empty fields in Patch requests.
 11515  	ForceSendFields []string `json:"-"`
 11516  
 11517  	// NullFields is a list of field names (e.g. "ActivityFilters") to
 11518  	// include in API requests with the JSON null value. By default, fields
 11519  	// with empty values are omitted from API requests. However, any field
 11520  	// with an empty value appearing in NullFields will be sent to the
 11521  	// server as null. It is an error if a field in this list has a
 11522  	// non-empty value. This may be used to include null fields in Patch
 11523  	// requests.
 11524  	NullFields []string `json:"-"`
 11525  }
 11526  
 11527  func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
 11528  	type NoMethod ReportPathToConversionCriteria
 11529  	raw := NoMethod(*s)
 11530  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11531  }
 11532  
 11533  // ReportPathToConversionCriteriaReportProperties: The properties of the
 11534  // report.
 11535  type ReportPathToConversionCriteriaReportProperties struct {
 11536  	// ClicksLookbackWindow: DFA checks to see if a click interaction
 11537  	// occurred within the specified period of time before a conversion. By
 11538  	// default the value is pulled from Floodlight or you can manually enter
 11539  	// a custom value. Valid values: 1-90.
 11540  	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
 11541  
 11542  	// ImpressionsLookbackWindow: DFA checks to see if an impression
 11543  	// interaction occurred within the specified period of time before a
 11544  	// conversion. By default the value is pulled from Floodlight or you can
 11545  	// manually enter a custom value. Valid values: 1-90.
 11546  	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
 11547  
 11548  	// IncludeAttributedIPConversions: Deprecated: has no effect.
 11549  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 11550  
 11551  	// IncludeUnattributedCookieConversions: Include conversions of users
 11552  	// with a DoubleClick cookie but without an exposure. That means the
 11553  	// user did not click or see an ad from the advertiser within the
 11554  	// Floodlight group, or that the interaction happened outside the
 11555  	// lookback window.
 11556  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 11557  
 11558  	// IncludeUnattributedIPConversions: Include conversions that have no
 11559  	// associated cookies and no exposures. It’s therefore impossible to
 11560  	// know how the user was exposed to your ads during the lookback window
 11561  	// prior to a conversion.
 11562  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 11563  
 11564  	// MaximumClickInteractions: The maximum number of click interactions to
 11565  	// include in the report. Advertisers currently paying for E2C reports
 11566  	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
 11567  	// your network is paying for E2C, you can have up to 5 total exposures
 11568  	// per report.
 11569  	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
 11570  
 11571  	// MaximumImpressionInteractions: The maximum number of click
 11572  	// interactions to include in the report. Advertisers currently paying
 11573  	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
 11574  	// another advertiser in your network is paying for E2C, you can have up
 11575  	// to 5 total exposures per report.
 11576  	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
 11577  
 11578  	// MaximumInteractionGap: The maximum amount of time that can take place
 11579  	// between interactions (clicks or impressions) by the same user. Valid
 11580  	// values: 1-90.
 11581  	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
 11582  
 11583  	// PivotOnInteractionPath: Enable pivoting on interaction path.
 11584  	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
 11585  
 11586  	// ForceSendFields is a list of field names (e.g.
 11587  	// "ClicksLookbackWindow") to unconditionally include in API requests.
 11588  	// By default, fields with empty values are omitted from API requests.
 11589  	// However, any non-pointer, non-interface field appearing in
 11590  	// ForceSendFields will be sent to the server regardless of whether the
 11591  	// field is empty or not. This may be used to include empty fields in
 11592  	// Patch requests.
 11593  	ForceSendFields []string `json:"-"`
 11594  
 11595  	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
 11596  	// include in API requests with the JSON null value. By default, fields
 11597  	// with empty values are omitted from API requests. However, any field
 11598  	// with an empty value appearing in NullFields will be sent to the
 11599  	// server as null. It is an error if a field in this list has a
 11600  	// non-empty value. This may be used to include null fields in Patch
 11601  	// requests.
 11602  	NullFields []string `json:"-"`
 11603  }
 11604  
 11605  func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 11606  	type NoMethod ReportPathToConversionCriteriaReportProperties
 11607  	raw := NoMethod(*s)
 11608  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11609  }
 11610  
 11611  // ReportReachCriteria: The report criteria for a report of type
 11612  // "REACH".
 11613  type ReportReachCriteria struct {
 11614  	// Activities: Activity group.
 11615  	Activities *Activities `json:"activities,omitempty"`
 11616  
 11617  	// CustomRichMediaEvents: Custom Rich Media Events group.
 11618  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 11619  
 11620  	// DateRange: The date range this report should be run for.
 11621  	DateRange *DateRange `json:"dateRange,omitempty"`
 11622  
 11623  	// DimensionFilters: The list of filters on which dimensions are
 11624  	// filtered.
 11625  	// Filters for different dimensions are ANDed, filters for the same
 11626  	// dimension are grouped together and ORed.
 11627  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11628  
 11629  	// Dimensions: The list of dimensions the report should include.
 11630  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11631  
 11632  	// EnableAllDimensionCombinations: Whether to enable all reach dimension
 11633  	// combinations in the report. Defaults to false. If enabled, the date
 11634  	// range of the report should be within the last three months.
 11635  	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
 11636  
 11637  	// MetricNames: The list of names of metrics the report should include.
 11638  	MetricNames []string `json:"metricNames,omitempty"`
 11639  
 11640  	// ReachByFrequencyMetricNames: The list of names of  Reach By Frequency
 11641  	// metrics the report should include.
 11642  	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
 11643  
 11644  	// ForceSendFields is a list of field names (e.g. "Activities") to
 11645  	// unconditionally include in API requests. By default, fields with
 11646  	// empty values are omitted from API requests. However, any non-pointer,
 11647  	// non-interface field appearing in ForceSendFields will be sent to the
 11648  	// server regardless of whether the field is empty or not. This may be
 11649  	// used to include empty fields in Patch requests.
 11650  	ForceSendFields []string `json:"-"`
 11651  
 11652  	// NullFields is a list of field names (e.g. "Activities") to include in
 11653  	// API requests with the JSON null value. By default, fields with empty
 11654  	// values are omitted from API requests. However, any field with an
 11655  	// empty value appearing in NullFields will be sent to the server as
 11656  	// null. It is an error if a field in this list has a non-empty value.
 11657  	// This may be used to include null fields in Patch requests.
 11658  	NullFields []string `json:"-"`
 11659  }
 11660  
 11661  func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
 11662  	type NoMethod ReportReachCriteria
 11663  	raw := NoMethod(*s)
 11664  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11665  }
 11666  
 11667  // ReportSchedule: The report's schedule. Can only be set if the
 11668  // report's 'dateRange' is a relative date range and the relative date
 11669  // range is not "TODAY".
 11670  type ReportSchedule struct {
 11671  	// Active: Whether the schedule is active or not. Must be set to either
 11672  	// true or false.
 11673  	Active bool `json:"active,omitempty"`
 11674  
 11675  	// Every: Defines every how many days, weeks or months the report should
 11676  	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
 11677  	// "MONTHLY".
 11678  	Every int64 `json:"every,omitempty"`
 11679  
 11680  	// ExpirationDate: The expiration date when the scheduled report stops
 11681  	// running.
 11682  	ExpirationDate string `json:"expirationDate,omitempty"`
 11683  
 11684  	// Repeats: The interval for which the report is repeated. Note:
 11685  	// - "DAILY" also requires field "every" to be set.
 11686  	// - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be
 11687  	// set.
 11688  	// - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
 11689  	// set.
 11690  	Repeats string `json:"repeats,omitempty"`
 11691  
 11692  	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
 11693  	// reports should run.
 11694  	//
 11695  	// Possible values:
 11696  	//   "FRIDAY"
 11697  	//   "MONDAY"
 11698  	//   "SATURDAY"
 11699  	//   "SUNDAY"
 11700  	//   "THURSDAY"
 11701  	//   "TUESDAY"
 11702  	//   "WEDNESDAY"
 11703  	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
 11704  
 11705  	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
 11706  	// whether reports should be repeated on the same day of the month as
 11707  	// "startDate" or the same day of the week of the month.
 11708  	// Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02),
 11709  	// "DAY_OF_MONTH" would run subsequent reports on the 2nd of every
 11710  	// Month, and "WEEK_OF_MONTH" would run subsequent reports on the first
 11711  	// Monday of the month.
 11712  	//
 11713  	// Possible values:
 11714  	//   "DAY_OF_MONTH"
 11715  	//   "WEEK_OF_MONTH"
 11716  	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
 11717  
 11718  	// StartDate: Start date of date range for which scheduled reports
 11719  	// should be run.
 11720  	StartDate string `json:"startDate,omitempty"`
 11721  
 11722  	// ForceSendFields is a list of field names (e.g. "Active") to
 11723  	// unconditionally include in API requests. By default, fields with
 11724  	// empty values are omitted from API requests. However, any non-pointer,
 11725  	// non-interface field appearing in ForceSendFields will be sent to the
 11726  	// server regardless of whether the field is empty or not. This may be
 11727  	// used to include empty fields in Patch requests.
 11728  	ForceSendFields []string `json:"-"`
 11729  
 11730  	// NullFields is a list of field names (e.g. "Active") to include in API
 11731  	// requests with the JSON null value. By default, fields with empty
 11732  	// values are omitted from API requests. However, any field with an
 11733  	// empty value appearing in NullFields will be sent to the server as
 11734  	// null. It is an error if a field in this list has a non-empty value.
 11735  	// This may be used to include null fields in Patch requests.
 11736  	NullFields []string `json:"-"`
 11737  }
 11738  
 11739  func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
 11740  	type NoMethod ReportSchedule
 11741  	raw := NoMethod(*s)
 11742  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11743  }
 11744  
 11745  // ReportCompatibleFields: Represents fields that are compatible to be
 11746  // selected for a report of type "STANDARD".
 11747  type ReportCompatibleFields struct {
 11748  	// DimensionFilters: Dimensions which are compatible to be selected in
 11749  	// the "dimensionFilters" section of the report.
 11750  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 11751  
 11752  	// Dimensions: Dimensions which are compatible to be selected in the
 11753  	// "dimensions" section of the report.
 11754  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 11755  
 11756  	// Kind: The kind of resource this is, in this case
 11757  	// dfareporting#reportCompatibleFields.
 11758  	Kind string `json:"kind,omitempty"`
 11759  
 11760  	// Metrics: Metrics which are compatible to be selected in the
 11761  	// "metricNames" section of the report.
 11762  	Metrics []*Metric `json:"metrics,omitempty"`
 11763  
 11764  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 11765  	// as activity metrics to pivot on in the "activities" section of the
 11766  	// report.
 11767  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 11768  
 11769  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 11770  	// unconditionally include in API requests. By default, fields with
 11771  	// empty values are omitted from API requests. However, any non-pointer,
 11772  	// non-interface field appearing in ForceSendFields will be sent to the
 11773  	// server regardless of whether the field is empty or not. This may be
 11774  	// used to include empty fields in Patch requests.
 11775  	ForceSendFields []string `json:"-"`
 11776  
 11777  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 11778  	// include in API requests with the JSON null value. By default, fields
 11779  	// with empty values are omitted from API requests. However, any field
 11780  	// with an empty value appearing in NullFields will be sent to the
 11781  	// server as null. It is an error if a field in this list has a
 11782  	// non-empty value. This may be used to include null fields in Patch
 11783  	// requests.
 11784  	NullFields []string `json:"-"`
 11785  }
 11786  
 11787  func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
 11788  	type NoMethod ReportCompatibleFields
 11789  	raw := NoMethod(*s)
 11790  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11791  }
 11792  
 11793  // ReportList: Represents the list of reports.
 11794  type ReportList struct {
 11795  	// Etag: The eTag of this response for caching purposes.
 11796  	Etag string `json:"etag,omitempty"`
 11797  
 11798  	// Items: The reports returned in this response.
 11799  	Items []*Report `json:"items,omitempty"`
 11800  
 11801  	// Kind: The kind of list this is, in this case dfareporting#reportList.
 11802  	Kind string `json:"kind,omitempty"`
 11803  
 11804  	// NextPageToken: Continuation token used to page through reports. To
 11805  	// retrieve the next page of results, set the next request's "pageToken"
 11806  	// to the value of this field. The page token is only valid for a
 11807  	// limited amount of time and should not be persisted.
 11808  	NextPageToken string `json:"nextPageToken,omitempty"`
 11809  
 11810  	// ServerResponse contains the HTTP response code and headers from the
 11811  	// server.
 11812  	googleapi.ServerResponse `json:"-"`
 11813  
 11814  	// ForceSendFields is a list of field names (e.g. "Etag") to
 11815  	// unconditionally include in API requests. By default, fields with
 11816  	// empty values are omitted from API requests. However, any non-pointer,
 11817  	// non-interface field appearing in ForceSendFields will be sent to the
 11818  	// server regardless of whether the field is empty or not. This may be
 11819  	// used to include empty fields in Patch requests.
 11820  	ForceSendFields []string `json:"-"`
 11821  
 11822  	// NullFields is a list of field names (e.g. "Etag") to include in API
 11823  	// requests with the JSON null value. By default, fields with empty
 11824  	// values are omitted from API requests. However, any field with an
 11825  	// empty value appearing in NullFields will be sent to the server as
 11826  	// null. It is an error if a field in this list has a non-empty value.
 11827  	// This may be used to include null fields in Patch requests.
 11828  	NullFields []string `json:"-"`
 11829  }
 11830  
 11831  func (s *ReportList) MarshalJSON() ([]byte, error) {
 11832  	type NoMethod ReportList
 11833  	raw := NoMethod(*s)
 11834  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11835  }
 11836  
 11837  // ReportsConfiguration: Reporting Configuration
 11838  type ReportsConfiguration struct {
 11839  	// ExposureToConversionEnabled: Whether the exposure to conversion
 11840  	// report is enabled. This report shows detailed pathway information on
 11841  	// up to 10 of the most recent ad exposures seen by a user before
 11842  	// converting.
 11843  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
 11844  
 11845  	// LookbackConfiguration: Default lookback windows for new advertisers
 11846  	// in this account.
 11847  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
 11848  
 11849  	// ReportGenerationTimeZoneId: Report generation time zone ID of this
 11850  	// account. This is a required field that can only be changed by a
 11851  	// superuser.
 11852  	// Acceptable values are:
 11853  	//
 11854  	// - "1" for "America/New_York"
 11855  	// - "2" for "Europe/London"
 11856  	// - "3" for "Europe/Paris"
 11857  	// - "4" for "Africa/Johannesburg"
 11858  	// - "5" for "Asia/Jerusalem"
 11859  	// - "6" for "Asia/Shanghai"
 11860  	// - "7" for "Asia/Hong_Kong"
 11861  	// - "8" for "Asia/Tokyo"
 11862  	// - "9" for "Australia/Sydney"
 11863  	// - "10" for "Asia/Dubai"
 11864  	// - "11" for "America/Los_Angeles"
 11865  	// - "12" for "Pacific/Auckland"
 11866  	// - "13" for "America/Sao_Paulo"
 11867  	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
 11868  
 11869  	// ForceSendFields is a list of field names (e.g.
 11870  	// "ExposureToConversionEnabled") to unconditionally include in API
 11871  	// requests. By default, fields with empty values are omitted from API
 11872  	// requests. However, any non-pointer, non-interface field appearing in
 11873  	// ForceSendFields will be sent to the server regardless of whether the
 11874  	// field is empty or not. This may be used to include empty fields in
 11875  	// Patch requests.
 11876  	ForceSendFields []string `json:"-"`
 11877  
 11878  	// NullFields is a list of field names (e.g.
 11879  	// "ExposureToConversionEnabled") to include in API requests with the
 11880  	// JSON null value. By default, fields with empty values are omitted
 11881  	// from API requests. However, any field with an empty value appearing
 11882  	// in NullFields will be sent to the server as null. It is an error if a
 11883  	// field in this list has a non-empty value. This may be used to include
 11884  	// null fields in Patch requests.
 11885  	NullFields []string `json:"-"`
 11886  }
 11887  
 11888  func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
 11889  	type NoMethod ReportsConfiguration
 11890  	raw := NoMethod(*s)
 11891  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11892  }
 11893  
 11894  // RichMediaExitOverride: Rich Media Exit Override.
 11895  type RichMediaExitOverride struct {
 11896  	// ClickThroughUrl: Click-through URL of this rich media exit override.
 11897  	// Applicable if the enabled field is set to true.
 11898  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
 11899  
 11900  	// Enabled: Whether to use the clickThroughUrl. If false, the
 11901  	// creative-level exit will be used.
 11902  	Enabled bool `json:"enabled,omitempty"`
 11903  
 11904  	// ExitId: ID for the override to refer to a specific exit in the
 11905  	// creative.
 11906  	ExitId int64 `json:"exitId,omitempty,string"`
 11907  
 11908  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
 11909  	// unconditionally include in API requests. By default, fields with
 11910  	// empty values are omitted from API requests. However, any non-pointer,
 11911  	// non-interface field appearing in ForceSendFields will be sent to the
 11912  	// server regardless of whether the field is empty or not. This may be
 11913  	// used to include empty fields in Patch requests.
 11914  	ForceSendFields []string `json:"-"`
 11915  
 11916  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
 11917  	// include in API requests with the JSON null value. By default, fields
 11918  	// with empty values are omitted from API requests. However, any field
 11919  	// with an empty value appearing in NullFields will be sent to the
 11920  	// server as null. It is an error if a field in this list has a
 11921  	// non-empty value. This may be used to include null fields in Patch
 11922  	// requests.
 11923  	NullFields []string `json:"-"`
 11924  }
 11925  
 11926  func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
 11927  	type NoMethod RichMediaExitOverride
 11928  	raw := NoMethod(*s)
 11929  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11930  }
 11931  
 11932  // Rule: A rule associates an asset with a targeting template for
 11933  // asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
 11934  type Rule struct {
 11935  	// AssetId: A creativeAssets[].id. This should refer to one of the
 11936  	// parent assets in this creative. This is a required field.
 11937  	AssetId int64 `json:"assetId,omitempty,string"`
 11938  
 11939  	// Name: A user-friendly name for this rule. This is a required field.
 11940  	Name string `json:"name,omitempty"`
 11941  
 11942  	// TargetingTemplateId: A targeting template ID. The targeting from the
 11943  	// targeting template will be used to determine whether this asset
 11944  	// should be served. This is a required field.
 11945  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
 11946  
 11947  	// ForceSendFields is a list of field names (e.g. "AssetId") to
 11948  	// unconditionally include in API requests. By default, fields with
 11949  	// empty values are omitted from API requests. However, any non-pointer,
 11950  	// non-interface field appearing in ForceSendFields will be sent to the
 11951  	// server regardless of whether the field is empty or not. This may be
 11952  	// used to include empty fields in Patch requests.
 11953  	ForceSendFields []string `json:"-"`
 11954  
 11955  	// NullFields is a list of field names (e.g. "AssetId") to include in
 11956  	// API requests with the JSON null value. By default, fields with empty
 11957  	// values are omitted from API requests. However, any field with an
 11958  	// empty value appearing in NullFields will be sent to the server as
 11959  	// null. It is an error if a field in this list has a non-empty value.
 11960  	// This may be used to include null fields in Patch requests.
 11961  	NullFields []string `json:"-"`
 11962  }
 11963  
 11964  func (s *Rule) MarshalJSON() ([]byte, error) {
 11965  	type NoMethod Rule
 11966  	raw := NoMethod(*s)
 11967  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11968  }
 11969  
 11970  // Site: Contains properties of a site.
 11971  type Site struct {
 11972  	// AccountId: Account ID of this site. This is a read-only field that
 11973  	// can be left blank.
 11974  	AccountId int64 `json:"accountId,omitempty,string"`
 11975  
 11976  	// Approved: Whether this site is approved.
 11977  	Approved bool `json:"approved,omitempty"`
 11978  
 11979  	// DirectorySiteId: Directory site associated with this site. This is a
 11980  	// required field that is read-only after insertion.
 11981  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
 11982  
 11983  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
 11984  	// directory site. This is a read-only, auto-generated field.
 11985  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
 11986  
 11987  	// Id: ID of this site. This is a read-only, auto-generated field.
 11988  	Id int64 `json:"id,omitempty,string"`
 11989  
 11990  	// IdDimensionValue: Dimension value for the ID of this site. This is a
 11991  	// read-only, auto-generated field.
 11992  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 11993  
 11994  	// KeyName: Key name of this site. This is a read-only, auto-generated
 11995  	// field.
 11996  	KeyName string `json:"keyName,omitempty"`
 11997  
 11998  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11999  	// string "dfareporting#site".
 12000  	Kind string `json:"kind,omitempty"`
 12001  
 12002  	// Name: Name of this site.This is a required field. Must be less than
 12003  	// 128 characters long. If this site is under a subaccount, the name
 12004  	// must be unique among sites of the same subaccount. Otherwise, this
 12005  	// site is a top-level site, and the name must be unique among top-level
 12006  	// sites of the same account.
 12007  	Name string `json:"name,omitempty"`
 12008  
 12009  	// SiteContacts: Site contacts.
 12010  	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
 12011  
 12012  	// SiteSettings: Site-wide settings.
 12013  	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
 12014  
 12015  	// SubaccountId: Subaccount ID of this site. This is a read-only field
 12016  	// that can be left blank.
 12017  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12018  
 12019  	// ServerResponse contains the HTTP response code and headers from the
 12020  	// server.
 12021  	googleapi.ServerResponse `json:"-"`
 12022  
 12023  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12024  	// unconditionally include in API requests. By default, fields with
 12025  	// empty values are omitted from API requests. However, any non-pointer,
 12026  	// non-interface field appearing in ForceSendFields will be sent to the
 12027  	// server regardless of whether the field is empty or not. This may be
 12028  	// used to include empty fields in Patch requests.
 12029  	ForceSendFields []string `json:"-"`
 12030  
 12031  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12032  	// API requests with the JSON null value. By default, fields with empty
 12033  	// values are omitted from API requests. However, any field with an
 12034  	// empty value appearing in NullFields will be sent to the server as
 12035  	// null. It is an error if a field in this list has a non-empty value.
 12036  	// This may be used to include null fields in Patch requests.
 12037  	NullFields []string `json:"-"`
 12038  }
 12039  
 12040  func (s *Site) MarshalJSON() ([]byte, error) {
 12041  	type NoMethod Site
 12042  	raw := NoMethod(*s)
 12043  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12044  }
 12045  
 12046  // SiteContact: Site Contact
 12047  type SiteContact struct {
 12048  	// Address: Address of this site contact.
 12049  	Address string `json:"address,omitempty"`
 12050  
 12051  	// ContactType: Site contact type.
 12052  	//
 12053  	// Possible values:
 12054  	//   "SALES_PERSON"
 12055  	//   "TRAFFICKER"
 12056  	ContactType string `json:"contactType,omitempty"`
 12057  
 12058  	// Email: Email address of this site contact. This is a required field.
 12059  	Email string `json:"email,omitempty"`
 12060  
 12061  	// FirstName: First name of this site contact.
 12062  	FirstName string `json:"firstName,omitempty"`
 12063  
 12064  	// Id: ID of this site contact. This is a read-only, auto-generated
 12065  	// field.
 12066  	Id int64 `json:"id,omitempty,string"`
 12067  
 12068  	// LastName: Last name of this site contact.
 12069  	LastName string `json:"lastName,omitempty"`
 12070  
 12071  	// Phone: Primary phone number of this site contact.
 12072  	Phone string `json:"phone,omitempty"`
 12073  
 12074  	// Title: Title or designation of this site contact.
 12075  	Title string `json:"title,omitempty"`
 12076  
 12077  	// ForceSendFields is a list of field names (e.g. "Address") to
 12078  	// unconditionally include in API requests. By default, fields with
 12079  	// empty values are omitted from API requests. However, any non-pointer,
 12080  	// non-interface field appearing in ForceSendFields will be sent to the
 12081  	// server regardless of whether the field is empty or not. This may be
 12082  	// used to include empty fields in Patch requests.
 12083  	ForceSendFields []string `json:"-"`
 12084  
 12085  	// NullFields is a list of field names (e.g. "Address") to include in
 12086  	// API requests with the JSON null value. By default, fields with empty
 12087  	// values are omitted from API requests. However, any field with an
 12088  	// empty value appearing in NullFields will be sent to the server as
 12089  	// null. It is an error if a field in this list has a non-empty value.
 12090  	// This may be used to include null fields in Patch requests.
 12091  	NullFields []string `json:"-"`
 12092  }
 12093  
 12094  func (s *SiteContact) MarshalJSON() ([]byte, error) {
 12095  	type NoMethod SiteContact
 12096  	raw := NoMethod(*s)
 12097  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12098  }
 12099  
 12100  // SiteSettings: Site Settings
 12101  type SiteSettings struct {
 12102  	// ActiveViewOptOut: Whether active view creatives are disabled for this
 12103  	// site.
 12104  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
 12105  
 12106  	// CreativeSettings: Site-wide creative settings.
 12107  	CreativeSettings *CreativeSettings `json:"creativeSettings,omitempty"`
 12108  
 12109  	// DisableBrandSafeAds: Whether brand safe ads are disabled for this
 12110  	// site.
 12111  	DisableBrandSafeAds bool `json:"disableBrandSafeAds,omitempty"`
 12112  
 12113  	// DisableNewCookie: Whether new cookies are disabled for this site.
 12114  	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
 12115  
 12116  	// LookbackConfiguration: Lookback window settings for this site.
 12117  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
 12118  
 12119  	// TagSetting: Configuration settings for dynamic and image floodlight
 12120  	// tags.
 12121  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
 12122  
 12123  	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
 12124  	// for in-stream video creatives are disabled by default for new
 12125  	// placements created under this site. This value will be used to
 12126  	// populate the placement.videoActiveViewOptOut field, when no value is
 12127  	// specified for the new placement.
 12128  	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
 12129  
 12130  	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
 12131  	// placements created under this site. This value will be used to
 12132  	// populate the placements.vpaidAdapterChoice field, when no value is
 12133  	// specified for the new placement. Controls which VPAID format the
 12134  	// measurement adapter will use for in-stream video creatives assigned
 12135  	// to the placement. The publisher's specifications will typically
 12136  	// determine this setting. For VPAID creatives, the adapter format will
 12137  	// match the VPAID format (HTML5 VPAID creatives use the HTML5
 12138  	// adapter).
 12139  	//
 12140  	// Note: Flash is no longer supported. This field now defaults to HTML5
 12141  	// when the following values are provided: FLASH, BOTH.
 12142  	//
 12143  	// Possible values:
 12144  	//   "BOTH"
 12145  	//   "DEFAULT"
 12146  	//   "FLASH"
 12147  	//   "HTML5"
 12148  	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
 12149  
 12150  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
 12151  	// unconditionally include in API requests. By default, fields with
 12152  	// empty values are omitted from API requests. However, any non-pointer,
 12153  	// non-interface field appearing in ForceSendFields will be sent to the
 12154  	// server regardless of whether the field is empty or not. This may be
 12155  	// used to include empty fields in Patch requests.
 12156  	ForceSendFields []string `json:"-"`
 12157  
 12158  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
 12159  	// include in API requests with the JSON null value. By default, fields
 12160  	// with empty values are omitted from API requests. However, any field
 12161  	// with an empty value appearing in NullFields will be sent to the
 12162  	// server as null. It is an error if a field in this list has a
 12163  	// non-empty value. This may be used to include null fields in Patch
 12164  	// requests.
 12165  	NullFields []string `json:"-"`
 12166  }
 12167  
 12168  func (s *SiteSettings) MarshalJSON() ([]byte, error) {
 12169  	type NoMethod SiteSettings
 12170  	raw := NoMethod(*s)
 12171  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12172  }
 12173  
 12174  // SitesListResponse: Site List Response
 12175  type SitesListResponse struct {
 12176  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12177  	// string "dfareporting#sitesListResponse".
 12178  	Kind string `json:"kind,omitempty"`
 12179  
 12180  	// NextPageToken: Pagination token to be used for the next list
 12181  	// operation.
 12182  	NextPageToken string `json:"nextPageToken,omitempty"`
 12183  
 12184  	// Sites: Site collection.
 12185  	Sites []*Site `json:"sites,omitempty"`
 12186  
 12187  	// ServerResponse contains the HTTP response code and headers from the
 12188  	// server.
 12189  	googleapi.ServerResponse `json:"-"`
 12190  
 12191  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12192  	// unconditionally include in API requests. By default, fields with
 12193  	// empty values are omitted from API requests. However, any non-pointer,
 12194  	// non-interface field appearing in ForceSendFields will be sent to the
 12195  	// server regardless of whether the field is empty or not. This may be
 12196  	// used to include empty fields in Patch requests.
 12197  	ForceSendFields []string `json:"-"`
 12198  
 12199  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12200  	// requests with the JSON null value. By default, fields with empty
 12201  	// values are omitted from API requests. However, any field with an
 12202  	// empty value appearing in NullFields will be sent to the server as
 12203  	// null. It is an error if a field in this list has a non-empty value.
 12204  	// This may be used to include null fields in Patch requests.
 12205  	NullFields []string `json:"-"`
 12206  }
 12207  
 12208  func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
 12209  	type NoMethod SitesListResponse
 12210  	raw := NoMethod(*s)
 12211  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12212  }
 12213  
 12214  // Size: Represents the dimensions of ads, placements, creatives, or
 12215  // creative assets.
 12216  type Size struct {
 12217  	// Height: Height of this size. Acceptable values are 0 to 32767,
 12218  	// inclusive.
 12219  	Height int64 `json:"height,omitempty"`
 12220  
 12221  	// Iab: IAB standard size. This is a read-only, auto-generated field.
 12222  	Iab bool `json:"iab,omitempty"`
 12223  
 12224  	// Id: ID of this size. This is a read-only, auto-generated field.
 12225  	Id int64 `json:"id,omitempty,string"`
 12226  
 12227  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12228  	// string "dfareporting#size".
 12229  	Kind string `json:"kind,omitempty"`
 12230  
 12231  	// Width: Width of this size. Acceptable values are 0 to 32767,
 12232  	// inclusive.
 12233  	Width int64 `json:"width,omitempty"`
 12234  
 12235  	// ServerResponse contains the HTTP response code and headers from the
 12236  	// server.
 12237  	googleapi.ServerResponse `json:"-"`
 12238  
 12239  	// ForceSendFields is a list of field names (e.g. "Height") to
 12240  	// unconditionally include in API requests. By default, fields with
 12241  	// empty values are omitted from API requests. However, any non-pointer,
 12242  	// non-interface field appearing in ForceSendFields will be sent to the
 12243  	// server regardless of whether the field is empty or not. This may be
 12244  	// used to include empty fields in Patch requests.
 12245  	ForceSendFields []string `json:"-"`
 12246  
 12247  	// NullFields is a list of field names (e.g. "Height") to include in API
 12248  	// requests with the JSON null value. By default, fields with empty
 12249  	// values are omitted from API requests. However, any field with an
 12250  	// empty value appearing in NullFields will be sent to the server as
 12251  	// null. It is an error if a field in this list has a non-empty value.
 12252  	// This may be used to include null fields in Patch requests.
 12253  	NullFields []string `json:"-"`
 12254  }
 12255  
 12256  func (s *Size) MarshalJSON() ([]byte, error) {
 12257  	type NoMethod Size
 12258  	raw := NoMethod(*s)
 12259  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12260  }
 12261  
 12262  // SizesListResponse: Size List Response
 12263  type SizesListResponse struct {
 12264  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12265  	// string "dfareporting#sizesListResponse".
 12266  	Kind string `json:"kind,omitempty"`
 12267  
 12268  	// Sizes: Size collection.
 12269  	Sizes []*Size `json:"sizes,omitempty"`
 12270  
 12271  	// ServerResponse contains the HTTP response code and headers from the
 12272  	// server.
 12273  	googleapi.ServerResponse `json:"-"`
 12274  
 12275  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12276  	// unconditionally include in API requests. By default, fields with
 12277  	// empty values are omitted from API requests. However, any non-pointer,
 12278  	// non-interface field appearing in ForceSendFields will be sent to the
 12279  	// server regardless of whether the field is empty or not. This may be
 12280  	// used to include empty fields in Patch requests.
 12281  	ForceSendFields []string `json:"-"`
 12282  
 12283  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12284  	// requests with the JSON null value. By default, fields with empty
 12285  	// values are omitted from API requests. However, any field with an
 12286  	// empty value appearing in NullFields will be sent to the server as
 12287  	// null. It is an error if a field in this list has a non-empty value.
 12288  	// This may be used to include null fields in Patch requests.
 12289  	NullFields []string `json:"-"`
 12290  }
 12291  
 12292  func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
 12293  	type NoMethod SizesListResponse
 12294  	raw := NoMethod(*s)
 12295  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12296  }
 12297  
 12298  // SkippableSetting: Skippable Settings
 12299  type SkippableSetting struct {
 12300  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12301  	// string "dfareporting#skippableSetting".
 12302  	Kind string `json:"kind,omitempty"`
 12303  
 12304  	// ProgressOffset: Amount of time to play videos served to this
 12305  	// placement before counting a view. Applicable when skippable is true.
 12306  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
 12307  
 12308  	// SkipOffset: Amount of time to play videos served to this placement
 12309  	// before the skip button should appear. Applicable when skippable is
 12310  	// true.
 12311  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
 12312  
 12313  	// Skippable: Whether the user can skip creatives served to this
 12314  	// placement.
 12315  	Skippable bool `json:"skippable,omitempty"`
 12316  
 12317  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12318  	// unconditionally include in API requests. By default, fields with
 12319  	// empty values are omitted from API requests. However, any non-pointer,
 12320  	// non-interface field appearing in ForceSendFields will be sent to the
 12321  	// server regardless of whether the field is empty or not. This may be
 12322  	// used to include empty fields in Patch requests.
 12323  	ForceSendFields []string `json:"-"`
 12324  
 12325  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12326  	// requests with the JSON null value. By default, fields with empty
 12327  	// values are omitted from API requests. However, any field with an
 12328  	// empty value appearing in NullFields will be sent to the server as
 12329  	// null. It is an error if a field in this list has a non-empty value.
 12330  	// This may be used to include null fields in Patch requests.
 12331  	NullFields []string `json:"-"`
 12332  }
 12333  
 12334  func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
 12335  	type NoMethod SkippableSetting
 12336  	raw := NoMethod(*s)
 12337  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12338  }
 12339  
 12340  // SortedDimension: Represents a sorted dimension.
 12341  type SortedDimension struct {
 12342  	// Kind: The kind of resource this is, in this case
 12343  	// dfareporting#sortedDimension.
 12344  	Kind string `json:"kind,omitempty"`
 12345  
 12346  	// Name: The name of the dimension.
 12347  	Name string `json:"name,omitempty"`
 12348  
 12349  	// SortOrder: An optional sort order for the dimension column.
 12350  	//
 12351  	// Possible values:
 12352  	//   "ASCENDING"
 12353  	//   "DESCENDING"
 12354  	SortOrder string `json:"sortOrder,omitempty"`
 12355  
 12356  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12357  	// unconditionally include in API requests. By default, fields with
 12358  	// empty values are omitted from API requests. However, any non-pointer,
 12359  	// non-interface field appearing in ForceSendFields will be sent to the
 12360  	// server regardless of whether the field is empty or not. This may be
 12361  	// used to include empty fields in Patch requests.
 12362  	ForceSendFields []string `json:"-"`
 12363  
 12364  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12365  	// requests with the JSON null value. By default, fields with empty
 12366  	// values are omitted from API requests. However, any field with an
 12367  	// empty value appearing in NullFields will be sent to the server as
 12368  	// null. It is an error if a field in this list has a non-empty value.
 12369  	// This may be used to include null fields in Patch requests.
 12370  	NullFields []string `json:"-"`
 12371  }
 12372  
 12373  func (s *SortedDimension) MarshalJSON() ([]byte, error) {
 12374  	type NoMethod SortedDimension
 12375  	raw := NoMethod(*s)
 12376  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12377  }
 12378  
 12379  // Subaccount: Contains properties of a DCM subaccount.
 12380  type Subaccount struct {
 12381  	// AccountId: ID of the account that contains this subaccount. This is a
 12382  	// read-only field that can be left blank.
 12383  	AccountId int64 `json:"accountId,omitempty,string"`
 12384  
 12385  	// AvailablePermissionIds: IDs of the available user role permissions
 12386  	// for this subaccount.
 12387  	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
 12388  
 12389  	// Id: ID of this subaccount. This is a read-only, auto-generated field.
 12390  	Id int64 `json:"id,omitempty,string"`
 12391  
 12392  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12393  	// string "dfareporting#subaccount".
 12394  	Kind string `json:"kind,omitempty"`
 12395  
 12396  	// Name: Name of this subaccount. This is a required field. Must be less
 12397  	// than 128 characters long and be unique among subaccounts of the same
 12398  	// account.
 12399  	Name string `json:"name,omitempty"`
 12400  
 12401  	// ServerResponse contains the HTTP response code and headers from the
 12402  	// server.
 12403  	googleapi.ServerResponse `json:"-"`
 12404  
 12405  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12406  	// unconditionally include in API requests. By default, fields with
 12407  	// empty values are omitted from API requests. However, any non-pointer,
 12408  	// non-interface field appearing in ForceSendFields will be sent to the
 12409  	// server regardless of whether the field is empty or not. This may be
 12410  	// used to include empty fields in Patch requests.
 12411  	ForceSendFields []string `json:"-"`
 12412  
 12413  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12414  	// API requests with the JSON null value. By default, fields with empty
 12415  	// values are omitted from API requests. However, any field with an
 12416  	// empty value appearing in NullFields will be sent to the server as
 12417  	// null. It is an error if a field in this list has a non-empty value.
 12418  	// This may be used to include null fields in Patch requests.
 12419  	NullFields []string `json:"-"`
 12420  }
 12421  
 12422  func (s *Subaccount) MarshalJSON() ([]byte, error) {
 12423  	type NoMethod Subaccount
 12424  	raw := NoMethod(*s)
 12425  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12426  }
 12427  
 12428  // SubaccountsListResponse: Subaccount List Response
 12429  type SubaccountsListResponse struct {
 12430  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12431  	// string "dfareporting#subaccountsListResponse".
 12432  	Kind string `json:"kind,omitempty"`
 12433  
 12434  	// NextPageToken: Pagination token to be used for the next list
 12435  	// operation.
 12436  	NextPageToken string `json:"nextPageToken,omitempty"`
 12437  
 12438  	// Subaccounts: Subaccount collection.
 12439  	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
 12440  
 12441  	// ServerResponse contains the HTTP response code and headers from the
 12442  	// server.
 12443  	googleapi.ServerResponse `json:"-"`
 12444  
 12445  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12446  	// unconditionally include in API requests. By default, fields with
 12447  	// empty values are omitted from API requests. However, any non-pointer,
 12448  	// non-interface field appearing in ForceSendFields will be sent to the
 12449  	// server regardless of whether the field is empty or not. This may be
 12450  	// used to include empty fields in Patch requests.
 12451  	ForceSendFields []string `json:"-"`
 12452  
 12453  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12454  	// requests with the JSON null value. By default, fields with empty
 12455  	// values are omitted from API requests. However, any field with an
 12456  	// empty value appearing in NullFields will be sent to the server as
 12457  	// null. It is an error if a field in this list has a non-empty value.
 12458  	// This may be used to include null fields in Patch requests.
 12459  	NullFields []string `json:"-"`
 12460  }
 12461  
 12462  func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
 12463  	type NoMethod SubaccountsListResponse
 12464  	raw := NoMethod(*s)
 12465  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12466  }
 12467  
 12468  // TagData: Placement Tag Data
 12469  type TagData struct {
 12470  	// AdId: Ad associated with this placement tag. Applicable only when
 12471  	// format is PLACEMENT_TAG_TRACKING.
 12472  	AdId int64 `json:"adId,omitempty,string"`
 12473  
 12474  	// ClickTag: Tag string to record a click.
 12475  	ClickTag string `json:"clickTag,omitempty"`
 12476  
 12477  	// CreativeId: Creative associated with this placement tag. Applicable
 12478  	// only when format is PLACEMENT_TAG_TRACKING.
 12479  	CreativeId int64 `json:"creativeId,omitempty,string"`
 12480  
 12481  	// Format: TagData tag format of this tag.
 12482  	//
 12483  	// Possible values:
 12484  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
 12485  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
 12486  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 12487  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 12488  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 12489  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 12490  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 12491  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
 12492  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 12493  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 12494  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 12495  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 12496  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 12497  	//   "PLACEMENT_TAG_JAVASCRIPT"
 12498  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 12499  	//   "PLACEMENT_TAG_STANDARD"
 12500  	//   "PLACEMENT_TAG_TRACKING"
 12501  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
 12502  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 12503  	Format string `json:"format,omitempty"`
 12504  
 12505  	// ImpressionTag: Tag string for serving an ad.
 12506  	ImpressionTag string `json:"impressionTag,omitempty"`
 12507  
 12508  	// ForceSendFields is a list of field names (e.g. "AdId") to
 12509  	// unconditionally include in API requests. By default, fields with
 12510  	// empty values are omitted from API requests. However, any non-pointer,
 12511  	// non-interface field appearing in ForceSendFields will be sent to the
 12512  	// server regardless of whether the field is empty or not. This may be
 12513  	// used to include empty fields in Patch requests.
 12514  	ForceSendFields []string `json:"-"`
 12515  
 12516  	// NullFields is a list of field names (e.g. "AdId") to include in API
 12517  	// requests with the JSON null value. By default, fields with empty
 12518  	// values are omitted from API requests. However, any field with an
 12519  	// empty value appearing in NullFields will be sent to the server as
 12520  	// null. It is an error if a field in this list has a non-empty value.
 12521  	// This may be used to include null fields in Patch requests.
 12522  	NullFields []string `json:"-"`
 12523  }
 12524  
 12525  func (s *TagData) MarshalJSON() ([]byte, error) {
 12526  	type NoMethod TagData
 12527  	raw := NoMethod(*s)
 12528  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12529  }
 12530  
 12531  // TagSetting: Tag Settings
 12532  type TagSetting struct {
 12533  	// AdditionalKeyValues: Additional key-values to be included in tags.
 12534  	// Each key-value pair must be of the form key=value, and pairs must be
 12535  	// separated by a semicolon (;). Keys and values must not contain
 12536  	// commas. For example, id=2;color=red is a valid value for this field.
 12537  	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
 12538  
 12539  	// IncludeClickThroughUrls: Whether static landing page URLs should be
 12540  	// included in the tags. This setting applies only to placements.
 12541  	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
 12542  
 12543  	// IncludeClickTracking: Whether click-tracking string should be
 12544  	// included in the tags.
 12545  	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
 12546  
 12547  	// KeywordOption: Option specifying how keywords are embedded in ad
 12548  	// tags. This setting can be used to specify whether keyword
 12549  	// placeholders are inserted in placement tags for this site. Publishers
 12550  	// can then add keywords to those placeholders.
 12551  	//
 12552  	// Possible values:
 12553  	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
 12554  	//   "IGNORE"
 12555  	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
 12556  	KeywordOption string `json:"keywordOption,omitempty"`
 12557  
 12558  	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
 12559  	// to unconditionally include in API requests. By default, fields with
 12560  	// empty values are omitted from API requests. However, any non-pointer,
 12561  	// non-interface field appearing in ForceSendFields will be sent to the
 12562  	// server regardless of whether the field is empty or not. This may be
 12563  	// used to include empty fields in Patch requests.
 12564  	ForceSendFields []string `json:"-"`
 12565  
 12566  	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
 12567  	// include in API requests with the JSON null value. By default, fields
 12568  	// with empty values are omitted from API requests. However, any field
 12569  	// with an empty value appearing in NullFields will be sent to the
 12570  	// server as null. It is an error if a field in this list has a
 12571  	// non-empty value. This may be used to include null fields in Patch
 12572  	// requests.
 12573  	NullFields []string `json:"-"`
 12574  }
 12575  
 12576  func (s *TagSetting) MarshalJSON() ([]byte, error) {
 12577  	type NoMethod TagSetting
 12578  	raw := NoMethod(*s)
 12579  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12580  }
 12581  
 12582  // TagSettings: Dynamic and Image Tag Settings.
 12583  type TagSettings struct {
 12584  	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
 12585  	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
 12586  
 12587  	// ImageTagEnabled: Whether image tags are enabled.
 12588  	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
 12589  
 12590  	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
 12591  	// to unconditionally include in API requests. By default, fields with
 12592  	// empty values are omitted from API requests. However, any non-pointer,
 12593  	// non-interface field appearing in ForceSendFields will be sent to the
 12594  	// server regardless of whether the field is empty or not. This may be
 12595  	// used to include empty fields in Patch requests.
 12596  	ForceSendFields []string `json:"-"`
 12597  
 12598  	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
 12599  	// include in API requests with the JSON null value. By default, fields
 12600  	// with empty values are omitted from API requests. However, any field
 12601  	// with an empty value appearing in NullFields will be sent to the
 12602  	// server as null. It is an error if a field in this list has a
 12603  	// non-empty value. This may be used to include null fields in Patch
 12604  	// requests.
 12605  	NullFields []string `json:"-"`
 12606  }
 12607  
 12608  func (s *TagSettings) MarshalJSON() ([]byte, error) {
 12609  	type NoMethod TagSettings
 12610  	raw := NoMethod(*s)
 12611  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12612  }
 12613  
 12614  // TargetWindow: Target Window.
 12615  type TargetWindow struct {
 12616  	// CustomHtml: User-entered value.
 12617  	CustomHtml string `json:"customHtml,omitempty"`
 12618  
 12619  	// TargetWindowOption: Type of browser window for which the backup image
 12620  	// of the flash creative can be displayed.
 12621  	//
 12622  	// Possible values:
 12623  	//   "CURRENT_WINDOW"
 12624  	//   "CUSTOM"
 12625  	//   "NEW_WINDOW"
 12626  	TargetWindowOption string `json:"targetWindowOption,omitempty"`
 12627  
 12628  	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
 12629  	// unconditionally include in API requests. By default, fields with
 12630  	// empty values are omitted from API requests. However, any non-pointer,
 12631  	// non-interface field appearing in ForceSendFields will be sent to the
 12632  	// server regardless of whether the field is empty or not. This may be
 12633  	// used to include empty fields in Patch requests.
 12634  	ForceSendFields []string `json:"-"`
 12635  
 12636  	// NullFields is a list of field names (e.g. "CustomHtml") to include in
 12637  	// API requests with the JSON null value. By default, fields with empty
 12638  	// values are omitted from API requests. However, any field with an
 12639  	// empty value appearing in NullFields will be sent to the server as
 12640  	// null. It is an error if a field in this list has a non-empty value.
 12641  	// This may be used to include null fields in Patch requests.
 12642  	NullFields []string `json:"-"`
 12643  }
 12644  
 12645  func (s *TargetWindow) MarshalJSON() ([]byte, error) {
 12646  	type NoMethod TargetWindow
 12647  	raw := NoMethod(*s)
 12648  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12649  }
 12650  
 12651  // TargetableRemarketingList: Contains properties of a targetable
 12652  // remarketing list. Remarketing enables you to create lists of users
 12653  // who have performed specific actions on a site, then target ads to
 12654  // members of those lists. This resource is a read-only view of a
 12655  // remarketing list to be used to faciliate targeting ads to specific
 12656  // lists. Remarketing lists that are owned by your advertisers and those
 12657  // that are shared to your advertisers or account are accessible via
 12658  // this resource. To manage remarketing lists that are owned by your
 12659  // advertisers, use the RemarketingLists resource.
 12660  type TargetableRemarketingList struct {
 12661  	// AccountId: Account ID of this remarketing list. This is a read-only,
 12662  	// auto-generated field that is only returned in GET requests.
 12663  	AccountId int64 `json:"accountId,omitempty,string"`
 12664  
 12665  	// Active: Whether this targetable remarketing list is active.
 12666  	Active bool `json:"active,omitempty"`
 12667  
 12668  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 12669  	// targetable remarketing list.
 12670  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 12671  
 12672  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 12673  	// advertiser.
 12674  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 12675  
 12676  	// Description: Targetable remarketing list description.
 12677  	Description string `json:"description,omitempty"`
 12678  
 12679  	// Id: Targetable remarketing list ID.
 12680  	Id int64 `json:"id,omitempty,string"`
 12681  
 12682  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12683  	// string "dfareporting#targetableRemarketingList".
 12684  	Kind string `json:"kind,omitempty"`
 12685  
 12686  	// LifeSpan: Number of days that a user should remain in the targetable
 12687  	// remarketing list without an impression.
 12688  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 12689  
 12690  	// ListSize: Number of users currently in the list. This is a read-only
 12691  	// field.
 12692  	ListSize int64 `json:"listSize,omitempty,string"`
 12693  
 12694  	// ListSource: Product from which this targetable remarketing list was
 12695  	// originated.
 12696  	//
 12697  	// Possible values:
 12698  	//   "REMARKETING_LIST_SOURCE_ADX"
 12699  	//   "REMARKETING_LIST_SOURCE_DBM"
 12700  	//   "REMARKETING_LIST_SOURCE_DFA"
 12701  	//   "REMARKETING_LIST_SOURCE_DFP"
 12702  	//   "REMARKETING_LIST_SOURCE_DMP"
 12703  	//   "REMARKETING_LIST_SOURCE_GA"
 12704  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 12705  	//   "REMARKETING_LIST_SOURCE_OTHER"
 12706  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 12707  	//   "REMARKETING_LIST_SOURCE_XFP"
 12708  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 12709  	ListSource string `json:"listSource,omitempty"`
 12710  
 12711  	// Name: Name of the targetable remarketing list. Is no greater than 128
 12712  	// characters long.
 12713  	Name string `json:"name,omitempty"`
 12714  
 12715  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 12716  	// read-only, auto-generated field that is only returned in GET
 12717  	// requests.
 12718  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12719  
 12720  	// ServerResponse contains the HTTP response code and headers from the
 12721  	// server.
 12722  	googleapi.ServerResponse `json:"-"`
 12723  
 12724  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12725  	// unconditionally include in API requests. By default, fields with
 12726  	// empty values are omitted from API requests. However, any non-pointer,
 12727  	// non-interface field appearing in ForceSendFields will be sent to the
 12728  	// server regardless of whether the field is empty or not. This may be
 12729  	// used to include empty fields in Patch requests.
 12730  	ForceSendFields []string `json:"-"`
 12731  
 12732  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12733  	// API requests with the JSON null value. By default, fields with empty
 12734  	// values are omitted from API requests. However, any field with an
 12735  	// empty value appearing in NullFields will be sent to the server as
 12736  	// null. It is an error if a field in this list has a non-empty value.
 12737  	// This may be used to include null fields in Patch requests.
 12738  	NullFields []string `json:"-"`
 12739  }
 12740  
 12741  func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
 12742  	type NoMethod TargetableRemarketingList
 12743  	raw := NoMethod(*s)
 12744  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12745  }
 12746  
 12747  // TargetableRemarketingListsListResponse: Targetable remarketing list
 12748  // response
 12749  type TargetableRemarketingListsListResponse struct {
 12750  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12751  	// string "dfareporting#targetableRemarketingListsListResponse".
 12752  	Kind string `json:"kind,omitempty"`
 12753  
 12754  	// NextPageToken: Pagination token to be used for the next list
 12755  	// operation.
 12756  	NextPageToken string `json:"nextPageToken,omitempty"`
 12757  
 12758  	// TargetableRemarketingLists: Targetable remarketing list collection.
 12759  	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
 12760  
 12761  	// ServerResponse contains the HTTP response code and headers from the
 12762  	// server.
 12763  	googleapi.ServerResponse `json:"-"`
 12764  
 12765  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12766  	// unconditionally include in API requests. By default, fields with
 12767  	// empty values are omitted from API requests. However, any non-pointer,
 12768  	// non-interface field appearing in ForceSendFields will be sent to the
 12769  	// server regardless of whether the field is empty or not. This may be
 12770  	// used to include empty fields in Patch requests.
 12771  	ForceSendFields []string `json:"-"`
 12772  
 12773  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12774  	// requests with the JSON null value. By default, fields with empty
 12775  	// values are omitted from API requests. However, any field with an
 12776  	// empty value appearing in NullFields will be sent to the server as
 12777  	// null. It is an error if a field in this list has a non-empty value.
 12778  	// This may be used to include null fields in Patch requests.
 12779  	NullFields []string `json:"-"`
 12780  }
 12781  
 12782  func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 12783  	type NoMethod TargetableRemarketingListsListResponse
 12784  	raw := NoMethod(*s)
 12785  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12786  }
 12787  
 12788  // TargetingTemplate: Contains properties of a targeting template. A
 12789  // targeting template encapsulates targeting information which can be
 12790  // reused across multiple ads.
 12791  type TargetingTemplate struct {
 12792  	// AccountId: Account ID of this targeting template. This field, if left
 12793  	// unset, will be auto-generated on insert and is read-only after
 12794  	// insert.
 12795  	AccountId int64 `json:"accountId,omitempty,string"`
 12796  
 12797  	// AdvertiserId: Advertiser ID of this targeting template. This is a
 12798  	// required field on insert and is read-only after insert.
 12799  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 12800  
 12801  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 12802  	// advertiser. This is a read-only, auto-generated field.
 12803  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 12804  
 12805  	// DayPartTargeting: Time and day targeting criteria.
 12806  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
 12807  
 12808  	// GeoTargeting: Geographical targeting criteria.
 12809  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
 12810  
 12811  	// Id: ID of this targeting template. This is a read-only,
 12812  	// auto-generated field.
 12813  	Id int64 `json:"id,omitempty,string"`
 12814  
 12815  	// KeyValueTargetingExpression: Key-value targeting criteria.
 12816  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
 12817  
 12818  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12819  	// string "dfareporting#targetingTemplate".
 12820  	Kind string `json:"kind,omitempty"`
 12821  
 12822  	// LanguageTargeting: Language targeting criteria.
 12823  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
 12824  
 12825  	// ListTargetingExpression: Remarketing list targeting criteria.
 12826  	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
 12827  
 12828  	// Name: Name of this targeting template. This field is required. It
 12829  	// must be less than 256 characters long and unique within an
 12830  	// advertiser.
 12831  	Name string `json:"name,omitempty"`
 12832  
 12833  	// SubaccountId: Subaccount ID of this targeting template. This field,
 12834  	// if left unset, will be auto-generated on insert and is read-only
 12835  	// after insert.
 12836  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12837  
 12838  	// TechnologyTargeting: Technology platform targeting criteria.
 12839  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
 12840  
 12841  	// ServerResponse contains the HTTP response code and headers from the
 12842  	// server.
 12843  	googleapi.ServerResponse `json:"-"`
 12844  
 12845  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12846  	// unconditionally include in API requests. By default, fields with
 12847  	// empty values are omitted from API requests. However, any non-pointer,
 12848  	// non-interface field appearing in ForceSendFields will be sent to the
 12849  	// server regardless of whether the field is empty or not. This may be
 12850  	// used to include empty fields in Patch requests.
 12851  	ForceSendFields []string `json:"-"`
 12852  
 12853  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12854  	// API requests with the JSON null value. By default, fields with empty
 12855  	// values are omitted from API requests. However, any field with an
 12856  	// empty value appearing in NullFields will be sent to the server as
 12857  	// null. It is an error if a field in this list has a non-empty value.
 12858  	// This may be used to include null fields in Patch requests.
 12859  	NullFields []string `json:"-"`
 12860  }
 12861  
 12862  func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
 12863  	type NoMethod TargetingTemplate
 12864  	raw := NoMethod(*s)
 12865  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12866  }
 12867  
 12868  // TargetingTemplatesListResponse: Targeting Template List Response
 12869  type TargetingTemplatesListResponse struct {
 12870  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12871  	// string "dfareporting#targetingTemplatesListResponse".
 12872  	Kind string `json:"kind,omitempty"`
 12873  
 12874  	// NextPageToken: Pagination token to be used for the next list
 12875  	// operation.
 12876  	NextPageToken string `json:"nextPageToken,omitempty"`
 12877  
 12878  	// TargetingTemplates: Targeting template collection.
 12879  	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
 12880  
 12881  	// ServerResponse contains the HTTP response code and headers from the
 12882  	// server.
 12883  	googleapi.ServerResponse `json:"-"`
 12884  
 12885  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12886  	// unconditionally include in API requests. By default, fields with
 12887  	// empty values are omitted from API requests. However, any non-pointer,
 12888  	// non-interface field appearing in ForceSendFields will be sent to the
 12889  	// server regardless of whether the field is empty or not. This may be
 12890  	// used to include empty fields in Patch requests.
 12891  	ForceSendFields []string `json:"-"`
 12892  
 12893  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12894  	// requests with the JSON null value. By default, fields with empty
 12895  	// values are omitted from API requests. However, any field with an
 12896  	// empty value appearing in NullFields will be sent to the server as
 12897  	// null. It is an error if a field in this list has a non-empty value.
 12898  	// This may be used to include null fields in Patch requests.
 12899  	NullFields []string `json:"-"`
 12900  }
 12901  
 12902  func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
 12903  	type NoMethod TargetingTemplatesListResponse
 12904  	raw := NoMethod(*s)
 12905  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12906  }
 12907  
 12908  // TechnologyTargeting: Technology Targeting.
 12909  type TechnologyTargeting struct {
 12910  	// Browsers: Browsers that this ad targets. For each browser either set
 12911  	// browserVersionId or dartId along with the version numbers. If both
 12912  	// are specified, only browserVersionId will be used. The other fields
 12913  	// are populated automatically when the ad is inserted or updated.
 12914  	Browsers []*Browser `json:"browsers,omitempty"`
 12915  
 12916  	// ConnectionTypes: Connection types that this ad targets. For each
 12917  	// connection type only id is required. The other fields are populated
 12918  	// automatically when the ad is inserted or updated.
 12919  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
 12920  
 12921  	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
 12922  	// carrier only id is required, and the other fields are populated
 12923  	// automatically when the ad is inserted or updated. If targeting a
 12924  	// mobile carrier, do not set targeting for any zip codes.
 12925  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
 12926  
 12927  	// OperatingSystemVersions: Operating system versions that this ad
 12928  	// targets. To target all versions, use operatingSystems. For each
 12929  	// operating system version, only id is required. The other fields are
 12930  	// populated automatically when the ad is inserted or updated. If
 12931  	// targeting an operating system version, do not set targeting for the
 12932  	// corresponding operating system in operatingSystems.
 12933  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
 12934  
 12935  	// OperatingSystems: Operating systems that this ad targets. To target
 12936  	// specific versions, use operatingSystemVersions. For each operating
 12937  	// system only dartId is required. The other fields are populated
 12938  	// automatically when the ad is inserted or updated. If targeting an
 12939  	// operating system, do not set targeting for operating system versions
 12940  	// for the same operating system.
 12941  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
 12942  
 12943  	// PlatformTypes: Platform types that this ad targets. For example,
 12944  	// desktop, mobile, or tablet. For each platform type, only id is
 12945  	// required, and the other fields are populated automatically when the
 12946  	// ad is inserted or updated.
 12947  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 12948  
 12949  	// ForceSendFields is a list of field names (e.g. "Browsers") to
 12950  	// unconditionally include in API requests. By default, fields with
 12951  	// empty values are omitted from API requests. However, any non-pointer,
 12952  	// non-interface field appearing in ForceSendFields will be sent to the
 12953  	// server regardless of whether the field is empty or not. This may be
 12954  	// used to include empty fields in Patch requests.
 12955  	ForceSendFields []string `json:"-"`
 12956  
 12957  	// NullFields is a list of field names (e.g. "Browsers") to include in
 12958  	// API requests with the JSON null value. By default, fields with empty
 12959  	// values are omitted from API requests. However, any field with an
 12960  	// empty value appearing in NullFields will be sent to the server as
 12961  	// null. It is an error if a field in this list has a non-empty value.
 12962  	// This may be used to include null fields in Patch requests.
 12963  	NullFields []string `json:"-"`
 12964  }
 12965  
 12966  func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
 12967  	type NoMethod TechnologyTargeting
 12968  	raw := NoMethod(*s)
 12969  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12970  }
 12971  
 12972  // ThirdPartyAuthenticationToken: Third Party Authentication Token
 12973  type ThirdPartyAuthenticationToken struct {
 12974  	// Name: Name of the third-party authentication token.
 12975  	Name string `json:"name,omitempty"`
 12976  
 12977  	// Value: Value of the third-party authentication token. This is a
 12978  	// read-only, auto-generated field.
 12979  	Value string `json:"value,omitempty"`
 12980  
 12981  	// ForceSendFields is a list of field names (e.g. "Name") to
 12982  	// unconditionally include in API requests. By default, fields with
 12983  	// empty values are omitted from API requests. However, any non-pointer,
 12984  	// non-interface field appearing in ForceSendFields will be sent to the
 12985  	// server regardless of whether the field is empty or not. This may be
 12986  	// used to include empty fields in Patch requests.
 12987  	ForceSendFields []string `json:"-"`
 12988  
 12989  	// NullFields is a list of field names (e.g. "Name") to include in API
 12990  	// requests with the JSON null value. By default, fields with empty
 12991  	// values are omitted from API requests. However, any field with an
 12992  	// empty value appearing in NullFields will be sent to the server as
 12993  	// null. It is an error if a field in this list has a non-empty value.
 12994  	// This may be used to include null fields in Patch requests.
 12995  	NullFields []string `json:"-"`
 12996  }
 12997  
 12998  func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
 12999  	type NoMethod ThirdPartyAuthenticationToken
 13000  	raw := NoMethod(*s)
 13001  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13002  }
 13003  
 13004  // ThirdPartyTrackingUrl: Third-party Tracking URL.
 13005  type ThirdPartyTrackingUrl struct {
 13006  	// ThirdPartyUrlType: Third-party URL type for in-stream video
 13007  	// creatives.
 13008  	//
 13009  	// Possible values:
 13010  	//   "CLICK_TRACKING"
 13011  	//   "IMPRESSION"
 13012  	//   "RICH_MEDIA_BACKUP_IMPRESSION"
 13013  	//   "RICH_MEDIA_IMPRESSION"
 13014  	//   "RICH_MEDIA_RM_IMPRESSION"
 13015  	//   "SURVEY"
 13016  	//   "VIDEO_COMPLETE"
 13017  	//   "VIDEO_CUSTOM"
 13018  	//   "VIDEO_FIRST_QUARTILE"
 13019  	//   "VIDEO_FULLSCREEN"
 13020  	//   "VIDEO_MIDPOINT"
 13021  	//   "VIDEO_MUTE"
 13022  	//   "VIDEO_PAUSE"
 13023  	//   "VIDEO_PROGRESS"
 13024  	//   "VIDEO_REWIND"
 13025  	//   "VIDEO_SKIP"
 13026  	//   "VIDEO_START"
 13027  	//   "VIDEO_STOP"
 13028  	//   "VIDEO_THIRD_QUARTILE"
 13029  	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
 13030  
 13031  	// Url: URL for the specified third-party URL type.
 13032  	Url string `json:"url,omitempty"`
 13033  
 13034  	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
 13035  	// to unconditionally include in API requests. By default, fields with
 13036  	// empty values are omitted from API requests. However, any non-pointer,
 13037  	// non-interface field appearing in ForceSendFields will be sent to the
 13038  	// server regardless of whether the field is empty or not. This may be
 13039  	// used to include empty fields in Patch requests.
 13040  	ForceSendFields []string `json:"-"`
 13041  
 13042  	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
 13043  	// include in API requests with the JSON null value. By default, fields
 13044  	// with empty values are omitted from API requests. However, any field
 13045  	// with an empty value appearing in NullFields will be sent to the
 13046  	// server as null. It is an error if a field in this list has a
 13047  	// non-empty value. This may be used to include null fields in Patch
 13048  	// requests.
 13049  	NullFields []string `json:"-"`
 13050  }
 13051  
 13052  func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
 13053  	type NoMethod ThirdPartyTrackingUrl
 13054  	raw := NoMethod(*s)
 13055  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13056  }
 13057  
 13058  // TranscodeSetting: Transcode Settings
 13059  type TranscodeSetting struct {
 13060  	// EnabledVideoFormats: Whitelist of video formats to be served to this
 13061  	// placement. Set this list to null or empty to serve all video formats.
 13062  	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
 13063  
 13064  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13065  	// string "dfareporting#transcodeSetting".
 13066  	Kind string `json:"kind,omitempty"`
 13067  
 13068  	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
 13069  	// to unconditionally include in API requests. By default, fields with
 13070  	// empty values are omitted from API requests. However, any non-pointer,
 13071  	// non-interface field appearing in ForceSendFields will be sent to the
 13072  	// server regardless of whether the field is empty or not. This may be
 13073  	// used to include empty fields in Patch requests.
 13074  	ForceSendFields []string `json:"-"`
 13075  
 13076  	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
 13077  	// include in API requests with the JSON null value. By default, fields
 13078  	// with empty values are omitted from API requests. However, any field
 13079  	// with an empty value appearing in NullFields will be sent to the
 13080  	// server as null. It is an error if a field in this list has a
 13081  	// non-empty value. This may be used to include null fields in Patch
 13082  	// requests.
 13083  	NullFields []string `json:"-"`
 13084  }
 13085  
 13086  func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
 13087  	type NoMethod TranscodeSetting
 13088  	raw := NoMethod(*s)
 13089  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13090  }
 13091  
 13092  // UserDefinedVariableConfiguration: User Defined Variable
 13093  // configuration.
 13094  type UserDefinedVariableConfiguration struct {
 13095  	// DataType: Data type for the variable. This is a required field.
 13096  	//
 13097  	// Possible values:
 13098  	//   "NUMBER"
 13099  	//   "STRING"
 13100  	DataType string `json:"dataType,omitempty"`
 13101  
 13102  	// ReportName: User-friendly name for the variable which will appear in
 13103  	// reports. This is a required field, must be less than 64 characters
 13104  	// long, and cannot contain the following characters: ""<>".
 13105  	ReportName string `json:"reportName,omitempty"`
 13106  
 13107  	// VariableType: Variable name in the tag. This is a required field.
 13108  	//
 13109  	// Possible values:
 13110  	//   "U1"
 13111  	//   "U10"
 13112  	//   "U100"
 13113  	//   "U11"
 13114  	//   "U12"
 13115  	//   "U13"
 13116  	//   "U14"
 13117  	//   "U15"
 13118  	//   "U16"
 13119  	//   "U17"
 13120  	//   "U18"
 13121  	//   "U19"
 13122  	//   "U2"
 13123  	//   "U20"
 13124  	//   "U21"
 13125  	//   "U22"
 13126  	//   "U23"
 13127  	//   "U24"
 13128  	//   "U25"
 13129  	//   "U26"
 13130  	//   "U27"
 13131  	//   "U28"
 13132  	//   "U29"
 13133  	//   "U3"
 13134  	//   "U30"
 13135  	//   "U31"
 13136  	//   "U32"
 13137  	//   "U33"
 13138  	//   "U34"
 13139  	//   "U35"
 13140  	//   "U36"
 13141  	//   "U37"
 13142  	//   "U38"
 13143  	//   "U39"
 13144  	//   "U4"
 13145  	//   "U40"
 13146  	//   "U41"
 13147  	//   "U42"
 13148  	//   "U43"
 13149  	//   "U44"
 13150  	//   "U45"
 13151  	//   "U46"
 13152  	//   "U47"
 13153  	//   "U48"
 13154  	//   "U49"
 13155  	//   "U5"
 13156  	//   "U50"
 13157  	//   "U51"
 13158  	//   "U52"
 13159  	//   "U53"
 13160  	//   "U54"
 13161  	//   "U55"
 13162  	//   "U56"
 13163  	//   "U57"
 13164  	//   "U58"
 13165  	//   "U59"
 13166  	//   "U6"
 13167  	//   "U60"
 13168  	//   "U61"
 13169  	//   "U62"
 13170  	//   "U63"
 13171  	//   "U64"
 13172  	//   "U65"
 13173  	//   "U66"
 13174  	//   "U67"
 13175  	//   "U68"
 13176  	//   "U69"
 13177  	//   "U7"
 13178  	//   "U70"
 13179  	//   "U71"
 13180  	//   "U72"
 13181  	//   "U73"
 13182  	//   "U74"
 13183  	//   "U75"
 13184  	//   "U76"
 13185  	//   "U77"
 13186  	//   "U78"
 13187  	//   "U79"
 13188  	//   "U8"
 13189  	//   "U80"
 13190  	//   "U81"
 13191  	//   "U82"
 13192  	//   "U83"
 13193  	//   "U84"
 13194  	//   "U85"
 13195  	//   "U86"
 13196  	//   "U87"
 13197  	//   "U88"
 13198  	//   "U89"
 13199  	//   "U9"
 13200  	//   "U90"
 13201  	//   "U91"
 13202  	//   "U92"
 13203  	//   "U93"
 13204  	//   "U94"
 13205  	//   "U95"
 13206  	//   "U96"
 13207  	//   "U97"
 13208  	//   "U98"
 13209  	//   "U99"
 13210  	VariableType string `json:"variableType,omitempty"`
 13211  
 13212  	// ForceSendFields is a list of field names (e.g. "DataType") to
 13213  	// unconditionally include in API requests. By default, fields with
 13214  	// empty values are omitted from API requests. However, any non-pointer,
 13215  	// non-interface field appearing in ForceSendFields will be sent to the
 13216  	// server regardless of whether the field is empty or not. This may be
 13217  	// used to include empty fields in Patch requests.
 13218  	ForceSendFields []string `json:"-"`
 13219  
 13220  	// NullFields is a list of field names (e.g. "DataType") to include in
 13221  	// API requests with the JSON null value. By default, fields with empty
 13222  	// values are omitted from API requests. However, any field with an
 13223  	// empty value appearing in NullFields will be sent to the server as
 13224  	// null. It is an error if a field in this list has a non-empty value.
 13225  	// This may be used to include null fields in Patch requests.
 13226  	NullFields []string `json:"-"`
 13227  }
 13228  
 13229  func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
 13230  	type NoMethod UserDefinedVariableConfiguration
 13231  	raw := NoMethod(*s)
 13232  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13233  }
 13234  
 13235  // UserProfile: Represents a UserProfile resource.
 13236  type UserProfile struct {
 13237  	// AccountId: The account ID to which this profile belongs.
 13238  	AccountId int64 `json:"accountId,omitempty,string"`
 13239  
 13240  	// AccountName: The account name this profile belongs to.
 13241  	AccountName string `json:"accountName,omitempty"`
 13242  
 13243  	// Etag: The eTag of this response for caching purposes.
 13244  	Etag string `json:"etag,omitempty"`
 13245  
 13246  	// Kind: The kind of resource this is, in this case
 13247  	// dfareporting#userProfile.
 13248  	Kind string `json:"kind,omitempty"`
 13249  
 13250  	// ProfileId: The unique ID of the user profile.
 13251  	ProfileId int64 `json:"profileId,omitempty,string"`
 13252  
 13253  	// SubAccountId: The sub account ID this profile belongs to if
 13254  	// applicable.
 13255  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 13256  
 13257  	// SubAccountName: The sub account name this profile belongs to if
 13258  	// applicable.
 13259  	SubAccountName string `json:"subAccountName,omitempty"`
 13260  
 13261  	// UserName: The user name.
 13262  	UserName string `json:"userName,omitempty"`
 13263  
 13264  	// ServerResponse contains the HTTP response code and headers from the
 13265  	// server.
 13266  	googleapi.ServerResponse `json:"-"`
 13267  
 13268  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13269  	// unconditionally include in API requests. By default, fields with
 13270  	// empty values are omitted from API requests. However, any non-pointer,
 13271  	// non-interface field appearing in ForceSendFields will be sent to the
 13272  	// server regardless of whether the field is empty or not. This may be
 13273  	// used to include empty fields in Patch requests.
 13274  	ForceSendFields []string `json:"-"`
 13275  
 13276  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13277  	// API requests with the JSON null value. By default, fields with empty
 13278  	// values are omitted from API requests. However, any field with an
 13279  	// empty value appearing in NullFields will be sent to the server as
 13280  	// null. It is an error if a field in this list has a non-empty value.
 13281  	// This may be used to include null fields in Patch requests.
 13282  	NullFields []string `json:"-"`
 13283  }
 13284  
 13285  func (s *UserProfile) MarshalJSON() ([]byte, error) {
 13286  	type NoMethod UserProfile
 13287  	raw := NoMethod(*s)
 13288  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13289  }
 13290  
 13291  // UserProfileList: Represents the list of user profiles.
 13292  type UserProfileList struct {
 13293  	// Etag: The eTag of this response for caching purposes.
 13294  	Etag string `json:"etag,omitempty"`
 13295  
 13296  	// Items: The user profiles returned in this response.
 13297  	Items []*UserProfile `json:"items,omitempty"`
 13298  
 13299  	// Kind: The kind of list this is, in this case
 13300  	// dfareporting#userProfileList.
 13301  	Kind string `json:"kind,omitempty"`
 13302  
 13303  	// ServerResponse contains the HTTP response code and headers from the
 13304  	// server.
 13305  	googleapi.ServerResponse `json:"-"`
 13306  
 13307  	// ForceSendFields is a list of field names (e.g. "Etag") to
 13308  	// unconditionally include in API requests. By default, fields with
 13309  	// empty values are omitted from API requests. However, any non-pointer,
 13310  	// non-interface field appearing in ForceSendFields will be sent to the
 13311  	// server regardless of whether the field is empty or not. This may be
 13312  	// used to include empty fields in Patch requests.
 13313  	ForceSendFields []string `json:"-"`
 13314  
 13315  	// NullFields is a list of field names (e.g. "Etag") to include in API
 13316  	// requests with the JSON null value. By default, fields with empty
 13317  	// values are omitted from API requests. However, any field with an
 13318  	// empty value appearing in NullFields will be sent to the server as
 13319  	// null. It is an error if a field in this list has a non-empty value.
 13320  	// This may be used to include null fields in Patch requests.
 13321  	NullFields []string `json:"-"`
 13322  }
 13323  
 13324  func (s *UserProfileList) MarshalJSON() ([]byte, error) {
 13325  	type NoMethod UserProfileList
 13326  	raw := NoMethod(*s)
 13327  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13328  }
 13329  
 13330  // UserRole: Contains properties of auser role, which is used to manage
 13331  // user access.
 13332  type UserRole struct {
 13333  	// AccountId: Account ID of this user role. This is a read-only field
 13334  	// that can be left blank.
 13335  	AccountId int64 `json:"accountId,omitempty,string"`
 13336  
 13337  	// DefaultUserRole: Whether this is a default user role. Default user
 13338  	// roles are created by the system for the account/subaccount and cannot
 13339  	// be modified or deleted. Each default user role comes with a basic set
 13340  	// of preassigned permissions.
 13341  	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
 13342  
 13343  	// Id: ID of this user role. This is a read-only, auto-generated field.
 13344  	Id int64 `json:"id,omitempty,string"`
 13345  
 13346  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13347  	// string "dfareporting#userRole".
 13348  	Kind string `json:"kind,omitempty"`
 13349  
 13350  	// Name: Name of this user role. This is a required field. Must be less
 13351  	// than 256 characters long. If this user role is under a subaccount,
 13352  	// the name must be unique among sites of the same subaccount.
 13353  	// Otherwise, this user role is a top-level user role, and the name must
 13354  	// be unique among top-level user roles of the same account.
 13355  	Name string `json:"name,omitempty"`
 13356  
 13357  	// ParentUserRoleId: ID of the user role that this user role is based on
 13358  	// or copied from. This is a required field.
 13359  	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
 13360  
 13361  	// Permissions: List of permissions associated with this user role.
 13362  	Permissions []*UserRolePermission `json:"permissions,omitempty"`
 13363  
 13364  	// SubaccountId: Subaccount ID of this user role. This is a read-only
 13365  	// field that can be left blank.
 13366  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13367  
 13368  	// ServerResponse contains the HTTP response code and headers from the
 13369  	// server.
 13370  	googleapi.ServerResponse `json:"-"`
 13371  
 13372  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13373  	// unconditionally include in API requests. By default, fields with
 13374  	// empty values are omitted from API requests. However, any non-pointer,
 13375  	// non-interface field appearing in ForceSendFields will be sent to the
 13376  	// server regardless of whether the field is empty or not. This may be
 13377  	// used to include empty fields in Patch requests.
 13378  	ForceSendFields []string `json:"-"`
 13379  
 13380  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13381  	// API requests with the JSON null value. By default, fields with empty
 13382  	// values are omitted from API requests. However, any field with an
 13383  	// empty value appearing in NullFields will be sent to the server as
 13384  	// null. It is an error if a field in this list has a non-empty value.
 13385  	// This may be used to include null fields in Patch requests.
 13386  	NullFields []string `json:"-"`
 13387  }
 13388  
 13389  func (s *UserRole) MarshalJSON() ([]byte, error) {
 13390  	type NoMethod UserRole
 13391  	raw := NoMethod(*s)
 13392  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13393  }
 13394  
 13395  // UserRolePermission: Contains properties of a user role permission.
 13396  type UserRolePermission struct {
 13397  	// Availability: Levels of availability for a user role permission.
 13398  	//
 13399  	// Possible values:
 13400  	//   "ACCOUNT_ALWAYS"
 13401  	//   "ACCOUNT_BY_DEFAULT"
 13402  	//   "NOT_AVAILABLE_BY_DEFAULT"
 13403  	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
 13404  	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
 13405  	Availability string `json:"availability,omitempty"`
 13406  
 13407  	// Id: ID of this user role permission.
 13408  	Id int64 `json:"id,omitempty,string"`
 13409  
 13410  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13411  	// string "dfareporting#userRolePermission".
 13412  	Kind string `json:"kind,omitempty"`
 13413  
 13414  	// Name: Name of this user role permission.
 13415  	Name string `json:"name,omitempty"`
 13416  
 13417  	// PermissionGroupId: ID of the permission group that this user role
 13418  	// permission belongs to.
 13419  	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
 13420  
 13421  	// ServerResponse contains the HTTP response code and headers from the
 13422  	// server.
 13423  	googleapi.ServerResponse `json:"-"`
 13424  
 13425  	// ForceSendFields is a list of field names (e.g. "Availability") to
 13426  	// unconditionally include in API requests. By default, fields with
 13427  	// empty values are omitted from API requests. However, any non-pointer,
 13428  	// non-interface field appearing in ForceSendFields will be sent to the
 13429  	// server regardless of whether the field is empty or not. This may be
 13430  	// used to include empty fields in Patch requests.
 13431  	ForceSendFields []string `json:"-"`
 13432  
 13433  	// NullFields is a list of field names (e.g. "Availability") to include
 13434  	// in API requests with the JSON null value. By default, fields with
 13435  	// empty values are omitted from API requests. However, any field with
 13436  	// an empty value appearing in NullFields will be sent to the server as
 13437  	// null. It is an error if a field in this list has a non-empty value.
 13438  	// This may be used to include null fields in Patch requests.
 13439  	NullFields []string `json:"-"`
 13440  }
 13441  
 13442  func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
 13443  	type NoMethod UserRolePermission
 13444  	raw := NoMethod(*s)
 13445  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13446  }
 13447  
 13448  // UserRolePermissionGroup: Represents a grouping of related user role
 13449  // permissions.
 13450  type UserRolePermissionGroup struct {
 13451  	// Id: ID of this user role permission.
 13452  	Id int64 `json:"id,omitempty,string"`
 13453  
 13454  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13455  	// string "dfareporting#userRolePermissionGroup".
 13456  	Kind string `json:"kind,omitempty"`
 13457  
 13458  	// Name: Name of this user role permission group.
 13459  	Name string `json:"name,omitempty"`
 13460  
 13461  	// ServerResponse contains the HTTP response code and headers from the
 13462  	// server.
 13463  	googleapi.ServerResponse `json:"-"`
 13464  
 13465  	// ForceSendFields is a list of field names (e.g. "Id") to
 13466  	// unconditionally include in API requests. By default, fields with
 13467  	// empty values are omitted from API requests. However, any non-pointer,
 13468  	// non-interface field appearing in ForceSendFields will be sent to the
 13469  	// server regardless of whether the field is empty or not. This may be
 13470  	// used to include empty fields in Patch requests.
 13471  	ForceSendFields []string `json:"-"`
 13472  
 13473  	// NullFields is a list of field names (e.g. "Id") to include in API
 13474  	// requests with the JSON null value. By default, fields with empty
 13475  	// values are omitted from API requests. However, any field with an
 13476  	// empty value appearing in NullFields will be sent to the server as
 13477  	// null. It is an error if a field in this list has a non-empty value.
 13478  	// This may be used to include null fields in Patch requests.
 13479  	NullFields []string `json:"-"`
 13480  }
 13481  
 13482  func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
 13483  	type NoMethod UserRolePermissionGroup
 13484  	raw := NoMethod(*s)
 13485  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13486  }
 13487  
 13488  // UserRolePermissionGroupsListResponse: User Role Permission Group List
 13489  // Response
 13490  type UserRolePermissionGroupsListResponse struct {
 13491  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13492  	// string "dfareporting#userRolePermissionGroupsListResponse".
 13493  	Kind string `json:"kind,omitempty"`
 13494  
 13495  	// UserRolePermissionGroups: User role permission group collection.
 13496  	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
 13497  
 13498  	// ServerResponse contains the HTTP response code and headers from the
 13499  	// server.
 13500  	googleapi.ServerResponse `json:"-"`
 13501  
 13502  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13503  	// unconditionally include in API requests. By default, fields with
 13504  	// empty values are omitted from API requests. However, any non-pointer,
 13505  	// non-interface field appearing in ForceSendFields will be sent to the
 13506  	// server regardless of whether the field is empty or not. This may be
 13507  	// used to include empty fields in Patch requests.
 13508  	ForceSendFields []string `json:"-"`
 13509  
 13510  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13511  	// requests with the JSON null value. By default, fields with empty
 13512  	// values are omitted from API requests. However, any field with an
 13513  	// empty value appearing in NullFields will be sent to the server as
 13514  	// null. It is an error if a field in this list has a non-empty value.
 13515  	// This may be used to include null fields in Patch requests.
 13516  	NullFields []string `json:"-"`
 13517  }
 13518  
 13519  func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
 13520  	type NoMethod UserRolePermissionGroupsListResponse
 13521  	raw := NoMethod(*s)
 13522  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13523  }
 13524  
 13525  // UserRolePermissionsListResponse: User Role Permission List Response
 13526  type UserRolePermissionsListResponse struct {
 13527  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13528  	// string "dfareporting#userRolePermissionsListResponse".
 13529  	Kind string `json:"kind,omitempty"`
 13530  
 13531  	// UserRolePermissions: User role permission collection.
 13532  	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
 13533  
 13534  	// ServerResponse contains the HTTP response code and headers from the
 13535  	// server.
 13536  	googleapi.ServerResponse `json:"-"`
 13537  
 13538  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13539  	// unconditionally include in API requests. By default, fields with
 13540  	// empty values are omitted from API requests. However, any non-pointer,
 13541  	// non-interface field appearing in ForceSendFields will be sent to the
 13542  	// server regardless of whether the field is empty or not. This may be
 13543  	// used to include empty fields in Patch requests.
 13544  	ForceSendFields []string `json:"-"`
 13545  
 13546  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13547  	// requests with the JSON null value. By default, fields with empty
 13548  	// values are omitted from API requests. However, any field with an
 13549  	// empty value appearing in NullFields will be sent to the server as
 13550  	// null. It is an error if a field in this list has a non-empty value.
 13551  	// This may be used to include null fields in Patch requests.
 13552  	NullFields []string `json:"-"`
 13553  }
 13554  
 13555  func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
 13556  	type NoMethod UserRolePermissionsListResponse
 13557  	raw := NoMethod(*s)
 13558  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13559  }
 13560  
 13561  // UserRolesListResponse: User Role List Response
 13562  type UserRolesListResponse struct {
 13563  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13564  	// string "dfareporting#userRolesListResponse".
 13565  	Kind string `json:"kind,omitempty"`
 13566  
 13567  	// NextPageToken: Pagination token to be used for the next list
 13568  	// operation.
 13569  	NextPageToken string `json:"nextPageToken,omitempty"`
 13570  
 13571  	// UserRoles: User role collection.
 13572  	UserRoles []*UserRole `json:"userRoles,omitempty"`
 13573  
 13574  	// ServerResponse contains the HTTP response code and headers from the
 13575  	// server.
 13576  	googleapi.ServerResponse `json:"-"`
 13577  
 13578  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13579  	// unconditionally include in API requests. By default, fields with
 13580  	// empty values are omitted from API requests. However, any non-pointer,
 13581  	// non-interface field appearing in ForceSendFields will be sent to the
 13582  	// server regardless of whether the field is empty or not. This may be
 13583  	// used to include empty fields in Patch requests.
 13584  	ForceSendFields []string `json:"-"`
 13585  
 13586  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13587  	// requests with the JSON null value. By default, fields with empty
 13588  	// values are omitted from API requests. However, any field with an
 13589  	// empty value appearing in NullFields will be sent to the server as
 13590  	// null. It is an error if a field in this list has a non-empty value.
 13591  	// This may be used to include null fields in Patch requests.
 13592  	NullFields []string `json:"-"`
 13593  }
 13594  
 13595  func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
 13596  	type NoMethod UserRolesListResponse
 13597  	raw := NoMethod(*s)
 13598  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13599  }
 13600  
 13601  // VideoFormat: Contains information about supported video formats.
 13602  type VideoFormat struct {
 13603  	// FileType: File type of the video format.
 13604  	//
 13605  	// Possible values:
 13606  	//   "FLV"
 13607  	//   "M3U8"
 13608  	//   "MP4"
 13609  	//   "THREEGPP"
 13610  	//   "WEBM"
 13611  	FileType string `json:"fileType,omitempty"`
 13612  
 13613  	// Id: ID of the video format.
 13614  	Id int64 `json:"id,omitempty"`
 13615  
 13616  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13617  	// string "dfareporting#videoFormat".
 13618  	Kind string `json:"kind,omitempty"`
 13619  
 13620  	// Resolution: The resolution of this video format.
 13621  	Resolution *Size `json:"resolution,omitempty"`
 13622  
 13623  	// TargetBitRate: The target bit rate of this video format.
 13624  	TargetBitRate int64 `json:"targetBitRate,omitempty"`
 13625  
 13626  	// ServerResponse contains the HTTP response code and headers from the
 13627  	// server.
 13628  	googleapi.ServerResponse `json:"-"`
 13629  
 13630  	// ForceSendFields is a list of field names (e.g. "FileType") to
 13631  	// unconditionally include in API requests. By default, fields with
 13632  	// empty values are omitted from API requests. However, any non-pointer,
 13633  	// non-interface field appearing in ForceSendFields will be sent to the
 13634  	// server regardless of whether the field is empty or not. This may be
 13635  	// used to include empty fields in Patch requests.
 13636  	ForceSendFields []string `json:"-"`
 13637  
 13638  	// NullFields is a list of field names (e.g. "FileType") to include in
 13639  	// API requests with the JSON null value. By default, fields with empty
 13640  	// values are omitted from API requests. However, any field with an
 13641  	// empty value appearing in NullFields will be sent to the server as
 13642  	// null. It is an error if a field in this list has a non-empty value.
 13643  	// This may be used to include null fields in Patch requests.
 13644  	NullFields []string `json:"-"`
 13645  }
 13646  
 13647  func (s *VideoFormat) MarshalJSON() ([]byte, error) {
 13648  	type NoMethod VideoFormat
 13649  	raw := NoMethod(*s)
 13650  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13651  }
 13652  
 13653  // VideoFormatsListResponse: Video Format List Response
 13654  type VideoFormatsListResponse struct {
 13655  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13656  	// string "dfareporting#videoFormatsListResponse".
 13657  	Kind string `json:"kind,omitempty"`
 13658  
 13659  	// VideoFormats: Video format collection.
 13660  	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
 13661  
 13662  	// ServerResponse contains the HTTP response code and headers from the
 13663  	// server.
 13664  	googleapi.ServerResponse `json:"-"`
 13665  
 13666  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13667  	// unconditionally include in API requests. By default, fields with
 13668  	// empty values are omitted from API requests. However, any non-pointer,
 13669  	// non-interface field appearing in ForceSendFields will be sent to the
 13670  	// server regardless of whether the field is empty or not. This may be
 13671  	// used to include empty fields in Patch requests.
 13672  	ForceSendFields []string `json:"-"`
 13673  
 13674  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13675  	// requests with the JSON null value. By default, fields with empty
 13676  	// values are omitted from API requests. However, any field with an
 13677  	// empty value appearing in NullFields will be sent to the server as
 13678  	// null. It is an error if a field in this list has a non-empty value.
 13679  	// This may be used to include null fields in Patch requests.
 13680  	NullFields []string `json:"-"`
 13681  }
 13682  
 13683  func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
 13684  	type NoMethod VideoFormatsListResponse
 13685  	raw := NoMethod(*s)
 13686  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13687  }
 13688  
 13689  // VideoOffset: Video Offset
 13690  type VideoOffset struct {
 13691  	// OffsetPercentage: Duration, as a percentage of video duration. Do not
 13692  	// set when offsetSeconds is set. Acceptable values are 0 to 100,
 13693  	// inclusive.
 13694  	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
 13695  
 13696  	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
 13697  	// is set. Acceptable values are 0 to 86399, inclusive.
 13698  	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
 13699  
 13700  	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
 13701  	// unconditionally include in API requests. By default, fields with
 13702  	// empty values are omitted from API requests. However, any non-pointer,
 13703  	// non-interface field appearing in ForceSendFields will be sent to the
 13704  	// server regardless of whether the field is empty or not. This may be
 13705  	// used to include empty fields in Patch requests.
 13706  	ForceSendFields []string `json:"-"`
 13707  
 13708  	// NullFields is a list of field names (e.g. "OffsetPercentage") to
 13709  	// include in API requests with the JSON null value. By default, fields
 13710  	// with empty values are omitted from API requests. However, any field
 13711  	// with an empty value appearing in NullFields will be sent to the
 13712  	// server as null. It is an error if a field in this list has a
 13713  	// non-empty value. This may be used to include null fields in Patch
 13714  	// requests.
 13715  	NullFields []string `json:"-"`
 13716  }
 13717  
 13718  func (s *VideoOffset) MarshalJSON() ([]byte, error) {
 13719  	type NoMethod VideoOffset
 13720  	raw := NoMethod(*s)
 13721  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13722  }
 13723  
 13724  // VideoSettings: Video Settings
 13725  type VideoSettings struct {
 13726  	// CompanionSettings: Settings for the companion creatives of video
 13727  	// creatives served to this placement.
 13728  	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
 13729  
 13730  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13731  	// string "dfareporting#videoSettings".
 13732  	Kind string `json:"kind,omitempty"`
 13733  
 13734  	// SkippableSettings: Settings for the skippability of video creatives
 13735  	// served to this placement. If this object is provided, the
 13736  	// creative-level skippable settings will be overridden.
 13737  	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
 13738  
 13739  	// TranscodeSettings: Settings for the transcodes of video creatives
 13740  	// served to this placement. If this object is provided, the
 13741  	// creative-level transcode settings will be overridden.
 13742  	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
 13743  
 13744  	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
 13745  	// to unconditionally include in API requests. By default, fields with
 13746  	// empty values are omitted from API requests. However, any non-pointer,
 13747  	// non-interface field appearing in ForceSendFields will be sent to the
 13748  	// server regardless of whether the field is empty or not. This may be
 13749  	// used to include empty fields in Patch requests.
 13750  	ForceSendFields []string `json:"-"`
 13751  
 13752  	// NullFields is a list of field names (e.g. "CompanionSettings") to
 13753  	// include in API requests with the JSON null value. By default, fields
 13754  	// with empty values are omitted from API requests. However, any field
 13755  	// with an empty value appearing in NullFields will be sent to the
 13756  	// server as null. It is an error if a field in this list has a
 13757  	// non-empty value. This may be used to include null fields in Patch
 13758  	// requests.
 13759  	NullFields []string `json:"-"`
 13760  }
 13761  
 13762  func (s *VideoSettings) MarshalJSON() ([]byte, error) {
 13763  	type NoMethod VideoSettings
 13764  	raw := NoMethod(*s)
 13765  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13766  }
 13767  
 13768  // method id "dfareporting.accountActiveAdSummaries.get":
 13769  
 13770  type AccountActiveAdSummariesGetCall struct {
 13771  	s                *Service
 13772  	profileId        int64
 13773  	summaryAccountId int64
 13774  	urlParams_       gensupport.URLParams
 13775  	ifNoneMatch_     string
 13776  	ctx_             context.Context
 13777  	header_          http.Header
 13778  }
 13779  
 13780  // Get: Gets the account's active ad summary by account ID.
 13781  func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
 13782  	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13783  	c.profileId = profileId
 13784  	c.summaryAccountId = summaryAccountId
 13785  	return c
 13786  }
 13787  
 13788  // Fields allows partial responses to be retrieved. See
 13789  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 13790  // for more information.
 13791  func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
 13792  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13793  	return c
 13794  }
 13795  
 13796  // IfNoneMatch sets the optional parameter which makes the operation
 13797  // fail if the object's ETag matches the given value. This is useful for
 13798  // getting updates only after the object has changed since the last
 13799  // request. Use googleapi.IsNotModified to check whether the response
 13800  // error from Do is the result of In-None-Match.
 13801  func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
 13802  	c.ifNoneMatch_ = entityTag
 13803  	return c
 13804  }
 13805  
 13806  // Context sets the context to be used in this call's Do method. Any
 13807  // pending HTTP request will be aborted if the provided context is
 13808  // canceled.
 13809  func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
 13810  	c.ctx_ = ctx
 13811  	return c
 13812  }
 13813  
 13814  // Header returns an http.Header that can be modified by the caller to
 13815  // add HTTP headers to the request.
 13816  func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
 13817  	if c.header_ == nil {
 13818  		c.header_ = make(http.Header)
 13819  	}
 13820  	return c.header_
 13821  }
 13822  
 13823  func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 13824  	reqHeaders := make(http.Header)
 13825  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 13826  	for k, v := range c.header_ {
 13827  		reqHeaders[k] = v
 13828  	}
 13829  	reqHeaders.Set("User-Agent", c.s.userAgent())
 13830  	if c.ifNoneMatch_ != "" {
 13831  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13832  	}
 13833  	var body io.Reader = nil
 13834  	c.urlParams_.Set("alt", alt)
 13835  	c.urlParams_.Set("prettyPrint", "false")
 13836  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
 13837  	urls += "?" + c.urlParams_.Encode()
 13838  	req, err := http.NewRequest("GET", urls, body)
 13839  	if err != nil {
 13840  		return nil, err
 13841  	}
 13842  	req.Header = reqHeaders
 13843  	googleapi.Expand(req.URL, map[string]string{
 13844  		"profileId":        strconv.FormatInt(c.profileId, 10),
 13845  		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
 13846  	})
 13847  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 13848  }
 13849  
 13850  // Do executes the "dfareporting.accountActiveAdSummaries.get" call.
 13851  // Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
 13852  // non-2xx status code is an error. Response headers are in either
 13853  // *AccountActiveAdSummary.ServerResponse.Header or (if a response was
 13854  // returned at all) in error.(*googleapi.Error).Header. Use
 13855  // googleapi.IsNotModified to check whether the returned error was
 13856  // because http.StatusNotModified was returned.
 13857  func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
 13858  	gensupport.SetOptions(c.urlParams_, opts...)
 13859  	res, err := c.doRequest("json")
 13860  	if res != nil && res.StatusCode == http.StatusNotModified {
 13861  		if res.Body != nil {
 13862  			res.Body.Close()
 13863  		}
 13864  		return nil, &googleapi.Error{
 13865  			Code:   res.StatusCode,
 13866  			Header: res.Header,
 13867  		}
 13868  	}
 13869  	if err != nil {
 13870  		return nil, err
 13871  	}
 13872  	defer googleapi.CloseBody(res)
 13873  	if err := googleapi.CheckResponse(res); err != nil {
 13874  		return nil, err
 13875  	}
 13876  	ret := &AccountActiveAdSummary{
 13877  		ServerResponse: googleapi.ServerResponse{
 13878  			Header:         res.Header,
 13879  			HTTPStatusCode: res.StatusCode,
 13880  		},
 13881  	}
 13882  	target := &ret
 13883  	if err := gensupport.DecodeResponse(target, res); err != nil {
 13884  		return nil, err
 13885  	}
 13886  	return ret, nil
 13887  	// {
 13888  	//   "description": "Gets the account's active ad summary by account ID.",
 13889  	//   "httpMethod": "GET",
 13890  	//   "id": "dfareporting.accountActiveAdSummaries.get",
 13891  	//   "parameterOrder": [
 13892  	//     "profileId",
 13893  	//     "summaryAccountId"
 13894  	//   ],
 13895  	//   "parameters": {
 13896  	//     "profileId": {
 13897  	//       "description": "User profile ID associated with this request.",
 13898  	//       "format": "int64",
 13899  	//       "location": "path",
 13900  	//       "required": true,
 13901  	//       "type": "string"
 13902  	//     },
 13903  	//     "summaryAccountId": {
 13904  	//       "description": "Account ID.",
 13905  	//       "format": "int64",
 13906  	//       "location": "path",
 13907  	//       "required": true,
 13908  	//       "type": "string"
 13909  	//     }
 13910  	//   },
 13911  	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
 13912  	//   "response": {
 13913  	//     "$ref": "AccountActiveAdSummary"
 13914  	//   },
 13915  	//   "scopes": [
 13916  	//     "https://www.googleapis.com/auth/dfatrafficking"
 13917  	//   ]
 13918  	// }
 13919  
 13920  }
 13921  
 13922  // method id "dfareporting.accountPermissionGroups.get":
 13923  
 13924  type AccountPermissionGroupsGetCall struct {
 13925  	s            *Service
 13926  	profileId    int64
 13927  	id           int64
 13928  	urlParams_   gensupport.URLParams
 13929  	ifNoneMatch_ string
 13930  	ctx_         context.Context
 13931  	header_      http.Header
 13932  }
 13933  
 13934  // Get: Gets one account permission group by ID.
 13935  func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
 13936  	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13937  	c.profileId = profileId
 13938  	c.id = id
 13939  	return c
 13940  }
 13941  
 13942  // Fields allows partial responses to be retrieved. See
 13943  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 13944  // for more information.
 13945  func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
 13946  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13947  	return c
 13948  }
 13949  
 13950  // IfNoneMatch sets the optional parameter which makes the operation
 13951  // fail if the object's ETag matches the given value. This is useful for
 13952  // getting updates only after the object has changed since the last
 13953  // request. Use googleapi.IsNotModified to check whether the response
 13954  // error from Do is the result of In-None-Match.
 13955  func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
 13956  	c.ifNoneMatch_ = entityTag
 13957  	return c
 13958  }
 13959  
 13960  // Context sets the context to be used in this call's Do method. Any
 13961  // pending HTTP request will be aborted if the provided context is
 13962  // canceled.
 13963  func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
 13964  	c.ctx_ = ctx
 13965  	return c
 13966  }
 13967  
 13968  // Header returns an http.Header that can be modified by the caller to
 13969  // add HTTP headers to the request.
 13970  func (c *AccountPermissionGroupsGetCall) Header() http.Header {
 13971  	if c.header_ == nil {
 13972  		c.header_ = make(http.Header)
 13973  	}
 13974  	return c.header_
 13975  }
 13976  
 13977  func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 13978  	reqHeaders := make(http.Header)
 13979  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 13980  	for k, v := range c.header_ {
 13981  		reqHeaders[k] = v
 13982  	}
 13983  	reqHeaders.Set("User-Agent", c.s.userAgent())
 13984  	if c.ifNoneMatch_ != "" {
 13985  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13986  	}
 13987  	var body io.Reader = nil
 13988  	c.urlParams_.Set("alt", alt)
 13989  	c.urlParams_.Set("prettyPrint", "false")
 13990  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
 13991  	urls += "?" + c.urlParams_.Encode()
 13992  	req, err := http.NewRequest("GET", urls, body)
 13993  	if err != nil {
 13994  		return nil, err
 13995  	}
 13996  	req.Header = reqHeaders
 13997  	googleapi.Expand(req.URL, map[string]string{
 13998  		"profileId": strconv.FormatInt(c.profileId, 10),
 13999  		"id":        strconv.FormatInt(c.id, 10),
 14000  	})
 14001  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14002  }
 14003  
 14004  // Do executes the "dfareporting.accountPermissionGroups.get" call.
 14005  // Exactly one of *AccountPermissionGroup or error will be non-nil. Any
 14006  // non-2xx status code is an error. Response headers are in either
 14007  // *AccountPermissionGroup.ServerResponse.Header or (if a response was
 14008  // returned at all) in error.(*googleapi.Error).Header. Use
 14009  // googleapi.IsNotModified to check whether the returned error was
 14010  // because http.StatusNotModified was returned.
 14011  func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
 14012  	gensupport.SetOptions(c.urlParams_, opts...)
 14013  	res, err := c.doRequest("json")
 14014  	if res != nil && res.StatusCode == http.StatusNotModified {
 14015  		if res.Body != nil {
 14016  			res.Body.Close()
 14017  		}
 14018  		return nil, &googleapi.Error{
 14019  			Code:   res.StatusCode,
 14020  			Header: res.Header,
 14021  		}
 14022  	}
 14023  	if err != nil {
 14024  		return nil, err
 14025  	}
 14026  	defer googleapi.CloseBody(res)
 14027  	if err := googleapi.CheckResponse(res); err != nil {
 14028  		return nil, err
 14029  	}
 14030  	ret := &AccountPermissionGroup{
 14031  		ServerResponse: googleapi.ServerResponse{
 14032  			Header:         res.Header,
 14033  			HTTPStatusCode: res.StatusCode,
 14034  		},
 14035  	}
 14036  	target := &ret
 14037  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14038  		return nil, err
 14039  	}
 14040  	return ret, nil
 14041  	// {
 14042  	//   "description": "Gets one account permission group by ID.",
 14043  	//   "httpMethod": "GET",
 14044  	//   "id": "dfareporting.accountPermissionGroups.get",
 14045  	//   "parameterOrder": [
 14046  	//     "profileId",
 14047  	//     "id"
 14048  	//   ],
 14049  	//   "parameters": {
 14050  	//     "id": {
 14051  	//       "description": "Account permission group ID.",
 14052  	//       "format": "int64",
 14053  	//       "location": "path",
 14054  	//       "required": true,
 14055  	//       "type": "string"
 14056  	//     },
 14057  	//     "profileId": {
 14058  	//       "description": "User profile ID associated with this request.",
 14059  	//       "format": "int64",
 14060  	//       "location": "path",
 14061  	//       "required": true,
 14062  	//       "type": "string"
 14063  	//     }
 14064  	//   },
 14065  	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
 14066  	//   "response": {
 14067  	//     "$ref": "AccountPermissionGroup"
 14068  	//   },
 14069  	//   "scopes": [
 14070  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14071  	//   ]
 14072  	// }
 14073  
 14074  }
 14075  
 14076  // method id "dfareporting.accountPermissionGroups.list":
 14077  
 14078  type AccountPermissionGroupsListCall struct {
 14079  	s            *Service
 14080  	profileId    int64
 14081  	urlParams_   gensupport.URLParams
 14082  	ifNoneMatch_ string
 14083  	ctx_         context.Context
 14084  	header_      http.Header
 14085  }
 14086  
 14087  // List: Retrieves the list of account permission groups.
 14088  func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
 14089  	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14090  	c.profileId = profileId
 14091  	return c
 14092  }
 14093  
 14094  // Fields allows partial responses to be retrieved. See
 14095  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14096  // for more information.
 14097  func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
 14098  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14099  	return c
 14100  }
 14101  
 14102  // IfNoneMatch sets the optional parameter which makes the operation
 14103  // fail if the object's ETag matches the given value. This is useful for
 14104  // getting updates only after the object has changed since the last
 14105  // request. Use googleapi.IsNotModified to check whether the response
 14106  // error from Do is the result of In-None-Match.
 14107  func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
 14108  	c.ifNoneMatch_ = entityTag
 14109  	return c
 14110  }
 14111  
 14112  // Context sets the context to be used in this call's Do method. Any
 14113  // pending HTTP request will be aborted if the provided context is
 14114  // canceled.
 14115  func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
 14116  	c.ctx_ = ctx
 14117  	return c
 14118  }
 14119  
 14120  // Header returns an http.Header that can be modified by the caller to
 14121  // add HTTP headers to the request.
 14122  func (c *AccountPermissionGroupsListCall) Header() http.Header {
 14123  	if c.header_ == nil {
 14124  		c.header_ = make(http.Header)
 14125  	}
 14126  	return c.header_
 14127  }
 14128  
 14129  func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 14130  	reqHeaders := make(http.Header)
 14131  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14132  	for k, v := range c.header_ {
 14133  		reqHeaders[k] = v
 14134  	}
 14135  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14136  	if c.ifNoneMatch_ != "" {
 14137  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14138  	}
 14139  	var body io.Reader = nil
 14140  	c.urlParams_.Set("alt", alt)
 14141  	c.urlParams_.Set("prettyPrint", "false")
 14142  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
 14143  	urls += "?" + c.urlParams_.Encode()
 14144  	req, err := http.NewRequest("GET", urls, body)
 14145  	if err != nil {
 14146  		return nil, err
 14147  	}
 14148  	req.Header = reqHeaders
 14149  	googleapi.Expand(req.URL, map[string]string{
 14150  		"profileId": strconv.FormatInt(c.profileId, 10),
 14151  	})
 14152  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14153  }
 14154  
 14155  // Do executes the "dfareporting.accountPermissionGroups.list" call.
 14156  // Exactly one of *AccountPermissionGroupsListResponse or error will be
 14157  // non-nil. Any non-2xx status code is an error. Response headers are in
 14158  // either *AccountPermissionGroupsListResponse.ServerResponse.Header or
 14159  // (if a response was returned at all) in
 14160  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14161  // whether the returned error was because http.StatusNotModified was
 14162  // returned.
 14163  func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
 14164  	gensupport.SetOptions(c.urlParams_, opts...)
 14165  	res, err := c.doRequest("json")
 14166  	if res != nil && res.StatusCode == http.StatusNotModified {
 14167  		if res.Body != nil {
 14168  			res.Body.Close()
 14169  		}
 14170  		return nil, &googleapi.Error{
 14171  			Code:   res.StatusCode,
 14172  			Header: res.Header,
 14173  		}
 14174  	}
 14175  	if err != nil {
 14176  		return nil, err
 14177  	}
 14178  	defer googleapi.CloseBody(res)
 14179  	if err := googleapi.CheckResponse(res); err != nil {
 14180  		return nil, err
 14181  	}
 14182  	ret := &AccountPermissionGroupsListResponse{
 14183  		ServerResponse: googleapi.ServerResponse{
 14184  			Header:         res.Header,
 14185  			HTTPStatusCode: res.StatusCode,
 14186  		},
 14187  	}
 14188  	target := &ret
 14189  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14190  		return nil, err
 14191  	}
 14192  	return ret, nil
 14193  	// {
 14194  	//   "description": "Retrieves the list of account permission groups.",
 14195  	//   "httpMethod": "GET",
 14196  	//   "id": "dfareporting.accountPermissionGroups.list",
 14197  	//   "parameterOrder": [
 14198  	//     "profileId"
 14199  	//   ],
 14200  	//   "parameters": {
 14201  	//     "profileId": {
 14202  	//       "description": "User profile ID associated with this request.",
 14203  	//       "format": "int64",
 14204  	//       "location": "path",
 14205  	//       "required": true,
 14206  	//       "type": "string"
 14207  	//     }
 14208  	//   },
 14209  	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
 14210  	//   "response": {
 14211  	//     "$ref": "AccountPermissionGroupsListResponse"
 14212  	//   },
 14213  	//   "scopes": [
 14214  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14215  	//   ]
 14216  	// }
 14217  
 14218  }
 14219  
 14220  // method id "dfareporting.accountPermissions.get":
 14221  
 14222  type AccountPermissionsGetCall struct {
 14223  	s            *Service
 14224  	profileId    int64
 14225  	id           int64
 14226  	urlParams_   gensupport.URLParams
 14227  	ifNoneMatch_ string
 14228  	ctx_         context.Context
 14229  	header_      http.Header
 14230  }
 14231  
 14232  // Get: Gets one account permission by ID.
 14233  func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
 14234  	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14235  	c.profileId = profileId
 14236  	c.id = id
 14237  	return c
 14238  }
 14239  
 14240  // Fields allows partial responses to be retrieved. See
 14241  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14242  // for more information.
 14243  func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
 14244  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14245  	return c
 14246  }
 14247  
 14248  // IfNoneMatch sets the optional parameter which makes the operation
 14249  // fail if the object's ETag matches the given value. This is useful for
 14250  // getting updates only after the object has changed since the last
 14251  // request. Use googleapi.IsNotModified to check whether the response
 14252  // error from Do is the result of In-None-Match.
 14253  func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
 14254  	c.ifNoneMatch_ = entityTag
 14255  	return c
 14256  }
 14257  
 14258  // Context sets the context to be used in this call's Do method. Any
 14259  // pending HTTP request will be aborted if the provided context is
 14260  // canceled.
 14261  func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
 14262  	c.ctx_ = ctx
 14263  	return c
 14264  }
 14265  
 14266  // Header returns an http.Header that can be modified by the caller to
 14267  // add HTTP headers to the request.
 14268  func (c *AccountPermissionsGetCall) Header() http.Header {
 14269  	if c.header_ == nil {
 14270  		c.header_ = make(http.Header)
 14271  	}
 14272  	return c.header_
 14273  }
 14274  
 14275  func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 14276  	reqHeaders := make(http.Header)
 14277  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14278  	for k, v := range c.header_ {
 14279  		reqHeaders[k] = v
 14280  	}
 14281  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14282  	if c.ifNoneMatch_ != "" {
 14283  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14284  	}
 14285  	var body io.Reader = nil
 14286  	c.urlParams_.Set("alt", alt)
 14287  	c.urlParams_.Set("prettyPrint", "false")
 14288  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
 14289  	urls += "?" + c.urlParams_.Encode()
 14290  	req, err := http.NewRequest("GET", urls, body)
 14291  	if err != nil {
 14292  		return nil, err
 14293  	}
 14294  	req.Header = reqHeaders
 14295  	googleapi.Expand(req.URL, map[string]string{
 14296  		"profileId": strconv.FormatInt(c.profileId, 10),
 14297  		"id":        strconv.FormatInt(c.id, 10),
 14298  	})
 14299  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14300  }
 14301  
 14302  // Do executes the "dfareporting.accountPermissions.get" call.
 14303  // Exactly one of *AccountPermission or error will be non-nil. Any
 14304  // non-2xx status code is an error. Response headers are in either
 14305  // *AccountPermission.ServerResponse.Header or (if a response was
 14306  // returned at all) in error.(*googleapi.Error).Header. Use
 14307  // googleapi.IsNotModified to check whether the returned error was
 14308  // because http.StatusNotModified was returned.
 14309  func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
 14310  	gensupport.SetOptions(c.urlParams_, opts...)
 14311  	res, err := c.doRequest("json")
 14312  	if res != nil && res.StatusCode == http.StatusNotModified {
 14313  		if res.Body != nil {
 14314  			res.Body.Close()
 14315  		}
 14316  		return nil, &googleapi.Error{
 14317  			Code:   res.StatusCode,
 14318  			Header: res.Header,
 14319  		}
 14320  	}
 14321  	if err != nil {
 14322  		return nil, err
 14323  	}
 14324  	defer googleapi.CloseBody(res)
 14325  	if err := googleapi.CheckResponse(res); err != nil {
 14326  		return nil, err
 14327  	}
 14328  	ret := &AccountPermission{
 14329  		ServerResponse: googleapi.ServerResponse{
 14330  			Header:         res.Header,
 14331  			HTTPStatusCode: res.StatusCode,
 14332  		},
 14333  	}
 14334  	target := &ret
 14335  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14336  		return nil, err
 14337  	}
 14338  	return ret, nil
 14339  	// {
 14340  	//   "description": "Gets one account permission by ID.",
 14341  	//   "httpMethod": "GET",
 14342  	//   "id": "dfareporting.accountPermissions.get",
 14343  	//   "parameterOrder": [
 14344  	//     "profileId",
 14345  	//     "id"
 14346  	//   ],
 14347  	//   "parameters": {
 14348  	//     "id": {
 14349  	//       "description": "Account permission ID.",
 14350  	//       "format": "int64",
 14351  	//       "location": "path",
 14352  	//       "required": true,
 14353  	//       "type": "string"
 14354  	//     },
 14355  	//     "profileId": {
 14356  	//       "description": "User profile ID associated with this request.",
 14357  	//       "format": "int64",
 14358  	//       "location": "path",
 14359  	//       "required": true,
 14360  	//       "type": "string"
 14361  	//     }
 14362  	//   },
 14363  	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
 14364  	//   "response": {
 14365  	//     "$ref": "AccountPermission"
 14366  	//   },
 14367  	//   "scopes": [
 14368  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14369  	//   ]
 14370  	// }
 14371  
 14372  }
 14373  
 14374  // method id "dfareporting.accountPermissions.list":
 14375  
 14376  type AccountPermissionsListCall struct {
 14377  	s            *Service
 14378  	profileId    int64
 14379  	urlParams_   gensupport.URLParams
 14380  	ifNoneMatch_ string
 14381  	ctx_         context.Context
 14382  	header_      http.Header
 14383  }
 14384  
 14385  // List: Retrieves the list of account permissions.
 14386  func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
 14387  	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14388  	c.profileId = profileId
 14389  	return c
 14390  }
 14391  
 14392  // Fields allows partial responses to be retrieved. See
 14393  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14394  // for more information.
 14395  func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
 14396  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14397  	return c
 14398  }
 14399  
 14400  // IfNoneMatch sets the optional parameter which makes the operation
 14401  // fail if the object's ETag matches the given value. This is useful for
 14402  // getting updates only after the object has changed since the last
 14403  // request. Use googleapi.IsNotModified to check whether the response
 14404  // error from Do is the result of In-None-Match.
 14405  func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
 14406  	c.ifNoneMatch_ = entityTag
 14407  	return c
 14408  }
 14409  
 14410  // Context sets the context to be used in this call's Do method. Any
 14411  // pending HTTP request will be aborted if the provided context is
 14412  // canceled.
 14413  func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
 14414  	c.ctx_ = ctx
 14415  	return c
 14416  }
 14417  
 14418  // Header returns an http.Header that can be modified by the caller to
 14419  // add HTTP headers to the request.
 14420  func (c *AccountPermissionsListCall) Header() http.Header {
 14421  	if c.header_ == nil {
 14422  		c.header_ = make(http.Header)
 14423  	}
 14424  	return c.header_
 14425  }
 14426  
 14427  func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 14428  	reqHeaders := make(http.Header)
 14429  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14430  	for k, v := range c.header_ {
 14431  		reqHeaders[k] = v
 14432  	}
 14433  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14434  	if c.ifNoneMatch_ != "" {
 14435  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14436  	}
 14437  	var body io.Reader = nil
 14438  	c.urlParams_.Set("alt", alt)
 14439  	c.urlParams_.Set("prettyPrint", "false")
 14440  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
 14441  	urls += "?" + c.urlParams_.Encode()
 14442  	req, err := http.NewRequest("GET", urls, body)
 14443  	if err != nil {
 14444  		return nil, err
 14445  	}
 14446  	req.Header = reqHeaders
 14447  	googleapi.Expand(req.URL, map[string]string{
 14448  		"profileId": strconv.FormatInt(c.profileId, 10),
 14449  	})
 14450  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14451  }
 14452  
 14453  // Do executes the "dfareporting.accountPermissions.list" call.
 14454  // Exactly one of *AccountPermissionsListResponse or error will be
 14455  // non-nil. Any non-2xx status code is an error. Response headers are in
 14456  // either *AccountPermissionsListResponse.ServerResponse.Header or (if a
 14457  // response was returned at all) in error.(*googleapi.Error).Header. Use
 14458  // googleapi.IsNotModified to check whether the returned error was
 14459  // because http.StatusNotModified was returned.
 14460  func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
 14461  	gensupport.SetOptions(c.urlParams_, opts...)
 14462  	res, err := c.doRequest("json")
 14463  	if res != nil && res.StatusCode == http.StatusNotModified {
 14464  		if res.Body != nil {
 14465  			res.Body.Close()
 14466  		}
 14467  		return nil, &googleapi.Error{
 14468  			Code:   res.StatusCode,
 14469  			Header: res.Header,
 14470  		}
 14471  	}
 14472  	if err != nil {
 14473  		return nil, err
 14474  	}
 14475  	defer googleapi.CloseBody(res)
 14476  	if err := googleapi.CheckResponse(res); err != nil {
 14477  		return nil, err
 14478  	}
 14479  	ret := &AccountPermissionsListResponse{
 14480  		ServerResponse: googleapi.ServerResponse{
 14481  			Header:         res.Header,
 14482  			HTTPStatusCode: res.StatusCode,
 14483  		},
 14484  	}
 14485  	target := &ret
 14486  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14487  		return nil, err
 14488  	}
 14489  	return ret, nil
 14490  	// {
 14491  	//   "description": "Retrieves the list of account permissions.",
 14492  	//   "httpMethod": "GET",
 14493  	//   "id": "dfareporting.accountPermissions.list",
 14494  	//   "parameterOrder": [
 14495  	//     "profileId"
 14496  	//   ],
 14497  	//   "parameters": {
 14498  	//     "profileId": {
 14499  	//       "description": "User profile ID associated with this request.",
 14500  	//       "format": "int64",
 14501  	//       "location": "path",
 14502  	//       "required": true,
 14503  	//       "type": "string"
 14504  	//     }
 14505  	//   },
 14506  	//   "path": "userprofiles/{profileId}/accountPermissions",
 14507  	//   "response": {
 14508  	//     "$ref": "AccountPermissionsListResponse"
 14509  	//   },
 14510  	//   "scopes": [
 14511  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14512  	//   ]
 14513  	// }
 14514  
 14515  }
 14516  
 14517  // method id "dfareporting.accountUserProfiles.get":
 14518  
 14519  type AccountUserProfilesGetCall struct {
 14520  	s            *Service
 14521  	profileId    int64
 14522  	id           int64
 14523  	urlParams_   gensupport.URLParams
 14524  	ifNoneMatch_ string
 14525  	ctx_         context.Context
 14526  	header_      http.Header
 14527  }
 14528  
 14529  // Get: Gets one account user profile by ID.
 14530  func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
 14531  	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14532  	c.profileId = profileId
 14533  	c.id = id
 14534  	return c
 14535  }
 14536  
 14537  // Fields allows partial responses to be retrieved. See
 14538  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14539  // for more information.
 14540  func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
 14541  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14542  	return c
 14543  }
 14544  
 14545  // IfNoneMatch sets the optional parameter which makes the operation
 14546  // fail if the object's ETag matches the given value. This is useful for
 14547  // getting updates only after the object has changed since the last
 14548  // request. Use googleapi.IsNotModified to check whether the response
 14549  // error from Do is the result of In-None-Match.
 14550  func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
 14551  	c.ifNoneMatch_ = entityTag
 14552  	return c
 14553  }
 14554  
 14555  // Context sets the context to be used in this call's Do method. Any
 14556  // pending HTTP request will be aborted if the provided context is
 14557  // canceled.
 14558  func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
 14559  	c.ctx_ = ctx
 14560  	return c
 14561  }
 14562  
 14563  // Header returns an http.Header that can be modified by the caller to
 14564  // add HTTP headers to the request.
 14565  func (c *AccountUserProfilesGetCall) Header() http.Header {
 14566  	if c.header_ == nil {
 14567  		c.header_ = make(http.Header)
 14568  	}
 14569  	return c.header_
 14570  }
 14571  
 14572  func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 14573  	reqHeaders := make(http.Header)
 14574  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14575  	for k, v := range c.header_ {
 14576  		reqHeaders[k] = v
 14577  	}
 14578  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14579  	if c.ifNoneMatch_ != "" {
 14580  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14581  	}
 14582  	var body io.Reader = nil
 14583  	c.urlParams_.Set("alt", alt)
 14584  	c.urlParams_.Set("prettyPrint", "false")
 14585  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
 14586  	urls += "?" + c.urlParams_.Encode()
 14587  	req, err := http.NewRequest("GET", urls, body)
 14588  	if err != nil {
 14589  		return nil, err
 14590  	}
 14591  	req.Header = reqHeaders
 14592  	googleapi.Expand(req.URL, map[string]string{
 14593  		"profileId": strconv.FormatInt(c.profileId, 10),
 14594  		"id":        strconv.FormatInt(c.id, 10),
 14595  	})
 14596  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14597  }
 14598  
 14599  // Do executes the "dfareporting.accountUserProfiles.get" call.
 14600  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 14601  // non-2xx status code is an error. Response headers are in either
 14602  // *AccountUserProfile.ServerResponse.Header or (if a response was
 14603  // returned at all) in error.(*googleapi.Error).Header. Use
 14604  // googleapi.IsNotModified to check whether the returned error was
 14605  // because http.StatusNotModified was returned.
 14606  func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 14607  	gensupport.SetOptions(c.urlParams_, opts...)
 14608  	res, err := c.doRequest("json")
 14609  	if res != nil && res.StatusCode == http.StatusNotModified {
 14610  		if res.Body != nil {
 14611  			res.Body.Close()
 14612  		}
 14613  		return nil, &googleapi.Error{
 14614  			Code:   res.StatusCode,
 14615  			Header: res.Header,
 14616  		}
 14617  	}
 14618  	if err != nil {
 14619  		return nil, err
 14620  	}
 14621  	defer googleapi.CloseBody(res)
 14622  	if err := googleapi.CheckResponse(res); err != nil {
 14623  		return nil, err
 14624  	}
 14625  	ret := &AccountUserProfile{
 14626  		ServerResponse: googleapi.ServerResponse{
 14627  			Header:         res.Header,
 14628  			HTTPStatusCode: res.StatusCode,
 14629  		},
 14630  	}
 14631  	target := &ret
 14632  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14633  		return nil, err
 14634  	}
 14635  	return ret, nil
 14636  	// {
 14637  	//   "description": "Gets one account user profile by ID.",
 14638  	//   "httpMethod": "GET",
 14639  	//   "id": "dfareporting.accountUserProfiles.get",
 14640  	//   "parameterOrder": [
 14641  	//     "profileId",
 14642  	//     "id"
 14643  	//   ],
 14644  	//   "parameters": {
 14645  	//     "id": {
 14646  	//       "description": "User profile ID.",
 14647  	//       "format": "int64",
 14648  	//       "location": "path",
 14649  	//       "required": true,
 14650  	//       "type": "string"
 14651  	//     },
 14652  	//     "profileId": {
 14653  	//       "description": "User profile ID associated with this request.",
 14654  	//       "format": "int64",
 14655  	//       "location": "path",
 14656  	//       "required": true,
 14657  	//       "type": "string"
 14658  	//     }
 14659  	//   },
 14660  	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
 14661  	//   "response": {
 14662  	//     "$ref": "AccountUserProfile"
 14663  	//   },
 14664  	//   "scopes": [
 14665  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14666  	//   ]
 14667  	// }
 14668  
 14669  }
 14670  
 14671  // method id "dfareporting.accountUserProfiles.insert":
 14672  
 14673  type AccountUserProfilesInsertCall struct {
 14674  	s                  *Service
 14675  	profileId          int64
 14676  	accountuserprofile *AccountUserProfile
 14677  	urlParams_         gensupport.URLParams
 14678  	ctx_               context.Context
 14679  	header_            http.Header
 14680  }
 14681  
 14682  // Insert: Inserts a new account user profile.
 14683  func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
 14684  	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14685  	c.profileId = profileId
 14686  	c.accountuserprofile = accountuserprofile
 14687  	return c
 14688  }
 14689  
 14690  // Fields allows partial responses to be retrieved. See
 14691  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14692  // for more information.
 14693  func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
 14694  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14695  	return c
 14696  }
 14697  
 14698  // Context sets the context to be used in this call's Do method. Any
 14699  // pending HTTP request will be aborted if the provided context is
 14700  // canceled.
 14701  func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
 14702  	c.ctx_ = ctx
 14703  	return c
 14704  }
 14705  
 14706  // Header returns an http.Header that can be modified by the caller to
 14707  // add HTTP headers to the request.
 14708  func (c *AccountUserProfilesInsertCall) Header() http.Header {
 14709  	if c.header_ == nil {
 14710  		c.header_ = make(http.Header)
 14711  	}
 14712  	return c.header_
 14713  }
 14714  
 14715  func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
 14716  	reqHeaders := make(http.Header)
 14717  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14718  	for k, v := range c.header_ {
 14719  		reqHeaders[k] = v
 14720  	}
 14721  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14722  	var body io.Reader = nil
 14723  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 14724  	if err != nil {
 14725  		return nil, err
 14726  	}
 14727  	reqHeaders.Set("Content-Type", "application/json")
 14728  	c.urlParams_.Set("alt", alt)
 14729  	c.urlParams_.Set("prettyPrint", "false")
 14730  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 14731  	urls += "?" + c.urlParams_.Encode()
 14732  	req, err := http.NewRequest("POST", urls, body)
 14733  	if err != nil {
 14734  		return nil, err
 14735  	}
 14736  	req.Header = reqHeaders
 14737  	googleapi.Expand(req.URL, map[string]string{
 14738  		"profileId": strconv.FormatInt(c.profileId, 10),
 14739  	})
 14740  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14741  }
 14742  
 14743  // Do executes the "dfareporting.accountUserProfiles.insert" call.
 14744  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 14745  // non-2xx status code is an error. Response headers are in either
 14746  // *AccountUserProfile.ServerResponse.Header or (if a response was
 14747  // returned at all) in error.(*googleapi.Error).Header. Use
 14748  // googleapi.IsNotModified to check whether the returned error was
 14749  // because http.StatusNotModified was returned.
 14750  func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 14751  	gensupport.SetOptions(c.urlParams_, opts...)
 14752  	res, err := c.doRequest("json")
 14753  	if res != nil && res.StatusCode == http.StatusNotModified {
 14754  		if res.Body != nil {
 14755  			res.Body.Close()
 14756  		}
 14757  		return nil, &googleapi.Error{
 14758  			Code:   res.StatusCode,
 14759  			Header: res.Header,
 14760  		}
 14761  	}
 14762  	if err != nil {
 14763  		return nil, err
 14764  	}
 14765  	defer googleapi.CloseBody(res)
 14766  	if err := googleapi.CheckResponse(res); err != nil {
 14767  		return nil, err
 14768  	}
 14769  	ret := &AccountUserProfile{
 14770  		ServerResponse: googleapi.ServerResponse{
 14771  			Header:         res.Header,
 14772  			HTTPStatusCode: res.StatusCode,
 14773  		},
 14774  	}
 14775  	target := &ret
 14776  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14777  		return nil, err
 14778  	}
 14779  	return ret, nil
 14780  	// {
 14781  	//   "description": "Inserts a new account user profile.",
 14782  	//   "httpMethod": "POST",
 14783  	//   "id": "dfareporting.accountUserProfiles.insert",
 14784  	//   "parameterOrder": [
 14785  	//     "profileId"
 14786  	//   ],
 14787  	//   "parameters": {
 14788  	//     "profileId": {
 14789  	//       "description": "User profile ID associated with this request.",
 14790  	//       "format": "int64",
 14791  	//       "location": "path",
 14792  	//       "required": true,
 14793  	//       "type": "string"
 14794  	//     }
 14795  	//   },
 14796  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 14797  	//   "request": {
 14798  	//     "$ref": "AccountUserProfile"
 14799  	//   },
 14800  	//   "response": {
 14801  	//     "$ref": "AccountUserProfile"
 14802  	//   },
 14803  	//   "scopes": [
 14804  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14805  	//   ]
 14806  	// }
 14807  
 14808  }
 14809  
 14810  // method id "dfareporting.accountUserProfiles.list":
 14811  
 14812  type AccountUserProfilesListCall struct {
 14813  	s            *Service
 14814  	profileId    int64
 14815  	urlParams_   gensupport.URLParams
 14816  	ifNoneMatch_ string
 14817  	ctx_         context.Context
 14818  	header_      http.Header
 14819  }
 14820  
 14821  // List: Retrieves a list of account user profiles, possibly filtered.
 14822  // This method supports paging.
 14823  func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
 14824  	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14825  	c.profileId = profileId
 14826  	return c
 14827  }
 14828  
 14829  // Active sets the optional parameter "active": Select only active user
 14830  // profiles.
 14831  func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
 14832  	c.urlParams_.Set("active", fmt.Sprint(active))
 14833  	return c
 14834  }
 14835  
 14836  // Ids sets the optional parameter "ids": Select only user profiles with
 14837  // these IDs.
 14838  func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
 14839  	var ids_ []string
 14840  	for _, v := range ids {
 14841  		ids_ = append(ids_, fmt.Sprint(v))
 14842  	}
 14843  	c.urlParams_.SetMulti("ids", ids_)
 14844  	return c
 14845  }
 14846  
 14847  // MaxResults sets the optional parameter "maxResults": Maximum number
 14848  // of results to return.
 14849  func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
 14850  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 14851  	return c
 14852  }
 14853  
 14854  // PageToken sets the optional parameter "pageToken": Value of the
 14855  // nextPageToken from the previous result page.
 14856  func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
 14857  	c.urlParams_.Set("pageToken", pageToken)
 14858  	return c
 14859  }
 14860  
 14861  // SearchString sets the optional parameter "searchString": Allows
 14862  // searching for objects by name, ID or email. Wildcards (*) are
 14863  // allowed. For example, "user profile*2015" will return objects with
 14864  // names like "user profile June 2015", "user profile April 2015", or
 14865  // simply "user profile 2015". Most of the searches also add wildcards
 14866  // implicitly at the start and the end of the search string. For
 14867  // example, a search string of "user profile" will match objects with
 14868  // name "my user profile", "user profile 2015", or simply "user
 14869  // profile".
 14870  func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
 14871  	c.urlParams_.Set("searchString", searchString)
 14872  	return c
 14873  }
 14874  
 14875  // SortField sets the optional parameter "sortField": Field by which to
 14876  // sort the list.
 14877  //
 14878  // Possible values:
 14879  //
 14880  //	"ID" (default)
 14881  //	"NAME"
 14882  func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
 14883  	c.urlParams_.Set("sortField", sortField)
 14884  	return c
 14885  }
 14886  
 14887  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 14888  // results.
 14889  //
 14890  // Possible values:
 14891  //
 14892  //	"ASCENDING" (default)
 14893  //	"DESCENDING"
 14894  func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
 14895  	c.urlParams_.Set("sortOrder", sortOrder)
 14896  	return c
 14897  }
 14898  
 14899  // SubaccountId sets the optional parameter "subaccountId": Select only
 14900  // user profiles with the specified subaccount ID.
 14901  func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
 14902  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 14903  	return c
 14904  }
 14905  
 14906  // UserRoleId sets the optional parameter "userRoleId": Select only user
 14907  // profiles with the specified user role ID.
 14908  func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
 14909  	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
 14910  	return c
 14911  }
 14912  
 14913  // Fields allows partial responses to be retrieved. See
 14914  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14915  // for more information.
 14916  func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
 14917  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14918  	return c
 14919  }
 14920  
 14921  // IfNoneMatch sets the optional parameter which makes the operation
 14922  // fail if the object's ETag matches the given value. This is useful for
 14923  // getting updates only after the object has changed since the last
 14924  // request. Use googleapi.IsNotModified to check whether the response
 14925  // error from Do is the result of In-None-Match.
 14926  func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
 14927  	c.ifNoneMatch_ = entityTag
 14928  	return c
 14929  }
 14930  
 14931  // Context sets the context to be used in this call's Do method. Any
 14932  // pending HTTP request will be aborted if the provided context is
 14933  // canceled.
 14934  func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
 14935  	c.ctx_ = ctx
 14936  	return c
 14937  }
 14938  
 14939  // Header returns an http.Header that can be modified by the caller to
 14940  // add HTTP headers to the request.
 14941  func (c *AccountUserProfilesListCall) Header() http.Header {
 14942  	if c.header_ == nil {
 14943  		c.header_ = make(http.Header)
 14944  	}
 14945  	return c.header_
 14946  }
 14947  
 14948  func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 14949  	reqHeaders := make(http.Header)
 14950  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14951  	for k, v := range c.header_ {
 14952  		reqHeaders[k] = v
 14953  	}
 14954  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14955  	if c.ifNoneMatch_ != "" {
 14956  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14957  	}
 14958  	var body io.Reader = nil
 14959  	c.urlParams_.Set("alt", alt)
 14960  	c.urlParams_.Set("prettyPrint", "false")
 14961  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 14962  	urls += "?" + c.urlParams_.Encode()
 14963  	req, err := http.NewRequest("GET", urls, body)
 14964  	if err != nil {
 14965  		return nil, err
 14966  	}
 14967  	req.Header = reqHeaders
 14968  	googleapi.Expand(req.URL, map[string]string{
 14969  		"profileId": strconv.FormatInt(c.profileId, 10),
 14970  	})
 14971  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14972  }
 14973  
 14974  // Do executes the "dfareporting.accountUserProfiles.list" call.
 14975  // Exactly one of *AccountUserProfilesListResponse or error will be
 14976  // non-nil. Any non-2xx status code is an error. Response headers are in
 14977  // either *AccountUserProfilesListResponse.ServerResponse.Header or (if
 14978  // a response was returned at all) in error.(*googleapi.Error).Header.
 14979  // Use googleapi.IsNotModified to check whether the returned error was
 14980  // because http.StatusNotModified was returned.
 14981  func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
 14982  	gensupport.SetOptions(c.urlParams_, opts...)
 14983  	res, err := c.doRequest("json")
 14984  	if res != nil && res.StatusCode == http.StatusNotModified {
 14985  		if res.Body != nil {
 14986  			res.Body.Close()
 14987  		}
 14988  		return nil, &googleapi.Error{
 14989  			Code:   res.StatusCode,
 14990  			Header: res.Header,
 14991  		}
 14992  	}
 14993  	if err != nil {
 14994  		return nil, err
 14995  	}
 14996  	defer googleapi.CloseBody(res)
 14997  	if err := googleapi.CheckResponse(res); err != nil {
 14998  		return nil, err
 14999  	}
 15000  	ret := &AccountUserProfilesListResponse{
 15001  		ServerResponse: googleapi.ServerResponse{
 15002  			Header:         res.Header,
 15003  			HTTPStatusCode: res.StatusCode,
 15004  		},
 15005  	}
 15006  	target := &ret
 15007  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15008  		return nil, err
 15009  	}
 15010  	return ret, nil
 15011  	// {
 15012  	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
 15013  	//   "httpMethod": "GET",
 15014  	//   "id": "dfareporting.accountUserProfiles.list",
 15015  	//   "parameterOrder": [
 15016  	//     "profileId"
 15017  	//   ],
 15018  	//   "parameters": {
 15019  	//     "active": {
 15020  	//       "description": "Select only active user profiles.",
 15021  	//       "location": "query",
 15022  	//       "type": "boolean"
 15023  	//     },
 15024  	//     "ids": {
 15025  	//       "description": "Select only user profiles with these IDs.",
 15026  	//       "format": "int64",
 15027  	//       "location": "query",
 15028  	//       "repeated": true,
 15029  	//       "type": "string"
 15030  	//     },
 15031  	//     "maxResults": {
 15032  	//       "default": "1000",
 15033  	//       "description": "Maximum number of results to return.",
 15034  	//       "format": "int32",
 15035  	//       "location": "query",
 15036  	//       "maximum": "1000",
 15037  	//       "minimum": "0",
 15038  	//       "type": "integer"
 15039  	//     },
 15040  	//     "pageToken": {
 15041  	//       "description": "Value of the nextPageToken from the previous result page.",
 15042  	//       "location": "query",
 15043  	//       "type": "string"
 15044  	//     },
 15045  	//     "profileId": {
 15046  	//       "description": "User profile ID associated with this request.",
 15047  	//       "format": "int64",
 15048  	//       "location": "path",
 15049  	//       "required": true,
 15050  	//       "type": "string"
 15051  	//     },
 15052  	//     "searchString": {
 15053  	//       "description": "Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, \"user profile*2015\" will return objects with names like \"user profile June 2015\", \"user profile April 2015\", or simply \"user profile 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"user profile\" will match objects with name \"my user profile\", \"user profile 2015\", or simply \"user profile\".",
 15054  	//       "location": "query",
 15055  	//       "type": "string"
 15056  	//     },
 15057  	//     "sortField": {
 15058  	//       "default": "ID",
 15059  	//       "description": "Field by which to sort the list.",
 15060  	//       "enum": [
 15061  	//         "ID",
 15062  	//         "NAME"
 15063  	//       ],
 15064  	//       "enumDescriptions": [
 15065  	//         "",
 15066  	//         ""
 15067  	//       ],
 15068  	//       "location": "query",
 15069  	//       "type": "string"
 15070  	//     },
 15071  	//     "sortOrder": {
 15072  	//       "default": "ASCENDING",
 15073  	//       "description": "Order of sorted results.",
 15074  	//       "enum": [
 15075  	//         "ASCENDING",
 15076  	//         "DESCENDING"
 15077  	//       ],
 15078  	//       "enumDescriptions": [
 15079  	//         "",
 15080  	//         ""
 15081  	//       ],
 15082  	//       "location": "query",
 15083  	//       "type": "string"
 15084  	//     },
 15085  	//     "subaccountId": {
 15086  	//       "description": "Select only user profiles with the specified subaccount ID.",
 15087  	//       "format": "int64",
 15088  	//       "location": "query",
 15089  	//       "type": "string"
 15090  	//     },
 15091  	//     "userRoleId": {
 15092  	//       "description": "Select only user profiles with the specified user role ID.",
 15093  	//       "format": "int64",
 15094  	//       "location": "query",
 15095  	//       "type": "string"
 15096  	//     }
 15097  	//   },
 15098  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15099  	//   "response": {
 15100  	//     "$ref": "AccountUserProfilesListResponse"
 15101  	//   },
 15102  	//   "scopes": [
 15103  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15104  	//   ]
 15105  	// }
 15106  
 15107  }
 15108  
 15109  // Pages invokes f for each page of results.
 15110  // A non-nil error returned from f will halt the iteration.
 15111  // The provided context supersedes any context provided to the Context method.
 15112  func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
 15113  	c.ctx_ = ctx
 15114  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 15115  	for {
 15116  		x, err := c.Do()
 15117  		if err != nil {
 15118  			return err
 15119  		}
 15120  		if err := f(x); err != nil {
 15121  			return err
 15122  		}
 15123  		if x.NextPageToken == "" {
 15124  			return nil
 15125  		}
 15126  		c.PageToken(x.NextPageToken)
 15127  	}
 15128  }
 15129  
 15130  // method id "dfareporting.accountUserProfiles.patch":
 15131  
 15132  type AccountUserProfilesPatchCall struct {
 15133  	s                  *Service
 15134  	profileId          int64
 15135  	accountuserprofile *AccountUserProfile
 15136  	urlParams_         gensupport.URLParams
 15137  	ctx_               context.Context
 15138  	header_            http.Header
 15139  }
 15140  
 15141  // Patch: Updates an existing account user profile. This method supports
 15142  // patch semantics.
 15143  func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
 15144  	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15145  	c.profileId = profileId
 15146  	c.urlParams_.Set("id", fmt.Sprint(id))
 15147  	c.accountuserprofile = accountuserprofile
 15148  	return c
 15149  }
 15150  
 15151  // Fields allows partial responses to be retrieved. See
 15152  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15153  // for more information.
 15154  func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
 15155  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15156  	return c
 15157  }
 15158  
 15159  // Context sets the context to be used in this call's Do method. Any
 15160  // pending HTTP request will be aborted if the provided context is
 15161  // canceled.
 15162  func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
 15163  	c.ctx_ = ctx
 15164  	return c
 15165  }
 15166  
 15167  // Header returns an http.Header that can be modified by the caller to
 15168  // add HTTP headers to the request.
 15169  func (c *AccountUserProfilesPatchCall) Header() http.Header {
 15170  	if c.header_ == nil {
 15171  		c.header_ = make(http.Header)
 15172  	}
 15173  	return c.header_
 15174  }
 15175  
 15176  func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 15177  	reqHeaders := make(http.Header)
 15178  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15179  	for k, v := range c.header_ {
 15180  		reqHeaders[k] = v
 15181  	}
 15182  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15183  	var body io.Reader = nil
 15184  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15185  	if err != nil {
 15186  		return nil, err
 15187  	}
 15188  	reqHeaders.Set("Content-Type", "application/json")
 15189  	c.urlParams_.Set("alt", alt)
 15190  	c.urlParams_.Set("prettyPrint", "false")
 15191  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15192  	urls += "?" + c.urlParams_.Encode()
 15193  	req, err := http.NewRequest("PATCH", urls, body)
 15194  	if err != nil {
 15195  		return nil, err
 15196  	}
 15197  	req.Header = reqHeaders
 15198  	googleapi.Expand(req.URL, map[string]string{
 15199  		"profileId": strconv.FormatInt(c.profileId, 10),
 15200  	})
 15201  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15202  }
 15203  
 15204  // Do executes the "dfareporting.accountUserProfiles.patch" call.
 15205  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15206  // non-2xx status code is an error. Response headers are in either
 15207  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15208  // returned at all) in error.(*googleapi.Error).Header. Use
 15209  // googleapi.IsNotModified to check whether the returned error was
 15210  // because http.StatusNotModified was returned.
 15211  func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15212  	gensupport.SetOptions(c.urlParams_, opts...)
 15213  	res, err := c.doRequest("json")
 15214  	if res != nil && res.StatusCode == http.StatusNotModified {
 15215  		if res.Body != nil {
 15216  			res.Body.Close()
 15217  		}
 15218  		return nil, &googleapi.Error{
 15219  			Code:   res.StatusCode,
 15220  			Header: res.Header,
 15221  		}
 15222  	}
 15223  	if err != nil {
 15224  		return nil, err
 15225  	}
 15226  	defer googleapi.CloseBody(res)
 15227  	if err := googleapi.CheckResponse(res); err != nil {
 15228  		return nil, err
 15229  	}
 15230  	ret := &AccountUserProfile{
 15231  		ServerResponse: googleapi.ServerResponse{
 15232  			Header:         res.Header,
 15233  			HTTPStatusCode: res.StatusCode,
 15234  		},
 15235  	}
 15236  	target := &ret
 15237  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15238  		return nil, err
 15239  	}
 15240  	return ret, nil
 15241  	// {
 15242  	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
 15243  	//   "httpMethod": "PATCH",
 15244  	//   "id": "dfareporting.accountUserProfiles.patch",
 15245  	//   "parameterOrder": [
 15246  	//     "profileId",
 15247  	//     "id"
 15248  	//   ],
 15249  	//   "parameters": {
 15250  	//     "id": {
 15251  	//       "description": "User profile ID.",
 15252  	//       "format": "int64",
 15253  	//       "location": "query",
 15254  	//       "required": true,
 15255  	//       "type": "string"
 15256  	//     },
 15257  	//     "profileId": {
 15258  	//       "description": "User profile ID associated with this request.",
 15259  	//       "format": "int64",
 15260  	//       "location": "path",
 15261  	//       "required": true,
 15262  	//       "type": "string"
 15263  	//     }
 15264  	//   },
 15265  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15266  	//   "request": {
 15267  	//     "$ref": "AccountUserProfile"
 15268  	//   },
 15269  	//   "response": {
 15270  	//     "$ref": "AccountUserProfile"
 15271  	//   },
 15272  	//   "scopes": [
 15273  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15274  	//   ]
 15275  	// }
 15276  
 15277  }
 15278  
 15279  // method id "dfareporting.accountUserProfiles.update":
 15280  
 15281  type AccountUserProfilesUpdateCall struct {
 15282  	s                  *Service
 15283  	profileId          int64
 15284  	accountuserprofile *AccountUserProfile
 15285  	urlParams_         gensupport.URLParams
 15286  	ctx_               context.Context
 15287  	header_            http.Header
 15288  }
 15289  
 15290  // Update: Updates an existing account user profile.
 15291  func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
 15292  	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15293  	c.profileId = profileId
 15294  	c.accountuserprofile = accountuserprofile
 15295  	return c
 15296  }
 15297  
 15298  // Fields allows partial responses to be retrieved. See
 15299  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15300  // for more information.
 15301  func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
 15302  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15303  	return c
 15304  }
 15305  
 15306  // Context sets the context to be used in this call's Do method. Any
 15307  // pending HTTP request will be aborted if the provided context is
 15308  // canceled.
 15309  func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
 15310  	c.ctx_ = ctx
 15311  	return c
 15312  }
 15313  
 15314  // Header returns an http.Header that can be modified by the caller to
 15315  // add HTTP headers to the request.
 15316  func (c *AccountUserProfilesUpdateCall) Header() http.Header {
 15317  	if c.header_ == nil {
 15318  		c.header_ = make(http.Header)
 15319  	}
 15320  	return c.header_
 15321  }
 15322  
 15323  func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 15324  	reqHeaders := make(http.Header)
 15325  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15326  	for k, v := range c.header_ {
 15327  		reqHeaders[k] = v
 15328  	}
 15329  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15330  	var body io.Reader = nil
 15331  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15332  	if err != nil {
 15333  		return nil, err
 15334  	}
 15335  	reqHeaders.Set("Content-Type", "application/json")
 15336  	c.urlParams_.Set("alt", alt)
 15337  	c.urlParams_.Set("prettyPrint", "false")
 15338  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15339  	urls += "?" + c.urlParams_.Encode()
 15340  	req, err := http.NewRequest("PUT", urls, body)
 15341  	if err != nil {
 15342  		return nil, err
 15343  	}
 15344  	req.Header = reqHeaders
 15345  	googleapi.Expand(req.URL, map[string]string{
 15346  		"profileId": strconv.FormatInt(c.profileId, 10),
 15347  	})
 15348  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15349  }
 15350  
 15351  // Do executes the "dfareporting.accountUserProfiles.update" call.
 15352  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15353  // non-2xx status code is an error. Response headers are in either
 15354  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15355  // returned at all) in error.(*googleapi.Error).Header. Use
 15356  // googleapi.IsNotModified to check whether the returned error was
 15357  // because http.StatusNotModified was returned.
 15358  func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15359  	gensupport.SetOptions(c.urlParams_, opts...)
 15360  	res, err := c.doRequest("json")
 15361  	if res != nil && res.StatusCode == http.StatusNotModified {
 15362  		if res.Body != nil {
 15363  			res.Body.Close()
 15364  		}
 15365  		return nil, &googleapi.Error{
 15366  			Code:   res.StatusCode,
 15367  			Header: res.Header,
 15368  		}
 15369  	}
 15370  	if err != nil {
 15371  		return nil, err
 15372  	}
 15373  	defer googleapi.CloseBody(res)
 15374  	if err := googleapi.CheckResponse(res); err != nil {
 15375  		return nil, err
 15376  	}
 15377  	ret := &AccountUserProfile{
 15378  		ServerResponse: googleapi.ServerResponse{
 15379  			Header:         res.Header,
 15380  			HTTPStatusCode: res.StatusCode,
 15381  		},
 15382  	}
 15383  	target := &ret
 15384  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15385  		return nil, err
 15386  	}
 15387  	return ret, nil
 15388  	// {
 15389  	//   "description": "Updates an existing account user profile.",
 15390  	//   "httpMethod": "PUT",
 15391  	//   "id": "dfareporting.accountUserProfiles.update",
 15392  	//   "parameterOrder": [
 15393  	//     "profileId"
 15394  	//   ],
 15395  	//   "parameters": {
 15396  	//     "profileId": {
 15397  	//       "description": "User profile ID associated with this request.",
 15398  	//       "format": "int64",
 15399  	//       "location": "path",
 15400  	//       "required": true,
 15401  	//       "type": "string"
 15402  	//     }
 15403  	//   },
 15404  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15405  	//   "request": {
 15406  	//     "$ref": "AccountUserProfile"
 15407  	//   },
 15408  	//   "response": {
 15409  	//     "$ref": "AccountUserProfile"
 15410  	//   },
 15411  	//   "scopes": [
 15412  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15413  	//   ]
 15414  	// }
 15415  
 15416  }
 15417  
 15418  // method id "dfareporting.accounts.get":
 15419  
 15420  type AccountsGetCall struct {
 15421  	s            *Service
 15422  	profileId    int64
 15423  	id           int64
 15424  	urlParams_   gensupport.URLParams
 15425  	ifNoneMatch_ string
 15426  	ctx_         context.Context
 15427  	header_      http.Header
 15428  }
 15429  
 15430  // Get: Gets one account by ID.
 15431  func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
 15432  	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15433  	c.profileId = profileId
 15434  	c.id = id
 15435  	return c
 15436  }
 15437  
 15438  // Fields allows partial responses to be retrieved. See
 15439  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15440  // for more information.
 15441  func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
 15442  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15443  	return c
 15444  }
 15445  
 15446  // IfNoneMatch sets the optional parameter which makes the operation
 15447  // fail if the object's ETag matches the given value. This is useful for
 15448  // getting updates only after the object has changed since the last
 15449  // request. Use googleapi.IsNotModified to check whether the response
 15450  // error from Do is the result of In-None-Match.
 15451  func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
 15452  	c.ifNoneMatch_ = entityTag
 15453  	return c
 15454  }
 15455  
 15456  // Context sets the context to be used in this call's Do method. Any
 15457  // pending HTTP request will be aborted if the provided context is
 15458  // canceled.
 15459  func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 15460  	c.ctx_ = ctx
 15461  	return c
 15462  }
 15463  
 15464  // Header returns an http.Header that can be modified by the caller to
 15465  // add HTTP headers to the request.
 15466  func (c *AccountsGetCall) Header() http.Header {
 15467  	if c.header_ == nil {
 15468  		c.header_ = make(http.Header)
 15469  	}
 15470  	return c.header_
 15471  }
 15472  
 15473  func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 15474  	reqHeaders := make(http.Header)
 15475  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15476  	for k, v := range c.header_ {
 15477  		reqHeaders[k] = v
 15478  	}
 15479  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15480  	if c.ifNoneMatch_ != "" {
 15481  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15482  	}
 15483  	var body io.Reader = nil
 15484  	c.urlParams_.Set("alt", alt)
 15485  	c.urlParams_.Set("prettyPrint", "false")
 15486  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
 15487  	urls += "?" + c.urlParams_.Encode()
 15488  	req, err := http.NewRequest("GET", urls, body)
 15489  	if err != nil {
 15490  		return nil, err
 15491  	}
 15492  	req.Header = reqHeaders
 15493  	googleapi.Expand(req.URL, map[string]string{
 15494  		"profileId": strconv.FormatInt(c.profileId, 10),
 15495  		"id":        strconv.FormatInt(c.id, 10),
 15496  	})
 15497  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15498  }
 15499  
 15500  // Do executes the "dfareporting.accounts.get" call.
 15501  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 15502  // code is an error. Response headers are in either
 15503  // *Account.ServerResponse.Header or (if a response was returned at all)
 15504  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 15505  // check whether the returned error was because http.StatusNotModified
 15506  // was returned.
 15507  func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 15508  	gensupport.SetOptions(c.urlParams_, opts...)
 15509  	res, err := c.doRequest("json")
 15510  	if res != nil && res.StatusCode == http.StatusNotModified {
 15511  		if res.Body != nil {
 15512  			res.Body.Close()
 15513  		}
 15514  		return nil, &googleapi.Error{
 15515  			Code:   res.StatusCode,
 15516  			Header: res.Header,
 15517  		}
 15518  	}
 15519  	if err != nil {
 15520  		return nil, err
 15521  	}
 15522  	defer googleapi.CloseBody(res)
 15523  	if err := googleapi.CheckResponse(res); err != nil {
 15524  		return nil, err
 15525  	}
 15526  	ret := &Account{
 15527  		ServerResponse: googleapi.ServerResponse{
 15528  			Header:         res.Header,
 15529  			HTTPStatusCode: res.StatusCode,
 15530  		},
 15531  	}
 15532  	target := &ret
 15533  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15534  		return nil, err
 15535  	}
 15536  	return ret, nil
 15537  	// {
 15538  	//   "description": "Gets one account by ID.",
 15539  	//   "httpMethod": "GET",
 15540  	//   "id": "dfareporting.accounts.get",
 15541  	//   "parameterOrder": [
 15542  	//     "profileId",
 15543  	//     "id"
 15544  	//   ],
 15545  	//   "parameters": {
 15546  	//     "id": {
 15547  	//       "description": "Account ID.",
 15548  	//       "format": "int64",
 15549  	//       "location": "path",
 15550  	//       "required": true,
 15551  	//       "type": "string"
 15552  	//     },
 15553  	//     "profileId": {
 15554  	//       "description": "User profile ID associated with this request.",
 15555  	//       "format": "int64",
 15556  	//       "location": "path",
 15557  	//       "required": true,
 15558  	//       "type": "string"
 15559  	//     }
 15560  	//   },
 15561  	//   "path": "userprofiles/{profileId}/accounts/{id}",
 15562  	//   "response": {
 15563  	//     "$ref": "Account"
 15564  	//   },
 15565  	//   "scopes": [
 15566  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15567  	//   ]
 15568  	// }
 15569  
 15570  }
 15571  
 15572  // method id "dfareporting.accounts.list":
 15573  
 15574  type AccountsListCall struct {
 15575  	s            *Service
 15576  	profileId    int64
 15577  	urlParams_   gensupport.URLParams
 15578  	ifNoneMatch_ string
 15579  	ctx_         context.Context
 15580  	header_      http.Header
 15581  }
 15582  
 15583  // List: Retrieves the list of accounts, possibly filtered. This method
 15584  // supports paging.
 15585  func (r *AccountsService) List(profileId int64) *AccountsListCall {
 15586  	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15587  	c.profileId = profileId
 15588  	return c
 15589  }
 15590  
 15591  // Active sets the optional parameter "active": Select only active
 15592  // accounts. Don't set this field to select both active and non-active
 15593  // accounts.
 15594  func (c *AccountsListCall) Active(active bool) *AccountsListCall {
 15595  	c.urlParams_.Set("active", fmt.Sprint(active))
 15596  	return c
 15597  }
 15598  
 15599  // Ids sets the optional parameter "ids": Select only accounts with
 15600  // these IDs.
 15601  func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
 15602  	var ids_ []string
 15603  	for _, v := range ids {
 15604  		ids_ = append(ids_, fmt.Sprint(v))
 15605  	}
 15606  	c.urlParams_.SetMulti("ids", ids_)
 15607  	return c
 15608  }
 15609  
 15610  // MaxResults sets the optional parameter "maxResults": Maximum number
 15611  // of results to return.
 15612  func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
 15613  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 15614  	return c
 15615  }
 15616  
 15617  // PageToken sets the optional parameter "pageToken": Value of the
 15618  // nextPageToken from the previous result page.
 15619  func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
 15620  	c.urlParams_.Set("pageToken", pageToken)
 15621  	return c
 15622  }
 15623  
 15624  // SearchString sets the optional parameter "searchString": Allows
 15625  // searching for objects by name or ID. Wildcards (*) are allowed. For
 15626  // example, "account*2015" will return objects with names like "account
 15627  // June 2015", "account April 2015", or simply "account 2015". Most of
 15628  // the searches also add wildcards implicitly at the start and the end
 15629  // of the search string. For example, a search string of "account" will
 15630  // match objects with name "my account", "account 2015", or simply
 15631  // "account".
 15632  func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
 15633  	c.urlParams_.Set("searchString", searchString)
 15634  	return c
 15635  }
 15636  
 15637  // SortField sets the optional parameter "sortField": Field by which to
 15638  // sort the list.
 15639  //
 15640  // Possible values:
 15641  //
 15642  //	"ID" (default)
 15643  //	"NAME"
 15644  func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
 15645  	c.urlParams_.Set("sortField", sortField)
 15646  	return c
 15647  }
 15648  
 15649  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 15650  // results.
 15651  //
 15652  // Possible values:
 15653  //
 15654  //	"ASCENDING" (default)
 15655  //	"DESCENDING"
 15656  func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
 15657  	c.urlParams_.Set("sortOrder", sortOrder)
 15658  	return c
 15659  }
 15660  
 15661  // Fields allows partial responses to be retrieved. See
 15662  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15663  // for more information.
 15664  func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
 15665  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15666  	return c
 15667  }
 15668  
 15669  // IfNoneMatch sets the optional parameter which makes the operation
 15670  // fail if the object's ETag matches the given value. This is useful for
 15671  // getting updates only after the object has changed since the last
 15672  // request. Use googleapi.IsNotModified to check whether the response
 15673  // error from Do is the result of In-None-Match.
 15674  func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
 15675  	c.ifNoneMatch_ = entityTag
 15676  	return c
 15677  }
 15678  
 15679  // Context sets the context to be used in this call's Do method. Any
 15680  // pending HTTP request will be aborted if the provided context is
 15681  // canceled.
 15682  func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 15683  	c.ctx_ = ctx
 15684  	return c
 15685  }
 15686  
 15687  // Header returns an http.Header that can be modified by the caller to
 15688  // add HTTP headers to the request.
 15689  func (c *AccountsListCall) Header() http.Header {
 15690  	if c.header_ == nil {
 15691  		c.header_ = make(http.Header)
 15692  	}
 15693  	return c.header_
 15694  }
 15695  
 15696  func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 15697  	reqHeaders := make(http.Header)
 15698  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15699  	for k, v := range c.header_ {
 15700  		reqHeaders[k] = v
 15701  	}
 15702  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15703  	if c.ifNoneMatch_ != "" {
 15704  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15705  	}
 15706  	var body io.Reader = nil
 15707  	c.urlParams_.Set("alt", alt)
 15708  	c.urlParams_.Set("prettyPrint", "false")
 15709  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 15710  	urls += "?" + c.urlParams_.Encode()
 15711  	req, err := http.NewRequest("GET", urls, body)
 15712  	if err != nil {
 15713  		return nil, err
 15714  	}
 15715  	req.Header = reqHeaders
 15716  	googleapi.Expand(req.URL, map[string]string{
 15717  		"profileId": strconv.FormatInt(c.profileId, 10),
 15718  	})
 15719  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15720  }
 15721  
 15722  // Do executes the "dfareporting.accounts.list" call.
 15723  // Exactly one of *AccountsListResponse or error will be non-nil. Any
 15724  // non-2xx status code is an error. Response headers are in either
 15725  // *AccountsListResponse.ServerResponse.Header or (if a response was
 15726  // returned at all) in error.(*googleapi.Error).Header. Use
 15727  // googleapi.IsNotModified to check whether the returned error was
 15728  // because http.StatusNotModified was returned.
 15729  func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
 15730  	gensupport.SetOptions(c.urlParams_, opts...)
 15731  	res, err := c.doRequest("json")
 15732  	if res != nil && res.StatusCode == http.StatusNotModified {
 15733  		if res.Body != nil {
 15734  			res.Body.Close()
 15735  		}
 15736  		return nil, &googleapi.Error{
 15737  			Code:   res.StatusCode,
 15738  			Header: res.Header,
 15739  		}
 15740  	}
 15741  	if err != nil {
 15742  		return nil, err
 15743  	}
 15744  	defer googleapi.CloseBody(res)
 15745  	if err := googleapi.CheckResponse(res); err != nil {
 15746  		return nil, err
 15747  	}
 15748  	ret := &AccountsListResponse{
 15749  		ServerResponse: googleapi.ServerResponse{
 15750  			Header:         res.Header,
 15751  			HTTPStatusCode: res.StatusCode,
 15752  		},
 15753  	}
 15754  	target := &ret
 15755  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15756  		return nil, err
 15757  	}
 15758  	return ret, nil
 15759  	// {
 15760  	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
 15761  	//   "httpMethod": "GET",
 15762  	//   "id": "dfareporting.accounts.list",
 15763  	//   "parameterOrder": [
 15764  	//     "profileId"
 15765  	//   ],
 15766  	//   "parameters": {
 15767  	//     "active": {
 15768  	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
 15769  	//       "location": "query",
 15770  	//       "type": "boolean"
 15771  	//     },
 15772  	//     "ids": {
 15773  	//       "description": "Select only accounts with these IDs.",
 15774  	//       "format": "int64",
 15775  	//       "location": "query",
 15776  	//       "repeated": true,
 15777  	//       "type": "string"
 15778  	//     },
 15779  	//     "maxResults": {
 15780  	//       "default": "1000",
 15781  	//       "description": "Maximum number of results to return.",
 15782  	//       "format": "int32",
 15783  	//       "location": "query",
 15784  	//       "maximum": "1000",
 15785  	//       "minimum": "0",
 15786  	//       "type": "integer"
 15787  	//     },
 15788  	//     "pageToken": {
 15789  	//       "description": "Value of the nextPageToken from the previous result page.",
 15790  	//       "location": "query",
 15791  	//       "type": "string"
 15792  	//     },
 15793  	//     "profileId": {
 15794  	//       "description": "User profile ID associated with this request.",
 15795  	//       "format": "int64",
 15796  	//       "location": "path",
 15797  	//       "required": true,
 15798  	//       "type": "string"
 15799  	//     },
 15800  	//     "searchString": {
 15801  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"account*2015\" will return objects with names like \"account June 2015\", \"account April 2015\", or simply \"account 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"account\" will match objects with name \"my account\", \"account 2015\", or simply \"account\".",
 15802  	//       "location": "query",
 15803  	//       "type": "string"
 15804  	//     },
 15805  	//     "sortField": {
 15806  	//       "default": "ID",
 15807  	//       "description": "Field by which to sort the list.",
 15808  	//       "enum": [
 15809  	//         "ID",
 15810  	//         "NAME"
 15811  	//       ],
 15812  	//       "enumDescriptions": [
 15813  	//         "",
 15814  	//         ""
 15815  	//       ],
 15816  	//       "location": "query",
 15817  	//       "type": "string"
 15818  	//     },
 15819  	//     "sortOrder": {
 15820  	//       "default": "ASCENDING",
 15821  	//       "description": "Order of sorted results.",
 15822  	//       "enum": [
 15823  	//         "ASCENDING",
 15824  	//         "DESCENDING"
 15825  	//       ],
 15826  	//       "enumDescriptions": [
 15827  	//         "",
 15828  	//         ""
 15829  	//       ],
 15830  	//       "location": "query",
 15831  	//       "type": "string"
 15832  	//     }
 15833  	//   },
 15834  	//   "path": "userprofiles/{profileId}/accounts",
 15835  	//   "response": {
 15836  	//     "$ref": "AccountsListResponse"
 15837  	//   },
 15838  	//   "scopes": [
 15839  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15840  	//   ]
 15841  	// }
 15842  
 15843  }
 15844  
 15845  // Pages invokes f for each page of results.
 15846  // A non-nil error returned from f will halt the iteration.
 15847  // The provided context supersedes any context provided to the Context method.
 15848  func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
 15849  	c.ctx_ = ctx
 15850  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 15851  	for {
 15852  		x, err := c.Do()
 15853  		if err != nil {
 15854  			return err
 15855  		}
 15856  		if err := f(x); err != nil {
 15857  			return err
 15858  		}
 15859  		if x.NextPageToken == "" {
 15860  			return nil
 15861  		}
 15862  		c.PageToken(x.NextPageToken)
 15863  	}
 15864  }
 15865  
 15866  // method id "dfareporting.accounts.patch":
 15867  
 15868  type AccountsPatchCall struct {
 15869  	s          *Service
 15870  	profileId  int64
 15871  	account    *Account
 15872  	urlParams_ gensupport.URLParams
 15873  	ctx_       context.Context
 15874  	header_    http.Header
 15875  }
 15876  
 15877  // Patch: Updates an existing account. This method supports patch
 15878  // semantics.
 15879  func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
 15880  	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15881  	c.profileId = profileId
 15882  	c.urlParams_.Set("id", fmt.Sprint(id))
 15883  	c.account = account
 15884  	return c
 15885  }
 15886  
 15887  // Fields allows partial responses to be retrieved. See
 15888  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15889  // for more information.
 15890  func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
 15891  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15892  	return c
 15893  }
 15894  
 15895  // Context sets the context to be used in this call's Do method. Any
 15896  // pending HTTP request will be aborted if the provided context is
 15897  // canceled.
 15898  func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 15899  	c.ctx_ = ctx
 15900  	return c
 15901  }
 15902  
 15903  // Header returns an http.Header that can be modified by the caller to
 15904  // add HTTP headers to the request.
 15905  func (c *AccountsPatchCall) Header() http.Header {
 15906  	if c.header_ == nil {
 15907  		c.header_ = make(http.Header)
 15908  	}
 15909  	return c.header_
 15910  }
 15911  
 15912  func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 15913  	reqHeaders := make(http.Header)
 15914  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15915  	for k, v := range c.header_ {
 15916  		reqHeaders[k] = v
 15917  	}
 15918  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15919  	var body io.Reader = nil
 15920  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 15921  	if err != nil {
 15922  		return nil, err
 15923  	}
 15924  	reqHeaders.Set("Content-Type", "application/json")
 15925  	c.urlParams_.Set("alt", alt)
 15926  	c.urlParams_.Set("prettyPrint", "false")
 15927  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 15928  	urls += "?" + c.urlParams_.Encode()
 15929  	req, err := http.NewRequest("PATCH", urls, body)
 15930  	if err != nil {
 15931  		return nil, err
 15932  	}
 15933  	req.Header = reqHeaders
 15934  	googleapi.Expand(req.URL, map[string]string{
 15935  		"profileId": strconv.FormatInt(c.profileId, 10),
 15936  	})
 15937  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15938  }
 15939  
 15940  // Do executes the "dfareporting.accounts.patch" call.
 15941  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 15942  // code is an error. Response headers are in either
 15943  // *Account.ServerResponse.Header or (if a response was returned at all)
 15944  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 15945  // check whether the returned error was because http.StatusNotModified
 15946  // was returned.
 15947  func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 15948  	gensupport.SetOptions(c.urlParams_, opts...)
 15949  	res, err := c.doRequest("json")
 15950  	if res != nil && res.StatusCode == http.StatusNotModified {
 15951  		if res.Body != nil {
 15952  			res.Body.Close()
 15953  		}
 15954  		return nil, &googleapi.Error{
 15955  			Code:   res.StatusCode,
 15956  			Header: res.Header,
 15957  		}
 15958  	}
 15959  	if err != nil {
 15960  		return nil, err
 15961  	}
 15962  	defer googleapi.CloseBody(res)
 15963  	if err := googleapi.CheckResponse(res); err != nil {
 15964  		return nil, err
 15965  	}
 15966  	ret := &Account{
 15967  		ServerResponse: googleapi.ServerResponse{
 15968  			Header:         res.Header,
 15969  			HTTPStatusCode: res.StatusCode,
 15970  		},
 15971  	}
 15972  	target := &ret
 15973  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15974  		return nil, err
 15975  	}
 15976  	return ret, nil
 15977  	// {
 15978  	//   "description": "Updates an existing account. This method supports patch semantics.",
 15979  	//   "httpMethod": "PATCH",
 15980  	//   "id": "dfareporting.accounts.patch",
 15981  	//   "parameterOrder": [
 15982  	//     "profileId",
 15983  	//     "id"
 15984  	//   ],
 15985  	//   "parameters": {
 15986  	//     "id": {
 15987  	//       "description": "Account ID.",
 15988  	//       "format": "int64",
 15989  	//       "location": "query",
 15990  	//       "required": true,
 15991  	//       "type": "string"
 15992  	//     },
 15993  	//     "profileId": {
 15994  	//       "description": "User profile ID associated with this request.",
 15995  	//       "format": "int64",
 15996  	//       "location": "path",
 15997  	//       "required": true,
 15998  	//       "type": "string"
 15999  	//     }
 16000  	//   },
 16001  	//   "path": "userprofiles/{profileId}/accounts",
 16002  	//   "request": {
 16003  	//     "$ref": "Account"
 16004  	//   },
 16005  	//   "response": {
 16006  	//     "$ref": "Account"
 16007  	//   },
 16008  	//   "scopes": [
 16009  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16010  	//   ]
 16011  	// }
 16012  
 16013  }
 16014  
 16015  // method id "dfareporting.accounts.update":
 16016  
 16017  type AccountsUpdateCall struct {
 16018  	s          *Service
 16019  	profileId  int64
 16020  	account    *Account
 16021  	urlParams_ gensupport.URLParams
 16022  	ctx_       context.Context
 16023  	header_    http.Header
 16024  }
 16025  
 16026  // Update: Updates an existing account.
 16027  func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
 16028  	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16029  	c.profileId = profileId
 16030  	c.account = account
 16031  	return c
 16032  }
 16033  
 16034  // Fields allows partial responses to be retrieved. See
 16035  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16036  // for more information.
 16037  func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
 16038  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16039  	return c
 16040  }
 16041  
 16042  // Context sets the context to be used in this call's Do method. Any
 16043  // pending HTTP request will be aborted if the provided context is
 16044  // canceled.
 16045  func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 16046  	c.ctx_ = ctx
 16047  	return c
 16048  }
 16049  
 16050  // Header returns an http.Header that can be modified by the caller to
 16051  // add HTTP headers to the request.
 16052  func (c *AccountsUpdateCall) Header() http.Header {
 16053  	if c.header_ == nil {
 16054  		c.header_ = make(http.Header)
 16055  	}
 16056  	return c.header_
 16057  }
 16058  
 16059  func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 16060  	reqHeaders := make(http.Header)
 16061  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16062  	for k, v := range c.header_ {
 16063  		reqHeaders[k] = v
 16064  	}
 16065  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16066  	var body io.Reader = nil
 16067  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 16068  	if err != nil {
 16069  		return nil, err
 16070  	}
 16071  	reqHeaders.Set("Content-Type", "application/json")
 16072  	c.urlParams_.Set("alt", alt)
 16073  	c.urlParams_.Set("prettyPrint", "false")
 16074  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16075  	urls += "?" + c.urlParams_.Encode()
 16076  	req, err := http.NewRequest("PUT", urls, body)
 16077  	if err != nil {
 16078  		return nil, err
 16079  	}
 16080  	req.Header = reqHeaders
 16081  	googleapi.Expand(req.URL, map[string]string{
 16082  		"profileId": strconv.FormatInt(c.profileId, 10),
 16083  	})
 16084  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16085  }
 16086  
 16087  // Do executes the "dfareporting.accounts.update" call.
 16088  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 16089  // code is an error. Response headers are in either
 16090  // *Account.ServerResponse.Header or (if a response was returned at all)
 16091  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16092  // check whether the returned error was because http.StatusNotModified
 16093  // was returned.
 16094  func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 16095  	gensupport.SetOptions(c.urlParams_, opts...)
 16096  	res, err := c.doRequest("json")
 16097  	if res != nil && res.StatusCode == http.StatusNotModified {
 16098  		if res.Body != nil {
 16099  			res.Body.Close()
 16100  		}
 16101  		return nil, &googleapi.Error{
 16102  			Code:   res.StatusCode,
 16103  			Header: res.Header,
 16104  		}
 16105  	}
 16106  	if err != nil {
 16107  		return nil, err
 16108  	}
 16109  	defer googleapi.CloseBody(res)
 16110  	if err := googleapi.CheckResponse(res); err != nil {
 16111  		return nil, err
 16112  	}
 16113  	ret := &Account{
 16114  		ServerResponse: googleapi.ServerResponse{
 16115  			Header:         res.Header,
 16116  			HTTPStatusCode: res.StatusCode,
 16117  		},
 16118  	}
 16119  	target := &ret
 16120  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16121  		return nil, err
 16122  	}
 16123  	return ret, nil
 16124  	// {
 16125  	//   "description": "Updates an existing account.",
 16126  	//   "httpMethod": "PUT",
 16127  	//   "id": "dfareporting.accounts.update",
 16128  	//   "parameterOrder": [
 16129  	//     "profileId"
 16130  	//   ],
 16131  	//   "parameters": {
 16132  	//     "profileId": {
 16133  	//       "description": "User profile ID associated with this request.",
 16134  	//       "format": "int64",
 16135  	//       "location": "path",
 16136  	//       "required": true,
 16137  	//       "type": "string"
 16138  	//     }
 16139  	//   },
 16140  	//   "path": "userprofiles/{profileId}/accounts",
 16141  	//   "request": {
 16142  	//     "$ref": "Account"
 16143  	//   },
 16144  	//   "response": {
 16145  	//     "$ref": "Account"
 16146  	//   },
 16147  	//   "scopes": [
 16148  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16149  	//   ]
 16150  	// }
 16151  
 16152  }
 16153  
 16154  // method id "dfareporting.ads.get":
 16155  
 16156  type AdsGetCall struct {
 16157  	s            *Service
 16158  	profileId    int64
 16159  	id           int64
 16160  	urlParams_   gensupport.URLParams
 16161  	ifNoneMatch_ string
 16162  	ctx_         context.Context
 16163  	header_      http.Header
 16164  }
 16165  
 16166  // Get: Gets one ad by ID.
 16167  func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
 16168  	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16169  	c.profileId = profileId
 16170  	c.id = id
 16171  	return c
 16172  }
 16173  
 16174  // Fields allows partial responses to be retrieved. See
 16175  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16176  // for more information.
 16177  func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
 16178  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16179  	return c
 16180  }
 16181  
 16182  // IfNoneMatch sets the optional parameter which makes the operation
 16183  // fail if the object's ETag matches the given value. This is useful for
 16184  // getting updates only after the object has changed since the last
 16185  // request. Use googleapi.IsNotModified to check whether the response
 16186  // error from Do is the result of In-None-Match.
 16187  func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
 16188  	c.ifNoneMatch_ = entityTag
 16189  	return c
 16190  }
 16191  
 16192  // Context sets the context to be used in this call's Do method. Any
 16193  // pending HTTP request will be aborted if the provided context is
 16194  // canceled.
 16195  func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
 16196  	c.ctx_ = ctx
 16197  	return c
 16198  }
 16199  
 16200  // Header returns an http.Header that can be modified by the caller to
 16201  // add HTTP headers to the request.
 16202  func (c *AdsGetCall) Header() http.Header {
 16203  	if c.header_ == nil {
 16204  		c.header_ = make(http.Header)
 16205  	}
 16206  	return c.header_
 16207  }
 16208  
 16209  func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 16210  	reqHeaders := make(http.Header)
 16211  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16212  	for k, v := range c.header_ {
 16213  		reqHeaders[k] = v
 16214  	}
 16215  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16216  	if c.ifNoneMatch_ != "" {
 16217  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16218  	}
 16219  	var body io.Reader = nil
 16220  	c.urlParams_.Set("alt", alt)
 16221  	c.urlParams_.Set("prettyPrint", "false")
 16222  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
 16223  	urls += "?" + c.urlParams_.Encode()
 16224  	req, err := http.NewRequest("GET", urls, body)
 16225  	if err != nil {
 16226  		return nil, err
 16227  	}
 16228  	req.Header = reqHeaders
 16229  	googleapi.Expand(req.URL, map[string]string{
 16230  		"profileId": strconv.FormatInt(c.profileId, 10),
 16231  		"id":        strconv.FormatInt(c.id, 10),
 16232  	})
 16233  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16234  }
 16235  
 16236  // Do executes the "dfareporting.ads.get" call.
 16237  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 16238  // is an error. Response headers are in either *Ad.ServerResponse.Header
 16239  // or (if a response was returned at all) in
 16240  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16241  // whether the returned error was because http.StatusNotModified was
 16242  // returned.
 16243  func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 16244  	gensupport.SetOptions(c.urlParams_, opts...)
 16245  	res, err := c.doRequest("json")
 16246  	if res != nil && res.StatusCode == http.StatusNotModified {
 16247  		if res.Body != nil {
 16248  			res.Body.Close()
 16249  		}
 16250  		return nil, &googleapi.Error{
 16251  			Code:   res.StatusCode,
 16252  			Header: res.Header,
 16253  		}
 16254  	}
 16255  	if err != nil {
 16256  		return nil, err
 16257  	}
 16258  	defer googleapi.CloseBody(res)
 16259  	if err := googleapi.CheckResponse(res); err != nil {
 16260  		return nil, err
 16261  	}
 16262  	ret := &Ad{
 16263  		ServerResponse: googleapi.ServerResponse{
 16264  			Header:         res.Header,
 16265  			HTTPStatusCode: res.StatusCode,
 16266  		},
 16267  	}
 16268  	target := &ret
 16269  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16270  		return nil, err
 16271  	}
 16272  	return ret, nil
 16273  	// {
 16274  	//   "description": "Gets one ad by ID.",
 16275  	//   "httpMethod": "GET",
 16276  	//   "id": "dfareporting.ads.get",
 16277  	//   "parameterOrder": [
 16278  	//     "profileId",
 16279  	//     "id"
 16280  	//   ],
 16281  	//   "parameters": {
 16282  	//     "id": {
 16283  	//       "description": "Ad ID.",
 16284  	//       "format": "int64",
 16285  	//       "location": "path",
 16286  	//       "required": true,
 16287  	//       "type": "string"
 16288  	//     },
 16289  	//     "profileId": {
 16290  	//       "description": "User profile ID associated with this request.",
 16291  	//       "format": "int64",
 16292  	//       "location": "path",
 16293  	//       "required": true,
 16294  	//       "type": "string"
 16295  	//     }
 16296  	//   },
 16297  	//   "path": "userprofiles/{profileId}/ads/{id}",
 16298  	//   "response": {
 16299  	//     "$ref": "Ad"
 16300  	//   },
 16301  	//   "scopes": [
 16302  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16303  	//   ]
 16304  	// }
 16305  
 16306  }
 16307  
 16308  // method id "dfareporting.ads.insert":
 16309  
 16310  type AdsInsertCall struct {
 16311  	s          *Service
 16312  	profileId  int64
 16313  	ad         *Ad
 16314  	urlParams_ gensupport.URLParams
 16315  	ctx_       context.Context
 16316  	header_    http.Header
 16317  }
 16318  
 16319  // Insert: Inserts a new ad.
 16320  func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
 16321  	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16322  	c.profileId = profileId
 16323  	c.ad = ad
 16324  	return c
 16325  }
 16326  
 16327  // Fields allows partial responses to be retrieved. See
 16328  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16329  // for more information.
 16330  func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
 16331  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16332  	return c
 16333  }
 16334  
 16335  // Context sets the context to be used in this call's Do method. Any
 16336  // pending HTTP request will be aborted if the provided context is
 16337  // canceled.
 16338  func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
 16339  	c.ctx_ = ctx
 16340  	return c
 16341  }
 16342  
 16343  // Header returns an http.Header that can be modified by the caller to
 16344  // add HTTP headers to the request.
 16345  func (c *AdsInsertCall) Header() http.Header {
 16346  	if c.header_ == nil {
 16347  		c.header_ = make(http.Header)
 16348  	}
 16349  	return c.header_
 16350  }
 16351  
 16352  func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
 16353  	reqHeaders := make(http.Header)
 16354  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16355  	for k, v := range c.header_ {
 16356  		reqHeaders[k] = v
 16357  	}
 16358  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16359  	var body io.Reader = nil
 16360  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 16361  	if err != nil {
 16362  		return nil, err
 16363  	}
 16364  	reqHeaders.Set("Content-Type", "application/json")
 16365  	c.urlParams_.Set("alt", alt)
 16366  	c.urlParams_.Set("prettyPrint", "false")
 16367  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 16368  	urls += "?" + c.urlParams_.Encode()
 16369  	req, err := http.NewRequest("POST", urls, body)
 16370  	if err != nil {
 16371  		return nil, err
 16372  	}
 16373  	req.Header = reqHeaders
 16374  	googleapi.Expand(req.URL, map[string]string{
 16375  		"profileId": strconv.FormatInt(c.profileId, 10),
 16376  	})
 16377  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16378  }
 16379  
 16380  // Do executes the "dfareporting.ads.insert" call.
 16381  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 16382  // is an error. Response headers are in either *Ad.ServerResponse.Header
 16383  // or (if a response was returned at all) in
 16384  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16385  // whether the returned error was because http.StatusNotModified was
 16386  // returned.
 16387  func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 16388  	gensupport.SetOptions(c.urlParams_, opts...)
 16389  	res, err := c.doRequest("json")
 16390  	if res != nil && res.StatusCode == http.StatusNotModified {
 16391  		if res.Body != nil {
 16392  			res.Body.Close()
 16393  		}
 16394  		return nil, &googleapi.Error{
 16395  			Code:   res.StatusCode,
 16396  			Header: res.Header,
 16397  		}
 16398  	}
 16399  	if err != nil {
 16400  		return nil, err
 16401  	}
 16402  	defer googleapi.CloseBody(res)
 16403  	if err := googleapi.CheckResponse(res); err != nil {
 16404  		return nil, err
 16405  	}
 16406  	ret := &Ad{
 16407  		ServerResponse: googleapi.ServerResponse{
 16408  			Header:         res.Header,
 16409  			HTTPStatusCode: res.StatusCode,
 16410  		},
 16411  	}
 16412  	target := &ret
 16413  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16414  		return nil, err
 16415  	}
 16416  	return ret, nil
 16417  	// {
 16418  	//   "description": "Inserts a new ad.",
 16419  	//   "httpMethod": "POST",
 16420  	//   "id": "dfareporting.ads.insert",
 16421  	//   "parameterOrder": [
 16422  	//     "profileId"
 16423  	//   ],
 16424  	//   "parameters": {
 16425  	//     "profileId": {
 16426  	//       "description": "User profile ID associated with this request.",
 16427  	//       "format": "int64",
 16428  	//       "location": "path",
 16429  	//       "required": true,
 16430  	//       "type": "string"
 16431  	//     }
 16432  	//   },
 16433  	//   "path": "userprofiles/{profileId}/ads",
 16434  	//   "request": {
 16435  	//     "$ref": "Ad"
 16436  	//   },
 16437  	//   "response": {
 16438  	//     "$ref": "Ad"
 16439  	//   },
 16440  	//   "scopes": [
 16441  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16442  	//   ]
 16443  	// }
 16444  
 16445  }
 16446  
 16447  // method id "dfareporting.ads.list":
 16448  
 16449  type AdsListCall struct {
 16450  	s            *Service
 16451  	profileId    int64
 16452  	urlParams_   gensupport.URLParams
 16453  	ifNoneMatch_ string
 16454  	ctx_         context.Context
 16455  	header_      http.Header
 16456  }
 16457  
 16458  // List: Retrieves a list of ads, possibly filtered. This method
 16459  // supports paging.
 16460  func (r *AdsService) List(profileId int64) *AdsListCall {
 16461  	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16462  	c.profileId = profileId
 16463  	return c
 16464  }
 16465  
 16466  // Active sets the optional parameter "active": Select only active ads.
 16467  func (c *AdsListCall) Active(active bool) *AdsListCall {
 16468  	c.urlParams_.Set("active", fmt.Sprint(active))
 16469  	return c
 16470  }
 16471  
 16472  // AdvertiserId sets the optional parameter "advertiserId": Select only
 16473  // ads with this advertiser ID.
 16474  func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
 16475  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 16476  	return c
 16477  }
 16478  
 16479  // Archived sets the optional parameter "archived": Select only archived
 16480  // ads.
 16481  func (c *AdsListCall) Archived(archived bool) *AdsListCall {
 16482  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 16483  	return c
 16484  }
 16485  
 16486  // AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
 16487  // Select only ads with these audience segment IDs.
 16488  func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
 16489  	var audienceSegmentIds_ []string
 16490  	for _, v := range audienceSegmentIds {
 16491  		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
 16492  	}
 16493  	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
 16494  	return c
 16495  }
 16496  
 16497  // CampaignIds sets the optional parameter "campaignIds": Select only
 16498  // ads with these campaign IDs.
 16499  func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
 16500  	var campaignIds_ []string
 16501  	for _, v := range campaignIds {
 16502  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 16503  	}
 16504  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 16505  	return c
 16506  }
 16507  
 16508  // Compatibility sets the optional parameter "compatibility": Select
 16509  // default ads with the specified compatibility. Applicable when type is
 16510  // AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
 16511  // rendering either on desktop or on mobile devices for regular or
 16512  // interstitial ads, respectively. APP and APP_INTERSTITIAL are for
 16513  // rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
 16514  // in-stream video ads developed with the VAST standard.
 16515  //
 16516  // Possible values:
 16517  //
 16518  //	"APP"
 16519  //	"APP_INTERSTITIAL"
 16520  //	"DISPLAY"
 16521  //	"DISPLAY_INTERSTITIAL"
 16522  //	"IN_STREAM_VIDEO"
 16523  func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
 16524  	c.urlParams_.Set("compatibility", compatibility)
 16525  	return c
 16526  }
 16527  
 16528  // CreativeIds sets the optional parameter "creativeIds": Select only
 16529  // ads with these creative IDs assigned.
 16530  func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
 16531  	var creativeIds_ []string
 16532  	for _, v := range creativeIds {
 16533  		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
 16534  	}
 16535  	c.urlParams_.SetMulti("creativeIds", creativeIds_)
 16536  	return c
 16537  }
 16538  
 16539  // CreativeOptimizationConfigurationIds sets the optional parameter
 16540  // "creativeOptimizationConfigurationIds": Select only ads with these
 16541  // creative optimization configuration IDs.
 16542  func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
 16543  	var creativeOptimizationConfigurationIds_ []string
 16544  	for _, v := range creativeOptimizationConfigurationIds {
 16545  		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
 16546  	}
 16547  	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
 16548  	return c
 16549  }
 16550  
 16551  // DynamicClickTracker sets the optional parameter
 16552  // "dynamicClickTracker": Select only dynamic click trackers. Applicable
 16553  // when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
 16554  // trackers. If false, select static click trackers. Leave unset to
 16555  // select both.
 16556  func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
 16557  	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
 16558  	return c
 16559  }
 16560  
 16561  // Ids sets the optional parameter "ids": Select only ads with these
 16562  // IDs.
 16563  func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
 16564  	var ids_ []string
 16565  	for _, v := range ids {
 16566  		ids_ = append(ids_, fmt.Sprint(v))
 16567  	}
 16568  	c.urlParams_.SetMulti("ids", ids_)
 16569  	return c
 16570  }
 16571  
 16572  // LandingPageIds sets the optional parameter "landingPageIds": Select
 16573  // only ads with these landing page IDs.
 16574  func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
 16575  	var landingPageIds_ []string
 16576  	for _, v := range landingPageIds {
 16577  		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
 16578  	}
 16579  	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
 16580  	return c
 16581  }
 16582  
 16583  // MaxResults sets the optional parameter "maxResults": Maximum number
 16584  // of results to return.
 16585  func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
 16586  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 16587  	return c
 16588  }
 16589  
 16590  // OverriddenEventTagId sets the optional parameter
 16591  // "overriddenEventTagId": Select only ads with this event tag override
 16592  // ID.
 16593  func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
 16594  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 16595  	return c
 16596  }
 16597  
 16598  // PageToken sets the optional parameter "pageToken": Value of the
 16599  // nextPageToken from the previous result page.
 16600  func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
 16601  	c.urlParams_.Set("pageToken", pageToken)
 16602  	return c
 16603  }
 16604  
 16605  // PlacementIds sets the optional parameter "placementIds": Select only
 16606  // ads with these placement IDs assigned.
 16607  func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
 16608  	var placementIds_ []string
 16609  	for _, v := range placementIds {
 16610  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 16611  	}
 16612  	c.urlParams_.SetMulti("placementIds", placementIds_)
 16613  	return c
 16614  }
 16615  
 16616  // RemarketingListIds sets the optional parameter "remarketingListIds":
 16617  // Select only ads whose list targeting expression use these remarketing
 16618  // list IDs.
 16619  func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
 16620  	var remarketingListIds_ []string
 16621  	for _, v := range remarketingListIds {
 16622  		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
 16623  	}
 16624  	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
 16625  	return c
 16626  }
 16627  
 16628  // SearchString sets the optional parameter "searchString": Allows
 16629  // searching for objects by name or ID. Wildcards (*) are allowed. For
 16630  // example, "ad*2015" will return objects with names like "ad June
 16631  // 2015", "ad April 2015", or simply "ad 2015". Most of the searches
 16632  // also add wildcards implicitly at the start and the end of the search
 16633  // string. For example, a search string of "ad" will match objects with
 16634  // name "my ad", "ad 2015", or simply "ad".
 16635  func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
 16636  	c.urlParams_.Set("searchString", searchString)
 16637  	return c
 16638  }
 16639  
 16640  // SizeIds sets the optional parameter "sizeIds": Select only ads with
 16641  // these size IDs.
 16642  func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
 16643  	var sizeIds_ []string
 16644  	for _, v := range sizeIds {
 16645  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 16646  	}
 16647  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 16648  	return c
 16649  }
 16650  
 16651  // SortField sets the optional parameter "sortField": Field by which to
 16652  // sort the list.
 16653  //
 16654  // Possible values:
 16655  //
 16656  //	"ID" (default)
 16657  //	"NAME"
 16658  func (c *AdsListCall) SortField(sortField string) *AdsListCall {
 16659  	c.urlParams_.Set("sortField", sortField)
 16660  	return c
 16661  }
 16662  
 16663  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 16664  // results.
 16665  //
 16666  // Possible values:
 16667  //
 16668  //	"ASCENDING" (default)
 16669  //	"DESCENDING"
 16670  func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
 16671  	c.urlParams_.Set("sortOrder", sortOrder)
 16672  	return c
 16673  }
 16674  
 16675  // SslCompliant sets the optional parameter "sslCompliant": Select only
 16676  // ads that are SSL-compliant.
 16677  func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
 16678  	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
 16679  	return c
 16680  }
 16681  
 16682  // SslRequired sets the optional parameter "sslRequired": Select only
 16683  // ads that require SSL.
 16684  func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
 16685  	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
 16686  	return c
 16687  }
 16688  
 16689  // Type sets the optional parameter "type": Select only ads with these
 16690  // types.
 16691  //
 16692  // Possible values:
 16693  //
 16694  //	"AD_SERVING_CLICK_TRACKER"
 16695  //	"AD_SERVING_DEFAULT_AD"
 16696  //	"AD_SERVING_STANDARD_AD"
 16697  //	"AD_SERVING_TRACKING"
 16698  func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
 16699  	c.urlParams_.SetMulti("type", append([]string{}, type_...))
 16700  	return c
 16701  }
 16702  
 16703  // Fields allows partial responses to be retrieved. See
 16704  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16705  // for more information.
 16706  func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
 16707  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16708  	return c
 16709  }
 16710  
 16711  // IfNoneMatch sets the optional parameter which makes the operation
 16712  // fail if the object's ETag matches the given value. This is useful for
 16713  // getting updates only after the object has changed since the last
 16714  // request. Use googleapi.IsNotModified to check whether the response
 16715  // error from Do is the result of In-None-Match.
 16716  func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
 16717  	c.ifNoneMatch_ = entityTag
 16718  	return c
 16719  }
 16720  
 16721  // Context sets the context to be used in this call's Do method. Any
 16722  // pending HTTP request will be aborted if the provided context is
 16723  // canceled.
 16724  func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
 16725  	c.ctx_ = ctx
 16726  	return c
 16727  }
 16728  
 16729  // Header returns an http.Header that can be modified by the caller to
 16730  // add HTTP headers to the request.
 16731  func (c *AdsListCall) Header() http.Header {
 16732  	if c.header_ == nil {
 16733  		c.header_ = make(http.Header)
 16734  	}
 16735  	return c.header_
 16736  }
 16737  
 16738  func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 16739  	reqHeaders := make(http.Header)
 16740  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16741  	for k, v := range c.header_ {
 16742  		reqHeaders[k] = v
 16743  	}
 16744  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16745  	if c.ifNoneMatch_ != "" {
 16746  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16747  	}
 16748  	var body io.Reader = nil
 16749  	c.urlParams_.Set("alt", alt)
 16750  	c.urlParams_.Set("prettyPrint", "false")
 16751  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 16752  	urls += "?" + c.urlParams_.Encode()
 16753  	req, err := http.NewRequest("GET", urls, body)
 16754  	if err != nil {
 16755  		return nil, err
 16756  	}
 16757  	req.Header = reqHeaders
 16758  	googleapi.Expand(req.URL, map[string]string{
 16759  		"profileId": strconv.FormatInt(c.profileId, 10),
 16760  	})
 16761  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16762  }
 16763  
 16764  // Do executes the "dfareporting.ads.list" call.
 16765  // Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
 16766  // status code is an error. Response headers are in either
 16767  // *AdsListResponse.ServerResponse.Header or (if a response was returned
 16768  // at all) in error.(*googleapi.Error).Header. Use
 16769  // googleapi.IsNotModified to check whether the returned error was
 16770  // because http.StatusNotModified was returned.
 16771  func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
 16772  	gensupport.SetOptions(c.urlParams_, opts...)
 16773  	res, err := c.doRequest("json")
 16774  	if res != nil && res.StatusCode == http.StatusNotModified {
 16775  		if res.Body != nil {
 16776  			res.Body.Close()
 16777  		}
 16778  		return nil, &googleapi.Error{
 16779  			Code:   res.StatusCode,
 16780  			Header: res.Header,
 16781  		}
 16782  	}
 16783  	if err != nil {
 16784  		return nil, err
 16785  	}
 16786  	defer googleapi.CloseBody(res)
 16787  	if err := googleapi.CheckResponse(res); err != nil {
 16788  		return nil, err
 16789  	}
 16790  	ret := &AdsListResponse{
 16791  		ServerResponse: googleapi.ServerResponse{
 16792  			Header:         res.Header,
 16793  			HTTPStatusCode: res.StatusCode,
 16794  		},
 16795  	}
 16796  	target := &ret
 16797  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16798  		return nil, err
 16799  	}
 16800  	return ret, nil
 16801  	// {
 16802  	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
 16803  	//   "httpMethod": "GET",
 16804  	//   "id": "dfareporting.ads.list",
 16805  	//   "parameterOrder": [
 16806  	//     "profileId"
 16807  	//   ],
 16808  	//   "parameters": {
 16809  	//     "active": {
 16810  	//       "description": "Select only active ads.",
 16811  	//       "location": "query",
 16812  	//       "type": "boolean"
 16813  	//     },
 16814  	//     "advertiserId": {
 16815  	//       "description": "Select only ads with this advertiser ID.",
 16816  	//       "format": "int64",
 16817  	//       "location": "query",
 16818  	//       "type": "string"
 16819  	//     },
 16820  	//     "archived": {
 16821  	//       "description": "Select only archived ads.",
 16822  	//       "location": "query",
 16823  	//       "type": "boolean"
 16824  	//     },
 16825  	//     "audienceSegmentIds": {
 16826  	//       "description": "Select only ads with these audience segment IDs.",
 16827  	//       "format": "int64",
 16828  	//       "location": "query",
 16829  	//       "repeated": true,
 16830  	//       "type": "string"
 16831  	//     },
 16832  	//     "campaignIds": {
 16833  	//       "description": "Select only ads with these campaign IDs.",
 16834  	//       "format": "int64",
 16835  	//       "location": "query",
 16836  	//       "repeated": true,
 16837  	//       "type": "string"
 16838  	//     },
 16839  	//     "compatibility": {
 16840  	//       "description": "Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.",
 16841  	//       "enum": [
 16842  	//         "APP",
 16843  	//         "APP_INTERSTITIAL",
 16844  	//         "DISPLAY",
 16845  	//         "DISPLAY_INTERSTITIAL",
 16846  	//         "IN_STREAM_VIDEO"
 16847  	//       ],
 16848  	//       "enumDescriptions": [
 16849  	//         "",
 16850  	//         "",
 16851  	//         "",
 16852  	//         "",
 16853  	//         ""
 16854  	//       ],
 16855  	//       "location": "query",
 16856  	//       "type": "string"
 16857  	//     },
 16858  	//     "creativeIds": {
 16859  	//       "description": "Select only ads with these creative IDs assigned.",
 16860  	//       "format": "int64",
 16861  	//       "location": "query",
 16862  	//       "repeated": true,
 16863  	//       "type": "string"
 16864  	//     },
 16865  	//     "creativeOptimizationConfigurationIds": {
 16866  	//       "description": "Select only ads with these creative optimization configuration IDs.",
 16867  	//       "format": "int64",
 16868  	//       "location": "query",
 16869  	//       "repeated": true,
 16870  	//       "type": "string"
 16871  	//     },
 16872  	//     "dynamicClickTracker": {
 16873  	//       "description": "Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both.",
 16874  	//       "location": "query",
 16875  	//       "type": "boolean"
 16876  	//     },
 16877  	//     "ids": {
 16878  	//       "description": "Select only ads with these IDs.",
 16879  	//       "format": "int64",
 16880  	//       "location": "query",
 16881  	//       "repeated": true,
 16882  	//       "type": "string"
 16883  	//     },
 16884  	//     "landingPageIds": {
 16885  	//       "description": "Select only ads with these landing page IDs.",
 16886  	//       "format": "int64",
 16887  	//       "location": "query",
 16888  	//       "repeated": true,
 16889  	//       "type": "string"
 16890  	//     },
 16891  	//     "maxResults": {
 16892  	//       "default": "1000",
 16893  	//       "description": "Maximum number of results to return.",
 16894  	//       "format": "int32",
 16895  	//       "location": "query",
 16896  	//       "maximum": "1000",
 16897  	//       "minimum": "0",
 16898  	//       "type": "integer"
 16899  	//     },
 16900  	//     "overriddenEventTagId": {
 16901  	//       "description": "Select only ads with this event tag override ID.",
 16902  	//       "format": "int64",
 16903  	//       "location": "query",
 16904  	//       "type": "string"
 16905  	//     },
 16906  	//     "pageToken": {
 16907  	//       "description": "Value of the nextPageToken from the previous result page.",
 16908  	//       "location": "query",
 16909  	//       "type": "string"
 16910  	//     },
 16911  	//     "placementIds": {
 16912  	//       "description": "Select only ads with these placement IDs assigned.",
 16913  	//       "format": "int64",
 16914  	//       "location": "query",
 16915  	//       "repeated": true,
 16916  	//       "type": "string"
 16917  	//     },
 16918  	//     "profileId": {
 16919  	//       "description": "User profile ID associated with this request.",
 16920  	//       "format": "int64",
 16921  	//       "location": "path",
 16922  	//       "required": true,
 16923  	//       "type": "string"
 16924  	//     },
 16925  	//     "remarketingListIds": {
 16926  	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
 16927  	//       "format": "int64",
 16928  	//       "location": "query",
 16929  	//       "repeated": true,
 16930  	//       "type": "string"
 16931  	//     },
 16932  	//     "searchString": {
 16933  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"ad*2015\" will return objects with names like \"ad June 2015\", \"ad April 2015\", or simply \"ad 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"ad\" will match objects with name \"my ad\", \"ad 2015\", or simply \"ad\".",
 16934  	//       "location": "query",
 16935  	//       "type": "string"
 16936  	//     },
 16937  	//     "sizeIds": {
 16938  	//       "description": "Select only ads with these size IDs.",
 16939  	//       "format": "int64",
 16940  	//       "location": "query",
 16941  	//       "repeated": true,
 16942  	//       "type": "string"
 16943  	//     },
 16944  	//     "sortField": {
 16945  	//       "default": "ID",
 16946  	//       "description": "Field by which to sort the list.",
 16947  	//       "enum": [
 16948  	//         "ID",
 16949  	//         "NAME"
 16950  	//       ],
 16951  	//       "enumDescriptions": [
 16952  	//         "",
 16953  	//         ""
 16954  	//       ],
 16955  	//       "location": "query",
 16956  	//       "type": "string"
 16957  	//     },
 16958  	//     "sortOrder": {
 16959  	//       "default": "ASCENDING",
 16960  	//       "description": "Order of sorted results.",
 16961  	//       "enum": [
 16962  	//         "ASCENDING",
 16963  	//         "DESCENDING"
 16964  	//       ],
 16965  	//       "enumDescriptions": [
 16966  	//         "",
 16967  	//         ""
 16968  	//       ],
 16969  	//       "location": "query",
 16970  	//       "type": "string"
 16971  	//     },
 16972  	//     "sslCompliant": {
 16973  	//       "description": "Select only ads that are SSL-compliant.",
 16974  	//       "location": "query",
 16975  	//       "type": "boolean"
 16976  	//     },
 16977  	//     "sslRequired": {
 16978  	//       "description": "Select only ads that require SSL.",
 16979  	//       "location": "query",
 16980  	//       "type": "boolean"
 16981  	//     },
 16982  	//     "type": {
 16983  	//       "description": "Select only ads with these types.",
 16984  	//       "enum": [
 16985  	//         "AD_SERVING_CLICK_TRACKER",
 16986  	//         "AD_SERVING_DEFAULT_AD",
 16987  	//         "AD_SERVING_STANDARD_AD",
 16988  	//         "AD_SERVING_TRACKING"
 16989  	//       ],
 16990  	//       "enumDescriptions": [
 16991  	//         "",
 16992  	//         "",
 16993  	//         "",
 16994  	//         ""
 16995  	//       ],
 16996  	//       "location": "query",
 16997  	//       "repeated": true,
 16998  	//       "type": "string"
 16999  	//     }
 17000  	//   },
 17001  	//   "path": "userprofiles/{profileId}/ads",
 17002  	//   "response": {
 17003  	//     "$ref": "AdsListResponse"
 17004  	//   },
 17005  	//   "scopes": [
 17006  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17007  	//   ]
 17008  	// }
 17009  
 17010  }
 17011  
 17012  // Pages invokes f for each page of results.
 17013  // A non-nil error returned from f will halt the iteration.
 17014  // The provided context supersedes any context provided to the Context method.
 17015  func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
 17016  	c.ctx_ = ctx
 17017  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 17018  	for {
 17019  		x, err := c.Do()
 17020  		if err != nil {
 17021  			return err
 17022  		}
 17023  		if err := f(x); err != nil {
 17024  			return err
 17025  		}
 17026  		if x.NextPageToken == "" {
 17027  			return nil
 17028  		}
 17029  		c.PageToken(x.NextPageToken)
 17030  	}
 17031  }
 17032  
 17033  // method id "dfareporting.ads.patch":
 17034  
 17035  type AdsPatchCall struct {
 17036  	s          *Service
 17037  	profileId  int64
 17038  	ad         *Ad
 17039  	urlParams_ gensupport.URLParams
 17040  	ctx_       context.Context
 17041  	header_    http.Header
 17042  }
 17043  
 17044  // Patch: Updates an existing ad. This method supports patch semantics.
 17045  func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
 17046  	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17047  	c.profileId = profileId
 17048  	c.urlParams_.Set("id", fmt.Sprint(id))
 17049  	c.ad = ad
 17050  	return c
 17051  }
 17052  
 17053  // Fields allows partial responses to be retrieved. See
 17054  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17055  // for more information.
 17056  func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
 17057  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17058  	return c
 17059  }
 17060  
 17061  // Context sets the context to be used in this call's Do method. Any
 17062  // pending HTTP request will be aborted if the provided context is
 17063  // canceled.
 17064  func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
 17065  	c.ctx_ = ctx
 17066  	return c
 17067  }
 17068  
 17069  // Header returns an http.Header that can be modified by the caller to
 17070  // add HTTP headers to the request.
 17071  func (c *AdsPatchCall) Header() http.Header {
 17072  	if c.header_ == nil {
 17073  		c.header_ = make(http.Header)
 17074  	}
 17075  	return c.header_
 17076  }
 17077  
 17078  func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
 17079  	reqHeaders := make(http.Header)
 17080  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17081  	for k, v := range c.header_ {
 17082  		reqHeaders[k] = v
 17083  	}
 17084  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17085  	var body io.Reader = nil
 17086  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17087  	if err != nil {
 17088  		return nil, err
 17089  	}
 17090  	reqHeaders.Set("Content-Type", "application/json")
 17091  	c.urlParams_.Set("alt", alt)
 17092  	c.urlParams_.Set("prettyPrint", "false")
 17093  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17094  	urls += "?" + c.urlParams_.Encode()
 17095  	req, err := http.NewRequest("PATCH", urls, body)
 17096  	if err != nil {
 17097  		return nil, err
 17098  	}
 17099  	req.Header = reqHeaders
 17100  	googleapi.Expand(req.URL, map[string]string{
 17101  		"profileId": strconv.FormatInt(c.profileId, 10),
 17102  	})
 17103  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17104  }
 17105  
 17106  // Do executes the "dfareporting.ads.patch" call.
 17107  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17108  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17109  // or (if a response was returned at all) in
 17110  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17111  // whether the returned error was because http.StatusNotModified was
 17112  // returned.
 17113  func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17114  	gensupport.SetOptions(c.urlParams_, opts...)
 17115  	res, err := c.doRequest("json")
 17116  	if res != nil && res.StatusCode == http.StatusNotModified {
 17117  		if res.Body != nil {
 17118  			res.Body.Close()
 17119  		}
 17120  		return nil, &googleapi.Error{
 17121  			Code:   res.StatusCode,
 17122  			Header: res.Header,
 17123  		}
 17124  	}
 17125  	if err != nil {
 17126  		return nil, err
 17127  	}
 17128  	defer googleapi.CloseBody(res)
 17129  	if err := googleapi.CheckResponse(res); err != nil {
 17130  		return nil, err
 17131  	}
 17132  	ret := &Ad{
 17133  		ServerResponse: googleapi.ServerResponse{
 17134  			Header:         res.Header,
 17135  			HTTPStatusCode: res.StatusCode,
 17136  		},
 17137  	}
 17138  	target := &ret
 17139  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17140  		return nil, err
 17141  	}
 17142  	return ret, nil
 17143  	// {
 17144  	//   "description": "Updates an existing ad. This method supports patch semantics.",
 17145  	//   "httpMethod": "PATCH",
 17146  	//   "id": "dfareporting.ads.patch",
 17147  	//   "parameterOrder": [
 17148  	//     "profileId",
 17149  	//     "id"
 17150  	//   ],
 17151  	//   "parameters": {
 17152  	//     "id": {
 17153  	//       "description": "Ad ID.",
 17154  	//       "format": "int64",
 17155  	//       "location": "query",
 17156  	//       "required": true,
 17157  	//       "type": "string"
 17158  	//     },
 17159  	//     "profileId": {
 17160  	//       "description": "User profile ID associated with this request.",
 17161  	//       "format": "int64",
 17162  	//       "location": "path",
 17163  	//       "required": true,
 17164  	//       "type": "string"
 17165  	//     }
 17166  	//   },
 17167  	//   "path": "userprofiles/{profileId}/ads",
 17168  	//   "request": {
 17169  	//     "$ref": "Ad"
 17170  	//   },
 17171  	//   "response": {
 17172  	//     "$ref": "Ad"
 17173  	//   },
 17174  	//   "scopes": [
 17175  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17176  	//   ]
 17177  	// }
 17178  
 17179  }
 17180  
 17181  // method id "dfareporting.ads.update":
 17182  
 17183  type AdsUpdateCall struct {
 17184  	s          *Service
 17185  	profileId  int64
 17186  	ad         *Ad
 17187  	urlParams_ gensupport.URLParams
 17188  	ctx_       context.Context
 17189  	header_    http.Header
 17190  }
 17191  
 17192  // Update: Updates an existing ad.
 17193  func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
 17194  	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17195  	c.profileId = profileId
 17196  	c.ad = ad
 17197  	return c
 17198  }
 17199  
 17200  // Fields allows partial responses to be retrieved. See
 17201  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17202  // for more information.
 17203  func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
 17204  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17205  	return c
 17206  }
 17207  
 17208  // Context sets the context to be used in this call's Do method. Any
 17209  // pending HTTP request will be aborted if the provided context is
 17210  // canceled.
 17211  func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
 17212  	c.ctx_ = ctx
 17213  	return c
 17214  }
 17215  
 17216  // Header returns an http.Header that can be modified by the caller to
 17217  // add HTTP headers to the request.
 17218  func (c *AdsUpdateCall) Header() http.Header {
 17219  	if c.header_ == nil {
 17220  		c.header_ = make(http.Header)
 17221  	}
 17222  	return c.header_
 17223  }
 17224  
 17225  func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
 17226  	reqHeaders := make(http.Header)
 17227  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17228  	for k, v := range c.header_ {
 17229  		reqHeaders[k] = v
 17230  	}
 17231  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17232  	var body io.Reader = nil
 17233  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17234  	if err != nil {
 17235  		return nil, err
 17236  	}
 17237  	reqHeaders.Set("Content-Type", "application/json")
 17238  	c.urlParams_.Set("alt", alt)
 17239  	c.urlParams_.Set("prettyPrint", "false")
 17240  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17241  	urls += "?" + c.urlParams_.Encode()
 17242  	req, err := http.NewRequest("PUT", urls, body)
 17243  	if err != nil {
 17244  		return nil, err
 17245  	}
 17246  	req.Header = reqHeaders
 17247  	googleapi.Expand(req.URL, map[string]string{
 17248  		"profileId": strconv.FormatInt(c.profileId, 10),
 17249  	})
 17250  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17251  }
 17252  
 17253  // Do executes the "dfareporting.ads.update" call.
 17254  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17255  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17256  // or (if a response was returned at all) in
 17257  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17258  // whether the returned error was because http.StatusNotModified was
 17259  // returned.
 17260  func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17261  	gensupport.SetOptions(c.urlParams_, opts...)
 17262  	res, err := c.doRequest("json")
 17263  	if res != nil && res.StatusCode == http.StatusNotModified {
 17264  		if res.Body != nil {
 17265  			res.Body.Close()
 17266  		}
 17267  		return nil, &googleapi.Error{
 17268  			Code:   res.StatusCode,
 17269  			Header: res.Header,
 17270  		}
 17271  	}
 17272  	if err != nil {
 17273  		return nil, err
 17274  	}
 17275  	defer googleapi.CloseBody(res)
 17276  	if err := googleapi.CheckResponse(res); err != nil {
 17277  		return nil, err
 17278  	}
 17279  	ret := &Ad{
 17280  		ServerResponse: googleapi.ServerResponse{
 17281  			Header:         res.Header,
 17282  			HTTPStatusCode: res.StatusCode,
 17283  		},
 17284  	}
 17285  	target := &ret
 17286  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17287  		return nil, err
 17288  	}
 17289  	return ret, nil
 17290  	// {
 17291  	//   "description": "Updates an existing ad.",
 17292  	//   "httpMethod": "PUT",
 17293  	//   "id": "dfareporting.ads.update",
 17294  	//   "parameterOrder": [
 17295  	//     "profileId"
 17296  	//   ],
 17297  	//   "parameters": {
 17298  	//     "profileId": {
 17299  	//       "description": "User profile ID associated with this request.",
 17300  	//       "format": "int64",
 17301  	//       "location": "path",
 17302  	//       "required": true,
 17303  	//       "type": "string"
 17304  	//     }
 17305  	//   },
 17306  	//   "path": "userprofiles/{profileId}/ads",
 17307  	//   "request": {
 17308  	//     "$ref": "Ad"
 17309  	//   },
 17310  	//   "response": {
 17311  	//     "$ref": "Ad"
 17312  	//   },
 17313  	//   "scopes": [
 17314  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17315  	//   ]
 17316  	// }
 17317  
 17318  }
 17319  
 17320  // method id "dfareporting.advertiserGroups.delete":
 17321  
 17322  type AdvertiserGroupsDeleteCall struct {
 17323  	s          *Service
 17324  	profileId  int64
 17325  	id         int64
 17326  	urlParams_ gensupport.URLParams
 17327  	ctx_       context.Context
 17328  	header_    http.Header
 17329  }
 17330  
 17331  // Delete: Deletes an existing advertiser group.
 17332  func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
 17333  	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17334  	c.profileId = profileId
 17335  	c.id = id
 17336  	return c
 17337  }
 17338  
 17339  // Fields allows partial responses to be retrieved. See
 17340  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17341  // for more information.
 17342  func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
 17343  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17344  	return c
 17345  }
 17346  
 17347  // Context sets the context to be used in this call's Do method. Any
 17348  // pending HTTP request will be aborted if the provided context is
 17349  // canceled.
 17350  func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
 17351  	c.ctx_ = ctx
 17352  	return c
 17353  }
 17354  
 17355  // Header returns an http.Header that can be modified by the caller to
 17356  // add HTTP headers to the request.
 17357  func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
 17358  	if c.header_ == nil {
 17359  		c.header_ = make(http.Header)
 17360  	}
 17361  	return c.header_
 17362  }
 17363  
 17364  func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 17365  	reqHeaders := make(http.Header)
 17366  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17367  	for k, v := range c.header_ {
 17368  		reqHeaders[k] = v
 17369  	}
 17370  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17371  	var body io.Reader = nil
 17372  	c.urlParams_.Set("alt", alt)
 17373  	c.urlParams_.Set("prettyPrint", "false")
 17374  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 17375  	urls += "?" + c.urlParams_.Encode()
 17376  	req, err := http.NewRequest("DELETE", urls, body)
 17377  	if err != nil {
 17378  		return nil, err
 17379  	}
 17380  	req.Header = reqHeaders
 17381  	googleapi.Expand(req.URL, map[string]string{
 17382  		"profileId": strconv.FormatInt(c.profileId, 10),
 17383  		"id":        strconv.FormatInt(c.id, 10),
 17384  	})
 17385  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17386  }
 17387  
 17388  // Do executes the "dfareporting.advertiserGroups.delete" call.
 17389  func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
 17390  	gensupport.SetOptions(c.urlParams_, opts...)
 17391  	res, err := c.doRequest("json")
 17392  	if err != nil {
 17393  		return err
 17394  	}
 17395  	defer googleapi.CloseBody(res)
 17396  	if err := googleapi.CheckResponse(res); err != nil {
 17397  		return err
 17398  	}
 17399  	return nil
 17400  	// {
 17401  	//   "description": "Deletes an existing advertiser group.",
 17402  	//   "httpMethod": "DELETE",
 17403  	//   "id": "dfareporting.advertiserGroups.delete",
 17404  	//   "parameterOrder": [
 17405  	//     "profileId",
 17406  	//     "id"
 17407  	//   ],
 17408  	//   "parameters": {
 17409  	//     "id": {
 17410  	//       "description": "Advertiser group ID.",
 17411  	//       "format": "int64",
 17412  	//       "location": "path",
 17413  	//       "required": true,
 17414  	//       "type": "string"
 17415  	//     },
 17416  	//     "profileId": {
 17417  	//       "description": "User profile ID associated with this request.",
 17418  	//       "format": "int64",
 17419  	//       "location": "path",
 17420  	//       "required": true,
 17421  	//       "type": "string"
 17422  	//     }
 17423  	//   },
 17424  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 17425  	//   "scopes": [
 17426  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17427  	//   ]
 17428  	// }
 17429  
 17430  }
 17431  
 17432  // method id "dfareporting.advertiserGroups.get":
 17433  
 17434  type AdvertiserGroupsGetCall struct {
 17435  	s            *Service
 17436  	profileId    int64
 17437  	id           int64
 17438  	urlParams_   gensupport.URLParams
 17439  	ifNoneMatch_ string
 17440  	ctx_         context.Context
 17441  	header_      http.Header
 17442  }
 17443  
 17444  // Get: Gets one advertiser group by ID.
 17445  func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
 17446  	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17447  	c.profileId = profileId
 17448  	c.id = id
 17449  	return c
 17450  }
 17451  
 17452  // Fields allows partial responses to be retrieved. See
 17453  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17454  // for more information.
 17455  func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
 17456  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17457  	return c
 17458  }
 17459  
 17460  // IfNoneMatch sets the optional parameter which makes the operation
 17461  // fail if the object's ETag matches the given value. This is useful for
 17462  // getting updates only after the object has changed since the last
 17463  // request. Use googleapi.IsNotModified to check whether the response
 17464  // error from Do is the result of In-None-Match.
 17465  func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
 17466  	c.ifNoneMatch_ = entityTag
 17467  	return c
 17468  }
 17469  
 17470  // Context sets the context to be used in this call's Do method. Any
 17471  // pending HTTP request will be aborted if the provided context is
 17472  // canceled.
 17473  func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
 17474  	c.ctx_ = ctx
 17475  	return c
 17476  }
 17477  
 17478  // Header returns an http.Header that can be modified by the caller to
 17479  // add HTTP headers to the request.
 17480  func (c *AdvertiserGroupsGetCall) Header() http.Header {
 17481  	if c.header_ == nil {
 17482  		c.header_ = make(http.Header)
 17483  	}
 17484  	return c.header_
 17485  }
 17486  
 17487  func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 17488  	reqHeaders := make(http.Header)
 17489  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17490  	for k, v := range c.header_ {
 17491  		reqHeaders[k] = v
 17492  	}
 17493  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17494  	if c.ifNoneMatch_ != "" {
 17495  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17496  	}
 17497  	var body io.Reader = nil
 17498  	c.urlParams_.Set("alt", alt)
 17499  	c.urlParams_.Set("prettyPrint", "false")
 17500  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 17501  	urls += "?" + c.urlParams_.Encode()
 17502  	req, err := http.NewRequest("GET", urls, body)
 17503  	if err != nil {
 17504  		return nil, err
 17505  	}
 17506  	req.Header = reqHeaders
 17507  	googleapi.Expand(req.URL, map[string]string{
 17508  		"profileId": strconv.FormatInt(c.profileId, 10),
 17509  		"id":        strconv.FormatInt(c.id, 10),
 17510  	})
 17511  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17512  }
 17513  
 17514  // Do executes the "dfareporting.advertiserGroups.get" call.
 17515  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 17516  // status code is an error. Response headers are in either
 17517  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 17518  // at all) in error.(*googleapi.Error).Header. Use
 17519  // googleapi.IsNotModified to check whether the returned error was
 17520  // because http.StatusNotModified was returned.
 17521  func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 17522  	gensupport.SetOptions(c.urlParams_, opts...)
 17523  	res, err := c.doRequest("json")
 17524  	if res != nil && res.StatusCode == http.StatusNotModified {
 17525  		if res.Body != nil {
 17526  			res.Body.Close()
 17527  		}
 17528  		return nil, &googleapi.Error{
 17529  			Code:   res.StatusCode,
 17530  			Header: res.Header,
 17531  		}
 17532  	}
 17533  	if err != nil {
 17534  		return nil, err
 17535  	}
 17536  	defer googleapi.CloseBody(res)
 17537  	if err := googleapi.CheckResponse(res); err != nil {
 17538  		return nil, err
 17539  	}
 17540  	ret := &AdvertiserGroup{
 17541  		ServerResponse: googleapi.ServerResponse{
 17542  			Header:         res.Header,
 17543  			HTTPStatusCode: res.StatusCode,
 17544  		},
 17545  	}
 17546  	target := &ret
 17547  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17548  		return nil, err
 17549  	}
 17550  	return ret, nil
 17551  	// {
 17552  	//   "description": "Gets one advertiser group by ID.",
 17553  	//   "httpMethod": "GET",
 17554  	//   "id": "dfareporting.advertiserGroups.get",
 17555  	//   "parameterOrder": [
 17556  	//     "profileId",
 17557  	//     "id"
 17558  	//   ],
 17559  	//   "parameters": {
 17560  	//     "id": {
 17561  	//       "description": "Advertiser group ID.",
 17562  	//       "format": "int64",
 17563  	//       "location": "path",
 17564  	//       "required": true,
 17565  	//       "type": "string"
 17566  	//     },
 17567  	//     "profileId": {
 17568  	//       "description": "User profile ID associated with this request.",
 17569  	//       "format": "int64",
 17570  	//       "location": "path",
 17571  	//       "required": true,
 17572  	//       "type": "string"
 17573  	//     }
 17574  	//   },
 17575  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 17576  	//   "response": {
 17577  	//     "$ref": "AdvertiserGroup"
 17578  	//   },
 17579  	//   "scopes": [
 17580  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17581  	//   ]
 17582  	// }
 17583  
 17584  }
 17585  
 17586  // method id "dfareporting.advertiserGroups.insert":
 17587  
 17588  type AdvertiserGroupsInsertCall struct {
 17589  	s               *Service
 17590  	profileId       int64
 17591  	advertisergroup *AdvertiserGroup
 17592  	urlParams_      gensupport.URLParams
 17593  	ctx_            context.Context
 17594  	header_         http.Header
 17595  }
 17596  
 17597  // Insert: Inserts a new advertiser group.
 17598  func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
 17599  	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17600  	c.profileId = profileId
 17601  	c.advertisergroup = advertisergroup
 17602  	return c
 17603  }
 17604  
 17605  // Fields allows partial responses to be retrieved. See
 17606  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17607  // for more information.
 17608  func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
 17609  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17610  	return c
 17611  }
 17612  
 17613  // Context sets the context to be used in this call's Do method. Any
 17614  // pending HTTP request will be aborted if the provided context is
 17615  // canceled.
 17616  func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
 17617  	c.ctx_ = ctx
 17618  	return c
 17619  }
 17620  
 17621  // Header returns an http.Header that can be modified by the caller to
 17622  // add HTTP headers to the request.
 17623  func (c *AdvertiserGroupsInsertCall) Header() http.Header {
 17624  	if c.header_ == nil {
 17625  		c.header_ = make(http.Header)
 17626  	}
 17627  	return c.header_
 17628  }
 17629  
 17630  func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 17631  	reqHeaders := make(http.Header)
 17632  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17633  	for k, v := range c.header_ {
 17634  		reqHeaders[k] = v
 17635  	}
 17636  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17637  	var body io.Reader = nil
 17638  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 17639  	if err != nil {
 17640  		return nil, err
 17641  	}
 17642  	reqHeaders.Set("Content-Type", "application/json")
 17643  	c.urlParams_.Set("alt", alt)
 17644  	c.urlParams_.Set("prettyPrint", "false")
 17645  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 17646  	urls += "?" + c.urlParams_.Encode()
 17647  	req, err := http.NewRequest("POST", urls, body)
 17648  	if err != nil {
 17649  		return nil, err
 17650  	}
 17651  	req.Header = reqHeaders
 17652  	googleapi.Expand(req.URL, map[string]string{
 17653  		"profileId": strconv.FormatInt(c.profileId, 10),
 17654  	})
 17655  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17656  }
 17657  
 17658  // Do executes the "dfareporting.advertiserGroups.insert" call.
 17659  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 17660  // status code is an error. Response headers are in either
 17661  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 17662  // at all) in error.(*googleapi.Error).Header. Use
 17663  // googleapi.IsNotModified to check whether the returned error was
 17664  // because http.StatusNotModified was returned.
 17665  func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 17666  	gensupport.SetOptions(c.urlParams_, opts...)
 17667  	res, err := c.doRequest("json")
 17668  	if res != nil && res.StatusCode == http.StatusNotModified {
 17669  		if res.Body != nil {
 17670  			res.Body.Close()
 17671  		}
 17672  		return nil, &googleapi.Error{
 17673  			Code:   res.StatusCode,
 17674  			Header: res.Header,
 17675  		}
 17676  	}
 17677  	if err != nil {
 17678  		return nil, err
 17679  	}
 17680  	defer googleapi.CloseBody(res)
 17681  	if err := googleapi.CheckResponse(res); err != nil {
 17682  		return nil, err
 17683  	}
 17684  	ret := &AdvertiserGroup{
 17685  		ServerResponse: googleapi.ServerResponse{
 17686  			Header:         res.Header,
 17687  			HTTPStatusCode: res.StatusCode,
 17688  		},
 17689  	}
 17690  	target := &ret
 17691  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17692  		return nil, err
 17693  	}
 17694  	return ret, nil
 17695  	// {
 17696  	//   "description": "Inserts a new advertiser group.",
 17697  	//   "httpMethod": "POST",
 17698  	//   "id": "dfareporting.advertiserGroups.insert",
 17699  	//   "parameterOrder": [
 17700  	//     "profileId"
 17701  	//   ],
 17702  	//   "parameters": {
 17703  	//     "profileId": {
 17704  	//       "description": "User profile ID associated with this request.",
 17705  	//       "format": "int64",
 17706  	//       "location": "path",
 17707  	//       "required": true,
 17708  	//       "type": "string"
 17709  	//     }
 17710  	//   },
 17711  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 17712  	//   "request": {
 17713  	//     "$ref": "AdvertiserGroup"
 17714  	//   },
 17715  	//   "response": {
 17716  	//     "$ref": "AdvertiserGroup"
 17717  	//   },
 17718  	//   "scopes": [
 17719  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17720  	//   ]
 17721  	// }
 17722  
 17723  }
 17724  
 17725  // method id "dfareporting.advertiserGroups.list":
 17726  
 17727  type AdvertiserGroupsListCall struct {
 17728  	s            *Service
 17729  	profileId    int64
 17730  	urlParams_   gensupport.URLParams
 17731  	ifNoneMatch_ string
 17732  	ctx_         context.Context
 17733  	header_      http.Header
 17734  }
 17735  
 17736  // List: Retrieves a list of advertiser groups, possibly filtered. This
 17737  // method supports paging.
 17738  func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
 17739  	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17740  	c.profileId = profileId
 17741  	return c
 17742  }
 17743  
 17744  // Ids sets the optional parameter "ids": Select only advertiser groups
 17745  // with these IDs.
 17746  func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
 17747  	var ids_ []string
 17748  	for _, v := range ids {
 17749  		ids_ = append(ids_, fmt.Sprint(v))
 17750  	}
 17751  	c.urlParams_.SetMulti("ids", ids_)
 17752  	return c
 17753  }
 17754  
 17755  // MaxResults sets the optional parameter "maxResults": Maximum number
 17756  // of results to return.
 17757  func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
 17758  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 17759  	return c
 17760  }
 17761  
 17762  // PageToken sets the optional parameter "pageToken": Value of the
 17763  // nextPageToken from the previous result page.
 17764  func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
 17765  	c.urlParams_.Set("pageToken", pageToken)
 17766  	return c
 17767  }
 17768  
 17769  // SearchString sets the optional parameter "searchString": Allows
 17770  // searching for objects by name or ID. Wildcards (*) are allowed. For
 17771  // example, "advertiser*2015" will return objects with names like
 17772  // "advertiser group June 2015", "advertiser group April 2015", or
 17773  // simply "advertiser group 2015". Most of the searches also add
 17774  // wildcards implicitly at the start and the end of the search string.
 17775  // For example, a search string of "advertisergroup" will match objects
 17776  // with name "my advertisergroup", "advertisergroup 2015", or simply
 17777  // "advertisergroup".
 17778  func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
 17779  	c.urlParams_.Set("searchString", searchString)
 17780  	return c
 17781  }
 17782  
 17783  // SortField sets the optional parameter "sortField": Field by which to
 17784  // sort the list.
 17785  //
 17786  // Possible values:
 17787  //
 17788  //	"ID" (default)
 17789  //	"NAME"
 17790  func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
 17791  	c.urlParams_.Set("sortField", sortField)
 17792  	return c
 17793  }
 17794  
 17795  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 17796  // results.
 17797  //
 17798  // Possible values:
 17799  //
 17800  //	"ASCENDING" (default)
 17801  //	"DESCENDING"
 17802  func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
 17803  	c.urlParams_.Set("sortOrder", sortOrder)
 17804  	return c
 17805  }
 17806  
 17807  // Fields allows partial responses to be retrieved. See
 17808  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17809  // for more information.
 17810  func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
 17811  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17812  	return c
 17813  }
 17814  
 17815  // IfNoneMatch sets the optional parameter which makes the operation
 17816  // fail if the object's ETag matches the given value. This is useful for
 17817  // getting updates only after the object has changed since the last
 17818  // request. Use googleapi.IsNotModified to check whether the response
 17819  // error from Do is the result of In-None-Match.
 17820  func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
 17821  	c.ifNoneMatch_ = entityTag
 17822  	return c
 17823  }
 17824  
 17825  // Context sets the context to be used in this call's Do method. Any
 17826  // pending HTTP request will be aborted if the provided context is
 17827  // canceled.
 17828  func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
 17829  	c.ctx_ = ctx
 17830  	return c
 17831  }
 17832  
 17833  // Header returns an http.Header that can be modified by the caller to
 17834  // add HTTP headers to the request.
 17835  func (c *AdvertiserGroupsListCall) Header() http.Header {
 17836  	if c.header_ == nil {
 17837  		c.header_ = make(http.Header)
 17838  	}
 17839  	return c.header_
 17840  }
 17841  
 17842  func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 17843  	reqHeaders := make(http.Header)
 17844  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17845  	for k, v := range c.header_ {
 17846  		reqHeaders[k] = v
 17847  	}
 17848  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17849  	if c.ifNoneMatch_ != "" {
 17850  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17851  	}
 17852  	var body io.Reader = nil
 17853  	c.urlParams_.Set("alt", alt)
 17854  	c.urlParams_.Set("prettyPrint", "false")
 17855  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 17856  	urls += "?" + c.urlParams_.Encode()
 17857  	req, err := http.NewRequest("GET", urls, body)
 17858  	if err != nil {
 17859  		return nil, err
 17860  	}
 17861  	req.Header = reqHeaders
 17862  	googleapi.Expand(req.URL, map[string]string{
 17863  		"profileId": strconv.FormatInt(c.profileId, 10),
 17864  	})
 17865  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17866  }
 17867  
 17868  // Do executes the "dfareporting.advertiserGroups.list" call.
 17869  // Exactly one of *AdvertiserGroupsListResponse or error will be
 17870  // non-nil. Any non-2xx status code is an error. Response headers are in
 17871  // either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
 17872  // response was returned at all) in error.(*googleapi.Error).Header. Use
 17873  // googleapi.IsNotModified to check whether the returned error was
 17874  // because http.StatusNotModified was returned.
 17875  func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
 17876  	gensupport.SetOptions(c.urlParams_, opts...)
 17877  	res, err := c.doRequest("json")
 17878  	if res != nil && res.StatusCode == http.StatusNotModified {
 17879  		if res.Body != nil {
 17880  			res.Body.Close()
 17881  		}
 17882  		return nil, &googleapi.Error{
 17883  			Code:   res.StatusCode,
 17884  			Header: res.Header,
 17885  		}
 17886  	}
 17887  	if err != nil {
 17888  		return nil, err
 17889  	}
 17890  	defer googleapi.CloseBody(res)
 17891  	if err := googleapi.CheckResponse(res); err != nil {
 17892  		return nil, err
 17893  	}
 17894  	ret := &AdvertiserGroupsListResponse{
 17895  		ServerResponse: googleapi.ServerResponse{
 17896  			Header:         res.Header,
 17897  			HTTPStatusCode: res.StatusCode,
 17898  		},
 17899  	}
 17900  	target := &ret
 17901  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17902  		return nil, err
 17903  	}
 17904  	return ret, nil
 17905  	// {
 17906  	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
 17907  	//   "httpMethod": "GET",
 17908  	//   "id": "dfareporting.advertiserGroups.list",
 17909  	//   "parameterOrder": [
 17910  	//     "profileId"
 17911  	//   ],
 17912  	//   "parameters": {
 17913  	//     "ids": {
 17914  	//       "description": "Select only advertiser groups with these IDs.",
 17915  	//       "format": "int64",
 17916  	//       "location": "query",
 17917  	//       "repeated": true,
 17918  	//       "type": "string"
 17919  	//     },
 17920  	//     "maxResults": {
 17921  	//       "default": "1000",
 17922  	//       "description": "Maximum number of results to return.",
 17923  	//       "format": "int32",
 17924  	//       "location": "query",
 17925  	//       "maximum": "1000",
 17926  	//       "minimum": "0",
 17927  	//       "type": "integer"
 17928  	//     },
 17929  	//     "pageToken": {
 17930  	//       "description": "Value of the nextPageToken from the previous result page.",
 17931  	//       "location": "query",
 17932  	//       "type": "string"
 17933  	//     },
 17934  	//     "profileId": {
 17935  	//       "description": "User profile ID associated with this request.",
 17936  	//       "format": "int64",
 17937  	//       "location": "path",
 17938  	//       "required": true,
 17939  	//       "type": "string"
 17940  	//     },
 17941  	//     "searchString": {
 17942  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser group June 2015\", \"advertiser group April 2015\", or simply \"advertiser group 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertisergroup\" will match objects with name \"my advertisergroup\", \"advertisergroup 2015\", or simply \"advertisergroup\".",
 17943  	//       "location": "query",
 17944  	//       "type": "string"
 17945  	//     },
 17946  	//     "sortField": {
 17947  	//       "default": "ID",
 17948  	//       "description": "Field by which to sort the list.",
 17949  	//       "enum": [
 17950  	//         "ID",
 17951  	//         "NAME"
 17952  	//       ],
 17953  	//       "enumDescriptions": [
 17954  	//         "",
 17955  	//         ""
 17956  	//       ],
 17957  	//       "location": "query",
 17958  	//       "type": "string"
 17959  	//     },
 17960  	//     "sortOrder": {
 17961  	//       "default": "ASCENDING",
 17962  	//       "description": "Order of sorted results.",
 17963  	//       "enum": [
 17964  	//         "ASCENDING",
 17965  	//         "DESCENDING"
 17966  	//       ],
 17967  	//       "enumDescriptions": [
 17968  	//         "",
 17969  	//         ""
 17970  	//       ],
 17971  	//       "location": "query",
 17972  	//       "type": "string"
 17973  	//     }
 17974  	//   },
 17975  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 17976  	//   "response": {
 17977  	//     "$ref": "AdvertiserGroupsListResponse"
 17978  	//   },
 17979  	//   "scopes": [
 17980  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17981  	//   ]
 17982  	// }
 17983  
 17984  }
 17985  
 17986  // Pages invokes f for each page of results.
 17987  // A non-nil error returned from f will halt the iteration.
 17988  // The provided context supersedes any context provided to the Context method.
 17989  func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
 17990  	c.ctx_ = ctx
 17991  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 17992  	for {
 17993  		x, err := c.Do()
 17994  		if err != nil {
 17995  			return err
 17996  		}
 17997  		if err := f(x); err != nil {
 17998  			return err
 17999  		}
 18000  		if x.NextPageToken == "" {
 18001  			return nil
 18002  		}
 18003  		c.PageToken(x.NextPageToken)
 18004  	}
 18005  }
 18006  
 18007  // method id "dfareporting.advertiserGroups.patch":
 18008  
 18009  type AdvertiserGroupsPatchCall struct {
 18010  	s               *Service
 18011  	profileId       int64
 18012  	advertisergroup *AdvertiserGroup
 18013  	urlParams_      gensupport.URLParams
 18014  	ctx_            context.Context
 18015  	header_         http.Header
 18016  }
 18017  
 18018  // Patch: Updates an existing advertiser group. This method supports
 18019  // patch semantics.
 18020  func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
 18021  	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18022  	c.profileId = profileId
 18023  	c.urlParams_.Set("id", fmt.Sprint(id))
 18024  	c.advertisergroup = advertisergroup
 18025  	return c
 18026  }
 18027  
 18028  // Fields allows partial responses to be retrieved. See
 18029  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18030  // for more information.
 18031  func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
 18032  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18033  	return c
 18034  }
 18035  
 18036  // Context sets the context to be used in this call's Do method. Any
 18037  // pending HTTP request will be aborted if the provided context is
 18038  // canceled.
 18039  func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
 18040  	c.ctx_ = ctx
 18041  	return c
 18042  }
 18043  
 18044  // Header returns an http.Header that can be modified by the caller to
 18045  // add HTTP headers to the request.
 18046  func (c *AdvertiserGroupsPatchCall) Header() http.Header {
 18047  	if c.header_ == nil {
 18048  		c.header_ = make(http.Header)
 18049  	}
 18050  	return c.header_
 18051  }
 18052  
 18053  func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 18054  	reqHeaders := make(http.Header)
 18055  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18056  	for k, v := range c.header_ {
 18057  		reqHeaders[k] = v
 18058  	}
 18059  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18060  	var body io.Reader = nil
 18061  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18062  	if err != nil {
 18063  		return nil, err
 18064  	}
 18065  	reqHeaders.Set("Content-Type", "application/json")
 18066  	c.urlParams_.Set("alt", alt)
 18067  	c.urlParams_.Set("prettyPrint", "false")
 18068  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18069  	urls += "?" + c.urlParams_.Encode()
 18070  	req, err := http.NewRequest("PATCH", urls, body)
 18071  	if err != nil {
 18072  		return nil, err
 18073  	}
 18074  	req.Header = reqHeaders
 18075  	googleapi.Expand(req.URL, map[string]string{
 18076  		"profileId": strconv.FormatInt(c.profileId, 10),
 18077  	})
 18078  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18079  }
 18080  
 18081  // Do executes the "dfareporting.advertiserGroups.patch" call.
 18082  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18083  // status code is an error. Response headers are in either
 18084  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18085  // at all) in error.(*googleapi.Error).Header. Use
 18086  // googleapi.IsNotModified to check whether the returned error was
 18087  // because http.StatusNotModified was returned.
 18088  func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18089  	gensupport.SetOptions(c.urlParams_, opts...)
 18090  	res, err := c.doRequest("json")
 18091  	if res != nil && res.StatusCode == http.StatusNotModified {
 18092  		if res.Body != nil {
 18093  			res.Body.Close()
 18094  		}
 18095  		return nil, &googleapi.Error{
 18096  			Code:   res.StatusCode,
 18097  			Header: res.Header,
 18098  		}
 18099  	}
 18100  	if err != nil {
 18101  		return nil, err
 18102  	}
 18103  	defer googleapi.CloseBody(res)
 18104  	if err := googleapi.CheckResponse(res); err != nil {
 18105  		return nil, err
 18106  	}
 18107  	ret := &AdvertiserGroup{
 18108  		ServerResponse: googleapi.ServerResponse{
 18109  			Header:         res.Header,
 18110  			HTTPStatusCode: res.StatusCode,
 18111  		},
 18112  	}
 18113  	target := &ret
 18114  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18115  		return nil, err
 18116  	}
 18117  	return ret, nil
 18118  	// {
 18119  	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
 18120  	//   "httpMethod": "PATCH",
 18121  	//   "id": "dfareporting.advertiserGroups.patch",
 18122  	//   "parameterOrder": [
 18123  	//     "profileId",
 18124  	//     "id"
 18125  	//   ],
 18126  	//   "parameters": {
 18127  	//     "id": {
 18128  	//       "description": "Advertiser group ID.",
 18129  	//       "format": "int64",
 18130  	//       "location": "query",
 18131  	//       "required": true,
 18132  	//       "type": "string"
 18133  	//     },
 18134  	//     "profileId": {
 18135  	//       "description": "User profile ID associated with this request.",
 18136  	//       "format": "int64",
 18137  	//       "location": "path",
 18138  	//       "required": true,
 18139  	//       "type": "string"
 18140  	//     }
 18141  	//   },
 18142  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18143  	//   "request": {
 18144  	//     "$ref": "AdvertiserGroup"
 18145  	//   },
 18146  	//   "response": {
 18147  	//     "$ref": "AdvertiserGroup"
 18148  	//   },
 18149  	//   "scopes": [
 18150  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18151  	//   ]
 18152  	// }
 18153  
 18154  }
 18155  
 18156  // method id "dfareporting.advertiserGroups.update":
 18157  
 18158  type AdvertiserGroupsUpdateCall struct {
 18159  	s               *Service
 18160  	profileId       int64
 18161  	advertisergroup *AdvertiserGroup
 18162  	urlParams_      gensupport.URLParams
 18163  	ctx_            context.Context
 18164  	header_         http.Header
 18165  }
 18166  
 18167  // Update: Updates an existing advertiser group.
 18168  func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
 18169  	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18170  	c.profileId = profileId
 18171  	c.advertisergroup = advertisergroup
 18172  	return c
 18173  }
 18174  
 18175  // Fields allows partial responses to be retrieved. See
 18176  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18177  // for more information.
 18178  func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
 18179  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18180  	return c
 18181  }
 18182  
 18183  // Context sets the context to be used in this call's Do method. Any
 18184  // pending HTTP request will be aborted if the provided context is
 18185  // canceled.
 18186  func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
 18187  	c.ctx_ = ctx
 18188  	return c
 18189  }
 18190  
 18191  // Header returns an http.Header that can be modified by the caller to
 18192  // add HTTP headers to the request.
 18193  func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
 18194  	if c.header_ == nil {
 18195  		c.header_ = make(http.Header)
 18196  	}
 18197  	return c.header_
 18198  }
 18199  
 18200  func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 18201  	reqHeaders := make(http.Header)
 18202  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18203  	for k, v := range c.header_ {
 18204  		reqHeaders[k] = v
 18205  	}
 18206  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18207  	var body io.Reader = nil
 18208  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18209  	if err != nil {
 18210  		return nil, err
 18211  	}
 18212  	reqHeaders.Set("Content-Type", "application/json")
 18213  	c.urlParams_.Set("alt", alt)
 18214  	c.urlParams_.Set("prettyPrint", "false")
 18215  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18216  	urls += "?" + c.urlParams_.Encode()
 18217  	req, err := http.NewRequest("PUT", urls, body)
 18218  	if err != nil {
 18219  		return nil, err
 18220  	}
 18221  	req.Header = reqHeaders
 18222  	googleapi.Expand(req.URL, map[string]string{
 18223  		"profileId": strconv.FormatInt(c.profileId, 10),
 18224  	})
 18225  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18226  }
 18227  
 18228  // Do executes the "dfareporting.advertiserGroups.update" call.
 18229  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18230  // status code is an error. Response headers are in either
 18231  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18232  // at all) in error.(*googleapi.Error).Header. Use
 18233  // googleapi.IsNotModified to check whether the returned error was
 18234  // because http.StatusNotModified was returned.
 18235  func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18236  	gensupport.SetOptions(c.urlParams_, opts...)
 18237  	res, err := c.doRequest("json")
 18238  	if res != nil && res.StatusCode == http.StatusNotModified {
 18239  		if res.Body != nil {
 18240  			res.Body.Close()
 18241  		}
 18242  		return nil, &googleapi.Error{
 18243  			Code:   res.StatusCode,
 18244  			Header: res.Header,
 18245  		}
 18246  	}
 18247  	if err != nil {
 18248  		return nil, err
 18249  	}
 18250  	defer googleapi.CloseBody(res)
 18251  	if err := googleapi.CheckResponse(res); err != nil {
 18252  		return nil, err
 18253  	}
 18254  	ret := &AdvertiserGroup{
 18255  		ServerResponse: googleapi.ServerResponse{
 18256  			Header:         res.Header,
 18257  			HTTPStatusCode: res.StatusCode,
 18258  		},
 18259  	}
 18260  	target := &ret
 18261  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18262  		return nil, err
 18263  	}
 18264  	return ret, nil
 18265  	// {
 18266  	//   "description": "Updates an existing advertiser group.",
 18267  	//   "httpMethod": "PUT",
 18268  	//   "id": "dfareporting.advertiserGroups.update",
 18269  	//   "parameterOrder": [
 18270  	//     "profileId"
 18271  	//   ],
 18272  	//   "parameters": {
 18273  	//     "profileId": {
 18274  	//       "description": "User profile ID associated with this request.",
 18275  	//       "format": "int64",
 18276  	//       "location": "path",
 18277  	//       "required": true,
 18278  	//       "type": "string"
 18279  	//     }
 18280  	//   },
 18281  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18282  	//   "request": {
 18283  	//     "$ref": "AdvertiserGroup"
 18284  	//   },
 18285  	//   "response": {
 18286  	//     "$ref": "AdvertiserGroup"
 18287  	//   },
 18288  	//   "scopes": [
 18289  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18290  	//   ]
 18291  	// }
 18292  
 18293  }
 18294  
 18295  // method id "dfareporting.advertisers.get":
 18296  
 18297  type AdvertisersGetCall struct {
 18298  	s            *Service
 18299  	profileId    int64
 18300  	id           int64
 18301  	urlParams_   gensupport.URLParams
 18302  	ifNoneMatch_ string
 18303  	ctx_         context.Context
 18304  	header_      http.Header
 18305  }
 18306  
 18307  // Get: Gets one advertiser by ID.
 18308  func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
 18309  	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18310  	c.profileId = profileId
 18311  	c.id = id
 18312  	return c
 18313  }
 18314  
 18315  // Fields allows partial responses to be retrieved. See
 18316  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18317  // for more information.
 18318  func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
 18319  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18320  	return c
 18321  }
 18322  
 18323  // IfNoneMatch sets the optional parameter which makes the operation
 18324  // fail if the object's ETag matches the given value. This is useful for
 18325  // getting updates only after the object has changed since the last
 18326  // request. Use googleapi.IsNotModified to check whether the response
 18327  // error from Do is the result of In-None-Match.
 18328  func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
 18329  	c.ifNoneMatch_ = entityTag
 18330  	return c
 18331  }
 18332  
 18333  // Context sets the context to be used in this call's Do method. Any
 18334  // pending HTTP request will be aborted if the provided context is
 18335  // canceled.
 18336  func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 18337  	c.ctx_ = ctx
 18338  	return c
 18339  }
 18340  
 18341  // Header returns an http.Header that can be modified by the caller to
 18342  // add HTTP headers to the request.
 18343  func (c *AdvertisersGetCall) Header() http.Header {
 18344  	if c.header_ == nil {
 18345  		c.header_ = make(http.Header)
 18346  	}
 18347  	return c.header_
 18348  }
 18349  
 18350  func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 18351  	reqHeaders := make(http.Header)
 18352  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18353  	for k, v := range c.header_ {
 18354  		reqHeaders[k] = v
 18355  	}
 18356  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18357  	if c.ifNoneMatch_ != "" {
 18358  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18359  	}
 18360  	var body io.Reader = nil
 18361  	c.urlParams_.Set("alt", alt)
 18362  	c.urlParams_.Set("prettyPrint", "false")
 18363  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
 18364  	urls += "?" + c.urlParams_.Encode()
 18365  	req, err := http.NewRequest("GET", urls, body)
 18366  	if err != nil {
 18367  		return nil, err
 18368  	}
 18369  	req.Header = reqHeaders
 18370  	googleapi.Expand(req.URL, map[string]string{
 18371  		"profileId": strconv.FormatInt(c.profileId, 10),
 18372  		"id":        strconv.FormatInt(c.id, 10),
 18373  	})
 18374  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18375  }
 18376  
 18377  // Do executes the "dfareporting.advertisers.get" call.
 18378  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 18379  // status code is an error. Response headers are in either
 18380  // *Advertiser.ServerResponse.Header or (if a response was returned at
 18381  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 18382  // to check whether the returned error was because
 18383  // http.StatusNotModified was returned.
 18384  func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 18385  	gensupport.SetOptions(c.urlParams_, opts...)
 18386  	res, err := c.doRequest("json")
 18387  	if res != nil && res.StatusCode == http.StatusNotModified {
 18388  		if res.Body != nil {
 18389  			res.Body.Close()
 18390  		}
 18391  		return nil, &googleapi.Error{
 18392  			Code:   res.StatusCode,
 18393  			Header: res.Header,
 18394  		}
 18395  	}
 18396  	if err != nil {
 18397  		return nil, err
 18398  	}
 18399  	defer googleapi.CloseBody(res)
 18400  	if err := googleapi.CheckResponse(res); err != nil {
 18401  		return nil, err
 18402  	}
 18403  	ret := &Advertiser{
 18404  		ServerResponse: googleapi.ServerResponse{
 18405  			Header:         res.Header,
 18406  			HTTPStatusCode: res.StatusCode,
 18407  		},
 18408  	}
 18409  	target := &ret
 18410  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18411  		return nil, err
 18412  	}
 18413  	return ret, nil
 18414  	// {
 18415  	//   "description": "Gets one advertiser by ID.",
 18416  	//   "httpMethod": "GET",
 18417  	//   "id": "dfareporting.advertisers.get",
 18418  	//   "parameterOrder": [
 18419  	//     "profileId",
 18420  	//     "id"
 18421  	//   ],
 18422  	//   "parameters": {
 18423  	//     "id": {
 18424  	//       "description": "Advertiser ID.",
 18425  	//       "format": "int64",
 18426  	//       "location": "path",
 18427  	//       "required": true,
 18428  	//       "type": "string"
 18429  	//     },
 18430  	//     "profileId": {
 18431  	//       "description": "User profile ID associated with this request.",
 18432  	//       "format": "int64",
 18433  	//       "location": "path",
 18434  	//       "required": true,
 18435  	//       "type": "string"
 18436  	//     }
 18437  	//   },
 18438  	//   "path": "userprofiles/{profileId}/advertisers/{id}",
 18439  	//   "response": {
 18440  	//     "$ref": "Advertiser"
 18441  	//   },
 18442  	//   "scopes": [
 18443  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18444  	//   ]
 18445  	// }
 18446  
 18447  }
 18448  
 18449  // method id "dfareporting.advertisers.insert":
 18450  
 18451  type AdvertisersInsertCall struct {
 18452  	s          *Service
 18453  	profileId  int64
 18454  	advertiser *Advertiser
 18455  	urlParams_ gensupport.URLParams
 18456  	ctx_       context.Context
 18457  	header_    http.Header
 18458  }
 18459  
 18460  // Insert: Inserts a new advertiser.
 18461  func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
 18462  	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18463  	c.profileId = profileId
 18464  	c.advertiser = advertiser
 18465  	return c
 18466  }
 18467  
 18468  // Fields allows partial responses to be retrieved. See
 18469  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18470  // for more information.
 18471  func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
 18472  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18473  	return c
 18474  }
 18475  
 18476  // Context sets the context to be used in this call's Do method. Any
 18477  // pending HTTP request will be aborted if the provided context is
 18478  // canceled.
 18479  func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
 18480  	c.ctx_ = ctx
 18481  	return c
 18482  }
 18483  
 18484  // Header returns an http.Header that can be modified by the caller to
 18485  // add HTTP headers to the request.
 18486  func (c *AdvertisersInsertCall) Header() http.Header {
 18487  	if c.header_ == nil {
 18488  		c.header_ = make(http.Header)
 18489  	}
 18490  	return c.header_
 18491  }
 18492  
 18493  func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
 18494  	reqHeaders := make(http.Header)
 18495  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18496  	for k, v := range c.header_ {
 18497  		reqHeaders[k] = v
 18498  	}
 18499  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18500  	var body io.Reader = nil
 18501  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 18502  	if err != nil {
 18503  		return nil, err
 18504  	}
 18505  	reqHeaders.Set("Content-Type", "application/json")
 18506  	c.urlParams_.Set("alt", alt)
 18507  	c.urlParams_.Set("prettyPrint", "false")
 18508  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 18509  	urls += "?" + c.urlParams_.Encode()
 18510  	req, err := http.NewRequest("POST", urls, body)
 18511  	if err != nil {
 18512  		return nil, err
 18513  	}
 18514  	req.Header = reqHeaders
 18515  	googleapi.Expand(req.URL, map[string]string{
 18516  		"profileId": strconv.FormatInt(c.profileId, 10),
 18517  	})
 18518  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18519  }
 18520  
 18521  // Do executes the "dfareporting.advertisers.insert" call.
 18522  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 18523  // status code is an error. Response headers are in either
 18524  // *Advertiser.ServerResponse.Header or (if a response was returned at
 18525  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 18526  // to check whether the returned error was because
 18527  // http.StatusNotModified was returned.
 18528  func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 18529  	gensupport.SetOptions(c.urlParams_, opts...)
 18530  	res, err := c.doRequest("json")
 18531  	if res != nil && res.StatusCode == http.StatusNotModified {
 18532  		if res.Body != nil {
 18533  			res.Body.Close()
 18534  		}
 18535  		return nil, &googleapi.Error{
 18536  			Code:   res.StatusCode,
 18537  			Header: res.Header,
 18538  		}
 18539  	}
 18540  	if err != nil {
 18541  		return nil, err
 18542  	}
 18543  	defer googleapi.CloseBody(res)
 18544  	if err := googleapi.CheckResponse(res); err != nil {
 18545  		return nil, err
 18546  	}
 18547  	ret := &Advertiser{
 18548  		ServerResponse: googleapi.ServerResponse{
 18549  			Header:         res.Header,
 18550  			HTTPStatusCode: res.StatusCode,
 18551  		},
 18552  	}
 18553  	target := &ret
 18554  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18555  		return nil, err
 18556  	}
 18557  	return ret, nil
 18558  	// {
 18559  	//   "description": "Inserts a new advertiser.",
 18560  	//   "httpMethod": "POST",
 18561  	//   "id": "dfareporting.advertisers.insert",
 18562  	//   "parameterOrder": [
 18563  	//     "profileId"
 18564  	//   ],
 18565  	//   "parameters": {
 18566  	//     "profileId": {
 18567  	//       "description": "User profile ID associated with this request.",
 18568  	//       "format": "int64",
 18569  	//       "location": "path",
 18570  	//       "required": true,
 18571  	//       "type": "string"
 18572  	//     }
 18573  	//   },
 18574  	//   "path": "userprofiles/{profileId}/advertisers",
 18575  	//   "request": {
 18576  	//     "$ref": "Advertiser"
 18577  	//   },
 18578  	//   "response": {
 18579  	//     "$ref": "Advertiser"
 18580  	//   },
 18581  	//   "scopes": [
 18582  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18583  	//   ]
 18584  	// }
 18585  
 18586  }
 18587  
 18588  // method id "dfareporting.advertisers.list":
 18589  
 18590  type AdvertisersListCall struct {
 18591  	s            *Service
 18592  	profileId    int64
 18593  	urlParams_   gensupport.URLParams
 18594  	ifNoneMatch_ string
 18595  	ctx_         context.Context
 18596  	header_      http.Header
 18597  }
 18598  
 18599  // List: Retrieves a list of advertisers, possibly filtered. This method
 18600  // supports paging.
 18601  func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
 18602  	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18603  	c.profileId = profileId
 18604  	return c
 18605  }
 18606  
 18607  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 18608  // Select only advertisers with these advertiser group IDs.
 18609  func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
 18610  	var advertiserGroupIds_ []string
 18611  	for _, v := range advertiserGroupIds {
 18612  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 18613  	}
 18614  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 18615  	return c
 18616  }
 18617  
 18618  // FloodlightConfigurationIds sets the optional parameter
 18619  // "floodlightConfigurationIds": Select only advertisers with these
 18620  // floodlight configuration IDs.
 18621  func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
 18622  	var floodlightConfigurationIds_ []string
 18623  	for _, v := range floodlightConfigurationIds {
 18624  		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
 18625  	}
 18626  	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
 18627  	return c
 18628  }
 18629  
 18630  // Ids sets the optional parameter "ids": Select only advertisers with
 18631  // these IDs.
 18632  func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
 18633  	var ids_ []string
 18634  	for _, v := range ids {
 18635  		ids_ = append(ids_, fmt.Sprint(v))
 18636  	}
 18637  	c.urlParams_.SetMulti("ids", ids_)
 18638  	return c
 18639  }
 18640  
 18641  // IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
 18642  // "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
 18643  // do not belong to any advertiser group.
 18644  func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
 18645  	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
 18646  	return c
 18647  }
 18648  
 18649  // MaxResults sets the optional parameter "maxResults": Maximum number
 18650  // of results to return.
 18651  func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
 18652  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 18653  	return c
 18654  }
 18655  
 18656  // OnlyParent sets the optional parameter "onlyParent": Select only
 18657  // advertisers which use another advertiser's floodlight configuration.
 18658  func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
 18659  	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
 18660  	return c
 18661  }
 18662  
 18663  // PageToken sets the optional parameter "pageToken": Value of the
 18664  // nextPageToken from the previous result page.
 18665  func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
 18666  	c.urlParams_.Set("pageToken", pageToken)
 18667  	return c
 18668  }
 18669  
 18670  // SearchString sets the optional parameter "searchString": Allows
 18671  // searching for objects by name or ID. Wildcards (*) are allowed. For
 18672  // example, "advertiser*2015" will return objects with names like
 18673  // "advertiser June 2015", "advertiser April 2015", or simply
 18674  // "advertiser 2015". Most of the searches also add wildcards implicitly
 18675  // at the start and the end of the search string. For example, a search
 18676  // string of "advertiser" will match objects with name "my advertiser",
 18677  // "advertiser 2015", or simply "advertiser".
 18678  func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
 18679  	c.urlParams_.Set("searchString", searchString)
 18680  	return c
 18681  }
 18682  
 18683  // SortField sets the optional parameter "sortField": Field by which to
 18684  // sort the list.
 18685  //
 18686  // Possible values:
 18687  //
 18688  //	"ID" (default)
 18689  //	"NAME"
 18690  func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
 18691  	c.urlParams_.Set("sortField", sortField)
 18692  	return c
 18693  }
 18694  
 18695  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 18696  // results.
 18697  //
 18698  // Possible values:
 18699  //
 18700  //	"ASCENDING" (default)
 18701  //	"DESCENDING"
 18702  func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
 18703  	c.urlParams_.Set("sortOrder", sortOrder)
 18704  	return c
 18705  }
 18706  
 18707  // Status sets the optional parameter "status": Select only advertisers
 18708  // with the specified status.
 18709  //
 18710  // Possible values:
 18711  //
 18712  //	"APPROVED"
 18713  //	"ON_HOLD"
 18714  func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
 18715  	c.urlParams_.Set("status", status)
 18716  	return c
 18717  }
 18718  
 18719  // SubaccountId sets the optional parameter "subaccountId": Select only
 18720  // advertisers with these subaccount IDs.
 18721  func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
 18722  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 18723  	return c
 18724  }
 18725  
 18726  // Fields allows partial responses to be retrieved. See
 18727  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18728  // for more information.
 18729  func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
 18730  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18731  	return c
 18732  }
 18733  
 18734  // IfNoneMatch sets the optional parameter which makes the operation
 18735  // fail if the object's ETag matches the given value. This is useful for
 18736  // getting updates only after the object has changed since the last
 18737  // request. Use googleapi.IsNotModified to check whether the response
 18738  // error from Do is the result of In-None-Match.
 18739  func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
 18740  	c.ifNoneMatch_ = entityTag
 18741  	return c
 18742  }
 18743  
 18744  // Context sets the context to be used in this call's Do method. Any
 18745  // pending HTTP request will be aborted if the provided context is
 18746  // canceled.
 18747  func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 18748  	c.ctx_ = ctx
 18749  	return c
 18750  }
 18751  
 18752  // Header returns an http.Header that can be modified by the caller to
 18753  // add HTTP headers to the request.
 18754  func (c *AdvertisersListCall) Header() http.Header {
 18755  	if c.header_ == nil {
 18756  		c.header_ = make(http.Header)
 18757  	}
 18758  	return c.header_
 18759  }
 18760  
 18761  func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 18762  	reqHeaders := make(http.Header)
 18763  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18764  	for k, v := range c.header_ {
 18765  		reqHeaders[k] = v
 18766  	}
 18767  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18768  	if c.ifNoneMatch_ != "" {
 18769  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18770  	}
 18771  	var body io.Reader = nil
 18772  	c.urlParams_.Set("alt", alt)
 18773  	c.urlParams_.Set("prettyPrint", "false")
 18774  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 18775  	urls += "?" + c.urlParams_.Encode()
 18776  	req, err := http.NewRequest("GET", urls, body)
 18777  	if err != nil {
 18778  		return nil, err
 18779  	}
 18780  	req.Header = reqHeaders
 18781  	googleapi.Expand(req.URL, map[string]string{
 18782  		"profileId": strconv.FormatInt(c.profileId, 10),
 18783  	})
 18784  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18785  }
 18786  
 18787  // Do executes the "dfareporting.advertisers.list" call.
 18788  // Exactly one of *AdvertisersListResponse or error will be non-nil. Any
 18789  // non-2xx status code is an error. Response headers are in either
 18790  // *AdvertisersListResponse.ServerResponse.Header or (if a response was
 18791  // returned at all) in error.(*googleapi.Error).Header. Use
 18792  // googleapi.IsNotModified to check whether the returned error was
 18793  // because http.StatusNotModified was returned.
 18794  func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
 18795  	gensupport.SetOptions(c.urlParams_, opts...)
 18796  	res, err := c.doRequest("json")
 18797  	if res != nil && res.StatusCode == http.StatusNotModified {
 18798  		if res.Body != nil {
 18799  			res.Body.Close()
 18800  		}
 18801  		return nil, &googleapi.Error{
 18802  			Code:   res.StatusCode,
 18803  			Header: res.Header,
 18804  		}
 18805  	}
 18806  	if err != nil {
 18807  		return nil, err
 18808  	}
 18809  	defer googleapi.CloseBody(res)
 18810  	if err := googleapi.CheckResponse(res); err != nil {
 18811  		return nil, err
 18812  	}
 18813  	ret := &AdvertisersListResponse{
 18814  		ServerResponse: googleapi.ServerResponse{
 18815  			Header:         res.Header,
 18816  			HTTPStatusCode: res.StatusCode,
 18817  		},
 18818  	}
 18819  	target := &ret
 18820  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18821  		return nil, err
 18822  	}
 18823  	return ret, nil
 18824  	// {
 18825  	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
 18826  	//   "httpMethod": "GET",
 18827  	//   "id": "dfareporting.advertisers.list",
 18828  	//   "parameterOrder": [
 18829  	//     "profileId"
 18830  	//   ],
 18831  	//   "parameters": {
 18832  	//     "advertiserGroupIds": {
 18833  	//       "description": "Select only advertisers with these advertiser group IDs.",
 18834  	//       "format": "int64",
 18835  	//       "location": "query",
 18836  	//       "repeated": true,
 18837  	//       "type": "string"
 18838  	//     },
 18839  	//     "floodlightConfigurationIds": {
 18840  	//       "description": "Select only advertisers with these floodlight configuration IDs.",
 18841  	//       "format": "int64",
 18842  	//       "location": "query",
 18843  	//       "repeated": true,
 18844  	//       "type": "string"
 18845  	//     },
 18846  	//     "ids": {
 18847  	//       "description": "Select only advertisers with these IDs.",
 18848  	//       "format": "int64",
 18849  	//       "location": "query",
 18850  	//       "repeated": true,
 18851  	//       "type": "string"
 18852  	//     },
 18853  	//     "includeAdvertisersWithoutGroupsOnly": {
 18854  	//       "description": "Select only advertisers which do not belong to any advertiser group.",
 18855  	//       "location": "query",
 18856  	//       "type": "boolean"
 18857  	//     },
 18858  	//     "maxResults": {
 18859  	//       "default": "1000",
 18860  	//       "description": "Maximum number of results to return.",
 18861  	//       "format": "int32",
 18862  	//       "location": "query",
 18863  	//       "maximum": "1000",
 18864  	//       "minimum": "0",
 18865  	//       "type": "integer"
 18866  	//     },
 18867  	//     "onlyParent": {
 18868  	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
 18869  	//       "location": "query",
 18870  	//       "type": "boolean"
 18871  	//     },
 18872  	//     "pageToken": {
 18873  	//       "description": "Value of the nextPageToken from the previous result page.",
 18874  	//       "location": "query",
 18875  	//       "type": "string"
 18876  	//     },
 18877  	//     "profileId": {
 18878  	//       "description": "User profile ID associated with this request.",
 18879  	//       "format": "int64",
 18880  	//       "location": "path",
 18881  	//       "required": true,
 18882  	//       "type": "string"
 18883  	//     },
 18884  	//     "searchString": {
 18885  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser June 2015\", \"advertiser April 2015\", or simply \"advertiser 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertiser\" will match objects with name \"my advertiser\", \"advertiser 2015\", or simply \"advertiser\".",
 18886  	//       "location": "query",
 18887  	//       "type": "string"
 18888  	//     },
 18889  	//     "sortField": {
 18890  	//       "default": "ID",
 18891  	//       "description": "Field by which to sort the list.",
 18892  	//       "enum": [
 18893  	//         "ID",
 18894  	//         "NAME"
 18895  	//       ],
 18896  	//       "enumDescriptions": [
 18897  	//         "",
 18898  	//         ""
 18899  	//       ],
 18900  	//       "location": "query",
 18901  	//       "type": "string"
 18902  	//     },
 18903  	//     "sortOrder": {
 18904  	//       "default": "ASCENDING",
 18905  	//       "description": "Order of sorted results.",
 18906  	//       "enum": [
 18907  	//         "ASCENDING",
 18908  	//         "DESCENDING"
 18909  	//       ],
 18910  	//       "enumDescriptions": [
 18911  	//         "",
 18912  	//         ""
 18913  	//       ],
 18914  	//       "location": "query",
 18915  	//       "type": "string"
 18916  	//     },
 18917  	//     "status": {
 18918  	//       "description": "Select only advertisers with the specified status.",
 18919  	//       "enum": [
 18920  	//         "APPROVED",
 18921  	//         "ON_HOLD"
 18922  	//       ],
 18923  	//       "enumDescriptions": [
 18924  	//         "",
 18925  	//         ""
 18926  	//       ],
 18927  	//       "location": "query",
 18928  	//       "type": "string"
 18929  	//     },
 18930  	//     "subaccountId": {
 18931  	//       "description": "Select only advertisers with these subaccount IDs.",
 18932  	//       "format": "int64",
 18933  	//       "location": "query",
 18934  	//       "type": "string"
 18935  	//     }
 18936  	//   },
 18937  	//   "path": "userprofiles/{profileId}/advertisers",
 18938  	//   "response": {
 18939  	//     "$ref": "AdvertisersListResponse"
 18940  	//   },
 18941  	//   "scopes": [
 18942  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18943  	//   ]
 18944  	// }
 18945  
 18946  }
 18947  
 18948  // Pages invokes f for each page of results.
 18949  // A non-nil error returned from f will halt the iteration.
 18950  // The provided context supersedes any context provided to the Context method.
 18951  func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
 18952  	c.ctx_ = ctx
 18953  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 18954  	for {
 18955  		x, err := c.Do()
 18956  		if err != nil {
 18957  			return err
 18958  		}
 18959  		if err := f(x); err != nil {
 18960  			return err
 18961  		}
 18962  		if x.NextPageToken == "" {
 18963  			return nil
 18964  		}
 18965  		c.PageToken(x.NextPageToken)
 18966  	}
 18967  }
 18968  
 18969  // method id "dfareporting.advertisers.patch":
 18970  
 18971  type AdvertisersPatchCall struct {
 18972  	s          *Service
 18973  	profileId  int64
 18974  	advertiser *Advertiser
 18975  	urlParams_ gensupport.URLParams
 18976  	ctx_       context.Context
 18977  	header_    http.Header
 18978  }
 18979  
 18980  // Patch: Updates an existing advertiser. This method supports patch
 18981  // semantics.
 18982  func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
 18983  	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18984  	c.profileId = profileId
 18985  	c.urlParams_.Set("id", fmt.Sprint(id))
 18986  	c.advertiser = advertiser
 18987  	return c
 18988  }
 18989  
 18990  // Fields allows partial responses to be retrieved. See
 18991  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18992  // for more information.
 18993  func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
 18994  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18995  	return c
 18996  }
 18997  
 18998  // Context sets the context to be used in this call's Do method. Any
 18999  // pending HTTP request will be aborted if the provided context is
 19000  // canceled.
 19001  func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 19002  	c.ctx_ = ctx
 19003  	return c
 19004  }
 19005  
 19006  // Header returns an http.Header that can be modified by the caller to
 19007  // add HTTP headers to the request.
 19008  func (c *AdvertisersPatchCall) Header() http.Header {
 19009  	if c.header_ == nil {
 19010  		c.header_ = make(http.Header)
 19011  	}
 19012  	return c.header_
 19013  }
 19014  
 19015  func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 19016  	reqHeaders := make(http.Header)
 19017  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19018  	for k, v := range c.header_ {
 19019  		reqHeaders[k] = v
 19020  	}
 19021  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19022  	var body io.Reader = nil
 19023  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 19024  	if err != nil {
 19025  		return nil, err
 19026  	}
 19027  	reqHeaders.Set("Content-Type", "application/json")
 19028  	c.urlParams_.Set("alt", alt)
 19029  	c.urlParams_.Set("prettyPrint", "false")
 19030  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 19031  	urls += "?" + c.urlParams_.Encode()
 19032  	req, err := http.NewRequest("PATCH", urls, body)
 19033  	if err != nil {
 19034  		return nil, err
 19035  	}
 19036  	req.Header = reqHeaders
 19037  	googleapi.Expand(req.URL, map[string]string{
 19038  		"profileId": strconv.FormatInt(c.profileId, 10),
 19039  	})
 19040  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19041  }
 19042  
 19043  // Do executes the "dfareporting.advertisers.patch" call.
 19044  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 19045  // status code is an error. Response headers are in either
 19046  // *Advertiser.ServerResponse.Header or (if a response was returned at
 19047  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19048  // to check whether the returned error was because
 19049  // http.StatusNotModified was returned.
 19050  func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 19051  	gensupport.SetOptions(c.urlParams_, opts...)
 19052  	res, err := c.doRequest("json")
 19053  	if res != nil && res.StatusCode == http.StatusNotModified {
 19054  		if res.Body != nil {
 19055  			res.Body.Close()
 19056  		}
 19057  		return nil, &googleapi.Error{
 19058  			Code:   res.StatusCode,
 19059  			Header: res.Header,
 19060  		}
 19061  	}
 19062  	if err != nil {
 19063  		return nil, err
 19064  	}
 19065  	defer googleapi.CloseBody(res)
 19066  	if err := googleapi.CheckResponse(res); err != nil {
 19067  		return nil, err
 19068  	}
 19069  	ret := &Advertiser{
 19070  		ServerResponse: googleapi.ServerResponse{
 19071  			Header:         res.Header,
 19072  			HTTPStatusCode: res.StatusCode,
 19073  		},
 19074  	}
 19075  	target := &ret
 19076  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19077  		return nil, err
 19078  	}
 19079  	return ret, nil
 19080  	// {
 19081  	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
 19082  	//   "httpMethod": "PATCH",
 19083  	//   "id": "dfareporting.advertisers.patch",
 19084  	//   "parameterOrder": [
 19085  	//     "profileId",
 19086  	//     "id"
 19087  	//   ],
 19088  	//   "parameters": {
 19089  	//     "id": {
 19090  	//       "description": "Advertiser ID.",
 19091  	//       "format": "int64",
 19092  	//       "location": "query",
 19093  	//       "required": true,
 19094  	//       "type": "string"
 19095  	//     },
 19096  	//     "profileId": {
 19097  	//       "description": "User profile ID associated with this request.",
 19098  	//       "format": "int64",
 19099  	//       "location": "path",
 19100  	//       "required": true,
 19101  	//       "type": "string"
 19102  	//     }
 19103  	//   },
 19104  	//   "path": "userprofiles/{profileId}/advertisers",
 19105  	//   "request": {
 19106  	//     "$ref": "Advertiser"
 19107  	//   },
 19108  	//   "response": {
 19109  	//     "$ref": "Advertiser"
 19110  	//   },
 19111  	//   "scopes": [
 19112  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19113  	//   ]
 19114  	// }
 19115  
 19116  }
 19117  
 19118  // method id "dfareporting.advertisers.update":
 19119  
 19120  type AdvertisersUpdateCall struct {
 19121  	s          *Service
 19122  	profileId  int64
 19123  	advertiser *Advertiser
 19124  	urlParams_ gensupport.URLParams
 19125  	ctx_       context.Context
 19126  	header_    http.Header
 19127  }
 19128  
 19129  // Update: Updates an existing advertiser.
 19130  func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
 19131  	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19132  	c.profileId = profileId
 19133  	c.advertiser = advertiser
 19134  	return c
 19135  }
 19136  
 19137  // Fields allows partial responses to be retrieved. See
 19138  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19139  // for more information.
 19140  func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
 19141  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19142  	return c
 19143  }
 19144  
 19145  // Context sets the context to be used in this call's Do method. Any
 19146  // pending HTTP request will be aborted if the provided context is
 19147  // canceled.
 19148  func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
 19149  	c.ctx_ = ctx
 19150  	return c
 19151  }
 19152  
 19153  // Header returns an http.Header that can be modified by the caller to
 19154  // add HTTP headers to the request.
 19155  func (c *AdvertisersUpdateCall) Header() http.Header {
 19156  	if c.header_ == nil {
 19157  		c.header_ = make(http.Header)
 19158  	}
 19159  	return c.header_
 19160  }
 19161  
 19162  func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
 19163  	reqHeaders := make(http.Header)
 19164  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19165  	for k, v := range c.header_ {
 19166  		reqHeaders[k] = v
 19167  	}
 19168  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19169  	var body io.Reader = nil
 19170  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 19171  	if err != nil {
 19172  		return nil, err
 19173  	}
 19174  	reqHeaders.Set("Content-Type", "application/json")
 19175  	c.urlParams_.Set("alt", alt)
 19176  	c.urlParams_.Set("prettyPrint", "false")
 19177  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 19178  	urls += "?" + c.urlParams_.Encode()
 19179  	req, err := http.NewRequest("PUT", urls, body)
 19180  	if err != nil {
 19181  		return nil, err
 19182  	}
 19183  	req.Header = reqHeaders
 19184  	googleapi.Expand(req.URL, map[string]string{
 19185  		"profileId": strconv.FormatInt(c.profileId, 10),
 19186  	})
 19187  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19188  }
 19189  
 19190  // Do executes the "dfareporting.advertisers.update" call.
 19191  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 19192  // status code is an error. Response headers are in either
 19193  // *Advertiser.ServerResponse.Header or (if a response was returned at
 19194  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19195  // to check whether the returned error was because
 19196  // http.StatusNotModified was returned.
 19197  func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 19198  	gensupport.SetOptions(c.urlParams_, opts...)
 19199  	res, err := c.doRequest("json")
 19200  	if res != nil && res.StatusCode == http.StatusNotModified {
 19201  		if res.Body != nil {
 19202  			res.Body.Close()
 19203  		}
 19204  		return nil, &googleapi.Error{
 19205  			Code:   res.StatusCode,
 19206  			Header: res.Header,
 19207  		}
 19208  	}
 19209  	if err != nil {
 19210  		return nil, err
 19211  	}
 19212  	defer googleapi.CloseBody(res)
 19213  	if err := googleapi.CheckResponse(res); err != nil {
 19214  		return nil, err
 19215  	}
 19216  	ret := &Advertiser{
 19217  		ServerResponse: googleapi.ServerResponse{
 19218  			Header:         res.Header,
 19219  			HTTPStatusCode: res.StatusCode,
 19220  		},
 19221  	}
 19222  	target := &ret
 19223  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19224  		return nil, err
 19225  	}
 19226  	return ret, nil
 19227  	// {
 19228  	//   "description": "Updates an existing advertiser.",
 19229  	//   "httpMethod": "PUT",
 19230  	//   "id": "dfareporting.advertisers.update",
 19231  	//   "parameterOrder": [
 19232  	//     "profileId"
 19233  	//   ],
 19234  	//   "parameters": {
 19235  	//     "profileId": {
 19236  	//       "description": "User profile ID associated with this request.",
 19237  	//       "format": "int64",
 19238  	//       "location": "path",
 19239  	//       "required": true,
 19240  	//       "type": "string"
 19241  	//     }
 19242  	//   },
 19243  	//   "path": "userprofiles/{profileId}/advertisers",
 19244  	//   "request": {
 19245  	//     "$ref": "Advertiser"
 19246  	//   },
 19247  	//   "response": {
 19248  	//     "$ref": "Advertiser"
 19249  	//   },
 19250  	//   "scopes": [
 19251  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19252  	//   ]
 19253  	// }
 19254  
 19255  }
 19256  
 19257  // method id "dfareporting.browsers.list":
 19258  
 19259  type BrowsersListCall struct {
 19260  	s            *Service
 19261  	profileId    int64
 19262  	urlParams_   gensupport.URLParams
 19263  	ifNoneMatch_ string
 19264  	ctx_         context.Context
 19265  	header_      http.Header
 19266  }
 19267  
 19268  // List: Retrieves a list of browsers.
 19269  func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
 19270  	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19271  	c.profileId = profileId
 19272  	return c
 19273  }
 19274  
 19275  // Fields allows partial responses to be retrieved. See
 19276  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19277  // for more information.
 19278  func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
 19279  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19280  	return c
 19281  }
 19282  
 19283  // IfNoneMatch sets the optional parameter which makes the operation
 19284  // fail if the object's ETag matches the given value. This is useful for
 19285  // getting updates only after the object has changed since the last
 19286  // request. Use googleapi.IsNotModified to check whether the response
 19287  // error from Do is the result of In-None-Match.
 19288  func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
 19289  	c.ifNoneMatch_ = entityTag
 19290  	return c
 19291  }
 19292  
 19293  // Context sets the context to be used in this call's Do method. Any
 19294  // pending HTTP request will be aborted if the provided context is
 19295  // canceled.
 19296  func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
 19297  	c.ctx_ = ctx
 19298  	return c
 19299  }
 19300  
 19301  // Header returns an http.Header that can be modified by the caller to
 19302  // add HTTP headers to the request.
 19303  func (c *BrowsersListCall) Header() http.Header {
 19304  	if c.header_ == nil {
 19305  		c.header_ = make(http.Header)
 19306  	}
 19307  	return c.header_
 19308  }
 19309  
 19310  func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 19311  	reqHeaders := make(http.Header)
 19312  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19313  	for k, v := range c.header_ {
 19314  		reqHeaders[k] = v
 19315  	}
 19316  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19317  	if c.ifNoneMatch_ != "" {
 19318  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19319  	}
 19320  	var body io.Reader = nil
 19321  	c.urlParams_.Set("alt", alt)
 19322  	c.urlParams_.Set("prettyPrint", "false")
 19323  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
 19324  	urls += "?" + c.urlParams_.Encode()
 19325  	req, err := http.NewRequest("GET", urls, body)
 19326  	if err != nil {
 19327  		return nil, err
 19328  	}
 19329  	req.Header = reqHeaders
 19330  	googleapi.Expand(req.URL, map[string]string{
 19331  		"profileId": strconv.FormatInt(c.profileId, 10),
 19332  	})
 19333  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19334  }
 19335  
 19336  // Do executes the "dfareporting.browsers.list" call.
 19337  // Exactly one of *BrowsersListResponse or error will be non-nil. Any
 19338  // non-2xx status code is an error. Response headers are in either
 19339  // *BrowsersListResponse.ServerResponse.Header or (if a response was
 19340  // returned at all) in error.(*googleapi.Error).Header. Use
 19341  // googleapi.IsNotModified to check whether the returned error was
 19342  // because http.StatusNotModified was returned.
 19343  func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
 19344  	gensupport.SetOptions(c.urlParams_, opts...)
 19345  	res, err := c.doRequest("json")
 19346  	if res != nil && res.StatusCode == http.StatusNotModified {
 19347  		if res.Body != nil {
 19348  			res.Body.Close()
 19349  		}
 19350  		return nil, &googleapi.Error{
 19351  			Code:   res.StatusCode,
 19352  			Header: res.Header,
 19353  		}
 19354  	}
 19355  	if err != nil {
 19356  		return nil, err
 19357  	}
 19358  	defer googleapi.CloseBody(res)
 19359  	if err := googleapi.CheckResponse(res); err != nil {
 19360  		return nil, err
 19361  	}
 19362  	ret := &BrowsersListResponse{
 19363  		ServerResponse: googleapi.ServerResponse{
 19364  			Header:         res.Header,
 19365  			HTTPStatusCode: res.StatusCode,
 19366  		},
 19367  	}
 19368  	target := &ret
 19369  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19370  		return nil, err
 19371  	}
 19372  	return ret, nil
 19373  	// {
 19374  	//   "description": "Retrieves a list of browsers.",
 19375  	//   "httpMethod": "GET",
 19376  	//   "id": "dfareporting.browsers.list",
 19377  	//   "parameterOrder": [
 19378  	//     "profileId"
 19379  	//   ],
 19380  	//   "parameters": {
 19381  	//     "profileId": {
 19382  	//       "description": "User profile ID associated with this request.",
 19383  	//       "format": "int64",
 19384  	//       "location": "path",
 19385  	//       "required": true,
 19386  	//       "type": "string"
 19387  	//     }
 19388  	//   },
 19389  	//   "path": "userprofiles/{profileId}/browsers",
 19390  	//   "response": {
 19391  	//     "$ref": "BrowsersListResponse"
 19392  	//   },
 19393  	//   "scopes": [
 19394  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19395  	//   ]
 19396  	// }
 19397  
 19398  }
 19399  
 19400  // method id "dfareporting.campaignCreativeAssociations.insert":
 19401  
 19402  type CampaignCreativeAssociationsInsertCall struct {
 19403  	s                           *Service
 19404  	profileId                   int64
 19405  	campaignId                  int64
 19406  	campaigncreativeassociation *CampaignCreativeAssociation
 19407  	urlParams_                  gensupport.URLParams
 19408  	ctx_                        context.Context
 19409  	header_                     http.Header
 19410  }
 19411  
 19412  // Insert: Associates a creative with the specified campaign. This
 19413  // method creates a default ad with dimensions matching the creative in
 19414  // the campaign if such a default ad does not exist already.
 19415  func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
 19416  	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19417  	c.profileId = profileId
 19418  	c.campaignId = campaignId
 19419  	c.campaigncreativeassociation = campaigncreativeassociation
 19420  	return c
 19421  }
 19422  
 19423  // Fields allows partial responses to be retrieved. See
 19424  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19425  // for more information.
 19426  func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
 19427  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19428  	return c
 19429  }
 19430  
 19431  // Context sets the context to be used in this call's Do method. Any
 19432  // pending HTTP request will be aborted if the provided context is
 19433  // canceled.
 19434  func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
 19435  	c.ctx_ = ctx
 19436  	return c
 19437  }
 19438  
 19439  // Header returns an http.Header that can be modified by the caller to
 19440  // add HTTP headers to the request.
 19441  func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
 19442  	if c.header_ == nil {
 19443  		c.header_ = make(http.Header)
 19444  	}
 19445  	return c.header_
 19446  }
 19447  
 19448  func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
 19449  	reqHeaders := make(http.Header)
 19450  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19451  	for k, v := range c.header_ {
 19452  		reqHeaders[k] = v
 19453  	}
 19454  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19455  	var body io.Reader = nil
 19456  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
 19457  	if err != nil {
 19458  		return nil, err
 19459  	}
 19460  	reqHeaders.Set("Content-Type", "application/json")
 19461  	c.urlParams_.Set("alt", alt)
 19462  	c.urlParams_.Set("prettyPrint", "false")
 19463  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 19464  	urls += "?" + c.urlParams_.Encode()
 19465  	req, err := http.NewRequest("POST", urls, body)
 19466  	if err != nil {
 19467  		return nil, err
 19468  	}
 19469  	req.Header = reqHeaders
 19470  	googleapi.Expand(req.URL, map[string]string{
 19471  		"profileId":  strconv.FormatInt(c.profileId, 10),
 19472  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 19473  	})
 19474  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19475  }
 19476  
 19477  // Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
 19478  // Exactly one of *CampaignCreativeAssociation or error will be non-nil.
 19479  // Any non-2xx status code is an error. Response headers are in either
 19480  // *CampaignCreativeAssociation.ServerResponse.Header or (if a response
 19481  // was returned at all) in error.(*googleapi.Error).Header. Use
 19482  // googleapi.IsNotModified to check whether the returned error was
 19483  // because http.StatusNotModified was returned.
 19484  func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
 19485  	gensupport.SetOptions(c.urlParams_, opts...)
 19486  	res, err := c.doRequest("json")
 19487  	if res != nil && res.StatusCode == http.StatusNotModified {
 19488  		if res.Body != nil {
 19489  			res.Body.Close()
 19490  		}
 19491  		return nil, &googleapi.Error{
 19492  			Code:   res.StatusCode,
 19493  			Header: res.Header,
 19494  		}
 19495  	}
 19496  	if err != nil {
 19497  		return nil, err
 19498  	}
 19499  	defer googleapi.CloseBody(res)
 19500  	if err := googleapi.CheckResponse(res); err != nil {
 19501  		return nil, err
 19502  	}
 19503  	ret := &CampaignCreativeAssociation{
 19504  		ServerResponse: googleapi.ServerResponse{
 19505  			Header:         res.Header,
 19506  			HTTPStatusCode: res.StatusCode,
 19507  		},
 19508  	}
 19509  	target := &ret
 19510  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19511  		return nil, err
 19512  	}
 19513  	return ret, nil
 19514  	// {
 19515  	//   "description": "Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.",
 19516  	//   "httpMethod": "POST",
 19517  	//   "id": "dfareporting.campaignCreativeAssociations.insert",
 19518  	//   "parameterOrder": [
 19519  	//     "profileId",
 19520  	//     "campaignId"
 19521  	//   ],
 19522  	//   "parameters": {
 19523  	//     "campaignId": {
 19524  	//       "description": "Campaign ID in this association.",
 19525  	//       "format": "int64",
 19526  	//       "location": "path",
 19527  	//       "required": true,
 19528  	//       "type": "string"
 19529  	//     },
 19530  	//     "profileId": {
 19531  	//       "description": "User profile ID associated with this request.",
 19532  	//       "format": "int64",
 19533  	//       "location": "path",
 19534  	//       "required": true,
 19535  	//       "type": "string"
 19536  	//     }
 19537  	//   },
 19538  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 19539  	//   "request": {
 19540  	//     "$ref": "CampaignCreativeAssociation"
 19541  	//   },
 19542  	//   "response": {
 19543  	//     "$ref": "CampaignCreativeAssociation"
 19544  	//   },
 19545  	//   "scopes": [
 19546  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19547  	//   ]
 19548  	// }
 19549  
 19550  }
 19551  
 19552  // method id "dfareporting.campaignCreativeAssociations.list":
 19553  
 19554  type CampaignCreativeAssociationsListCall struct {
 19555  	s            *Service
 19556  	profileId    int64
 19557  	campaignId   int64
 19558  	urlParams_   gensupport.URLParams
 19559  	ifNoneMatch_ string
 19560  	ctx_         context.Context
 19561  	header_      http.Header
 19562  }
 19563  
 19564  // List: Retrieves the list of creative IDs associated with the
 19565  // specified campaign. This method supports paging.
 19566  func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
 19567  	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19568  	c.profileId = profileId
 19569  	c.campaignId = campaignId
 19570  	return c
 19571  }
 19572  
 19573  // MaxResults sets the optional parameter "maxResults": Maximum number
 19574  // of results to return.
 19575  func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
 19576  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 19577  	return c
 19578  }
 19579  
 19580  // PageToken sets the optional parameter "pageToken": Value of the
 19581  // nextPageToken from the previous result page.
 19582  func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
 19583  	c.urlParams_.Set("pageToken", pageToken)
 19584  	return c
 19585  }
 19586  
 19587  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 19588  // results.
 19589  //
 19590  // Possible values:
 19591  //
 19592  //	"ASCENDING" (default)
 19593  //	"DESCENDING"
 19594  func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
 19595  	c.urlParams_.Set("sortOrder", sortOrder)
 19596  	return c
 19597  }
 19598  
 19599  // Fields allows partial responses to be retrieved. See
 19600  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19601  // for more information.
 19602  func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
 19603  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19604  	return c
 19605  }
 19606  
 19607  // IfNoneMatch sets the optional parameter which makes the operation
 19608  // fail if the object's ETag matches the given value. This is useful for
 19609  // getting updates only after the object has changed since the last
 19610  // request. Use googleapi.IsNotModified to check whether the response
 19611  // error from Do is the result of In-None-Match.
 19612  func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
 19613  	c.ifNoneMatch_ = entityTag
 19614  	return c
 19615  }
 19616  
 19617  // Context sets the context to be used in this call's Do method. Any
 19618  // pending HTTP request will be aborted if the provided context is
 19619  // canceled.
 19620  func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
 19621  	c.ctx_ = ctx
 19622  	return c
 19623  }
 19624  
 19625  // Header returns an http.Header that can be modified by the caller to
 19626  // add HTTP headers to the request.
 19627  func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
 19628  	if c.header_ == nil {
 19629  		c.header_ = make(http.Header)
 19630  	}
 19631  	return c.header_
 19632  }
 19633  
 19634  func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 19635  	reqHeaders := make(http.Header)
 19636  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19637  	for k, v := range c.header_ {
 19638  		reqHeaders[k] = v
 19639  	}
 19640  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19641  	if c.ifNoneMatch_ != "" {
 19642  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19643  	}
 19644  	var body io.Reader = nil
 19645  	c.urlParams_.Set("alt", alt)
 19646  	c.urlParams_.Set("prettyPrint", "false")
 19647  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 19648  	urls += "?" + c.urlParams_.Encode()
 19649  	req, err := http.NewRequest("GET", urls, body)
 19650  	if err != nil {
 19651  		return nil, err
 19652  	}
 19653  	req.Header = reqHeaders
 19654  	googleapi.Expand(req.URL, map[string]string{
 19655  		"profileId":  strconv.FormatInt(c.profileId, 10),
 19656  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 19657  	})
 19658  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19659  }
 19660  
 19661  // Do executes the "dfareporting.campaignCreativeAssociations.list" call.
 19662  // Exactly one of *CampaignCreativeAssociationsListResponse or error
 19663  // will be non-nil. Any non-2xx status code is an error. Response
 19664  // headers are in either
 19665  // *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
 19666  // (if a response was returned at all) in
 19667  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19668  // whether the returned error was because http.StatusNotModified was
 19669  // returned.
 19670  func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
 19671  	gensupport.SetOptions(c.urlParams_, opts...)
 19672  	res, err := c.doRequest("json")
 19673  	if res != nil && res.StatusCode == http.StatusNotModified {
 19674  		if res.Body != nil {
 19675  			res.Body.Close()
 19676  		}
 19677  		return nil, &googleapi.Error{
 19678  			Code:   res.StatusCode,
 19679  			Header: res.Header,
 19680  		}
 19681  	}
 19682  	if err != nil {
 19683  		return nil, err
 19684  	}
 19685  	defer googleapi.CloseBody(res)
 19686  	if err := googleapi.CheckResponse(res); err != nil {
 19687  		return nil, err
 19688  	}
 19689  	ret := &CampaignCreativeAssociationsListResponse{
 19690  		ServerResponse: googleapi.ServerResponse{
 19691  			Header:         res.Header,
 19692  			HTTPStatusCode: res.StatusCode,
 19693  		},
 19694  	}
 19695  	target := &ret
 19696  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19697  		return nil, err
 19698  	}
 19699  	return ret, nil
 19700  	// {
 19701  	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
 19702  	//   "httpMethod": "GET",
 19703  	//   "id": "dfareporting.campaignCreativeAssociations.list",
 19704  	//   "parameterOrder": [
 19705  	//     "profileId",
 19706  	//     "campaignId"
 19707  	//   ],
 19708  	//   "parameters": {
 19709  	//     "campaignId": {
 19710  	//       "description": "Campaign ID in this association.",
 19711  	//       "format": "int64",
 19712  	//       "location": "path",
 19713  	//       "required": true,
 19714  	//       "type": "string"
 19715  	//     },
 19716  	//     "maxResults": {
 19717  	//       "default": "1000",
 19718  	//       "description": "Maximum number of results to return.",
 19719  	//       "format": "int32",
 19720  	//       "location": "query",
 19721  	//       "maximum": "1000",
 19722  	//       "minimum": "0",
 19723  	//       "type": "integer"
 19724  	//     },
 19725  	//     "pageToken": {
 19726  	//       "description": "Value of the nextPageToken from the previous result page.",
 19727  	//       "location": "query",
 19728  	//       "type": "string"
 19729  	//     },
 19730  	//     "profileId": {
 19731  	//       "description": "User profile ID associated with this request.",
 19732  	//       "format": "int64",
 19733  	//       "location": "path",
 19734  	//       "required": true,
 19735  	//       "type": "string"
 19736  	//     },
 19737  	//     "sortOrder": {
 19738  	//       "default": "ASCENDING",
 19739  	//       "description": "Order of sorted results.",
 19740  	//       "enum": [
 19741  	//         "ASCENDING",
 19742  	//         "DESCENDING"
 19743  	//       ],
 19744  	//       "enumDescriptions": [
 19745  	//         "",
 19746  	//         ""
 19747  	//       ],
 19748  	//       "location": "query",
 19749  	//       "type": "string"
 19750  	//     }
 19751  	//   },
 19752  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 19753  	//   "response": {
 19754  	//     "$ref": "CampaignCreativeAssociationsListResponse"
 19755  	//   },
 19756  	//   "scopes": [
 19757  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19758  	//   ]
 19759  	// }
 19760  
 19761  }
 19762  
 19763  // Pages invokes f for each page of results.
 19764  // A non-nil error returned from f will halt the iteration.
 19765  // The provided context supersedes any context provided to the Context method.
 19766  func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
 19767  	c.ctx_ = ctx
 19768  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 19769  	for {
 19770  		x, err := c.Do()
 19771  		if err != nil {
 19772  			return err
 19773  		}
 19774  		if err := f(x); err != nil {
 19775  			return err
 19776  		}
 19777  		if x.NextPageToken == "" {
 19778  			return nil
 19779  		}
 19780  		c.PageToken(x.NextPageToken)
 19781  	}
 19782  }
 19783  
 19784  // method id "dfareporting.campaigns.get":
 19785  
 19786  type CampaignsGetCall struct {
 19787  	s            *Service
 19788  	profileId    int64
 19789  	id           int64
 19790  	urlParams_   gensupport.URLParams
 19791  	ifNoneMatch_ string
 19792  	ctx_         context.Context
 19793  	header_      http.Header
 19794  }
 19795  
 19796  // Get: Gets one campaign by ID.
 19797  func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
 19798  	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19799  	c.profileId = profileId
 19800  	c.id = id
 19801  	return c
 19802  }
 19803  
 19804  // Fields allows partial responses to be retrieved. See
 19805  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19806  // for more information.
 19807  func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
 19808  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19809  	return c
 19810  }
 19811  
 19812  // IfNoneMatch sets the optional parameter which makes the operation
 19813  // fail if the object's ETag matches the given value. This is useful for
 19814  // getting updates only after the object has changed since the last
 19815  // request. Use googleapi.IsNotModified to check whether the response
 19816  // error from Do is the result of In-None-Match.
 19817  func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
 19818  	c.ifNoneMatch_ = entityTag
 19819  	return c
 19820  }
 19821  
 19822  // Context sets the context to be used in this call's Do method. Any
 19823  // pending HTTP request will be aborted if the provided context is
 19824  // canceled.
 19825  func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
 19826  	c.ctx_ = ctx
 19827  	return c
 19828  }
 19829  
 19830  // Header returns an http.Header that can be modified by the caller to
 19831  // add HTTP headers to the request.
 19832  func (c *CampaignsGetCall) Header() http.Header {
 19833  	if c.header_ == nil {
 19834  		c.header_ = make(http.Header)
 19835  	}
 19836  	return c.header_
 19837  }
 19838  
 19839  func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 19840  	reqHeaders := make(http.Header)
 19841  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19842  	for k, v := range c.header_ {
 19843  		reqHeaders[k] = v
 19844  	}
 19845  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19846  	if c.ifNoneMatch_ != "" {
 19847  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19848  	}
 19849  	var body io.Reader = nil
 19850  	c.urlParams_.Set("alt", alt)
 19851  	c.urlParams_.Set("prettyPrint", "false")
 19852  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
 19853  	urls += "?" + c.urlParams_.Encode()
 19854  	req, err := http.NewRequest("GET", urls, body)
 19855  	if err != nil {
 19856  		return nil, err
 19857  	}
 19858  	req.Header = reqHeaders
 19859  	googleapi.Expand(req.URL, map[string]string{
 19860  		"profileId": strconv.FormatInt(c.profileId, 10),
 19861  		"id":        strconv.FormatInt(c.id, 10),
 19862  	})
 19863  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19864  }
 19865  
 19866  // Do executes the "dfareporting.campaigns.get" call.
 19867  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 19868  // code is an error. Response headers are in either
 19869  // *Campaign.ServerResponse.Header or (if a response was returned at
 19870  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19871  // to check whether the returned error was because
 19872  // http.StatusNotModified was returned.
 19873  func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 19874  	gensupport.SetOptions(c.urlParams_, opts...)
 19875  	res, err := c.doRequest("json")
 19876  	if res != nil && res.StatusCode == http.StatusNotModified {
 19877  		if res.Body != nil {
 19878  			res.Body.Close()
 19879  		}
 19880  		return nil, &googleapi.Error{
 19881  			Code:   res.StatusCode,
 19882  			Header: res.Header,
 19883  		}
 19884  	}
 19885  	if err != nil {
 19886  		return nil, err
 19887  	}
 19888  	defer googleapi.CloseBody(res)
 19889  	if err := googleapi.CheckResponse(res); err != nil {
 19890  		return nil, err
 19891  	}
 19892  	ret := &Campaign{
 19893  		ServerResponse: googleapi.ServerResponse{
 19894  			Header:         res.Header,
 19895  			HTTPStatusCode: res.StatusCode,
 19896  		},
 19897  	}
 19898  	target := &ret
 19899  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19900  		return nil, err
 19901  	}
 19902  	return ret, nil
 19903  	// {
 19904  	//   "description": "Gets one campaign by ID.",
 19905  	//   "httpMethod": "GET",
 19906  	//   "id": "dfareporting.campaigns.get",
 19907  	//   "parameterOrder": [
 19908  	//     "profileId",
 19909  	//     "id"
 19910  	//   ],
 19911  	//   "parameters": {
 19912  	//     "id": {
 19913  	//       "description": "Campaign ID.",
 19914  	//       "format": "int64",
 19915  	//       "location": "path",
 19916  	//       "required": true,
 19917  	//       "type": "string"
 19918  	//     },
 19919  	//     "profileId": {
 19920  	//       "description": "User profile ID associated with this request.",
 19921  	//       "format": "int64",
 19922  	//       "location": "path",
 19923  	//       "required": true,
 19924  	//       "type": "string"
 19925  	//     }
 19926  	//   },
 19927  	//   "path": "userprofiles/{profileId}/campaigns/{id}",
 19928  	//   "response": {
 19929  	//     "$ref": "Campaign"
 19930  	//   },
 19931  	//   "scopes": [
 19932  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19933  	//   ]
 19934  	// }
 19935  
 19936  }
 19937  
 19938  // method id "dfareporting.campaigns.insert":
 19939  
 19940  type CampaignsInsertCall struct {
 19941  	s          *Service
 19942  	profileId  int64
 19943  	campaign   *Campaign
 19944  	urlParams_ gensupport.URLParams
 19945  	ctx_       context.Context
 19946  	header_    http.Header
 19947  }
 19948  
 19949  // Insert: Inserts a new campaign.
 19950  func (r *CampaignsService) Insert(profileId int64, defaultLandingPageName string, defaultLandingPageUrl string, campaign *Campaign) *CampaignsInsertCall {
 19951  	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19952  	c.profileId = profileId
 19953  	c.urlParams_.Set("defaultLandingPageName", defaultLandingPageName)
 19954  	c.urlParams_.Set("defaultLandingPageUrl", defaultLandingPageUrl)
 19955  	c.campaign = campaign
 19956  	return c
 19957  }
 19958  
 19959  // Fields allows partial responses to be retrieved. See
 19960  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19961  // for more information.
 19962  func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
 19963  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19964  	return c
 19965  }
 19966  
 19967  // Context sets the context to be used in this call's Do method. Any
 19968  // pending HTTP request will be aborted if the provided context is
 19969  // canceled.
 19970  func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
 19971  	c.ctx_ = ctx
 19972  	return c
 19973  }
 19974  
 19975  // Header returns an http.Header that can be modified by the caller to
 19976  // add HTTP headers to the request.
 19977  func (c *CampaignsInsertCall) Header() http.Header {
 19978  	if c.header_ == nil {
 19979  		c.header_ = make(http.Header)
 19980  	}
 19981  	return c.header_
 19982  }
 19983  
 19984  func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
 19985  	reqHeaders := make(http.Header)
 19986  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19987  	for k, v := range c.header_ {
 19988  		reqHeaders[k] = v
 19989  	}
 19990  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19991  	var body io.Reader = nil
 19992  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 19993  	if err != nil {
 19994  		return nil, err
 19995  	}
 19996  	reqHeaders.Set("Content-Type", "application/json")
 19997  	c.urlParams_.Set("alt", alt)
 19998  	c.urlParams_.Set("prettyPrint", "false")
 19999  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 20000  	urls += "?" + c.urlParams_.Encode()
 20001  	req, err := http.NewRequest("POST", urls, body)
 20002  	if err != nil {
 20003  		return nil, err
 20004  	}
 20005  	req.Header = reqHeaders
 20006  	googleapi.Expand(req.URL, map[string]string{
 20007  		"profileId": strconv.FormatInt(c.profileId, 10),
 20008  	})
 20009  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20010  }
 20011  
 20012  // Do executes the "dfareporting.campaigns.insert" call.
 20013  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 20014  // code is an error. Response headers are in either
 20015  // *Campaign.ServerResponse.Header or (if a response was returned at
 20016  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20017  // to check whether the returned error was because
 20018  // http.StatusNotModified was returned.
 20019  func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 20020  	gensupport.SetOptions(c.urlParams_, opts...)
 20021  	res, err := c.doRequest("json")
 20022  	if res != nil && res.StatusCode == http.StatusNotModified {
 20023  		if res.Body != nil {
 20024  			res.Body.Close()
 20025  		}
 20026  		return nil, &googleapi.Error{
 20027  			Code:   res.StatusCode,
 20028  			Header: res.Header,
 20029  		}
 20030  	}
 20031  	if err != nil {
 20032  		return nil, err
 20033  	}
 20034  	defer googleapi.CloseBody(res)
 20035  	if err := googleapi.CheckResponse(res); err != nil {
 20036  		return nil, err
 20037  	}
 20038  	ret := &Campaign{
 20039  		ServerResponse: googleapi.ServerResponse{
 20040  			Header:         res.Header,
 20041  			HTTPStatusCode: res.StatusCode,
 20042  		},
 20043  	}
 20044  	target := &ret
 20045  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20046  		return nil, err
 20047  	}
 20048  	return ret, nil
 20049  	// {
 20050  	//   "description": "Inserts a new campaign.",
 20051  	//   "httpMethod": "POST",
 20052  	//   "id": "dfareporting.campaigns.insert",
 20053  	//   "parameterOrder": [
 20054  	//     "profileId",
 20055  	//     "defaultLandingPageName",
 20056  	//     "defaultLandingPageUrl"
 20057  	//   ],
 20058  	//   "parameters": {
 20059  	//     "defaultLandingPageName": {
 20060  	//       "description": "Default landing page name for this new campaign. Must be less than 256 characters long.",
 20061  	//       "location": "query",
 20062  	//       "required": true,
 20063  	//       "type": "string"
 20064  	//     },
 20065  	//     "defaultLandingPageUrl": {
 20066  	//       "description": "Default landing page URL for this new campaign.",
 20067  	//       "location": "query",
 20068  	//       "required": true,
 20069  	//       "type": "string"
 20070  	//     },
 20071  	//     "profileId": {
 20072  	//       "description": "User profile ID associated with this request.",
 20073  	//       "format": "int64",
 20074  	//       "location": "path",
 20075  	//       "required": true,
 20076  	//       "type": "string"
 20077  	//     }
 20078  	//   },
 20079  	//   "path": "userprofiles/{profileId}/campaigns",
 20080  	//   "request": {
 20081  	//     "$ref": "Campaign"
 20082  	//   },
 20083  	//   "response": {
 20084  	//     "$ref": "Campaign"
 20085  	//   },
 20086  	//   "scopes": [
 20087  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20088  	//   ]
 20089  	// }
 20090  
 20091  }
 20092  
 20093  // method id "dfareporting.campaigns.list":
 20094  
 20095  type CampaignsListCall struct {
 20096  	s            *Service
 20097  	profileId    int64
 20098  	urlParams_   gensupport.URLParams
 20099  	ifNoneMatch_ string
 20100  	ctx_         context.Context
 20101  	header_      http.Header
 20102  }
 20103  
 20104  // List: Retrieves a list of campaigns, possibly filtered. This method
 20105  // supports paging.
 20106  func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
 20107  	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20108  	c.profileId = profileId
 20109  	return c
 20110  }
 20111  
 20112  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 20113  // Select only campaigns whose advertisers belong to these advertiser
 20114  // groups.
 20115  func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
 20116  	var advertiserGroupIds_ []string
 20117  	for _, v := range advertiserGroupIds {
 20118  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 20119  	}
 20120  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 20121  	return c
 20122  }
 20123  
 20124  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 20125  // only campaigns that belong to these advertisers.
 20126  func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
 20127  	var advertiserIds_ []string
 20128  	for _, v := range advertiserIds {
 20129  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 20130  	}
 20131  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 20132  	return c
 20133  }
 20134  
 20135  // Archived sets the optional parameter "archived": Select only archived
 20136  // campaigns. Don't set this field to select both archived and
 20137  // non-archived campaigns.
 20138  func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
 20139  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 20140  	return c
 20141  }
 20142  
 20143  // AtLeastOneOptimizationActivity sets the optional parameter
 20144  // "atLeastOneOptimizationActivity": Select only campaigns that have at
 20145  // least one optimization activity.
 20146  func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
 20147  	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
 20148  	return c
 20149  }
 20150  
 20151  // ExcludedIds sets the optional parameter "excludedIds": Exclude
 20152  // campaigns with these IDs.
 20153  func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
 20154  	var excludedIds_ []string
 20155  	for _, v := range excludedIds {
 20156  		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
 20157  	}
 20158  	c.urlParams_.SetMulti("excludedIds", excludedIds_)
 20159  	return c
 20160  }
 20161  
 20162  // Ids sets the optional parameter "ids": Select only campaigns with
 20163  // these IDs.
 20164  func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
 20165  	var ids_ []string
 20166  	for _, v := range ids {
 20167  		ids_ = append(ids_, fmt.Sprint(v))
 20168  	}
 20169  	c.urlParams_.SetMulti("ids", ids_)
 20170  	return c
 20171  }
 20172  
 20173  // MaxResults sets the optional parameter "maxResults": Maximum number
 20174  // of results to return.
 20175  func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
 20176  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 20177  	return c
 20178  }
 20179  
 20180  // OverriddenEventTagId sets the optional parameter
 20181  // "overriddenEventTagId": Select only campaigns that have overridden
 20182  // this event tag ID.
 20183  func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
 20184  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 20185  	return c
 20186  }
 20187  
 20188  // PageToken sets the optional parameter "pageToken": Value of the
 20189  // nextPageToken from the previous result page.
 20190  func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
 20191  	c.urlParams_.Set("pageToken", pageToken)
 20192  	return c
 20193  }
 20194  
 20195  // SearchString sets the optional parameter "searchString": Allows
 20196  // searching for campaigns by name or ID. Wildcards (*) are allowed. For
 20197  // example, "campaign*2015" will return campaigns with names like
 20198  // "campaign June 2015", "campaign April 2015", or simply "campaign
 20199  // 2015". Most of the searches also add wildcards implicitly at the
 20200  // start and the end of the search string. For example, a search string
 20201  // of "campaign" will match campaigns with name "my campaign", "campaign
 20202  // 2015", or simply "campaign".
 20203  func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
 20204  	c.urlParams_.Set("searchString", searchString)
 20205  	return c
 20206  }
 20207  
 20208  // SortField sets the optional parameter "sortField": Field by which to
 20209  // sort the list.
 20210  //
 20211  // Possible values:
 20212  //
 20213  //	"ID" (default)
 20214  //	"NAME"
 20215  func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
 20216  	c.urlParams_.Set("sortField", sortField)
 20217  	return c
 20218  }
 20219  
 20220  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 20221  // results.
 20222  //
 20223  // Possible values:
 20224  //
 20225  //	"ASCENDING" (default)
 20226  //	"DESCENDING"
 20227  func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
 20228  	c.urlParams_.Set("sortOrder", sortOrder)
 20229  	return c
 20230  }
 20231  
 20232  // SubaccountId sets the optional parameter "subaccountId": Select only
 20233  // campaigns that belong to this subaccount.
 20234  func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
 20235  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 20236  	return c
 20237  }
 20238  
 20239  // Fields allows partial responses to be retrieved. See
 20240  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20241  // for more information.
 20242  func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
 20243  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20244  	return c
 20245  }
 20246  
 20247  // IfNoneMatch sets the optional parameter which makes the operation
 20248  // fail if the object's ETag matches the given value. This is useful for
 20249  // getting updates only after the object has changed since the last
 20250  // request. Use googleapi.IsNotModified to check whether the response
 20251  // error from Do is the result of In-None-Match.
 20252  func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
 20253  	c.ifNoneMatch_ = entityTag
 20254  	return c
 20255  }
 20256  
 20257  // Context sets the context to be used in this call's Do method. Any
 20258  // pending HTTP request will be aborted if the provided context is
 20259  // canceled.
 20260  func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
 20261  	c.ctx_ = ctx
 20262  	return c
 20263  }
 20264  
 20265  // Header returns an http.Header that can be modified by the caller to
 20266  // add HTTP headers to the request.
 20267  func (c *CampaignsListCall) Header() http.Header {
 20268  	if c.header_ == nil {
 20269  		c.header_ = make(http.Header)
 20270  	}
 20271  	return c.header_
 20272  }
 20273  
 20274  func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 20275  	reqHeaders := make(http.Header)
 20276  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20277  	for k, v := range c.header_ {
 20278  		reqHeaders[k] = v
 20279  	}
 20280  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20281  	if c.ifNoneMatch_ != "" {
 20282  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20283  	}
 20284  	var body io.Reader = nil
 20285  	c.urlParams_.Set("alt", alt)
 20286  	c.urlParams_.Set("prettyPrint", "false")
 20287  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 20288  	urls += "?" + c.urlParams_.Encode()
 20289  	req, err := http.NewRequest("GET", urls, body)
 20290  	if err != nil {
 20291  		return nil, err
 20292  	}
 20293  	req.Header = reqHeaders
 20294  	googleapi.Expand(req.URL, map[string]string{
 20295  		"profileId": strconv.FormatInt(c.profileId, 10),
 20296  	})
 20297  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20298  }
 20299  
 20300  // Do executes the "dfareporting.campaigns.list" call.
 20301  // Exactly one of *CampaignsListResponse or error will be non-nil. Any
 20302  // non-2xx status code is an error. Response headers are in either
 20303  // *CampaignsListResponse.ServerResponse.Header or (if a response was
 20304  // returned at all) in error.(*googleapi.Error).Header. Use
 20305  // googleapi.IsNotModified to check whether the returned error was
 20306  // because http.StatusNotModified was returned.
 20307  func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
 20308  	gensupport.SetOptions(c.urlParams_, opts...)
 20309  	res, err := c.doRequest("json")
 20310  	if res != nil && res.StatusCode == http.StatusNotModified {
 20311  		if res.Body != nil {
 20312  			res.Body.Close()
 20313  		}
 20314  		return nil, &googleapi.Error{
 20315  			Code:   res.StatusCode,
 20316  			Header: res.Header,
 20317  		}
 20318  	}
 20319  	if err != nil {
 20320  		return nil, err
 20321  	}
 20322  	defer googleapi.CloseBody(res)
 20323  	if err := googleapi.CheckResponse(res); err != nil {
 20324  		return nil, err
 20325  	}
 20326  	ret := &CampaignsListResponse{
 20327  		ServerResponse: googleapi.ServerResponse{
 20328  			Header:         res.Header,
 20329  			HTTPStatusCode: res.StatusCode,
 20330  		},
 20331  	}
 20332  	target := &ret
 20333  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20334  		return nil, err
 20335  	}
 20336  	return ret, nil
 20337  	// {
 20338  	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
 20339  	//   "httpMethod": "GET",
 20340  	//   "id": "dfareporting.campaigns.list",
 20341  	//   "parameterOrder": [
 20342  	//     "profileId"
 20343  	//   ],
 20344  	//   "parameters": {
 20345  	//     "advertiserGroupIds": {
 20346  	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
 20347  	//       "format": "int64",
 20348  	//       "location": "query",
 20349  	//       "repeated": true,
 20350  	//       "type": "string"
 20351  	//     },
 20352  	//     "advertiserIds": {
 20353  	//       "description": "Select only campaigns that belong to these advertisers.",
 20354  	//       "format": "int64",
 20355  	//       "location": "query",
 20356  	//       "repeated": true,
 20357  	//       "type": "string"
 20358  	//     },
 20359  	//     "archived": {
 20360  	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
 20361  	//       "location": "query",
 20362  	//       "type": "boolean"
 20363  	//     },
 20364  	//     "atLeastOneOptimizationActivity": {
 20365  	//       "description": "Select only campaigns that have at least one optimization activity.",
 20366  	//       "location": "query",
 20367  	//       "type": "boolean"
 20368  	//     },
 20369  	//     "excludedIds": {
 20370  	//       "description": "Exclude campaigns with these IDs.",
 20371  	//       "format": "int64",
 20372  	//       "location": "query",
 20373  	//       "repeated": true,
 20374  	//       "type": "string"
 20375  	//     },
 20376  	//     "ids": {
 20377  	//       "description": "Select only campaigns with these IDs.",
 20378  	//       "format": "int64",
 20379  	//       "location": "query",
 20380  	//       "repeated": true,
 20381  	//       "type": "string"
 20382  	//     },
 20383  	//     "maxResults": {
 20384  	//       "default": "1000",
 20385  	//       "description": "Maximum number of results to return.",
 20386  	//       "format": "int32",
 20387  	//       "location": "query",
 20388  	//       "maximum": "1000",
 20389  	//       "minimum": "0",
 20390  	//       "type": "integer"
 20391  	//     },
 20392  	//     "overriddenEventTagId": {
 20393  	//       "description": "Select only campaigns that have overridden this event tag ID.",
 20394  	//       "format": "int64",
 20395  	//       "location": "query",
 20396  	//       "type": "string"
 20397  	//     },
 20398  	//     "pageToken": {
 20399  	//       "description": "Value of the nextPageToken from the previous result page.",
 20400  	//       "location": "query",
 20401  	//       "type": "string"
 20402  	//     },
 20403  	//     "profileId": {
 20404  	//       "description": "User profile ID associated with this request.",
 20405  	//       "format": "int64",
 20406  	//       "location": "path",
 20407  	//       "required": true,
 20408  	//       "type": "string"
 20409  	//     },
 20410  	//     "searchString": {
 20411  	//       "description": "Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, \"campaign*2015\" will return campaigns with names like \"campaign June 2015\", \"campaign April 2015\", or simply \"campaign 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"campaign\" will match campaigns with name \"my campaign\", \"campaign 2015\", or simply \"campaign\".",
 20412  	//       "location": "query",
 20413  	//       "type": "string"
 20414  	//     },
 20415  	//     "sortField": {
 20416  	//       "default": "ID",
 20417  	//       "description": "Field by which to sort the list.",
 20418  	//       "enum": [
 20419  	//         "ID",
 20420  	//         "NAME"
 20421  	//       ],
 20422  	//       "enumDescriptions": [
 20423  	//         "",
 20424  	//         ""
 20425  	//       ],
 20426  	//       "location": "query",
 20427  	//       "type": "string"
 20428  	//     },
 20429  	//     "sortOrder": {
 20430  	//       "default": "ASCENDING",
 20431  	//       "description": "Order of sorted results.",
 20432  	//       "enum": [
 20433  	//         "ASCENDING",
 20434  	//         "DESCENDING"
 20435  	//       ],
 20436  	//       "enumDescriptions": [
 20437  	//         "",
 20438  	//         ""
 20439  	//       ],
 20440  	//       "location": "query",
 20441  	//       "type": "string"
 20442  	//     },
 20443  	//     "subaccountId": {
 20444  	//       "description": "Select only campaigns that belong to this subaccount.",
 20445  	//       "format": "int64",
 20446  	//       "location": "query",
 20447  	//       "type": "string"
 20448  	//     }
 20449  	//   },
 20450  	//   "path": "userprofiles/{profileId}/campaigns",
 20451  	//   "response": {
 20452  	//     "$ref": "CampaignsListResponse"
 20453  	//   },
 20454  	//   "scopes": [
 20455  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20456  	//   ]
 20457  	// }
 20458  
 20459  }
 20460  
 20461  // Pages invokes f for each page of results.
 20462  // A non-nil error returned from f will halt the iteration.
 20463  // The provided context supersedes any context provided to the Context method.
 20464  func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
 20465  	c.ctx_ = ctx
 20466  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 20467  	for {
 20468  		x, err := c.Do()
 20469  		if err != nil {
 20470  			return err
 20471  		}
 20472  		if err := f(x); err != nil {
 20473  			return err
 20474  		}
 20475  		if x.NextPageToken == "" {
 20476  			return nil
 20477  		}
 20478  		c.PageToken(x.NextPageToken)
 20479  	}
 20480  }
 20481  
 20482  // method id "dfareporting.campaigns.patch":
 20483  
 20484  type CampaignsPatchCall struct {
 20485  	s          *Service
 20486  	profileId  int64
 20487  	campaign   *Campaign
 20488  	urlParams_ gensupport.URLParams
 20489  	ctx_       context.Context
 20490  	header_    http.Header
 20491  }
 20492  
 20493  // Patch: Updates an existing campaign. This method supports patch
 20494  // semantics.
 20495  func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
 20496  	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20497  	c.profileId = profileId
 20498  	c.urlParams_.Set("id", fmt.Sprint(id))
 20499  	c.campaign = campaign
 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
 20505  // for more information.
 20506  func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
 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. Any
 20512  // pending HTTP request will be aborted if the provided context is
 20513  // canceled.
 20514  func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
 20515  	c.ctx_ = ctx
 20516  	return c
 20517  }
 20518  
 20519  // Header returns an http.Header that can be modified by the caller to
 20520  // add HTTP headers to the request.
 20521  func (c *CampaignsPatchCall) Header() http.Header {
 20522  	if c.header_ == nil {
 20523  		c.header_ = make(http.Header)
 20524  	}
 20525  	return c.header_
 20526  }
 20527  
 20528  func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 20529  	reqHeaders := make(http.Header)
 20530  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20531  	for k, v := range c.header_ {
 20532  		reqHeaders[k] = v
 20533  	}
 20534  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20535  	var body io.Reader = nil
 20536  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 20537  	if err != nil {
 20538  		return nil, err
 20539  	}
 20540  	reqHeaders.Set("Content-Type", "application/json")
 20541  	c.urlParams_.Set("alt", alt)
 20542  	c.urlParams_.Set("prettyPrint", "false")
 20543  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 20544  	urls += "?" + c.urlParams_.Encode()
 20545  	req, err := http.NewRequest("PATCH", urls, body)
 20546  	if err != nil {
 20547  		return nil, err
 20548  	}
 20549  	req.Header = reqHeaders
 20550  	googleapi.Expand(req.URL, map[string]string{
 20551  		"profileId": strconv.FormatInt(c.profileId, 10),
 20552  	})
 20553  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20554  }
 20555  
 20556  // Do executes the "dfareporting.campaigns.patch" call.
 20557  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 20558  // code is an error. Response headers are in either
 20559  // *Campaign.ServerResponse.Header or (if a response was returned at
 20560  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20561  // to check whether the returned error was because
 20562  // http.StatusNotModified was returned.
 20563  func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 20564  	gensupport.SetOptions(c.urlParams_, opts...)
 20565  	res, err := c.doRequest("json")
 20566  	if res != nil && res.StatusCode == http.StatusNotModified {
 20567  		if res.Body != nil {
 20568  			res.Body.Close()
 20569  		}
 20570  		return nil, &googleapi.Error{
 20571  			Code:   res.StatusCode,
 20572  			Header: res.Header,
 20573  		}
 20574  	}
 20575  	if err != nil {
 20576  		return nil, err
 20577  	}
 20578  	defer googleapi.CloseBody(res)
 20579  	if err := googleapi.CheckResponse(res); err != nil {
 20580  		return nil, err
 20581  	}
 20582  	ret := &Campaign{
 20583  		ServerResponse: googleapi.ServerResponse{
 20584  			Header:         res.Header,
 20585  			HTTPStatusCode: res.StatusCode,
 20586  		},
 20587  	}
 20588  	target := &ret
 20589  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20590  		return nil, err
 20591  	}
 20592  	return ret, nil
 20593  	// {
 20594  	//   "description": "Updates an existing campaign. This method supports patch semantics.",
 20595  	//   "httpMethod": "PATCH",
 20596  	//   "id": "dfareporting.campaigns.patch",
 20597  	//   "parameterOrder": [
 20598  	//     "profileId",
 20599  	//     "id"
 20600  	//   ],
 20601  	//   "parameters": {
 20602  	//     "id": {
 20603  	//       "description": "Campaign ID.",
 20604  	//       "format": "int64",
 20605  	//       "location": "query",
 20606  	//       "required": true,
 20607  	//       "type": "string"
 20608  	//     },
 20609  	//     "profileId": {
 20610  	//       "description": "User profile ID associated with this request.",
 20611  	//       "format": "int64",
 20612  	//       "location": "path",
 20613  	//       "required": true,
 20614  	//       "type": "string"
 20615  	//     }
 20616  	//   },
 20617  	//   "path": "userprofiles/{profileId}/campaigns",
 20618  	//   "request": {
 20619  	//     "$ref": "Campaign"
 20620  	//   },
 20621  	//   "response": {
 20622  	//     "$ref": "Campaign"
 20623  	//   },
 20624  	//   "scopes": [
 20625  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20626  	//   ]
 20627  	// }
 20628  
 20629  }
 20630  
 20631  // method id "dfareporting.campaigns.update":
 20632  
 20633  type CampaignsUpdateCall struct {
 20634  	s          *Service
 20635  	profileId  int64
 20636  	campaign   *Campaign
 20637  	urlParams_ gensupport.URLParams
 20638  	ctx_       context.Context
 20639  	header_    http.Header
 20640  }
 20641  
 20642  // Update: Updates an existing campaign.
 20643  func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
 20644  	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20645  	c.profileId = profileId
 20646  	c.campaign = campaign
 20647  	return c
 20648  }
 20649  
 20650  // Fields allows partial responses to be retrieved. See
 20651  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20652  // for more information.
 20653  func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
 20654  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20655  	return c
 20656  }
 20657  
 20658  // Context sets the context to be used in this call's Do method. Any
 20659  // pending HTTP request will be aborted if the provided context is
 20660  // canceled.
 20661  func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
 20662  	c.ctx_ = ctx
 20663  	return c
 20664  }
 20665  
 20666  // Header returns an http.Header that can be modified by the caller to
 20667  // add HTTP headers to the request.
 20668  func (c *CampaignsUpdateCall) Header() http.Header {
 20669  	if c.header_ == nil {
 20670  		c.header_ = make(http.Header)
 20671  	}
 20672  	return c.header_
 20673  }
 20674  
 20675  func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
 20676  	reqHeaders := make(http.Header)
 20677  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20678  	for k, v := range c.header_ {
 20679  		reqHeaders[k] = v
 20680  	}
 20681  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20682  	var body io.Reader = nil
 20683  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 20684  	if err != nil {
 20685  		return nil, err
 20686  	}
 20687  	reqHeaders.Set("Content-Type", "application/json")
 20688  	c.urlParams_.Set("alt", alt)
 20689  	c.urlParams_.Set("prettyPrint", "false")
 20690  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 20691  	urls += "?" + c.urlParams_.Encode()
 20692  	req, err := http.NewRequest("PUT", urls, body)
 20693  	if err != nil {
 20694  		return nil, err
 20695  	}
 20696  	req.Header = reqHeaders
 20697  	googleapi.Expand(req.URL, map[string]string{
 20698  		"profileId": strconv.FormatInt(c.profileId, 10),
 20699  	})
 20700  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20701  }
 20702  
 20703  // Do executes the "dfareporting.campaigns.update" call.
 20704  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 20705  // code is an error. Response headers are in either
 20706  // *Campaign.ServerResponse.Header or (if a response was returned at
 20707  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20708  // to check whether the returned error was because
 20709  // http.StatusNotModified was returned.
 20710  func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 20711  	gensupport.SetOptions(c.urlParams_, opts...)
 20712  	res, err := c.doRequest("json")
 20713  	if res != nil && res.StatusCode == http.StatusNotModified {
 20714  		if res.Body != nil {
 20715  			res.Body.Close()
 20716  		}
 20717  		return nil, &googleapi.Error{
 20718  			Code:   res.StatusCode,
 20719  			Header: res.Header,
 20720  		}
 20721  	}
 20722  	if err != nil {
 20723  		return nil, err
 20724  	}
 20725  	defer googleapi.CloseBody(res)
 20726  	if err := googleapi.CheckResponse(res); err != nil {
 20727  		return nil, err
 20728  	}
 20729  	ret := &Campaign{
 20730  		ServerResponse: googleapi.ServerResponse{
 20731  			Header:         res.Header,
 20732  			HTTPStatusCode: res.StatusCode,
 20733  		},
 20734  	}
 20735  	target := &ret
 20736  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20737  		return nil, err
 20738  	}
 20739  	return ret, nil
 20740  	// {
 20741  	//   "description": "Updates an existing campaign.",
 20742  	//   "httpMethod": "PUT",
 20743  	//   "id": "dfareporting.campaigns.update",
 20744  	//   "parameterOrder": [
 20745  	//     "profileId"
 20746  	//   ],
 20747  	//   "parameters": {
 20748  	//     "profileId": {
 20749  	//       "description": "User profile ID associated with this request.",
 20750  	//       "format": "int64",
 20751  	//       "location": "path",
 20752  	//       "required": true,
 20753  	//       "type": "string"
 20754  	//     }
 20755  	//   },
 20756  	//   "path": "userprofiles/{profileId}/campaigns",
 20757  	//   "request": {
 20758  	//     "$ref": "Campaign"
 20759  	//   },
 20760  	//   "response": {
 20761  	//     "$ref": "Campaign"
 20762  	//   },
 20763  	//   "scopes": [
 20764  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20765  	//   ]
 20766  	// }
 20767  
 20768  }
 20769  
 20770  // method id "dfareporting.changeLogs.get":
 20771  
 20772  type ChangeLogsGetCall struct {
 20773  	s            *Service
 20774  	profileId    int64
 20775  	id           int64
 20776  	urlParams_   gensupport.URLParams
 20777  	ifNoneMatch_ string
 20778  	ctx_         context.Context
 20779  	header_      http.Header
 20780  }
 20781  
 20782  // Get: Gets one change log by ID.
 20783  func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
 20784  	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20785  	c.profileId = profileId
 20786  	c.id = id
 20787  	return c
 20788  }
 20789  
 20790  // Fields allows partial responses to be retrieved. See
 20791  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20792  // for more information.
 20793  func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
 20794  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20795  	return c
 20796  }
 20797  
 20798  // IfNoneMatch sets the optional parameter which makes the operation
 20799  // fail if the object's ETag matches the given value. This is useful for
 20800  // getting updates only after the object has changed since the last
 20801  // request. Use googleapi.IsNotModified to check whether the response
 20802  // error from Do is the result of In-None-Match.
 20803  func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
 20804  	c.ifNoneMatch_ = entityTag
 20805  	return c
 20806  }
 20807  
 20808  // Context sets the context to be used in this call's Do method. Any
 20809  // pending HTTP request will be aborted if the provided context is
 20810  // canceled.
 20811  func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
 20812  	c.ctx_ = ctx
 20813  	return c
 20814  }
 20815  
 20816  // Header returns an http.Header that can be modified by the caller to
 20817  // add HTTP headers to the request.
 20818  func (c *ChangeLogsGetCall) Header() http.Header {
 20819  	if c.header_ == nil {
 20820  		c.header_ = make(http.Header)
 20821  	}
 20822  	return c.header_
 20823  }
 20824  
 20825  func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 20826  	reqHeaders := make(http.Header)
 20827  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20828  	for k, v := range c.header_ {
 20829  		reqHeaders[k] = v
 20830  	}
 20831  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20832  	if c.ifNoneMatch_ != "" {
 20833  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20834  	}
 20835  	var body io.Reader = nil
 20836  	c.urlParams_.Set("alt", alt)
 20837  	c.urlParams_.Set("prettyPrint", "false")
 20838  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
 20839  	urls += "?" + c.urlParams_.Encode()
 20840  	req, err := http.NewRequest("GET", urls, body)
 20841  	if err != nil {
 20842  		return nil, err
 20843  	}
 20844  	req.Header = reqHeaders
 20845  	googleapi.Expand(req.URL, map[string]string{
 20846  		"profileId": strconv.FormatInt(c.profileId, 10),
 20847  		"id":        strconv.FormatInt(c.id, 10),
 20848  	})
 20849  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20850  }
 20851  
 20852  // Do executes the "dfareporting.changeLogs.get" call.
 20853  // Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
 20854  // status code is an error. Response headers are in either
 20855  // *ChangeLog.ServerResponse.Header or (if a response was returned at
 20856  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20857  // to check whether the returned error was because
 20858  // http.StatusNotModified was returned.
 20859  func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
 20860  	gensupport.SetOptions(c.urlParams_, opts...)
 20861  	res, err := c.doRequest("json")
 20862  	if res != nil && res.StatusCode == http.StatusNotModified {
 20863  		if res.Body != nil {
 20864  			res.Body.Close()
 20865  		}
 20866  		return nil, &googleapi.Error{
 20867  			Code:   res.StatusCode,
 20868  			Header: res.Header,
 20869  		}
 20870  	}
 20871  	if err != nil {
 20872  		return nil, err
 20873  	}
 20874  	defer googleapi.CloseBody(res)
 20875  	if err := googleapi.CheckResponse(res); err != nil {
 20876  		return nil, err
 20877  	}
 20878  	ret := &ChangeLog{
 20879  		ServerResponse: googleapi.ServerResponse{
 20880  			Header:         res.Header,
 20881  			HTTPStatusCode: res.StatusCode,
 20882  		},
 20883  	}
 20884  	target := &ret
 20885  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20886  		return nil, err
 20887  	}
 20888  	return ret, nil
 20889  	// {
 20890  	//   "description": "Gets one change log by ID.",
 20891  	//   "httpMethod": "GET",
 20892  	//   "id": "dfareporting.changeLogs.get",
 20893  	//   "parameterOrder": [
 20894  	//     "profileId",
 20895  	//     "id"
 20896  	//   ],
 20897  	//   "parameters": {
 20898  	//     "id": {
 20899  	//       "description": "Change log ID.",
 20900  	//       "format": "int64",
 20901  	//       "location": "path",
 20902  	//       "required": true,
 20903  	//       "type": "string"
 20904  	//     },
 20905  	//     "profileId": {
 20906  	//       "description": "User profile ID associated with this request.",
 20907  	//       "format": "int64",
 20908  	//       "location": "path",
 20909  	//       "required": true,
 20910  	//       "type": "string"
 20911  	//     }
 20912  	//   },
 20913  	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
 20914  	//   "response": {
 20915  	//     "$ref": "ChangeLog"
 20916  	//   },
 20917  	//   "scopes": [
 20918  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20919  	//   ]
 20920  	// }
 20921  
 20922  }
 20923  
 20924  // method id "dfareporting.changeLogs.list":
 20925  
 20926  type ChangeLogsListCall struct {
 20927  	s            *Service
 20928  	profileId    int64
 20929  	urlParams_   gensupport.URLParams
 20930  	ifNoneMatch_ string
 20931  	ctx_         context.Context
 20932  	header_      http.Header
 20933  }
 20934  
 20935  // List: Retrieves a list of change logs. This method supports paging.
 20936  func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
 20937  	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20938  	c.profileId = profileId
 20939  	return c
 20940  }
 20941  
 20942  // Action sets the optional parameter "action": Select only change logs
 20943  // with the specified action.
 20944  //
 20945  // Possible values:
 20946  //
 20947  //	"ACTION_ADD"
 20948  //	"ACTION_ASSIGN"
 20949  //	"ACTION_ASSOCIATE"
 20950  //	"ACTION_CREATE"
 20951  //	"ACTION_DELETE"
 20952  //	"ACTION_DISABLE"
 20953  //	"ACTION_EMAIL_TAGS"
 20954  //	"ACTION_ENABLE"
 20955  //	"ACTION_LINK"
 20956  //	"ACTION_MARK_AS_DEFAULT"
 20957  //	"ACTION_PUSH"
 20958  //	"ACTION_REMOVE"
 20959  //	"ACTION_SEND"
 20960  //	"ACTION_SHARE"
 20961  //	"ACTION_UNASSIGN"
 20962  //	"ACTION_UNLINK"
 20963  //	"ACTION_UPDATE"
 20964  func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
 20965  	c.urlParams_.Set("action", action)
 20966  	return c
 20967  }
 20968  
 20969  // Ids sets the optional parameter "ids": Select only change logs with
 20970  // these IDs.
 20971  func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
 20972  	var ids_ []string
 20973  	for _, v := range ids {
 20974  		ids_ = append(ids_, fmt.Sprint(v))
 20975  	}
 20976  	c.urlParams_.SetMulti("ids", ids_)
 20977  	return c
 20978  }
 20979  
 20980  // MaxChangeTime sets the optional parameter "maxChangeTime": Select
 20981  // only change logs whose change time is before the specified
 20982  // maxChangeTime.The time should be formatted as an RFC3339 date/time
 20983  // string. For example, for 10:54 PM on July 18th, 2015, in the
 20984  // America/New York time zone, the format is
 20985  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 20986  // the letter T, the hour (24-hour clock system), minute, second, and
 20987  // then the time zone offset.
 20988  func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
 20989  	c.urlParams_.Set("maxChangeTime", maxChangeTime)
 20990  	return c
 20991  }
 20992  
 20993  // MaxResults sets the optional parameter "maxResults": Maximum number
 20994  // of results to return.
 20995  func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
 20996  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 20997  	return c
 20998  }
 20999  
 21000  // MinChangeTime sets the optional parameter "minChangeTime": Select
 21001  // only change logs whose change time is before the specified
 21002  // minChangeTime.The time should be formatted as an RFC3339 date/time
 21003  // string. For example, for 10:54 PM on July 18th, 2015, in the
 21004  // America/New York time zone, the format is
 21005  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 21006  // the letter T, the hour (24-hour clock system), minute, second, and
 21007  // then the time zone offset.
 21008  func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
 21009  	c.urlParams_.Set("minChangeTime", minChangeTime)
 21010  	return c
 21011  }
 21012  
 21013  // ObjectIds sets the optional parameter "objectIds": Select only change
 21014  // logs with these object IDs.
 21015  func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
 21016  	var objectIds_ []string
 21017  	for _, v := range objectIds {
 21018  		objectIds_ = append(objectIds_, fmt.Sprint(v))
 21019  	}
 21020  	c.urlParams_.SetMulti("objectIds", objectIds_)
 21021  	return c
 21022  }
 21023  
 21024  // ObjectType sets the optional parameter "objectType": Select only
 21025  // change logs with the specified object type.
 21026  //
 21027  // Possible values:
 21028  //
 21029  //	"OBJECT_ACCOUNT"
 21030  //	"OBJECT_ACCOUNT_BILLING_FEATURE"
 21031  //	"OBJECT_AD"
 21032  //	"OBJECT_ADVERTISER"
 21033  //	"OBJECT_ADVERTISER_GROUP"
 21034  //	"OBJECT_BILLING_ACCOUNT_GROUP"
 21035  //	"OBJECT_BILLING_FEATURE"
 21036  //	"OBJECT_BILLING_MINIMUM_FEE"
 21037  //	"OBJECT_BILLING_PROFILE"
 21038  //	"OBJECT_CAMPAIGN"
 21039  //	"OBJECT_CONTENT_CATEGORY"
 21040  //	"OBJECT_CREATIVE"
 21041  //	"OBJECT_CREATIVE_ASSET"
 21042  //	"OBJECT_CREATIVE_BUNDLE"
 21043  //	"OBJECT_CREATIVE_FIELD"
 21044  //	"OBJECT_CREATIVE_GROUP"
 21045  //	"OBJECT_DFA_SITE"
 21046  //	"OBJECT_EVENT_TAG"
 21047  //	"OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
 21048  //	"OBJECT_FLOODLIGHT_ACTVITY"
 21049  //	"OBJECT_FLOODLIGHT_CONFIGURATION"
 21050  //	"OBJECT_INSTREAM_CREATIVE"
 21051  //	"OBJECT_LANDING_PAGE"
 21052  //	"OBJECT_MEDIA_ORDER"
 21053  //	"OBJECT_PLACEMENT"
 21054  //	"OBJECT_PLACEMENT_STRATEGY"
 21055  //	"OBJECT_PLAYSTORE_LINK"
 21056  //	"OBJECT_PROVIDED_LIST_CLIENT"
 21057  //	"OBJECT_RATE_CARD"
 21058  //	"OBJECT_REMARKETING_LIST"
 21059  //	"OBJECT_RICHMEDIA_CREATIVE"
 21060  //	"OBJECT_SD_SITE"
 21061  //	"OBJECT_SEARCH_LIFT_STUDY"
 21062  //	"OBJECT_SIZE"
 21063  //	"OBJECT_SUBACCOUNT"
 21064  //	"OBJECT_TARGETING_TEMPLATE"
 21065  //	"OBJECT_USER_PROFILE"
 21066  //	"OBJECT_USER_PROFILE_FILTER"
 21067  //	"OBJECT_USER_ROLE"
 21068  func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
 21069  	c.urlParams_.Set("objectType", objectType)
 21070  	return c
 21071  }
 21072  
 21073  // PageToken sets the optional parameter "pageToken": Value of the
 21074  // nextPageToken from the previous result page.
 21075  func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
 21076  	c.urlParams_.Set("pageToken", pageToken)
 21077  	return c
 21078  }
 21079  
 21080  // SearchString sets the optional parameter "searchString": Select only
 21081  // change logs whose object ID, user name, old or new values match the
 21082  // search string.
 21083  func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
 21084  	c.urlParams_.Set("searchString", searchString)
 21085  	return c
 21086  }
 21087  
 21088  // UserProfileIds sets the optional parameter "userProfileIds": Select
 21089  // only change logs with these user profile IDs.
 21090  func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
 21091  	var userProfileIds_ []string
 21092  	for _, v := range userProfileIds {
 21093  		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
 21094  	}
 21095  	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
 21096  	return c
 21097  }
 21098  
 21099  // Fields allows partial responses to be retrieved. See
 21100  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21101  // for more information.
 21102  func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
 21103  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21104  	return c
 21105  }
 21106  
 21107  // IfNoneMatch sets the optional parameter which makes the operation
 21108  // fail if the object's ETag matches the given value. This is useful for
 21109  // getting updates only after the object has changed since the last
 21110  // request. Use googleapi.IsNotModified to check whether the response
 21111  // error from Do is the result of In-None-Match.
 21112  func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
 21113  	c.ifNoneMatch_ = entityTag
 21114  	return c
 21115  }
 21116  
 21117  // Context sets the context to be used in this call's Do method. Any
 21118  // pending HTTP request will be aborted if the provided context is
 21119  // canceled.
 21120  func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
 21121  	c.ctx_ = ctx
 21122  	return c
 21123  }
 21124  
 21125  // Header returns an http.Header that can be modified by the caller to
 21126  // add HTTP headers to the request.
 21127  func (c *ChangeLogsListCall) Header() http.Header {
 21128  	if c.header_ == nil {
 21129  		c.header_ = make(http.Header)
 21130  	}
 21131  	return c.header_
 21132  }
 21133  
 21134  func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 21135  	reqHeaders := make(http.Header)
 21136  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21137  	for k, v := range c.header_ {
 21138  		reqHeaders[k] = v
 21139  	}
 21140  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21141  	if c.ifNoneMatch_ != "" {
 21142  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21143  	}
 21144  	var body io.Reader = nil
 21145  	c.urlParams_.Set("alt", alt)
 21146  	c.urlParams_.Set("prettyPrint", "false")
 21147  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
 21148  	urls += "?" + c.urlParams_.Encode()
 21149  	req, err := http.NewRequest("GET", urls, body)
 21150  	if err != nil {
 21151  		return nil, err
 21152  	}
 21153  	req.Header = reqHeaders
 21154  	googleapi.Expand(req.URL, map[string]string{
 21155  		"profileId": strconv.FormatInt(c.profileId, 10),
 21156  	})
 21157  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21158  }
 21159  
 21160  // Do executes the "dfareporting.changeLogs.list" call.
 21161  // Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
 21162  // non-2xx status code is an error. Response headers are in either
 21163  // *ChangeLogsListResponse.ServerResponse.Header or (if a response was
 21164  // returned at all) in error.(*googleapi.Error).Header. Use
 21165  // googleapi.IsNotModified to check whether the returned error was
 21166  // because http.StatusNotModified was returned.
 21167  func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
 21168  	gensupport.SetOptions(c.urlParams_, opts...)
 21169  	res, err := c.doRequest("json")
 21170  	if res != nil && res.StatusCode == http.StatusNotModified {
 21171  		if res.Body != nil {
 21172  			res.Body.Close()
 21173  		}
 21174  		return nil, &googleapi.Error{
 21175  			Code:   res.StatusCode,
 21176  			Header: res.Header,
 21177  		}
 21178  	}
 21179  	if err != nil {
 21180  		return nil, err
 21181  	}
 21182  	defer googleapi.CloseBody(res)
 21183  	if err := googleapi.CheckResponse(res); err != nil {
 21184  		return nil, err
 21185  	}
 21186  	ret := &ChangeLogsListResponse{
 21187  		ServerResponse: googleapi.ServerResponse{
 21188  			Header:         res.Header,
 21189  			HTTPStatusCode: res.StatusCode,
 21190  		},
 21191  	}
 21192  	target := &ret
 21193  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21194  		return nil, err
 21195  	}
 21196  	return ret, nil
 21197  	// {
 21198  	//   "description": "Retrieves a list of change logs. This method supports paging.",
 21199  	//   "httpMethod": "GET",
 21200  	//   "id": "dfareporting.changeLogs.list",
 21201  	//   "parameterOrder": [
 21202  	//     "profileId"
 21203  	//   ],
 21204  	//   "parameters": {
 21205  	//     "action": {
 21206  	//       "description": "Select only change logs with the specified action.",
 21207  	//       "enum": [
 21208  	//         "ACTION_ADD",
 21209  	//         "ACTION_ASSIGN",
 21210  	//         "ACTION_ASSOCIATE",
 21211  	//         "ACTION_CREATE",
 21212  	//         "ACTION_DELETE",
 21213  	//         "ACTION_DISABLE",
 21214  	//         "ACTION_EMAIL_TAGS",
 21215  	//         "ACTION_ENABLE",
 21216  	//         "ACTION_LINK",
 21217  	//         "ACTION_MARK_AS_DEFAULT",
 21218  	//         "ACTION_PUSH",
 21219  	//         "ACTION_REMOVE",
 21220  	//         "ACTION_SEND",
 21221  	//         "ACTION_SHARE",
 21222  	//         "ACTION_UNASSIGN",
 21223  	//         "ACTION_UNLINK",
 21224  	//         "ACTION_UPDATE"
 21225  	//       ],
 21226  	//       "enumDescriptions": [
 21227  	//         "",
 21228  	//         "",
 21229  	//         "",
 21230  	//         "",
 21231  	//         "",
 21232  	//         "",
 21233  	//         "",
 21234  	//         "",
 21235  	//         "",
 21236  	//         "",
 21237  	//         "",
 21238  	//         "",
 21239  	//         "",
 21240  	//         "",
 21241  	//         "",
 21242  	//         "",
 21243  	//         ""
 21244  	//       ],
 21245  	//       "location": "query",
 21246  	//       "type": "string"
 21247  	//     },
 21248  	//     "ids": {
 21249  	//       "description": "Select only change logs with these IDs.",
 21250  	//       "format": "int64",
 21251  	//       "location": "query",
 21252  	//       "repeated": true,
 21253  	//       "type": "string"
 21254  	//     },
 21255  	//     "maxChangeTime": {
 21256  	//       "description": "Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.",
 21257  	//       "location": "query",
 21258  	//       "type": "string"
 21259  	//     },
 21260  	//     "maxResults": {
 21261  	//       "default": "1000",
 21262  	//       "description": "Maximum number of results to return.",
 21263  	//       "format": "int32",
 21264  	//       "location": "query",
 21265  	//       "maximum": "1000",
 21266  	//       "minimum": "0",
 21267  	//       "type": "integer"
 21268  	//     },
 21269  	//     "minChangeTime": {
 21270  	//       "description": "Select only change logs whose change time is before the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.",
 21271  	//       "location": "query",
 21272  	//       "type": "string"
 21273  	//     },
 21274  	//     "objectIds": {
 21275  	//       "description": "Select only change logs with these object IDs.",
 21276  	//       "format": "int64",
 21277  	//       "location": "query",
 21278  	//       "repeated": true,
 21279  	//       "type": "string"
 21280  	//     },
 21281  	//     "objectType": {
 21282  	//       "description": "Select only change logs with the specified object type.",
 21283  	//       "enum": [
 21284  	//         "OBJECT_ACCOUNT",
 21285  	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
 21286  	//         "OBJECT_AD",
 21287  	//         "OBJECT_ADVERTISER",
 21288  	//         "OBJECT_ADVERTISER_GROUP",
 21289  	//         "OBJECT_BILLING_ACCOUNT_GROUP",
 21290  	//         "OBJECT_BILLING_FEATURE",
 21291  	//         "OBJECT_BILLING_MINIMUM_FEE",
 21292  	//         "OBJECT_BILLING_PROFILE",
 21293  	//         "OBJECT_CAMPAIGN",
 21294  	//         "OBJECT_CONTENT_CATEGORY",
 21295  	//         "OBJECT_CREATIVE",
 21296  	//         "OBJECT_CREATIVE_ASSET",
 21297  	//         "OBJECT_CREATIVE_BUNDLE",
 21298  	//         "OBJECT_CREATIVE_FIELD",
 21299  	//         "OBJECT_CREATIVE_GROUP",
 21300  	//         "OBJECT_DFA_SITE",
 21301  	//         "OBJECT_EVENT_TAG",
 21302  	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
 21303  	//         "OBJECT_FLOODLIGHT_ACTVITY",
 21304  	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
 21305  	//         "OBJECT_INSTREAM_CREATIVE",
 21306  	//         "OBJECT_LANDING_PAGE",
 21307  	//         "OBJECT_MEDIA_ORDER",
 21308  	//         "OBJECT_PLACEMENT",
 21309  	//         "OBJECT_PLACEMENT_STRATEGY",
 21310  	//         "OBJECT_PLAYSTORE_LINK",
 21311  	//         "OBJECT_PROVIDED_LIST_CLIENT",
 21312  	//         "OBJECT_RATE_CARD",
 21313  	//         "OBJECT_REMARKETING_LIST",
 21314  	//         "OBJECT_RICHMEDIA_CREATIVE",
 21315  	//         "OBJECT_SD_SITE",
 21316  	//         "OBJECT_SEARCH_LIFT_STUDY",
 21317  	//         "OBJECT_SIZE",
 21318  	//         "OBJECT_SUBACCOUNT",
 21319  	//         "OBJECT_TARGETING_TEMPLATE",
 21320  	//         "OBJECT_USER_PROFILE",
 21321  	//         "OBJECT_USER_PROFILE_FILTER",
 21322  	//         "OBJECT_USER_ROLE"
 21323  	//       ],
 21324  	//       "enumDescriptions": [
 21325  	//         "",
 21326  	//         "",
 21327  	//         "",
 21328  	//         "",
 21329  	//         "",
 21330  	//         "",
 21331  	//         "",
 21332  	//         "",
 21333  	//         "",
 21334  	//         "",
 21335  	//         "",
 21336  	//         "",
 21337  	//         "",
 21338  	//         "",
 21339  	//         "",
 21340  	//         "",
 21341  	//         "",
 21342  	//         "",
 21343  	//         "",
 21344  	//         "",
 21345  	//         "",
 21346  	//         "",
 21347  	//         "",
 21348  	//         "",
 21349  	//         "",
 21350  	//         "",
 21351  	//         "",
 21352  	//         "",
 21353  	//         "",
 21354  	//         "",
 21355  	//         "",
 21356  	//         "",
 21357  	//         "",
 21358  	//         "",
 21359  	//         "",
 21360  	//         "",
 21361  	//         "",
 21362  	//         "",
 21363  	//         ""
 21364  	//       ],
 21365  	//       "location": "query",
 21366  	//       "type": "string"
 21367  	//     },
 21368  	//     "pageToken": {
 21369  	//       "description": "Value of the nextPageToken from the previous result page.",
 21370  	//       "location": "query",
 21371  	//       "type": "string"
 21372  	//     },
 21373  	//     "profileId": {
 21374  	//       "description": "User profile ID associated with this request.",
 21375  	//       "format": "int64",
 21376  	//       "location": "path",
 21377  	//       "required": true,
 21378  	//       "type": "string"
 21379  	//     },
 21380  	//     "searchString": {
 21381  	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
 21382  	//       "location": "query",
 21383  	//       "type": "string"
 21384  	//     },
 21385  	//     "userProfileIds": {
 21386  	//       "description": "Select only change logs with these user profile IDs.",
 21387  	//       "format": "int64",
 21388  	//       "location": "query",
 21389  	//       "repeated": true,
 21390  	//       "type": "string"
 21391  	//     }
 21392  	//   },
 21393  	//   "path": "userprofiles/{profileId}/changeLogs",
 21394  	//   "response": {
 21395  	//     "$ref": "ChangeLogsListResponse"
 21396  	//   },
 21397  	//   "scopes": [
 21398  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21399  	//   ]
 21400  	// }
 21401  
 21402  }
 21403  
 21404  // Pages invokes f for each page of results.
 21405  // A non-nil error returned from f will halt the iteration.
 21406  // The provided context supersedes any context provided to the Context method.
 21407  func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
 21408  	c.ctx_ = ctx
 21409  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 21410  	for {
 21411  		x, err := c.Do()
 21412  		if err != nil {
 21413  			return err
 21414  		}
 21415  		if err := f(x); err != nil {
 21416  			return err
 21417  		}
 21418  		if x.NextPageToken == "" {
 21419  			return nil
 21420  		}
 21421  		c.PageToken(x.NextPageToken)
 21422  	}
 21423  }
 21424  
 21425  // method id "dfareporting.cities.list":
 21426  
 21427  type CitiesListCall struct {
 21428  	s            *Service
 21429  	profileId    int64
 21430  	urlParams_   gensupport.URLParams
 21431  	ifNoneMatch_ string
 21432  	ctx_         context.Context
 21433  	header_      http.Header
 21434  }
 21435  
 21436  // List: Retrieves a list of cities, possibly filtered.
 21437  func (r *CitiesService) List(profileId int64) *CitiesListCall {
 21438  	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21439  	c.profileId = profileId
 21440  	return c
 21441  }
 21442  
 21443  // CountryDartIds sets the optional parameter "countryDartIds": Select
 21444  // only cities from these countries.
 21445  func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
 21446  	var countryDartIds_ []string
 21447  	for _, v := range countryDartIds {
 21448  		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
 21449  	}
 21450  	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
 21451  	return c
 21452  }
 21453  
 21454  // DartIds sets the optional parameter "dartIds": Select only cities
 21455  // with these DART IDs.
 21456  func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
 21457  	var dartIds_ []string
 21458  	for _, v := range dartIds {
 21459  		dartIds_ = append(dartIds_, fmt.Sprint(v))
 21460  	}
 21461  	c.urlParams_.SetMulti("dartIds", dartIds_)
 21462  	return c
 21463  }
 21464  
 21465  // NamePrefix sets the optional parameter "namePrefix": Select only
 21466  // cities with names starting with this prefix.
 21467  func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
 21468  	c.urlParams_.Set("namePrefix", namePrefix)
 21469  	return c
 21470  }
 21471  
 21472  // RegionDartIds sets the optional parameter "regionDartIds": Select
 21473  // only cities from these regions.
 21474  func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
 21475  	var regionDartIds_ []string
 21476  	for _, v := range regionDartIds {
 21477  		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
 21478  	}
 21479  	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
 21480  	return c
 21481  }
 21482  
 21483  // Fields allows partial responses to be retrieved. See
 21484  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21485  // for more information.
 21486  func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
 21487  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21488  	return c
 21489  }
 21490  
 21491  // IfNoneMatch sets the optional parameter which makes the operation
 21492  // fail if the object's ETag matches the given value. This is useful for
 21493  // getting updates only after the object has changed since the last
 21494  // request. Use googleapi.IsNotModified to check whether the response
 21495  // error from Do is the result of In-None-Match.
 21496  func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
 21497  	c.ifNoneMatch_ = entityTag
 21498  	return c
 21499  }
 21500  
 21501  // Context sets the context to be used in this call's Do method. Any
 21502  // pending HTTP request will be aborted if the provided context is
 21503  // canceled.
 21504  func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
 21505  	c.ctx_ = ctx
 21506  	return c
 21507  }
 21508  
 21509  // Header returns an http.Header that can be modified by the caller to
 21510  // add HTTP headers to the request.
 21511  func (c *CitiesListCall) Header() http.Header {
 21512  	if c.header_ == nil {
 21513  		c.header_ = make(http.Header)
 21514  	}
 21515  	return c.header_
 21516  }
 21517  
 21518  func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 21519  	reqHeaders := make(http.Header)
 21520  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21521  	for k, v := range c.header_ {
 21522  		reqHeaders[k] = v
 21523  	}
 21524  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21525  	if c.ifNoneMatch_ != "" {
 21526  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21527  	}
 21528  	var body io.Reader = nil
 21529  	c.urlParams_.Set("alt", alt)
 21530  	c.urlParams_.Set("prettyPrint", "false")
 21531  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
 21532  	urls += "?" + c.urlParams_.Encode()
 21533  	req, err := http.NewRequest("GET", urls, body)
 21534  	if err != nil {
 21535  		return nil, err
 21536  	}
 21537  	req.Header = reqHeaders
 21538  	googleapi.Expand(req.URL, map[string]string{
 21539  		"profileId": strconv.FormatInt(c.profileId, 10),
 21540  	})
 21541  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21542  }
 21543  
 21544  // Do executes the "dfareporting.cities.list" call.
 21545  // Exactly one of *CitiesListResponse or error will be non-nil. Any
 21546  // non-2xx status code is an error. Response headers are in either
 21547  // *CitiesListResponse.ServerResponse.Header or (if a response was
 21548  // returned at all) in error.(*googleapi.Error).Header. Use
 21549  // googleapi.IsNotModified to check whether the returned error was
 21550  // because http.StatusNotModified was returned.
 21551  func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
 21552  	gensupport.SetOptions(c.urlParams_, opts...)
 21553  	res, err := c.doRequest("json")
 21554  	if res != nil && res.StatusCode == http.StatusNotModified {
 21555  		if res.Body != nil {
 21556  			res.Body.Close()
 21557  		}
 21558  		return nil, &googleapi.Error{
 21559  			Code:   res.StatusCode,
 21560  			Header: res.Header,
 21561  		}
 21562  	}
 21563  	if err != nil {
 21564  		return nil, err
 21565  	}
 21566  	defer googleapi.CloseBody(res)
 21567  	if err := googleapi.CheckResponse(res); err != nil {
 21568  		return nil, err
 21569  	}
 21570  	ret := &CitiesListResponse{
 21571  		ServerResponse: googleapi.ServerResponse{
 21572  			Header:         res.Header,
 21573  			HTTPStatusCode: res.StatusCode,
 21574  		},
 21575  	}
 21576  	target := &ret
 21577  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21578  		return nil, err
 21579  	}
 21580  	return ret, nil
 21581  	// {
 21582  	//   "description": "Retrieves a list of cities, possibly filtered.",
 21583  	//   "httpMethod": "GET",
 21584  	//   "id": "dfareporting.cities.list",
 21585  	//   "parameterOrder": [
 21586  	//     "profileId"
 21587  	//   ],
 21588  	//   "parameters": {
 21589  	//     "countryDartIds": {
 21590  	//       "description": "Select only cities from these countries.",
 21591  	//       "format": "int64",
 21592  	//       "location": "query",
 21593  	//       "repeated": true,
 21594  	//       "type": "string"
 21595  	//     },
 21596  	//     "dartIds": {
 21597  	//       "description": "Select only cities with these DART IDs.",
 21598  	//       "format": "int64",
 21599  	//       "location": "query",
 21600  	//       "repeated": true,
 21601  	//       "type": "string"
 21602  	//     },
 21603  	//     "namePrefix": {
 21604  	//       "description": "Select only cities with names starting with this prefix.",
 21605  	//       "location": "query",
 21606  	//       "type": "string"
 21607  	//     },
 21608  	//     "profileId": {
 21609  	//       "description": "User profile ID associated with this request.",
 21610  	//       "format": "int64",
 21611  	//       "location": "path",
 21612  	//       "required": true,
 21613  	//       "type": "string"
 21614  	//     },
 21615  	//     "regionDartIds": {
 21616  	//       "description": "Select only cities from these regions.",
 21617  	//       "format": "int64",
 21618  	//       "location": "query",
 21619  	//       "repeated": true,
 21620  	//       "type": "string"
 21621  	//     }
 21622  	//   },
 21623  	//   "path": "userprofiles/{profileId}/cities",
 21624  	//   "response": {
 21625  	//     "$ref": "CitiesListResponse"
 21626  	//   },
 21627  	//   "scopes": [
 21628  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21629  	//   ]
 21630  	// }
 21631  
 21632  }
 21633  
 21634  // method id "dfareporting.connectionTypes.get":
 21635  
 21636  type ConnectionTypesGetCall struct {
 21637  	s            *Service
 21638  	profileId    int64
 21639  	id           int64
 21640  	urlParams_   gensupport.URLParams
 21641  	ifNoneMatch_ string
 21642  	ctx_         context.Context
 21643  	header_      http.Header
 21644  }
 21645  
 21646  // Get: Gets one connection type by ID.
 21647  func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
 21648  	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21649  	c.profileId = profileId
 21650  	c.id = id
 21651  	return c
 21652  }
 21653  
 21654  // Fields allows partial responses to be retrieved. See
 21655  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21656  // for more information.
 21657  func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
 21658  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21659  	return c
 21660  }
 21661  
 21662  // IfNoneMatch sets the optional parameter which makes the operation
 21663  // fail if the object's ETag matches the given value. This is useful for
 21664  // getting updates only after the object has changed since the last
 21665  // request. Use googleapi.IsNotModified to check whether the response
 21666  // error from Do is the result of In-None-Match.
 21667  func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
 21668  	c.ifNoneMatch_ = entityTag
 21669  	return c
 21670  }
 21671  
 21672  // Context sets the context to be used in this call's Do method. Any
 21673  // pending HTTP request will be aborted if the provided context is
 21674  // canceled.
 21675  func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
 21676  	c.ctx_ = ctx
 21677  	return c
 21678  }
 21679  
 21680  // Header returns an http.Header that can be modified by the caller to
 21681  // add HTTP headers to the request.
 21682  func (c *ConnectionTypesGetCall) Header() http.Header {
 21683  	if c.header_ == nil {
 21684  		c.header_ = make(http.Header)
 21685  	}
 21686  	return c.header_
 21687  }
 21688  
 21689  func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
 21690  	reqHeaders := make(http.Header)
 21691  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21692  	for k, v := range c.header_ {
 21693  		reqHeaders[k] = v
 21694  	}
 21695  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21696  	if c.ifNoneMatch_ != "" {
 21697  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21698  	}
 21699  	var body io.Reader = nil
 21700  	c.urlParams_.Set("alt", alt)
 21701  	c.urlParams_.Set("prettyPrint", "false")
 21702  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
 21703  	urls += "?" + c.urlParams_.Encode()
 21704  	req, err := http.NewRequest("GET", urls, body)
 21705  	if err != nil {
 21706  		return nil, err
 21707  	}
 21708  	req.Header = reqHeaders
 21709  	googleapi.Expand(req.URL, map[string]string{
 21710  		"profileId": strconv.FormatInt(c.profileId, 10),
 21711  		"id":        strconv.FormatInt(c.id, 10),
 21712  	})
 21713  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21714  }
 21715  
 21716  // Do executes the "dfareporting.connectionTypes.get" call.
 21717  // Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
 21718  // status code is an error. Response headers are in either
 21719  // *ConnectionType.ServerResponse.Header or (if a response was returned
 21720  // at all) in error.(*googleapi.Error).Header. Use
 21721  // googleapi.IsNotModified to check whether the returned error was
 21722  // because http.StatusNotModified was returned.
 21723  func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
 21724  	gensupport.SetOptions(c.urlParams_, opts...)
 21725  	res, err := c.doRequest("json")
 21726  	if res != nil && res.StatusCode == http.StatusNotModified {
 21727  		if res.Body != nil {
 21728  			res.Body.Close()
 21729  		}
 21730  		return nil, &googleapi.Error{
 21731  			Code:   res.StatusCode,
 21732  			Header: res.Header,
 21733  		}
 21734  	}
 21735  	if err != nil {
 21736  		return nil, err
 21737  	}
 21738  	defer googleapi.CloseBody(res)
 21739  	if err := googleapi.CheckResponse(res); err != nil {
 21740  		return nil, err
 21741  	}
 21742  	ret := &ConnectionType{
 21743  		ServerResponse: googleapi.ServerResponse{
 21744  			Header:         res.Header,
 21745  			HTTPStatusCode: res.StatusCode,
 21746  		},
 21747  	}
 21748  	target := &ret
 21749  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21750  		return nil, err
 21751  	}
 21752  	return ret, nil
 21753  	// {
 21754  	//   "description": "Gets one connection type by ID.",
 21755  	//   "httpMethod": "GET",
 21756  	//   "id": "dfareporting.connectionTypes.get",
 21757  	//   "parameterOrder": [
 21758  	//     "profileId",
 21759  	//     "id"
 21760  	//   ],
 21761  	//   "parameters": {
 21762  	//     "id": {
 21763  	//       "description": "Connection type ID.",
 21764  	//       "format": "int64",
 21765  	//       "location": "path",
 21766  	//       "required": true,
 21767  	//       "type": "string"
 21768  	//     },
 21769  	//     "profileId": {
 21770  	//       "description": "User profile ID associated with this request.",
 21771  	//       "format": "int64",
 21772  	//       "location": "path",
 21773  	//       "required": true,
 21774  	//       "type": "string"
 21775  	//     }
 21776  	//   },
 21777  	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
 21778  	//   "response": {
 21779  	//     "$ref": "ConnectionType"
 21780  	//   },
 21781  	//   "scopes": [
 21782  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21783  	//   ]
 21784  	// }
 21785  
 21786  }
 21787  
 21788  // method id "dfareporting.connectionTypes.list":
 21789  
 21790  type ConnectionTypesListCall struct {
 21791  	s            *Service
 21792  	profileId    int64
 21793  	urlParams_   gensupport.URLParams
 21794  	ifNoneMatch_ string
 21795  	ctx_         context.Context
 21796  	header_      http.Header
 21797  }
 21798  
 21799  // List: Retrieves a list of connection types.
 21800  func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
 21801  	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21802  	c.profileId = profileId
 21803  	return c
 21804  }
 21805  
 21806  // Fields allows partial responses to be retrieved. See
 21807  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21808  // for more information.
 21809  func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
 21810  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21811  	return c
 21812  }
 21813  
 21814  // IfNoneMatch sets the optional parameter which makes the operation
 21815  // fail if the object's ETag matches the given value. This is useful for
 21816  // getting updates only after the object has changed since the last
 21817  // request. Use googleapi.IsNotModified to check whether the response
 21818  // error from Do is the result of In-None-Match.
 21819  func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
 21820  	c.ifNoneMatch_ = entityTag
 21821  	return c
 21822  }
 21823  
 21824  // Context sets the context to be used in this call's Do method. Any
 21825  // pending HTTP request will be aborted if the provided context is
 21826  // canceled.
 21827  func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
 21828  	c.ctx_ = ctx
 21829  	return c
 21830  }
 21831  
 21832  // Header returns an http.Header that can be modified by the caller to
 21833  // add HTTP headers to the request.
 21834  func (c *ConnectionTypesListCall) Header() http.Header {
 21835  	if c.header_ == nil {
 21836  		c.header_ = make(http.Header)
 21837  	}
 21838  	return c.header_
 21839  }
 21840  
 21841  func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 21842  	reqHeaders := make(http.Header)
 21843  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21844  	for k, v := range c.header_ {
 21845  		reqHeaders[k] = v
 21846  	}
 21847  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21848  	if c.ifNoneMatch_ != "" {
 21849  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21850  	}
 21851  	var body io.Reader = nil
 21852  	c.urlParams_.Set("alt", alt)
 21853  	c.urlParams_.Set("prettyPrint", "false")
 21854  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
 21855  	urls += "?" + c.urlParams_.Encode()
 21856  	req, err := http.NewRequest("GET", urls, body)
 21857  	if err != nil {
 21858  		return nil, err
 21859  	}
 21860  	req.Header = reqHeaders
 21861  	googleapi.Expand(req.URL, map[string]string{
 21862  		"profileId": strconv.FormatInt(c.profileId, 10),
 21863  	})
 21864  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21865  }
 21866  
 21867  // Do executes the "dfareporting.connectionTypes.list" call.
 21868  // Exactly one of *ConnectionTypesListResponse or error will be non-nil.
 21869  // Any non-2xx status code is an error. Response headers are in either
 21870  // *ConnectionTypesListResponse.ServerResponse.Header or (if a response
 21871  // was returned at all) in error.(*googleapi.Error).Header. Use
 21872  // googleapi.IsNotModified to check whether the returned error was
 21873  // because http.StatusNotModified was returned.
 21874  func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
 21875  	gensupport.SetOptions(c.urlParams_, opts...)
 21876  	res, err := c.doRequest("json")
 21877  	if res != nil && res.StatusCode == http.StatusNotModified {
 21878  		if res.Body != nil {
 21879  			res.Body.Close()
 21880  		}
 21881  		return nil, &googleapi.Error{
 21882  			Code:   res.StatusCode,
 21883  			Header: res.Header,
 21884  		}
 21885  	}
 21886  	if err != nil {
 21887  		return nil, err
 21888  	}
 21889  	defer googleapi.CloseBody(res)
 21890  	if err := googleapi.CheckResponse(res); err != nil {
 21891  		return nil, err
 21892  	}
 21893  	ret := &ConnectionTypesListResponse{
 21894  		ServerResponse: googleapi.ServerResponse{
 21895  			Header:         res.Header,
 21896  			HTTPStatusCode: res.StatusCode,
 21897  		},
 21898  	}
 21899  	target := &ret
 21900  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21901  		return nil, err
 21902  	}
 21903  	return ret, nil
 21904  	// {
 21905  	//   "description": "Retrieves a list of connection types.",
 21906  	//   "httpMethod": "GET",
 21907  	//   "id": "dfareporting.connectionTypes.list",
 21908  	//   "parameterOrder": [
 21909  	//     "profileId"
 21910  	//   ],
 21911  	//   "parameters": {
 21912  	//     "profileId": {
 21913  	//       "description": "User profile ID associated with this request.",
 21914  	//       "format": "int64",
 21915  	//       "location": "path",
 21916  	//       "required": true,
 21917  	//       "type": "string"
 21918  	//     }
 21919  	//   },
 21920  	//   "path": "userprofiles/{profileId}/connectionTypes",
 21921  	//   "response": {
 21922  	//     "$ref": "ConnectionTypesListResponse"
 21923  	//   },
 21924  	//   "scopes": [
 21925  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21926  	//   ]
 21927  	// }
 21928  
 21929  }
 21930  
 21931  // method id "dfareporting.contentCategories.delete":
 21932  
 21933  type ContentCategoriesDeleteCall struct {
 21934  	s          *Service
 21935  	profileId  int64
 21936  	id         int64
 21937  	urlParams_ gensupport.URLParams
 21938  	ctx_       context.Context
 21939  	header_    http.Header
 21940  }
 21941  
 21942  // Delete: Deletes an existing content category.
 21943  func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
 21944  	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21945  	c.profileId = profileId
 21946  	c.id = id
 21947  	return c
 21948  }
 21949  
 21950  // Fields allows partial responses to be retrieved. See
 21951  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21952  // for more information.
 21953  func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
 21954  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21955  	return c
 21956  }
 21957  
 21958  // Context sets the context to be used in this call's Do method. Any
 21959  // pending HTTP request will be aborted if the provided context is
 21960  // canceled.
 21961  func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
 21962  	c.ctx_ = ctx
 21963  	return c
 21964  }
 21965  
 21966  // Header returns an http.Header that can be modified by the caller to
 21967  // add HTTP headers to the request.
 21968  func (c *ContentCategoriesDeleteCall) Header() http.Header {
 21969  	if c.header_ == nil {
 21970  		c.header_ = make(http.Header)
 21971  	}
 21972  	return c.header_
 21973  }
 21974  
 21975  func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 21976  	reqHeaders := make(http.Header)
 21977  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21978  	for k, v := range c.header_ {
 21979  		reqHeaders[k] = v
 21980  	}
 21981  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21982  	var body io.Reader = nil
 21983  	c.urlParams_.Set("alt", alt)
 21984  	c.urlParams_.Set("prettyPrint", "false")
 21985  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 21986  	urls += "?" + c.urlParams_.Encode()
 21987  	req, err := http.NewRequest("DELETE", urls, body)
 21988  	if err != nil {
 21989  		return nil, err
 21990  	}
 21991  	req.Header = reqHeaders
 21992  	googleapi.Expand(req.URL, map[string]string{
 21993  		"profileId": strconv.FormatInt(c.profileId, 10),
 21994  		"id":        strconv.FormatInt(c.id, 10),
 21995  	})
 21996  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21997  }
 21998  
 21999  // Do executes the "dfareporting.contentCategories.delete" call.
 22000  func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
 22001  	gensupport.SetOptions(c.urlParams_, opts...)
 22002  	res, err := c.doRequest("json")
 22003  	if err != nil {
 22004  		return err
 22005  	}
 22006  	defer googleapi.CloseBody(res)
 22007  	if err := googleapi.CheckResponse(res); err != nil {
 22008  		return err
 22009  	}
 22010  	return nil
 22011  	// {
 22012  	//   "description": "Deletes an existing content category.",
 22013  	//   "httpMethod": "DELETE",
 22014  	//   "id": "dfareporting.contentCategories.delete",
 22015  	//   "parameterOrder": [
 22016  	//     "profileId",
 22017  	//     "id"
 22018  	//   ],
 22019  	//   "parameters": {
 22020  	//     "id": {
 22021  	//       "description": "Content category ID.",
 22022  	//       "format": "int64",
 22023  	//       "location": "path",
 22024  	//       "required": true,
 22025  	//       "type": "string"
 22026  	//     },
 22027  	//     "profileId": {
 22028  	//       "description": "User profile ID associated with this request.",
 22029  	//       "format": "int64",
 22030  	//       "location": "path",
 22031  	//       "required": true,
 22032  	//       "type": "string"
 22033  	//     }
 22034  	//   },
 22035  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 22036  	//   "scopes": [
 22037  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22038  	//   ]
 22039  	// }
 22040  
 22041  }
 22042  
 22043  // method id "dfareporting.contentCategories.get":
 22044  
 22045  type ContentCategoriesGetCall struct {
 22046  	s            *Service
 22047  	profileId    int64
 22048  	id           int64
 22049  	urlParams_   gensupport.URLParams
 22050  	ifNoneMatch_ string
 22051  	ctx_         context.Context
 22052  	header_      http.Header
 22053  }
 22054  
 22055  // Get: Gets one content category by ID.
 22056  func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
 22057  	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22058  	c.profileId = profileId
 22059  	c.id = id
 22060  	return c
 22061  }
 22062  
 22063  // Fields allows partial responses to be retrieved. See
 22064  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22065  // for more information.
 22066  func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
 22067  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22068  	return c
 22069  }
 22070  
 22071  // IfNoneMatch sets the optional parameter which makes the operation
 22072  // fail if the object's ETag matches the given value. This is useful for
 22073  // getting updates only after the object has changed since the last
 22074  // request. Use googleapi.IsNotModified to check whether the response
 22075  // error from Do is the result of In-None-Match.
 22076  func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
 22077  	c.ifNoneMatch_ = entityTag
 22078  	return c
 22079  }
 22080  
 22081  // Context sets the context to be used in this call's Do method. Any
 22082  // pending HTTP request will be aborted if the provided context is
 22083  // canceled.
 22084  func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
 22085  	c.ctx_ = ctx
 22086  	return c
 22087  }
 22088  
 22089  // Header returns an http.Header that can be modified by the caller to
 22090  // add HTTP headers to the request.
 22091  func (c *ContentCategoriesGetCall) Header() http.Header {
 22092  	if c.header_ == nil {
 22093  		c.header_ = make(http.Header)
 22094  	}
 22095  	return c.header_
 22096  }
 22097  
 22098  func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 22099  	reqHeaders := make(http.Header)
 22100  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22101  	for k, v := range c.header_ {
 22102  		reqHeaders[k] = v
 22103  	}
 22104  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22105  	if c.ifNoneMatch_ != "" {
 22106  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22107  	}
 22108  	var body io.Reader = nil
 22109  	c.urlParams_.Set("alt", alt)
 22110  	c.urlParams_.Set("prettyPrint", "false")
 22111  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 22112  	urls += "?" + c.urlParams_.Encode()
 22113  	req, err := http.NewRequest("GET", urls, body)
 22114  	if err != nil {
 22115  		return nil, err
 22116  	}
 22117  	req.Header = reqHeaders
 22118  	googleapi.Expand(req.URL, map[string]string{
 22119  		"profileId": strconv.FormatInt(c.profileId, 10),
 22120  		"id":        strconv.FormatInt(c.id, 10),
 22121  	})
 22122  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22123  }
 22124  
 22125  // Do executes the "dfareporting.contentCategories.get" call.
 22126  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 22127  // status code is an error. Response headers are in either
 22128  // *ContentCategory.ServerResponse.Header or (if a response was returned
 22129  // at all) in error.(*googleapi.Error).Header. Use
 22130  // googleapi.IsNotModified to check whether the returned error was
 22131  // because http.StatusNotModified was returned.
 22132  func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 22133  	gensupport.SetOptions(c.urlParams_, opts...)
 22134  	res, err := c.doRequest("json")
 22135  	if res != nil && res.StatusCode == http.StatusNotModified {
 22136  		if res.Body != nil {
 22137  			res.Body.Close()
 22138  		}
 22139  		return nil, &googleapi.Error{
 22140  			Code:   res.StatusCode,
 22141  			Header: res.Header,
 22142  		}
 22143  	}
 22144  	if err != nil {
 22145  		return nil, err
 22146  	}
 22147  	defer googleapi.CloseBody(res)
 22148  	if err := googleapi.CheckResponse(res); err != nil {
 22149  		return nil, err
 22150  	}
 22151  	ret := &ContentCategory{
 22152  		ServerResponse: googleapi.ServerResponse{
 22153  			Header:         res.Header,
 22154  			HTTPStatusCode: res.StatusCode,
 22155  		},
 22156  	}
 22157  	target := &ret
 22158  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22159  		return nil, err
 22160  	}
 22161  	return ret, nil
 22162  	// {
 22163  	//   "description": "Gets one content category by ID.",
 22164  	//   "httpMethod": "GET",
 22165  	//   "id": "dfareporting.contentCategories.get",
 22166  	//   "parameterOrder": [
 22167  	//     "profileId",
 22168  	//     "id"
 22169  	//   ],
 22170  	//   "parameters": {
 22171  	//     "id": {
 22172  	//       "description": "Content category ID.",
 22173  	//       "format": "int64",
 22174  	//       "location": "path",
 22175  	//       "required": true,
 22176  	//       "type": "string"
 22177  	//     },
 22178  	//     "profileId": {
 22179  	//       "description": "User profile ID associated with this request.",
 22180  	//       "format": "int64",
 22181  	//       "location": "path",
 22182  	//       "required": true,
 22183  	//       "type": "string"
 22184  	//     }
 22185  	//   },
 22186  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 22187  	//   "response": {
 22188  	//     "$ref": "ContentCategory"
 22189  	//   },
 22190  	//   "scopes": [
 22191  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22192  	//   ]
 22193  	// }
 22194  
 22195  }
 22196  
 22197  // method id "dfareporting.contentCategories.insert":
 22198  
 22199  type ContentCategoriesInsertCall struct {
 22200  	s               *Service
 22201  	profileId       int64
 22202  	contentcategory *ContentCategory
 22203  	urlParams_      gensupport.URLParams
 22204  	ctx_            context.Context
 22205  	header_         http.Header
 22206  }
 22207  
 22208  // Insert: Inserts a new content category.
 22209  func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
 22210  	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22211  	c.profileId = profileId
 22212  	c.contentcategory = contentcategory
 22213  	return c
 22214  }
 22215  
 22216  // Fields allows partial responses to be retrieved. See
 22217  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22218  // for more information.
 22219  func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
 22220  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22221  	return c
 22222  }
 22223  
 22224  // Context sets the context to be used in this call's Do method. Any
 22225  // pending HTTP request will be aborted if the provided context is
 22226  // canceled.
 22227  func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
 22228  	c.ctx_ = ctx
 22229  	return c
 22230  }
 22231  
 22232  // Header returns an http.Header that can be modified by the caller to
 22233  // add HTTP headers to the request.
 22234  func (c *ContentCategoriesInsertCall) Header() http.Header {
 22235  	if c.header_ == nil {
 22236  		c.header_ = make(http.Header)
 22237  	}
 22238  	return c.header_
 22239  }
 22240  
 22241  func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
 22242  	reqHeaders := make(http.Header)
 22243  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22244  	for k, v := range c.header_ {
 22245  		reqHeaders[k] = v
 22246  	}
 22247  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22248  	var body io.Reader = nil
 22249  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 22250  	if err != nil {
 22251  		return nil, err
 22252  	}
 22253  	reqHeaders.Set("Content-Type", "application/json")
 22254  	c.urlParams_.Set("alt", alt)
 22255  	c.urlParams_.Set("prettyPrint", "false")
 22256  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 22257  	urls += "?" + c.urlParams_.Encode()
 22258  	req, err := http.NewRequest("POST", urls, body)
 22259  	if err != nil {
 22260  		return nil, err
 22261  	}
 22262  	req.Header = reqHeaders
 22263  	googleapi.Expand(req.URL, map[string]string{
 22264  		"profileId": strconv.FormatInt(c.profileId, 10),
 22265  	})
 22266  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22267  }
 22268  
 22269  // Do executes the "dfareporting.contentCategories.insert" call.
 22270  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 22271  // status code is an error. Response headers are in either
 22272  // *ContentCategory.ServerResponse.Header or (if a response was returned
 22273  // at all) in error.(*googleapi.Error).Header. Use
 22274  // googleapi.IsNotModified to check whether the returned error was
 22275  // because http.StatusNotModified was returned.
 22276  func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 22277  	gensupport.SetOptions(c.urlParams_, opts...)
 22278  	res, err := c.doRequest("json")
 22279  	if res != nil && res.StatusCode == http.StatusNotModified {
 22280  		if res.Body != nil {
 22281  			res.Body.Close()
 22282  		}
 22283  		return nil, &googleapi.Error{
 22284  			Code:   res.StatusCode,
 22285  			Header: res.Header,
 22286  		}
 22287  	}
 22288  	if err != nil {
 22289  		return nil, err
 22290  	}
 22291  	defer googleapi.CloseBody(res)
 22292  	if err := googleapi.CheckResponse(res); err != nil {
 22293  		return nil, err
 22294  	}
 22295  	ret := &ContentCategory{
 22296  		ServerResponse: googleapi.ServerResponse{
 22297  			Header:         res.Header,
 22298  			HTTPStatusCode: res.StatusCode,
 22299  		},
 22300  	}
 22301  	target := &ret
 22302  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22303  		return nil, err
 22304  	}
 22305  	return ret, nil
 22306  	// {
 22307  	//   "description": "Inserts a new content category.",
 22308  	//   "httpMethod": "POST",
 22309  	//   "id": "dfareporting.contentCategories.insert",
 22310  	//   "parameterOrder": [
 22311  	//     "profileId"
 22312  	//   ],
 22313  	//   "parameters": {
 22314  	//     "profileId": {
 22315  	//       "description": "User profile ID associated with this request.",
 22316  	//       "format": "int64",
 22317  	//       "location": "path",
 22318  	//       "required": true,
 22319  	//       "type": "string"
 22320  	//     }
 22321  	//   },
 22322  	//   "path": "userprofiles/{profileId}/contentCategories",
 22323  	//   "request": {
 22324  	//     "$ref": "ContentCategory"
 22325  	//   },
 22326  	//   "response": {
 22327  	//     "$ref": "ContentCategory"
 22328  	//   },
 22329  	//   "scopes": [
 22330  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22331  	//   ]
 22332  	// }
 22333  
 22334  }
 22335  
 22336  // method id "dfareporting.contentCategories.list":
 22337  
 22338  type ContentCategoriesListCall struct {
 22339  	s            *Service
 22340  	profileId    int64
 22341  	urlParams_   gensupport.URLParams
 22342  	ifNoneMatch_ string
 22343  	ctx_         context.Context
 22344  	header_      http.Header
 22345  }
 22346  
 22347  // List: Retrieves a list of content categories, possibly filtered. This
 22348  // method supports paging.
 22349  func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
 22350  	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22351  	c.profileId = profileId
 22352  	return c
 22353  }
 22354  
 22355  // Ids sets the optional parameter "ids": Select only content categories
 22356  // with these IDs.
 22357  func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
 22358  	var ids_ []string
 22359  	for _, v := range ids {
 22360  		ids_ = append(ids_, fmt.Sprint(v))
 22361  	}
 22362  	c.urlParams_.SetMulti("ids", ids_)
 22363  	return c
 22364  }
 22365  
 22366  // MaxResults sets the optional parameter "maxResults": Maximum number
 22367  // of results to return.
 22368  func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
 22369  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 22370  	return c
 22371  }
 22372  
 22373  // PageToken sets the optional parameter "pageToken": Value of the
 22374  // nextPageToken from the previous result page.
 22375  func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
 22376  	c.urlParams_.Set("pageToken", pageToken)
 22377  	return c
 22378  }
 22379  
 22380  // SearchString sets the optional parameter "searchString": Allows
 22381  // searching for objects by name or ID. Wildcards (*) are allowed. For
 22382  // example, "contentcategory*2015" will return objects with names like
 22383  // "contentcategory June 2015", "contentcategory April 2015", or simply
 22384  // "contentcategory 2015". Most of the searches also add wildcards
 22385  // implicitly at the start and the end of the search string. For
 22386  // example, a search string of "contentcategory" will match objects with
 22387  // name "my contentcategory", "contentcategory 2015", or simply
 22388  // "contentcategory".
 22389  func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
 22390  	c.urlParams_.Set("searchString", searchString)
 22391  	return c
 22392  }
 22393  
 22394  // SortField sets the optional parameter "sortField": Field by which to
 22395  // sort the list.
 22396  //
 22397  // Possible values:
 22398  //
 22399  //	"ID" (default)
 22400  //	"NAME"
 22401  func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
 22402  	c.urlParams_.Set("sortField", sortField)
 22403  	return c
 22404  }
 22405  
 22406  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 22407  // results.
 22408  //
 22409  // Possible values:
 22410  //
 22411  //	"ASCENDING" (default)
 22412  //	"DESCENDING"
 22413  func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
 22414  	c.urlParams_.Set("sortOrder", sortOrder)
 22415  	return c
 22416  }
 22417  
 22418  // Fields allows partial responses to be retrieved. See
 22419  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22420  // for more information.
 22421  func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
 22422  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22423  	return c
 22424  }
 22425  
 22426  // IfNoneMatch sets the optional parameter which makes the operation
 22427  // fail if the object's ETag matches the given value. This is useful for
 22428  // getting updates only after the object has changed since the last
 22429  // request. Use googleapi.IsNotModified to check whether the response
 22430  // error from Do is the result of In-None-Match.
 22431  func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
 22432  	c.ifNoneMatch_ = entityTag
 22433  	return c
 22434  }
 22435  
 22436  // Context sets the context to be used in this call's Do method. Any
 22437  // pending HTTP request will be aborted if the provided context is
 22438  // canceled.
 22439  func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
 22440  	c.ctx_ = ctx
 22441  	return c
 22442  }
 22443  
 22444  // Header returns an http.Header that can be modified by the caller to
 22445  // add HTTP headers to the request.
 22446  func (c *ContentCategoriesListCall) Header() http.Header {
 22447  	if c.header_ == nil {
 22448  		c.header_ = make(http.Header)
 22449  	}
 22450  	return c.header_
 22451  }
 22452  
 22453  func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 22454  	reqHeaders := make(http.Header)
 22455  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22456  	for k, v := range c.header_ {
 22457  		reqHeaders[k] = v
 22458  	}
 22459  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22460  	if c.ifNoneMatch_ != "" {
 22461  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22462  	}
 22463  	var body io.Reader = nil
 22464  	c.urlParams_.Set("alt", alt)
 22465  	c.urlParams_.Set("prettyPrint", "false")
 22466  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 22467  	urls += "?" + c.urlParams_.Encode()
 22468  	req, err := http.NewRequest("GET", urls, body)
 22469  	if err != nil {
 22470  		return nil, err
 22471  	}
 22472  	req.Header = reqHeaders
 22473  	googleapi.Expand(req.URL, map[string]string{
 22474  		"profileId": strconv.FormatInt(c.profileId, 10),
 22475  	})
 22476  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22477  }
 22478  
 22479  // Do executes the "dfareporting.contentCategories.list" call.
 22480  // Exactly one of *ContentCategoriesListResponse or error will be
 22481  // non-nil. Any non-2xx status code is an error. Response headers are in
 22482  // either *ContentCategoriesListResponse.ServerResponse.Header or (if a
 22483  // response was returned at all) in error.(*googleapi.Error).Header. Use
 22484  // googleapi.IsNotModified to check whether the returned error was
 22485  // because http.StatusNotModified was returned.
 22486  func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
 22487  	gensupport.SetOptions(c.urlParams_, opts...)
 22488  	res, err := c.doRequest("json")
 22489  	if res != nil && res.StatusCode == http.StatusNotModified {
 22490  		if res.Body != nil {
 22491  			res.Body.Close()
 22492  		}
 22493  		return nil, &googleapi.Error{
 22494  			Code:   res.StatusCode,
 22495  			Header: res.Header,
 22496  		}
 22497  	}
 22498  	if err != nil {
 22499  		return nil, err
 22500  	}
 22501  	defer googleapi.CloseBody(res)
 22502  	if err := googleapi.CheckResponse(res); err != nil {
 22503  		return nil, err
 22504  	}
 22505  	ret := &ContentCategoriesListResponse{
 22506  		ServerResponse: googleapi.ServerResponse{
 22507  			Header:         res.Header,
 22508  			HTTPStatusCode: res.StatusCode,
 22509  		},
 22510  	}
 22511  	target := &ret
 22512  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22513  		return nil, err
 22514  	}
 22515  	return ret, nil
 22516  	// {
 22517  	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
 22518  	//   "httpMethod": "GET",
 22519  	//   "id": "dfareporting.contentCategories.list",
 22520  	//   "parameterOrder": [
 22521  	//     "profileId"
 22522  	//   ],
 22523  	//   "parameters": {
 22524  	//     "ids": {
 22525  	//       "description": "Select only content categories with these IDs.",
 22526  	//       "format": "int64",
 22527  	//       "location": "query",
 22528  	//       "repeated": true,
 22529  	//       "type": "string"
 22530  	//     },
 22531  	//     "maxResults": {
 22532  	//       "default": "1000",
 22533  	//       "description": "Maximum number of results to return.",
 22534  	//       "format": "int32",
 22535  	//       "location": "query",
 22536  	//       "maximum": "1000",
 22537  	//       "minimum": "0",
 22538  	//       "type": "integer"
 22539  	//     },
 22540  	//     "pageToken": {
 22541  	//       "description": "Value of the nextPageToken from the previous result page.",
 22542  	//       "location": "query",
 22543  	//       "type": "string"
 22544  	//     },
 22545  	//     "profileId": {
 22546  	//       "description": "User profile ID associated with this request.",
 22547  	//       "format": "int64",
 22548  	//       "location": "path",
 22549  	//       "required": true,
 22550  	//       "type": "string"
 22551  	//     },
 22552  	//     "searchString": {
 22553  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"contentcategory*2015\" will return objects with names like \"contentcategory June 2015\", \"contentcategory April 2015\", or simply \"contentcategory 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"contentcategory\" will match objects with name \"my contentcategory\", \"contentcategory 2015\", or simply \"contentcategory\".",
 22554  	//       "location": "query",
 22555  	//       "type": "string"
 22556  	//     },
 22557  	//     "sortField": {
 22558  	//       "default": "ID",
 22559  	//       "description": "Field by which to sort the list.",
 22560  	//       "enum": [
 22561  	//         "ID",
 22562  	//         "NAME"
 22563  	//       ],
 22564  	//       "enumDescriptions": [
 22565  	//         "",
 22566  	//         ""
 22567  	//       ],
 22568  	//       "location": "query",
 22569  	//       "type": "string"
 22570  	//     },
 22571  	//     "sortOrder": {
 22572  	//       "default": "ASCENDING",
 22573  	//       "description": "Order of sorted results.",
 22574  	//       "enum": [
 22575  	//         "ASCENDING",
 22576  	//         "DESCENDING"
 22577  	//       ],
 22578  	//       "enumDescriptions": [
 22579  	//         "",
 22580  	//         ""
 22581  	//       ],
 22582  	//       "location": "query",
 22583  	//       "type": "string"
 22584  	//     }
 22585  	//   },
 22586  	//   "path": "userprofiles/{profileId}/contentCategories",
 22587  	//   "response": {
 22588  	//     "$ref": "ContentCategoriesListResponse"
 22589  	//   },
 22590  	//   "scopes": [
 22591  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22592  	//   ]
 22593  	// }
 22594  
 22595  }
 22596  
 22597  // Pages invokes f for each page of results.
 22598  // A non-nil error returned from f will halt the iteration.
 22599  // The provided context supersedes any context provided to the Context method.
 22600  func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
 22601  	c.ctx_ = ctx
 22602  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 22603  	for {
 22604  		x, err := c.Do()
 22605  		if err != nil {
 22606  			return err
 22607  		}
 22608  		if err := f(x); err != nil {
 22609  			return err
 22610  		}
 22611  		if x.NextPageToken == "" {
 22612  			return nil
 22613  		}
 22614  		c.PageToken(x.NextPageToken)
 22615  	}
 22616  }
 22617  
 22618  // method id "dfareporting.contentCategories.patch":
 22619  
 22620  type ContentCategoriesPatchCall struct {
 22621  	s               *Service
 22622  	profileId       int64
 22623  	contentcategory *ContentCategory
 22624  	urlParams_      gensupport.URLParams
 22625  	ctx_            context.Context
 22626  	header_         http.Header
 22627  }
 22628  
 22629  // Patch: Updates an existing content category. This method supports
 22630  // patch semantics.
 22631  func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
 22632  	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22633  	c.profileId = profileId
 22634  	c.urlParams_.Set("id", fmt.Sprint(id))
 22635  	c.contentcategory = contentcategory
 22636  	return c
 22637  }
 22638  
 22639  // Fields allows partial responses to be retrieved. See
 22640  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22641  // for more information.
 22642  func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
 22643  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22644  	return c
 22645  }
 22646  
 22647  // Context sets the context to be used in this call's Do method. Any
 22648  // pending HTTP request will be aborted if the provided context is
 22649  // canceled.
 22650  func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
 22651  	c.ctx_ = ctx
 22652  	return c
 22653  }
 22654  
 22655  // Header returns an http.Header that can be modified by the caller to
 22656  // add HTTP headers to the request.
 22657  func (c *ContentCategoriesPatchCall) Header() http.Header {
 22658  	if c.header_ == nil {
 22659  		c.header_ = make(http.Header)
 22660  	}
 22661  	return c.header_
 22662  }
 22663  
 22664  func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
 22665  	reqHeaders := make(http.Header)
 22666  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22667  	for k, v := range c.header_ {
 22668  		reqHeaders[k] = v
 22669  	}
 22670  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22671  	var body io.Reader = nil
 22672  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 22673  	if err != nil {
 22674  		return nil, err
 22675  	}
 22676  	reqHeaders.Set("Content-Type", "application/json")
 22677  	c.urlParams_.Set("alt", alt)
 22678  	c.urlParams_.Set("prettyPrint", "false")
 22679  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 22680  	urls += "?" + c.urlParams_.Encode()
 22681  	req, err := http.NewRequest("PATCH", urls, body)
 22682  	if err != nil {
 22683  		return nil, err
 22684  	}
 22685  	req.Header = reqHeaders
 22686  	googleapi.Expand(req.URL, map[string]string{
 22687  		"profileId": strconv.FormatInt(c.profileId, 10),
 22688  	})
 22689  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22690  }
 22691  
 22692  // Do executes the "dfareporting.contentCategories.patch" call.
 22693  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 22694  // status code is an error. Response headers are in either
 22695  // *ContentCategory.ServerResponse.Header or (if a response was returned
 22696  // at all) in error.(*googleapi.Error).Header. Use
 22697  // googleapi.IsNotModified to check whether the returned error was
 22698  // because http.StatusNotModified was returned.
 22699  func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 22700  	gensupport.SetOptions(c.urlParams_, opts...)
 22701  	res, err := c.doRequest("json")
 22702  	if res != nil && res.StatusCode == http.StatusNotModified {
 22703  		if res.Body != nil {
 22704  			res.Body.Close()
 22705  		}
 22706  		return nil, &googleapi.Error{
 22707  			Code:   res.StatusCode,
 22708  			Header: res.Header,
 22709  		}
 22710  	}
 22711  	if err != nil {
 22712  		return nil, err
 22713  	}
 22714  	defer googleapi.CloseBody(res)
 22715  	if err := googleapi.CheckResponse(res); err != nil {
 22716  		return nil, err
 22717  	}
 22718  	ret := &ContentCategory{
 22719  		ServerResponse: googleapi.ServerResponse{
 22720  			Header:         res.Header,
 22721  			HTTPStatusCode: res.StatusCode,
 22722  		},
 22723  	}
 22724  	target := &ret
 22725  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22726  		return nil, err
 22727  	}
 22728  	return ret, nil
 22729  	// {
 22730  	//   "description": "Updates an existing content category. This method supports patch semantics.",
 22731  	//   "httpMethod": "PATCH",
 22732  	//   "id": "dfareporting.contentCategories.patch",
 22733  	//   "parameterOrder": [
 22734  	//     "profileId",
 22735  	//     "id"
 22736  	//   ],
 22737  	//   "parameters": {
 22738  	//     "id": {
 22739  	//       "description": "Content category ID.",
 22740  	//       "format": "int64",
 22741  	//       "location": "query",
 22742  	//       "required": true,
 22743  	//       "type": "string"
 22744  	//     },
 22745  	//     "profileId": {
 22746  	//       "description": "User profile ID associated with this request.",
 22747  	//       "format": "int64",
 22748  	//       "location": "path",
 22749  	//       "required": true,
 22750  	//       "type": "string"
 22751  	//     }
 22752  	//   },
 22753  	//   "path": "userprofiles/{profileId}/contentCategories",
 22754  	//   "request": {
 22755  	//     "$ref": "ContentCategory"
 22756  	//   },
 22757  	//   "response": {
 22758  	//     "$ref": "ContentCategory"
 22759  	//   },
 22760  	//   "scopes": [
 22761  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22762  	//   ]
 22763  	// }
 22764  
 22765  }
 22766  
 22767  // method id "dfareporting.contentCategories.update":
 22768  
 22769  type ContentCategoriesUpdateCall struct {
 22770  	s               *Service
 22771  	profileId       int64
 22772  	contentcategory *ContentCategory
 22773  	urlParams_      gensupport.URLParams
 22774  	ctx_            context.Context
 22775  	header_         http.Header
 22776  }
 22777  
 22778  // Update: Updates an existing content category.
 22779  func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
 22780  	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22781  	c.profileId = profileId
 22782  	c.contentcategory = contentcategory
 22783  	return c
 22784  }
 22785  
 22786  // Fields allows partial responses to be retrieved. See
 22787  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22788  // for more information.
 22789  func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
 22790  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22791  	return c
 22792  }
 22793  
 22794  // Context sets the context to be used in this call's Do method. Any
 22795  // pending HTTP request will be aborted if the provided context is
 22796  // canceled.
 22797  func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
 22798  	c.ctx_ = ctx
 22799  	return c
 22800  }
 22801  
 22802  // Header returns an http.Header that can be modified by the caller to
 22803  // add HTTP headers to the request.
 22804  func (c *ContentCategoriesUpdateCall) Header() http.Header {
 22805  	if c.header_ == nil {
 22806  		c.header_ = make(http.Header)
 22807  	}
 22808  	return c.header_
 22809  }
 22810  
 22811  func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
 22812  	reqHeaders := make(http.Header)
 22813  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22814  	for k, v := range c.header_ {
 22815  		reqHeaders[k] = v
 22816  	}
 22817  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22818  	var body io.Reader = nil
 22819  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 22820  	if err != nil {
 22821  		return nil, err
 22822  	}
 22823  	reqHeaders.Set("Content-Type", "application/json")
 22824  	c.urlParams_.Set("alt", alt)
 22825  	c.urlParams_.Set("prettyPrint", "false")
 22826  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 22827  	urls += "?" + c.urlParams_.Encode()
 22828  	req, err := http.NewRequest("PUT", urls, body)
 22829  	if err != nil {
 22830  		return nil, err
 22831  	}
 22832  	req.Header = reqHeaders
 22833  	googleapi.Expand(req.URL, map[string]string{
 22834  		"profileId": strconv.FormatInt(c.profileId, 10),
 22835  	})
 22836  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22837  }
 22838  
 22839  // Do executes the "dfareporting.contentCategories.update" call.
 22840  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 22841  // status code is an error. Response headers are in either
 22842  // *ContentCategory.ServerResponse.Header or (if a response was returned
 22843  // at all) in error.(*googleapi.Error).Header. Use
 22844  // googleapi.IsNotModified to check whether the returned error was
 22845  // because http.StatusNotModified was returned.
 22846  func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 22847  	gensupport.SetOptions(c.urlParams_, opts...)
 22848  	res, err := c.doRequest("json")
 22849  	if res != nil && res.StatusCode == http.StatusNotModified {
 22850  		if res.Body != nil {
 22851  			res.Body.Close()
 22852  		}
 22853  		return nil, &googleapi.Error{
 22854  			Code:   res.StatusCode,
 22855  			Header: res.Header,
 22856  		}
 22857  	}
 22858  	if err != nil {
 22859  		return nil, err
 22860  	}
 22861  	defer googleapi.CloseBody(res)
 22862  	if err := googleapi.CheckResponse(res); err != nil {
 22863  		return nil, err
 22864  	}
 22865  	ret := &ContentCategory{
 22866  		ServerResponse: googleapi.ServerResponse{
 22867  			Header:         res.Header,
 22868  			HTTPStatusCode: res.StatusCode,
 22869  		},
 22870  	}
 22871  	target := &ret
 22872  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22873  		return nil, err
 22874  	}
 22875  	return ret, nil
 22876  	// {
 22877  	//   "description": "Updates an existing content category.",
 22878  	//   "httpMethod": "PUT",
 22879  	//   "id": "dfareporting.contentCategories.update",
 22880  	//   "parameterOrder": [
 22881  	//     "profileId"
 22882  	//   ],
 22883  	//   "parameters": {
 22884  	//     "profileId": {
 22885  	//       "description": "User profile ID associated with this request.",
 22886  	//       "format": "int64",
 22887  	//       "location": "path",
 22888  	//       "required": true,
 22889  	//       "type": "string"
 22890  	//     }
 22891  	//   },
 22892  	//   "path": "userprofiles/{profileId}/contentCategories",
 22893  	//   "request": {
 22894  	//     "$ref": "ContentCategory"
 22895  	//   },
 22896  	//   "response": {
 22897  	//     "$ref": "ContentCategory"
 22898  	//   },
 22899  	//   "scopes": [
 22900  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22901  	//   ]
 22902  	// }
 22903  
 22904  }
 22905  
 22906  // method id "dfareporting.conversions.batchinsert":
 22907  
 22908  type ConversionsBatchinsertCall struct {
 22909  	s                             *Service
 22910  	profileId                     int64
 22911  	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
 22912  	urlParams_                    gensupport.URLParams
 22913  	ctx_                          context.Context
 22914  	header_                       http.Header
 22915  }
 22916  
 22917  // Batchinsert: Inserts conversions.
 22918  func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
 22919  	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22920  	c.profileId = profileId
 22921  	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
 22922  	return c
 22923  }
 22924  
 22925  // Fields allows partial responses to be retrieved. See
 22926  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22927  // for more information.
 22928  func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
 22929  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22930  	return c
 22931  }
 22932  
 22933  // Context sets the context to be used in this call's Do method. Any
 22934  // pending HTTP request will be aborted if the provided context is
 22935  // canceled.
 22936  func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
 22937  	c.ctx_ = ctx
 22938  	return c
 22939  }
 22940  
 22941  // Header returns an http.Header that can be modified by the caller to
 22942  // add HTTP headers to the request.
 22943  func (c *ConversionsBatchinsertCall) Header() http.Header {
 22944  	if c.header_ == nil {
 22945  		c.header_ = make(http.Header)
 22946  	}
 22947  	return c.header_
 22948  }
 22949  
 22950  func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
 22951  	reqHeaders := make(http.Header)
 22952  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22953  	for k, v := range c.header_ {
 22954  		reqHeaders[k] = v
 22955  	}
 22956  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22957  	var body io.Reader = nil
 22958  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
 22959  	if err != nil {
 22960  		return nil, err
 22961  	}
 22962  	reqHeaders.Set("Content-Type", "application/json")
 22963  	c.urlParams_.Set("alt", alt)
 22964  	c.urlParams_.Set("prettyPrint", "false")
 22965  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
 22966  	urls += "?" + c.urlParams_.Encode()
 22967  	req, err := http.NewRequest("POST", urls, body)
 22968  	if err != nil {
 22969  		return nil, err
 22970  	}
 22971  	req.Header = reqHeaders
 22972  	googleapi.Expand(req.URL, map[string]string{
 22973  		"profileId": strconv.FormatInt(c.profileId, 10),
 22974  	})
 22975  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22976  }
 22977  
 22978  // Do executes the "dfareporting.conversions.batchinsert" call.
 22979  // Exactly one of *ConversionsBatchInsertResponse or error will be
 22980  // non-nil. Any non-2xx status code is an error. Response headers are in
 22981  // either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
 22982  // response was returned at all) in error.(*googleapi.Error).Header. Use
 22983  // googleapi.IsNotModified to check whether the returned error was
 22984  // because http.StatusNotModified was returned.
 22985  func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
 22986  	gensupport.SetOptions(c.urlParams_, opts...)
 22987  	res, err := c.doRequest("json")
 22988  	if res != nil && res.StatusCode == http.StatusNotModified {
 22989  		if res.Body != nil {
 22990  			res.Body.Close()
 22991  		}
 22992  		return nil, &googleapi.Error{
 22993  			Code:   res.StatusCode,
 22994  			Header: res.Header,
 22995  		}
 22996  	}
 22997  	if err != nil {
 22998  		return nil, err
 22999  	}
 23000  	defer googleapi.CloseBody(res)
 23001  	if err := googleapi.CheckResponse(res); err != nil {
 23002  		return nil, err
 23003  	}
 23004  	ret := &ConversionsBatchInsertResponse{
 23005  		ServerResponse: googleapi.ServerResponse{
 23006  			Header:         res.Header,
 23007  			HTTPStatusCode: res.StatusCode,
 23008  		},
 23009  	}
 23010  	target := &ret
 23011  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23012  		return nil, err
 23013  	}
 23014  	return ret, nil
 23015  	// {
 23016  	//   "description": "Inserts conversions.",
 23017  	//   "httpMethod": "POST",
 23018  	//   "id": "dfareporting.conversions.batchinsert",
 23019  	//   "parameterOrder": [
 23020  	//     "profileId"
 23021  	//   ],
 23022  	//   "parameters": {
 23023  	//     "profileId": {
 23024  	//       "description": "User profile ID associated with this request.",
 23025  	//       "format": "int64",
 23026  	//       "location": "path",
 23027  	//       "required": true,
 23028  	//       "type": "string"
 23029  	//     }
 23030  	//   },
 23031  	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
 23032  	//   "request": {
 23033  	//     "$ref": "ConversionsBatchInsertRequest"
 23034  	//   },
 23035  	//   "response": {
 23036  	//     "$ref": "ConversionsBatchInsertResponse"
 23037  	//   },
 23038  	//   "scopes": [
 23039  	//     "https://www.googleapis.com/auth/ddmconversions"
 23040  	//   ]
 23041  	// }
 23042  
 23043  }
 23044  
 23045  // method id "dfareporting.countries.get":
 23046  
 23047  type CountriesGetCall struct {
 23048  	s            *Service
 23049  	profileId    int64
 23050  	dartId       int64
 23051  	urlParams_   gensupport.URLParams
 23052  	ifNoneMatch_ string
 23053  	ctx_         context.Context
 23054  	header_      http.Header
 23055  }
 23056  
 23057  // Get: Gets one country by ID.
 23058  func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
 23059  	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23060  	c.profileId = profileId
 23061  	c.dartId = dartId
 23062  	return c
 23063  }
 23064  
 23065  // Fields allows partial responses to be retrieved. See
 23066  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23067  // for more information.
 23068  func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
 23069  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23070  	return c
 23071  }
 23072  
 23073  // IfNoneMatch sets the optional parameter which makes the operation
 23074  // fail if the object's ETag matches the given value. This is useful for
 23075  // getting updates only after the object has changed since the last
 23076  // request. Use googleapi.IsNotModified to check whether the response
 23077  // error from Do is the result of In-None-Match.
 23078  func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
 23079  	c.ifNoneMatch_ = entityTag
 23080  	return c
 23081  }
 23082  
 23083  // Context sets the context to be used in this call's Do method. Any
 23084  // pending HTTP request will be aborted if the provided context is
 23085  // canceled.
 23086  func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
 23087  	c.ctx_ = ctx
 23088  	return c
 23089  }
 23090  
 23091  // Header returns an http.Header that can be modified by the caller to
 23092  // add HTTP headers to the request.
 23093  func (c *CountriesGetCall) Header() http.Header {
 23094  	if c.header_ == nil {
 23095  		c.header_ = make(http.Header)
 23096  	}
 23097  	return c.header_
 23098  }
 23099  
 23100  func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 23101  	reqHeaders := make(http.Header)
 23102  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23103  	for k, v := range c.header_ {
 23104  		reqHeaders[k] = v
 23105  	}
 23106  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23107  	if c.ifNoneMatch_ != "" {
 23108  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23109  	}
 23110  	var body io.Reader = nil
 23111  	c.urlParams_.Set("alt", alt)
 23112  	c.urlParams_.Set("prettyPrint", "false")
 23113  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
 23114  	urls += "?" + c.urlParams_.Encode()
 23115  	req, err := http.NewRequest("GET", urls, body)
 23116  	if err != nil {
 23117  		return nil, err
 23118  	}
 23119  	req.Header = reqHeaders
 23120  	googleapi.Expand(req.URL, map[string]string{
 23121  		"profileId": strconv.FormatInt(c.profileId, 10),
 23122  		"dartId":    strconv.FormatInt(c.dartId, 10),
 23123  	})
 23124  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23125  }
 23126  
 23127  // Do executes the "dfareporting.countries.get" call.
 23128  // Exactly one of *Country or error will be non-nil. Any non-2xx status
 23129  // code is an error. Response headers are in either
 23130  // *Country.ServerResponse.Header or (if a response was returned at all)
 23131  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 23132  // check whether the returned error was because http.StatusNotModified
 23133  // was returned.
 23134  func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
 23135  	gensupport.SetOptions(c.urlParams_, opts...)
 23136  	res, err := c.doRequest("json")
 23137  	if res != nil && res.StatusCode == http.StatusNotModified {
 23138  		if res.Body != nil {
 23139  			res.Body.Close()
 23140  		}
 23141  		return nil, &googleapi.Error{
 23142  			Code:   res.StatusCode,
 23143  			Header: res.Header,
 23144  		}
 23145  	}
 23146  	if err != nil {
 23147  		return nil, err
 23148  	}
 23149  	defer googleapi.CloseBody(res)
 23150  	if err := googleapi.CheckResponse(res); err != nil {
 23151  		return nil, err
 23152  	}
 23153  	ret := &Country{
 23154  		ServerResponse: googleapi.ServerResponse{
 23155  			Header:         res.Header,
 23156  			HTTPStatusCode: res.StatusCode,
 23157  		},
 23158  	}
 23159  	target := &ret
 23160  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23161  		return nil, err
 23162  	}
 23163  	return ret, nil
 23164  	// {
 23165  	//   "description": "Gets one country by ID.",
 23166  	//   "httpMethod": "GET",
 23167  	//   "id": "dfareporting.countries.get",
 23168  	//   "parameterOrder": [
 23169  	//     "profileId",
 23170  	//     "dartId"
 23171  	//   ],
 23172  	//   "parameters": {
 23173  	//     "dartId": {
 23174  	//       "description": "Country DART ID.",
 23175  	//       "format": "int64",
 23176  	//       "location": "path",
 23177  	//       "required": true,
 23178  	//       "type": "string"
 23179  	//     },
 23180  	//     "profileId": {
 23181  	//       "description": "User profile ID associated with this request.",
 23182  	//       "format": "int64",
 23183  	//       "location": "path",
 23184  	//       "required": true,
 23185  	//       "type": "string"
 23186  	//     }
 23187  	//   },
 23188  	//   "path": "userprofiles/{profileId}/countries/{dartId}",
 23189  	//   "response": {
 23190  	//     "$ref": "Country"
 23191  	//   },
 23192  	//   "scopes": [
 23193  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23194  	//   ]
 23195  	// }
 23196  
 23197  }
 23198  
 23199  // method id "dfareporting.countries.list":
 23200  
 23201  type CountriesListCall struct {
 23202  	s            *Service
 23203  	profileId    int64
 23204  	urlParams_   gensupport.URLParams
 23205  	ifNoneMatch_ string
 23206  	ctx_         context.Context
 23207  	header_      http.Header
 23208  }
 23209  
 23210  // List: Retrieves a list of countries.
 23211  func (r *CountriesService) List(profileId int64) *CountriesListCall {
 23212  	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23213  	c.profileId = profileId
 23214  	return c
 23215  }
 23216  
 23217  // Fields allows partial responses to be retrieved. See
 23218  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23219  // for more information.
 23220  func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
 23221  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23222  	return c
 23223  }
 23224  
 23225  // IfNoneMatch sets the optional parameter which makes the operation
 23226  // fail if the object's ETag matches the given value. This is useful for
 23227  // getting updates only after the object has changed since the last
 23228  // request. Use googleapi.IsNotModified to check whether the response
 23229  // error from Do is the result of In-None-Match.
 23230  func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
 23231  	c.ifNoneMatch_ = entityTag
 23232  	return c
 23233  }
 23234  
 23235  // Context sets the context to be used in this call's Do method. Any
 23236  // pending HTTP request will be aborted if the provided context is
 23237  // canceled.
 23238  func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
 23239  	c.ctx_ = ctx
 23240  	return c
 23241  }
 23242  
 23243  // Header returns an http.Header that can be modified by the caller to
 23244  // add HTTP headers to the request.
 23245  func (c *CountriesListCall) Header() http.Header {
 23246  	if c.header_ == nil {
 23247  		c.header_ = make(http.Header)
 23248  	}
 23249  	return c.header_
 23250  }
 23251  
 23252  func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 23253  	reqHeaders := make(http.Header)
 23254  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23255  	for k, v := range c.header_ {
 23256  		reqHeaders[k] = v
 23257  	}
 23258  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23259  	if c.ifNoneMatch_ != "" {
 23260  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23261  	}
 23262  	var body io.Reader = nil
 23263  	c.urlParams_.Set("alt", alt)
 23264  	c.urlParams_.Set("prettyPrint", "false")
 23265  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
 23266  	urls += "?" + c.urlParams_.Encode()
 23267  	req, err := http.NewRequest("GET", urls, body)
 23268  	if err != nil {
 23269  		return nil, err
 23270  	}
 23271  	req.Header = reqHeaders
 23272  	googleapi.Expand(req.URL, map[string]string{
 23273  		"profileId": strconv.FormatInt(c.profileId, 10),
 23274  	})
 23275  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23276  }
 23277  
 23278  // Do executes the "dfareporting.countries.list" call.
 23279  // Exactly one of *CountriesListResponse or error will be non-nil. Any
 23280  // non-2xx status code is an error. Response headers are in either
 23281  // *CountriesListResponse.ServerResponse.Header or (if a response was
 23282  // returned at all) in error.(*googleapi.Error).Header. Use
 23283  // googleapi.IsNotModified to check whether the returned error was
 23284  // because http.StatusNotModified was returned.
 23285  func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
 23286  	gensupport.SetOptions(c.urlParams_, opts...)
 23287  	res, err := c.doRequest("json")
 23288  	if res != nil && res.StatusCode == http.StatusNotModified {
 23289  		if res.Body != nil {
 23290  			res.Body.Close()
 23291  		}
 23292  		return nil, &googleapi.Error{
 23293  			Code:   res.StatusCode,
 23294  			Header: res.Header,
 23295  		}
 23296  	}
 23297  	if err != nil {
 23298  		return nil, err
 23299  	}
 23300  	defer googleapi.CloseBody(res)
 23301  	if err := googleapi.CheckResponse(res); err != nil {
 23302  		return nil, err
 23303  	}
 23304  	ret := &CountriesListResponse{
 23305  		ServerResponse: googleapi.ServerResponse{
 23306  			Header:         res.Header,
 23307  			HTTPStatusCode: res.StatusCode,
 23308  		},
 23309  	}
 23310  	target := &ret
 23311  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23312  		return nil, err
 23313  	}
 23314  	return ret, nil
 23315  	// {
 23316  	//   "description": "Retrieves a list of countries.",
 23317  	//   "httpMethod": "GET",
 23318  	//   "id": "dfareporting.countries.list",
 23319  	//   "parameterOrder": [
 23320  	//     "profileId"
 23321  	//   ],
 23322  	//   "parameters": {
 23323  	//     "profileId": {
 23324  	//       "description": "User profile ID associated with this request.",
 23325  	//       "format": "int64",
 23326  	//       "location": "path",
 23327  	//       "required": true,
 23328  	//       "type": "string"
 23329  	//     }
 23330  	//   },
 23331  	//   "path": "userprofiles/{profileId}/countries",
 23332  	//   "response": {
 23333  	//     "$ref": "CountriesListResponse"
 23334  	//   },
 23335  	//   "scopes": [
 23336  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23337  	//   ]
 23338  	// }
 23339  
 23340  }
 23341  
 23342  // method id "dfareporting.creativeAssets.insert":
 23343  
 23344  type CreativeAssetsInsertCall struct {
 23345  	s                     *Service
 23346  	profileId             int64
 23347  	advertiserId          int64
 23348  	creativeassetmetadata *CreativeAssetMetadata
 23349  	urlParams_            gensupport.URLParams
 23350  	mediaInfo_            *gensupport.MediaInfo
 23351  	ctx_                  context.Context
 23352  	header_               http.Header
 23353  }
 23354  
 23355  // Insert: Inserts a new creative asset.
 23356  func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
 23357  	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23358  	c.profileId = profileId
 23359  	c.advertiserId = advertiserId
 23360  	c.creativeassetmetadata = creativeassetmetadata
 23361  	return c
 23362  }
 23363  
 23364  // Media specifies the media to upload in one or more chunks. The chunk
 23365  // size may be controlled by supplying a MediaOption generated by
 23366  // googleapi.ChunkSize. The chunk size defaults to
 23367  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the
 23368  // upload request will be determined by sniffing the contents of r,
 23369  // unless a MediaOption generated by googleapi.ContentType is
 23370  // supplied.
 23371  // At most one of Media and ResumableMedia may be set.
 23372  func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
 23373  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 23374  	return c
 23375  }
 23376  
 23377  // ResumableMedia specifies the media to upload in chunks and can be
 23378  // canceled with ctx.
 23379  //
 23380  // Deprecated: use Media instead.
 23381  //
 23382  // At most one of Media and ResumableMedia may be set. mediaType
 23383  // identifies the MIME media type of the upload, such as "image/png". If
 23384  // mediaType is "", it will be auto-detected. The provided ctx will
 23385  // supersede any context previously provided to the Context method.
 23386  func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
 23387  	c.ctx_ = ctx
 23388  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 23389  	return c
 23390  }
 23391  
 23392  // ProgressUpdater provides a callback function that will be called
 23393  // after every chunk. It should be a low-latency function in order to
 23394  // not slow down the upload operation. This should only be called when
 23395  // using ResumableMedia (as opposed to Media).
 23396  func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
 23397  	c.mediaInfo_.SetProgressUpdater(pu)
 23398  	return c
 23399  }
 23400  
 23401  // Fields allows partial responses to be retrieved. See
 23402  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23403  // for more information.
 23404  func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
 23405  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23406  	return c
 23407  }
 23408  
 23409  // Context sets the context to be used in this call's Do method. Any
 23410  // pending HTTP request will be aborted if the provided context is
 23411  // canceled.
 23412  // This context will supersede any context previously provided to the
 23413  // ResumableMedia method.
 23414  func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
 23415  	c.ctx_ = ctx
 23416  	return c
 23417  }
 23418  
 23419  // Header returns an http.Header that can be modified by the caller to
 23420  // add HTTP headers to the request.
 23421  func (c *CreativeAssetsInsertCall) Header() http.Header {
 23422  	if c.header_ == nil {
 23423  		c.header_ = make(http.Header)
 23424  	}
 23425  	return c.header_
 23426  }
 23427  
 23428  func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
 23429  	reqHeaders := make(http.Header)
 23430  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23431  	for k, v := range c.header_ {
 23432  		reqHeaders[k] = v
 23433  	}
 23434  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23435  	var body io.Reader = nil
 23436  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
 23437  	if err != nil {
 23438  		return nil, err
 23439  	}
 23440  	reqHeaders.Set("Content-Type", "application/json")
 23441  	c.urlParams_.Set("alt", alt)
 23442  	c.urlParams_.Set("prettyPrint", "false")
 23443  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 23444  	if c.mediaInfo_ != nil {
 23445  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v2.7/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 23446  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 23447  	}
 23448  	if body == nil {
 23449  		body = new(bytes.Buffer)
 23450  		reqHeaders.Set("Content-Type", "application/json")
 23451  	}
 23452  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 23453  	defer cleanup()
 23454  	urls += "?" + c.urlParams_.Encode()
 23455  	req, err := http.NewRequest("POST", urls, body)
 23456  	if err != nil {
 23457  		return nil, err
 23458  	}
 23459  	req.Header = reqHeaders
 23460  	req.GetBody = getBody
 23461  	googleapi.Expand(req.URL, map[string]string{
 23462  		"profileId":    strconv.FormatInt(c.profileId, 10),
 23463  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 23464  	})
 23465  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23466  }
 23467  
 23468  // Do executes the "dfareporting.creativeAssets.insert" call.
 23469  // Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
 23470  // non-2xx status code is an error. Response headers are in either
 23471  // *CreativeAssetMetadata.ServerResponse.Header or (if a response was
 23472  // returned at all) in error.(*googleapi.Error).Header. Use
 23473  // googleapi.IsNotModified to check whether the returned error was
 23474  // because http.StatusNotModified was returned.
 23475  func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
 23476  	gensupport.SetOptions(c.urlParams_, opts...)
 23477  	res, err := c.doRequest("json")
 23478  	if res != nil && res.StatusCode == http.StatusNotModified {
 23479  		if res.Body != nil {
 23480  			res.Body.Close()
 23481  		}
 23482  		return nil, &googleapi.Error{
 23483  			Code:   res.StatusCode,
 23484  			Header: res.Header,
 23485  		}
 23486  	}
 23487  	if err != nil {
 23488  		return nil, err
 23489  	}
 23490  	defer googleapi.CloseBody(res)
 23491  	if err := googleapi.CheckResponse(res); err != nil {
 23492  		return nil, err
 23493  	}
 23494  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 23495  	if rx != nil {
 23496  		rx.Client = c.s.client
 23497  		rx.UserAgent = c.s.userAgent()
 23498  		ctx := c.ctx_
 23499  		if ctx == nil {
 23500  			ctx = context.TODO()
 23501  		}
 23502  		res, err = rx.Upload(ctx)
 23503  		if err != nil {
 23504  			return nil, err
 23505  		}
 23506  		defer res.Body.Close()
 23507  		if err := googleapi.CheckResponse(res); err != nil {
 23508  			return nil, err
 23509  		}
 23510  	}
 23511  	ret := &CreativeAssetMetadata{
 23512  		ServerResponse: googleapi.ServerResponse{
 23513  			Header:         res.Header,
 23514  			HTTPStatusCode: res.StatusCode,
 23515  		},
 23516  	}
 23517  	target := &ret
 23518  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23519  		return nil, err
 23520  	}
 23521  	return ret, nil
 23522  	// {
 23523  	//   "description": "Inserts a new creative asset.",
 23524  	//   "httpMethod": "POST",
 23525  	//   "id": "dfareporting.creativeAssets.insert",
 23526  	//   "mediaUpload": {
 23527  	//     "accept": [
 23528  	//       "*/*"
 23529  	//     ],
 23530  	//     "maxSize": "1024MB",
 23531  	//     "protocols": {
 23532  	//       "resumable": {
 23533  	//         "multipart": true,
 23534  	//         "path": "/resumable/upload/dfareporting/v2.7/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
 23535  	//       },
 23536  	//       "simple": {
 23537  	//         "multipart": true,
 23538  	//         "path": "/upload/dfareporting/v2.7/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
 23539  	//       }
 23540  	//     }
 23541  	//   },
 23542  	//   "parameterOrder": [
 23543  	//     "profileId",
 23544  	//     "advertiserId"
 23545  	//   ],
 23546  	//   "parameters": {
 23547  	//     "advertiserId": {
 23548  	//       "description": "Advertiser ID of this creative. This is a required field.",
 23549  	//       "format": "int64",
 23550  	//       "location": "path",
 23551  	//       "required": true,
 23552  	//       "type": "string"
 23553  	//     },
 23554  	//     "profileId": {
 23555  	//       "description": "User profile ID associated with this request.",
 23556  	//       "format": "int64",
 23557  	//       "location": "path",
 23558  	//       "required": true,
 23559  	//       "type": "string"
 23560  	//     }
 23561  	//   },
 23562  	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
 23563  	//   "request": {
 23564  	//     "$ref": "CreativeAssetMetadata"
 23565  	//   },
 23566  	//   "response": {
 23567  	//     "$ref": "CreativeAssetMetadata"
 23568  	//   },
 23569  	//   "scopes": [
 23570  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23571  	//   ],
 23572  	//   "supportsMediaUpload": true
 23573  	// }
 23574  
 23575  }
 23576  
 23577  // method id "dfareporting.creativeFieldValues.delete":
 23578  
 23579  type CreativeFieldValuesDeleteCall struct {
 23580  	s               *Service
 23581  	profileId       int64
 23582  	creativeFieldId int64
 23583  	id              int64
 23584  	urlParams_      gensupport.URLParams
 23585  	ctx_            context.Context
 23586  	header_         http.Header
 23587  }
 23588  
 23589  // Delete: Deletes an existing creative field value.
 23590  func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
 23591  	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23592  	c.profileId = profileId
 23593  	c.creativeFieldId = creativeFieldId
 23594  	c.id = id
 23595  	return c
 23596  }
 23597  
 23598  // Fields allows partial responses to be retrieved. See
 23599  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23600  // for more information.
 23601  func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
 23602  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23603  	return c
 23604  }
 23605  
 23606  // Context sets the context to be used in this call's Do method. Any
 23607  // pending HTTP request will be aborted if the provided context is
 23608  // canceled.
 23609  func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
 23610  	c.ctx_ = ctx
 23611  	return c
 23612  }
 23613  
 23614  // Header returns an http.Header that can be modified by the caller to
 23615  // add HTTP headers to the request.
 23616  func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
 23617  	if c.header_ == nil {
 23618  		c.header_ = make(http.Header)
 23619  	}
 23620  	return c.header_
 23621  }
 23622  
 23623  func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 23624  	reqHeaders := make(http.Header)
 23625  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23626  	for k, v := range c.header_ {
 23627  		reqHeaders[k] = v
 23628  	}
 23629  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23630  	var body io.Reader = nil
 23631  	c.urlParams_.Set("alt", alt)
 23632  	c.urlParams_.Set("prettyPrint", "false")
 23633  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 23634  	urls += "?" + c.urlParams_.Encode()
 23635  	req, err := http.NewRequest("DELETE", urls, body)
 23636  	if err != nil {
 23637  		return nil, err
 23638  	}
 23639  	req.Header = reqHeaders
 23640  	googleapi.Expand(req.URL, map[string]string{
 23641  		"profileId":       strconv.FormatInt(c.profileId, 10),
 23642  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 23643  		"id":              strconv.FormatInt(c.id, 10),
 23644  	})
 23645  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23646  }
 23647  
 23648  // Do executes the "dfareporting.creativeFieldValues.delete" call.
 23649  func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
 23650  	gensupport.SetOptions(c.urlParams_, opts...)
 23651  	res, err := c.doRequest("json")
 23652  	if err != nil {
 23653  		return err
 23654  	}
 23655  	defer googleapi.CloseBody(res)
 23656  	if err := googleapi.CheckResponse(res); err != nil {
 23657  		return err
 23658  	}
 23659  	return nil
 23660  	// {
 23661  	//   "description": "Deletes an existing creative field value.",
 23662  	//   "httpMethod": "DELETE",
 23663  	//   "id": "dfareporting.creativeFieldValues.delete",
 23664  	//   "parameterOrder": [
 23665  	//     "profileId",
 23666  	//     "creativeFieldId",
 23667  	//     "id"
 23668  	//   ],
 23669  	//   "parameters": {
 23670  	//     "creativeFieldId": {
 23671  	//       "description": "Creative field ID for this creative field value.",
 23672  	//       "format": "int64",
 23673  	//       "location": "path",
 23674  	//       "required": true,
 23675  	//       "type": "string"
 23676  	//     },
 23677  	//     "id": {
 23678  	//       "description": "Creative Field Value ID",
 23679  	//       "format": "int64",
 23680  	//       "location": "path",
 23681  	//       "required": true,
 23682  	//       "type": "string"
 23683  	//     },
 23684  	//     "profileId": {
 23685  	//       "description": "User profile ID associated with this request.",
 23686  	//       "format": "int64",
 23687  	//       "location": "path",
 23688  	//       "required": true,
 23689  	//       "type": "string"
 23690  	//     }
 23691  	//   },
 23692  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 23693  	//   "scopes": [
 23694  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23695  	//   ]
 23696  	// }
 23697  
 23698  }
 23699  
 23700  // method id "dfareporting.creativeFieldValues.get":
 23701  
 23702  type CreativeFieldValuesGetCall struct {
 23703  	s               *Service
 23704  	profileId       int64
 23705  	creativeFieldId int64
 23706  	id              int64
 23707  	urlParams_      gensupport.URLParams
 23708  	ifNoneMatch_    string
 23709  	ctx_            context.Context
 23710  	header_         http.Header
 23711  }
 23712  
 23713  // Get: Gets one creative field value by ID.
 23714  func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
 23715  	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23716  	c.profileId = profileId
 23717  	c.creativeFieldId = creativeFieldId
 23718  	c.id = id
 23719  	return c
 23720  }
 23721  
 23722  // Fields allows partial responses to be retrieved. See
 23723  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23724  // for more information.
 23725  func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
 23726  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23727  	return c
 23728  }
 23729  
 23730  // IfNoneMatch sets the optional parameter which makes the operation
 23731  // fail if the object's ETag matches the given value. This is useful for
 23732  // getting updates only after the object has changed since the last
 23733  // request. Use googleapi.IsNotModified to check whether the response
 23734  // error from Do is the result of In-None-Match.
 23735  func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
 23736  	c.ifNoneMatch_ = entityTag
 23737  	return c
 23738  }
 23739  
 23740  // Context sets the context to be used in this call's Do method. Any
 23741  // pending HTTP request will be aborted if the provided context is
 23742  // canceled.
 23743  func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
 23744  	c.ctx_ = ctx
 23745  	return c
 23746  }
 23747  
 23748  // Header returns an http.Header that can be modified by the caller to
 23749  // add HTTP headers to the request.
 23750  func (c *CreativeFieldValuesGetCall) Header() http.Header {
 23751  	if c.header_ == nil {
 23752  		c.header_ = make(http.Header)
 23753  	}
 23754  	return c.header_
 23755  }
 23756  
 23757  func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 23758  	reqHeaders := make(http.Header)
 23759  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23760  	for k, v := range c.header_ {
 23761  		reqHeaders[k] = v
 23762  	}
 23763  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23764  	if c.ifNoneMatch_ != "" {
 23765  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23766  	}
 23767  	var body io.Reader = nil
 23768  	c.urlParams_.Set("alt", alt)
 23769  	c.urlParams_.Set("prettyPrint", "false")
 23770  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 23771  	urls += "?" + c.urlParams_.Encode()
 23772  	req, err := http.NewRequest("GET", urls, body)
 23773  	if err != nil {
 23774  		return nil, err
 23775  	}
 23776  	req.Header = reqHeaders
 23777  	googleapi.Expand(req.URL, map[string]string{
 23778  		"profileId":       strconv.FormatInt(c.profileId, 10),
 23779  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 23780  		"id":              strconv.FormatInt(c.id, 10),
 23781  	})
 23782  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23783  }
 23784  
 23785  // Do executes the "dfareporting.creativeFieldValues.get" call.
 23786  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 23787  // non-2xx status code is an error. Response headers are in either
 23788  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 23789  // returned at all) in error.(*googleapi.Error).Header. Use
 23790  // googleapi.IsNotModified to check whether the returned error was
 23791  // because http.StatusNotModified was returned.
 23792  func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 23793  	gensupport.SetOptions(c.urlParams_, opts...)
 23794  	res, err := c.doRequest("json")
 23795  	if res != nil && res.StatusCode == http.StatusNotModified {
 23796  		if res.Body != nil {
 23797  			res.Body.Close()
 23798  		}
 23799  		return nil, &googleapi.Error{
 23800  			Code:   res.StatusCode,
 23801  			Header: res.Header,
 23802  		}
 23803  	}
 23804  	if err != nil {
 23805  		return nil, err
 23806  	}
 23807  	defer googleapi.CloseBody(res)
 23808  	if err := googleapi.CheckResponse(res); err != nil {
 23809  		return nil, err
 23810  	}
 23811  	ret := &CreativeFieldValue{
 23812  		ServerResponse: googleapi.ServerResponse{
 23813  			Header:         res.Header,
 23814  			HTTPStatusCode: res.StatusCode,
 23815  		},
 23816  	}
 23817  	target := &ret
 23818  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23819  		return nil, err
 23820  	}
 23821  	return ret, nil
 23822  	// {
 23823  	//   "description": "Gets one creative field value by ID.",
 23824  	//   "httpMethod": "GET",
 23825  	//   "id": "dfareporting.creativeFieldValues.get",
 23826  	//   "parameterOrder": [
 23827  	//     "profileId",
 23828  	//     "creativeFieldId",
 23829  	//     "id"
 23830  	//   ],
 23831  	//   "parameters": {
 23832  	//     "creativeFieldId": {
 23833  	//       "description": "Creative field ID for this creative field value.",
 23834  	//       "format": "int64",
 23835  	//       "location": "path",
 23836  	//       "required": true,
 23837  	//       "type": "string"
 23838  	//     },
 23839  	//     "id": {
 23840  	//       "description": "Creative Field Value ID",
 23841  	//       "format": "int64",
 23842  	//       "location": "path",
 23843  	//       "required": true,
 23844  	//       "type": "string"
 23845  	//     },
 23846  	//     "profileId": {
 23847  	//       "description": "User profile ID associated with this request.",
 23848  	//       "format": "int64",
 23849  	//       "location": "path",
 23850  	//       "required": true,
 23851  	//       "type": "string"
 23852  	//     }
 23853  	//   },
 23854  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 23855  	//   "response": {
 23856  	//     "$ref": "CreativeFieldValue"
 23857  	//   },
 23858  	//   "scopes": [
 23859  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23860  	//   ]
 23861  	// }
 23862  
 23863  }
 23864  
 23865  // method id "dfareporting.creativeFieldValues.insert":
 23866  
 23867  type CreativeFieldValuesInsertCall struct {
 23868  	s                  *Service
 23869  	profileId          int64
 23870  	creativeFieldId    int64
 23871  	creativefieldvalue *CreativeFieldValue
 23872  	urlParams_         gensupport.URLParams
 23873  	ctx_               context.Context
 23874  	header_            http.Header
 23875  }
 23876  
 23877  // Insert: Inserts a new creative field value.
 23878  func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
 23879  	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23880  	c.profileId = profileId
 23881  	c.creativeFieldId = creativeFieldId
 23882  	c.creativefieldvalue = creativefieldvalue
 23883  	return c
 23884  }
 23885  
 23886  // Fields allows partial responses to be retrieved. See
 23887  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23888  // for more information.
 23889  func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
 23890  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23891  	return c
 23892  }
 23893  
 23894  // Context sets the context to be used in this call's Do method. Any
 23895  // pending HTTP request will be aborted if the provided context is
 23896  // canceled.
 23897  func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
 23898  	c.ctx_ = ctx
 23899  	return c
 23900  }
 23901  
 23902  // Header returns an http.Header that can be modified by the caller to
 23903  // add HTTP headers to the request.
 23904  func (c *CreativeFieldValuesInsertCall) Header() http.Header {
 23905  	if c.header_ == nil {
 23906  		c.header_ = make(http.Header)
 23907  	}
 23908  	return c.header_
 23909  }
 23910  
 23911  func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
 23912  	reqHeaders := make(http.Header)
 23913  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23914  	for k, v := range c.header_ {
 23915  		reqHeaders[k] = v
 23916  	}
 23917  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23918  	var body io.Reader = nil
 23919  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 23920  	if err != nil {
 23921  		return nil, err
 23922  	}
 23923  	reqHeaders.Set("Content-Type", "application/json")
 23924  	c.urlParams_.Set("alt", alt)
 23925  	c.urlParams_.Set("prettyPrint", "false")
 23926  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 23927  	urls += "?" + c.urlParams_.Encode()
 23928  	req, err := http.NewRequest("POST", urls, body)
 23929  	if err != nil {
 23930  		return nil, err
 23931  	}
 23932  	req.Header = reqHeaders
 23933  	googleapi.Expand(req.URL, map[string]string{
 23934  		"profileId":       strconv.FormatInt(c.profileId, 10),
 23935  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 23936  	})
 23937  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23938  }
 23939  
 23940  // Do executes the "dfareporting.creativeFieldValues.insert" call.
 23941  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 23942  // non-2xx status code is an error. Response headers are in either
 23943  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 23944  // returned at all) in error.(*googleapi.Error).Header. Use
 23945  // googleapi.IsNotModified to check whether the returned error was
 23946  // because http.StatusNotModified was returned.
 23947  func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 23948  	gensupport.SetOptions(c.urlParams_, opts...)
 23949  	res, err := c.doRequest("json")
 23950  	if res != nil && res.StatusCode == http.StatusNotModified {
 23951  		if res.Body != nil {
 23952  			res.Body.Close()
 23953  		}
 23954  		return nil, &googleapi.Error{
 23955  			Code:   res.StatusCode,
 23956  			Header: res.Header,
 23957  		}
 23958  	}
 23959  	if err != nil {
 23960  		return nil, err
 23961  	}
 23962  	defer googleapi.CloseBody(res)
 23963  	if err := googleapi.CheckResponse(res); err != nil {
 23964  		return nil, err
 23965  	}
 23966  	ret := &CreativeFieldValue{
 23967  		ServerResponse: googleapi.ServerResponse{
 23968  			Header:         res.Header,
 23969  			HTTPStatusCode: res.StatusCode,
 23970  		},
 23971  	}
 23972  	target := &ret
 23973  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23974  		return nil, err
 23975  	}
 23976  	return ret, nil
 23977  	// {
 23978  	//   "description": "Inserts a new creative field value.",
 23979  	//   "httpMethod": "POST",
 23980  	//   "id": "dfareporting.creativeFieldValues.insert",
 23981  	//   "parameterOrder": [
 23982  	//     "profileId",
 23983  	//     "creativeFieldId"
 23984  	//   ],
 23985  	//   "parameters": {
 23986  	//     "creativeFieldId": {
 23987  	//       "description": "Creative field ID for this creative field value.",
 23988  	//       "format": "int64",
 23989  	//       "location": "path",
 23990  	//       "required": true,
 23991  	//       "type": "string"
 23992  	//     },
 23993  	//     "profileId": {
 23994  	//       "description": "User profile ID associated with this request.",
 23995  	//       "format": "int64",
 23996  	//       "location": "path",
 23997  	//       "required": true,
 23998  	//       "type": "string"
 23999  	//     }
 24000  	//   },
 24001  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 24002  	//   "request": {
 24003  	//     "$ref": "CreativeFieldValue"
 24004  	//   },
 24005  	//   "response": {
 24006  	//     "$ref": "CreativeFieldValue"
 24007  	//   },
 24008  	//   "scopes": [
 24009  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24010  	//   ]
 24011  	// }
 24012  
 24013  }
 24014  
 24015  // method id "dfareporting.creativeFieldValues.list":
 24016  
 24017  type CreativeFieldValuesListCall struct {
 24018  	s               *Service
 24019  	profileId       int64
 24020  	creativeFieldId int64
 24021  	urlParams_      gensupport.URLParams
 24022  	ifNoneMatch_    string
 24023  	ctx_            context.Context
 24024  	header_         http.Header
 24025  }
 24026  
 24027  // List: Retrieves a list of creative field values, possibly filtered.
 24028  // This method supports paging.
 24029  func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
 24030  	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24031  	c.profileId = profileId
 24032  	c.creativeFieldId = creativeFieldId
 24033  	return c
 24034  }
 24035  
 24036  // Ids sets the optional parameter "ids": Select only creative field
 24037  // values with these IDs.
 24038  func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
 24039  	var ids_ []string
 24040  	for _, v := range ids {
 24041  		ids_ = append(ids_, fmt.Sprint(v))
 24042  	}
 24043  	c.urlParams_.SetMulti("ids", ids_)
 24044  	return c
 24045  }
 24046  
 24047  // MaxResults sets the optional parameter "maxResults": Maximum number
 24048  // of results to return.
 24049  func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
 24050  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 24051  	return c
 24052  }
 24053  
 24054  // PageToken sets the optional parameter "pageToken": Value of the
 24055  // nextPageToken from the previous result page.
 24056  func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
 24057  	c.urlParams_.Set("pageToken", pageToken)
 24058  	return c
 24059  }
 24060  
 24061  // SearchString sets the optional parameter "searchString": Allows
 24062  // searching for creative field values by their values. Wildcards (e.g.
 24063  // *) are not allowed.
 24064  func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
 24065  	c.urlParams_.Set("searchString", searchString)
 24066  	return c
 24067  }
 24068  
 24069  // SortField sets the optional parameter "sortField": Field by which to
 24070  // sort the list.
 24071  //
 24072  // Possible values:
 24073  //
 24074  //	"ID" (default)
 24075  //	"VALUE"
 24076  func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
 24077  	c.urlParams_.Set("sortField", sortField)
 24078  	return c
 24079  }
 24080  
 24081  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 24082  // results.
 24083  //
 24084  // Possible values:
 24085  //
 24086  //	"ASCENDING" (default)
 24087  //	"DESCENDING"
 24088  func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
 24089  	c.urlParams_.Set("sortOrder", sortOrder)
 24090  	return c
 24091  }
 24092  
 24093  // Fields allows partial responses to be retrieved. See
 24094  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24095  // for more information.
 24096  func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
 24097  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24098  	return c
 24099  }
 24100  
 24101  // IfNoneMatch sets the optional parameter which makes the operation
 24102  // fail if the object's ETag matches the given value. This is useful for
 24103  // getting updates only after the object has changed since the last
 24104  // request. Use googleapi.IsNotModified to check whether the response
 24105  // error from Do is the result of In-None-Match.
 24106  func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
 24107  	c.ifNoneMatch_ = entityTag
 24108  	return c
 24109  }
 24110  
 24111  // Context sets the context to be used in this call's Do method. Any
 24112  // pending HTTP request will be aborted if the provided context is
 24113  // canceled.
 24114  func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
 24115  	c.ctx_ = ctx
 24116  	return c
 24117  }
 24118  
 24119  // Header returns an http.Header that can be modified by the caller to
 24120  // add HTTP headers to the request.
 24121  func (c *CreativeFieldValuesListCall) Header() http.Header {
 24122  	if c.header_ == nil {
 24123  		c.header_ = make(http.Header)
 24124  	}
 24125  	return c.header_
 24126  }
 24127  
 24128  func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 24129  	reqHeaders := make(http.Header)
 24130  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24131  	for k, v := range c.header_ {
 24132  		reqHeaders[k] = v
 24133  	}
 24134  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24135  	if c.ifNoneMatch_ != "" {
 24136  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24137  	}
 24138  	var body io.Reader = nil
 24139  	c.urlParams_.Set("alt", alt)
 24140  	c.urlParams_.Set("prettyPrint", "false")
 24141  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 24142  	urls += "?" + c.urlParams_.Encode()
 24143  	req, err := http.NewRequest("GET", urls, body)
 24144  	if err != nil {
 24145  		return nil, err
 24146  	}
 24147  	req.Header = reqHeaders
 24148  	googleapi.Expand(req.URL, map[string]string{
 24149  		"profileId":       strconv.FormatInt(c.profileId, 10),
 24150  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 24151  	})
 24152  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24153  }
 24154  
 24155  // Do executes the "dfareporting.creativeFieldValues.list" call.
 24156  // Exactly one of *CreativeFieldValuesListResponse or error will be
 24157  // non-nil. Any non-2xx status code is an error. Response headers are in
 24158  // either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
 24159  // a response was returned at all) in error.(*googleapi.Error).Header.
 24160  // Use googleapi.IsNotModified to check whether the returned error was
 24161  // because http.StatusNotModified was returned.
 24162  func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
 24163  	gensupport.SetOptions(c.urlParams_, opts...)
 24164  	res, err := c.doRequest("json")
 24165  	if res != nil && res.StatusCode == http.StatusNotModified {
 24166  		if res.Body != nil {
 24167  			res.Body.Close()
 24168  		}
 24169  		return nil, &googleapi.Error{
 24170  			Code:   res.StatusCode,
 24171  			Header: res.Header,
 24172  		}
 24173  	}
 24174  	if err != nil {
 24175  		return nil, err
 24176  	}
 24177  	defer googleapi.CloseBody(res)
 24178  	if err := googleapi.CheckResponse(res); err != nil {
 24179  		return nil, err
 24180  	}
 24181  	ret := &CreativeFieldValuesListResponse{
 24182  		ServerResponse: googleapi.ServerResponse{
 24183  			Header:         res.Header,
 24184  			HTTPStatusCode: res.StatusCode,
 24185  		},
 24186  	}
 24187  	target := &ret
 24188  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24189  		return nil, err
 24190  	}
 24191  	return ret, nil
 24192  	// {
 24193  	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
 24194  	//   "httpMethod": "GET",
 24195  	//   "id": "dfareporting.creativeFieldValues.list",
 24196  	//   "parameterOrder": [
 24197  	//     "profileId",
 24198  	//     "creativeFieldId"
 24199  	//   ],
 24200  	//   "parameters": {
 24201  	//     "creativeFieldId": {
 24202  	//       "description": "Creative field ID for this creative field value.",
 24203  	//       "format": "int64",
 24204  	//       "location": "path",
 24205  	//       "required": true,
 24206  	//       "type": "string"
 24207  	//     },
 24208  	//     "ids": {
 24209  	//       "description": "Select only creative field values with these IDs.",
 24210  	//       "format": "int64",
 24211  	//       "location": "query",
 24212  	//       "repeated": true,
 24213  	//       "type": "string"
 24214  	//     },
 24215  	//     "maxResults": {
 24216  	//       "default": "1000",
 24217  	//       "description": "Maximum number of results to return.",
 24218  	//       "format": "int32",
 24219  	//       "location": "query",
 24220  	//       "maximum": "1000",
 24221  	//       "minimum": "0",
 24222  	//       "type": "integer"
 24223  	//     },
 24224  	//     "pageToken": {
 24225  	//       "description": "Value of the nextPageToken from the previous result page.",
 24226  	//       "location": "query",
 24227  	//       "type": "string"
 24228  	//     },
 24229  	//     "profileId": {
 24230  	//       "description": "User profile ID associated with this request.",
 24231  	//       "format": "int64",
 24232  	//       "location": "path",
 24233  	//       "required": true,
 24234  	//       "type": "string"
 24235  	//     },
 24236  	//     "searchString": {
 24237  	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
 24238  	//       "location": "query",
 24239  	//       "type": "string"
 24240  	//     },
 24241  	//     "sortField": {
 24242  	//       "default": "ID",
 24243  	//       "description": "Field by which to sort the list.",
 24244  	//       "enum": [
 24245  	//         "ID",
 24246  	//         "VALUE"
 24247  	//       ],
 24248  	//       "enumDescriptions": [
 24249  	//         "",
 24250  	//         ""
 24251  	//       ],
 24252  	//       "location": "query",
 24253  	//       "type": "string"
 24254  	//     },
 24255  	//     "sortOrder": {
 24256  	//       "default": "ASCENDING",
 24257  	//       "description": "Order of sorted results.",
 24258  	//       "enum": [
 24259  	//         "ASCENDING",
 24260  	//         "DESCENDING"
 24261  	//       ],
 24262  	//       "enumDescriptions": [
 24263  	//         "",
 24264  	//         ""
 24265  	//       ],
 24266  	//       "location": "query",
 24267  	//       "type": "string"
 24268  	//     }
 24269  	//   },
 24270  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 24271  	//   "response": {
 24272  	//     "$ref": "CreativeFieldValuesListResponse"
 24273  	//   },
 24274  	//   "scopes": [
 24275  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24276  	//   ]
 24277  	// }
 24278  
 24279  }
 24280  
 24281  // Pages invokes f for each page of results.
 24282  // A non-nil error returned from f will halt the iteration.
 24283  // The provided context supersedes any context provided to the Context method.
 24284  func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
 24285  	c.ctx_ = ctx
 24286  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 24287  	for {
 24288  		x, err := c.Do()
 24289  		if err != nil {
 24290  			return err
 24291  		}
 24292  		if err := f(x); err != nil {
 24293  			return err
 24294  		}
 24295  		if x.NextPageToken == "" {
 24296  			return nil
 24297  		}
 24298  		c.PageToken(x.NextPageToken)
 24299  	}
 24300  }
 24301  
 24302  // method id "dfareporting.creativeFieldValues.patch":
 24303  
 24304  type CreativeFieldValuesPatchCall struct {
 24305  	s                  *Service
 24306  	profileId          int64
 24307  	creativeFieldId    int64
 24308  	creativefieldvalue *CreativeFieldValue
 24309  	urlParams_         gensupport.URLParams
 24310  	ctx_               context.Context
 24311  	header_            http.Header
 24312  }
 24313  
 24314  // Patch: Updates an existing creative field value. This method supports
 24315  // patch semantics.
 24316  func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
 24317  	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24318  	c.profileId = profileId
 24319  	c.creativeFieldId = creativeFieldId
 24320  	c.urlParams_.Set("id", fmt.Sprint(id))
 24321  	c.creativefieldvalue = creativefieldvalue
 24322  	return c
 24323  }
 24324  
 24325  // Fields allows partial responses to be retrieved. See
 24326  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24327  // for more information.
 24328  func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
 24329  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24330  	return c
 24331  }
 24332  
 24333  // Context sets the context to be used in this call's Do method. Any
 24334  // pending HTTP request will be aborted if the provided context is
 24335  // canceled.
 24336  func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
 24337  	c.ctx_ = ctx
 24338  	return c
 24339  }
 24340  
 24341  // Header returns an http.Header that can be modified by the caller to
 24342  // add HTTP headers to the request.
 24343  func (c *CreativeFieldValuesPatchCall) Header() http.Header {
 24344  	if c.header_ == nil {
 24345  		c.header_ = make(http.Header)
 24346  	}
 24347  	return c.header_
 24348  }
 24349  
 24350  func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
 24351  	reqHeaders := make(http.Header)
 24352  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24353  	for k, v := range c.header_ {
 24354  		reqHeaders[k] = v
 24355  	}
 24356  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24357  	var body io.Reader = nil
 24358  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 24359  	if err != nil {
 24360  		return nil, err
 24361  	}
 24362  	reqHeaders.Set("Content-Type", "application/json")
 24363  	c.urlParams_.Set("alt", alt)
 24364  	c.urlParams_.Set("prettyPrint", "false")
 24365  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 24366  	urls += "?" + c.urlParams_.Encode()
 24367  	req, err := http.NewRequest("PATCH", urls, body)
 24368  	if err != nil {
 24369  		return nil, err
 24370  	}
 24371  	req.Header = reqHeaders
 24372  	googleapi.Expand(req.URL, map[string]string{
 24373  		"profileId":       strconv.FormatInt(c.profileId, 10),
 24374  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 24375  	})
 24376  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24377  }
 24378  
 24379  // Do executes the "dfareporting.creativeFieldValues.patch" call.
 24380  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 24381  // non-2xx status code is an error. Response headers are in either
 24382  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 24383  // returned at all) in error.(*googleapi.Error).Header. Use
 24384  // googleapi.IsNotModified to check whether the returned error was
 24385  // because http.StatusNotModified was returned.
 24386  func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 24387  	gensupport.SetOptions(c.urlParams_, opts...)
 24388  	res, err := c.doRequest("json")
 24389  	if res != nil && res.StatusCode == http.StatusNotModified {
 24390  		if res.Body != nil {
 24391  			res.Body.Close()
 24392  		}
 24393  		return nil, &googleapi.Error{
 24394  			Code:   res.StatusCode,
 24395  			Header: res.Header,
 24396  		}
 24397  	}
 24398  	if err != nil {
 24399  		return nil, err
 24400  	}
 24401  	defer googleapi.CloseBody(res)
 24402  	if err := googleapi.CheckResponse(res); err != nil {
 24403  		return nil, err
 24404  	}
 24405  	ret := &CreativeFieldValue{
 24406  		ServerResponse: googleapi.ServerResponse{
 24407  			Header:         res.Header,
 24408  			HTTPStatusCode: res.StatusCode,
 24409  		},
 24410  	}
 24411  	target := &ret
 24412  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24413  		return nil, err
 24414  	}
 24415  	return ret, nil
 24416  	// {
 24417  	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
 24418  	//   "httpMethod": "PATCH",
 24419  	//   "id": "dfareporting.creativeFieldValues.patch",
 24420  	//   "parameterOrder": [
 24421  	//     "profileId",
 24422  	//     "creativeFieldId",
 24423  	//     "id"
 24424  	//   ],
 24425  	//   "parameters": {
 24426  	//     "creativeFieldId": {
 24427  	//       "description": "Creative field ID for this creative field value.",
 24428  	//       "format": "int64",
 24429  	//       "location": "path",
 24430  	//       "required": true,
 24431  	//       "type": "string"
 24432  	//     },
 24433  	//     "id": {
 24434  	//       "description": "Creative Field Value ID",
 24435  	//       "format": "int64",
 24436  	//       "location": "query",
 24437  	//       "required": true,
 24438  	//       "type": "string"
 24439  	//     },
 24440  	//     "profileId": {
 24441  	//       "description": "User profile ID associated with this request.",
 24442  	//       "format": "int64",
 24443  	//       "location": "path",
 24444  	//       "required": true,
 24445  	//       "type": "string"
 24446  	//     }
 24447  	//   },
 24448  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 24449  	//   "request": {
 24450  	//     "$ref": "CreativeFieldValue"
 24451  	//   },
 24452  	//   "response": {
 24453  	//     "$ref": "CreativeFieldValue"
 24454  	//   },
 24455  	//   "scopes": [
 24456  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24457  	//   ]
 24458  	// }
 24459  
 24460  }
 24461  
 24462  // method id "dfareporting.creativeFieldValues.update":
 24463  
 24464  type CreativeFieldValuesUpdateCall struct {
 24465  	s                  *Service
 24466  	profileId          int64
 24467  	creativeFieldId    int64
 24468  	creativefieldvalue *CreativeFieldValue
 24469  	urlParams_         gensupport.URLParams
 24470  	ctx_               context.Context
 24471  	header_            http.Header
 24472  }
 24473  
 24474  // Update: Updates an existing creative field value.
 24475  func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
 24476  	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24477  	c.profileId = profileId
 24478  	c.creativeFieldId = creativeFieldId
 24479  	c.creativefieldvalue = creativefieldvalue
 24480  	return c
 24481  }
 24482  
 24483  // Fields allows partial responses to be retrieved. See
 24484  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24485  // for more information.
 24486  func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
 24487  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24488  	return c
 24489  }
 24490  
 24491  // Context sets the context to be used in this call's Do method. Any
 24492  // pending HTTP request will be aborted if the provided context is
 24493  // canceled.
 24494  func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
 24495  	c.ctx_ = ctx
 24496  	return c
 24497  }
 24498  
 24499  // Header returns an http.Header that can be modified by the caller to
 24500  // add HTTP headers to the request.
 24501  func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
 24502  	if c.header_ == nil {
 24503  		c.header_ = make(http.Header)
 24504  	}
 24505  	return c.header_
 24506  }
 24507  
 24508  func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
 24509  	reqHeaders := make(http.Header)
 24510  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24511  	for k, v := range c.header_ {
 24512  		reqHeaders[k] = v
 24513  	}
 24514  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24515  	var body io.Reader = nil
 24516  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 24517  	if err != nil {
 24518  		return nil, err
 24519  	}
 24520  	reqHeaders.Set("Content-Type", "application/json")
 24521  	c.urlParams_.Set("alt", alt)
 24522  	c.urlParams_.Set("prettyPrint", "false")
 24523  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 24524  	urls += "?" + c.urlParams_.Encode()
 24525  	req, err := http.NewRequest("PUT", urls, body)
 24526  	if err != nil {
 24527  		return nil, err
 24528  	}
 24529  	req.Header = reqHeaders
 24530  	googleapi.Expand(req.URL, map[string]string{
 24531  		"profileId":       strconv.FormatInt(c.profileId, 10),
 24532  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 24533  	})
 24534  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24535  }
 24536  
 24537  // Do executes the "dfareporting.creativeFieldValues.update" call.
 24538  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 24539  // non-2xx status code is an error. Response headers are in either
 24540  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 24541  // returned at all) in error.(*googleapi.Error).Header. Use
 24542  // googleapi.IsNotModified to check whether the returned error was
 24543  // because http.StatusNotModified was returned.
 24544  func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 24545  	gensupport.SetOptions(c.urlParams_, opts...)
 24546  	res, err := c.doRequest("json")
 24547  	if res != nil && res.StatusCode == http.StatusNotModified {
 24548  		if res.Body != nil {
 24549  			res.Body.Close()
 24550  		}
 24551  		return nil, &googleapi.Error{
 24552  			Code:   res.StatusCode,
 24553  			Header: res.Header,
 24554  		}
 24555  	}
 24556  	if err != nil {
 24557  		return nil, err
 24558  	}
 24559  	defer googleapi.CloseBody(res)
 24560  	if err := googleapi.CheckResponse(res); err != nil {
 24561  		return nil, err
 24562  	}
 24563  	ret := &CreativeFieldValue{
 24564  		ServerResponse: googleapi.ServerResponse{
 24565  			Header:         res.Header,
 24566  			HTTPStatusCode: res.StatusCode,
 24567  		},
 24568  	}
 24569  	target := &ret
 24570  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24571  		return nil, err
 24572  	}
 24573  	return ret, nil
 24574  	// {
 24575  	//   "description": "Updates an existing creative field value.",
 24576  	//   "httpMethod": "PUT",
 24577  	//   "id": "dfareporting.creativeFieldValues.update",
 24578  	//   "parameterOrder": [
 24579  	//     "profileId",
 24580  	//     "creativeFieldId"
 24581  	//   ],
 24582  	//   "parameters": {
 24583  	//     "creativeFieldId": {
 24584  	//       "description": "Creative field ID for this creative field value.",
 24585  	//       "format": "int64",
 24586  	//       "location": "path",
 24587  	//       "required": true,
 24588  	//       "type": "string"
 24589  	//     },
 24590  	//     "profileId": {
 24591  	//       "description": "User profile ID associated with this request.",
 24592  	//       "format": "int64",
 24593  	//       "location": "path",
 24594  	//       "required": true,
 24595  	//       "type": "string"
 24596  	//     }
 24597  	//   },
 24598  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 24599  	//   "request": {
 24600  	//     "$ref": "CreativeFieldValue"
 24601  	//   },
 24602  	//   "response": {
 24603  	//     "$ref": "CreativeFieldValue"
 24604  	//   },
 24605  	//   "scopes": [
 24606  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24607  	//   ]
 24608  	// }
 24609  
 24610  }
 24611  
 24612  // method id "dfareporting.creativeFields.delete":
 24613  
 24614  type CreativeFieldsDeleteCall struct {
 24615  	s          *Service
 24616  	profileId  int64
 24617  	id         int64
 24618  	urlParams_ gensupport.URLParams
 24619  	ctx_       context.Context
 24620  	header_    http.Header
 24621  }
 24622  
 24623  // Delete: Deletes an existing creative field.
 24624  func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
 24625  	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24626  	c.profileId = profileId
 24627  	c.id = id
 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
 24633  // for more information.
 24634  func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
 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. Any
 24640  // pending HTTP request will be aborted if the provided context is
 24641  // canceled.
 24642  func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
 24643  	c.ctx_ = ctx
 24644  	return c
 24645  }
 24646  
 24647  // Header returns an http.Header that can be modified by the caller to
 24648  // add HTTP headers to the request.
 24649  func (c *CreativeFieldsDeleteCall) Header() http.Header {
 24650  	if c.header_ == nil {
 24651  		c.header_ = make(http.Header)
 24652  	}
 24653  	return c.header_
 24654  }
 24655  
 24656  func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 24657  	reqHeaders := make(http.Header)
 24658  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24659  	for k, v := range c.header_ {
 24660  		reqHeaders[k] = v
 24661  	}
 24662  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24663  	var body io.Reader = nil
 24664  	c.urlParams_.Set("alt", alt)
 24665  	c.urlParams_.Set("prettyPrint", "false")
 24666  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 24667  	urls += "?" + c.urlParams_.Encode()
 24668  	req, err := http.NewRequest("DELETE", urls, body)
 24669  	if err != nil {
 24670  		return nil, err
 24671  	}
 24672  	req.Header = reqHeaders
 24673  	googleapi.Expand(req.URL, map[string]string{
 24674  		"profileId": strconv.FormatInt(c.profileId, 10),
 24675  		"id":        strconv.FormatInt(c.id, 10),
 24676  	})
 24677  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24678  }
 24679  
 24680  // Do executes the "dfareporting.creativeFields.delete" call.
 24681  func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
 24682  	gensupport.SetOptions(c.urlParams_, opts...)
 24683  	res, err := c.doRequest("json")
 24684  	if err != nil {
 24685  		return err
 24686  	}
 24687  	defer googleapi.CloseBody(res)
 24688  	if err := googleapi.CheckResponse(res); err != nil {
 24689  		return err
 24690  	}
 24691  	return nil
 24692  	// {
 24693  	//   "description": "Deletes an existing creative field.",
 24694  	//   "httpMethod": "DELETE",
 24695  	//   "id": "dfareporting.creativeFields.delete",
 24696  	//   "parameterOrder": [
 24697  	//     "profileId",
 24698  	//     "id"
 24699  	//   ],
 24700  	//   "parameters": {
 24701  	//     "id": {
 24702  	//       "description": "Creative Field ID",
 24703  	//       "format": "int64",
 24704  	//       "location": "path",
 24705  	//       "required": true,
 24706  	//       "type": "string"
 24707  	//     },
 24708  	//     "profileId": {
 24709  	//       "description": "User profile ID associated with this request.",
 24710  	//       "format": "int64",
 24711  	//       "location": "path",
 24712  	//       "required": true,
 24713  	//       "type": "string"
 24714  	//     }
 24715  	//   },
 24716  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 24717  	//   "scopes": [
 24718  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24719  	//   ]
 24720  	// }
 24721  
 24722  }
 24723  
 24724  // method id "dfareporting.creativeFields.get":
 24725  
 24726  type CreativeFieldsGetCall struct {
 24727  	s            *Service
 24728  	profileId    int64
 24729  	id           int64
 24730  	urlParams_   gensupport.URLParams
 24731  	ifNoneMatch_ string
 24732  	ctx_         context.Context
 24733  	header_      http.Header
 24734  }
 24735  
 24736  // Get: Gets one creative field by ID.
 24737  func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
 24738  	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24739  	c.profileId = profileId
 24740  	c.id = id
 24741  	return c
 24742  }
 24743  
 24744  // Fields allows partial responses to be retrieved. See
 24745  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24746  // for more information.
 24747  func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
 24748  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24749  	return c
 24750  }
 24751  
 24752  // IfNoneMatch sets the optional parameter which makes the operation
 24753  // fail if the object's ETag matches the given value. This is useful for
 24754  // getting updates only after the object has changed since the last
 24755  // request. Use googleapi.IsNotModified to check whether the response
 24756  // error from Do is the result of In-None-Match.
 24757  func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
 24758  	c.ifNoneMatch_ = entityTag
 24759  	return c
 24760  }
 24761  
 24762  // Context sets the context to be used in this call's Do method. Any
 24763  // pending HTTP request will be aborted if the provided context is
 24764  // canceled.
 24765  func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
 24766  	c.ctx_ = ctx
 24767  	return c
 24768  }
 24769  
 24770  // Header returns an http.Header that can be modified by the caller to
 24771  // add HTTP headers to the request.
 24772  func (c *CreativeFieldsGetCall) Header() http.Header {
 24773  	if c.header_ == nil {
 24774  		c.header_ = make(http.Header)
 24775  	}
 24776  	return c.header_
 24777  }
 24778  
 24779  func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 24780  	reqHeaders := make(http.Header)
 24781  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24782  	for k, v := range c.header_ {
 24783  		reqHeaders[k] = v
 24784  	}
 24785  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24786  	if c.ifNoneMatch_ != "" {
 24787  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24788  	}
 24789  	var body io.Reader = nil
 24790  	c.urlParams_.Set("alt", alt)
 24791  	c.urlParams_.Set("prettyPrint", "false")
 24792  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 24793  	urls += "?" + c.urlParams_.Encode()
 24794  	req, err := http.NewRequest("GET", urls, body)
 24795  	if err != nil {
 24796  		return nil, err
 24797  	}
 24798  	req.Header = reqHeaders
 24799  	googleapi.Expand(req.URL, map[string]string{
 24800  		"profileId": strconv.FormatInt(c.profileId, 10),
 24801  		"id":        strconv.FormatInt(c.id, 10),
 24802  	})
 24803  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24804  }
 24805  
 24806  // Do executes the "dfareporting.creativeFields.get" call.
 24807  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 24808  // status code is an error. Response headers are in either
 24809  // *CreativeField.ServerResponse.Header or (if a response was returned
 24810  // at all) in error.(*googleapi.Error).Header. Use
 24811  // googleapi.IsNotModified to check whether the returned error was
 24812  // because http.StatusNotModified was returned.
 24813  func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 24814  	gensupport.SetOptions(c.urlParams_, opts...)
 24815  	res, err := c.doRequest("json")
 24816  	if res != nil && res.StatusCode == http.StatusNotModified {
 24817  		if res.Body != nil {
 24818  			res.Body.Close()
 24819  		}
 24820  		return nil, &googleapi.Error{
 24821  			Code:   res.StatusCode,
 24822  			Header: res.Header,
 24823  		}
 24824  	}
 24825  	if err != nil {
 24826  		return nil, err
 24827  	}
 24828  	defer googleapi.CloseBody(res)
 24829  	if err := googleapi.CheckResponse(res); err != nil {
 24830  		return nil, err
 24831  	}
 24832  	ret := &CreativeField{
 24833  		ServerResponse: googleapi.ServerResponse{
 24834  			Header:         res.Header,
 24835  			HTTPStatusCode: res.StatusCode,
 24836  		},
 24837  	}
 24838  	target := &ret
 24839  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24840  		return nil, err
 24841  	}
 24842  	return ret, nil
 24843  	// {
 24844  	//   "description": "Gets one creative field by ID.",
 24845  	//   "httpMethod": "GET",
 24846  	//   "id": "dfareporting.creativeFields.get",
 24847  	//   "parameterOrder": [
 24848  	//     "profileId",
 24849  	//     "id"
 24850  	//   ],
 24851  	//   "parameters": {
 24852  	//     "id": {
 24853  	//       "description": "Creative Field ID",
 24854  	//       "format": "int64",
 24855  	//       "location": "path",
 24856  	//       "required": true,
 24857  	//       "type": "string"
 24858  	//     },
 24859  	//     "profileId": {
 24860  	//       "description": "User profile ID associated with this request.",
 24861  	//       "format": "int64",
 24862  	//       "location": "path",
 24863  	//       "required": true,
 24864  	//       "type": "string"
 24865  	//     }
 24866  	//   },
 24867  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 24868  	//   "response": {
 24869  	//     "$ref": "CreativeField"
 24870  	//   },
 24871  	//   "scopes": [
 24872  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24873  	//   ]
 24874  	// }
 24875  
 24876  }
 24877  
 24878  // method id "dfareporting.creativeFields.insert":
 24879  
 24880  type CreativeFieldsInsertCall struct {
 24881  	s             *Service
 24882  	profileId     int64
 24883  	creativefield *CreativeField
 24884  	urlParams_    gensupport.URLParams
 24885  	ctx_          context.Context
 24886  	header_       http.Header
 24887  }
 24888  
 24889  // Insert: Inserts a new creative field.
 24890  func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
 24891  	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24892  	c.profileId = profileId
 24893  	c.creativefield = creativefield
 24894  	return c
 24895  }
 24896  
 24897  // Fields allows partial responses to be retrieved. See
 24898  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24899  // for more information.
 24900  func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
 24901  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24902  	return c
 24903  }
 24904  
 24905  // Context sets the context to be used in this call's Do method. Any
 24906  // pending HTTP request will be aborted if the provided context is
 24907  // canceled.
 24908  func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
 24909  	c.ctx_ = ctx
 24910  	return c
 24911  }
 24912  
 24913  // Header returns an http.Header that can be modified by the caller to
 24914  // add HTTP headers to the request.
 24915  func (c *CreativeFieldsInsertCall) Header() http.Header {
 24916  	if c.header_ == nil {
 24917  		c.header_ = make(http.Header)
 24918  	}
 24919  	return c.header_
 24920  }
 24921  
 24922  func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
 24923  	reqHeaders := make(http.Header)
 24924  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24925  	for k, v := range c.header_ {
 24926  		reqHeaders[k] = v
 24927  	}
 24928  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24929  	var body io.Reader = nil
 24930  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 24931  	if err != nil {
 24932  		return nil, err
 24933  	}
 24934  	reqHeaders.Set("Content-Type", "application/json")
 24935  	c.urlParams_.Set("alt", alt)
 24936  	c.urlParams_.Set("prettyPrint", "false")
 24937  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 24938  	urls += "?" + c.urlParams_.Encode()
 24939  	req, err := http.NewRequest("POST", urls, body)
 24940  	if err != nil {
 24941  		return nil, err
 24942  	}
 24943  	req.Header = reqHeaders
 24944  	googleapi.Expand(req.URL, map[string]string{
 24945  		"profileId": strconv.FormatInt(c.profileId, 10),
 24946  	})
 24947  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24948  }
 24949  
 24950  // Do executes the "dfareporting.creativeFields.insert" call.
 24951  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 24952  // status code is an error. Response headers are in either
 24953  // *CreativeField.ServerResponse.Header or (if a response was returned
 24954  // at all) in error.(*googleapi.Error).Header. Use
 24955  // googleapi.IsNotModified to check whether the returned error was
 24956  // because http.StatusNotModified was returned.
 24957  func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 24958  	gensupport.SetOptions(c.urlParams_, opts...)
 24959  	res, err := c.doRequest("json")
 24960  	if res != nil && res.StatusCode == http.StatusNotModified {
 24961  		if res.Body != nil {
 24962  			res.Body.Close()
 24963  		}
 24964  		return nil, &googleapi.Error{
 24965  			Code:   res.StatusCode,
 24966  			Header: res.Header,
 24967  		}
 24968  	}
 24969  	if err != nil {
 24970  		return nil, err
 24971  	}
 24972  	defer googleapi.CloseBody(res)
 24973  	if err := googleapi.CheckResponse(res); err != nil {
 24974  		return nil, err
 24975  	}
 24976  	ret := &CreativeField{
 24977  		ServerResponse: googleapi.ServerResponse{
 24978  			Header:         res.Header,
 24979  			HTTPStatusCode: res.StatusCode,
 24980  		},
 24981  	}
 24982  	target := &ret
 24983  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24984  		return nil, err
 24985  	}
 24986  	return ret, nil
 24987  	// {
 24988  	//   "description": "Inserts a new creative field.",
 24989  	//   "httpMethod": "POST",
 24990  	//   "id": "dfareporting.creativeFields.insert",
 24991  	//   "parameterOrder": [
 24992  	//     "profileId"
 24993  	//   ],
 24994  	//   "parameters": {
 24995  	//     "profileId": {
 24996  	//       "description": "User profile ID associated with this request.",
 24997  	//       "format": "int64",
 24998  	//       "location": "path",
 24999  	//       "required": true,
 25000  	//       "type": "string"
 25001  	//     }
 25002  	//   },
 25003  	//   "path": "userprofiles/{profileId}/creativeFields",
 25004  	//   "request": {
 25005  	//     "$ref": "CreativeField"
 25006  	//   },
 25007  	//   "response": {
 25008  	//     "$ref": "CreativeField"
 25009  	//   },
 25010  	//   "scopes": [
 25011  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25012  	//   ]
 25013  	// }
 25014  
 25015  }
 25016  
 25017  // method id "dfareporting.creativeFields.list":
 25018  
 25019  type CreativeFieldsListCall struct {
 25020  	s            *Service
 25021  	profileId    int64
 25022  	urlParams_   gensupport.URLParams
 25023  	ifNoneMatch_ string
 25024  	ctx_         context.Context
 25025  	header_      http.Header
 25026  }
 25027  
 25028  // List: Retrieves a list of creative fields, possibly filtered. This
 25029  // method supports paging.
 25030  func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
 25031  	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25032  	c.profileId = profileId
 25033  	return c
 25034  }
 25035  
 25036  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 25037  // only creative fields that belong to these advertisers.
 25038  func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
 25039  	var advertiserIds_ []string
 25040  	for _, v := range advertiserIds {
 25041  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 25042  	}
 25043  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 25044  	return c
 25045  }
 25046  
 25047  // Ids sets the optional parameter "ids": Select only creative fields
 25048  // with these IDs.
 25049  func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
 25050  	var ids_ []string
 25051  	for _, v := range ids {
 25052  		ids_ = append(ids_, fmt.Sprint(v))
 25053  	}
 25054  	c.urlParams_.SetMulti("ids", ids_)
 25055  	return c
 25056  }
 25057  
 25058  // MaxResults sets the optional parameter "maxResults": Maximum number
 25059  // of results to return.
 25060  func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
 25061  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 25062  	return c
 25063  }
 25064  
 25065  // PageToken sets the optional parameter "pageToken": Value of the
 25066  // nextPageToken from the previous result page.
 25067  func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
 25068  	c.urlParams_.Set("pageToken", pageToken)
 25069  	return c
 25070  }
 25071  
 25072  // SearchString sets the optional parameter "searchString": Allows
 25073  // searching for creative fields by name or ID. Wildcards (*) are
 25074  // allowed. For example, "creativefield*2015" will return creative
 25075  // fields with names like "creativefield June 2015", "creativefield
 25076  // April 2015", or simply "creativefield 2015". Most of the searches
 25077  // also add wild-cards implicitly at the start and the end of the search
 25078  // string. For example, a search string of "creativefield" will match
 25079  // creative fields with the name "my creativefield", "creativefield
 25080  // 2015", or simply "creativefield".
 25081  func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
 25082  	c.urlParams_.Set("searchString", searchString)
 25083  	return c
 25084  }
 25085  
 25086  // SortField sets the optional parameter "sortField": Field by which to
 25087  // sort the list.
 25088  //
 25089  // Possible values:
 25090  //
 25091  //	"ID" (default)
 25092  //	"NAME"
 25093  func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
 25094  	c.urlParams_.Set("sortField", sortField)
 25095  	return c
 25096  }
 25097  
 25098  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 25099  // results.
 25100  //
 25101  // Possible values:
 25102  //
 25103  //	"ASCENDING" (default)
 25104  //	"DESCENDING"
 25105  func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
 25106  	c.urlParams_.Set("sortOrder", sortOrder)
 25107  	return c
 25108  }
 25109  
 25110  // Fields allows partial responses to be retrieved. See
 25111  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25112  // for more information.
 25113  func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
 25114  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25115  	return c
 25116  }
 25117  
 25118  // IfNoneMatch sets the optional parameter which makes the operation
 25119  // fail if the object's ETag matches the given value. This is useful for
 25120  // getting updates only after the object has changed since the last
 25121  // request. Use googleapi.IsNotModified to check whether the response
 25122  // error from Do is the result of In-None-Match.
 25123  func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
 25124  	c.ifNoneMatch_ = entityTag
 25125  	return c
 25126  }
 25127  
 25128  // Context sets the context to be used in this call's Do method. Any
 25129  // pending HTTP request will be aborted if the provided context is
 25130  // canceled.
 25131  func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
 25132  	c.ctx_ = ctx
 25133  	return c
 25134  }
 25135  
 25136  // Header returns an http.Header that can be modified by the caller to
 25137  // add HTTP headers to the request.
 25138  func (c *CreativeFieldsListCall) Header() http.Header {
 25139  	if c.header_ == nil {
 25140  		c.header_ = make(http.Header)
 25141  	}
 25142  	return c.header_
 25143  }
 25144  
 25145  func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 25146  	reqHeaders := make(http.Header)
 25147  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25148  	for k, v := range c.header_ {
 25149  		reqHeaders[k] = v
 25150  	}
 25151  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25152  	if c.ifNoneMatch_ != "" {
 25153  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25154  	}
 25155  	var body io.Reader = nil
 25156  	c.urlParams_.Set("alt", alt)
 25157  	c.urlParams_.Set("prettyPrint", "false")
 25158  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 25159  	urls += "?" + c.urlParams_.Encode()
 25160  	req, err := http.NewRequest("GET", urls, body)
 25161  	if err != nil {
 25162  		return nil, err
 25163  	}
 25164  	req.Header = reqHeaders
 25165  	googleapi.Expand(req.URL, map[string]string{
 25166  		"profileId": strconv.FormatInt(c.profileId, 10),
 25167  	})
 25168  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25169  }
 25170  
 25171  // Do executes the "dfareporting.creativeFields.list" call.
 25172  // Exactly one of *CreativeFieldsListResponse or error will be non-nil.
 25173  // Any non-2xx status code is an error. Response headers are in either
 25174  // *CreativeFieldsListResponse.ServerResponse.Header or (if a response
 25175  // was returned at all) in error.(*googleapi.Error).Header. Use
 25176  // googleapi.IsNotModified to check whether the returned error was
 25177  // because http.StatusNotModified was returned.
 25178  func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
 25179  	gensupport.SetOptions(c.urlParams_, opts...)
 25180  	res, err := c.doRequest("json")
 25181  	if res != nil && res.StatusCode == http.StatusNotModified {
 25182  		if res.Body != nil {
 25183  			res.Body.Close()
 25184  		}
 25185  		return nil, &googleapi.Error{
 25186  			Code:   res.StatusCode,
 25187  			Header: res.Header,
 25188  		}
 25189  	}
 25190  	if err != nil {
 25191  		return nil, err
 25192  	}
 25193  	defer googleapi.CloseBody(res)
 25194  	if err := googleapi.CheckResponse(res); err != nil {
 25195  		return nil, err
 25196  	}
 25197  	ret := &CreativeFieldsListResponse{
 25198  		ServerResponse: googleapi.ServerResponse{
 25199  			Header:         res.Header,
 25200  			HTTPStatusCode: res.StatusCode,
 25201  		},
 25202  	}
 25203  	target := &ret
 25204  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25205  		return nil, err
 25206  	}
 25207  	return ret, nil
 25208  	// {
 25209  	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
 25210  	//   "httpMethod": "GET",
 25211  	//   "id": "dfareporting.creativeFields.list",
 25212  	//   "parameterOrder": [
 25213  	//     "profileId"
 25214  	//   ],
 25215  	//   "parameters": {
 25216  	//     "advertiserIds": {
 25217  	//       "description": "Select only creative fields that belong to these advertisers.",
 25218  	//       "format": "int64",
 25219  	//       "location": "query",
 25220  	//       "repeated": true,
 25221  	//       "type": "string"
 25222  	//     },
 25223  	//     "ids": {
 25224  	//       "description": "Select only creative fields with these IDs.",
 25225  	//       "format": "int64",
 25226  	//       "location": "query",
 25227  	//       "repeated": true,
 25228  	//       "type": "string"
 25229  	//     },
 25230  	//     "maxResults": {
 25231  	//       "default": "1000",
 25232  	//       "description": "Maximum number of results to return.",
 25233  	//       "format": "int32",
 25234  	//       "location": "query",
 25235  	//       "maximum": "1000",
 25236  	//       "minimum": "0",
 25237  	//       "type": "integer"
 25238  	//     },
 25239  	//     "pageToken": {
 25240  	//       "description": "Value of the nextPageToken from the previous result page.",
 25241  	//       "location": "query",
 25242  	//       "type": "string"
 25243  	//     },
 25244  	//     "profileId": {
 25245  	//       "description": "User profile ID associated with this request.",
 25246  	//       "format": "int64",
 25247  	//       "location": "path",
 25248  	//       "required": true,
 25249  	//       "type": "string"
 25250  	//     },
 25251  	//     "searchString": {
 25252  	//       "description": "Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, \"creativefield*2015\" will return creative fields with names like \"creativefield June 2015\", \"creativefield April 2015\", or simply \"creativefield 2015\". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of \"creativefield\" will match creative fields with the name \"my creativefield\", \"creativefield 2015\", or simply \"creativefield\".",
 25253  	//       "location": "query",
 25254  	//       "type": "string"
 25255  	//     },
 25256  	//     "sortField": {
 25257  	//       "default": "ID",
 25258  	//       "description": "Field by which to sort the list.",
 25259  	//       "enum": [
 25260  	//         "ID",
 25261  	//         "NAME"
 25262  	//       ],
 25263  	//       "enumDescriptions": [
 25264  	//         "",
 25265  	//         ""
 25266  	//       ],
 25267  	//       "location": "query",
 25268  	//       "type": "string"
 25269  	//     },
 25270  	//     "sortOrder": {
 25271  	//       "default": "ASCENDING",
 25272  	//       "description": "Order of sorted results.",
 25273  	//       "enum": [
 25274  	//         "ASCENDING",
 25275  	//         "DESCENDING"
 25276  	//       ],
 25277  	//       "enumDescriptions": [
 25278  	//         "",
 25279  	//         ""
 25280  	//       ],
 25281  	//       "location": "query",
 25282  	//       "type": "string"
 25283  	//     }
 25284  	//   },
 25285  	//   "path": "userprofiles/{profileId}/creativeFields",
 25286  	//   "response": {
 25287  	//     "$ref": "CreativeFieldsListResponse"
 25288  	//   },
 25289  	//   "scopes": [
 25290  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25291  	//   ]
 25292  	// }
 25293  
 25294  }
 25295  
 25296  // Pages invokes f for each page of results.
 25297  // A non-nil error returned from f will halt the iteration.
 25298  // The provided context supersedes any context provided to the Context method.
 25299  func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
 25300  	c.ctx_ = ctx
 25301  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 25302  	for {
 25303  		x, err := c.Do()
 25304  		if err != nil {
 25305  			return err
 25306  		}
 25307  		if err := f(x); err != nil {
 25308  			return err
 25309  		}
 25310  		if x.NextPageToken == "" {
 25311  			return nil
 25312  		}
 25313  		c.PageToken(x.NextPageToken)
 25314  	}
 25315  }
 25316  
 25317  // method id "dfareporting.creativeFields.patch":
 25318  
 25319  type CreativeFieldsPatchCall struct {
 25320  	s             *Service
 25321  	profileId     int64
 25322  	creativefield *CreativeField
 25323  	urlParams_    gensupport.URLParams
 25324  	ctx_          context.Context
 25325  	header_       http.Header
 25326  }
 25327  
 25328  // Patch: Updates an existing creative field. This method supports patch
 25329  // semantics.
 25330  func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
 25331  	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25332  	c.profileId = profileId
 25333  	c.urlParams_.Set("id", fmt.Sprint(id))
 25334  	c.creativefield = creativefield
 25335  	return c
 25336  }
 25337  
 25338  // Fields allows partial responses to be retrieved. See
 25339  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25340  // for more information.
 25341  func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
 25342  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25343  	return c
 25344  }
 25345  
 25346  // Context sets the context to be used in this call's Do method. Any
 25347  // pending HTTP request will be aborted if the provided context is
 25348  // canceled.
 25349  func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
 25350  	c.ctx_ = ctx
 25351  	return c
 25352  }
 25353  
 25354  // Header returns an http.Header that can be modified by the caller to
 25355  // add HTTP headers to the request.
 25356  func (c *CreativeFieldsPatchCall) Header() http.Header {
 25357  	if c.header_ == nil {
 25358  		c.header_ = make(http.Header)
 25359  	}
 25360  	return c.header_
 25361  }
 25362  
 25363  func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 25364  	reqHeaders := make(http.Header)
 25365  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25366  	for k, v := range c.header_ {
 25367  		reqHeaders[k] = v
 25368  	}
 25369  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25370  	var body io.Reader = nil
 25371  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 25372  	if err != nil {
 25373  		return nil, err
 25374  	}
 25375  	reqHeaders.Set("Content-Type", "application/json")
 25376  	c.urlParams_.Set("alt", alt)
 25377  	c.urlParams_.Set("prettyPrint", "false")
 25378  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 25379  	urls += "?" + c.urlParams_.Encode()
 25380  	req, err := http.NewRequest("PATCH", urls, body)
 25381  	if err != nil {
 25382  		return nil, err
 25383  	}
 25384  	req.Header = reqHeaders
 25385  	googleapi.Expand(req.URL, map[string]string{
 25386  		"profileId": strconv.FormatInt(c.profileId, 10),
 25387  	})
 25388  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25389  }
 25390  
 25391  // Do executes the "dfareporting.creativeFields.patch" call.
 25392  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 25393  // status code is an error. Response headers are in either
 25394  // *CreativeField.ServerResponse.Header or (if a response was returned
 25395  // at all) in error.(*googleapi.Error).Header. Use
 25396  // googleapi.IsNotModified to check whether the returned error was
 25397  // because http.StatusNotModified was returned.
 25398  func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 25399  	gensupport.SetOptions(c.urlParams_, opts...)
 25400  	res, err := c.doRequest("json")
 25401  	if res != nil && res.StatusCode == http.StatusNotModified {
 25402  		if res.Body != nil {
 25403  			res.Body.Close()
 25404  		}
 25405  		return nil, &googleapi.Error{
 25406  			Code:   res.StatusCode,
 25407  			Header: res.Header,
 25408  		}
 25409  	}
 25410  	if err != nil {
 25411  		return nil, err
 25412  	}
 25413  	defer googleapi.CloseBody(res)
 25414  	if err := googleapi.CheckResponse(res); err != nil {
 25415  		return nil, err
 25416  	}
 25417  	ret := &CreativeField{
 25418  		ServerResponse: googleapi.ServerResponse{
 25419  			Header:         res.Header,
 25420  			HTTPStatusCode: res.StatusCode,
 25421  		},
 25422  	}
 25423  	target := &ret
 25424  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25425  		return nil, err
 25426  	}
 25427  	return ret, nil
 25428  	// {
 25429  	//   "description": "Updates an existing creative field. This method supports patch semantics.",
 25430  	//   "httpMethod": "PATCH",
 25431  	//   "id": "dfareporting.creativeFields.patch",
 25432  	//   "parameterOrder": [
 25433  	//     "profileId",
 25434  	//     "id"
 25435  	//   ],
 25436  	//   "parameters": {
 25437  	//     "id": {
 25438  	//       "description": "Creative Field ID",
 25439  	//       "format": "int64",
 25440  	//       "location": "query",
 25441  	//       "required": true,
 25442  	//       "type": "string"
 25443  	//     },
 25444  	//     "profileId": {
 25445  	//       "description": "User profile ID associated with this request.",
 25446  	//       "format": "int64",
 25447  	//       "location": "path",
 25448  	//       "required": true,
 25449  	//       "type": "string"
 25450  	//     }
 25451  	//   },
 25452  	//   "path": "userprofiles/{profileId}/creativeFields",
 25453  	//   "request": {
 25454  	//     "$ref": "CreativeField"
 25455  	//   },
 25456  	//   "response": {
 25457  	//     "$ref": "CreativeField"
 25458  	//   },
 25459  	//   "scopes": [
 25460  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25461  	//   ]
 25462  	// }
 25463  
 25464  }
 25465  
 25466  // method id "dfareporting.creativeFields.update":
 25467  
 25468  type CreativeFieldsUpdateCall struct {
 25469  	s             *Service
 25470  	profileId     int64
 25471  	creativefield *CreativeField
 25472  	urlParams_    gensupport.URLParams
 25473  	ctx_          context.Context
 25474  	header_       http.Header
 25475  }
 25476  
 25477  // Update: Updates an existing creative field.
 25478  func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
 25479  	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25480  	c.profileId = profileId
 25481  	c.creativefield = creativefield
 25482  	return c
 25483  }
 25484  
 25485  // Fields allows partial responses to be retrieved. See
 25486  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25487  // for more information.
 25488  func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
 25489  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25490  	return c
 25491  }
 25492  
 25493  // Context sets the context to be used in this call's Do method. Any
 25494  // pending HTTP request will be aborted if the provided context is
 25495  // canceled.
 25496  func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
 25497  	c.ctx_ = ctx
 25498  	return c
 25499  }
 25500  
 25501  // Header returns an http.Header that can be modified by the caller to
 25502  // add HTTP headers to the request.
 25503  func (c *CreativeFieldsUpdateCall) Header() http.Header {
 25504  	if c.header_ == nil {
 25505  		c.header_ = make(http.Header)
 25506  	}
 25507  	return c.header_
 25508  }
 25509  
 25510  func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
 25511  	reqHeaders := make(http.Header)
 25512  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25513  	for k, v := range c.header_ {
 25514  		reqHeaders[k] = v
 25515  	}
 25516  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25517  	var body io.Reader = nil
 25518  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 25519  	if err != nil {
 25520  		return nil, err
 25521  	}
 25522  	reqHeaders.Set("Content-Type", "application/json")
 25523  	c.urlParams_.Set("alt", alt)
 25524  	c.urlParams_.Set("prettyPrint", "false")
 25525  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 25526  	urls += "?" + c.urlParams_.Encode()
 25527  	req, err := http.NewRequest("PUT", urls, body)
 25528  	if err != nil {
 25529  		return nil, err
 25530  	}
 25531  	req.Header = reqHeaders
 25532  	googleapi.Expand(req.URL, map[string]string{
 25533  		"profileId": strconv.FormatInt(c.profileId, 10),
 25534  	})
 25535  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25536  }
 25537  
 25538  // Do executes the "dfareporting.creativeFields.update" call.
 25539  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 25540  // status code is an error. Response headers are in either
 25541  // *CreativeField.ServerResponse.Header or (if a response was returned
 25542  // at all) in error.(*googleapi.Error).Header. Use
 25543  // googleapi.IsNotModified to check whether the returned error was
 25544  // because http.StatusNotModified was returned.
 25545  func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 25546  	gensupport.SetOptions(c.urlParams_, opts...)
 25547  	res, err := c.doRequest("json")
 25548  	if res != nil && res.StatusCode == http.StatusNotModified {
 25549  		if res.Body != nil {
 25550  			res.Body.Close()
 25551  		}
 25552  		return nil, &googleapi.Error{
 25553  			Code:   res.StatusCode,
 25554  			Header: res.Header,
 25555  		}
 25556  	}
 25557  	if err != nil {
 25558  		return nil, err
 25559  	}
 25560  	defer googleapi.CloseBody(res)
 25561  	if err := googleapi.CheckResponse(res); err != nil {
 25562  		return nil, err
 25563  	}
 25564  	ret := &CreativeField{
 25565  		ServerResponse: googleapi.ServerResponse{
 25566  			Header:         res.Header,
 25567  			HTTPStatusCode: res.StatusCode,
 25568  		},
 25569  	}
 25570  	target := &ret
 25571  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25572  		return nil, err
 25573  	}
 25574  	return ret, nil
 25575  	// {
 25576  	//   "description": "Updates an existing creative field.",
 25577  	//   "httpMethod": "PUT",
 25578  	//   "id": "dfareporting.creativeFields.update",
 25579  	//   "parameterOrder": [
 25580  	//     "profileId"
 25581  	//   ],
 25582  	//   "parameters": {
 25583  	//     "profileId": {
 25584  	//       "description": "User profile ID associated with this request.",
 25585  	//       "format": "int64",
 25586  	//       "location": "path",
 25587  	//       "required": true,
 25588  	//       "type": "string"
 25589  	//     }
 25590  	//   },
 25591  	//   "path": "userprofiles/{profileId}/creativeFields",
 25592  	//   "request": {
 25593  	//     "$ref": "CreativeField"
 25594  	//   },
 25595  	//   "response": {
 25596  	//     "$ref": "CreativeField"
 25597  	//   },
 25598  	//   "scopes": [
 25599  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25600  	//   ]
 25601  	// }
 25602  
 25603  }
 25604  
 25605  // method id "dfareporting.creativeGroups.get":
 25606  
 25607  type CreativeGroupsGetCall struct {
 25608  	s            *Service
 25609  	profileId    int64
 25610  	id           int64
 25611  	urlParams_   gensupport.URLParams
 25612  	ifNoneMatch_ string
 25613  	ctx_         context.Context
 25614  	header_      http.Header
 25615  }
 25616  
 25617  // Get: Gets one creative group by ID.
 25618  func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
 25619  	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25620  	c.profileId = profileId
 25621  	c.id = id
 25622  	return c
 25623  }
 25624  
 25625  // Fields allows partial responses to be retrieved. See
 25626  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25627  // for more information.
 25628  func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
 25629  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25630  	return c
 25631  }
 25632  
 25633  // IfNoneMatch sets the optional parameter which makes the operation
 25634  // fail if the object's ETag matches the given value. This is useful for
 25635  // getting updates only after the object has changed since the last
 25636  // request. Use googleapi.IsNotModified to check whether the response
 25637  // error from Do is the result of In-None-Match.
 25638  func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
 25639  	c.ifNoneMatch_ = entityTag
 25640  	return c
 25641  }
 25642  
 25643  // Context sets the context to be used in this call's Do method. Any
 25644  // pending HTTP request will be aborted if the provided context is
 25645  // canceled.
 25646  func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
 25647  	c.ctx_ = ctx
 25648  	return c
 25649  }
 25650  
 25651  // Header returns an http.Header that can be modified by the caller to
 25652  // add HTTP headers to the request.
 25653  func (c *CreativeGroupsGetCall) Header() http.Header {
 25654  	if c.header_ == nil {
 25655  		c.header_ = make(http.Header)
 25656  	}
 25657  	return c.header_
 25658  }
 25659  
 25660  func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 25661  	reqHeaders := make(http.Header)
 25662  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25663  	for k, v := range c.header_ {
 25664  		reqHeaders[k] = v
 25665  	}
 25666  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25667  	if c.ifNoneMatch_ != "" {
 25668  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25669  	}
 25670  	var body io.Reader = nil
 25671  	c.urlParams_.Set("alt", alt)
 25672  	c.urlParams_.Set("prettyPrint", "false")
 25673  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
 25674  	urls += "?" + c.urlParams_.Encode()
 25675  	req, err := http.NewRequest("GET", urls, body)
 25676  	if err != nil {
 25677  		return nil, err
 25678  	}
 25679  	req.Header = reqHeaders
 25680  	googleapi.Expand(req.URL, map[string]string{
 25681  		"profileId": strconv.FormatInt(c.profileId, 10),
 25682  		"id":        strconv.FormatInt(c.id, 10),
 25683  	})
 25684  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25685  }
 25686  
 25687  // Do executes the "dfareporting.creativeGroups.get" call.
 25688  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 25689  // status code is an error. Response headers are in either
 25690  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 25691  // at all) in error.(*googleapi.Error).Header. Use
 25692  // googleapi.IsNotModified to check whether the returned error was
 25693  // because http.StatusNotModified was returned.
 25694  func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 25695  	gensupport.SetOptions(c.urlParams_, opts...)
 25696  	res, err := c.doRequest("json")
 25697  	if res != nil && res.StatusCode == http.StatusNotModified {
 25698  		if res.Body != nil {
 25699  			res.Body.Close()
 25700  		}
 25701  		return nil, &googleapi.Error{
 25702  			Code:   res.StatusCode,
 25703  			Header: res.Header,
 25704  		}
 25705  	}
 25706  	if err != nil {
 25707  		return nil, err
 25708  	}
 25709  	defer googleapi.CloseBody(res)
 25710  	if err := googleapi.CheckResponse(res); err != nil {
 25711  		return nil, err
 25712  	}
 25713  	ret := &CreativeGroup{
 25714  		ServerResponse: googleapi.ServerResponse{
 25715  			Header:         res.Header,
 25716  			HTTPStatusCode: res.StatusCode,
 25717  		},
 25718  	}
 25719  	target := &ret
 25720  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25721  		return nil, err
 25722  	}
 25723  	return ret, nil
 25724  	// {
 25725  	//   "description": "Gets one creative group by ID.",
 25726  	//   "httpMethod": "GET",
 25727  	//   "id": "dfareporting.creativeGroups.get",
 25728  	//   "parameterOrder": [
 25729  	//     "profileId",
 25730  	//     "id"
 25731  	//   ],
 25732  	//   "parameters": {
 25733  	//     "id": {
 25734  	//       "description": "Creative group ID.",
 25735  	//       "format": "int64",
 25736  	//       "location": "path",
 25737  	//       "required": true,
 25738  	//       "type": "string"
 25739  	//     },
 25740  	//     "profileId": {
 25741  	//       "description": "User profile ID associated with this request.",
 25742  	//       "format": "int64",
 25743  	//       "location": "path",
 25744  	//       "required": true,
 25745  	//       "type": "string"
 25746  	//     }
 25747  	//   },
 25748  	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
 25749  	//   "response": {
 25750  	//     "$ref": "CreativeGroup"
 25751  	//   },
 25752  	//   "scopes": [
 25753  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25754  	//   ]
 25755  	// }
 25756  
 25757  }
 25758  
 25759  // method id "dfareporting.creativeGroups.insert":
 25760  
 25761  type CreativeGroupsInsertCall struct {
 25762  	s             *Service
 25763  	profileId     int64
 25764  	creativegroup *CreativeGroup
 25765  	urlParams_    gensupport.URLParams
 25766  	ctx_          context.Context
 25767  	header_       http.Header
 25768  }
 25769  
 25770  // Insert: Inserts a new creative group.
 25771  func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
 25772  	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25773  	c.profileId = profileId
 25774  	c.creativegroup = creativegroup
 25775  	return c
 25776  }
 25777  
 25778  // Fields allows partial responses to be retrieved. See
 25779  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25780  // for more information.
 25781  func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
 25782  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25783  	return c
 25784  }
 25785  
 25786  // Context sets the context to be used in this call's Do method. Any
 25787  // pending HTTP request will be aborted if the provided context is
 25788  // canceled.
 25789  func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
 25790  	c.ctx_ = ctx
 25791  	return c
 25792  }
 25793  
 25794  // Header returns an http.Header that can be modified by the caller to
 25795  // add HTTP headers to the request.
 25796  func (c *CreativeGroupsInsertCall) Header() http.Header {
 25797  	if c.header_ == nil {
 25798  		c.header_ = make(http.Header)
 25799  	}
 25800  	return c.header_
 25801  }
 25802  
 25803  func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 25804  	reqHeaders := make(http.Header)
 25805  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25806  	for k, v := range c.header_ {
 25807  		reqHeaders[k] = v
 25808  	}
 25809  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25810  	var body io.Reader = nil
 25811  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 25812  	if err != nil {
 25813  		return nil, err
 25814  	}
 25815  	reqHeaders.Set("Content-Type", "application/json")
 25816  	c.urlParams_.Set("alt", alt)
 25817  	c.urlParams_.Set("prettyPrint", "false")
 25818  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 25819  	urls += "?" + c.urlParams_.Encode()
 25820  	req, err := http.NewRequest("POST", urls, body)
 25821  	if err != nil {
 25822  		return nil, err
 25823  	}
 25824  	req.Header = reqHeaders
 25825  	googleapi.Expand(req.URL, map[string]string{
 25826  		"profileId": strconv.FormatInt(c.profileId, 10),
 25827  	})
 25828  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25829  }
 25830  
 25831  // Do executes the "dfareporting.creativeGroups.insert" call.
 25832  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 25833  // status code is an error. Response headers are in either
 25834  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 25835  // at all) in error.(*googleapi.Error).Header. Use
 25836  // googleapi.IsNotModified to check whether the returned error was
 25837  // because http.StatusNotModified was returned.
 25838  func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 25839  	gensupport.SetOptions(c.urlParams_, opts...)
 25840  	res, err := c.doRequest("json")
 25841  	if res != nil && res.StatusCode == http.StatusNotModified {
 25842  		if res.Body != nil {
 25843  			res.Body.Close()
 25844  		}
 25845  		return nil, &googleapi.Error{
 25846  			Code:   res.StatusCode,
 25847  			Header: res.Header,
 25848  		}
 25849  	}
 25850  	if err != nil {
 25851  		return nil, err
 25852  	}
 25853  	defer googleapi.CloseBody(res)
 25854  	if err := googleapi.CheckResponse(res); err != nil {
 25855  		return nil, err
 25856  	}
 25857  	ret := &CreativeGroup{
 25858  		ServerResponse: googleapi.ServerResponse{
 25859  			Header:         res.Header,
 25860  			HTTPStatusCode: res.StatusCode,
 25861  		},
 25862  	}
 25863  	target := &ret
 25864  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25865  		return nil, err
 25866  	}
 25867  	return ret, nil
 25868  	// {
 25869  	//   "description": "Inserts a new creative group.",
 25870  	//   "httpMethod": "POST",
 25871  	//   "id": "dfareporting.creativeGroups.insert",
 25872  	//   "parameterOrder": [
 25873  	//     "profileId"
 25874  	//   ],
 25875  	//   "parameters": {
 25876  	//     "profileId": {
 25877  	//       "description": "User profile ID associated with this request.",
 25878  	//       "format": "int64",
 25879  	//       "location": "path",
 25880  	//       "required": true,
 25881  	//       "type": "string"
 25882  	//     }
 25883  	//   },
 25884  	//   "path": "userprofiles/{profileId}/creativeGroups",
 25885  	//   "request": {
 25886  	//     "$ref": "CreativeGroup"
 25887  	//   },
 25888  	//   "response": {
 25889  	//     "$ref": "CreativeGroup"
 25890  	//   },
 25891  	//   "scopes": [
 25892  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25893  	//   ]
 25894  	// }
 25895  
 25896  }
 25897  
 25898  // method id "dfareporting.creativeGroups.list":
 25899  
 25900  type CreativeGroupsListCall struct {
 25901  	s            *Service
 25902  	profileId    int64
 25903  	urlParams_   gensupport.URLParams
 25904  	ifNoneMatch_ string
 25905  	ctx_         context.Context
 25906  	header_      http.Header
 25907  }
 25908  
 25909  // List: Retrieves a list of creative groups, possibly filtered. This
 25910  // method supports paging.
 25911  func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
 25912  	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25913  	c.profileId = profileId
 25914  	return c
 25915  }
 25916  
 25917  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 25918  // only creative groups that belong to these advertisers.
 25919  func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
 25920  	var advertiserIds_ []string
 25921  	for _, v := range advertiserIds {
 25922  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 25923  	}
 25924  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 25925  	return c
 25926  }
 25927  
 25928  // GroupNumber sets the optional parameter "groupNumber": Select only
 25929  // creative groups that belong to this subgroup.
 25930  func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
 25931  	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
 25932  	return c
 25933  }
 25934  
 25935  // Ids sets the optional parameter "ids": Select only creative groups
 25936  // with these IDs.
 25937  func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
 25938  	var ids_ []string
 25939  	for _, v := range ids {
 25940  		ids_ = append(ids_, fmt.Sprint(v))
 25941  	}
 25942  	c.urlParams_.SetMulti("ids", ids_)
 25943  	return c
 25944  }
 25945  
 25946  // MaxResults sets the optional parameter "maxResults": Maximum number
 25947  // of results to return.
 25948  func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
 25949  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 25950  	return c
 25951  }
 25952  
 25953  // PageToken sets the optional parameter "pageToken": Value of the
 25954  // nextPageToken from the previous result page.
 25955  func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
 25956  	c.urlParams_.Set("pageToken", pageToken)
 25957  	return c
 25958  }
 25959  
 25960  // SearchString sets the optional parameter "searchString": Allows
 25961  // searching for creative groups by name or ID. Wildcards (*) are
 25962  // allowed. For example, "creativegroup*2015" will return creative
 25963  // groups with names like "creativegroup June 2015", "creativegroup
 25964  // April 2015", or simply "creativegroup 2015". Most of the searches
 25965  // also add wild-cards implicitly at the start and the end of the search
 25966  // string. For example, a search string of "creativegroup" will match
 25967  // creative groups with the name "my creativegroup", "creativegroup
 25968  // 2015", or simply "creativegroup".
 25969  func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
 25970  	c.urlParams_.Set("searchString", searchString)
 25971  	return c
 25972  }
 25973  
 25974  // SortField sets the optional parameter "sortField": Field by which to
 25975  // sort the list.
 25976  //
 25977  // Possible values:
 25978  //
 25979  //	"ID" (default)
 25980  //	"NAME"
 25981  func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
 25982  	c.urlParams_.Set("sortField", sortField)
 25983  	return c
 25984  }
 25985  
 25986  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 25987  // results.
 25988  //
 25989  // Possible values:
 25990  //
 25991  //	"ASCENDING" (default)
 25992  //	"DESCENDING"
 25993  func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
 25994  	c.urlParams_.Set("sortOrder", sortOrder)
 25995  	return c
 25996  }
 25997  
 25998  // Fields allows partial responses to be retrieved. See
 25999  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26000  // for more information.
 26001  func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
 26002  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26003  	return c
 26004  }
 26005  
 26006  // IfNoneMatch sets the optional parameter which makes the operation
 26007  // fail if the object's ETag matches the given value. This is useful for
 26008  // getting updates only after the object has changed since the last
 26009  // request. Use googleapi.IsNotModified to check whether the response
 26010  // error from Do is the result of In-None-Match.
 26011  func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
 26012  	c.ifNoneMatch_ = entityTag
 26013  	return c
 26014  }
 26015  
 26016  // Context sets the context to be used in this call's Do method. Any
 26017  // pending HTTP request will be aborted if the provided context is
 26018  // canceled.
 26019  func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
 26020  	c.ctx_ = ctx
 26021  	return c
 26022  }
 26023  
 26024  // Header returns an http.Header that can be modified by the caller to
 26025  // add HTTP headers to the request.
 26026  func (c *CreativeGroupsListCall) Header() http.Header {
 26027  	if c.header_ == nil {
 26028  		c.header_ = make(http.Header)
 26029  	}
 26030  	return c.header_
 26031  }
 26032  
 26033  func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 26034  	reqHeaders := make(http.Header)
 26035  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26036  	for k, v := range c.header_ {
 26037  		reqHeaders[k] = v
 26038  	}
 26039  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26040  	if c.ifNoneMatch_ != "" {
 26041  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26042  	}
 26043  	var body io.Reader = nil
 26044  	c.urlParams_.Set("alt", alt)
 26045  	c.urlParams_.Set("prettyPrint", "false")
 26046  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 26047  	urls += "?" + c.urlParams_.Encode()
 26048  	req, err := http.NewRequest("GET", urls, body)
 26049  	if err != nil {
 26050  		return nil, err
 26051  	}
 26052  	req.Header = reqHeaders
 26053  	googleapi.Expand(req.URL, map[string]string{
 26054  		"profileId": strconv.FormatInt(c.profileId, 10),
 26055  	})
 26056  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26057  }
 26058  
 26059  // Do executes the "dfareporting.creativeGroups.list" call.
 26060  // Exactly one of *CreativeGroupsListResponse or error will be non-nil.
 26061  // Any non-2xx status code is an error. Response headers are in either
 26062  // *CreativeGroupsListResponse.ServerResponse.Header or (if a response
 26063  // was returned at all) in error.(*googleapi.Error).Header. Use
 26064  // googleapi.IsNotModified to check whether the returned error was
 26065  // because http.StatusNotModified was returned.
 26066  func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
 26067  	gensupport.SetOptions(c.urlParams_, opts...)
 26068  	res, err := c.doRequest("json")
 26069  	if res != nil && res.StatusCode == http.StatusNotModified {
 26070  		if res.Body != nil {
 26071  			res.Body.Close()
 26072  		}
 26073  		return nil, &googleapi.Error{
 26074  			Code:   res.StatusCode,
 26075  			Header: res.Header,
 26076  		}
 26077  	}
 26078  	if err != nil {
 26079  		return nil, err
 26080  	}
 26081  	defer googleapi.CloseBody(res)
 26082  	if err := googleapi.CheckResponse(res); err != nil {
 26083  		return nil, err
 26084  	}
 26085  	ret := &CreativeGroupsListResponse{
 26086  		ServerResponse: googleapi.ServerResponse{
 26087  			Header:         res.Header,
 26088  			HTTPStatusCode: res.StatusCode,
 26089  		},
 26090  	}
 26091  	target := &ret
 26092  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26093  		return nil, err
 26094  	}
 26095  	return ret, nil
 26096  	// {
 26097  	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
 26098  	//   "httpMethod": "GET",
 26099  	//   "id": "dfareporting.creativeGroups.list",
 26100  	//   "parameterOrder": [
 26101  	//     "profileId"
 26102  	//   ],
 26103  	//   "parameters": {
 26104  	//     "advertiserIds": {
 26105  	//       "description": "Select only creative groups that belong to these advertisers.",
 26106  	//       "format": "int64",
 26107  	//       "location": "query",
 26108  	//       "repeated": true,
 26109  	//       "type": "string"
 26110  	//     },
 26111  	//     "groupNumber": {
 26112  	//       "description": "Select only creative groups that belong to this subgroup.",
 26113  	//       "format": "int32",
 26114  	//       "location": "query",
 26115  	//       "maximum": "2",
 26116  	//       "minimum": "1",
 26117  	//       "type": "integer"
 26118  	//     },
 26119  	//     "ids": {
 26120  	//       "description": "Select only creative groups with these IDs.",
 26121  	//       "format": "int64",
 26122  	//       "location": "query",
 26123  	//       "repeated": true,
 26124  	//       "type": "string"
 26125  	//     },
 26126  	//     "maxResults": {
 26127  	//       "default": "1000",
 26128  	//       "description": "Maximum number of results to return.",
 26129  	//       "format": "int32",
 26130  	//       "location": "query",
 26131  	//       "maximum": "1000",
 26132  	//       "minimum": "0",
 26133  	//       "type": "integer"
 26134  	//     },
 26135  	//     "pageToken": {
 26136  	//       "description": "Value of the nextPageToken from the previous result page.",
 26137  	//       "location": "query",
 26138  	//       "type": "string"
 26139  	//     },
 26140  	//     "profileId": {
 26141  	//       "description": "User profile ID associated with this request.",
 26142  	//       "format": "int64",
 26143  	//       "location": "path",
 26144  	//       "required": true,
 26145  	//       "type": "string"
 26146  	//     },
 26147  	//     "searchString": {
 26148  	//       "description": "Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, \"creativegroup*2015\" will return creative groups with names like \"creativegroup June 2015\", \"creativegroup April 2015\", or simply \"creativegroup 2015\". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of \"creativegroup\" will match creative groups with the name \"my creativegroup\", \"creativegroup 2015\", or simply \"creativegroup\".",
 26149  	//       "location": "query",
 26150  	//       "type": "string"
 26151  	//     },
 26152  	//     "sortField": {
 26153  	//       "default": "ID",
 26154  	//       "description": "Field by which to sort the list.",
 26155  	//       "enum": [
 26156  	//         "ID",
 26157  	//         "NAME"
 26158  	//       ],
 26159  	//       "enumDescriptions": [
 26160  	//         "",
 26161  	//         ""
 26162  	//       ],
 26163  	//       "location": "query",
 26164  	//       "type": "string"
 26165  	//     },
 26166  	//     "sortOrder": {
 26167  	//       "default": "ASCENDING",
 26168  	//       "description": "Order of sorted results.",
 26169  	//       "enum": [
 26170  	//         "ASCENDING",
 26171  	//         "DESCENDING"
 26172  	//       ],
 26173  	//       "enumDescriptions": [
 26174  	//         "",
 26175  	//         ""
 26176  	//       ],
 26177  	//       "location": "query",
 26178  	//       "type": "string"
 26179  	//     }
 26180  	//   },
 26181  	//   "path": "userprofiles/{profileId}/creativeGroups",
 26182  	//   "response": {
 26183  	//     "$ref": "CreativeGroupsListResponse"
 26184  	//   },
 26185  	//   "scopes": [
 26186  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26187  	//   ]
 26188  	// }
 26189  
 26190  }
 26191  
 26192  // Pages invokes f for each page of results.
 26193  // A non-nil error returned from f will halt the iteration.
 26194  // The provided context supersedes any context provided to the Context method.
 26195  func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
 26196  	c.ctx_ = ctx
 26197  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 26198  	for {
 26199  		x, err := c.Do()
 26200  		if err != nil {
 26201  			return err
 26202  		}
 26203  		if err := f(x); err != nil {
 26204  			return err
 26205  		}
 26206  		if x.NextPageToken == "" {
 26207  			return nil
 26208  		}
 26209  		c.PageToken(x.NextPageToken)
 26210  	}
 26211  }
 26212  
 26213  // method id "dfareporting.creativeGroups.patch":
 26214  
 26215  type CreativeGroupsPatchCall struct {
 26216  	s             *Service
 26217  	profileId     int64
 26218  	creativegroup *CreativeGroup
 26219  	urlParams_    gensupport.URLParams
 26220  	ctx_          context.Context
 26221  	header_       http.Header
 26222  }
 26223  
 26224  // Patch: Updates an existing creative group. This method supports patch
 26225  // semantics.
 26226  func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
 26227  	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26228  	c.profileId = profileId
 26229  	c.urlParams_.Set("id", fmt.Sprint(id))
 26230  	c.creativegroup = creativegroup
 26231  	return c
 26232  }
 26233  
 26234  // Fields allows partial responses to be retrieved. See
 26235  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26236  // for more information.
 26237  func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
 26238  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26239  	return c
 26240  }
 26241  
 26242  // Context sets the context to be used in this call's Do method. Any
 26243  // pending HTTP request will be aborted if the provided context is
 26244  // canceled.
 26245  func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
 26246  	c.ctx_ = ctx
 26247  	return c
 26248  }
 26249  
 26250  // Header returns an http.Header that can be modified by the caller to
 26251  // add HTTP headers to the request.
 26252  func (c *CreativeGroupsPatchCall) Header() http.Header {
 26253  	if c.header_ == nil {
 26254  		c.header_ = make(http.Header)
 26255  	}
 26256  	return c.header_
 26257  }
 26258  
 26259  func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 26260  	reqHeaders := make(http.Header)
 26261  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26262  	for k, v := range c.header_ {
 26263  		reqHeaders[k] = v
 26264  	}
 26265  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26266  	var body io.Reader = nil
 26267  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 26268  	if err != nil {
 26269  		return nil, err
 26270  	}
 26271  	reqHeaders.Set("Content-Type", "application/json")
 26272  	c.urlParams_.Set("alt", alt)
 26273  	c.urlParams_.Set("prettyPrint", "false")
 26274  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 26275  	urls += "?" + c.urlParams_.Encode()
 26276  	req, err := http.NewRequest("PATCH", urls, body)
 26277  	if err != nil {
 26278  		return nil, err
 26279  	}
 26280  	req.Header = reqHeaders
 26281  	googleapi.Expand(req.URL, map[string]string{
 26282  		"profileId": strconv.FormatInt(c.profileId, 10),
 26283  	})
 26284  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26285  }
 26286  
 26287  // Do executes the "dfareporting.creativeGroups.patch" call.
 26288  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 26289  // status code is an error. Response headers are in either
 26290  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 26291  // at all) in error.(*googleapi.Error).Header. Use
 26292  // googleapi.IsNotModified to check whether the returned error was
 26293  // because http.StatusNotModified was returned.
 26294  func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 26295  	gensupport.SetOptions(c.urlParams_, opts...)
 26296  	res, err := c.doRequest("json")
 26297  	if res != nil && res.StatusCode == http.StatusNotModified {
 26298  		if res.Body != nil {
 26299  			res.Body.Close()
 26300  		}
 26301  		return nil, &googleapi.Error{
 26302  			Code:   res.StatusCode,
 26303  			Header: res.Header,
 26304  		}
 26305  	}
 26306  	if err != nil {
 26307  		return nil, err
 26308  	}
 26309  	defer googleapi.CloseBody(res)
 26310  	if err := googleapi.CheckResponse(res); err != nil {
 26311  		return nil, err
 26312  	}
 26313  	ret := &CreativeGroup{
 26314  		ServerResponse: googleapi.ServerResponse{
 26315  			Header:         res.Header,
 26316  			HTTPStatusCode: res.StatusCode,
 26317  		},
 26318  	}
 26319  	target := &ret
 26320  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26321  		return nil, err
 26322  	}
 26323  	return ret, nil
 26324  	// {
 26325  	//   "description": "Updates an existing creative group. This method supports patch semantics.",
 26326  	//   "httpMethod": "PATCH",
 26327  	//   "id": "dfareporting.creativeGroups.patch",
 26328  	//   "parameterOrder": [
 26329  	//     "profileId",
 26330  	//     "id"
 26331  	//   ],
 26332  	//   "parameters": {
 26333  	//     "id": {
 26334  	//       "description": "Creative group ID.",
 26335  	//       "format": "int64",
 26336  	//       "location": "query",
 26337  	//       "required": true,
 26338  	//       "type": "string"
 26339  	//     },
 26340  	//     "profileId": {
 26341  	//       "description": "User profile ID associated with this request.",
 26342  	//       "format": "int64",
 26343  	//       "location": "path",
 26344  	//       "required": true,
 26345  	//       "type": "string"
 26346  	//     }
 26347  	//   },
 26348  	//   "path": "userprofiles/{profileId}/creativeGroups",
 26349  	//   "request": {
 26350  	//     "$ref": "CreativeGroup"
 26351  	//   },
 26352  	//   "response": {
 26353  	//     "$ref": "CreativeGroup"
 26354  	//   },
 26355  	//   "scopes": [
 26356  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26357  	//   ]
 26358  	// }
 26359  
 26360  }
 26361  
 26362  // method id "dfareporting.creativeGroups.update":
 26363  
 26364  type CreativeGroupsUpdateCall struct {
 26365  	s             *Service
 26366  	profileId     int64
 26367  	creativegroup *CreativeGroup
 26368  	urlParams_    gensupport.URLParams
 26369  	ctx_          context.Context
 26370  	header_       http.Header
 26371  }
 26372  
 26373  // Update: Updates an existing creative group.
 26374  func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
 26375  	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26376  	c.profileId = profileId
 26377  	c.creativegroup = creativegroup
 26378  	return c
 26379  }
 26380  
 26381  // Fields allows partial responses to be retrieved. See
 26382  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26383  // for more information.
 26384  func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
 26385  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26386  	return c
 26387  }
 26388  
 26389  // Context sets the context to be used in this call's Do method. Any
 26390  // pending HTTP request will be aborted if the provided context is
 26391  // canceled.
 26392  func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
 26393  	c.ctx_ = ctx
 26394  	return c
 26395  }
 26396  
 26397  // Header returns an http.Header that can be modified by the caller to
 26398  // add HTTP headers to the request.
 26399  func (c *CreativeGroupsUpdateCall) Header() http.Header {
 26400  	if c.header_ == nil {
 26401  		c.header_ = make(http.Header)
 26402  	}
 26403  	return c.header_
 26404  }
 26405  
 26406  func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 26407  	reqHeaders := make(http.Header)
 26408  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26409  	for k, v := range c.header_ {
 26410  		reqHeaders[k] = v
 26411  	}
 26412  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26413  	var body io.Reader = nil
 26414  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 26415  	if err != nil {
 26416  		return nil, err
 26417  	}
 26418  	reqHeaders.Set("Content-Type", "application/json")
 26419  	c.urlParams_.Set("alt", alt)
 26420  	c.urlParams_.Set("prettyPrint", "false")
 26421  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 26422  	urls += "?" + c.urlParams_.Encode()
 26423  	req, err := http.NewRequest("PUT", urls, body)
 26424  	if err != nil {
 26425  		return nil, err
 26426  	}
 26427  	req.Header = reqHeaders
 26428  	googleapi.Expand(req.URL, map[string]string{
 26429  		"profileId": strconv.FormatInt(c.profileId, 10),
 26430  	})
 26431  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26432  }
 26433  
 26434  // Do executes the "dfareporting.creativeGroups.update" call.
 26435  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 26436  // status code is an error. Response headers are in either
 26437  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 26438  // at all) in error.(*googleapi.Error).Header. Use
 26439  // googleapi.IsNotModified to check whether the returned error was
 26440  // because http.StatusNotModified was returned.
 26441  func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 26442  	gensupport.SetOptions(c.urlParams_, opts...)
 26443  	res, err := c.doRequest("json")
 26444  	if res != nil && res.StatusCode == http.StatusNotModified {
 26445  		if res.Body != nil {
 26446  			res.Body.Close()
 26447  		}
 26448  		return nil, &googleapi.Error{
 26449  			Code:   res.StatusCode,
 26450  			Header: res.Header,
 26451  		}
 26452  	}
 26453  	if err != nil {
 26454  		return nil, err
 26455  	}
 26456  	defer googleapi.CloseBody(res)
 26457  	if err := googleapi.CheckResponse(res); err != nil {
 26458  		return nil, err
 26459  	}
 26460  	ret := &CreativeGroup{
 26461  		ServerResponse: googleapi.ServerResponse{
 26462  			Header:         res.Header,
 26463  			HTTPStatusCode: res.StatusCode,
 26464  		},
 26465  	}
 26466  	target := &ret
 26467  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26468  		return nil, err
 26469  	}
 26470  	return ret, nil
 26471  	// {
 26472  	//   "description": "Updates an existing creative group.",
 26473  	//   "httpMethod": "PUT",
 26474  	//   "id": "dfareporting.creativeGroups.update",
 26475  	//   "parameterOrder": [
 26476  	//     "profileId"
 26477  	//   ],
 26478  	//   "parameters": {
 26479  	//     "profileId": {
 26480  	//       "description": "User profile ID associated with this request.",
 26481  	//       "format": "int64",
 26482  	//       "location": "path",
 26483  	//       "required": true,
 26484  	//       "type": "string"
 26485  	//     }
 26486  	//   },
 26487  	//   "path": "userprofiles/{profileId}/creativeGroups",
 26488  	//   "request": {
 26489  	//     "$ref": "CreativeGroup"
 26490  	//   },
 26491  	//   "response": {
 26492  	//     "$ref": "CreativeGroup"
 26493  	//   },
 26494  	//   "scopes": [
 26495  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26496  	//   ]
 26497  	// }
 26498  
 26499  }
 26500  
 26501  // method id "dfareporting.creatives.get":
 26502  
 26503  type CreativesGetCall struct {
 26504  	s            *Service
 26505  	profileId    int64
 26506  	id           int64
 26507  	urlParams_   gensupport.URLParams
 26508  	ifNoneMatch_ string
 26509  	ctx_         context.Context
 26510  	header_      http.Header
 26511  }
 26512  
 26513  // Get: Gets one creative by ID.
 26514  func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
 26515  	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26516  	c.profileId = profileId
 26517  	c.id = id
 26518  	return c
 26519  }
 26520  
 26521  // Fields allows partial responses to be retrieved. See
 26522  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26523  // for more information.
 26524  func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
 26525  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26526  	return c
 26527  }
 26528  
 26529  // IfNoneMatch sets the optional parameter which makes the operation
 26530  // fail if the object's ETag matches the given value. This is useful for
 26531  // getting updates only after the object has changed since the last
 26532  // request. Use googleapi.IsNotModified to check whether the response
 26533  // error from Do is the result of In-None-Match.
 26534  func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
 26535  	c.ifNoneMatch_ = entityTag
 26536  	return c
 26537  }
 26538  
 26539  // Context sets the context to be used in this call's Do method. Any
 26540  // pending HTTP request will be aborted if the provided context is
 26541  // canceled.
 26542  func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 26543  	c.ctx_ = ctx
 26544  	return c
 26545  }
 26546  
 26547  // Header returns an http.Header that can be modified by the caller to
 26548  // add HTTP headers to the request.
 26549  func (c *CreativesGetCall) Header() http.Header {
 26550  	if c.header_ == nil {
 26551  		c.header_ = make(http.Header)
 26552  	}
 26553  	return c.header_
 26554  }
 26555  
 26556  func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 26557  	reqHeaders := make(http.Header)
 26558  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26559  	for k, v := range c.header_ {
 26560  		reqHeaders[k] = v
 26561  	}
 26562  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26563  	if c.ifNoneMatch_ != "" {
 26564  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26565  	}
 26566  	var body io.Reader = nil
 26567  	c.urlParams_.Set("alt", alt)
 26568  	c.urlParams_.Set("prettyPrint", "false")
 26569  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
 26570  	urls += "?" + c.urlParams_.Encode()
 26571  	req, err := http.NewRequest("GET", urls, body)
 26572  	if err != nil {
 26573  		return nil, err
 26574  	}
 26575  	req.Header = reqHeaders
 26576  	googleapi.Expand(req.URL, map[string]string{
 26577  		"profileId": strconv.FormatInt(c.profileId, 10),
 26578  		"id":        strconv.FormatInt(c.id, 10),
 26579  	})
 26580  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26581  }
 26582  
 26583  // Do executes the "dfareporting.creatives.get" call.
 26584  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 26585  // code is an error. Response headers are in either
 26586  // *Creative.ServerResponse.Header or (if a response was returned at
 26587  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 26588  // to check whether the returned error was because
 26589  // http.StatusNotModified was returned.
 26590  func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 26591  	gensupport.SetOptions(c.urlParams_, opts...)
 26592  	res, err := c.doRequest("json")
 26593  	if res != nil && res.StatusCode == http.StatusNotModified {
 26594  		if res.Body != nil {
 26595  			res.Body.Close()
 26596  		}
 26597  		return nil, &googleapi.Error{
 26598  			Code:   res.StatusCode,
 26599  			Header: res.Header,
 26600  		}
 26601  	}
 26602  	if err != nil {
 26603  		return nil, err
 26604  	}
 26605  	defer googleapi.CloseBody(res)
 26606  	if err := googleapi.CheckResponse(res); err != nil {
 26607  		return nil, err
 26608  	}
 26609  	ret := &Creative{
 26610  		ServerResponse: googleapi.ServerResponse{
 26611  			Header:         res.Header,
 26612  			HTTPStatusCode: res.StatusCode,
 26613  		},
 26614  	}
 26615  	target := &ret
 26616  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26617  		return nil, err
 26618  	}
 26619  	return ret, nil
 26620  	// {
 26621  	//   "description": "Gets one creative by ID.",
 26622  	//   "httpMethod": "GET",
 26623  	//   "id": "dfareporting.creatives.get",
 26624  	//   "parameterOrder": [
 26625  	//     "profileId",
 26626  	//     "id"
 26627  	//   ],
 26628  	//   "parameters": {
 26629  	//     "id": {
 26630  	//       "description": "Creative ID.",
 26631  	//       "format": "int64",
 26632  	//       "location": "path",
 26633  	//       "required": true,
 26634  	//       "type": "string"
 26635  	//     },
 26636  	//     "profileId": {
 26637  	//       "description": "User profile ID associated with this request.",
 26638  	//       "format": "int64",
 26639  	//       "location": "path",
 26640  	//       "required": true,
 26641  	//       "type": "string"
 26642  	//     }
 26643  	//   },
 26644  	//   "path": "userprofiles/{profileId}/creatives/{id}",
 26645  	//   "response": {
 26646  	//     "$ref": "Creative"
 26647  	//   },
 26648  	//   "scopes": [
 26649  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26650  	//   ]
 26651  	// }
 26652  
 26653  }
 26654  
 26655  // method id "dfareporting.creatives.insert":
 26656  
 26657  type CreativesInsertCall struct {
 26658  	s          *Service
 26659  	profileId  int64
 26660  	creative   *Creative
 26661  	urlParams_ gensupport.URLParams
 26662  	ctx_       context.Context
 26663  	header_    http.Header
 26664  }
 26665  
 26666  // Insert: Inserts a new creative.
 26667  func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
 26668  	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26669  	c.profileId = profileId
 26670  	c.creative = creative
 26671  	return c
 26672  }
 26673  
 26674  // Fields allows partial responses to be retrieved. See
 26675  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26676  // for more information.
 26677  func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
 26678  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26679  	return c
 26680  }
 26681  
 26682  // Context sets the context to be used in this call's Do method. Any
 26683  // pending HTTP request will be aborted if the provided context is
 26684  // canceled.
 26685  func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 26686  	c.ctx_ = ctx
 26687  	return c
 26688  }
 26689  
 26690  // Header returns an http.Header that can be modified by the caller to
 26691  // add HTTP headers to the request.
 26692  func (c *CreativesInsertCall) Header() http.Header {
 26693  	if c.header_ == nil {
 26694  		c.header_ = make(http.Header)
 26695  	}
 26696  	return c.header_
 26697  }
 26698  
 26699  func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 26700  	reqHeaders := make(http.Header)
 26701  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26702  	for k, v := range c.header_ {
 26703  		reqHeaders[k] = v
 26704  	}
 26705  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26706  	var body io.Reader = nil
 26707  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 26708  	if err != nil {
 26709  		return nil, err
 26710  	}
 26711  	reqHeaders.Set("Content-Type", "application/json")
 26712  	c.urlParams_.Set("alt", alt)
 26713  	c.urlParams_.Set("prettyPrint", "false")
 26714  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 26715  	urls += "?" + c.urlParams_.Encode()
 26716  	req, err := http.NewRequest("POST", urls, body)
 26717  	if err != nil {
 26718  		return nil, err
 26719  	}
 26720  	req.Header = reqHeaders
 26721  	googleapi.Expand(req.URL, map[string]string{
 26722  		"profileId": strconv.FormatInt(c.profileId, 10),
 26723  	})
 26724  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26725  }
 26726  
 26727  // Do executes the "dfareporting.creatives.insert" call.
 26728  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 26729  // code is an error. Response headers are in either
 26730  // *Creative.ServerResponse.Header or (if a response was returned at
 26731  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 26732  // to check whether the returned error was because
 26733  // http.StatusNotModified was returned.
 26734  func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 26735  	gensupport.SetOptions(c.urlParams_, opts...)
 26736  	res, err := c.doRequest("json")
 26737  	if res != nil && res.StatusCode == http.StatusNotModified {
 26738  		if res.Body != nil {
 26739  			res.Body.Close()
 26740  		}
 26741  		return nil, &googleapi.Error{
 26742  			Code:   res.StatusCode,
 26743  			Header: res.Header,
 26744  		}
 26745  	}
 26746  	if err != nil {
 26747  		return nil, err
 26748  	}
 26749  	defer googleapi.CloseBody(res)
 26750  	if err := googleapi.CheckResponse(res); err != nil {
 26751  		return nil, err
 26752  	}
 26753  	ret := &Creative{
 26754  		ServerResponse: googleapi.ServerResponse{
 26755  			Header:         res.Header,
 26756  			HTTPStatusCode: res.StatusCode,
 26757  		},
 26758  	}
 26759  	target := &ret
 26760  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26761  		return nil, err
 26762  	}
 26763  	return ret, nil
 26764  	// {
 26765  	//   "description": "Inserts a new creative.",
 26766  	//   "httpMethod": "POST",
 26767  	//   "id": "dfareporting.creatives.insert",
 26768  	//   "parameterOrder": [
 26769  	//     "profileId"
 26770  	//   ],
 26771  	//   "parameters": {
 26772  	//     "profileId": {
 26773  	//       "description": "User profile ID associated with this request.",
 26774  	//       "format": "int64",
 26775  	//       "location": "path",
 26776  	//       "required": true,
 26777  	//       "type": "string"
 26778  	//     }
 26779  	//   },
 26780  	//   "path": "userprofiles/{profileId}/creatives",
 26781  	//   "request": {
 26782  	//     "$ref": "Creative"
 26783  	//   },
 26784  	//   "response": {
 26785  	//     "$ref": "Creative"
 26786  	//   },
 26787  	//   "scopes": [
 26788  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26789  	//   ]
 26790  	// }
 26791  
 26792  }
 26793  
 26794  // method id "dfareporting.creatives.list":
 26795  
 26796  type CreativesListCall struct {
 26797  	s            *Service
 26798  	profileId    int64
 26799  	urlParams_   gensupport.URLParams
 26800  	ifNoneMatch_ string
 26801  	ctx_         context.Context
 26802  	header_      http.Header
 26803  }
 26804  
 26805  // List: Retrieves a list of creatives, possibly filtered. This method
 26806  // supports paging.
 26807  func (r *CreativesService) List(profileId int64) *CreativesListCall {
 26808  	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26809  	c.profileId = profileId
 26810  	return c
 26811  }
 26812  
 26813  // Active sets the optional parameter "active": Select only active
 26814  // creatives. Leave blank to select active and inactive creatives.
 26815  func (c *CreativesListCall) Active(active bool) *CreativesListCall {
 26816  	c.urlParams_.Set("active", fmt.Sprint(active))
 26817  	return c
 26818  }
 26819  
 26820  // AdvertiserId sets the optional parameter "advertiserId": Select only
 26821  // creatives with this advertiser ID.
 26822  func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
 26823  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 26824  	return c
 26825  }
 26826  
 26827  // Archived sets the optional parameter "archived": Select only archived
 26828  // creatives. Leave blank to select archived and unarchived creatives.
 26829  func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
 26830  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 26831  	return c
 26832  }
 26833  
 26834  // CampaignId sets the optional parameter "campaignId": Select only
 26835  // creatives with this campaign ID.
 26836  func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
 26837  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 26838  	return c
 26839  }
 26840  
 26841  // CompanionCreativeIds sets the optional parameter
 26842  // "companionCreativeIds": Select only in-stream video creatives with
 26843  // these companion IDs.
 26844  func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
 26845  	var companionCreativeIds_ []string
 26846  	for _, v := range companionCreativeIds {
 26847  		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
 26848  	}
 26849  	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
 26850  	return c
 26851  }
 26852  
 26853  // CreativeFieldIds sets the optional parameter "creativeFieldIds":
 26854  // Select only creatives with these creative field IDs.
 26855  func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
 26856  	var creativeFieldIds_ []string
 26857  	for _, v := range creativeFieldIds {
 26858  		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
 26859  	}
 26860  	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
 26861  	return c
 26862  }
 26863  
 26864  // Ids sets the optional parameter "ids": Select only creatives with
 26865  // these IDs.
 26866  func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
 26867  	var ids_ []string
 26868  	for _, v := range ids {
 26869  		ids_ = append(ids_, fmt.Sprint(v))
 26870  	}
 26871  	c.urlParams_.SetMulti("ids", ids_)
 26872  	return c
 26873  }
 26874  
 26875  // MaxResults sets the optional parameter "maxResults": Maximum number
 26876  // of results to return.
 26877  func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
 26878  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 26879  	return c
 26880  }
 26881  
 26882  // PageToken sets the optional parameter "pageToken": Value of the
 26883  // nextPageToken from the previous result page.
 26884  func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
 26885  	c.urlParams_.Set("pageToken", pageToken)
 26886  	return c
 26887  }
 26888  
 26889  // RenderingIds sets the optional parameter "renderingIds": Select only
 26890  // creatives with these rendering IDs.
 26891  func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
 26892  	var renderingIds_ []string
 26893  	for _, v := range renderingIds {
 26894  		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
 26895  	}
 26896  	c.urlParams_.SetMulti("renderingIds", renderingIds_)
 26897  	return c
 26898  }
 26899  
 26900  // SearchString sets the optional parameter "searchString": Allows
 26901  // searching for objects by name or ID. Wildcards (*) are allowed. For
 26902  // example, "creative*2015" will return objects with names like
 26903  // "creative June 2015", "creative April 2015", or simply "creative
 26904  // 2015". Most of the searches also add wildcards implicitly at the
 26905  // start and the end of the search string. For example, a search string
 26906  // of "creative" will match objects with name "my creative", "creative
 26907  // 2015", or simply "creative".
 26908  func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
 26909  	c.urlParams_.Set("searchString", searchString)
 26910  	return c
 26911  }
 26912  
 26913  // SizeIds sets the optional parameter "sizeIds": Select only creatives
 26914  // with these size IDs.
 26915  func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
 26916  	var sizeIds_ []string
 26917  	for _, v := range sizeIds {
 26918  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 26919  	}
 26920  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 26921  	return c
 26922  }
 26923  
 26924  // SortField sets the optional parameter "sortField": Field by which to
 26925  // sort the list.
 26926  //
 26927  // Possible values:
 26928  //
 26929  //	"ID" (default)
 26930  //	"NAME"
 26931  func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
 26932  	c.urlParams_.Set("sortField", sortField)
 26933  	return c
 26934  }
 26935  
 26936  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 26937  // results.
 26938  //
 26939  // Possible values:
 26940  //
 26941  //	"ASCENDING" (default)
 26942  //	"DESCENDING"
 26943  func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
 26944  	c.urlParams_.Set("sortOrder", sortOrder)
 26945  	return c
 26946  }
 26947  
 26948  // StudioCreativeId sets the optional parameter "studioCreativeId":
 26949  // Select only creatives corresponding to this Studio creative ID.
 26950  func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
 26951  	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
 26952  	return c
 26953  }
 26954  
 26955  // Types sets the optional parameter "types": Select only creatives with
 26956  // these creative types.
 26957  //
 26958  // Possible values:
 26959  //
 26960  //	"BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
 26961  //	"CUSTOM_DISPLAY"
 26962  //	"CUSTOM_DISPLAY_INTERSTITIAL"
 26963  //	"DISPLAY"
 26964  //	"DISPLAY_IMAGE_GALLERY"
 26965  //	"DISPLAY_REDIRECT"
 26966  //	"FLASH_INPAGE"
 26967  //	"HTML5_BANNER"
 26968  //	"IMAGE"
 26969  //	"INSTREAM_VIDEO"
 26970  //	"INSTREAM_VIDEO_REDIRECT"
 26971  //	"INTERNAL_REDIRECT"
 26972  //	"INTERSTITIAL_INTERNAL_REDIRECT"
 26973  //	"RICH_MEDIA_DISPLAY_BANNER"
 26974  //	"RICH_MEDIA_DISPLAY_EXPANDING"
 26975  //	"RICH_MEDIA_DISPLAY_INTERSTITIAL"
 26976  //	"RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
 26977  //	"RICH_MEDIA_IM_EXPAND"
 26978  //	"RICH_MEDIA_INPAGE_FLOATING"
 26979  //	"RICH_MEDIA_MOBILE_IN_APP"
 26980  //	"RICH_MEDIA_PEEL_DOWN"
 26981  //	"TRACKING_TEXT"
 26982  //	"VPAID_LINEAR_VIDEO"
 26983  //	"VPAID_NON_LINEAR_VIDEO"
 26984  func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
 26985  	c.urlParams_.SetMulti("types", append([]string{}, types...))
 26986  	return c
 26987  }
 26988  
 26989  // Fields allows partial responses to be retrieved. See
 26990  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26991  // for more information.
 26992  func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
 26993  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26994  	return c
 26995  }
 26996  
 26997  // IfNoneMatch sets the optional parameter which makes the operation
 26998  // fail if the object's ETag matches the given value. This is useful for
 26999  // getting updates only after the object has changed since the last
 27000  // request. Use googleapi.IsNotModified to check whether the response
 27001  // error from Do is the result of In-None-Match.
 27002  func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
 27003  	c.ifNoneMatch_ = entityTag
 27004  	return c
 27005  }
 27006  
 27007  // Context sets the context to be used in this call's Do method. Any
 27008  // pending HTTP request will be aborted if the provided context is
 27009  // canceled.
 27010  func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 27011  	c.ctx_ = ctx
 27012  	return c
 27013  }
 27014  
 27015  // Header returns an http.Header that can be modified by the caller to
 27016  // add HTTP headers to the request.
 27017  func (c *CreativesListCall) Header() http.Header {
 27018  	if c.header_ == nil {
 27019  		c.header_ = make(http.Header)
 27020  	}
 27021  	return c.header_
 27022  }
 27023  
 27024  func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 27025  	reqHeaders := make(http.Header)
 27026  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27027  	for k, v := range c.header_ {
 27028  		reqHeaders[k] = v
 27029  	}
 27030  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27031  	if c.ifNoneMatch_ != "" {
 27032  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27033  	}
 27034  	var body io.Reader = nil
 27035  	c.urlParams_.Set("alt", alt)
 27036  	c.urlParams_.Set("prettyPrint", "false")
 27037  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 27038  	urls += "?" + c.urlParams_.Encode()
 27039  	req, err := http.NewRequest("GET", urls, body)
 27040  	if err != nil {
 27041  		return nil, err
 27042  	}
 27043  	req.Header = reqHeaders
 27044  	googleapi.Expand(req.URL, map[string]string{
 27045  		"profileId": strconv.FormatInt(c.profileId, 10),
 27046  	})
 27047  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27048  }
 27049  
 27050  // Do executes the "dfareporting.creatives.list" call.
 27051  // Exactly one of *CreativesListResponse or error will be non-nil. Any
 27052  // non-2xx status code is an error. Response headers are in either
 27053  // *CreativesListResponse.ServerResponse.Header or (if a response was
 27054  // returned at all) in error.(*googleapi.Error).Header. Use
 27055  // googleapi.IsNotModified to check whether the returned error was
 27056  // because http.StatusNotModified was returned.
 27057  func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
 27058  	gensupport.SetOptions(c.urlParams_, opts...)
 27059  	res, err := c.doRequest("json")
 27060  	if res != nil && res.StatusCode == http.StatusNotModified {
 27061  		if res.Body != nil {
 27062  			res.Body.Close()
 27063  		}
 27064  		return nil, &googleapi.Error{
 27065  			Code:   res.StatusCode,
 27066  			Header: res.Header,
 27067  		}
 27068  	}
 27069  	if err != nil {
 27070  		return nil, err
 27071  	}
 27072  	defer googleapi.CloseBody(res)
 27073  	if err := googleapi.CheckResponse(res); err != nil {
 27074  		return nil, err
 27075  	}
 27076  	ret := &CreativesListResponse{
 27077  		ServerResponse: googleapi.ServerResponse{
 27078  			Header:         res.Header,
 27079  			HTTPStatusCode: res.StatusCode,
 27080  		},
 27081  	}
 27082  	target := &ret
 27083  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27084  		return nil, err
 27085  	}
 27086  	return ret, nil
 27087  	// {
 27088  	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
 27089  	//   "httpMethod": "GET",
 27090  	//   "id": "dfareporting.creatives.list",
 27091  	//   "parameterOrder": [
 27092  	//     "profileId"
 27093  	//   ],
 27094  	//   "parameters": {
 27095  	//     "active": {
 27096  	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
 27097  	//       "location": "query",
 27098  	//       "type": "boolean"
 27099  	//     },
 27100  	//     "advertiserId": {
 27101  	//       "description": "Select only creatives with this advertiser ID.",
 27102  	//       "format": "int64",
 27103  	//       "location": "query",
 27104  	//       "type": "string"
 27105  	//     },
 27106  	//     "archived": {
 27107  	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
 27108  	//       "location": "query",
 27109  	//       "type": "boolean"
 27110  	//     },
 27111  	//     "campaignId": {
 27112  	//       "description": "Select only creatives with this campaign ID.",
 27113  	//       "format": "int64",
 27114  	//       "location": "query",
 27115  	//       "type": "string"
 27116  	//     },
 27117  	//     "companionCreativeIds": {
 27118  	//       "description": "Select only in-stream video creatives with these companion IDs.",
 27119  	//       "format": "int64",
 27120  	//       "location": "query",
 27121  	//       "repeated": true,
 27122  	//       "type": "string"
 27123  	//     },
 27124  	//     "creativeFieldIds": {
 27125  	//       "description": "Select only creatives with these creative field IDs.",
 27126  	//       "format": "int64",
 27127  	//       "location": "query",
 27128  	//       "repeated": true,
 27129  	//       "type": "string"
 27130  	//     },
 27131  	//     "ids": {
 27132  	//       "description": "Select only creatives with these IDs.",
 27133  	//       "format": "int64",
 27134  	//       "location": "query",
 27135  	//       "repeated": true,
 27136  	//       "type": "string"
 27137  	//     },
 27138  	//     "maxResults": {
 27139  	//       "default": "1000",
 27140  	//       "description": "Maximum number of results to return.",
 27141  	//       "format": "int32",
 27142  	//       "location": "query",
 27143  	//       "maximum": "1000",
 27144  	//       "minimum": "0",
 27145  	//       "type": "integer"
 27146  	//     },
 27147  	//     "pageToken": {
 27148  	//       "description": "Value of the nextPageToken from the previous result page.",
 27149  	//       "location": "query",
 27150  	//       "type": "string"
 27151  	//     },
 27152  	//     "profileId": {
 27153  	//       "description": "User profile ID associated with this request.",
 27154  	//       "format": "int64",
 27155  	//       "location": "path",
 27156  	//       "required": true,
 27157  	//       "type": "string"
 27158  	//     },
 27159  	//     "renderingIds": {
 27160  	//       "description": "Select only creatives with these rendering IDs.",
 27161  	//       "format": "int64",
 27162  	//       "location": "query",
 27163  	//       "repeated": true,
 27164  	//       "type": "string"
 27165  	//     },
 27166  	//     "searchString": {
 27167  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"creative*2015\" will return objects with names like \"creative June 2015\", \"creative April 2015\", or simply \"creative 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"creative\" will match objects with name \"my creative\", \"creative 2015\", or simply \"creative\".",
 27168  	//       "location": "query",
 27169  	//       "type": "string"
 27170  	//     },
 27171  	//     "sizeIds": {
 27172  	//       "description": "Select only creatives with these size IDs.",
 27173  	//       "format": "int64",
 27174  	//       "location": "query",
 27175  	//       "repeated": true,
 27176  	//       "type": "string"
 27177  	//     },
 27178  	//     "sortField": {
 27179  	//       "default": "ID",
 27180  	//       "description": "Field by which to sort the list.",
 27181  	//       "enum": [
 27182  	//         "ID",
 27183  	//         "NAME"
 27184  	//       ],
 27185  	//       "enumDescriptions": [
 27186  	//         "",
 27187  	//         ""
 27188  	//       ],
 27189  	//       "location": "query",
 27190  	//       "type": "string"
 27191  	//     },
 27192  	//     "sortOrder": {
 27193  	//       "default": "ASCENDING",
 27194  	//       "description": "Order of sorted results.",
 27195  	//       "enum": [
 27196  	//         "ASCENDING",
 27197  	//         "DESCENDING"
 27198  	//       ],
 27199  	//       "enumDescriptions": [
 27200  	//         "",
 27201  	//         ""
 27202  	//       ],
 27203  	//       "location": "query",
 27204  	//       "type": "string"
 27205  	//     },
 27206  	//     "studioCreativeId": {
 27207  	//       "description": "Select only creatives corresponding to this Studio creative ID.",
 27208  	//       "format": "int64",
 27209  	//       "location": "query",
 27210  	//       "type": "string"
 27211  	//     },
 27212  	//     "types": {
 27213  	//       "description": "Select only creatives with these creative types.",
 27214  	//       "enum": [
 27215  	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
 27216  	//         "CUSTOM_DISPLAY",
 27217  	//         "CUSTOM_DISPLAY_INTERSTITIAL",
 27218  	//         "DISPLAY",
 27219  	//         "DISPLAY_IMAGE_GALLERY",
 27220  	//         "DISPLAY_REDIRECT",
 27221  	//         "FLASH_INPAGE",
 27222  	//         "HTML5_BANNER",
 27223  	//         "IMAGE",
 27224  	//         "INSTREAM_VIDEO",
 27225  	//         "INSTREAM_VIDEO_REDIRECT",
 27226  	//         "INTERNAL_REDIRECT",
 27227  	//         "INTERSTITIAL_INTERNAL_REDIRECT",
 27228  	//         "RICH_MEDIA_DISPLAY_BANNER",
 27229  	//         "RICH_MEDIA_DISPLAY_EXPANDING",
 27230  	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
 27231  	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
 27232  	//         "RICH_MEDIA_IM_EXPAND",
 27233  	//         "RICH_MEDIA_INPAGE_FLOATING",
 27234  	//         "RICH_MEDIA_MOBILE_IN_APP",
 27235  	//         "RICH_MEDIA_PEEL_DOWN",
 27236  	//         "TRACKING_TEXT",
 27237  	//         "VPAID_LINEAR_VIDEO",
 27238  	//         "VPAID_NON_LINEAR_VIDEO"
 27239  	//       ],
 27240  	//       "enumDescriptions": [
 27241  	//         "",
 27242  	//         "",
 27243  	//         "",
 27244  	//         "",
 27245  	//         "",
 27246  	//         "",
 27247  	//         "",
 27248  	//         "",
 27249  	//         "",
 27250  	//         "",
 27251  	//         "",
 27252  	//         "",
 27253  	//         "",
 27254  	//         "",
 27255  	//         "",
 27256  	//         "",
 27257  	//         "",
 27258  	//         "",
 27259  	//         "",
 27260  	//         "",
 27261  	//         "",
 27262  	//         "",
 27263  	//         "",
 27264  	//         ""
 27265  	//       ],
 27266  	//       "location": "query",
 27267  	//       "repeated": true,
 27268  	//       "type": "string"
 27269  	//     }
 27270  	//   },
 27271  	//   "path": "userprofiles/{profileId}/creatives",
 27272  	//   "response": {
 27273  	//     "$ref": "CreativesListResponse"
 27274  	//   },
 27275  	//   "scopes": [
 27276  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27277  	//   ]
 27278  	// }
 27279  
 27280  }
 27281  
 27282  // Pages invokes f for each page of results.
 27283  // A non-nil error returned from f will halt the iteration.
 27284  // The provided context supersedes any context provided to the Context method.
 27285  func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
 27286  	c.ctx_ = ctx
 27287  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 27288  	for {
 27289  		x, err := c.Do()
 27290  		if err != nil {
 27291  			return err
 27292  		}
 27293  		if err := f(x); err != nil {
 27294  			return err
 27295  		}
 27296  		if x.NextPageToken == "" {
 27297  			return nil
 27298  		}
 27299  		c.PageToken(x.NextPageToken)
 27300  	}
 27301  }
 27302  
 27303  // method id "dfareporting.creatives.patch":
 27304  
 27305  type CreativesPatchCall struct {
 27306  	s          *Service
 27307  	profileId  int64
 27308  	creative   *Creative
 27309  	urlParams_ gensupport.URLParams
 27310  	ctx_       context.Context
 27311  	header_    http.Header
 27312  }
 27313  
 27314  // Patch: Updates an existing creative. This method supports patch
 27315  // semantics.
 27316  func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
 27317  	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27318  	c.profileId = profileId
 27319  	c.urlParams_.Set("id", fmt.Sprint(id))
 27320  	c.creative = creative
 27321  	return c
 27322  }
 27323  
 27324  // Fields allows partial responses to be retrieved. See
 27325  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27326  // for more information.
 27327  func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
 27328  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27329  	return c
 27330  }
 27331  
 27332  // Context sets the context to be used in this call's Do method. Any
 27333  // pending HTTP request will be aborted if the provided context is
 27334  // canceled.
 27335  func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
 27336  	c.ctx_ = ctx
 27337  	return c
 27338  }
 27339  
 27340  // Header returns an http.Header that can be modified by the caller to
 27341  // add HTTP headers to the request.
 27342  func (c *CreativesPatchCall) Header() http.Header {
 27343  	if c.header_ == nil {
 27344  		c.header_ = make(http.Header)
 27345  	}
 27346  	return c.header_
 27347  }
 27348  
 27349  func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 27350  	reqHeaders := make(http.Header)
 27351  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27352  	for k, v := range c.header_ {
 27353  		reqHeaders[k] = v
 27354  	}
 27355  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27356  	var body io.Reader = nil
 27357  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 27358  	if err != nil {
 27359  		return nil, err
 27360  	}
 27361  	reqHeaders.Set("Content-Type", "application/json")
 27362  	c.urlParams_.Set("alt", alt)
 27363  	c.urlParams_.Set("prettyPrint", "false")
 27364  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 27365  	urls += "?" + c.urlParams_.Encode()
 27366  	req, err := http.NewRequest("PATCH", urls, body)
 27367  	if err != nil {
 27368  		return nil, err
 27369  	}
 27370  	req.Header = reqHeaders
 27371  	googleapi.Expand(req.URL, map[string]string{
 27372  		"profileId": strconv.FormatInt(c.profileId, 10),
 27373  	})
 27374  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27375  }
 27376  
 27377  // Do executes the "dfareporting.creatives.patch" call.
 27378  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 27379  // code is an error. Response headers are in either
 27380  // *Creative.ServerResponse.Header or (if a response was returned at
 27381  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 27382  // to check whether the returned error was because
 27383  // http.StatusNotModified was returned.
 27384  func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 27385  	gensupport.SetOptions(c.urlParams_, opts...)
 27386  	res, err := c.doRequest("json")
 27387  	if res != nil && res.StatusCode == http.StatusNotModified {
 27388  		if res.Body != nil {
 27389  			res.Body.Close()
 27390  		}
 27391  		return nil, &googleapi.Error{
 27392  			Code:   res.StatusCode,
 27393  			Header: res.Header,
 27394  		}
 27395  	}
 27396  	if err != nil {
 27397  		return nil, err
 27398  	}
 27399  	defer googleapi.CloseBody(res)
 27400  	if err := googleapi.CheckResponse(res); err != nil {
 27401  		return nil, err
 27402  	}
 27403  	ret := &Creative{
 27404  		ServerResponse: googleapi.ServerResponse{
 27405  			Header:         res.Header,
 27406  			HTTPStatusCode: res.StatusCode,
 27407  		},
 27408  	}
 27409  	target := &ret
 27410  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27411  		return nil, err
 27412  	}
 27413  	return ret, nil
 27414  	// {
 27415  	//   "description": "Updates an existing creative. This method supports patch semantics.",
 27416  	//   "httpMethod": "PATCH",
 27417  	//   "id": "dfareporting.creatives.patch",
 27418  	//   "parameterOrder": [
 27419  	//     "profileId",
 27420  	//     "id"
 27421  	//   ],
 27422  	//   "parameters": {
 27423  	//     "id": {
 27424  	//       "description": "Creative ID.",
 27425  	//       "format": "int64",
 27426  	//       "location": "query",
 27427  	//       "required": true,
 27428  	//       "type": "string"
 27429  	//     },
 27430  	//     "profileId": {
 27431  	//       "description": "User profile ID associated with this request.",
 27432  	//       "format": "int64",
 27433  	//       "location": "path",
 27434  	//       "required": true,
 27435  	//       "type": "string"
 27436  	//     }
 27437  	//   },
 27438  	//   "path": "userprofiles/{profileId}/creatives",
 27439  	//   "request": {
 27440  	//     "$ref": "Creative"
 27441  	//   },
 27442  	//   "response": {
 27443  	//     "$ref": "Creative"
 27444  	//   },
 27445  	//   "scopes": [
 27446  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27447  	//   ]
 27448  	// }
 27449  
 27450  }
 27451  
 27452  // method id "dfareporting.creatives.update":
 27453  
 27454  type CreativesUpdateCall struct {
 27455  	s          *Service
 27456  	profileId  int64
 27457  	creative   *Creative
 27458  	urlParams_ gensupport.URLParams
 27459  	ctx_       context.Context
 27460  	header_    http.Header
 27461  }
 27462  
 27463  // Update: Updates an existing creative.
 27464  func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
 27465  	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27466  	c.profileId = profileId
 27467  	c.creative = creative
 27468  	return c
 27469  }
 27470  
 27471  // Fields allows partial responses to be retrieved. See
 27472  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27473  // for more information.
 27474  func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
 27475  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27476  	return c
 27477  }
 27478  
 27479  // Context sets the context to be used in this call's Do method. Any
 27480  // pending HTTP request will be aborted if the provided context is
 27481  // canceled.
 27482  func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
 27483  	c.ctx_ = ctx
 27484  	return c
 27485  }
 27486  
 27487  // Header returns an http.Header that can be modified by the caller to
 27488  // add HTTP headers to the request.
 27489  func (c *CreativesUpdateCall) Header() http.Header {
 27490  	if c.header_ == nil {
 27491  		c.header_ = make(http.Header)
 27492  	}
 27493  	return c.header_
 27494  }
 27495  
 27496  func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
 27497  	reqHeaders := make(http.Header)
 27498  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27499  	for k, v := range c.header_ {
 27500  		reqHeaders[k] = v
 27501  	}
 27502  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27503  	var body io.Reader = nil
 27504  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 27505  	if err != nil {
 27506  		return nil, err
 27507  	}
 27508  	reqHeaders.Set("Content-Type", "application/json")
 27509  	c.urlParams_.Set("alt", alt)
 27510  	c.urlParams_.Set("prettyPrint", "false")
 27511  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 27512  	urls += "?" + c.urlParams_.Encode()
 27513  	req, err := http.NewRequest("PUT", urls, body)
 27514  	if err != nil {
 27515  		return nil, err
 27516  	}
 27517  	req.Header = reqHeaders
 27518  	googleapi.Expand(req.URL, map[string]string{
 27519  		"profileId": strconv.FormatInt(c.profileId, 10),
 27520  	})
 27521  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27522  }
 27523  
 27524  // Do executes the "dfareporting.creatives.update" call.
 27525  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 27526  // code is an error. Response headers are in either
 27527  // *Creative.ServerResponse.Header or (if a response was returned at
 27528  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 27529  // to check whether the returned error was because
 27530  // http.StatusNotModified was returned.
 27531  func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 27532  	gensupport.SetOptions(c.urlParams_, opts...)
 27533  	res, err := c.doRequest("json")
 27534  	if res != nil && res.StatusCode == http.StatusNotModified {
 27535  		if res.Body != nil {
 27536  			res.Body.Close()
 27537  		}
 27538  		return nil, &googleapi.Error{
 27539  			Code:   res.StatusCode,
 27540  			Header: res.Header,
 27541  		}
 27542  	}
 27543  	if err != nil {
 27544  		return nil, err
 27545  	}
 27546  	defer googleapi.CloseBody(res)
 27547  	if err := googleapi.CheckResponse(res); err != nil {
 27548  		return nil, err
 27549  	}
 27550  	ret := &Creative{
 27551  		ServerResponse: googleapi.ServerResponse{
 27552  			Header:         res.Header,
 27553  			HTTPStatusCode: res.StatusCode,
 27554  		},
 27555  	}
 27556  	target := &ret
 27557  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27558  		return nil, err
 27559  	}
 27560  	return ret, nil
 27561  	// {
 27562  	//   "description": "Updates an existing creative.",
 27563  	//   "httpMethod": "PUT",
 27564  	//   "id": "dfareporting.creatives.update",
 27565  	//   "parameterOrder": [
 27566  	//     "profileId"
 27567  	//   ],
 27568  	//   "parameters": {
 27569  	//     "profileId": {
 27570  	//       "description": "User profile ID associated with this request.",
 27571  	//       "format": "int64",
 27572  	//       "location": "path",
 27573  	//       "required": true,
 27574  	//       "type": "string"
 27575  	//     }
 27576  	//   },
 27577  	//   "path": "userprofiles/{profileId}/creatives",
 27578  	//   "request": {
 27579  	//     "$ref": "Creative"
 27580  	//   },
 27581  	//   "response": {
 27582  	//     "$ref": "Creative"
 27583  	//   },
 27584  	//   "scopes": [
 27585  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27586  	//   ]
 27587  	// }
 27588  
 27589  }
 27590  
 27591  // method id "dfareporting.dimensionValues.query":
 27592  
 27593  type DimensionValuesQueryCall struct {
 27594  	s                     *Service
 27595  	profileId             int64
 27596  	dimensionvaluerequest *DimensionValueRequest
 27597  	urlParams_            gensupport.URLParams
 27598  	ctx_                  context.Context
 27599  	header_               http.Header
 27600  }
 27601  
 27602  // Query: Retrieves list of report dimension values for a list of
 27603  // filters.
 27604  func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
 27605  	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27606  	c.profileId = profileId
 27607  	c.dimensionvaluerequest = dimensionvaluerequest
 27608  	return c
 27609  }
 27610  
 27611  // MaxResults sets the optional parameter "maxResults": Maximum number
 27612  // of results to return.
 27613  func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
 27614  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 27615  	return c
 27616  }
 27617  
 27618  // PageToken sets the optional parameter "pageToken": The value of the
 27619  // nextToken from the previous result page.
 27620  func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
 27621  	c.urlParams_.Set("pageToken", pageToken)
 27622  	return c
 27623  }
 27624  
 27625  // Fields allows partial responses to be retrieved. See
 27626  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27627  // for more information.
 27628  func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
 27629  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27630  	return c
 27631  }
 27632  
 27633  // Context sets the context to be used in this call's Do method. Any
 27634  // pending HTTP request will be aborted if the provided context is
 27635  // canceled.
 27636  func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 27637  	c.ctx_ = ctx
 27638  	return c
 27639  }
 27640  
 27641  // Header returns an http.Header that can be modified by the caller to
 27642  // add HTTP headers to the request.
 27643  func (c *DimensionValuesQueryCall) Header() http.Header {
 27644  	if c.header_ == nil {
 27645  		c.header_ = make(http.Header)
 27646  	}
 27647  	return c.header_
 27648  }
 27649  
 27650  func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
 27651  	reqHeaders := make(http.Header)
 27652  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27653  	for k, v := range c.header_ {
 27654  		reqHeaders[k] = v
 27655  	}
 27656  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27657  	var body io.Reader = nil
 27658  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
 27659  	if err != nil {
 27660  		return nil, err
 27661  	}
 27662  	reqHeaders.Set("Content-Type", "application/json")
 27663  	c.urlParams_.Set("alt", alt)
 27664  	c.urlParams_.Set("prettyPrint", "false")
 27665  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
 27666  	urls += "?" + c.urlParams_.Encode()
 27667  	req, err := http.NewRequest("POST", urls, body)
 27668  	if err != nil {
 27669  		return nil, err
 27670  	}
 27671  	req.Header = reqHeaders
 27672  	googleapi.Expand(req.URL, map[string]string{
 27673  		"profileId": strconv.FormatInt(c.profileId, 10),
 27674  	})
 27675  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27676  }
 27677  
 27678  // Do executes the "dfareporting.dimensionValues.query" call.
 27679  // Exactly one of *DimensionValueList or error will be non-nil. Any
 27680  // non-2xx status code is an error. Response headers are in either
 27681  // *DimensionValueList.ServerResponse.Header or (if a response was
 27682  // returned at all) in error.(*googleapi.Error).Header. Use
 27683  // googleapi.IsNotModified to check whether the returned error was
 27684  // because http.StatusNotModified was returned.
 27685  func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
 27686  	gensupport.SetOptions(c.urlParams_, opts...)
 27687  	res, err := c.doRequest("json")
 27688  	if res != nil && res.StatusCode == http.StatusNotModified {
 27689  		if res.Body != nil {
 27690  			res.Body.Close()
 27691  		}
 27692  		return nil, &googleapi.Error{
 27693  			Code:   res.StatusCode,
 27694  			Header: res.Header,
 27695  		}
 27696  	}
 27697  	if err != nil {
 27698  		return nil, err
 27699  	}
 27700  	defer googleapi.CloseBody(res)
 27701  	if err := googleapi.CheckResponse(res); err != nil {
 27702  		return nil, err
 27703  	}
 27704  	ret := &DimensionValueList{
 27705  		ServerResponse: googleapi.ServerResponse{
 27706  			Header:         res.Header,
 27707  			HTTPStatusCode: res.StatusCode,
 27708  		},
 27709  	}
 27710  	target := &ret
 27711  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27712  		return nil, err
 27713  	}
 27714  	return ret, nil
 27715  	// {
 27716  	//   "description": "Retrieves list of report dimension values for a list of filters.",
 27717  	//   "httpMethod": "POST",
 27718  	//   "id": "dfareporting.dimensionValues.query",
 27719  	//   "parameterOrder": [
 27720  	//     "profileId"
 27721  	//   ],
 27722  	//   "parameters": {
 27723  	//     "maxResults": {
 27724  	//       "default": "100",
 27725  	//       "description": "Maximum number of results to return.",
 27726  	//       "format": "int32",
 27727  	//       "location": "query",
 27728  	//       "maximum": "100",
 27729  	//       "minimum": "0",
 27730  	//       "type": "integer"
 27731  	//     },
 27732  	//     "pageToken": {
 27733  	//       "description": "The value of the nextToken from the previous result page.",
 27734  	//       "location": "query",
 27735  	//       "type": "string"
 27736  	//     },
 27737  	//     "profileId": {
 27738  	//       "description": "The DFA user profile ID.",
 27739  	//       "format": "int64",
 27740  	//       "location": "path",
 27741  	//       "required": true,
 27742  	//       "type": "string"
 27743  	//     }
 27744  	//   },
 27745  	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
 27746  	//   "request": {
 27747  	//     "$ref": "DimensionValueRequest"
 27748  	//   },
 27749  	//   "response": {
 27750  	//     "$ref": "DimensionValueList"
 27751  	//   },
 27752  	//   "scopes": [
 27753  	//     "https://www.googleapis.com/auth/dfareporting"
 27754  	//   ]
 27755  	// }
 27756  
 27757  }
 27758  
 27759  // Pages invokes f for each page of results.
 27760  // A non-nil error returned from f will halt the iteration.
 27761  // The provided context supersedes any context provided to the Context method.
 27762  func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
 27763  	c.ctx_ = ctx
 27764  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 27765  	for {
 27766  		x, err := c.Do()
 27767  		if err != nil {
 27768  			return err
 27769  		}
 27770  		if err := f(x); err != nil {
 27771  			return err
 27772  		}
 27773  		if x.NextPageToken == "" {
 27774  			return nil
 27775  		}
 27776  		c.PageToken(x.NextPageToken)
 27777  	}
 27778  }
 27779  
 27780  // method id "dfareporting.directorySiteContacts.get":
 27781  
 27782  type DirectorySiteContactsGetCall struct {
 27783  	s            *Service
 27784  	profileId    int64
 27785  	id           int64
 27786  	urlParams_   gensupport.URLParams
 27787  	ifNoneMatch_ string
 27788  	ctx_         context.Context
 27789  	header_      http.Header
 27790  }
 27791  
 27792  // Get: Gets one directory site contact by ID.
 27793  func (r *DirectorySiteContactsService) Get(profileId int64, id int64) *DirectorySiteContactsGetCall {
 27794  	c := &DirectorySiteContactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27795  	c.profileId = profileId
 27796  	c.id = id
 27797  	return c
 27798  }
 27799  
 27800  // Fields allows partial responses to be retrieved. See
 27801  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27802  // for more information.
 27803  func (c *DirectorySiteContactsGetCall) Fields(s ...googleapi.Field) *DirectorySiteContactsGetCall {
 27804  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27805  	return c
 27806  }
 27807  
 27808  // IfNoneMatch sets the optional parameter which makes the operation
 27809  // fail if the object's ETag matches the given value. This is useful for
 27810  // getting updates only after the object has changed since the last
 27811  // request. Use googleapi.IsNotModified to check whether the response
 27812  // error from Do is the result of In-None-Match.
 27813  func (c *DirectorySiteContactsGetCall) IfNoneMatch(entityTag string) *DirectorySiteContactsGetCall {
 27814  	c.ifNoneMatch_ = entityTag
 27815  	return c
 27816  }
 27817  
 27818  // Context sets the context to be used in this call's Do method. Any
 27819  // pending HTTP request will be aborted if the provided context is
 27820  // canceled.
 27821  func (c *DirectorySiteContactsGetCall) Context(ctx context.Context) *DirectorySiteContactsGetCall {
 27822  	c.ctx_ = ctx
 27823  	return c
 27824  }
 27825  
 27826  // Header returns an http.Header that can be modified by the caller to
 27827  // add HTTP headers to the request.
 27828  func (c *DirectorySiteContactsGetCall) Header() http.Header {
 27829  	if c.header_ == nil {
 27830  		c.header_ = make(http.Header)
 27831  	}
 27832  	return c.header_
 27833  }
 27834  
 27835  func (c *DirectorySiteContactsGetCall) doRequest(alt string) (*http.Response, error) {
 27836  	reqHeaders := make(http.Header)
 27837  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27838  	for k, v := range c.header_ {
 27839  		reqHeaders[k] = v
 27840  	}
 27841  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27842  	if c.ifNoneMatch_ != "" {
 27843  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27844  	}
 27845  	var body io.Reader = nil
 27846  	c.urlParams_.Set("alt", alt)
 27847  	c.urlParams_.Set("prettyPrint", "false")
 27848  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts/{id}")
 27849  	urls += "?" + c.urlParams_.Encode()
 27850  	req, err := http.NewRequest("GET", urls, body)
 27851  	if err != nil {
 27852  		return nil, err
 27853  	}
 27854  	req.Header = reqHeaders
 27855  	googleapi.Expand(req.URL, map[string]string{
 27856  		"profileId": strconv.FormatInt(c.profileId, 10),
 27857  		"id":        strconv.FormatInt(c.id, 10),
 27858  	})
 27859  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27860  }
 27861  
 27862  // Do executes the "dfareporting.directorySiteContacts.get" call.
 27863  // Exactly one of *DirectorySiteContact or error will be non-nil. Any
 27864  // non-2xx status code is an error. Response headers are in either
 27865  // *DirectorySiteContact.ServerResponse.Header or (if a response was
 27866  // returned at all) in error.(*googleapi.Error).Header. Use
 27867  // googleapi.IsNotModified to check whether the returned error was
 27868  // because http.StatusNotModified was returned.
 27869  func (c *DirectorySiteContactsGetCall) Do(opts ...googleapi.CallOption) (*DirectorySiteContact, error) {
 27870  	gensupport.SetOptions(c.urlParams_, opts...)
 27871  	res, err := c.doRequest("json")
 27872  	if res != nil && res.StatusCode == http.StatusNotModified {
 27873  		if res.Body != nil {
 27874  			res.Body.Close()
 27875  		}
 27876  		return nil, &googleapi.Error{
 27877  			Code:   res.StatusCode,
 27878  			Header: res.Header,
 27879  		}
 27880  	}
 27881  	if err != nil {
 27882  		return nil, err
 27883  	}
 27884  	defer googleapi.CloseBody(res)
 27885  	if err := googleapi.CheckResponse(res); err != nil {
 27886  		return nil, err
 27887  	}
 27888  	ret := &DirectorySiteContact{
 27889  		ServerResponse: googleapi.ServerResponse{
 27890  			Header:         res.Header,
 27891  			HTTPStatusCode: res.StatusCode,
 27892  		},
 27893  	}
 27894  	target := &ret
 27895  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27896  		return nil, err
 27897  	}
 27898  	return ret, nil
 27899  	// {
 27900  	//   "description": "Gets one directory site contact by ID.",
 27901  	//   "httpMethod": "GET",
 27902  	//   "id": "dfareporting.directorySiteContacts.get",
 27903  	//   "parameterOrder": [
 27904  	//     "profileId",
 27905  	//     "id"
 27906  	//   ],
 27907  	//   "parameters": {
 27908  	//     "id": {
 27909  	//       "description": "Directory site contact ID.",
 27910  	//       "format": "int64",
 27911  	//       "location": "path",
 27912  	//       "required": true,
 27913  	//       "type": "string"
 27914  	//     },
 27915  	//     "profileId": {
 27916  	//       "description": "User profile ID associated with this request.",
 27917  	//       "format": "int64",
 27918  	//       "location": "path",
 27919  	//       "required": true,
 27920  	//       "type": "string"
 27921  	//     }
 27922  	//   },
 27923  	//   "path": "userprofiles/{profileId}/directorySiteContacts/{id}",
 27924  	//   "response": {
 27925  	//     "$ref": "DirectorySiteContact"
 27926  	//   },
 27927  	//   "scopes": [
 27928  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27929  	//   ]
 27930  	// }
 27931  
 27932  }
 27933  
 27934  // method id "dfareporting.directorySiteContacts.list":
 27935  
 27936  type DirectorySiteContactsListCall struct {
 27937  	s            *Service
 27938  	profileId    int64
 27939  	urlParams_   gensupport.URLParams
 27940  	ifNoneMatch_ string
 27941  	ctx_         context.Context
 27942  	header_      http.Header
 27943  }
 27944  
 27945  // List: Retrieves a list of directory site contacts, possibly filtered.
 27946  // This method supports paging.
 27947  func (r *DirectorySiteContactsService) List(profileId int64) *DirectorySiteContactsListCall {
 27948  	c := &DirectorySiteContactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27949  	c.profileId = profileId
 27950  	return c
 27951  }
 27952  
 27953  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 27954  // Select only directory site contacts with these directory site IDs.
 27955  // This is a required field.
 27956  func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds ...int64) *DirectorySiteContactsListCall {
 27957  	var directorySiteIds_ []string
 27958  	for _, v := range directorySiteIds {
 27959  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 27960  	}
 27961  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 27962  	return c
 27963  }
 27964  
 27965  // Ids sets the optional parameter "ids": Select only directory site
 27966  // contacts with these IDs.
 27967  func (c *DirectorySiteContactsListCall) Ids(ids ...int64) *DirectorySiteContactsListCall {
 27968  	var ids_ []string
 27969  	for _, v := range ids {
 27970  		ids_ = append(ids_, fmt.Sprint(v))
 27971  	}
 27972  	c.urlParams_.SetMulti("ids", ids_)
 27973  	return c
 27974  }
 27975  
 27976  // MaxResults sets the optional parameter "maxResults": Maximum number
 27977  // of results to return.
 27978  func (c *DirectorySiteContactsListCall) MaxResults(maxResults int64) *DirectorySiteContactsListCall {
 27979  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 27980  	return c
 27981  }
 27982  
 27983  // PageToken sets the optional parameter "pageToken": Value of the
 27984  // nextPageToken from the previous result page.
 27985  func (c *DirectorySiteContactsListCall) PageToken(pageToken string) *DirectorySiteContactsListCall {
 27986  	c.urlParams_.Set("pageToken", pageToken)
 27987  	return c
 27988  }
 27989  
 27990  // SearchString sets the optional parameter "searchString": Allows
 27991  // searching for objects by name, ID or email. Wildcards (*) are
 27992  // allowed. For example, "directory site contact*2015" will return
 27993  // objects with names like "directory site contact June 2015",
 27994  // "directory site contact April 2015", or simply "directory site
 27995  // contact 2015". Most of the searches also add wildcards implicitly at
 27996  // the start and the end of the search string. For example, a search
 27997  // string of "directory site contact" will match objects with name "my
 27998  // directory site contact", "directory site contact 2015", or simply
 27999  // "directory site contact".
 28000  func (c *DirectorySiteContactsListCall) SearchString(searchString string) *DirectorySiteContactsListCall {
 28001  	c.urlParams_.Set("searchString", searchString)
 28002  	return c
 28003  }
 28004  
 28005  // SortField sets the optional parameter "sortField": Field by which to
 28006  // sort the list.
 28007  //
 28008  // Possible values:
 28009  //
 28010  //	"ID" (default)
 28011  //	"NAME"
 28012  func (c *DirectorySiteContactsListCall) SortField(sortField string) *DirectorySiteContactsListCall {
 28013  	c.urlParams_.Set("sortField", sortField)
 28014  	return c
 28015  }
 28016  
 28017  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 28018  // results.
 28019  //
 28020  // Possible values:
 28021  //
 28022  //	"ASCENDING" (default)
 28023  //	"DESCENDING"
 28024  func (c *DirectorySiteContactsListCall) SortOrder(sortOrder string) *DirectorySiteContactsListCall {
 28025  	c.urlParams_.Set("sortOrder", sortOrder)
 28026  	return c
 28027  }
 28028  
 28029  // Fields allows partial responses to be retrieved. See
 28030  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28031  // for more information.
 28032  func (c *DirectorySiteContactsListCall) Fields(s ...googleapi.Field) *DirectorySiteContactsListCall {
 28033  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28034  	return c
 28035  }
 28036  
 28037  // IfNoneMatch sets the optional parameter which makes the operation
 28038  // fail if the object's ETag matches the given value. This is useful for
 28039  // getting updates only after the object has changed since the last
 28040  // request. Use googleapi.IsNotModified to check whether the response
 28041  // error from Do is the result of In-None-Match.
 28042  func (c *DirectorySiteContactsListCall) IfNoneMatch(entityTag string) *DirectorySiteContactsListCall {
 28043  	c.ifNoneMatch_ = entityTag
 28044  	return c
 28045  }
 28046  
 28047  // Context sets the context to be used in this call's Do method. Any
 28048  // pending HTTP request will be aborted if the provided context is
 28049  // canceled.
 28050  func (c *DirectorySiteContactsListCall) Context(ctx context.Context) *DirectorySiteContactsListCall {
 28051  	c.ctx_ = ctx
 28052  	return c
 28053  }
 28054  
 28055  // Header returns an http.Header that can be modified by the caller to
 28056  // add HTTP headers to the request.
 28057  func (c *DirectorySiteContactsListCall) Header() http.Header {
 28058  	if c.header_ == nil {
 28059  		c.header_ = make(http.Header)
 28060  	}
 28061  	return c.header_
 28062  }
 28063  
 28064  func (c *DirectorySiteContactsListCall) doRequest(alt string) (*http.Response, error) {
 28065  	reqHeaders := make(http.Header)
 28066  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28067  	for k, v := range c.header_ {
 28068  		reqHeaders[k] = v
 28069  	}
 28070  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28071  	if c.ifNoneMatch_ != "" {
 28072  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28073  	}
 28074  	var body io.Reader = nil
 28075  	c.urlParams_.Set("alt", alt)
 28076  	c.urlParams_.Set("prettyPrint", "false")
 28077  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts")
 28078  	urls += "?" + c.urlParams_.Encode()
 28079  	req, err := http.NewRequest("GET", urls, body)
 28080  	if err != nil {
 28081  		return nil, err
 28082  	}
 28083  	req.Header = reqHeaders
 28084  	googleapi.Expand(req.URL, map[string]string{
 28085  		"profileId": strconv.FormatInt(c.profileId, 10),
 28086  	})
 28087  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28088  }
 28089  
 28090  // Do executes the "dfareporting.directorySiteContacts.list" call.
 28091  // Exactly one of *DirectorySiteContactsListResponse or error will be
 28092  // non-nil. Any non-2xx status code is an error. Response headers are in
 28093  // either *DirectorySiteContactsListResponse.ServerResponse.Header or
 28094  // (if a response was returned at all) in
 28095  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 28096  // whether the returned error was because http.StatusNotModified was
 28097  // returned.
 28098  func (c *DirectorySiteContactsListCall) Do(opts ...googleapi.CallOption) (*DirectorySiteContactsListResponse, error) {
 28099  	gensupport.SetOptions(c.urlParams_, opts...)
 28100  	res, err := c.doRequest("json")
 28101  	if res != nil && res.StatusCode == http.StatusNotModified {
 28102  		if res.Body != nil {
 28103  			res.Body.Close()
 28104  		}
 28105  		return nil, &googleapi.Error{
 28106  			Code:   res.StatusCode,
 28107  			Header: res.Header,
 28108  		}
 28109  	}
 28110  	if err != nil {
 28111  		return nil, err
 28112  	}
 28113  	defer googleapi.CloseBody(res)
 28114  	if err := googleapi.CheckResponse(res); err != nil {
 28115  		return nil, err
 28116  	}
 28117  	ret := &DirectorySiteContactsListResponse{
 28118  		ServerResponse: googleapi.ServerResponse{
 28119  			Header:         res.Header,
 28120  			HTTPStatusCode: res.StatusCode,
 28121  		},
 28122  	}
 28123  	target := &ret
 28124  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28125  		return nil, err
 28126  	}
 28127  	return ret, nil
 28128  	// {
 28129  	//   "description": "Retrieves a list of directory site contacts, possibly filtered. This method supports paging.",
 28130  	//   "httpMethod": "GET",
 28131  	//   "id": "dfareporting.directorySiteContacts.list",
 28132  	//   "parameterOrder": [
 28133  	//     "profileId"
 28134  	//   ],
 28135  	//   "parameters": {
 28136  	//     "directorySiteIds": {
 28137  	//       "description": "Select only directory site contacts with these directory site IDs. This is a required field.",
 28138  	//       "format": "int64",
 28139  	//       "location": "query",
 28140  	//       "repeated": true,
 28141  	//       "type": "string"
 28142  	//     },
 28143  	//     "ids": {
 28144  	//       "description": "Select only directory site contacts with these IDs.",
 28145  	//       "format": "int64",
 28146  	//       "location": "query",
 28147  	//       "repeated": true,
 28148  	//       "type": "string"
 28149  	//     },
 28150  	//     "maxResults": {
 28151  	//       "default": "1000",
 28152  	//       "description": "Maximum number of results to return.",
 28153  	//       "format": "int32",
 28154  	//       "location": "query",
 28155  	//       "maximum": "1000",
 28156  	//       "minimum": "0",
 28157  	//       "type": "integer"
 28158  	//     },
 28159  	//     "pageToken": {
 28160  	//       "description": "Value of the nextPageToken from the previous result page.",
 28161  	//       "location": "query",
 28162  	//       "type": "string"
 28163  	//     },
 28164  	//     "profileId": {
 28165  	//       "description": "User profile ID associated with this request.",
 28166  	//       "format": "int64",
 28167  	//       "location": "path",
 28168  	//       "required": true,
 28169  	//       "type": "string"
 28170  	//     },
 28171  	//     "searchString": {
 28172  	//       "description": "Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, \"directory site contact*2015\" will return objects with names like \"directory site contact June 2015\", \"directory site contact April 2015\", or simply \"directory site contact 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"directory site contact\" will match objects with name \"my directory site contact\", \"directory site contact 2015\", or simply \"directory site contact\".",
 28173  	//       "location": "query",
 28174  	//       "type": "string"
 28175  	//     },
 28176  	//     "sortField": {
 28177  	//       "default": "ID",
 28178  	//       "description": "Field by which to sort the list.",
 28179  	//       "enum": [
 28180  	//         "ID",
 28181  	//         "NAME"
 28182  	//       ],
 28183  	//       "enumDescriptions": [
 28184  	//         "",
 28185  	//         ""
 28186  	//       ],
 28187  	//       "location": "query",
 28188  	//       "type": "string"
 28189  	//     },
 28190  	//     "sortOrder": {
 28191  	//       "default": "ASCENDING",
 28192  	//       "description": "Order of sorted results.",
 28193  	//       "enum": [
 28194  	//         "ASCENDING",
 28195  	//         "DESCENDING"
 28196  	//       ],
 28197  	//       "enumDescriptions": [
 28198  	//         "",
 28199  	//         ""
 28200  	//       ],
 28201  	//       "location": "query",
 28202  	//       "type": "string"
 28203  	//     }
 28204  	//   },
 28205  	//   "path": "userprofiles/{profileId}/directorySiteContacts",
 28206  	//   "response": {
 28207  	//     "$ref": "DirectorySiteContactsListResponse"
 28208  	//   },
 28209  	//   "scopes": [
 28210  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28211  	//   ]
 28212  	// }
 28213  
 28214  }
 28215  
 28216  // Pages invokes f for each page of results.
 28217  // A non-nil error returned from f will halt the iteration.
 28218  // The provided context supersedes any context provided to the Context method.
 28219  func (c *DirectorySiteContactsListCall) Pages(ctx context.Context, f func(*DirectorySiteContactsListResponse) error) error {
 28220  	c.ctx_ = ctx
 28221  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 28222  	for {
 28223  		x, err := c.Do()
 28224  		if err != nil {
 28225  			return err
 28226  		}
 28227  		if err := f(x); err != nil {
 28228  			return err
 28229  		}
 28230  		if x.NextPageToken == "" {
 28231  			return nil
 28232  		}
 28233  		c.PageToken(x.NextPageToken)
 28234  	}
 28235  }
 28236  
 28237  // method id "dfareporting.directorySites.get":
 28238  
 28239  type DirectorySitesGetCall struct {
 28240  	s            *Service
 28241  	profileId    int64
 28242  	id           int64
 28243  	urlParams_   gensupport.URLParams
 28244  	ifNoneMatch_ string
 28245  	ctx_         context.Context
 28246  	header_      http.Header
 28247  }
 28248  
 28249  // Get: Gets one directory site by ID.
 28250  func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
 28251  	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28252  	c.profileId = profileId
 28253  	c.id = id
 28254  	return c
 28255  }
 28256  
 28257  // Fields allows partial responses to be retrieved. See
 28258  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28259  // for more information.
 28260  func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
 28261  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28262  	return c
 28263  }
 28264  
 28265  // IfNoneMatch sets the optional parameter which makes the operation
 28266  // fail if the object's ETag matches the given value. This is useful for
 28267  // getting updates only after the object has changed since the last
 28268  // request. Use googleapi.IsNotModified to check whether the response
 28269  // error from Do is the result of In-None-Match.
 28270  func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
 28271  	c.ifNoneMatch_ = entityTag
 28272  	return c
 28273  }
 28274  
 28275  // Context sets the context to be used in this call's Do method. Any
 28276  // pending HTTP request will be aborted if the provided context is
 28277  // canceled.
 28278  func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
 28279  	c.ctx_ = ctx
 28280  	return c
 28281  }
 28282  
 28283  // Header returns an http.Header that can be modified by the caller to
 28284  // add HTTP headers to the request.
 28285  func (c *DirectorySitesGetCall) Header() http.Header {
 28286  	if c.header_ == nil {
 28287  		c.header_ = make(http.Header)
 28288  	}
 28289  	return c.header_
 28290  }
 28291  
 28292  func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 28293  	reqHeaders := make(http.Header)
 28294  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28295  	for k, v := range c.header_ {
 28296  		reqHeaders[k] = v
 28297  	}
 28298  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28299  	if c.ifNoneMatch_ != "" {
 28300  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28301  	}
 28302  	var body io.Reader = nil
 28303  	c.urlParams_.Set("alt", alt)
 28304  	c.urlParams_.Set("prettyPrint", "false")
 28305  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
 28306  	urls += "?" + c.urlParams_.Encode()
 28307  	req, err := http.NewRequest("GET", urls, body)
 28308  	if err != nil {
 28309  		return nil, err
 28310  	}
 28311  	req.Header = reqHeaders
 28312  	googleapi.Expand(req.URL, map[string]string{
 28313  		"profileId": strconv.FormatInt(c.profileId, 10),
 28314  		"id":        strconv.FormatInt(c.id, 10),
 28315  	})
 28316  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28317  }
 28318  
 28319  // Do executes the "dfareporting.directorySites.get" call.
 28320  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 28321  // status code is an error. Response headers are in either
 28322  // *DirectorySite.ServerResponse.Header or (if a response was returned
 28323  // at all) in error.(*googleapi.Error).Header. Use
 28324  // googleapi.IsNotModified to check whether the returned error was
 28325  // because http.StatusNotModified was returned.
 28326  func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 28327  	gensupport.SetOptions(c.urlParams_, opts...)
 28328  	res, err := c.doRequest("json")
 28329  	if res != nil && res.StatusCode == http.StatusNotModified {
 28330  		if res.Body != nil {
 28331  			res.Body.Close()
 28332  		}
 28333  		return nil, &googleapi.Error{
 28334  			Code:   res.StatusCode,
 28335  			Header: res.Header,
 28336  		}
 28337  	}
 28338  	if err != nil {
 28339  		return nil, err
 28340  	}
 28341  	defer googleapi.CloseBody(res)
 28342  	if err := googleapi.CheckResponse(res); err != nil {
 28343  		return nil, err
 28344  	}
 28345  	ret := &DirectorySite{
 28346  		ServerResponse: googleapi.ServerResponse{
 28347  			Header:         res.Header,
 28348  			HTTPStatusCode: res.StatusCode,
 28349  		},
 28350  	}
 28351  	target := &ret
 28352  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28353  		return nil, err
 28354  	}
 28355  	return ret, nil
 28356  	// {
 28357  	//   "description": "Gets one directory site by ID.",
 28358  	//   "httpMethod": "GET",
 28359  	//   "id": "dfareporting.directorySites.get",
 28360  	//   "parameterOrder": [
 28361  	//     "profileId",
 28362  	//     "id"
 28363  	//   ],
 28364  	//   "parameters": {
 28365  	//     "id": {
 28366  	//       "description": "Directory site ID.",
 28367  	//       "format": "int64",
 28368  	//       "location": "path",
 28369  	//       "required": true,
 28370  	//       "type": "string"
 28371  	//     },
 28372  	//     "profileId": {
 28373  	//       "description": "User profile ID associated with this request.",
 28374  	//       "format": "int64",
 28375  	//       "location": "path",
 28376  	//       "required": true,
 28377  	//       "type": "string"
 28378  	//     }
 28379  	//   },
 28380  	//   "path": "userprofiles/{profileId}/directorySites/{id}",
 28381  	//   "response": {
 28382  	//     "$ref": "DirectorySite"
 28383  	//   },
 28384  	//   "scopes": [
 28385  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28386  	//   ]
 28387  	// }
 28388  
 28389  }
 28390  
 28391  // method id "dfareporting.directorySites.insert":
 28392  
 28393  type DirectorySitesInsertCall struct {
 28394  	s             *Service
 28395  	profileId     int64
 28396  	directorysite *DirectorySite
 28397  	urlParams_    gensupport.URLParams
 28398  	ctx_          context.Context
 28399  	header_       http.Header
 28400  }
 28401  
 28402  // Insert: Inserts a new directory site.
 28403  func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
 28404  	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28405  	c.profileId = profileId
 28406  	c.directorysite = directorysite
 28407  	return c
 28408  }
 28409  
 28410  // Fields allows partial responses to be retrieved. See
 28411  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28412  // for more information.
 28413  func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
 28414  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28415  	return c
 28416  }
 28417  
 28418  // Context sets the context to be used in this call's Do method. Any
 28419  // pending HTTP request will be aborted if the provided context is
 28420  // canceled.
 28421  func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
 28422  	c.ctx_ = ctx
 28423  	return c
 28424  }
 28425  
 28426  // Header returns an http.Header that can be modified by the caller to
 28427  // add HTTP headers to the request.
 28428  func (c *DirectorySitesInsertCall) Header() http.Header {
 28429  	if c.header_ == nil {
 28430  		c.header_ = make(http.Header)
 28431  	}
 28432  	return c.header_
 28433  }
 28434  
 28435  func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
 28436  	reqHeaders := make(http.Header)
 28437  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28438  	for k, v := range c.header_ {
 28439  		reqHeaders[k] = v
 28440  	}
 28441  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28442  	var body io.Reader = nil
 28443  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
 28444  	if err != nil {
 28445  		return nil, err
 28446  	}
 28447  	reqHeaders.Set("Content-Type", "application/json")
 28448  	c.urlParams_.Set("alt", alt)
 28449  	c.urlParams_.Set("prettyPrint", "false")
 28450  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 28451  	urls += "?" + c.urlParams_.Encode()
 28452  	req, err := http.NewRequest("POST", urls, body)
 28453  	if err != nil {
 28454  		return nil, err
 28455  	}
 28456  	req.Header = reqHeaders
 28457  	googleapi.Expand(req.URL, map[string]string{
 28458  		"profileId": strconv.FormatInt(c.profileId, 10),
 28459  	})
 28460  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28461  }
 28462  
 28463  // Do executes the "dfareporting.directorySites.insert" call.
 28464  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 28465  // status code is an error. Response headers are in either
 28466  // *DirectorySite.ServerResponse.Header or (if a response was returned
 28467  // at all) in error.(*googleapi.Error).Header. Use
 28468  // googleapi.IsNotModified to check whether the returned error was
 28469  // because http.StatusNotModified was returned.
 28470  func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 28471  	gensupport.SetOptions(c.urlParams_, opts...)
 28472  	res, err := c.doRequest("json")
 28473  	if res != nil && res.StatusCode == http.StatusNotModified {
 28474  		if res.Body != nil {
 28475  			res.Body.Close()
 28476  		}
 28477  		return nil, &googleapi.Error{
 28478  			Code:   res.StatusCode,
 28479  			Header: res.Header,
 28480  		}
 28481  	}
 28482  	if err != nil {
 28483  		return nil, err
 28484  	}
 28485  	defer googleapi.CloseBody(res)
 28486  	if err := googleapi.CheckResponse(res); err != nil {
 28487  		return nil, err
 28488  	}
 28489  	ret := &DirectorySite{
 28490  		ServerResponse: googleapi.ServerResponse{
 28491  			Header:         res.Header,
 28492  			HTTPStatusCode: res.StatusCode,
 28493  		},
 28494  	}
 28495  	target := &ret
 28496  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28497  		return nil, err
 28498  	}
 28499  	return ret, nil
 28500  	// {
 28501  	//   "description": "Inserts a new directory site.",
 28502  	//   "httpMethod": "POST",
 28503  	//   "id": "dfareporting.directorySites.insert",
 28504  	//   "parameterOrder": [
 28505  	//     "profileId"
 28506  	//   ],
 28507  	//   "parameters": {
 28508  	//     "profileId": {
 28509  	//       "description": "User profile ID associated with this request.",
 28510  	//       "format": "int64",
 28511  	//       "location": "path",
 28512  	//       "required": true,
 28513  	//       "type": "string"
 28514  	//     }
 28515  	//   },
 28516  	//   "path": "userprofiles/{profileId}/directorySites",
 28517  	//   "request": {
 28518  	//     "$ref": "DirectorySite"
 28519  	//   },
 28520  	//   "response": {
 28521  	//     "$ref": "DirectorySite"
 28522  	//   },
 28523  	//   "scopes": [
 28524  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28525  	//   ]
 28526  	// }
 28527  
 28528  }
 28529  
 28530  // method id "dfareporting.directorySites.list":
 28531  
 28532  type DirectorySitesListCall struct {
 28533  	s            *Service
 28534  	profileId    int64
 28535  	urlParams_   gensupport.URLParams
 28536  	ifNoneMatch_ string
 28537  	ctx_         context.Context
 28538  	header_      http.Header
 28539  }
 28540  
 28541  // List: Retrieves a list of directory sites, possibly filtered. This
 28542  // method supports paging.
 28543  func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
 28544  	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28545  	c.profileId = profileId
 28546  	return c
 28547  }
 28548  
 28549  // AcceptsInStreamVideoPlacements sets the optional parameter
 28550  // "acceptsInStreamVideoPlacements": This search filter is no longer
 28551  // supported and will have no effect on the results returned.
 28552  func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
 28553  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 28554  	return c
 28555  }
 28556  
 28557  // AcceptsInterstitialPlacements sets the optional parameter
 28558  // "acceptsInterstitialPlacements": This search filter is no longer
 28559  // supported and will have no effect on the results returned.
 28560  func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
 28561  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 28562  	return c
 28563  }
 28564  
 28565  // AcceptsPublisherPaidPlacements sets the optional parameter
 28566  // "acceptsPublisherPaidPlacements": Select only directory sites that
 28567  // accept publisher paid placements. This field can be left blank.
 28568  func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
 28569  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 28570  	return c
 28571  }
 28572  
 28573  // Active sets the optional parameter "active": Select only active
 28574  // directory sites. Leave blank to retrieve both active and inactive
 28575  // directory sites.
 28576  func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
 28577  	c.urlParams_.Set("active", fmt.Sprint(active))
 28578  	return c
 28579  }
 28580  
 28581  // CountryId sets the optional parameter "countryId": Select only
 28582  // directory sites with this country ID.
 28583  func (c *DirectorySitesListCall) CountryId(countryId int64) *DirectorySitesListCall {
 28584  	c.urlParams_.Set("countryId", fmt.Sprint(countryId))
 28585  	return c
 28586  }
 28587  
 28588  // DfpNetworkCode sets the optional parameter "dfp_network_code": Select
 28589  // only directory sites with this DFP network code.
 28590  func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
 28591  	c.urlParams_.Set("dfp_network_code", dfpNetworkCode)
 28592  	return c
 28593  }
 28594  
 28595  // Ids sets the optional parameter "ids": Select only directory sites
 28596  // with these IDs.
 28597  func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
 28598  	var ids_ []string
 28599  	for _, v := range ids {
 28600  		ids_ = append(ids_, fmt.Sprint(v))
 28601  	}
 28602  	c.urlParams_.SetMulti("ids", ids_)
 28603  	return c
 28604  }
 28605  
 28606  // MaxResults sets the optional parameter "maxResults": Maximum number
 28607  // of results to return.
 28608  func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
 28609  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 28610  	return c
 28611  }
 28612  
 28613  // PageToken sets the optional parameter "pageToken": Value of the
 28614  // nextPageToken from the previous result page.
 28615  func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
 28616  	c.urlParams_.Set("pageToken", pageToken)
 28617  	return c
 28618  }
 28619  
 28620  // ParentId sets the optional parameter "parentId": Select only
 28621  // directory sites with this parent ID.
 28622  func (c *DirectorySitesListCall) ParentId(parentId int64) *DirectorySitesListCall {
 28623  	c.urlParams_.Set("parentId", fmt.Sprint(parentId))
 28624  	return c
 28625  }
 28626  
 28627  // SearchString sets the optional parameter "searchString": Allows
 28628  // searching for objects by name, ID or URL. Wildcards (*) are allowed.
 28629  // For example, "directory site*2015" will return objects with names
 28630  // like "directory site June 2015", "directory site April 2015", or
 28631  // simply "directory site 2015". Most of the searches also add wildcards
 28632  // implicitly at the start and the end of the search string. For
 28633  // example, a search string of "directory site" will match objects with
 28634  // name "my directory site", "directory site 2015" or simply, "directory
 28635  // site".
 28636  func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
 28637  	c.urlParams_.Set("searchString", searchString)
 28638  	return c
 28639  }
 28640  
 28641  // SortField sets the optional parameter "sortField": Field by which to
 28642  // sort the list.
 28643  //
 28644  // Possible values:
 28645  //
 28646  //	"ID" (default)
 28647  //	"NAME"
 28648  func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
 28649  	c.urlParams_.Set("sortField", sortField)
 28650  	return c
 28651  }
 28652  
 28653  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 28654  // results.
 28655  //
 28656  // Possible values:
 28657  //
 28658  //	"ASCENDING" (default)
 28659  //	"DESCENDING"
 28660  func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
 28661  	c.urlParams_.Set("sortOrder", sortOrder)
 28662  	return c
 28663  }
 28664  
 28665  // Fields allows partial responses to be retrieved. See
 28666  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28667  // for more information.
 28668  func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
 28669  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28670  	return c
 28671  }
 28672  
 28673  // IfNoneMatch sets the optional parameter which makes the operation
 28674  // fail if the object's ETag matches the given value. This is useful for
 28675  // getting updates only after the object has changed since the last
 28676  // request. Use googleapi.IsNotModified to check whether the response
 28677  // error from Do is the result of In-None-Match.
 28678  func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
 28679  	c.ifNoneMatch_ = entityTag
 28680  	return c
 28681  }
 28682  
 28683  // Context sets the context to be used in this call's Do method. Any
 28684  // pending HTTP request will be aborted if the provided context is
 28685  // canceled.
 28686  func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
 28687  	c.ctx_ = ctx
 28688  	return c
 28689  }
 28690  
 28691  // Header returns an http.Header that can be modified by the caller to
 28692  // add HTTP headers to the request.
 28693  func (c *DirectorySitesListCall) Header() http.Header {
 28694  	if c.header_ == nil {
 28695  		c.header_ = make(http.Header)
 28696  	}
 28697  	return c.header_
 28698  }
 28699  
 28700  func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 28701  	reqHeaders := make(http.Header)
 28702  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28703  	for k, v := range c.header_ {
 28704  		reqHeaders[k] = v
 28705  	}
 28706  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28707  	if c.ifNoneMatch_ != "" {
 28708  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28709  	}
 28710  	var body io.Reader = nil
 28711  	c.urlParams_.Set("alt", alt)
 28712  	c.urlParams_.Set("prettyPrint", "false")
 28713  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 28714  	urls += "?" + c.urlParams_.Encode()
 28715  	req, err := http.NewRequest("GET", urls, body)
 28716  	if err != nil {
 28717  		return nil, err
 28718  	}
 28719  	req.Header = reqHeaders
 28720  	googleapi.Expand(req.URL, map[string]string{
 28721  		"profileId": strconv.FormatInt(c.profileId, 10),
 28722  	})
 28723  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28724  }
 28725  
 28726  // Do executes the "dfareporting.directorySites.list" call.
 28727  // Exactly one of *DirectorySitesListResponse or error will be non-nil.
 28728  // Any non-2xx status code is an error. Response headers are in either
 28729  // *DirectorySitesListResponse.ServerResponse.Header or (if a response
 28730  // was returned at all) in error.(*googleapi.Error).Header. Use
 28731  // googleapi.IsNotModified to check whether the returned error was
 28732  // because http.StatusNotModified was returned.
 28733  func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
 28734  	gensupport.SetOptions(c.urlParams_, opts...)
 28735  	res, err := c.doRequest("json")
 28736  	if res != nil && res.StatusCode == http.StatusNotModified {
 28737  		if res.Body != nil {
 28738  			res.Body.Close()
 28739  		}
 28740  		return nil, &googleapi.Error{
 28741  			Code:   res.StatusCode,
 28742  			Header: res.Header,
 28743  		}
 28744  	}
 28745  	if err != nil {
 28746  		return nil, err
 28747  	}
 28748  	defer googleapi.CloseBody(res)
 28749  	if err := googleapi.CheckResponse(res); err != nil {
 28750  		return nil, err
 28751  	}
 28752  	ret := &DirectorySitesListResponse{
 28753  		ServerResponse: googleapi.ServerResponse{
 28754  			Header:         res.Header,
 28755  			HTTPStatusCode: res.StatusCode,
 28756  		},
 28757  	}
 28758  	target := &ret
 28759  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28760  		return nil, err
 28761  	}
 28762  	return ret, nil
 28763  	// {
 28764  	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
 28765  	//   "httpMethod": "GET",
 28766  	//   "id": "dfareporting.directorySites.list",
 28767  	//   "parameterOrder": [
 28768  	//     "profileId"
 28769  	//   ],
 28770  	//   "parameters": {
 28771  	//     "acceptsInStreamVideoPlacements": {
 28772  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 28773  	//       "location": "query",
 28774  	//       "type": "boolean"
 28775  	//     },
 28776  	//     "acceptsInterstitialPlacements": {
 28777  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 28778  	//       "location": "query",
 28779  	//       "type": "boolean"
 28780  	//     },
 28781  	//     "acceptsPublisherPaidPlacements": {
 28782  	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
 28783  	//       "location": "query",
 28784  	//       "type": "boolean"
 28785  	//     },
 28786  	//     "active": {
 28787  	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
 28788  	//       "location": "query",
 28789  	//       "type": "boolean"
 28790  	//     },
 28791  	//     "countryId": {
 28792  	//       "description": "Select only directory sites with this country ID.",
 28793  	//       "format": "int64",
 28794  	//       "location": "query",
 28795  	//       "type": "string"
 28796  	//     },
 28797  	//     "dfp_network_code": {
 28798  	//       "description": "Select only directory sites with this DFP network code.",
 28799  	//       "location": "query",
 28800  	//       "type": "string"
 28801  	//     },
 28802  	//     "ids": {
 28803  	//       "description": "Select only directory sites with these IDs.",
 28804  	//       "format": "int64",
 28805  	//       "location": "query",
 28806  	//       "repeated": true,
 28807  	//       "type": "string"
 28808  	//     },
 28809  	//     "maxResults": {
 28810  	//       "default": "1000",
 28811  	//       "description": "Maximum number of results to return.",
 28812  	//       "format": "int32",
 28813  	//       "location": "query",
 28814  	//       "maximum": "1000",
 28815  	//       "minimum": "0",
 28816  	//       "type": "integer"
 28817  	//     },
 28818  	//     "pageToken": {
 28819  	//       "description": "Value of the nextPageToken from the previous result page.",
 28820  	//       "location": "query",
 28821  	//       "type": "string"
 28822  	//     },
 28823  	//     "parentId": {
 28824  	//       "description": "Select only directory sites with this parent ID.",
 28825  	//       "format": "int64",
 28826  	//       "location": "query",
 28827  	//       "type": "string"
 28828  	//     },
 28829  	//     "profileId": {
 28830  	//       "description": "User profile ID associated with this request.",
 28831  	//       "format": "int64",
 28832  	//       "location": "path",
 28833  	//       "required": true,
 28834  	//       "type": "string"
 28835  	//     },
 28836  	//     "searchString": {
 28837  	//       "description": "Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, \"directory site*2015\" will return objects with names like \"directory site June 2015\", \"directory site April 2015\", or simply \"directory site 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"directory site\" will match objects with name \"my directory site\", \"directory site 2015\" or simply, \"directory site\".",
 28838  	//       "location": "query",
 28839  	//       "type": "string"
 28840  	//     },
 28841  	//     "sortField": {
 28842  	//       "default": "ID",
 28843  	//       "description": "Field by which to sort the list.",
 28844  	//       "enum": [
 28845  	//         "ID",
 28846  	//         "NAME"
 28847  	//       ],
 28848  	//       "enumDescriptions": [
 28849  	//         "",
 28850  	//         ""
 28851  	//       ],
 28852  	//       "location": "query",
 28853  	//       "type": "string"
 28854  	//     },
 28855  	//     "sortOrder": {
 28856  	//       "default": "ASCENDING",
 28857  	//       "description": "Order of sorted results.",
 28858  	//       "enum": [
 28859  	//         "ASCENDING",
 28860  	//         "DESCENDING"
 28861  	//       ],
 28862  	//       "enumDescriptions": [
 28863  	//         "",
 28864  	//         ""
 28865  	//       ],
 28866  	//       "location": "query",
 28867  	//       "type": "string"
 28868  	//     }
 28869  	//   },
 28870  	//   "path": "userprofiles/{profileId}/directorySites",
 28871  	//   "response": {
 28872  	//     "$ref": "DirectorySitesListResponse"
 28873  	//   },
 28874  	//   "scopes": [
 28875  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28876  	//   ]
 28877  	// }
 28878  
 28879  }
 28880  
 28881  // Pages invokes f for each page of results.
 28882  // A non-nil error returned from f will halt the iteration.
 28883  // The provided context supersedes any context provided to the Context method.
 28884  func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
 28885  	c.ctx_ = ctx
 28886  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 28887  	for {
 28888  		x, err := c.Do()
 28889  		if err != nil {
 28890  			return err
 28891  		}
 28892  		if err := f(x); err != nil {
 28893  			return err
 28894  		}
 28895  		if x.NextPageToken == "" {
 28896  			return nil
 28897  		}
 28898  		c.PageToken(x.NextPageToken)
 28899  	}
 28900  }
 28901  
 28902  // method id "dfareporting.dynamicTargetingKeys.delete":
 28903  
 28904  type DynamicTargetingKeysDeleteCall struct {
 28905  	s          *Service
 28906  	profileId  int64
 28907  	objectId   int64
 28908  	urlParams_ gensupport.URLParams
 28909  	ctx_       context.Context
 28910  	header_    http.Header
 28911  }
 28912  
 28913  // Delete: Deletes an existing dynamic targeting key.
 28914  func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
 28915  	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28916  	c.profileId = profileId
 28917  	c.objectId = objectId
 28918  	c.urlParams_.Set("name", name)
 28919  	c.urlParams_.Set("objectType", objectType)
 28920  	return c
 28921  }
 28922  
 28923  // Fields allows partial responses to be retrieved. See
 28924  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28925  // for more information.
 28926  func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
 28927  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28928  	return c
 28929  }
 28930  
 28931  // Context sets the context to be used in this call's Do method. Any
 28932  // pending HTTP request will be aborted if the provided context is
 28933  // canceled.
 28934  func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
 28935  	c.ctx_ = ctx
 28936  	return c
 28937  }
 28938  
 28939  // Header returns an http.Header that can be modified by the caller to
 28940  // add HTTP headers to the request.
 28941  func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
 28942  	if c.header_ == nil {
 28943  		c.header_ = make(http.Header)
 28944  	}
 28945  	return c.header_
 28946  }
 28947  
 28948  func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 28949  	reqHeaders := make(http.Header)
 28950  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28951  	for k, v := range c.header_ {
 28952  		reqHeaders[k] = v
 28953  	}
 28954  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28955  	var body io.Reader = nil
 28956  	c.urlParams_.Set("alt", alt)
 28957  	c.urlParams_.Set("prettyPrint", "false")
 28958  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
 28959  	urls += "?" + c.urlParams_.Encode()
 28960  	req, err := http.NewRequest("DELETE", urls, body)
 28961  	if err != nil {
 28962  		return nil, err
 28963  	}
 28964  	req.Header = reqHeaders
 28965  	googleapi.Expand(req.URL, map[string]string{
 28966  		"profileId": strconv.FormatInt(c.profileId, 10),
 28967  		"objectId":  strconv.FormatInt(c.objectId, 10),
 28968  	})
 28969  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28970  }
 28971  
 28972  // Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
 28973  func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
 28974  	gensupport.SetOptions(c.urlParams_, opts...)
 28975  	res, err := c.doRequest("json")
 28976  	if err != nil {
 28977  		return err
 28978  	}
 28979  	defer googleapi.CloseBody(res)
 28980  	if err := googleapi.CheckResponse(res); err != nil {
 28981  		return err
 28982  	}
 28983  	return nil
 28984  	// {
 28985  	//   "description": "Deletes an existing dynamic targeting key.",
 28986  	//   "httpMethod": "DELETE",
 28987  	//   "id": "dfareporting.dynamicTargetingKeys.delete",
 28988  	//   "parameterOrder": [
 28989  	//     "profileId",
 28990  	//     "objectId",
 28991  	//     "name",
 28992  	//     "objectType"
 28993  	//   ],
 28994  	//   "parameters": {
 28995  	//     "name": {
 28996  	//       "description": "Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.",
 28997  	//       "location": "query",
 28998  	//       "required": true,
 28999  	//       "type": "string"
 29000  	//     },
 29001  	//     "objectId": {
 29002  	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
 29003  	//       "format": "int64",
 29004  	//       "location": "path",
 29005  	//       "required": true,
 29006  	//       "type": "string"
 29007  	//     },
 29008  	//     "objectType": {
 29009  	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
 29010  	//       "enum": [
 29011  	//         "OBJECT_AD",
 29012  	//         "OBJECT_ADVERTISER",
 29013  	//         "OBJECT_CREATIVE",
 29014  	//         "OBJECT_PLACEMENT"
 29015  	//       ],
 29016  	//       "enumDescriptions": [
 29017  	//         "",
 29018  	//         "",
 29019  	//         "",
 29020  	//         ""
 29021  	//       ],
 29022  	//       "location": "query",
 29023  	//       "required": true,
 29024  	//       "type": "string"
 29025  	//     },
 29026  	//     "profileId": {
 29027  	//       "description": "User profile ID associated with this request.",
 29028  	//       "format": "int64",
 29029  	//       "location": "path",
 29030  	//       "required": true,
 29031  	//       "type": "string"
 29032  	//     }
 29033  	//   },
 29034  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
 29035  	//   "scopes": [
 29036  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29037  	//   ]
 29038  	// }
 29039  
 29040  }
 29041  
 29042  // method id "dfareporting.dynamicTargetingKeys.insert":
 29043  
 29044  type DynamicTargetingKeysInsertCall struct {
 29045  	s                   *Service
 29046  	profileId           int64
 29047  	dynamictargetingkey *DynamicTargetingKey
 29048  	urlParams_          gensupport.URLParams
 29049  	ctx_                context.Context
 29050  	header_             http.Header
 29051  }
 29052  
 29053  // Insert: Inserts a new dynamic targeting key. Keys must be created at
 29054  // the advertiser level before being assigned to the advertiser's ads,
 29055  // creatives, or placements. There is a maximum of 1000 keys per
 29056  // advertiser, out of which a maximum of 20 keys can be assigned per ad,
 29057  // creative, or placement.
 29058  func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
 29059  	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29060  	c.profileId = profileId
 29061  	c.dynamictargetingkey = dynamictargetingkey
 29062  	return c
 29063  }
 29064  
 29065  // Fields allows partial responses to be retrieved. See
 29066  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29067  // for more information.
 29068  func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
 29069  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29070  	return c
 29071  }
 29072  
 29073  // Context sets the context to be used in this call's Do method. Any
 29074  // pending HTTP request will be aborted if the provided context is
 29075  // canceled.
 29076  func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
 29077  	c.ctx_ = ctx
 29078  	return c
 29079  }
 29080  
 29081  // Header returns an http.Header that can be modified by the caller to
 29082  // add HTTP headers to the request.
 29083  func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
 29084  	if c.header_ == nil {
 29085  		c.header_ = make(http.Header)
 29086  	}
 29087  	return c.header_
 29088  }
 29089  
 29090  func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
 29091  	reqHeaders := make(http.Header)
 29092  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29093  	for k, v := range c.header_ {
 29094  		reqHeaders[k] = v
 29095  	}
 29096  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29097  	var body io.Reader = nil
 29098  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
 29099  	if err != nil {
 29100  		return nil, err
 29101  	}
 29102  	reqHeaders.Set("Content-Type", "application/json")
 29103  	c.urlParams_.Set("alt", alt)
 29104  	c.urlParams_.Set("prettyPrint", "false")
 29105  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 29106  	urls += "?" + c.urlParams_.Encode()
 29107  	req, err := http.NewRequest("POST", urls, body)
 29108  	if err != nil {
 29109  		return nil, err
 29110  	}
 29111  	req.Header = reqHeaders
 29112  	googleapi.Expand(req.URL, map[string]string{
 29113  		"profileId": strconv.FormatInt(c.profileId, 10),
 29114  	})
 29115  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29116  }
 29117  
 29118  // Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
 29119  // Exactly one of *DynamicTargetingKey or error will be non-nil. Any
 29120  // non-2xx status code is an error. Response headers are in either
 29121  // *DynamicTargetingKey.ServerResponse.Header or (if a response was
 29122  // returned at all) in error.(*googleapi.Error).Header. Use
 29123  // googleapi.IsNotModified to check whether the returned error was
 29124  // because http.StatusNotModified was returned.
 29125  func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
 29126  	gensupport.SetOptions(c.urlParams_, opts...)
 29127  	res, err := c.doRequest("json")
 29128  	if res != nil && res.StatusCode == http.StatusNotModified {
 29129  		if res.Body != nil {
 29130  			res.Body.Close()
 29131  		}
 29132  		return nil, &googleapi.Error{
 29133  			Code:   res.StatusCode,
 29134  			Header: res.Header,
 29135  		}
 29136  	}
 29137  	if err != nil {
 29138  		return nil, err
 29139  	}
 29140  	defer googleapi.CloseBody(res)
 29141  	if err := googleapi.CheckResponse(res); err != nil {
 29142  		return nil, err
 29143  	}
 29144  	ret := &DynamicTargetingKey{
 29145  		ServerResponse: googleapi.ServerResponse{
 29146  			Header:         res.Header,
 29147  			HTTPStatusCode: res.StatusCode,
 29148  		},
 29149  	}
 29150  	target := &ret
 29151  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29152  		return nil, err
 29153  	}
 29154  	return ret, nil
 29155  	// {
 29156  	//   "description": "Inserts a new dynamic targeting key. Keys must be created at the advertiser level before being assigned to the advertiser's ads, creatives, or placements. There is a maximum of 1000 keys per advertiser, out of which a maximum of 20 keys can be assigned per ad, creative, or placement.",
 29157  	//   "httpMethod": "POST",
 29158  	//   "id": "dfareporting.dynamicTargetingKeys.insert",
 29159  	//   "parameterOrder": [
 29160  	//     "profileId"
 29161  	//   ],
 29162  	//   "parameters": {
 29163  	//     "profileId": {
 29164  	//       "description": "User profile ID associated with this request.",
 29165  	//       "format": "int64",
 29166  	//       "location": "path",
 29167  	//       "required": true,
 29168  	//       "type": "string"
 29169  	//     }
 29170  	//   },
 29171  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 29172  	//   "request": {
 29173  	//     "$ref": "DynamicTargetingKey"
 29174  	//   },
 29175  	//   "response": {
 29176  	//     "$ref": "DynamicTargetingKey"
 29177  	//   },
 29178  	//   "scopes": [
 29179  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29180  	//   ]
 29181  	// }
 29182  
 29183  }
 29184  
 29185  // method id "dfareporting.dynamicTargetingKeys.list":
 29186  
 29187  type DynamicTargetingKeysListCall struct {
 29188  	s            *Service
 29189  	profileId    int64
 29190  	urlParams_   gensupport.URLParams
 29191  	ifNoneMatch_ string
 29192  	ctx_         context.Context
 29193  	header_      http.Header
 29194  }
 29195  
 29196  // List: Retrieves a list of dynamic targeting keys.
 29197  func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
 29198  	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29199  	c.profileId = profileId
 29200  	return c
 29201  }
 29202  
 29203  // AdvertiserId sets the optional parameter "advertiserId": Select only
 29204  // dynamic targeting keys whose object has this advertiser ID.
 29205  func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
 29206  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29207  	return c
 29208  }
 29209  
 29210  // Names sets the optional parameter "names": Select only dynamic
 29211  // targeting keys exactly matching these names.
 29212  func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
 29213  	c.urlParams_.SetMulti("names", append([]string{}, names...))
 29214  	return c
 29215  }
 29216  
 29217  // ObjectId sets the optional parameter "objectId": Select only dynamic
 29218  // targeting keys with this object ID.
 29219  func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
 29220  	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
 29221  	return c
 29222  }
 29223  
 29224  // ObjectType sets the optional parameter "objectType": Select only
 29225  // dynamic targeting keys with this object type.
 29226  //
 29227  // Possible values:
 29228  //
 29229  //	"OBJECT_AD"
 29230  //	"OBJECT_ADVERTISER"
 29231  //	"OBJECT_CREATIVE"
 29232  //	"OBJECT_PLACEMENT"
 29233  func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
 29234  	c.urlParams_.Set("objectType", objectType)
 29235  	return c
 29236  }
 29237  
 29238  // Fields allows partial responses to be retrieved. See
 29239  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29240  // for more information.
 29241  func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
 29242  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29243  	return c
 29244  }
 29245  
 29246  // IfNoneMatch sets the optional parameter which makes the operation
 29247  // fail if the object's ETag matches the given value. This is useful for
 29248  // getting updates only after the object has changed since the last
 29249  // request. Use googleapi.IsNotModified to check whether the response
 29250  // error from Do is the result of In-None-Match.
 29251  func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
 29252  	c.ifNoneMatch_ = entityTag
 29253  	return c
 29254  }
 29255  
 29256  // Context sets the context to be used in this call's Do method. Any
 29257  // pending HTTP request will be aborted if the provided context is
 29258  // canceled.
 29259  func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
 29260  	c.ctx_ = ctx
 29261  	return c
 29262  }
 29263  
 29264  // Header returns an http.Header that can be modified by the caller to
 29265  // add HTTP headers to the request.
 29266  func (c *DynamicTargetingKeysListCall) Header() http.Header {
 29267  	if c.header_ == nil {
 29268  		c.header_ = make(http.Header)
 29269  	}
 29270  	return c.header_
 29271  }
 29272  
 29273  func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
 29274  	reqHeaders := make(http.Header)
 29275  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29276  	for k, v := range c.header_ {
 29277  		reqHeaders[k] = v
 29278  	}
 29279  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29280  	if c.ifNoneMatch_ != "" {
 29281  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29282  	}
 29283  	var body io.Reader = nil
 29284  	c.urlParams_.Set("alt", alt)
 29285  	c.urlParams_.Set("prettyPrint", "false")
 29286  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 29287  	urls += "?" + c.urlParams_.Encode()
 29288  	req, err := http.NewRequest("GET", urls, body)
 29289  	if err != nil {
 29290  		return nil, err
 29291  	}
 29292  	req.Header = reqHeaders
 29293  	googleapi.Expand(req.URL, map[string]string{
 29294  		"profileId": strconv.FormatInt(c.profileId, 10),
 29295  	})
 29296  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29297  }
 29298  
 29299  // Do executes the "dfareporting.dynamicTargetingKeys.list" call.
 29300  // Exactly one of *DynamicTargetingKeysListResponse or error will be
 29301  // non-nil. Any non-2xx status code is an error. Response headers are in
 29302  // either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
 29303  // a response was returned at all) in error.(*googleapi.Error).Header.
 29304  // Use googleapi.IsNotModified to check whether the returned error was
 29305  // because http.StatusNotModified was returned.
 29306  func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
 29307  	gensupport.SetOptions(c.urlParams_, opts...)
 29308  	res, err := c.doRequest("json")
 29309  	if res != nil && res.StatusCode == http.StatusNotModified {
 29310  		if res.Body != nil {
 29311  			res.Body.Close()
 29312  		}
 29313  		return nil, &googleapi.Error{
 29314  			Code:   res.StatusCode,
 29315  			Header: res.Header,
 29316  		}
 29317  	}
 29318  	if err != nil {
 29319  		return nil, err
 29320  	}
 29321  	defer googleapi.CloseBody(res)
 29322  	if err := googleapi.CheckResponse(res); err != nil {
 29323  		return nil, err
 29324  	}
 29325  	ret := &DynamicTargetingKeysListResponse{
 29326  		ServerResponse: googleapi.ServerResponse{
 29327  			Header:         res.Header,
 29328  			HTTPStatusCode: res.StatusCode,
 29329  		},
 29330  	}
 29331  	target := &ret
 29332  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29333  		return nil, err
 29334  	}
 29335  	return ret, nil
 29336  	// {
 29337  	//   "description": "Retrieves a list of dynamic targeting keys.",
 29338  	//   "httpMethod": "GET",
 29339  	//   "id": "dfareporting.dynamicTargetingKeys.list",
 29340  	//   "parameterOrder": [
 29341  	//     "profileId"
 29342  	//   ],
 29343  	//   "parameters": {
 29344  	//     "advertiserId": {
 29345  	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
 29346  	//       "format": "int64",
 29347  	//       "location": "query",
 29348  	//       "type": "string"
 29349  	//     },
 29350  	//     "names": {
 29351  	//       "description": "Select only dynamic targeting keys exactly matching these names.",
 29352  	//       "location": "query",
 29353  	//       "repeated": true,
 29354  	//       "type": "string"
 29355  	//     },
 29356  	//     "objectId": {
 29357  	//       "description": "Select only dynamic targeting keys with this object ID.",
 29358  	//       "format": "int64",
 29359  	//       "location": "query",
 29360  	//       "type": "string"
 29361  	//     },
 29362  	//     "objectType": {
 29363  	//       "description": "Select only dynamic targeting keys with this object type.",
 29364  	//       "enum": [
 29365  	//         "OBJECT_AD",
 29366  	//         "OBJECT_ADVERTISER",
 29367  	//         "OBJECT_CREATIVE",
 29368  	//         "OBJECT_PLACEMENT"
 29369  	//       ],
 29370  	//       "enumDescriptions": [
 29371  	//         "",
 29372  	//         "",
 29373  	//         "",
 29374  	//         ""
 29375  	//       ],
 29376  	//       "location": "query",
 29377  	//       "type": "string"
 29378  	//     },
 29379  	//     "profileId": {
 29380  	//       "description": "User profile ID associated with this request.",
 29381  	//       "format": "int64",
 29382  	//       "location": "path",
 29383  	//       "required": true,
 29384  	//       "type": "string"
 29385  	//     }
 29386  	//   },
 29387  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 29388  	//   "response": {
 29389  	//     "$ref": "DynamicTargetingKeysListResponse"
 29390  	//   },
 29391  	//   "scopes": [
 29392  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29393  	//   ]
 29394  	// }
 29395  
 29396  }
 29397  
 29398  // method id "dfareporting.eventTags.delete":
 29399  
 29400  type EventTagsDeleteCall struct {
 29401  	s          *Service
 29402  	profileId  int64
 29403  	id         int64
 29404  	urlParams_ gensupport.URLParams
 29405  	ctx_       context.Context
 29406  	header_    http.Header
 29407  }
 29408  
 29409  // Delete: Deletes an existing event tag.
 29410  func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
 29411  	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29412  	c.profileId = profileId
 29413  	c.id = id
 29414  	return c
 29415  }
 29416  
 29417  // Fields allows partial responses to be retrieved. See
 29418  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29419  // for more information.
 29420  func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
 29421  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29422  	return c
 29423  }
 29424  
 29425  // Context sets the context to be used in this call's Do method. Any
 29426  // pending HTTP request will be aborted if the provided context is
 29427  // canceled.
 29428  func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
 29429  	c.ctx_ = ctx
 29430  	return c
 29431  }
 29432  
 29433  // Header returns an http.Header that can be modified by the caller to
 29434  // add HTTP headers to the request.
 29435  func (c *EventTagsDeleteCall) Header() http.Header {
 29436  	if c.header_ == nil {
 29437  		c.header_ = make(http.Header)
 29438  	}
 29439  	return c.header_
 29440  }
 29441  
 29442  func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 29443  	reqHeaders := make(http.Header)
 29444  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29445  	for k, v := range c.header_ {
 29446  		reqHeaders[k] = v
 29447  	}
 29448  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29449  	var body io.Reader = nil
 29450  	c.urlParams_.Set("alt", alt)
 29451  	c.urlParams_.Set("prettyPrint", "false")
 29452  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 29453  	urls += "?" + c.urlParams_.Encode()
 29454  	req, err := http.NewRequest("DELETE", urls, body)
 29455  	if err != nil {
 29456  		return nil, err
 29457  	}
 29458  	req.Header = reqHeaders
 29459  	googleapi.Expand(req.URL, map[string]string{
 29460  		"profileId": strconv.FormatInt(c.profileId, 10),
 29461  		"id":        strconv.FormatInt(c.id, 10),
 29462  	})
 29463  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29464  }
 29465  
 29466  // Do executes the "dfareporting.eventTags.delete" call.
 29467  func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
 29468  	gensupport.SetOptions(c.urlParams_, opts...)
 29469  	res, err := c.doRequest("json")
 29470  	if err != nil {
 29471  		return err
 29472  	}
 29473  	defer googleapi.CloseBody(res)
 29474  	if err := googleapi.CheckResponse(res); err != nil {
 29475  		return err
 29476  	}
 29477  	return nil
 29478  	// {
 29479  	//   "description": "Deletes an existing event tag.",
 29480  	//   "httpMethod": "DELETE",
 29481  	//   "id": "dfareporting.eventTags.delete",
 29482  	//   "parameterOrder": [
 29483  	//     "profileId",
 29484  	//     "id"
 29485  	//   ],
 29486  	//   "parameters": {
 29487  	//     "id": {
 29488  	//       "description": "Event tag ID.",
 29489  	//       "format": "int64",
 29490  	//       "location": "path",
 29491  	//       "required": true,
 29492  	//       "type": "string"
 29493  	//     },
 29494  	//     "profileId": {
 29495  	//       "description": "User profile ID associated with this request.",
 29496  	//       "format": "int64",
 29497  	//       "location": "path",
 29498  	//       "required": true,
 29499  	//       "type": "string"
 29500  	//     }
 29501  	//   },
 29502  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 29503  	//   "scopes": [
 29504  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29505  	//   ]
 29506  	// }
 29507  
 29508  }
 29509  
 29510  // method id "dfareporting.eventTags.get":
 29511  
 29512  type EventTagsGetCall struct {
 29513  	s            *Service
 29514  	profileId    int64
 29515  	id           int64
 29516  	urlParams_   gensupport.URLParams
 29517  	ifNoneMatch_ string
 29518  	ctx_         context.Context
 29519  	header_      http.Header
 29520  }
 29521  
 29522  // Get: Gets one event tag by ID.
 29523  func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
 29524  	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29525  	c.profileId = profileId
 29526  	c.id = id
 29527  	return c
 29528  }
 29529  
 29530  // Fields allows partial responses to be retrieved. See
 29531  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29532  // for more information.
 29533  func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
 29534  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29535  	return c
 29536  }
 29537  
 29538  // IfNoneMatch sets the optional parameter which makes the operation
 29539  // fail if the object's ETag matches the given value. This is useful for
 29540  // getting updates only after the object has changed since the last
 29541  // request. Use googleapi.IsNotModified to check whether the response
 29542  // error from Do is the result of In-None-Match.
 29543  func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
 29544  	c.ifNoneMatch_ = entityTag
 29545  	return c
 29546  }
 29547  
 29548  // Context sets the context to be used in this call's Do method. Any
 29549  // pending HTTP request will be aborted if the provided context is
 29550  // canceled.
 29551  func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
 29552  	c.ctx_ = ctx
 29553  	return c
 29554  }
 29555  
 29556  // Header returns an http.Header that can be modified by the caller to
 29557  // add HTTP headers to the request.
 29558  func (c *EventTagsGetCall) Header() http.Header {
 29559  	if c.header_ == nil {
 29560  		c.header_ = make(http.Header)
 29561  	}
 29562  	return c.header_
 29563  }
 29564  
 29565  func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 29566  	reqHeaders := make(http.Header)
 29567  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29568  	for k, v := range c.header_ {
 29569  		reqHeaders[k] = v
 29570  	}
 29571  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29572  	if c.ifNoneMatch_ != "" {
 29573  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29574  	}
 29575  	var body io.Reader = nil
 29576  	c.urlParams_.Set("alt", alt)
 29577  	c.urlParams_.Set("prettyPrint", "false")
 29578  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 29579  	urls += "?" + c.urlParams_.Encode()
 29580  	req, err := http.NewRequest("GET", urls, body)
 29581  	if err != nil {
 29582  		return nil, err
 29583  	}
 29584  	req.Header = reqHeaders
 29585  	googleapi.Expand(req.URL, map[string]string{
 29586  		"profileId": strconv.FormatInt(c.profileId, 10),
 29587  		"id":        strconv.FormatInt(c.id, 10),
 29588  	})
 29589  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29590  }
 29591  
 29592  // Do executes the "dfareporting.eventTags.get" call.
 29593  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 29594  // code is an error. Response headers are in either
 29595  // *EventTag.ServerResponse.Header or (if a response was returned at
 29596  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 29597  // to check whether the returned error was because
 29598  // http.StatusNotModified was returned.
 29599  func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 29600  	gensupport.SetOptions(c.urlParams_, opts...)
 29601  	res, err := c.doRequest("json")
 29602  	if res != nil && res.StatusCode == http.StatusNotModified {
 29603  		if res.Body != nil {
 29604  			res.Body.Close()
 29605  		}
 29606  		return nil, &googleapi.Error{
 29607  			Code:   res.StatusCode,
 29608  			Header: res.Header,
 29609  		}
 29610  	}
 29611  	if err != nil {
 29612  		return nil, err
 29613  	}
 29614  	defer googleapi.CloseBody(res)
 29615  	if err := googleapi.CheckResponse(res); err != nil {
 29616  		return nil, err
 29617  	}
 29618  	ret := &EventTag{
 29619  		ServerResponse: googleapi.ServerResponse{
 29620  			Header:         res.Header,
 29621  			HTTPStatusCode: res.StatusCode,
 29622  		},
 29623  	}
 29624  	target := &ret
 29625  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29626  		return nil, err
 29627  	}
 29628  	return ret, nil
 29629  	// {
 29630  	//   "description": "Gets one event tag by ID.",
 29631  	//   "httpMethod": "GET",
 29632  	//   "id": "dfareporting.eventTags.get",
 29633  	//   "parameterOrder": [
 29634  	//     "profileId",
 29635  	//     "id"
 29636  	//   ],
 29637  	//   "parameters": {
 29638  	//     "id": {
 29639  	//       "description": "Event tag ID.",
 29640  	//       "format": "int64",
 29641  	//       "location": "path",
 29642  	//       "required": true,
 29643  	//       "type": "string"
 29644  	//     },
 29645  	//     "profileId": {
 29646  	//       "description": "User profile ID associated with this request.",
 29647  	//       "format": "int64",
 29648  	//       "location": "path",
 29649  	//       "required": true,
 29650  	//       "type": "string"
 29651  	//     }
 29652  	//   },
 29653  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 29654  	//   "response": {
 29655  	//     "$ref": "EventTag"
 29656  	//   },
 29657  	//   "scopes": [
 29658  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29659  	//   ]
 29660  	// }
 29661  
 29662  }
 29663  
 29664  // method id "dfareporting.eventTags.insert":
 29665  
 29666  type EventTagsInsertCall struct {
 29667  	s          *Service
 29668  	profileId  int64
 29669  	eventtag   *EventTag
 29670  	urlParams_ gensupport.URLParams
 29671  	ctx_       context.Context
 29672  	header_    http.Header
 29673  }
 29674  
 29675  // Insert: Inserts a new event tag.
 29676  func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
 29677  	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29678  	c.profileId = profileId
 29679  	c.eventtag = eventtag
 29680  	return c
 29681  }
 29682  
 29683  // Fields allows partial responses to be retrieved. See
 29684  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29685  // for more information.
 29686  func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
 29687  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29688  	return c
 29689  }
 29690  
 29691  // Context sets the context to be used in this call's Do method. Any
 29692  // pending HTTP request will be aborted if the provided context is
 29693  // canceled.
 29694  func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
 29695  	c.ctx_ = ctx
 29696  	return c
 29697  }
 29698  
 29699  // Header returns an http.Header that can be modified by the caller to
 29700  // add HTTP headers to the request.
 29701  func (c *EventTagsInsertCall) Header() http.Header {
 29702  	if c.header_ == nil {
 29703  		c.header_ = make(http.Header)
 29704  	}
 29705  	return c.header_
 29706  }
 29707  
 29708  func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
 29709  	reqHeaders := make(http.Header)
 29710  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29711  	for k, v := range c.header_ {
 29712  		reqHeaders[k] = v
 29713  	}
 29714  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29715  	var body io.Reader = nil
 29716  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 29717  	if err != nil {
 29718  		return nil, err
 29719  	}
 29720  	reqHeaders.Set("Content-Type", "application/json")
 29721  	c.urlParams_.Set("alt", alt)
 29722  	c.urlParams_.Set("prettyPrint", "false")
 29723  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 29724  	urls += "?" + c.urlParams_.Encode()
 29725  	req, err := http.NewRequest("POST", urls, body)
 29726  	if err != nil {
 29727  		return nil, err
 29728  	}
 29729  	req.Header = reqHeaders
 29730  	googleapi.Expand(req.URL, map[string]string{
 29731  		"profileId": strconv.FormatInt(c.profileId, 10),
 29732  	})
 29733  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29734  }
 29735  
 29736  // Do executes the "dfareporting.eventTags.insert" call.
 29737  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 29738  // code is an error. Response headers are in either
 29739  // *EventTag.ServerResponse.Header or (if a response was returned at
 29740  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 29741  // to check whether the returned error was because
 29742  // http.StatusNotModified was returned.
 29743  func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 29744  	gensupport.SetOptions(c.urlParams_, opts...)
 29745  	res, err := c.doRequest("json")
 29746  	if res != nil && res.StatusCode == http.StatusNotModified {
 29747  		if res.Body != nil {
 29748  			res.Body.Close()
 29749  		}
 29750  		return nil, &googleapi.Error{
 29751  			Code:   res.StatusCode,
 29752  			Header: res.Header,
 29753  		}
 29754  	}
 29755  	if err != nil {
 29756  		return nil, err
 29757  	}
 29758  	defer googleapi.CloseBody(res)
 29759  	if err := googleapi.CheckResponse(res); err != nil {
 29760  		return nil, err
 29761  	}
 29762  	ret := &EventTag{
 29763  		ServerResponse: googleapi.ServerResponse{
 29764  			Header:         res.Header,
 29765  			HTTPStatusCode: res.StatusCode,
 29766  		},
 29767  	}
 29768  	target := &ret
 29769  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29770  		return nil, err
 29771  	}
 29772  	return ret, nil
 29773  	// {
 29774  	//   "description": "Inserts a new event tag.",
 29775  	//   "httpMethod": "POST",
 29776  	//   "id": "dfareporting.eventTags.insert",
 29777  	//   "parameterOrder": [
 29778  	//     "profileId"
 29779  	//   ],
 29780  	//   "parameters": {
 29781  	//     "profileId": {
 29782  	//       "description": "User profile ID associated with this request.",
 29783  	//       "format": "int64",
 29784  	//       "location": "path",
 29785  	//       "required": true,
 29786  	//       "type": "string"
 29787  	//     }
 29788  	//   },
 29789  	//   "path": "userprofiles/{profileId}/eventTags",
 29790  	//   "request": {
 29791  	//     "$ref": "EventTag"
 29792  	//   },
 29793  	//   "response": {
 29794  	//     "$ref": "EventTag"
 29795  	//   },
 29796  	//   "scopes": [
 29797  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29798  	//   ]
 29799  	// }
 29800  
 29801  }
 29802  
 29803  // method id "dfareporting.eventTags.list":
 29804  
 29805  type EventTagsListCall struct {
 29806  	s            *Service
 29807  	profileId    int64
 29808  	urlParams_   gensupport.URLParams
 29809  	ifNoneMatch_ string
 29810  	ctx_         context.Context
 29811  	header_      http.Header
 29812  }
 29813  
 29814  // List: Retrieves a list of event tags, possibly filtered.
 29815  func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
 29816  	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29817  	c.profileId = profileId
 29818  	return c
 29819  }
 29820  
 29821  // AdId sets the optional parameter "adId": Select only event tags that
 29822  // belong to this ad.
 29823  func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
 29824  	c.urlParams_.Set("adId", fmt.Sprint(adId))
 29825  	return c
 29826  }
 29827  
 29828  // AdvertiserId sets the optional parameter "advertiserId": Select only
 29829  // event tags that belong to this advertiser.
 29830  func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
 29831  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29832  	return c
 29833  }
 29834  
 29835  // CampaignId sets the optional parameter "campaignId": Select only
 29836  // event tags that belong to this campaign.
 29837  func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
 29838  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 29839  	return c
 29840  }
 29841  
 29842  // DefinitionsOnly sets the optional parameter "definitionsOnly":
 29843  // Examine only the specified campaign or advertiser's event tags for
 29844  // matching selector criteria. When set to false, the parent advertiser
 29845  // and parent campaign of the specified ad or campaign is examined as
 29846  // well. In addition, when set to false, the status field is examined as
 29847  // well, along with the enabledByDefault field. This parameter can not
 29848  // be set to true when adId is specified as ads do not define their own
 29849  // even tags.
 29850  func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
 29851  	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
 29852  	return c
 29853  }
 29854  
 29855  // Enabled sets the optional parameter "enabled": Select only enabled
 29856  // event tags. What is considered enabled or disabled depends on the
 29857  // definitionsOnly parameter. When definitionsOnly is set to true, only
 29858  // the specified advertiser or campaign's event tags' enabledByDefault
 29859  // field is examined. When definitionsOnly is set to false, the
 29860  // specified ad or specified campaign's parent advertiser's or parent
 29861  // campaign's event tags' enabledByDefault and status fields are
 29862  // examined as well.
 29863  func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
 29864  	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
 29865  	return c
 29866  }
 29867  
 29868  // EventTagTypes sets the optional parameter "eventTagTypes": Select
 29869  // only event tags with the specified event tag types. Event tag types
 29870  // can be used to specify whether to use a third-party pixel, a
 29871  // third-party JavaScript URL, or a third-party click-through URL for
 29872  // either impression or click tracking.
 29873  //
 29874  // Possible values:
 29875  //
 29876  //	"CLICK_THROUGH_EVENT_TAG"
 29877  //	"IMPRESSION_IMAGE_EVENT_TAG"
 29878  //	"IMPRESSION_JAVASCRIPT_EVENT_TAG"
 29879  func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
 29880  	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
 29881  	return c
 29882  }
 29883  
 29884  // Ids sets the optional parameter "ids": Select only event tags with
 29885  // these IDs.
 29886  func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
 29887  	var ids_ []string
 29888  	for _, v := range ids {
 29889  		ids_ = append(ids_, fmt.Sprint(v))
 29890  	}
 29891  	c.urlParams_.SetMulti("ids", ids_)
 29892  	return c
 29893  }
 29894  
 29895  // SearchString sets the optional parameter "searchString": Allows
 29896  // searching for objects by name or ID. Wildcards (*) are allowed. For
 29897  // example, "eventtag*2015" will return objects with names like
 29898  // "eventtag June 2015", "eventtag April 2015", or simply "eventtag
 29899  // 2015". Most of the searches also add wildcards implicitly at the
 29900  // start and the end of the search string. For example, a search string
 29901  // of "eventtag" will match objects with name "my eventtag", "eventtag
 29902  // 2015", or simply "eventtag".
 29903  func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
 29904  	c.urlParams_.Set("searchString", searchString)
 29905  	return c
 29906  }
 29907  
 29908  // SortField sets the optional parameter "sortField": Field by which to
 29909  // sort the list.
 29910  //
 29911  // Possible values:
 29912  //
 29913  //	"ID" (default)
 29914  //	"NAME"
 29915  func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
 29916  	c.urlParams_.Set("sortField", sortField)
 29917  	return c
 29918  }
 29919  
 29920  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 29921  // results.
 29922  //
 29923  // Possible values:
 29924  //
 29925  //	"ASCENDING" (default)
 29926  //	"DESCENDING"
 29927  func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
 29928  	c.urlParams_.Set("sortOrder", sortOrder)
 29929  	return c
 29930  }
 29931  
 29932  // Fields allows partial responses to be retrieved. See
 29933  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29934  // for more information.
 29935  func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
 29936  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29937  	return c
 29938  }
 29939  
 29940  // IfNoneMatch sets the optional parameter which makes the operation
 29941  // fail if the object's ETag matches the given value. This is useful for
 29942  // getting updates only after the object has changed since the last
 29943  // request. Use googleapi.IsNotModified to check whether the response
 29944  // error from Do is the result of In-None-Match.
 29945  func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
 29946  	c.ifNoneMatch_ = entityTag
 29947  	return c
 29948  }
 29949  
 29950  // Context sets the context to be used in this call's Do method. Any
 29951  // pending HTTP request will be aborted if the provided context is
 29952  // canceled.
 29953  func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
 29954  	c.ctx_ = ctx
 29955  	return c
 29956  }
 29957  
 29958  // Header returns an http.Header that can be modified by the caller to
 29959  // add HTTP headers to the request.
 29960  func (c *EventTagsListCall) Header() http.Header {
 29961  	if c.header_ == nil {
 29962  		c.header_ = make(http.Header)
 29963  	}
 29964  	return c.header_
 29965  }
 29966  
 29967  func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 29968  	reqHeaders := make(http.Header)
 29969  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29970  	for k, v := range c.header_ {
 29971  		reqHeaders[k] = v
 29972  	}
 29973  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29974  	if c.ifNoneMatch_ != "" {
 29975  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29976  	}
 29977  	var body io.Reader = nil
 29978  	c.urlParams_.Set("alt", alt)
 29979  	c.urlParams_.Set("prettyPrint", "false")
 29980  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 29981  	urls += "?" + c.urlParams_.Encode()
 29982  	req, err := http.NewRequest("GET", urls, body)
 29983  	if err != nil {
 29984  		return nil, err
 29985  	}
 29986  	req.Header = reqHeaders
 29987  	googleapi.Expand(req.URL, map[string]string{
 29988  		"profileId": strconv.FormatInt(c.profileId, 10),
 29989  	})
 29990  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29991  }
 29992  
 29993  // Do executes the "dfareporting.eventTags.list" call.
 29994  // Exactly one of *EventTagsListResponse or error will be non-nil. Any
 29995  // non-2xx status code is an error. Response headers are in either
 29996  // *EventTagsListResponse.ServerResponse.Header or (if a response was
 29997  // returned at all) in error.(*googleapi.Error).Header. Use
 29998  // googleapi.IsNotModified to check whether the returned error was
 29999  // because http.StatusNotModified was returned.
 30000  func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
 30001  	gensupport.SetOptions(c.urlParams_, opts...)
 30002  	res, err := c.doRequest("json")
 30003  	if res != nil && res.StatusCode == http.StatusNotModified {
 30004  		if res.Body != nil {
 30005  			res.Body.Close()
 30006  		}
 30007  		return nil, &googleapi.Error{
 30008  			Code:   res.StatusCode,
 30009  			Header: res.Header,
 30010  		}
 30011  	}
 30012  	if err != nil {
 30013  		return nil, err
 30014  	}
 30015  	defer googleapi.CloseBody(res)
 30016  	if err := googleapi.CheckResponse(res); err != nil {
 30017  		return nil, err
 30018  	}
 30019  	ret := &EventTagsListResponse{
 30020  		ServerResponse: googleapi.ServerResponse{
 30021  			Header:         res.Header,
 30022  			HTTPStatusCode: res.StatusCode,
 30023  		},
 30024  	}
 30025  	target := &ret
 30026  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30027  		return nil, err
 30028  	}
 30029  	return ret, nil
 30030  	// {
 30031  	//   "description": "Retrieves a list of event tags, possibly filtered.",
 30032  	//   "httpMethod": "GET",
 30033  	//   "id": "dfareporting.eventTags.list",
 30034  	//   "parameterOrder": [
 30035  	//     "profileId"
 30036  	//   ],
 30037  	//   "parameters": {
 30038  	//     "adId": {
 30039  	//       "description": "Select only event tags that belong to this ad.",
 30040  	//       "format": "int64",
 30041  	//       "location": "query",
 30042  	//       "type": "string"
 30043  	//     },
 30044  	//     "advertiserId": {
 30045  	//       "description": "Select only event tags that belong to this advertiser.",
 30046  	//       "format": "int64",
 30047  	//       "location": "query",
 30048  	//       "type": "string"
 30049  	//     },
 30050  	//     "campaignId": {
 30051  	//       "description": "Select only event tags that belong to this campaign.",
 30052  	//       "format": "int64",
 30053  	//       "location": "query",
 30054  	//       "type": "string"
 30055  	//     },
 30056  	//     "definitionsOnly": {
 30057  	//       "description": "Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags.",
 30058  	//       "location": "query",
 30059  	//       "type": "boolean"
 30060  	//     },
 30061  	//     "enabled": {
 30062  	//       "description": "Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.",
 30063  	//       "location": "query",
 30064  	//       "type": "boolean"
 30065  	//     },
 30066  	//     "eventTagTypes": {
 30067  	//       "description": "Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking.",
 30068  	//       "enum": [
 30069  	//         "CLICK_THROUGH_EVENT_TAG",
 30070  	//         "IMPRESSION_IMAGE_EVENT_TAG",
 30071  	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG"
 30072  	//       ],
 30073  	//       "enumDescriptions": [
 30074  	//         "",
 30075  	//         "",
 30076  	//         ""
 30077  	//       ],
 30078  	//       "location": "query",
 30079  	//       "repeated": true,
 30080  	//       "type": "string"
 30081  	//     },
 30082  	//     "ids": {
 30083  	//       "description": "Select only event tags with these IDs.",
 30084  	//       "format": "int64",
 30085  	//       "location": "query",
 30086  	//       "repeated": true,
 30087  	//       "type": "string"
 30088  	//     },
 30089  	//     "profileId": {
 30090  	//       "description": "User profile ID associated with this request.",
 30091  	//       "format": "int64",
 30092  	//       "location": "path",
 30093  	//       "required": true,
 30094  	//       "type": "string"
 30095  	//     },
 30096  	//     "searchString": {
 30097  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"eventtag*2015\" will return objects with names like \"eventtag June 2015\", \"eventtag April 2015\", or simply \"eventtag 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"eventtag\" will match objects with name \"my eventtag\", \"eventtag 2015\", or simply \"eventtag\".",
 30098  	//       "location": "query",
 30099  	//       "type": "string"
 30100  	//     },
 30101  	//     "sortField": {
 30102  	//       "default": "ID",
 30103  	//       "description": "Field by which to sort the list.",
 30104  	//       "enum": [
 30105  	//         "ID",
 30106  	//         "NAME"
 30107  	//       ],
 30108  	//       "enumDescriptions": [
 30109  	//         "",
 30110  	//         ""
 30111  	//       ],
 30112  	//       "location": "query",
 30113  	//       "type": "string"
 30114  	//     },
 30115  	//     "sortOrder": {
 30116  	//       "default": "ASCENDING",
 30117  	//       "description": "Order of sorted results.",
 30118  	//       "enum": [
 30119  	//         "ASCENDING",
 30120  	//         "DESCENDING"
 30121  	//       ],
 30122  	//       "enumDescriptions": [
 30123  	//         "",
 30124  	//         ""
 30125  	//       ],
 30126  	//       "location": "query",
 30127  	//       "type": "string"
 30128  	//     }
 30129  	//   },
 30130  	//   "path": "userprofiles/{profileId}/eventTags",
 30131  	//   "response": {
 30132  	//     "$ref": "EventTagsListResponse"
 30133  	//   },
 30134  	//   "scopes": [
 30135  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30136  	//   ]
 30137  	// }
 30138  
 30139  }
 30140  
 30141  // method id "dfareporting.eventTags.patch":
 30142  
 30143  type EventTagsPatchCall struct {
 30144  	s          *Service
 30145  	profileId  int64
 30146  	eventtag   *EventTag
 30147  	urlParams_ gensupport.URLParams
 30148  	ctx_       context.Context
 30149  	header_    http.Header
 30150  }
 30151  
 30152  // Patch: Updates an existing event tag. This method supports patch
 30153  // semantics.
 30154  func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
 30155  	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30156  	c.profileId = profileId
 30157  	c.urlParams_.Set("id", fmt.Sprint(id))
 30158  	c.eventtag = eventtag
 30159  	return c
 30160  }
 30161  
 30162  // Fields allows partial responses to be retrieved. See
 30163  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30164  // for more information.
 30165  func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
 30166  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30167  	return c
 30168  }
 30169  
 30170  // Context sets the context to be used in this call's Do method. Any
 30171  // pending HTTP request will be aborted if the provided context is
 30172  // canceled.
 30173  func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
 30174  	c.ctx_ = ctx
 30175  	return c
 30176  }
 30177  
 30178  // Header returns an http.Header that can be modified by the caller to
 30179  // add HTTP headers to the request.
 30180  func (c *EventTagsPatchCall) Header() http.Header {
 30181  	if c.header_ == nil {
 30182  		c.header_ = make(http.Header)
 30183  	}
 30184  	return c.header_
 30185  }
 30186  
 30187  func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 30188  	reqHeaders := make(http.Header)
 30189  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30190  	for k, v := range c.header_ {
 30191  		reqHeaders[k] = v
 30192  	}
 30193  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30194  	var body io.Reader = nil
 30195  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 30196  	if err != nil {
 30197  		return nil, err
 30198  	}
 30199  	reqHeaders.Set("Content-Type", "application/json")
 30200  	c.urlParams_.Set("alt", alt)
 30201  	c.urlParams_.Set("prettyPrint", "false")
 30202  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 30203  	urls += "?" + c.urlParams_.Encode()
 30204  	req, err := http.NewRequest("PATCH", urls, body)
 30205  	if err != nil {
 30206  		return nil, err
 30207  	}
 30208  	req.Header = reqHeaders
 30209  	googleapi.Expand(req.URL, map[string]string{
 30210  		"profileId": strconv.FormatInt(c.profileId, 10),
 30211  	})
 30212  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30213  }
 30214  
 30215  // Do executes the "dfareporting.eventTags.patch" call.
 30216  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 30217  // code is an error. Response headers are in either
 30218  // *EventTag.ServerResponse.Header or (if a response was returned at
 30219  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 30220  // to check whether the returned error was because
 30221  // http.StatusNotModified was returned.
 30222  func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 30223  	gensupport.SetOptions(c.urlParams_, opts...)
 30224  	res, err := c.doRequest("json")
 30225  	if res != nil && res.StatusCode == http.StatusNotModified {
 30226  		if res.Body != nil {
 30227  			res.Body.Close()
 30228  		}
 30229  		return nil, &googleapi.Error{
 30230  			Code:   res.StatusCode,
 30231  			Header: res.Header,
 30232  		}
 30233  	}
 30234  	if err != nil {
 30235  		return nil, err
 30236  	}
 30237  	defer googleapi.CloseBody(res)
 30238  	if err := googleapi.CheckResponse(res); err != nil {
 30239  		return nil, err
 30240  	}
 30241  	ret := &EventTag{
 30242  		ServerResponse: googleapi.ServerResponse{
 30243  			Header:         res.Header,
 30244  			HTTPStatusCode: res.StatusCode,
 30245  		},
 30246  	}
 30247  	target := &ret
 30248  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30249  		return nil, err
 30250  	}
 30251  	return ret, nil
 30252  	// {
 30253  	//   "description": "Updates an existing event tag. This method supports patch semantics.",
 30254  	//   "httpMethod": "PATCH",
 30255  	//   "id": "dfareporting.eventTags.patch",
 30256  	//   "parameterOrder": [
 30257  	//     "profileId",
 30258  	//     "id"
 30259  	//   ],
 30260  	//   "parameters": {
 30261  	//     "id": {
 30262  	//       "description": "Event tag ID.",
 30263  	//       "format": "int64",
 30264  	//       "location": "query",
 30265  	//       "required": true,
 30266  	//       "type": "string"
 30267  	//     },
 30268  	//     "profileId": {
 30269  	//       "description": "User profile ID associated with this request.",
 30270  	//       "format": "int64",
 30271  	//       "location": "path",
 30272  	//       "required": true,
 30273  	//       "type": "string"
 30274  	//     }
 30275  	//   },
 30276  	//   "path": "userprofiles/{profileId}/eventTags",
 30277  	//   "request": {
 30278  	//     "$ref": "EventTag"
 30279  	//   },
 30280  	//   "response": {
 30281  	//     "$ref": "EventTag"
 30282  	//   },
 30283  	//   "scopes": [
 30284  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30285  	//   ]
 30286  	// }
 30287  
 30288  }
 30289  
 30290  // method id "dfareporting.eventTags.update":
 30291  
 30292  type EventTagsUpdateCall struct {
 30293  	s          *Service
 30294  	profileId  int64
 30295  	eventtag   *EventTag
 30296  	urlParams_ gensupport.URLParams
 30297  	ctx_       context.Context
 30298  	header_    http.Header
 30299  }
 30300  
 30301  // Update: Updates an existing event tag.
 30302  func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
 30303  	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30304  	c.profileId = profileId
 30305  	c.eventtag = eventtag
 30306  	return c
 30307  }
 30308  
 30309  // Fields allows partial responses to be retrieved. See
 30310  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30311  // for more information.
 30312  func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
 30313  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30314  	return c
 30315  }
 30316  
 30317  // Context sets the context to be used in this call's Do method. Any
 30318  // pending HTTP request will be aborted if the provided context is
 30319  // canceled.
 30320  func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
 30321  	c.ctx_ = ctx
 30322  	return c
 30323  }
 30324  
 30325  // Header returns an http.Header that can be modified by the caller to
 30326  // add HTTP headers to the request.
 30327  func (c *EventTagsUpdateCall) Header() http.Header {
 30328  	if c.header_ == nil {
 30329  		c.header_ = make(http.Header)
 30330  	}
 30331  	return c.header_
 30332  }
 30333  
 30334  func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 30335  	reqHeaders := make(http.Header)
 30336  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30337  	for k, v := range c.header_ {
 30338  		reqHeaders[k] = v
 30339  	}
 30340  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30341  	var body io.Reader = nil
 30342  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 30343  	if err != nil {
 30344  		return nil, err
 30345  	}
 30346  	reqHeaders.Set("Content-Type", "application/json")
 30347  	c.urlParams_.Set("alt", alt)
 30348  	c.urlParams_.Set("prettyPrint", "false")
 30349  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 30350  	urls += "?" + c.urlParams_.Encode()
 30351  	req, err := http.NewRequest("PUT", urls, body)
 30352  	if err != nil {
 30353  		return nil, err
 30354  	}
 30355  	req.Header = reqHeaders
 30356  	googleapi.Expand(req.URL, map[string]string{
 30357  		"profileId": strconv.FormatInt(c.profileId, 10),
 30358  	})
 30359  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30360  }
 30361  
 30362  // Do executes the "dfareporting.eventTags.update" call.
 30363  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 30364  // code is an error. Response headers are in either
 30365  // *EventTag.ServerResponse.Header or (if a response was returned at
 30366  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 30367  // to check whether the returned error was because
 30368  // http.StatusNotModified was returned.
 30369  func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 30370  	gensupport.SetOptions(c.urlParams_, opts...)
 30371  	res, err := c.doRequest("json")
 30372  	if res != nil && res.StatusCode == http.StatusNotModified {
 30373  		if res.Body != nil {
 30374  			res.Body.Close()
 30375  		}
 30376  		return nil, &googleapi.Error{
 30377  			Code:   res.StatusCode,
 30378  			Header: res.Header,
 30379  		}
 30380  	}
 30381  	if err != nil {
 30382  		return nil, err
 30383  	}
 30384  	defer googleapi.CloseBody(res)
 30385  	if err := googleapi.CheckResponse(res); err != nil {
 30386  		return nil, err
 30387  	}
 30388  	ret := &EventTag{
 30389  		ServerResponse: googleapi.ServerResponse{
 30390  			Header:         res.Header,
 30391  			HTTPStatusCode: res.StatusCode,
 30392  		},
 30393  	}
 30394  	target := &ret
 30395  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30396  		return nil, err
 30397  	}
 30398  	return ret, nil
 30399  	// {
 30400  	//   "description": "Updates an existing event tag.",
 30401  	//   "httpMethod": "PUT",
 30402  	//   "id": "dfareporting.eventTags.update",
 30403  	//   "parameterOrder": [
 30404  	//     "profileId"
 30405  	//   ],
 30406  	//   "parameters": {
 30407  	//     "profileId": {
 30408  	//       "description": "User profile ID associated with this request.",
 30409  	//       "format": "int64",
 30410  	//       "location": "path",
 30411  	//       "required": true,
 30412  	//       "type": "string"
 30413  	//     }
 30414  	//   },
 30415  	//   "path": "userprofiles/{profileId}/eventTags",
 30416  	//   "request": {
 30417  	//     "$ref": "EventTag"
 30418  	//   },
 30419  	//   "response": {
 30420  	//     "$ref": "EventTag"
 30421  	//   },
 30422  	//   "scopes": [
 30423  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30424  	//   ]
 30425  	// }
 30426  
 30427  }
 30428  
 30429  // method id "dfareporting.files.get":
 30430  
 30431  type FilesGetCall struct {
 30432  	s            *Service
 30433  	reportId     int64
 30434  	fileId       int64
 30435  	urlParams_   gensupport.URLParams
 30436  	ifNoneMatch_ string
 30437  	ctx_         context.Context
 30438  	header_      http.Header
 30439  }
 30440  
 30441  // Get: Retrieves a report file by its report ID and file ID. This
 30442  // method supports media download.
 30443  func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
 30444  	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30445  	c.reportId = reportId
 30446  	c.fileId = fileId
 30447  	return c
 30448  }
 30449  
 30450  // Fields allows partial responses to be retrieved. See
 30451  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30452  // for more information.
 30453  func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
 30454  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30455  	return c
 30456  }
 30457  
 30458  // IfNoneMatch sets the optional parameter which makes the operation
 30459  // fail if the object's ETag matches the given value. This is useful for
 30460  // getting updates only after the object has changed since the last
 30461  // request. Use googleapi.IsNotModified to check whether the response
 30462  // error from Do is the result of In-None-Match.
 30463  func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
 30464  	c.ifNoneMatch_ = entityTag
 30465  	return c
 30466  }
 30467  
 30468  // Context sets the context to be used in this call's Do and Download
 30469  // methods. Any pending HTTP request will be aborted if the provided
 30470  // context is canceled.
 30471  func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 30472  	c.ctx_ = ctx
 30473  	return c
 30474  }
 30475  
 30476  // Header returns an http.Header that can be modified by the caller to
 30477  // add HTTP headers to the request.
 30478  func (c *FilesGetCall) Header() http.Header {
 30479  	if c.header_ == nil {
 30480  		c.header_ = make(http.Header)
 30481  	}
 30482  	return c.header_
 30483  }
 30484  
 30485  func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 30486  	reqHeaders := make(http.Header)
 30487  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30488  	for k, v := range c.header_ {
 30489  		reqHeaders[k] = v
 30490  	}
 30491  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30492  	if c.ifNoneMatch_ != "" {
 30493  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30494  	}
 30495  	var body io.Reader = nil
 30496  	c.urlParams_.Set("alt", alt)
 30497  	c.urlParams_.Set("prettyPrint", "false")
 30498  	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
 30499  	urls += "?" + c.urlParams_.Encode()
 30500  	req, err := http.NewRequest("GET", urls, body)
 30501  	if err != nil {
 30502  		return nil, err
 30503  	}
 30504  	req.Header = reqHeaders
 30505  	googleapi.Expand(req.URL, map[string]string{
 30506  		"reportId": strconv.FormatInt(c.reportId, 10),
 30507  		"fileId":   strconv.FormatInt(c.fileId, 10),
 30508  	})
 30509  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30510  }
 30511  
 30512  // Download fetches the API endpoint's "media" value, instead of the normal
 30513  // API response value. If the returned error is nil, the Response is guaranteed to
 30514  // have a 2xx status code. Callers must close the Response.Body as usual.
 30515  func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 30516  	gensupport.SetOptions(c.urlParams_, opts...)
 30517  	res, err := c.doRequest("media")
 30518  	if err != nil {
 30519  		return nil, err
 30520  	}
 30521  	if err := googleapi.CheckMediaResponse(res); err != nil {
 30522  		res.Body.Close()
 30523  		return nil, err
 30524  	}
 30525  	return res, nil
 30526  }
 30527  
 30528  // Do executes the "dfareporting.files.get" call.
 30529  // Exactly one of *File or error will be non-nil. Any non-2xx status
 30530  // code is an error. Response headers are in either
 30531  // *File.ServerResponse.Header or (if a response was returned at all) in
 30532  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 30533  // whether the returned error was because http.StatusNotModified was
 30534  // returned.
 30535  func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 30536  	gensupport.SetOptions(c.urlParams_, opts...)
 30537  	res, err := c.doRequest("json")
 30538  	if res != nil && res.StatusCode == http.StatusNotModified {
 30539  		if res.Body != nil {
 30540  			res.Body.Close()
 30541  		}
 30542  		return nil, &googleapi.Error{
 30543  			Code:   res.StatusCode,
 30544  			Header: res.Header,
 30545  		}
 30546  	}
 30547  	if err != nil {
 30548  		return nil, err
 30549  	}
 30550  	defer googleapi.CloseBody(res)
 30551  	if err := googleapi.CheckResponse(res); err != nil {
 30552  		return nil, err
 30553  	}
 30554  	ret := &File{
 30555  		ServerResponse: googleapi.ServerResponse{
 30556  			Header:         res.Header,
 30557  			HTTPStatusCode: res.StatusCode,
 30558  		},
 30559  	}
 30560  	target := &ret
 30561  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30562  		return nil, err
 30563  	}
 30564  	return ret, nil
 30565  	// {
 30566  	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
 30567  	//   "httpMethod": "GET",
 30568  	//   "id": "dfareporting.files.get",
 30569  	//   "parameterOrder": [
 30570  	//     "reportId",
 30571  	//     "fileId"
 30572  	//   ],
 30573  	//   "parameters": {
 30574  	//     "fileId": {
 30575  	//       "description": "The ID of the report file.",
 30576  	//       "format": "int64",
 30577  	//       "location": "path",
 30578  	//       "required": true,
 30579  	//       "type": "string"
 30580  	//     },
 30581  	//     "reportId": {
 30582  	//       "description": "The ID of the report.",
 30583  	//       "format": "int64",
 30584  	//       "location": "path",
 30585  	//       "required": true,
 30586  	//       "type": "string"
 30587  	//     }
 30588  	//   },
 30589  	//   "path": "reports/{reportId}/files/{fileId}",
 30590  	//   "response": {
 30591  	//     "$ref": "File"
 30592  	//   },
 30593  	//   "scopes": [
 30594  	//     "https://www.googleapis.com/auth/dfareporting"
 30595  	//   ],
 30596  	//   "supportsMediaDownload": true
 30597  	// }
 30598  
 30599  }
 30600  
 30601  // method id "dfareporting.files.list":
 30602  
 30603  type FilesListCall struct {
 30604  	s            *Service
 30605  	profileId    int64
 30606  	urlParams_   gensupport.URLParams
 30607  	ifNoneMatch_ string
 30608  	ctx_         context.Context
 30609  	header_      http.Header
 30610  }
 30611  
 30612  // List: Lists files for a user profile.
 30613  func (r *FilesService) List(profileId int64) *FilesListCall {
 30614  	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30615  	c.profileId = profileId
 30616  	return c
 30617  }
 30618  
 30619  // MaxResults sets the optional parameter "maxResults": Maximum number
 30620  // of results to return.
 30621  func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
 30622  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 30623  	return c
 30624  }
 30625  
 30626  // PageToken sets the optional parameter "pageToken": The value of the
 30627  // nextToken from the previous result page.
 30628  func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
 30629  	c.urlParams_.Set("pageToken", pageToken)
 30630  	return c
 30631  }
 30632  
 30633  // Scope sets the optional parameter "scope": The scope that defines
 30634  // which results are returned.
 30635  //
 30636  // Possible values:
 30637  //
 30638  //	"ALL" - All files in account.
 30639  //	"MINE" (default) - My files.
 30640  //	"SHARED_WITH_ME" - Files shared with me.
 30641  func (c *FilesListCall) Scope(scope string) *FilesListCall {
 30642  	c.urlParams_.Set("scope", scope)
 30643  	return c
 30644  }
 30645  
 30646  // SortField sets the optional parameter "sortField": The field by which
 30647  // to sort the list.
 30648  //
 30649  // Possible values:
 30650  //
 30651  //	"ID" - Sort by file ID.
 30652  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 30653  func (c *FilesListCall) SortField(sortField string) *FilesListCall {
 30654  	c.urlParams_.Set("sortField", sortField)
 30655  	return c
 30656  }
 30657  
 30658  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 30659  // results.
 30660  //
 30661  // Possible values:
 30662  //
 30663  //	"ASCENDING" - Ascending order.
 30664  //	"DESCENDING" (default) - Descending order.
 30665  func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
 30666  	c.urlParams_.Set("sortOrder", sortOrder)
 30667  	return c
 30668  }
 30669  
 30670  // Fields allows partial responses to be retrieved. See
 30671  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30672  // for more information.
 30673  func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
 30674  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30675  	return c
 30676  }
 30677  
 30678  // IfNoneMatch sets the optional parameter which makes the operation
 30679  // fail if the object's ETag matches the given value. This is useful for
 30680  // getting updates only after the object has changed since the last
 30681  // request. Use googleapi.IsNotModified to check whether the response
 30682  // error from Do is the result of In-None-Match.
 30683  func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
 30684  	c.ifNoneMatch_ = entityTag
 30685  	return c
 30686  }
 30687  
 30688  // Context sets the context to be used in this call's Do method. Any
 30689  // pending HTTP request will be aborted if the provided context is
 30690  // canceled.
 30691  func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 30692  	c.ctx_ = ctx
 30693  	return c
 30694  }
 30695  
 30696  // Header returns an http.Header that can be modified by the caller to
 30697  // add HTTP headers to the request.
 30698  func (c *FilesListCall) Header() http.Header {
 30699  	if c.header_ == nil {
 30700  		c.header_ = make(http.Header)
 30701  	}
 30702  	return c.header_
 30703  }
 30704  
 30705  func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 30706  	reqHeaders := make(http.Header)
 30707  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30708  	for k, v := range c.header_ {
 30709  		reqHeaders[k] = v
 30710  	}
 30711  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30712  	if c.ifNoneMatch_ != "" {
 30713  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30714  	}
 30715  	var body io.Reader = nil
 30716  	c.urlParams_.Set("alt", alt)
 30717  	c.urlParams_.Set("prettyPrint", "false")
 30718  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
 30719  	urls += "?" + c.urlParams_.Encode()
 30720  	req, err := http.NewRequest("GET", urls, body)
 30721  	if err != nil {
 30722  		return nil, err
 30723  	}
 30724  	req.Header = reqHeaders
 30725  	googleapi.Expand(req.URL, map[string]string{
 30726  		"profileId": strconv.FormatInt(c.profileId, 10),
 30727  	})
 30728  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30729  }
 30730  
 30731  // Do executes the "dfareporting.files.list" call.
 30732  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 30733  // code is an error. Response headers are in either
 30734  // *FileList.ServerResponse.Header or (if a response was returned at
 30735  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 30736  // to check whether the returned error was because
 30737  // http.StatusNotModified was returned.
 30738  func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 30739  	gensupport.SetOptions(c.urlParams_, opts...)
 30740  	res, err := c.doRequest("json")
 30741  	if res != nil && res.StatusCode == http.StatusNotModified {
 30742  		if res.Body != nil {
 30743  			res.Body.Close()
 30744  		}
 30745  		return nil, &googleapi.Error{
 30746  			Code:   res.StatusCode,
 30747  			Header: res.Header,
 30748  		}
 30749  	}
 30750  	if err != nil {
 30751  		return nil, err
 30752  	}
 30753  	defer googleapi.CloseBody(res)
 30754  	if err := googleapi.CheckResponse(res); err != nil {
 30755  		return nil, err
 30756  	}
 30757  	ret := &FileList{
 30758  		ServerResponse: googleapi.ServerResponse{
 30759  			Header:         res.Header,
 30760  			HTTPStatusCode: res.StatusCode,
 30761  		},
 30762  	}
 30763  	target := &ret
 30764  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30765  		return nil, err
 30766  	}
 30767  	return ret, nil
 30768  	// {
 30769  	//   "description": "Lists files for a user profile.",
 30770  	//   "httpMethod": "GET",
 30771  	//   "id": "dfareporting.files.list",
 30772  	//   "parameterOrder": [
 30773  	//     "profileId"
 30774  	//   ],
 30775  	//   "parameters": {
 30776  	//     "maxResults": {
 30777  	//       "default": "10",
 30778  	//       "description": "Maximum number of results to return.",
 30779  	//       "format": "int32",
 30780  	//       "location": "query",
 30781  	//       "maximum": "10",
 30782  	//       "minimum": "0",
 30783  	//       "type": "integer"
 30784  	//     },
 30785  	//     "pageToken": {
 30786  	//       "description": "The value of the nextToken from the previous result page.",
 30787  	//       "location": "query",
 30788  	//       "type": "string"
 30789  	//     },
 30790  	//     "profileId": {
 30791  	//       "description": "The DFA profile ID.",
 30792  	//       "format": "int64",
 30793  	//       "location": "path",
 30794  	//       "required": true,
 30795  	//       "type": "string"
 30796  	//     },
 30797  	//     "scope": {
 30798  	//       "default": "MINE",
 30799  	//       "description": "The scope that defines which results are returned.",
 30800  	//       "enum": [
 30801  	//         "ALL",
 30802  	//         "MINE",
 30803  	//         "SHARED_WITH_ME"
 30804  	//       ],
 30805  	//       "enumDescriptions": [
 30806  	//         "All files in account.",
 30807  	//         "My files.",
 30808  	//         "Files shared with me."
 30809  	//       ],
 30810  	//       "location": "query",
 30811  	//       "type": "string"
 30812  	//     },
 30813  	//     "sortField": {
 30814  	//       "default": "LAST_MODIFIED_TIME",
 30815  	//       "description": "The field by which to sort the list.",
 30816  	//       "enum": [
 30817  	//         "ID",
 30818  	//         "LAST_MODIFIED_TIME"
 30819  	//       ],
 30820  	//       "enumDescriptions": [
 30821  	//         "Sort by file ID.",
 30822  	//         "Sort by 'lastmodifiedAt' field."
 30823  	//       ],
 30824  	//       "location": "query",
 30825  	//       "type": "string"
 30826  	//     },
 30827  	//     "sortOrder": {
 30828  	//       "default": "DESCENDING",
 30829  	//       "description": "Order of sorted results.",
 30830  	//       "enum": [
 30831  	//         "ASCENDING",
 30832  	//         "DESCENDING"
 30833  	//       ],
 30834  	//       "enumDescriptions": [
 30835  	//         "Ascending order.",
 30836  	//         "Descending order."
 30837  	//       ],
 30838  	//       "location": "query",
 30839  	//       "type": "string"
 30840  	//     }
 30841  	//   },
 30842  	//   "path": "userprofiles/{profileId}/files",
 30843  	//   "response": {
 30844  	//     "$ref": "FileList"
 30845  	//   },
 30846  	//   "scopes": [
 30847  	//     "https://www.googleapis.com/auth/dfareporting"
 30848  	//   ]
 30849  	// }
 30850  
 30851  }
 30852  
 30853  // Pages invokes f for each page of results.
 30854  // A non-nil error returned from f will halt the iteration.
 30855  // The provided context supersedes any context provided to the Context method.
 30856  func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 30857  	c.ctx_ = ctx
 30858  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 30859  	for {
 30860  		x, err := c.Do()
 30861  		if err != nil {
 30862  			return err
 30863  		}
 30864  		if err := f(x); err != nil {
 30865  			return err
 30866  		}
 30867  		if x.NextPageToken == "" {
 30868  			return nil
 30869  		}
 30870  		c.PageToken(x.NextPageToken)
 30871  	}
 30872  }
 30873  
 30874  // method id "dfareporting.floodlightActivities.delete":
 30875  
 30876  type FloodlightActivitiesDeleteCall struct {
 30877  	s          *Service
 30878  	profileId  int64
 30879  	id         int64
 30880  	urlParams_ gensupport.URLParams
 30881  	ctx_       context.Context
 30882  	header_    http.Header
 30883  }
 30884  
 30885  // Delete: Deletes an existing floodlight activity.
 30886  func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
 30887  	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30888  	c.profileId = profileId
 30889  	c.id = id
 30890  	return c
 30891  }
 30892  
 30893  // Fields allows partial responses to be retrieved. See
 30894  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30895  // for more information.
 30896  func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
 30897  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30898  	return c
 30899  }
 30900  
 30901  // Context sets the context to be used in this call's Do method. Any
 30902  // pending HTTP request will be aborted if the provided context is
 30903  // canceled.
 30904  func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
 30905  	c.ctx_ = ctx
 30906  	return c
 30907  }
 30908  
 30909  // Header returns an http.Header that can be modified by the caller to
 30910  // add HTTP headers to the request.
 30911  func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
 30912  	if c.header_ == nil {
 30913  		c.header_ = make(http.Header)
 30914  	}
 30915  	return c.header_
 30916  }
 30917  
 30918  func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 30919  	reqHeaders := make(http.Header)
 30920  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30921  	for k, v := range c.header_ {
 30922  		reqHeaders[k] = v
 30923  	}
 30924  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30925  	var body io.Reader = nil
 30926  	c.urlParams_.Set("alt", alt)
 30927  	c.urlParams_.Set("prettyPrint", "false")
 30928  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 30929  	urls += "?" + c.urlParams_.Encode()
 30930  	req, err := http.NewRequest("DELETE", urls, body)
 30931  	if err != nil {
 30932  		return nil, err
 30933  	}
 30934  	req.Header = reqHeaders
 30935  	googleapi.Expand(req.URL, map[string]string{
 30936  		"profileId": strconv.FormatInt(c.profileId, 10),
 30937  		"id":        strconv.FormatInt(c.id, 10),
 30938  	})
 30939  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30940  }
 30941  
 30942  // Do executes the "dfareporting.floodlightActivities.delete" call.
 30943  func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 30944  	gensupport.SetOptions(c.urlParams_, opts...)
 30945  	res, err := c.doRequest("json")
 30946  	if err != nil {
 30947  		return err
 30948  	}
 30949  	defer googleapi.CloseBody(res)
 30950  	if err := googleapi.CheckResponse(res); err != nil {
 30951  		return err
 30952  	}
 30953  	return nil
 30954  	// {
 30955  	//   "description": "Deletes an existing floodlight activity.",
 30956  	//   "httpMethod": "DELETE",
 30957  	//   "id": "dfareporting.floodlightActivities.delete",
 30958  	//   "parameterOrder": [
 30959  	//     "profileId",
 30960  	//     "id"
 30961  	//   ],
 30962  	//   "parameters": {
 30963  	//     "id": {
 30964  	//       "description": "Floodlight activity ID.",
 30965  	//       "format": "int64",
 30966  	//       "location": "path",
 30967  	//       "required": true,
 30968  	//       "type": "string"
 30969  	//     },
 30970  	//     "profileId": {
 30971  	//       "description": "User profile ID associated with this request.",
 30972  	//       "format": "int64",
 30973  	//       "location": "path",
 30974  	//       "required": true,
 30975  	//       "type": "string"
 30976  	//     }
 30977  	//   },
 30978  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 30979  	//   "scopes": [
 30980  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30981  	//   ]
 30982  	// }
 30983  
 30984  }
 30985  
 30986  // method id "dfareporting.floodlightActivities.generatetag":
 30987  
 30988  type FloodlightActivitiesGeneratetagCall struct {
 30989  	s          *Service
 30990  	profileId  int64
 30991  	urlParams_ gensupport.URLParams
 30992  	ctx_       context.Context
 30993  	header_    http.Header
 30994  }
 30995  
 30996  // Generatetag: Generates a tag for a floodlight activity.
 30997  func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
 30998  	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30999  	c.profileId = profileId
 31000  	return c
 31001  }
 31002  
 31003  // FloodlightActivityId sets the optional parameter
 31004  // "floodlightActivityId": Floodlight activity ID for which we want to
 31005  // generate a tag.
 31006  func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
 31007  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 31008  	return c
 31009  }
 31010  
 31011  // Fields allows partial responses to be retrieved. See
 31012  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31013  // for more information.
 31014  func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
 31015  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31016  	return c
 31017  }
 31018  
 31019  // Context sets the context to be used in this call's Do method. Any
 31020  // pending HTTP request will be aborted if the provided context is
 31021  // canceled.
 31022  func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
 31023  	c.ctx_ = ctx
 31024  	return c
 31025  }
 31026  
 31027  // Header returns an http.Header that can be modified by the caller to
 31028  // add HTTP headers to the request.
 31029  func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
 31030  	if c.header_ == nil {
 31031  		c.header_ = make(http.Header)
 31032  	}
 31033  	return c.header_
 31034  }
 31035  
 31036  func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 31037  	reqHeaders := make(http.Header)
 31038  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31039  	for k, v := range c.header_ {
 31040  		reqHeaders[k] = v
 31041  	}
 31042  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31043  	var body io.Reader = nil
 31044  	c.urlParams_.Set("alt", alt)
 31045  	c.urlParams_.Set("prettyPrint", "false")
 31046  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
 31047  	urls += "?" + c.urlParams_.Encode()
 31048  	req, err := http.NewRequest("POST", urls, body)
 31049  	if err != nil {
 31050  		return nil, err
 31051  	}
 31052  	req.Header = reqHeaders
 31053  	googleapi.Expand(req.URL, map[string]string{
 31054  		"profileId": strconv.FormatInt(c.profileId, 10),
 31055  	})
 31056  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31057  }
 31058  
 31059  // Do executes the "dfareporting.floodlightActivities.generatetag" call.
 31060  // Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
 31061  // be non-nil. Any non-2xx status code is an error. Response headers are
 31062  // in either
 31063  // *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
 31064  // a response was returned at all) in error.(*googleapi.Error).Header.
 31065  // Use googleapi.IsNotModified to check whether the returned error was
 31066  // because http.StatusNotModified was returned.
 31067  func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
 31068  	gensupport.SetOptions(c.urlParams_, opts...)
 31069  	res, err := c.doRequest("json")
 31070  	if res != nil && res.StatusCode == http.StatusNotModified {
 31071  		if res.Body != nil {
 31072  			res.Body.Close()
 31073  		}
 31074  		return nil, &googleapi.Error{
 31075  			Code:   res.StatusCode,
 31076  			Header: res.Header,
 31077  		}
 31078  	}
 31079  	if err != nil {
 31080  		return nil, err
 31081  	}
 31082  	defer googleapi.CloseBody(res)
 31083  	if err := googleapi.CheckResponse(res); err != nil {
 31084  		return nil, err
 31085  	}
 31086  	ret := &FloodlightActivitiesGenerateTagResponse{
 31087  		ServerResponse: googleapi.ServerResponse{
 31088  			Header:         res.Header,
 31089  			HTTPStatusCode: res.StatusCode,
 31090  		},
 31091  	}
 31092  	target := &ret
 31093  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31094  		return nil, err
 31095  	}
 31096  	return ret, nil
 31097  	// {
 31098  	//   "description": "Generates a tag for a floodlight activity.",
 31099  	//   "httpMethod": "POST",
 31100  	//   "id": "dfareporting.floodlightActivities.generatetag",
 31101  	//   "parameterOrder": [
 31102  	//     "profileId"
 31103  	//   ],
 31104  	//   "parameters": {
 31105  	//     "floodlightActivityId": {
 31106  	//       "description": "Floodlight activity ID for which we want to generate a tag.",
 31107  	//       "format": "int64",
 31108  	//       "location": "query",
 31109  	//       "type": "string"
 31110  	//     },
 31111  	//     "profileId": {
 31112  	//       "description": "User profile ID associated with this request.",
 31113  	//       "format": "int64",
 31114  	//       "location": "path",
 31115  	//       "required": true,
 31116  	//       "type": "string"
 31117  	//     }
 31118  	//   },
 31119  	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
 31120  	//   "response": {
 31121  	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
 31122  	//   },
 31123  	//   "scopes": [
 31124  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31125  	//   ]
 31126  	// }
 31127  
 31128  }
 31129  
 31130  // method id "dfareporting.floodlightActivities.get":
 31131  
 31132  type FloodlightActivitiesGetCall struct {
 31133  	s            *Service
 31134  	profileId    int64
 31135  	id           int64
 31136  	urlParams_   gensupport.URLParams
 31137  	ifNoneMatch_ string
 31138  	ctx_         context.Context
 31139  	header_      http.Header
 31140  }
 31141  
 31142  // Get: Gets one floodlight activity by ID.
 31143  func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
 31144  	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31145  	c.profileId = profileId
 31146  	c.id = id
 31147  	return c
 31148  }
 31149  
 31150  // Fields allows partial responses to be retrieved. See
 31151  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31152  // for more information.
 31153  func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
 31154  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31155  	return c
 31156  }
 31157  
 31158  // IfNoneMatch sets the optional parameter which makes the operation
 31159  // fail if the object's ETag matches the given value. This is useful for
 31160  // getting updates only after the object has changed since the last
 31161  // request. Use googleapi.IsNotModified to check whether the response
 31162  // error from Do is the result of In-None-Match.
 31163  func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
 31164  	c.ifNoneMatch_ = entityTag
 31165  	return c
 31166  }
 31167  
 31168  // Context sets the context to be used in this call's Do method. Any
 31169  // pending HTTP request will be aborted if the provided context is
 31170  // canceled.
 31171  func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
 31172  	c.ctx_ = ctx
 31173  	return c
 31174  }
 31175  
 31176  // Header returns an http.Header that can be modified by the caller to
 31177  // add HTTP headers to the request.
 31178  func (c *FloodlightActivitiesGetCall) Header() http.Header {
 31179  	if c.header_ == nil {
 31180  		c.header_ = make(http.Header)
 31181  	}
 31182  	return c.header_
 31183  }
 31184  
 31185  func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 31186  	reqHeaders := make(http.Header)
 31187  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31188  	for k, v := range c.header_ {
 31189  		reqHeaders[k] = v
 31190  	}
 31191  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31192  	if c.ifNoneMatch_ != "" {
 31193  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31194  	}
 31195  	var body io.Reader = nil
 31196  	c.urlParams_.Set("alt", alt)
 31197  	c.urlParams_.Set("prettyPrint", "false")
 31198  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 31199  	urls += "?" + c.urlParams_.Encode()
 31200  	req, err := http.NewRequest("GET", urls, body)
 31201  	if err != nil {
 31202  		return nil, err
 31203  	}
 31204  	req.Header = reqHeaders
 31205  	googleapi.Expand(req.URL, map[string]string{
 31206  		"profileId": strconv.FormatInt(c.profileId, 10),
 31207  		"id":        strconv.FormatInt(c.id, 10),
 31208  	})
 31209  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31210  }
 31211  
 31212  // Do executes the "dfareporting.floodlightActivities.get" call.
 31213  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 31214  // non-2xx status code is an error. Response headers are in either
 31215  // *FloodlightActivity.ServerResponse.Header or (if a response was
 31216  // returned at all) in error.(*googleapi.Error).Header. Use
 31217  // googleapi.IsNotModified to check whether the returned error was
 31218  // because http.StatusNotModified was returned.
 31219  func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 31220  	gensupport.SetOptions(c.urlParams_, opts...)
 31221  	res, err := c.doRequest("json")
 31222  	if res != nil && res.StatusCode == http.StatusNotModified {
 31223  		if res.Body != nil {
 31224  			res.Body.Close()
 31225  		}
 31226  		return nil, &googleapi.Error{
 31227  			Code:   res.StatusCode,
 31228  			Header: res.Header,
 31229  		}
 31230  	}
 31231  	if err != nil {
 31232  		return nil, err
 31233  	}
 31234  	defer googleapi.CloseBody(res)
 31235  	if err := googleapi.CheckResponse(res); err != nil {
 31236  		return nil, err
 31237  	}
 31238  	ret := &FloodlightActivity{
 31239  		ServerResponse: googleapi.ServerResponse{
 31240  			Header:         res.Header,
 31241  			HTTPStatusCode: res.StatusCode,
 31242  		},
 31243  	}
 31244  	target := &ret
 31245  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31246  		return nil, err
 31247  	}
 31248  	return ret, nil
 31249  	// {
 31250  	//   "description": "Gets one floodlight activity by ID.",
 31251  	//   "httpMethod": "GET",
 31252  	//   "id": "dfareporting.floodlightActivities.get",
 31253  	//   "parameterOrder": [
 31254  	//     "profileId",
 31255  	//     "id"
 31256  	//   ],
 31257  	//   "parameters": {
 31258  	//     "id": {
 31259  	//       "description": "Floodlight activity ID.",
 31260  	//       "format": "int64",
 31261  	//       "location": "path",
 31262  	//       "required": true,
 31263  	//       "type": "string"
 31264  	//     },
 31265  	//     "profileId": {
 31266  	//       "description": "User profile ID associated with this request.",
 31267  	//       "format": "int64",
 31268  	//       "location": "path",
 31269  	//       "required": true,
 31270  	//       "type": "string"
 31271  	//     }
 31272  	//   },
 31273  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 31274  	//   "response": {
 31275  	//     "$ref": "FloodlightActivity"
 31276  	//   },
 31277  	//   "scopes": [
 31278  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31279  	//   ]
 31280  	// }
 31281  
 31282  }
 31283  
 31284  // method id "dfareporting.floodlightActivities.insert":
 31285  
 31286  type FloodlightActivitiesInsertCall struct {
 31287  	s                  *Service
 31288  	profileId          int64
 31289  	floodlightactivity *FloodlightActivity
 31290  	urlParams_         gensupport.URLParams
 31291  	ctx_               context.Context
 31292  	header_            http.Header
 31293  }
 31294  
 31295  // Insert: Inserts a new floodlight activity.
 31296  func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
 31297  	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31298  	c.profileId = profileId
 31299  	c.floodlightactivity = floodlightactivity
 31300  	return c
 31301  }
 31302  
 31303  // Fields allows partial responses to be retrieved. See
 31304  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31305  // for more information.
 31306  func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
 31307  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31308  	return c
 31309  }
 31310  
 31311  // Context sets the context to be used in this call's Do method. Any
 31312  // pending HTTP request will be aborted if the provided context is
 31313  // canceled.
 31314  func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
 31315  	c.ctx_ = ctx
 31316  	return c
 31317  }
 31318  
 31319  // Header returns an http.Header that can be modified by the caller to
 31320  // add HTTP headers to the request.
 31321  func (c *FloodlightActivitiesInsertCall) Header() http.Header {
 31322  	if c.header_ == nil {
 31323  		c.header_ = make(http.Header)
 31324  	}
 31325  	return c.header_
 31326  }
 31327  
 31328  func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
 31329  	reqHeaders := make(http.Header)
 31330  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31331  	for k, v := range c.header_ {
 31332  		reqHeaders[k] = v
 31333  	}
 31334  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31335  	var body io.Reader = nil
 31336  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 31337  	if err != nil {
 31338  		return nil, err
 31339  	}
 31340  	reqHeaders.Set("Content-Type", "application/json")
 31341  	c.urlParams_.Set("alt", alt)
 31342  	c.urlParams_.Set("prettyPrint", "false")
 31343  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 31344  	urls += "?" + c.urlParams_.Encode()
 31345  	req, err := http.NewRequest("POST", urls, body)
 31346  	if err != nil {
 31347  		return nil, err
 31348  	}
 31349  	req.Header = reqHeaders
 31350  	googleapi.Expand(req.URL, map[string]string{
 31351  		"profileId": strconv.FormatInt(c.profileId, 10),
 31352  	})
 31353  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31354  }
 31355  
 31356  // Do executes the "dfareporting.floodlightActivities.insert" call.
 31357  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 31358  // non-2xx status code is an error. Response headers are in either
 31359  // *FloodlightActivity.ServerResponse.Header or (if a response was
 31360  // returned at all) in error.(*googleapi.Error).Header. Use
 31361  // googleapi.IsNotModified to check whether the returned error was
 31362  // because http.StatusNotModified was returned.
 31363  func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 31364  	gensupport.SetOptions(c.urlParams_, opts...)
 31365  	res, err := c.doRequest("json")
 31366  	if res != nil && res.StatusCode == http.StatusNotModified {
 31367  		if res.Body != nil {
 31368  			res.Body.Close()
 31369  		}
 31370  		return nil, &googleapi.Error{
 31371  			Code:   res.StatusCode,
 31372  			Header: res.Header,
 31373  		}
 31374  	}
 31375  	if err != nil {
 31376  		return nil, err
 31377  	}
 31378  	defer googleapi.CloseBody(res)
 31379  	if err := googleapi.CheckResponse(res); err != nil {
 31380  		return nil, err
 31381  	}
 31382  	ret := &FloodlightActivity{
 31383  		ServerResponse: googleapi.ServerResponse{
 31384  			Header:         res.Header,
 31385  			HTTPStatusCode: res.StatusCode,
 31386  		},
 31387  	}
 31388  	target := &ret
 31389  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31390  		return nil, err
 31391  	}
 31392  	return ret, nil
 31393  	// {
 31394  	//   "description": "Inserts a new floodlight activity.",
 31395  	//   "httpMethod": "POST",
 31396  	//   "id": "dfareporting.floodlightActivities.insert",
 31397  	//   "parameterOrder": [
 31398  	//     "profileId"
 31399  	//   ],
 31400  	//   "parameters": {
 31401  	//     "profileId": {
 31402  	//       "description": "User profile ID associated with this request.",
 31403  	//       "format": "int64",
 31404  	//       "location": "path",
 31405  	//       "required": true,
 31406  	//       "type": "string"
 31407  	//     }
 31408  	//   },
 31409  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 31410  	//   "request": {
 31411  	//     "$ref": "FloodlightActivity"
 31412  	//   },
 31413  	//   "response": {
 31414  	//     "$ref": "FloodlightActivity"
 31415  	//   },
 31416  	//   "scopes": [
 31417  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31418  	//   ]
 31419  	// }
 31420  
 31421  }
 31422  
 31423  // method id "dfareporting.floodlightActivities.list":
 31424  
 31425  type FloodlightActivitiesListCall struct {
 31426  	s            *Service
 31427  	profileId    int64
 31428  	urlParams_   gensupport.URLParams
 31429  	ifNoneMatch_ string
 31430  	ctx_         context.Context
 31431  	header_      http.Header
 31432  }
 31433  
 31434  // List: Retrieves a list of floodlight activities, possibly filtered.
 31435  // This method supports paging.
 31436  func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
 31437  	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31438  	c.profileId = profileId
 31439  	return c
 31440  }
 31441  
 31442  // AdvertiserId sets the optional parameter "advertiserId": Select only
 31443  // floodlight activities for the specified advertiser ID. Must specify
 31444  // either ids, advertiserId, or floodlightConfigurationId for a
 31445  // non-empty result.
 31446  func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
 31447  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31448  	return c
 31449  }
 31450  
 31451  // FloodlightActivityGroupIds sets the optional parameter
 31452  // "floodlightActivityGroupIds": Select only floodlight activities with
 31453  // the specified floodlight activity group IDs.
 31454  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
 31455  	var floodlightActivityGroupIds_ []string
 31456  	for _, v := range floodlightActivityGroupIds {
 31457  		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
 31458  	}
 31459  	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
 31460  	return c
 31461  }
 31462  
 31463  // FloodlightActivityGroupName sets the optional parameter
 31464  // "floodlightActivityGroupName": Select only floodlight activities with
 31465  // the specified floodlight activity group name.
 31466  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
 31467  	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
 31468  	return c
 31469  }
 31470  
 31471  // FloodlightActivityGroupTagString sets the optional parameter
 31472  // "floodlightActivityGroupTagString": Select only floodlight activities
 31473  // with the specified floodlight activity group tag string.
 31474  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
 31475  	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
 31476  	return c
 31477  }
 31478  
 31479  // FloodlightActivityGroupType sets the optional parameter
 31480  // "floodlightActivityGroupType": Select only floodlight activities with
 31481  // the specified floodlight activity group type.
 31482  //
 31483  // Possible values:
 31484  //
 31485  //	"COUNTER"
 31486  //	"SALE"
 31487  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
 31488  	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
 31489  	return c
 31490  }
 31491  
 31492  // FloodlightConfigurationId sets the optional parameter
 31493  // "floodlightConfigurationId": Select only floodlight activities for
 31494  // the specified floodlight configuration ID. Must specify either ids,
 31495  // advertiserId, or floodlightConfigurationId for a non-empty result.
 31496  func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
 31497  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 31498  	return c
 31499  }
 31500  
 31501  // Ids sets the optional parameter "ids": Select only floodlight
 31502  // activities with the specified IDs. Must specify either ids,
 31503  // advertiserId, or floodlightConfigurationId for a non-empty result.
 31504  func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
 31505  	var ids_ []string
 31506  	for _, v := range ids {
 31507  		ids_ = append(ids_, fmt.Sprint(v))
 31508  	}
 31509  	c.urlParams_.SetMulti("ids", ids_)
 31510  	return c
 31511  }
 31512  
 31513  // MaxResults sets the optional parameter "maxResults": Maximum number
 31514  // of results to return.
 31515  func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
 31516  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 31517  	return c
 31518  }
 31519  
 31520  // PageToken sets the optional parameter "pageToken": Value of the
 31521  // nextPageToken from the previous result page.
 31522  func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
 31523  	c.urlParams_.Set("pageToken", pageToken)
 31524  	return c
 31525  }
 31526  
 31527  // SearchString sets the optional parameter "searchString": Allows
 31528  // searching for objects by name or ID. Wildcards (*) are allowed. For
 31529  // example, "floodlightactivity*2015" will return objects with names
 31530  // like "floodlightactivity June 2015", "floodlightactivity April 2015",
 31531  // or simply "floodlightactivity 2015". Most of the searches also add
 31532  // wildcards implicitly at the start and the end of the search string.
 31533  // For example, a search string of "floodlightactivity" will match
 31534  // objects with name "my floodlightactivity activity",
 31535  // "floodlightactivity 2015", or simply "floodlightactivity".
 31536  func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
 31537  	c.urlParams_.Set("searchString", searchString)
 31538  	return c
 31539  }
 31540  
 31541  // SortField sets the optional parameter "sortField": Field by which to
 31542  // sort the list.
 31543  //
 31544  // Possible values:
 31545  //
 31546  //	"ID" (default)
 31547  //	"NAME"
 31548  func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
 31549  	c.urlParams_.Set("sortField", sortField)
 31550  	return c
 31551  }
 31552  
 31553  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 31554  // results.
 31555  //
 31556  // Possible values:
 31557  //
 31558  //	"ASCENDING" (default)
 31559  //	"DESCENDING"
 31560  func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
 31561  	c.urlParams_.Set("sortOrder", sortOrder)
 31562  	return c
 31563  }
 31564  
 31565  // TagString sets the optional parameter "tagString": Select only
 31566  // floodlight activities with the specified tag string.
 31567  func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
 31568  	c.urlParams_.Set("tagString", tagString)
 31569  	return c
 31570  }
 31571  
 31572  // Fields allows partial responses to be retrieved. See
 31573  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31574  // for more information.
 31575  func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
 31576  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31577  	return c
 31578  }
 31579  
 31580  // IfNoneMatch sets the optional parameter which makes the operation
 31581  // fail if the object's ETag matches the given value. This is useful for
 31582  // getting updates only after the object has changed since the last
 31583  // request. Use googleapi.IsNotModified to check whether the response
 31584  // error from Do is the result of In-None-Match.
 31585  func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
 31586  	c.ifNoneMatch_ = entityTag
 31587  	return c
 31588  }
 31589  
 31590  // Context sets the context to be used in this call's Do method. Any
 31591  // pending HTTP request will be aborted if the provided context is
 31592  // canceled.
 31593  func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
 31594  	c.ctx_ = ctx
 31595  	return c
 31596  }
 31597  
 31598  // Header returns an http.Header that can be modified by the caller to
 31599  // add HTTP headers to the request.
 31600  func (c *FloodlightActivitiesListCall) Header() http.Header {
 31601  	if c.header_ == nil {
 31602  		c.header_ = make(http.Header)
 31603  	}
 31604  	return c.header_
 31605  }
 31606  
 31607  func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 31608  	reqHeaders := make(http.Header)
 31609  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31610  	for k, v := range c.header_ {
 31611  		reqHeaders[k] = v
 31612  	}
 31613  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31614  	if c.ifNoneMatch_ != "" {
 31615  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31616  	}
 31617  	var body io.Reader = nil
 31618  	c.urlParams_.Set("alt", alt)
 31619  	c.urlParams_.Set("prettyPrint", "false")
 31620  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 31621  	urls += "?" + c.urlParams_.Encode()
 31622  	req, err := http.NewRequest("GET", urls, body)
 31623  	if err != nil {
 31624  		return nil, err
 31625  	}
 31626  	req.Header = reqHeaders
 31627  	googleapi.Expand(req.URL, map[string]string{
 31628  		"profileId": strconv.FormatInt(c.profileId, 10),
 31629  	})
 31630  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31631  }
 31632  
 31633  // Do executes the "dfareporting.floodlightActivities.list" call.
 31634  // Exactly one of *FloodlightActivitiesListResponse or error will be
 31635  // non-nil. Any non-2xx status code is an error. Response headers are in
 31636  // either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
 31637  // a response was returned at all) in error.(*googleapi.Error).Header.
 31638  // Use googleapi.IsNotModified to check whether the returned error was
 31639  // because http.StatusNotModified was returned.
 31640  func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
 31641  	gensupport.SetOptions(c.urlParams_, opts...)
 31642  	res, err := c.doRequest("json")
 31643  	if res != nil && res.StatusCode == http.StatusNotModified {
 31644  		if res.Body != nil {
 31645  			res.Body.Close()
 31646  		}
 31647  		return nil, &googleapi.Error{
 31648  			Code:   res.StatusCode,
 31649  			Header: res.Header,
 31650  		}
 31651  	}
 31652  	if err != nil {
 31653  		return nil, err
 31654  	}
 31655  	defer googleapi.CloseBody(res)
 31656  	if err := googleapi.CheckResponse(res); err != nil {
 31657  		return nil, err
 31658  	}
 31659  	ret := &FloodlightActivitiesListResponse{
 31660  		ServerResponse: googleapi.ServerResponse{
 31661  			Header:         res.Header,
 31662  			HTTPStatusCode: res.StatusCode,
 31663  		},
 31664  	}
 31665  	target := &ret
 31666  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31667  		return nil, err
 31668  	}
 31669  	return ret, nil
 31670  	// {
 31671  	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
 31672  	//   "httpMethod": "GET",
 31673  	//   "id": "dfareporting.floodlightActivities.list",
 31674  	//   "parameterOrder": [
 31675  	//     "profileId"
 31676  	//   ],
 31677  	//   "parameters": {
 31678  	//     "advertiserId": {
 31679  	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 31680  	//       "format": "int64",
 31681  	//       "location": "query",
 31682  	//       "type": "string"
 31683  	//     },
 31684  	//     "floodlightActivityGroupIds": {
 31685  	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
 31686  	//       "format": "int64",
 31687  	//       "location": "query",
 31688  	//       "repeated": true,
 31689  	//       "type": "string"
 31690  	//     },
 31691  	//     "floodlightActivityGroupName": {
 31692  	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
 31693  	//       "location": "query",
 31694  	//       "type": "string"
 31695  	//     },
 31696  	//     "floodlightActivityGroupTagString": {
 31697  	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
 31698  	//       "location": "query",
 31699  	//       "type": "string"
 31700  	//     },
 31701  	//     "floodlightActivityGroupType": {
 31702  	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
 31703  	//       "enum": [
 31704  	//         "COUNTER",
 31705  	//         "SALE"
 31706  	//       ],
 31707  	//       "enumDescriptions": [
 31708  	//         "",
 31709  	//         ""
 31710  	//       ],
 31711  	//       "location": "query",
 31712  	//       "type": "string"
 31713  	//     },
 31714  	//     "floodlightConfigurationId": {
 31715  	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 31716  	//       "format": "int64",
 31717  	//       "location": "query",
 31718  	//       "type": "string"
 31719  	//     },
 31720  	//     "ids": {
 31721  	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 31722  	//       "format": "int64",
 31723  	//       "location": "query",
 31724  	//       "repeated": true,
 31725  	//       "type": "string"
 31726  	//     },
 31727  	//     "maxResults": {
 31728  	//       "default": "1000",
 31729  	//       "description": "Maximum number of results to return.",
 31730  	//       "format": "int32",
 31731  	//       "location": "query",
 31732  	//       "maximum": "1000",
 31733  	//       "minimum": "0",
 31734  	//       "type": "integer"
 31735  	//     },
 31736  	//     "pageToken": {
 31737  	//       "description": "Value of the nextPageToken from the previous result page.",
 31738  	//       "location": "query",
 31739  	//       "type": "string"
 31740  	//     },
 31741  	//     "profileId": {
 31742  	//       "description": "User profile ID associated with this request.",
 31743  	//       "format": "int64",
 31744  	//       "location": "path",
 31745  	//       "required": true,
 31746  	//       "type": "string"
 31747  	//     },
 31748  	//     "searchString": {
 31749  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"floodlightactivity*2015\" will return objects with names like \"floodlightactivity June 2015\", \"floodlightactivity April 2015\", or simply \"floodlightactivity 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"floodlightactivity\" will match objects with name \"my floodlightactivity activity\", \"floodlightactivity 2015\", or simply \"floodlightactivity\".",
 31750  	//       "location": "query",
 31751  	//       "type": "string"
 31752  	//     },
 31753  	//     "sortField": {
 31754  	//       "default": "ID",
 31755  	//       "description": "Field by which to sort the list.",
 31756  	//       "enum": [
 31757  	//         "ID",
 31758  	//         "NAME"
 31759  	//       ],
 31760  	//       "enumDescriptions": [
 31761  	//         "",
 31762  	//         ""
 31763  	//       ],
 31764  	//       "location": "query",
 31765  	//       "type": "string"
 31766  	//     },
 31767  	//     "sortOrder": {
 31768  	//       "default": "ASCENDING",
 31769  	//       "description": "Order of sorted results.",
 31770  	//       "enum": [
 31771  	//         "ASCENDING",
 31772  	//         "DESCENDING"
 31773  	//       ],
 31774  	//       "enumDescriptions": [
 31775  	//         "",
 31776  	//         ""
 31777  	//       ],
 31778  	//       "location": "query",
 31779  	//       "type": "string"
 31780  	//     },
 31781  	//     "tagString": {
 31782  	//       "description": "Select only floodlight activities with the specified tag string.",
 31783  	//       "location": "query",
 31784  	//       "type": "string"
 31785  	//     }
 31786  	//   },
 31787  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 31788  	//   "response": {
 31789  	//     "$ref": "FloodlightActivitiesListResponse"
 31790  	//   },
 31791  	//   "scopes": [
 31792  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31793  	//   ]
 31794  	// }
 31795  
 31796  }
 31797  
 31798  // Pages invokes f for each page of results.
 31799  // A non-nil error returned from f will halt the iteration.
 31800  // The provided context supersedes any context provided to the Context method.
 31801  func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
 31802  	c.ctx_ = ctx
 31803  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 31804  	for {
 31805  		x, err := c.Do()
 31806  		if err != nil {
 31807  			return err
 31808  		}
 31809  		if err := f(x); err != nil {
 31810  			return err
 31811  		}
 31812  		if x.NextPageToken == "" {
 31813  			return nil
 31814  		}
 31815  		c.PageToken(x.NextPageToken)
 31816  	}
 31817  }
 31818  
 31819  // method id "dfareporting.floodlightActivities.patch":
 31820  
 31821  type FloodlightActivitiesPatchCall struct {
 31822  	s                  *Service
 31823  	profileId          int64
 31824  	floodlightactivity *FloodlightActivity
 31825  	urlParams_         gensupport.URLParams
 31826  	ctx_               context.Context
 31827  	header_            http.Header
 31828  }
 31829  
 31830  // Patch: Updates an existing floodlight activity. This method supports
 31831  // patch semantics.
 31832  func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
 31833  	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31834  	c.profileId = profileId
 31835  	c.urlParams_.Set("id", fmt.Sprint(id))
 31836  	c.floodlightactivity = floodlightactivity
 31837  	return c
 31838  }
 31839  
 31840  // Fields allows partial responses to be retrieved. See
 31841  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31842  // for more information.
 31843  func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
 31844  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31845  	return c
 31846  }
 31847  
 31848  // Context sets the context to be used in this call's Do method. Any
 31849  // pending HTTP request will be aborted if the provided context is
 31850  // canceled.
 31851  func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
 31852  	c.ctx_ = ctx
 31853  	return c
 31854  }
 31855  
 31856  // Header returns an http.Header that can be modified by the caller to
 31857  // add HTTP headers to the request.
 31858  func (c *FloodlightActivitiesPatchCall) Header() http.Header {
 31859  	if c.header_ == nil {
 31860  		c.header_ = make(http.Header)
 31861  	}
 31862  	return c.header_
 31863  }
 31864  
 31865  func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
 31866  	reqHeaders := make(http.Header)
 31867  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31868  	for k, v := range c.header_ {
 31869  		reqHeaders[k] = v
 31870  	}
 31871  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31872  	var body io.Reader = nil
 31873  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 31874  	if err != nil {
 31875  		return nil, err
 31876  	}
 31877  	reqHeaders.Set("Content-Type", "application/json")
 31878  	c.urlParams_.Set("alt", alt)
 31879  	c.urlParams_.Set("prettyPrint", "false")
 31880  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 31881  	urls += "?" + c.urlParams_.Encode()
 31882  	req, err := http.NewRequest("PATCH", urls, body)
 31883  	if err != nil {
 31884  		return nil, err
 31885  	}
 31886  	req.Header = reqHeaders
 31887  	googleapi.Expand(req.URL, map[string]string{
 31888  		"profileId": strconv.FormatInt(c.profileId, 10),
 31889  	})
 31890  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31891  }
 31892  
 31893  // Do executes the "dfareporting.floodlightActivities.patch" call.
 31894  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 31895  // non-2xx status code is an error. Response headers are in either
 31896  // *FloodlightActivity.ServerResponse.Header or (if a response was
 31897  // returned at all) in error.(*googleapi.Error).Header. Use
 31898  // googleapi.IsNotModified to check whether the returned error was
 31899  // because http.StatusNotModified was returned.
 31900  func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 31901  	gensupport.SetOptions(c.urlParams_, opts...)
 31902  	res, err := c.doRequest("json")
 31903  	if res != nil && res.StatusCode == http.StatusNotModified {
 31904  		if res.Body != nil {
 31905  			res.Body.Close()
 31906  		}
 31907  		return nil, &googleapi.Error{
 31908  			Code:   res.StatusCode,
 31909  			Header: res.Header,
 31910  		}
 31911  	}
 31912  	if err != nil {
 31913  		return nil, err
 31914  	}
 31915  	defer googleapi.CloseBody(res)
 31916  	if err := googleapi.CheckResponse(res); err != nil {
 31917  		return nil, err
 31918  	}
 31919  	ret := &FloodlightActivity{
 31920  		ServerResponse: googleapi.ServerResponse{
 31921  			Header:         res.Header,
 31922  			HTTPStatusCode: res.StatusCode,
 31923  		},
 31924  	}
 31925  	target := &ret
 31926  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31927  		return nil, err
 31928  	}
 31929  	return ret, nil
 31930  	// {
 31931  	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
 31932  	//   "httpMethod": "PATCH",
 31933  	//   "id": "dfareporting.floodlightActivities.patch",
 31934  	//   "parameterOrder": [
 31935  	//     "profileId",
 31936  	//     "id"
 31937  	//   ],
 31938  	//   "parameters": {
 31939  	//     "id": {
 31940  	//       "description": "Floodlight activity ID.",
 31941  	//       "format": "int64",
 31942  	//       "location": "query",
 31943  	//       "required": true,
 31944  	//       "type": "string"
 31945  	//     },
 31946  	//     "profileId": {
 31947  	//       "description": "User profile ID associated with this request.",
 31948  	//       "format": "int64",
 31949  	//       "location": "path",
 31950  	//       "required": true,
 31951  	//       "type": "string"
 31952  	//     }
 31953  	//   },
 31954  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 31955  	//   "request": {
 31956  	//     "$ref": "FloodlightActivity"
 31957  	//   },
 31958  	//   "response": {
 31959  	//     "$ref": "FloodlightActivity"
 31960  	//   },
 31961  	//   "scopes": [
 31962  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31963  	//   ]
 31964  	// }
 31965  
 31966  }
 31967  
 31968  // method id "dfareporting.floodlightActivities.update":
 31969  
 31970  type FloodlightActivitiesUpdateCall struct {
 31971  	s                  *Service
 31972  	profileId          int64
 31973  	floodlightactivity *FloodlightActivity
 31974  	urlParams_         gensupport.URLParams
 31975  	ctx_               context.Context
 31976  	header_            http.Header
 31977  }
 31978  
 31979  // Update: Updates an existing floodlight activity.
 31980  func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
 31981  	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31982  	c.profileId = profileId
 31983  	c.floodlightactivity = floodlightactivity
 31984  	return c
 31985  }
 31986  
 31987  // Fields allows partial responses to be retrieved. See
 31988  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31989  // for more information.
 31990  func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
 31991  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31992  	return c
 31993  }
 31994  
 31995  // Context sets the context to be used in this call's Do method. Any
 31996  // pending HTTP request will be aborted if the provided context is
 31997  // canceled.
 31998  func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
 31999  	c.ctx_ = ctx
 32000  	return c
 32001  }
 32002  
 32003  // Header returns an http.Header that can be modified by the caller to
 32004  // add HTTP headers to the request.
 32005  func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
 32006  	if c.header_ == nil {
 32007  		c.header_ = make(http.Header)
 32008  	}
 32009  	return c.header_
 32010  }
 32011  
 32012  func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 32013  	reqHeaders := make(http.Header)
 32014  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32015  	for k, v := range c.header_ {
 32016  		reqHeaders[k] = v
 32017  	}
 32018  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32019  	var body io.Reader = nil
 32020  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 32021  	if err != nil {
 32022  		return nil, err
 32023  	}
 32024  	reqHeaders.Set("Content-Type", "application/json")
 32025  	c.urlParams_.Set("alt", alt)
 32026  	c.urlParams_.Set("prettyPrint", "false")
 32027  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 32028  	urls += "?" + c.urlParams_.Encode()
 32029  	req, err := http.NewRequest("PUT", urls, body)
 32030  	if err != nil {
 32031  		return nil, err
 32032  	}
 32033  	req.Header = reqHeaders
 32034  	googleapi.Expand(req.URL, map[string]string{
 32035  		"profileId": strconv.FormatInt(c.profileId, 10),
 32036  	})
 32037  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32038  }
 32039  
 32040  // Do executes the "dfareporting.floodlightActivities.update" call.
 32041  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 32042  // non-2xx status code is an error. Response headers are in either
 32043  // *FloodlightActivity.ServerResponse.Header or (if a response was
 32044  // returned at all) in error.(*googleapi.Error).Header. Use
 32045  // googleapi.IsNotModified to check whether the returned error was
 32046  // because http.StatusNotModified was returned.
 32047  func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 32048  	gensupport.SetOptions(c.urlParams_, opts...)
 32049  	res, err := c.doRequest("json")
 32050  	if res != nil && res.StatusCode == http.StatusNotModified {
 32051  		if res.Body != nil {
 32052  			res.Body.Close()
 32053  		}
 32054  		return nil, &googleapi.Error{
 32055  			Code:   res.StatusCode,
 32056  			Header: res.Header,
 32057  		}
 32058  	}
 32059  	if err != nil {
 32060  		return nil, err
 32061  	}
 32062  	defer googleapi.CloseBody(res)
 32063  	if err := googleapi.CheckResponse(res); err != nil {
 32064  		return nil, err
 32065  	}
 32066  	ret := &FloodlightActivity{
 32067  		ServerResponse: googleapi.ServerResponse{
 32068  			Header:         res.Header,
 32069  			HTTPStatusCode: res.StatusCode,
 32070  		},
 32071  	}
 32072  	target := &ret
 32073  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32074  		return nil, err
 32075  	}
 32076  	return ret, nil
 32077  	// {
 32078  	//   "description": "Updates an existing floodlight activity.",
 32079  	//   "httpMethod": "PUT",
 32080  	//   "id": "dfareporting.floodlightActivities.update",
 32081  	//   "parameterOrder": [
 32082  	//     "profileId"
 32083  	//   ],
 32084  	//   "parameters": {
 32085  	//     "profileId": {
 32086  	//       "description": "User profile ID associated with this request.",
 32087  	//       "format": "int64",
 32088  	//       "location": "path",
 32089  	//       "required": true,
 32090  	//       "type": "string"
 32091  	//     }
 32092  	//   },
 32093  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 32094  	//   "request": {
 32095  	//     "$ref": "FloodlightActivity"
 32096  	//   },
 32097  	//   "response": {
 32098  	//     "$ref": "FloodlightActivity"
 32099  	//   },
 32100  	//   "scopes": [
 32101  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32102  	//   ]
 32103  	// }
 32104  
 32105  }
 32106  
 32107  // method id "dfareporting.floodlightActivityGroups.get":
 32108  
 32109  type FloodlightActivityGroupsGetCall struct {
 32110  	s            *Service
 32111  	profileId    int64
 32112  	id           int64
 32113  	urlParams_   gensupport.URLParams
 32114  	ifNoneMatch_ string
 32115  	ctx_         context.Context
 32116  	header_      http.Header
 32117  }
 32118  
 32119  // Get: Gets one floodlight activity group by ID.
 32120  func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
 32121  	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32122  	c.profileId = profileId
 32123  	c.id = id
 32124  	return c
 32125  }
 32126  
 32127  // Fields allows partial responses to be retrieved. See
 32128  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32129  // for more information.
 32130  func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
 32131  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32132  	return c
 32133  }
 32134  
 32135  // IfNoneMatch sets the optional parameter which makes the operation
 32136  // fail if the object's ETag matches the given value. This is useful for
 32137  // getting updates only after the object has changed since the last
 32138  // request. Use googleapi.IsNotModified to check whether the response
 32139  // error from Do is the result of In-None-Match.
 32140  func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
 32141  	c.ifNoneMatch_ = entityTag
 32142  	return c
 32143  }
 32144  
 32145  // Context sets the context to be used in this call's Do method. Any
 32146  // pending HTTP request will be aborted if the provided context is
 32147  // canceled.
 32148  func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
 32149  	c.ctx_ = ctx
 32150  	return c
 32151  }
 32152  
 32153  // Header returns an http.Header that can be modified by the caller to
 32154  // add HTTP headers to the request.
 32155  func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
 32156  	if c.header_ == nil {
 32157  		c.header_ = make(http.Header)
 32158  	}
 32159  	return c.header_
 32160  }
 32161  
 32162  func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 32163  	reqHeaders := make(http.Header)
 32164  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32165  	for k, v := range c.header_ {
 32166  		reqHeaders[k] = v
 32167  	}
 32168  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32169  	if c.ifNoneMatch_ != "" {
 32170  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32171  	}
 32172  	var body io.Reader = nil
 32173  	c.urlParams_.Set("alt", alt)
 32174  	c.urlParams_.Set("prettyPrint", "false")
 32175  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
 32176  	urls += "?" + c.urlParams_.Encode()
 32177  	req, err := http.NewRequest("GET", urls, body)
 32178  	if err != nil {
 32179  		return nil, err
 32180  	}
 32181  	req.Header = reqHeaders
 32182  	googleapi.Expand(req.URL, map[string]string{
 32183  		"profileId": strconv.FormatInt(c.profileId, 10),
 32184  		"id":        strconv.FormatInt(c.id, 10),
 32185  	})
 32186  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32187  }
 32188  
 32189  // Do executes the "dfareporting.floodlightActivityGroups.get" call.
 32190  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 32191  // non-2xx status code is an error. Response headers are in either
 32192  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 32193  // returned at all) in error.(*googleapi.Error).Header. Use
 32194  // googleapi.IsNotModified to check whether the returned error was
 32195  // because http.StatusNotModified was returned.
 32196  func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 32197  	gensupport.SetOptions(c.urlParams_, opts...)
 32198  	res, err := c.doRequest("json")
 32199  	if res != nil && res.StatusCode == http.StatusNotModified {
 32200  		if res.Body != nil {
 32201  			res.Body.Close()
 32202  		}
 32203  		return nil, &googleapi.Error{
 32204  			Code:   res.StatusCode,
 32205  			Header: res.Header,
 32206  		}
 32207  	}
 32208  	if err != nil {
 32209  		return nil, err
 32210  	}
 32211  	defer googleapi.CloseBody(res)
 32212  	if err := googleapi.CheckResponse(res); err != nil {
 32213  		return nil, err
 32214  	}
 32215  	ret := &FloodlightActivityGroup{
 32216  		ServerResponse: googleapi.ServerResponse{
 32217  			Header:         res.Header,
 32218  			HTTPStatusCode: res.StatusCode,
 32219  		},
 32220  	}
 32221  	target := &ret
 32222  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32223  		return nil, err
 32224  	}
 32225  	return ret, nil
 32226  	// {
 32227  	//   "description": "Gets one floodlight activity group by ID.",
 32228  	//   "httpMethod": "GET",
 32229  	//   "id": "dfareporting.floodlightActivityGroups.get",
 32230  	//   "parameterOrder": [
 32231  	//     "profileId",
 32232  	//     "id"
 32233  	//   ],
 32234  	//   "parameters": {
 32235  	//     "id": {
 32236  	//       "description": "Floodlight activity Group ID.",
 32237  	//       "format": "int64",
 32238  	//       "location": "path",
 32239  	//       "required": true,
 32240  	//       "type": "string"
 32241  	//     },
 32242  	//     "profileId": {
 32243  	//       "description": "User profile ID associated with this request.",
 32244  	//       "format": "int64",
 32245  	//       "location": "path",
 32246  	//       "required": true,
 32247  	//       "type": "string"
 32248  	//     }
 32249  	//   },
 32250  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
 32251  	//   "response": {
 32252  	//     "$ref": "FloodlightActivityGroup"
 32253  	//   },
 32254  	//   "scopes": [
 32255  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32256  	//   ]
 32257  	// }
 32258  
 32259  }
 32260  
 32261  // method id "dfareporting.floodlightActivityGroups.insert":
 32262  
 32263  type FloodlightActivityGroupsInsertCall struct {
 32264  	s                       *Service
 32265  	profileId               int64
 32266  	floodlightactivitygroup *FloodlightActivityGroup
 32267  	urlParams_              gensupport.URLParams
 32268  	ctx_                    context.Context
 32269  	header_                 http.Header
 32270  }
 32271  
 32272  // Insert: Inserts a new floodlight activity group.
 32273  func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
 32274  	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32275  	c.profileId = profileId
 32276  	c.floodlightactivitygroup = floodlightactivitygroup
 32277  	return c
 32278  }
 32279  
 32280  // Fields allows partial responses to be retrieved. See
 32281  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32282  // for more information.
 32283  func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
 32284  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32285  	return c
 32286  }
 32287  
 32288  // Context sets the context to be used in this call's Do method. Any
 32289  // pending HTTP request will be aborted if the provided context is
 32290  // canceled.
 32291  func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
 32292  	c.ctx_ = ctx
 32293  	return c
 32294  }
 32295  
 32296  // Header returns an http.Header that can be modified by the caller to
 32297  // add HTTP headers to the request.
 32298  func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
 32299  	if c.header_ == nil {
 32300  		c.header_ = make(http.Header)
 32301  	}
 32302  	return c.header_
 32303  }
 32304  
 32305  func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 32306  	reqHeaders := make(http.Header)
 32307  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32308  	for k, v := range c.header_ {
 32309  		reqHeaders[k] = v
 32310  	}
 32311  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32312  	var body io.Reader = nil
 32313  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 32314  	if err != nil {
 32315  		return nil, err
 32316  	}
 32317  	reqHeaders.Set("Content-Type", "application/json")
 32318  	c.urlParams_.Set("alt", alt)
 32319  	c.urlParams_.Set("prettyPrint", "false")
 32320  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 32321  	urls += "?" + c.urlParams_.Encode()
 32322  	req, err := http.NewRequest("POST", urls, body)
 32323  	if err != nil {
 32324  		return nil, err
 32325  	}
 32326  	req.Header = reqHeaders
 32327  	googleapi.Expand(req.URL, map[string]string{
 32328  		"profileId": strconv.FormatInt(c.profileId, 10),
 32329  	})
 32330  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32331  }
 32332  
 32333  // Do executes the "dfareporting.floodlightActivityGroups.insert" call.
 32334  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 32335  // non-2xx status code is an error. Response headers are in either
 32336  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 32337  // returned at all) in error.(*googleapi.Error).Header. Use
 32338  // googleapi.IsNotModified to check whether the returned error was
 32339  // because http.StatusNotModified was returned.
 32340  func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 32341  	gensupport.SetOptions(c.urlParams_, opts...)
 32342  	res, err := c.doRequest("json")
 32343  	if res != nil && res.StatusCode == http.StatusNotModified {
 32344  		if res.Body != nil {
 32345  			res.Body.Close()
 32346  		}
 32347  		return nil, &googleapi.Error{
 32348  			Code:   res.StatusCode,
 32349  			Header: res.Header,
 32350  		}
 32351  	}
 32352  	if err != nil {
 32353  		return nil, err
 32354  	}
 32355  	defer googleapi.CloseBody(res)
 32356  	if err := googleapi.CheckResponse(res); err != nil {
 32357  		return nil, err
 32358  	}
 32359  	ret := &FloodlightActivityGroup{
 32360  		ServerResponse: googleapi.ServerResponse{
 32361  			Header:         res.Header,
 32362  			HTTPStatusCode: res.StatusCode,
 32363  		},
 32364  	}
 32365  	target := &ret
 32366  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32367  		return nil, err
 32368  	}
 32369  	return ret, nil
 32370  	// {
 32371  	//   "description": "Inserts a new floodlight activity group.",
 32372  	//   "httpMethod": "POST",
 32373  	//   "id": "dfareporting.floodlightActivityGroups.insert",
 32374  	//   "parameterOrder": [
 32375  	//     "profileId"
 32376  	//   ],
 32377  	//   "parameters": {
 32378  	//     "profileId": {
 32379  	//       "description": "User profile ID associated with this request.",
 32380  	//       "format": "int64",
 32381  	//       "location": "path",
 32382  	//       "required": true,
 32383  	//       "type": "string"
 32384  	//     }
 32385  	//   },
 32386  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 32387  	//   "request": {
 32388  	//     "$ref": "FloodlightActivityGroup"
 32389  	//   },
 32390  	//   "response": {
 32391  	//     "$ref": "FloodlightActivityGroup"
 32392  	//   },
 32393  	//   "scopes": [
 32394  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32395  	//   ]
 32396  	// }
 32397  
 32398  }
 32399  
 32400  // method id "dfareporting.floodlightActivityGroups.list":
 32401  
 32402  type FloodlightActivityGroupsListCall struct {
 32403  	s            *Service
 32404  	profileId    int64
 32405  	urlParams_   gensupport.URLParams
 32406  	ifNoneMatch_ string
 32407  	ctx_         context.Context
 32408  	header_      http.Header
 32409  }
 32410  
 32411  // List: Retrieves a list of floodlight activity groups, possibly
 32412  // filtered. This method supports paging.
 32413  func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
 32414  	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32415  	c.profileId = profileId
 32416  	return c
 32417  }
 32418  
 32419  // AdvertiserId sets the optional parameter "advertiserId": Select only
 32420  // floodlight activity groups with the specified advertiser ID. Must
 32421  // specify either advertiserId or floodlightConfigurationId for a
 32422  // non-empty result.
 32423  func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
 32424  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32425  	return c
 32426  }
 32427  
 32428  // FloodlightConfigurationId sets the optional parameter
 32429  // "floodlightConfigurationId": Select only floodlight activity groups
 32430  // with the specified floodlight configuration ID. Must specify either
 32431  // advertiserId, or floodlightConfigurationId for a non-empty result.
 32432  func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
 32433  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 32434  	return c
 32435  }
 32436  
 32437  // Ids sets the optional parameter "ids": Select only floodlight
 32438  // activity groups with the specified IDs. Must specify either
 32439  // advertiserId or floodlightConfigurationId for a non-empty result.
 32440  func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
 32441  	var ids_ []string
 32442  	for _, v := range ids {
 32443  		ids_ = append(ids_, fmt.Sprint(v))
 32444  	}
 32445  	c.urlParams_.SetMulti("ids", ids_)
 32446  	return c
 32447  }
 32448  
 32449  // MaxResults sets the optional parameter "maxResults": Maximum number
 32450  // of results to return.
 32451  func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
 32452  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 32453  	return c
 32454  }
 32455  
 32456  // PageToken sets the optional parameter "pageToken": Value of the
 32457  // nextPageToken from the previous result page.
 32458  func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
 32459  	c.urlParams_.Set("pageToken", pageToken)
 32460  	return c
 32461  }
 32462  
 32463  // SearchString sets the optional parameter "searchString": Allows
 32464  // searching for objects by name or ID. Wildcards (*) are allowed. For
 32465  // example, "floodlightactivitygroup*2015" will return objects with
 32466  // names like "floodlightactivitygroup June 2015",
 32467  // "floodlightactivitygroup April 2015", or simply
 32468  // "floodlightactivitygroup 2015". Most of the searches also add
 32469  // wildcards implicitly at the start and the end of the search string.
 32470  // For example, a search string of "floodlightactivitygroup" will match
 32471  // objects with name "my floodlightactivitygroup activity",
 32472  // "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
 32473  func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
 32474  	c.urlParams_.Set("searchString", searchString)
 32475  	return c
 32476  }
 32477  
 32478  // SortField sets the optional parameter "sortField": Field by which to
 32479  // sort the list.
 32480  //
 32481  // Possible values:
 32482  //
 32483  //	"ID" (default)
 32484  //	"NAME"
 32485  func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
 32486  	c.urlParams_.Set("sortField", sortField)
 32487  	return c
 32488  }
 32489  
 32490  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 32491  // results.
 32492  //
 32493  // Possible values:
 32494  //
 32495  //	"ASCENDING" (default)
 32496  //	"DESCENDING"
 32497  func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
 32498  	c.urlParams_.Set("sortOrder", sortOrder)
 32499  	return c
 32500  }
 32501  
 32502  // Type sets the optional parameter "type": Select only floodlight
 32503  // activity groups with the specified floodlight activity group type.
 32504  //
 32505  // Possible values:
 32506  //
 32507  //	"COUNTER"
 32508  //	"SALE"
 32509  func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
 32510  	c.urlParams_.Set("type", type_)
 32511  	return c
 32512  }
 32513  
 32514  // Fields allows partial responses to be retrieved. See
 32515  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32516  // for more information.
 32517  func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
 32518  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32519  	return c
 32520  }
 32521  
 32522  // IfNoneMatch sets the optional parameter which makes the operation
 32523  // fail if the object's ETag matches the given value. This is useful for
 32524  // getting updates only after the object has changed since the last
 32525  // request. Use googleapi.IsNotModified to check whether the response
 32526  // error from Do is the result of In-None-Match.
 32527  func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
 32528  	c.ifNoneMatch_ = entityTag
 32529  	return c
 32530  }
 32531  
 32532  // Context sets the context to be used in this call's Do method. Any
 32533  // pending HTTP request will be aborted if the provided context is
 32534  // canceled.
 32535  func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
 32536  	c.ctx_ = ctx
 32537  	return c
 32538  }
 32539  
 32540  // Header returns an http.Header that can be modified by the caller to
 32541  // add HTTP headers to the request.
 32542  func (c *FloodlightActivityGroupsListCall) Header() http.Header {
 32543  	if c.header_ == nil {
 32544  		c.header_ = make(http.Header)
 32545  	}
 32546  	return c.header_
 32547  }
 32548  
 32549  func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 32550  	reqHeaders := make(http.Header)
 32551  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32552  	for k, v := range c.header_ {
 32553  		reqHeaders[k] = v
 32554  	}
 32555  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32556  	if c.ifNoneMatch_ != "" {
 32557  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32558  	}
 32559  	var body io.Reader = nil
 32560  	c.urlParams_.Set("alt", alt)
 32561  	c.urlParams_.Set("prettyPrint", "false")
 32562  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 32563  	urls += "?" + c.urlParams_.Encode()
 32564  	req, err := http.NewRequest("GET", urls, body)
 32565  	if err != nil {
 32566  		return nil, err
 32567  	}
 32568  	req.Header = reqHeaders
 32569  	googleapi.Expand(req.URL, map[string]string{
 32570  		"profileId": strconv.FormatInt(c.profileId, 10),
 32571  	})
 32572  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32573  }
 32574  
 32575  // Do executes the "dfareporting.floodlightActivityGroups.list" call.
 32576  // Exactly one of *FloodlightActivityGroupsListResponse or error will be
 32577  // non-nil. Any non-2xx status code is an error. Response headers are in
 32578  // either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
 32579  // (if a response was returned at all) in
 32580  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 32581  // whether the returned error was because http.StatusNotModified was
 32582  // returned.
 32583  func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
 32584  	gensupport.SetOptions(c.urlParams_, opts...)
 32585  	res, err := c.doRequest("json")
 32586  	if res != nil && res.StatusCode == http.StatusNotModified {
 32587  		if res.Body != nil {
 32588  			res.Body.Close()
 32589  		}
 32590  		return nil, &googleapi.Error{
 32591  			Code:   res.StatusCode,
 32592  			Header: res.Header,
 32593  		}
 32594  	}
 32595  	if err != nil {
 32596  		return nil, err
 32597  	}
 32598  	defer googleapi.CloseBody(res)
 32599  	if err := googleapi.CheckResponse(res); err != nil {
 32600  		return nil, err
 32601  	}
 32602  	ret := &FloodlightActivityGroupsListResponse{
 32603  		ServerResponse: googleapi.ServerResponse{
 32604  			Header:         res.Header,
 32605  			HTTPStatusCode: res.StatusCode,
 32606  		},
 32607  	}
 32608  	target := &ret
 32609  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32610  		return nil, err
 32611  	}
 32612  	return ret, nil
 32613  	// {
 32614  	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
 32615  	//   "httpMethod": "GET",
 32616  	//   "id": "dfareporting.floodlightActivityGroups.list",
 32617  	//   "parameterOrder": [
 32618  	//     "profileId"
 32619  	//   ],
 32620  	//   "parameters": {
 32621  	//     "advertiserId": {
 32622  	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 32623  	//       "format": "int64",
 32624  	//       "location": "query",
 32625  	//       "type": "string"
 32626  	//     },
 32627  	//     "floodlightConfigurationId": {
 32628  	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
 32629  	//       "format": "int64",
 32630  	//       "location": "query",
 32631  	//       "type": "string"
 32632  	//     },
 32633  	//     "ids": {
 32634  	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 32635  	//       "format": "int64",
 32636  	//       "location": "query",
 32637  	//       "repeated": true,
 32638  	//       "type": "string"
 32639  	//     },
 32640  	//     "maxResults": {
 32641  	//       "default": "1000",
 32642  	//       "description": "Maximum number of results to return.",
 32643  	//       "format": "int32",
 32644  	//       "location": "query",
 32645  	//       "maximum": "1000",
 32646  	//       "minimum": "0",
 32647  	//       "type": "integer"
 32648  	//     },
 32649  	//     "pageToken": {
 32650  	//       "description": "Value of the nextPageToken from the previous result page.",
 32651  	//       "location": "query",
 32652  	//       "type": "string"
 32653  	//     },
 32654  	//     "profileId": {
 32655  	//       "description": "User profile ID associated with this request.",
 32656  	//       "format": "int64",
 32657  	//       "location": "path",
 32658  	//       "required": true,
 32659  	//       "type": "string"
 32660  	//     },
 32661  	//     "searchString": {
 32662  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"floodlightactivitygroup*2015\" will return objects with names like \"floodlightactivitygroup June 2015\", \"floodlightactivitygroup April 2015\", or simply \"floodlightactivitygroup 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"floodlightactivitygroup\" will match objects with name \"my floodlightactivitygroup activity\", \"floodlightactivitygroup 2015\", or simply \"floodlightactivitygroup\".",
 32663  	//       "location": "query",
 32664  	//       "type": "string"
 32665  	//     },
 32666  	//     "sortField": {
 32667  	//       "default": "ID",
 32668  	//       "description": "Field by which to sort the list.",
 32669  	//       "enum": [
 32670  	//         "ID",
 32671  	//         "NAME"
 32672  	//       ],
 32673  	//       "enumDescriptions": [
 32674  	//         "",
 32675  	//         ""
 32676  	//       ],
 32677  	//       "location": "query",
 32678  	//       "type": "string"
 32679  	//     },
 32680  	//     "sortOrder": {
 32681  	//       "default": "ASCENDING",
 32682  	//       "description": "Order of sorted results.",
 32683  	//       "enum": [
 32684  	//         "ASCENDING",
 32685  	//         "DESCENDING"
 32686  	//       ],
 32687  	//       "enumDescriptions": [
 32688  	//         "",
 32689  	//         ""
 32690  	//       ],
 32691  	//       "location": "query",
 32692  	//       "type": "string"
 32693  	//     },
 32694  	//     "type": {
 32695  	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
 32696  	//       "enum": [
 32697  	//         "COUNTER",
 32698  	//         "SALE"
 32699  	//       ],
 32700  	//       "enumDescriptions": [
 32701  	//         "",
 32702  	//         ""
 32703  	//       ],
 32704  	//       "location": "query",
 32705  	//       "type": "string"
 32706  	//     }
 32707  	//   },
 32708  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 32709  	//   "response": {
 32710  	//     "$ref": "FloodlightActivityGroupsListResponse"
 32711  	//   },
 32712  	//   "scopes": [
 32713  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32714  	//   ]
 32715  	// }
 32716  
 32717  }
 32718  
 32719  // Pages invokes f for each page of results.
 32720  // A non-nil error returned from f will halt the iteration.
 32721  // The provided context supersedes any context provided to the Context method.
 32722  func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
 32723  	c.ctx_ = ctx
 32724  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 32725  	for {
 32726  		x, err := c.Do()
 32727  		if err != nil {
 32728  			return err
 32729  		}
 32730  		if err := f(x); err != nil {
 32731  			return err
 32732  		}
 32733  		if x.NextPageToken == "" {
 32734  			return nil
 32735  		}
 32736  		c.PageToken(x.NextPageToken)
 32737  	}
 32738  }
 32739  
 32740  // method id "dfareporting.floodlightActivityGroups.patch":
 32741  
 32742  type FloodlightActivityGroupsPatchCall struct {
 32743  	s                       *Service
 32744  	profileId               int64
 32745  	floodlightactivitygroup *FloodlightActivityGroup
 32746  	urlParams_              gensupport.URLParams
 32747  	ctx_                    context.Context
 32748  	header_                 http.Header
 32749  }
 32750  
 32751  // Patch: Updates an existing floodlight activity group. This method
 32752  // supports patch semantics.
 32753  func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
 32754  	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32755  	c.profileId = profileId
 32756  	c.urlParams_.Set("id", fmt.Sprint(id))
 32757  	c.floodlightactivitygroup = floodlightactivitygroup
 32758  	return c
 32759  }
 32760  
 32761  // Fields allows partial responses to be retrieved. See
 32762  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32763  // for more information.
 32764  func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
 32765  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32766  	return c
 32767  }
 32768  
 32769  // Context sets the context to be used in this call's Do method. Any
 32770  // pending HTTP request will be aborted if the provided context is
 32771  // canceled.
 32772  func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
 32773  	c.ctx_ = ctx
 32774  	return c
 32775  }
 32776  
 32777  // Header returns an http.Header that can be modified by the caller to
 32778  // add HTTP headers to the request.
 32779  func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
 32780  	if c.header_ == nil {
 32781  		c.header_ = make(http.Header)
 32782  	}
 32783  	return c.header_
 32784  }
 32785  
 32786  func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 32787  	reqHeaders := make(http.Header)
 32788  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32789  	for k, v := range c.header_ {
 32790  		reqHeaders[k] = v
 32791  	}
 32792  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32793  	var body io.Reader = nil
 32794  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 32795  	if err != nil {
 32796  		return nil, err
 32797  	}
 32798  	reqHeaders.Set("Content-Type", "application/json")
 32799  	c.urlParams_.Set("alt", alt)
 32800  	c.urlParams_.Set("prettyPrint", "false")
 32801  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 32802  	urls += "?" + c.urlParams_.Encode()
 32803  	req, err := http.NewRequest("PATCH", urls, body)
 32804  	if err != nil {
 32805  		return nil, err
 32806  	}
 32807  	req.Header = reqHeaders
 32808  	googleapi.Expand(req.URL, map[string]string{
 32809  		"profileId": strconv.FormatInt(c.profileId, 10),
 32810  	})
 32811  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32812  }
 32813  
 32814  // Do executes the "dfareporting.floodlightActivityGroups.patch" call.
 32815  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 32816  // non-2xx status code is an error. Response headers are in either
 32817  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 32818  // returned at all) in error.(*googleapi.Error).Header. Use
 32819  // googleapi.IsNotModified to check whether the returned error was
 32820  // because http.StatusNotModified was returned.
 32821  func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 32822  	gensupport.SetOptions(c.urlParams_, opts...)
 32823  	res, err := c.doRequest("json")
 32824  	if res != nil && res.StatusCode == http.StatusNotModified {
 32825  		if res.Body != nil {
 32826  			res.Body.Close()
 32827  		}
 32828  		return nil, &googleapi.Error{
 32829  			Code:   res.StatusCode,
 32830  			Header: res.Header,
 32831  		}
 32832  	}
 32833  	if err != nil {
 32834  		return nil, err
 32835  	}
 32836  	defer googleapi.CloseBody(res)
 32837  	if err := googleapi.CheckResponse(res); err != nil {
 32838  		return nil, err
 32839  	}
 32840  	ret := &FloodlightActivityGroup{
 32841  		ServerResponse: googleapi.ServerResponse{
 32842  			Header:         res.Header,
 32843  			HTTPStatusCode: res.StatusCode,
 32844  		},
 32845  	}
 32846  	target := &ret
 32847  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32848  		return nil, err
 32849  	}
 32850  	return ret, nil
 32851  	// {
 32852  	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
 32853  	//   "httpMethod": "PATCH",
 32854  	//   "id": "dfareporting.floodlightActivityGroups.patch",
 32855  	//   "parameterOrder": [
 32856  	//     "profileId",
 32857  	//     "id"
 32858  	//   ],
 32859  	//   "parameters": {
 32860  	//     "id": {
 32861  	//       "description": "Floodlight activity Group ID.",
 32862  	//       "format": "int64",
 32863  	//       "location": "query",
 32864  	//       "required": true,
 32865  	//       "type": "string"
 32866  	//     },
 32867  	//     "profileId": {
 32868  	//       "description": "User profile ID associated with this request.",
 32869  	//       "format": "int64",
 32870  	//       "location": "path",
 32871  	//       "required": true,
 32872  	//       "type": "string"
 32873  	//     }
 32874  	//   },
 32875  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 32876  	//   "request": {
 32877  	//     "$ref": "FloodlightActivityGroup"
 32878  	//   },
 32879  	//   "response": {
 32880  	//     "$ref": "FloodlightActivityGroup"
 32881  	//   },
 32882  	//   "scopes": [
 32883  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32884  	//   ]
 32885  	// }
 32886  
 32887  }
 32888  
 32889  // method id "dfareporting.floodlightActivityGroups.update":
 32890  
 32891  type FloodlightActivityGroupsUpdateCall struct {
 32892  	s                       *Service
 32893  	profileId               int64
 32894  	floodlightactivitygroup *FloodlightActivityGroup
 32895  	urlParams_              gensupport.URLParams
 32896  	ctx_                    context.Context
 32897  	header_                 http.Header
 32898  }
 32899  
 32900  // Update: Updates an existing floodlight activity group.
 32901  func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
 32902  	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32903  	c.profileId = profileId
 32904  	c.floodlightactivitygroup = floodlightactivitygroup
 32905  	return c
 32906  }
 32907  
 32908  // Fields allows partial responses to be retrieved. See
 32909  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32910  // for more information.
 32911  func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
 32912  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32913  	return c
 32914  }
 32915  
 32916  // Context sets the context to be used in this call's Do method. Any
 32917  // pending HTTP request will be aborted if the provided context is
 32918  // canceled.
 32919  func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
 32920  	c.ctx_ = ctx
 32921  	return c
 32922  }
 32923  
 32924  // Header returns an http.Header that can be modified by the caller to
 32925  // add HTTP headers to the request.
 32926  func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
 32927  	if c.header_ == nil {
 32928  		c.header_ = make(http.Header)
 32929  	}
 32930  	return c.header_
 32931  }
 32932  
 32933  func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 32934  	reqHeaders := make(http.Header)
 32935  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32936  	for k, v := range c.header_ {
 32937  		reqHeaders[k] = v
 32938  	}
 32939  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32940  	var body io.Reader = nil
 32941  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 32942  	if err != nil {
 32943  		return nil, err
 32944  	}
 32945  	reqHeaders.Set("Content-Type", "application/json")
 32946  	c.urlParams_.Set("alt", alt)
 32947  	c.urlParams_.Set("prettyPrint", "false")
 32948  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 32949  	urls += "?" + c.urlParams_.Encode()
 32950  	req, err := http.NewRequest("PUT", urls, body)
 32951  	if err != nil {
 32952  		return nil, err
 32953  	}
 32954  	req.Header = reqHeaders
 32955  	googleapi.Expand(req.URL, map[string]string{
 32956  		"profileId": strconv.FormatInt(c.profileId, 10),
 32957  	})
 32958  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32959  }
 32960  
 32961  // Do executes the "dfareporting.floodlightActivityGroups.update" call.
 32962  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 32963  // non-2xx status code is an error. Response headers are in either
 32964  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 32965  // returned at all) in error.(*googleapi.Error).Header. Use
 32966  // googleapi.IsNotModified to check whether the returned error was
 32967  // because http.StatusNotModified was returned.
 32968  func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 32969  	gensupport.SetOptions(c.urlParams_, opts...)
 32970  	res, err := c.doRequest("json")
 32971  	if res != nil && res.StatusCode == http.StatusNotModified {
 32972  		if res.Body != nil {
 32973  			res.Body.Close()
 32974  		}
 32975  		return nil, &googleapi.Error{
 32976  			Code:   res.StatusCode,
 32977  			Header: res.Header,
 32978  		}
 32979  	}
 32980  	if err != nil {
 32981  		return nil, err
 32982  	}
 32983  	defer googleapi.CloseBody(res)
 32984  	if err := googleapi.CheckResponse(res); err != nil {
 32985  		return nil, err
 32986  	}
 32987  	ret := &FloodlightActivityGroup{
 32988  		ServerResponse: googleapi.ServerResponse{
 32989  			Header:         res.Header,
 32990  			HTTPStatusCode: res.StatusCode,
 32991  		},
 32992  	}
 32993  	target := &ret
 32994  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32995  		return nil, err
 32996  	}
 32997  	return ret, nil
 32998  	// {
 32999  	//   "description": "Updates an existing floodlight activity group.",
 33000  	//   "httpMethod": "PUT",
 33001  	//   "id": "dfareporting.floodlightActivityGroups.update",
 33002  	//   "parameterOrder": [
 33003  	//     "profileId"
 33004  	//   ],
 33005  	//   "parameters": {
 33006  	//     "profileId": {
 33007  	//       "description": "User profile ID associated with this request.",
 33008  	//       "format": "int64",
 33009  	//       "location": "path",
 33010  	//       "required": true,
 33011  	//       "type": "string"
 33012  	//     }
 33013  	//   },
 33014  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 33015  	//   "request": {
 33016  	//     "$ref": "FloodlightActivityGroup"
 33017  	//   },
 33018  	//   "response": {
 33019  	//     "$ref": "FloodlightActivityGroup"
 33020  	//   },
 33021  	//   "scopes": [
 33022  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33023  	//   ]
 33024  	// }
 33025  
 33026  }
 33027  
 33028  // method id "dfareporting.floodlightConfigurations.get":
 33029  
 33030  type FloodlightConfigurationsGetCall struct {
 33031  	s            *Service
 33032  	profileId    int64
 33033  	id           int64
 33034  	urlParams_   gensupport.URLParams
 33035  	ifNoneMatch_ string
 33036  	ctx_         context.Context
 33037  	header_      http.Header
 33038  }
 33039  
 33040  // Get: Gets one floodlight configuration by ID.
 33041  func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
 33042  	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33043  	c.profileId = profileId
 33044  	c.id = id
 33045  	return c
 33046  }
 33047  
 33048  // Fields allows partial responses to be retrieved. See
 33049  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33050  // for more information.
 33051  func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
 33052  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33053  	return c
 33054  }
 33055  
 33056  // IfNoneMatch sets the optional parameter which makes the operation
 33057  // fail if the object's ETag matches the given value. This is useful for
 33058  // getting updates only after the object has changed since the last
 33059  // request. Use googleapi.IsNotModified to check whether the response
 33060  // error from Do is the result of In-None-Match.
 33061  func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
 33062  	c.ifNoneMatch_ = entityTag
 33063  	return c
 33064  }
 33065  
 33066  // Context sets the context to be used in this call's Do method. Any
 33067  // pending HTTP request will be aborted if the provided context is
 33068  // canceled.
 33069  func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
 33070  	c.ctx_ = ctx
 33071  	return c
 33072  }
 33073  
 33074  // Header returns an http.Header that can be modified by the caller to
 33075  // add HTTP headers to the request.
 33076  func (c *FloodlightConfigurationsGetCall) Header() http.Header {
 33077  	if c.header_ == nil {
 33078  		c.header_ = make(http.Header)
 33079  	}
 33080  	return c.header_
 33081  }
 33082  
 33083  func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 33084  	reqHeaders := make(http.Header)
 33085  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33086  	for k, v := range c.header_ {
 33087  		reqHeaders[k] = v
 33088  	}
 33089  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33090  	if c.ifNoneMatch_ != "" {
 33091  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33092  	}
 33093  	var body io.Reader = nil
 33094  	c.urlParams_.Set("alt", alt)
 33095  	c.urlParams_.Set("prettyPrint", "false")
 33096  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
 33097  	urls += "?" + c.urlParams_.Encode()
 33098  	req, err := http.NewRequest("GET", urls, body)
 33099  	if err != nil {
 33100  		return nil, err
 33101  	}
 33102  	req.Header = reqHeaders
 33103  	googleapi.Expand(req.URL, map[string]string{
 33104  		"profileId": strconv.FormatInt(c.profileId, 10),
 33105  		"id":        strconv.FormatInt(c.id, 10),
 33106  	})
 33107  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33108  }
 33109  
 33110  // Do executes the "dfareporting.floodlightConfigurations.get" call.
 33111  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 33112  // non-2xx status code is an error. Response headers are in either
 33113  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 33114  // returned at all) in error.(*googleapi.Error).Header. Use
 33115  // googleapi.IsNotModified to check whether the returned error was
 33116  // because http.StatusNotModified was returned.
 33117  func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 33118  	gensupport.SetOptions(c.urlParams_, opts...)
 33119  	res, err := c.doRequest("json")
 33120  	if res != nil && res.StatusCode == http.StatusNotModified {
 33121  		if res.Body != nil {
 33122  			res.Body.Close()
 33123  		}
 33124  		return nil, &googleapi.Error{
 33125  			Code:   res.StatusCode,
 33126  			Header: res.Header,
 33127  		}
 33128  	}
 33129  	if err != nil {
 33130  		return nil, err
 33131  	}
 33132  	defer googleapi.CloseBody(res)
 33133  	if err := googleapi.CheckResponse(res); err != nil {
 33134  		return nil, err
 33135  	}
 33136  	ret := &FloodlightConfiguration{
 33137  		ServerResponse: googleapi.ServerResponse{
 33138  			Header:         res.Header,
 33139  			HTTPStatusCode: res.StatusCode,
 33140  		},
 33141  	}
 33142  	target := &ret
 33143  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33144  		return nil, err
 33145  	}
 33146  	return ret, nil
 33147  	// {
 33148  	//   "description": "Gets one floodlight configuration by ID.",
 33149  	//   "httpMethod": "GET",
 33150  	//   "id": "dfareporting.floodlightConfigurations.get",
 33151  	//   "parameterOrder": [
 33152  	//     "profileId",
 33153  	//     "id"
 33154  	//   ],
 33155  	//   "parameters": {
 33156  	//     "id": {
 33157  	//       "description": "Floodlight configuration ID.",
 33158  	//       "format": "int64",
 33159  	//       "location": "path",
 33160  	//       "required": true,
 33161  	//       "type": "string"
 33162  	//     },
 33163  	//     "profileId": {
 33164  	//       "description": "User profile ID associated with this request.",
 33165  	//       "format": "int64",
 33166  	//       "location": "path",
 33167  	//       "required": true,
 33168  	//       "type": "string"
 33169  	//     }
 33170  	//   },
 33171  	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
 33172  	//   "response": {
 33173  	//     "$ref": "FloodlightConfiguration"
 33174  	//   },
 33175  	//   "scopes": [
 33176  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33177  	//   ]
 33178  	// }
 33179  
 33180  }
 33181  
 33182  // method id "dfareporting.floodlightConfigurations.list":
 33183  
 33184  type FloodlightConfigurationsListCall struct {
 33185  	s            *Service
 33186  	profileId    int64
 33187  	urlParams_   gensupport.URLParams
 33188  	ifNoneMatch_ string
 33189  	ctx_         context.Context
 33190  	header_      http.Header
 33191  }
 33192  
 33193  // List: Retrieves a list of floodlight configurations, possibly
 33194  // filtered.
 33195  func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
 33196  	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33197  	c.profileId = profileId
 33198  	return c
 33199  }
 33200  
 33201  // Ids sets the optional parameter "ids": Set of IDs of floodlight
 33202  // configurations to retrieve. Required field; otherwise an empty list
 33203  // will be returned.
 33204  func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
 33205  	var ids_ []string
 33206  	for _, v := range ids {
 33207  		ids_ = append(ids_, fmt.Sprint(v))
 33208  	}
 33209  	c.urlParams_.SetMulti("ids", ids_)
 33210  	return c
 33211  }
 33212  
 33213  // Fields allows partial responses to be retrieved. See
 33214  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33215  // for more information.
 33216  func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
 33217  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33218  	return c
 33219  }
 33220  
 33221  // IfNoneMatch sets the optional parameter which makes the operation
 33222  // fail if the object's ETag matches the given value. This is useful for
 33223  // getting updates only after the object has changed since the last
 33224  // request. Use googleapi.IsNotModified to check whether the response
 33225  // error from Do is the result of In-None-Match.
 33226  func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
 33227  	c.ifNoneMatch_ = entityTag
 33228  	return c
 33229  }
 33230  
 33231  // Context sets the context to be used in this call's Do method. Any
 33232  // pending HTTP request will be aborted if the provided context is
 33233  // canceled.
 33234  func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
 33235  	c.ctx_ = ctx
 33236  	return c
 33237  }
 33238  
 33239  // Header returns an http.Header that can be modified by the caller to
 33240  // add HTTP headers to the request.
 33241  func (c *FloodlightConfigurationsListCall) Header() http.Header {
 33242  	if c.header_ == nil {
 33243  		c.header_ = make(http.Header)
 33244  	}
 33245  	return c.header_
 33246  }
 33247  
 33248  func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 33249  	reqHeaders := make(http.Header)
 33250  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33251  	for k, v := range c.header_ {
 33252  		reqHeaders[k] = v
 33253  	}
 33254  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33255  	if c.ifNoneMatch_ != "" {
 33256  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33257  	}
 33258  	var body io.Reader = nil
 33259  	c.urlParams_.Set("alt", alt)
 33260  	c.urlParams_.Set("prettyPrint", "false")
 33261  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 33262  	urls += "?" + c.urlParams_.Encode()
 33263  	req, err := http.NewRequest("GET", urls, body)
 33264  	if err != nil {
 33265  		return nil, err
 33266  	}
 33267  	req.Header = reqHeaders
 33268  	googleapi.Expand(req.URL, map[string]string{
 33269  		"profileId": strconv.FormatInt(c.profileId, 10),
 33270  	})
 33271  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33272  }
 33273  
 33274  // Do executes the "dfareporting.floodlightConfigurations.list" call.
 33275  // Exactly one of *FloodlightConfigurationsListResponse or error will be
 33276  // non-nil. Any non-2xx status code is an error. Response headers are in
 33277  // either *FloodlightConfigurationsListResponse.ServerResponse.Header or
 33278  // (if a response was returned at all) in
 33279  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 33280  // whether the returned error was because http.StatusNotModified was
 33281  // returned.
 33282  func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
 33283  	gensupport.SetOptions(c.urlParams_, opts...)
 33284  	res, err := c.doRequest("json")
 33285  	if res != nil && res.StatusCode == http.StatusNotModified {
 33286  		if res.Body != nil {
 33287  			res.Body.Close()
 33288  		}
 33289  		return nil, &googleapi.Error{
 33290  			Code:   res.StatusCode,
 33291  			Header: res.Header,
 33292  		}
 33293  	}
 33294  	if err != nil {
 33295  		return nil, err
 33296  	}
 33297  	defer googleapi.CloseBody(res)
 33298  	if err := googleapi.CheckResponse(res); err != nil {
 33299  		return nil, err
 33300  	}
 33301  	ret := &FloodlightConfigurationsListResponse{
 33302  		ServerResponse: googleapi.ServerResponse{
 33303  			Header:         res.Header,
 33304  			HTTPStatusCode: res.StatusCode,
 33305  		},
 33306  	}
 33307  	target := &ret
 33308  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33309  		return nil, err
 33310  	}
 33311  	return ret, nil
 33312  	// {
 33313  	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
 33314  	//   "httpMethod": "GET",
 33315  	//   "id": "dfareporting.floodlightConfigurations.list",
 33316  	//   "parameterOrder": [
 33317  	//     "profileId"
 33318  	//   ],
 33319  	//   "parameters": {
 33320  	//     "ids": {
 33321  	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
 33322  	//       "format": "int64",
 33323  	//       "location": "query",
 33324  	//       "repeated": true,
 33325  	//       "type": "string"
 33326  	//     },
 33327  	//     "profileId": {
 33328  	//       "description": "User profile ID associated with this request.",
 33329  	//       "format": "int64",
 33330  	//       "location": "path",
 33331  	//       "required": true,
 33332  	//       "type": "string"
 33333  	//     }
 33334  	//   },
 33335  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 33336  	//   "response": {
 33337  	//     "$ref": "FloodlightConfigurationsListResponse"
 33338  	//   },
 33339  	//   "scopes": [
 33340  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33341  	//   ]
 33342  	// }
 33343  
 33344  }
 33345  
 33346  // method id "dfareporting.floodlightConfigurations.patch":
 33347  
 33348  type FloodlightConfigurationsPatchCall struct {
 33349  	s                       *Service
 33350  	profileId               int64
 33351  	floodlightconfiguration *FloodlightConfiguration
 33352  	urlParams_              gensupport.URLParams
 33353  	ctx_                    context.Context
 33354  	header_                 http.Header
 33355  }
 33356  
 33357  // Patch: Updates an existing floodlight configuration. This method
 33358  // supports patch semantics.
 33359  func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
 33360  	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33361  	c.profileId = profileId
 33362  	c.urlParams_.Set("id", fmt.Sprint(id))
 33363  	c.floodlightconfiguration = floodlightconfiguration
 33364  	return c
 33365  }
 33366  
 33367  // Fields allows partial responses to be retrieved. See
 33368  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33369  // for more information.
 33370  func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
 33371  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33372  	return c
 33373  }
 33374  
 33375  // Context sets the context to be used in this call's Do method. Any
 33376  // pending HTTP request will be aborted if the provided context is
 33377  // canceled.
 33378  func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
 33379  	c.ctx_ = ctx
 33380  	return c
 33381  }
 33382  
 33383  // Header returns an http.Header that can be modified by the caller to
 33384  // add HTTP headers to the request.
 33385  func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
 33386  	if c.header_ == nil {
 33387  		c.header_ = make(http.Header)
 33388  	}
 33389  	return c.header_
 33390  }
 33391  
 33392  func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
 33393  	reqHeaders := make(http.Header)
 33394  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33395  	for k, v := range c.header_ {
 33396  		reqHeaders[k] = v
 33397  	}
 33398  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33399  	var body io.Reader = nil
 33400  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 33401  	if err != nil {
 33402  		return nil, err
 33403  	}
 33404  	reqHeaders.Set("Content-Type", "application/json")
 33405  	c.urlParams_.Set("alt", alt)
 33406  	c.urlParams_.Set("prettyPrint", "false")
 33407  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 33408  	urls += "?" + c.urlParams_.Encode()
 33409  	req, err := http.NewRequest("PATCH", urls, body)
 33410  	if err != nil {
 33411  		return nil, err
 33412  	}
 33413  	req.Header = reqHeaders
 33414  	googleapi.Expand(req.URL, map[string]string{
 33415  		"profileId": strconv.FormatInt(c.profileId, 10),
 33416  	})
 33417  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33418  }
 33419  
 33420  // Do executes the "dfareporting.floodlightConfigurations.patch" call.
 33421  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 33422  // non-2xx status code is an error. Response headers are in either
 33423  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 33424  // returned at all) in error.(*googleapi.Error).Header. Use
 33425  // googleapi.IsNotModified to check whether the returned error was
 33426  // because http.StatusNotModified was returned.
 33427  func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 33428  	gensupport.SetOptions(c.urlParams_, opts...)
 33429  	res, err := c.doRequest("json")
 33430  	if res != nil && res.StatusCode == http.StatusNotModified {
 33431  		if res.Body != nil {
 33432  			res.Body.Close()
 33433  		}
 33434  		return nil, &googleapi.Error{
 33435  			Code:   res.StatusCode,
 33436  			Header: res.Header,
 33437  		}
 33438  	}
 33439  	if err != nil {
 33440  		return nil, err
 33441  	}
 33442  	defer googleapi.CloseBody(res)
 33443  	if err := googleapi.CheckResponse(res); err != nil {
 33444  		return nil, err
 33445  	}
 33446  	ret := &FloodlightConfiguration{
 33447  		ServerResponse: googleapi.ServerResponse{
 33448  			Header:         res.Header,
 33449  			HTTPStatusCode: res.StatusCode,
 33450  		},
 33451  	}
 33452  	target := &ret
 33453  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33454  		return nil, err
 33455  	}
 33456  	return ret, nil
 33457  	// {
 33458  	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
 33459  	//   "httpMethod": "PATCH",
 33460  	//   "id": "dfareporting.floodlightConfigurations.patch",
 33461  	//   "parameterOrder": [
 33462  	//     "profileId",
 33463  	//     "id"
 33464  	//   ],
 33465  	//   "parameters": {
 33466  	//     "id": {
 33467  	//       "description": "Floodlight configuration ID.",
 33468  	//       "format": "int64",
 33469  	//       "location": "query",
 33470  	//       "required": true,
 33471  	//       "type": "string"
 33472  	//     },
 33473  	//     "profileId": {
 33474  	//       "description": "User profile ID associated with this request.",
 33475  	//       "format": "int64",
 33476  	//       "location": "path",
 33477  	//       "required": true,
 33478  	//       "type": "string"
 33479  	//     }
 33480  	//   },
 33481  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 33482  	//   "request": {
 33483  	//     "$ref": "FloodlightConfiguration"
 33484  	//   },
 33485  	//   "response": {
 33486  	//     "$ref": "FloodlightConfiguration"
 33487  	//   },
 33488  	//   "scopes": [
 33489  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33490  	//   ]
 33491  	// }
 33492  
 33493  }
 33494  
 33495  // method id "dfareporting.floodlightConfigurations.update":
 33496  
 33497  type FloodlightConfigurationsUpdateCall struct {
 33498  	s                       *Service
 33499  	profileId               int64
 33500  	floodlightconfiguration *FloodlightConfiguration
 33501  	urlParams_              gensupport.URLParams
 33502  	ctx_                    context.Context
 33503  	header_                 http.Header
 33504  }
 33505  
 33506  // Update: Updates an existing floodlight configuration.
 33507  func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
 33508  	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33509  	c.profileId = profileId
 33510  	c.floodlightconfiguration = floodlightconfiguration
 33511  	return c
 33512  }
 33513  
 33514  // Fields allows partial responses to be retrieved. See
 33515  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33516  // for more information.
 33517  func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
 33518  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33519  	return c
 33520  }
 33521  
 33522  // Context sets the context to be used in this call's Do method. Any
 33523  // pending HTTP request will be aborted if the provided context is
 33524  // canceled.
 33525  func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
 33526  	c.ctx_ = ctx
 33527  	return c
 33528  }
 33529  
 33530  // Header returns an http.Header that can be modified by the caller to
 33531  // add HTTP headers to the request.
 33532  func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
 33533  	if c.header_ == nil {
 33534  		c.header_ = make(http.Header)
 33535  	}
 33536  	return c.header_
 33537  }
 33538  
 33539  func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 33540  	reqHeaders := make(http.Header)
 33541  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33542  	for k, v := range c.header_ {
 33543  		reqHeaders[k] = v
 33544  	}
 33545  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33546  	var body io.Reader = nil
 33547  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 33548  	if err != nil {
 33549  		return nil, err
 33550  	}
 33551  	reqHeaders.Set("Content-Type", "application/json")
 33552  	c.urlParams_.Set("alt", alt)
 33553  	c.urlParams_.Set("prettyPrint", "false")
 33554  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 33555  	urls += "?" + c.urlParams_.Encode()
 33556  	req, err := http.NewRequest("PUT", urls, body)
 33557  	if err != nil {
 33558  		return nil, err
 33559  	}
 33560  	req.Header = reqHeaders
 33561  	googleapi.Expand(req.URL, map[string]string{
 33562  		"profileId": strconv.FormatInt(c.profileId, 10),
 33563  	})
 33564  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33565  }
 33566  
 33567  // Do executes the "dfareporting.floodlightConfigurations.update" call.
 33568  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 33569  // non-2xx status code is an error. Response headers are in either
 33570  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 33571  // returned at all) in error.(*googleapi.Error).Header. Use
 33572  // googleapi.IsNotModified to check whether the returned error was
 33573  // because http.StatusNotModified was returned.
 33574  func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 33575  	gensupport.SetOptions(c.urlParams_, opts...)
 33576  	res, err := c.doRequest("json")
 33577  	if res != nil && res.StatusCode == http.StatusNotModified {
 33578  		if res.Body != nil {
 33579  			res.Body.Close()
 33580  		}
 33581  		return nil, &googleapi.Error{
 33582  			Code:   res.StatusCode,
 33583  			Header: res.Header,
 33584  		}
 33585  	}
 33586  	if err != nil {
 33587  		return nil, err
 33588  	}
 33589  	defer googleapi.CloseBody(res)
 33590  	if err := googleapi.CheckResponse(res); err != nil {
 33591  		return nil, err
 33592  	}
 33593  	ret := &FloodlightConfiguration{
 33594  		ServerResponse: googleapi.ServerResponse{
 33595  			Header:         res.Header,
 33596  			HTTPStatusCode: res.StatusCode,
 33597  		},
 33598  	}
 33599  	target := &ret
 33600  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33601  		return nil, err
 33602  	}
 33603  	return ret, nil
 33604  	// {
 33605  	//   "description": "Updates an existing floodlight configuration.",
 33606  	//   "httpMethod": "PUT",
 33607  	//   "id": "dfareporting.floodlightConfigurations.update",
 33608  	//   "parameterOrder": [
 33609  	//     "profileId"
 33610  	//   ],
 33611  	//   "parameters": {
 33612  	//     "profileId": {
 33613  	//       "description": "User profile ID associated with this request.",
 33614  	//       "format": "int64",
 33615  	//       "location": "path",
 33616  	//       "required": true,
 33617  	//       "type": "string"
 33618  	//     }
 33619  	//   },
 33620  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 33621  	//   "request": {
 33622  	//     "$ref": "FloodlightConfiguration"
 33623  	//   },
 33624  	//   "response": {
 33625  	//     "$ref": "FloodlightConfiguration"
 33626  	//   },
 33627  	//   "scopes": [
 33628  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33629  	//   ]
 33630  	// }
 33631  
 33632  }
 33633  
 33634  // method id "dfareporting.inventoryItems.get":
 33635  
 33636  type InventoryItemsGetCall struct {
 33637  	s            *Service
 33638  	profileId    int64
 33639  	projectId    int64
 33640  	id           int64
 33641  	urlParams_   gensupport.URLParams
 33642  	ifNoneMatch_ string
 33643  	ctx_         context.Context
 33644  	header_      http.Header
 33645  }
 33646  
 33647  // Get: Gets one inventory item by ID.
 33648  func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
 33649  	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33650  	c.profileId = profileId
 33651  	c.projectId = projectId
 33652  	c.id = id
 33653  	return c
 33654  }
 33655  
 33656  // Fields allows partial responses to be retrieved. See
 33657  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33658  // for more information.
 33659  func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
 33660  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33661  	return c
 33662  }
 33663  
 33664  // IfNoneMatch sets the optional parameter which makes the operation
 33665  // fail if the object's ETag matches the given value. This is useful for
 33666  // getting updates only after the object has changed since the last
 33667  // request. Use googleapi.IsNotModified to check whether the response
 33668  // error from Do is the result of In-None-Match.
 33669  func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
 33670  	c.ifNoneMatch_ = entityTag
 33671  	return c
 33672  }
 33673  
 33674  // Context sets the context to be used in this call's Do method. Any
 33675  // pending HTTP request will be aborted if the provided context is
 33676  // canceled.
 33677  func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
 33678  	c.ctx_ = ctx
 33679  	return c
 33680  }
 33681  
 33682  // Header returns an http.Header that can be modified by the caller to
 33683  // add HTTP headers to the request.
 33684  func (c *InventoryItemsGetCall) Header() http.Header {
 33685  	if c.header_ == nil {
 33686  		c.header_ = make(http.Header)
 33687  	}
 33688  	return c.header_
 33689  }
 33690  
 33691  func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
 33692  	reqHeaders := make(http.Header)
 33693  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33694  	for k, v := range c.header_ {
 33695  		reqHeaders[k] = v
 33696  	}
 33697  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33698  	if c.ifNoneMatch_ != "" {
 33699  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33700  	}
 33701  	var body io.Reader = nil
 33702  	c.urlParams_.Set("alt", alt)
 33703  	c.urlParams_.Set("prettyPrint", "false")
 33704  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
 33705  	urls += "?" + c.urlParams_.Encode()
 33706  	req, err := http.NewRequest("GET", urls, body)
 33707  	if err != nil {
 33708  		return nil, err
 33709  	}
 33710  	req.Header = reqHeaders
 33711  	googleapi.Expand(req.URL, map[string]string{
 33712  		"profileId": strconv.FormatInt(c.profileId, 10),
 33713  		"projectId": strconv.FormatInt(c.projectId, 10),
 33714  		"id":        strconv.FormatInt(c.id, 10),
 33715  	})
 33716  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33717  }
 33718  
 33719  // Do executes the "dfareporting.inventoryItems.get" call.
 33720  // Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
 33721  // status code is an error. Response headers are in either
 33722  // *InventoryItem.ServerResponse.Header or (if a response was returned
 33723  // at all) in error.(*googleapi.Error).Header. Use
 33724  // googleapi.IsNotModified to check whether the returned error was
 33725  // because http.StatusNotModified was returned.
 33726  func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
 33727  	gensupport.SetOptions(c.urlParams_, opts...)
 33728  	res, err := c.doRequest("json")
 33729  	if res != nil && res.StatusCode == http.StatusNotModified {
 33730  		if res.Body != nil {
 33731  			res.Body.Close()
 33732  		}
 33733  		return nil, &googleapi.Error{
 33734  			Code:   res.StatusCode,
 33735  			Header: res.Header,
 33736  		}
 33737  	}
 33738  	if err != nil {
 33739  		return nil, err
 33740  	}
 33741  	defer googleapi.CloseBody(res)
 33742  	if err := googleapi.CheckResponse(res); err != nil {
 33743  		return nil, err
 33744  	}
 33745  	ret := &InventoryItem{
 33746  		ServerResponse: googleapi.ServerResponse{
 33747  			Header:         res.Header,
 33748  			HTTPStatusCode: res.StatusCode,
 33749  		},
 33750  	}
 33751  	target := &ret
 33752  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33753  		return nil, err
 33754  	}
 33755  	return ret, nil
 33756  	// {
 33757  	//   "description": "Gets one inventory item by ID.",
 33758  	//   "httpMethod": "GET",
 33759  	//   "id": "dfareporting.inventoryItems.get",
 33760  	//   "parameterOrder": [
 33761  	//     "profileId",
 33762  	//     "projectId",
 33763  	//     "id"
 33764  	//   ],
 33765  	//   "parameters": {
 33766  	//     "id": {
 33767  	//       "description": "Inventory item ID.",
 33768  	//       "format": "int64",
 33769  	//       "location": "path",
 33770  	//       "required": true,
 33771  	//       "type": "string"
 33772  	//     },
 33773  	//     "profileId": {
 33774  	//       "description": "User profile ID associated with this request.",
 33775  	//       "format": "int64",
 33776  	//       "location": "path",
 33777  	//       "required": true,
 33778  	//       "type": "string"
 33779  	//     },
 33780  	//     "projectId": {
 33781  	//       "description": "Project ID for order documents.",
 33782  	//       "format": "int64",
 33783  	//       "location": "path",
 33784  	//       "required": true,
 33785  	//       "type": "string"
 33786  	//     }
 33787  	//   },
 33788  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
 33789  	//   "response": {
 33790  	//     "$ref": "InventoryItem"
 33791  	//   },
 33792  	//   "scopes": [
 33793  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33794  	//   ]
 33795  	// }
 33796  
 33797  }
 33798  
 33799  // method id "dfareporting.inventoryItems.list":
 33800  
 33801  type InventoryItemsListCall struct {
 33802  	s            *Service
 33803  	profileId    int64
 33804  	projectId    int64
 33805  	urlParams_   gensupport.URLParams
 33806  	ifNoneMatch_ string
 33807  	ctx_         context.Context
 33808  	header_      http.Header
 33809  }
 33810  
 33811  // List: Retrieves a list of inventory items, possibly filtered. This
 33812  // method supports paging.
 33813  func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
 33814  	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33815  	c.profileId = profileId
 33816  	c.projectId = projectId
 33817  	return c
 33818  }
 33819  
 33820  // Ids sets the optional parameter "ids": Select only inventory items
 33821  // with these IDs.
 33822  func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
 33823  	var ids_ []string
 33824  	for _, v := range ids {
 33825  		ids_ = append(ids_, fmt.Sprint(v))
 33826  	}
 33827  	c.urlParams_.SetMulti("ids", ids_)
 33828  	return c
 33829  }
 33830  
 33831  // InPlan sets the optional parameter "inPlan": Select only inventory
 33832  // items that are in plan.
 33833  func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
 33834  	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
 33835  	return c
 33836  }
 33837  
 33838  // MaxResults sets the optional parameter "maxResults": Maximum number
 33839  // of results to return.
 33840  func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
 33841  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 33842  	return c
 33843  }
 33844  
 33845  // OrderId sets the optional parameter "orderId": Select only inventory
 33846  // items that belong to specified orders.
 33847  func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
 33848  	var orderId_ []string
 33849  	for _, v := range orderId {
 33850  		orderId_ = append(orderId_, fmt.Sprint(v))
 33851  	}
 33852  	c.urlParams_.SetMulti("orderId", orderId_)
 33853  	return c
 33854  }
 33855  
 33856  // PageToken sets the optional parameter "pageToken": Value of the
 33857  // nextPageToken from the previous result page.
 33858  func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
 33859  	c.urlParams_.Set("pageToken", pageToken)
 33860  	return c
 33861  }
 33862  
 33863  // SiteId sets the optional parameter "siteId": Select only inventory
 33864  // items that are associated with these sites.
 33865  func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
 33866  	var siteId_ []string
 33867  	for _, v := range siteId {
 33868  		siteId_ = append(siteId_, fmt.Sprint(v))
 33869  	}
 33870  	c.urlParams_.SetMulti("siteId", siteId_)
 33871  	return c
 33872  }
 33873  
 33874  // SortField sets the optional parameter "sortField": Field by which to
 33875  // sort the list.
 33876  //
 33877  // Possible values:
 33878  //
 33879  //	"ID" (default)
 33880  //	"NAME"
 33881  func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
 33882  	c.urlParams_.Set("sortField", sortField)
 33883  	return c
 33884  }
 33885  
 33886  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 33887  // results.
 33888  //
 33889  // Possible values:
 33890  //
 33891  //	"ASCENDING" (default)
 33892  //	"DESCENDING"
 33893  func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
 33894  	c.urlParams_.Set("sortOrder", sortOrder)
 33895  	return c
 33896  }
 33897  
 33898  // Type sets the optional parameter "type": Select only inventory items
 33899  // with this type.
 33900  //
 33901  // Possible values:
 33902  //
 33903  //	"PLANNING_PLACEMENT_TYPE_CREDIT"
 33904  //	"PLANNING_PLACEMENT_TYPE_REGULAR"
 33905  func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
 33906  	c.urlParams_.Set("type", type_)
 33907  	return c
 33908  }
 33909  
 33910  // Fields allows partial responses to be retrieved. See
 33911  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33912  // for more information.
 33913  func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
 33914  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33915  	return c
 33916  }
 33917  
 33918  // IfNoneMatch sets the optional parameter which makes the operation
 33919  // fail if the object's ETag matches the given value. This is useful for
 33920  // getting updates only after the object has changed since the last
 33921  // request. Use googleapi.IsNotModified to check whether the response
 33922  // error from Do is the result of In-None-Match.
 33923  func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
 33924  	c.ifNoneMatch_ = entityTag
 33925  	return c
 33926  }
 33927  
 33928  // Context sets the context to be used in this call's Do method. Any
 33929  // pending HTTP request will be aborted if the provided context is
 33930  // canceled.
 33931  func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
 33932  	c.ctx_ = ctx
 33933  	return c
 33934  }
 33935  
 33936  // Header returns an http.Header that can be modified by the caller to
 33937  // add HTTP headers to the request.
 33938  func (c *InventoryItemsListCall) Header() http.Header {
 33939  	if c.header_ == nil {
 33940  		c.header_ = make(http.Header)
 33941  	}
 33942  	return c.header_
 33943  }
 33944  
 33945  func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
 33946  	reqHeaders := make(http.Header)
 33947  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33948  	for k, v := range c.header_ {
 33949  		reqHeaders[k] = v
 33950  	}
 33951  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33952  	if c.ifNoneMatch_ != "" {
 33953  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33954  	}
 33955  	var body io.Reader = nil
 33956  	c.urlParams_.Set("alt", alt)
 33957  	c.urlParams_.Set("prettyPrint", "false")
 33958  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
 33959  	urls += "?" + c.urlParams_.Encode()
 33960  	req, err := http.NewRequest("GET", urls, body)
 33961  	if err != nil {
 33962  		return nil, err
 33963  	}
 33964  	req.Header = reqHeaders
 33965  	googleapi.Expand(req.URL, map[string]string{
 33966  		"profileId": strconv.FormatInt(c.profileId, 10),
 33967  		"projectId": strconv.FormatInt(c.projectId, 10),
 33968  	})
 33969  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33970  }
 33971  
 33972  // Do executes the "dfareporting.inventoryItems.list" call.
 33973  // Exactly one of *InventoryItemsListResponse or error will be non-nil.
 33974  // Any non-2xx status code is an error. Response headers are in either
 33975  // *InventoryItemsListResponse.ServerResponse.Header or (if a response
 33976  // was returned at all) in error.(*googleapi.Error).Header. Use
 33977  // googleapi.IsNotModified to check whether the returned error was
 33978  // because http.StatusNotModified was returned.
 33979  func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
 33980  	gensupport.SetOptions(c.urlParams_, opts...)
 33981  	res, err := c.doRequest("json")
 33982  	if res != nil && res.StatusCode == http.StatusNotModified {
 33983  		if res.Body != nil {
 33984  			res.Body.Close()
 33985  		}
 33986  		return nil, &googleapi.Error{
 33987  			Code:   res.StatusCode,
 33988  			Header: res.Header,
 33989  		}
 33990  	}
 33991  	if err != nil {
 33992  		return nil, err
 33993  	}
 33994  	defer googleapi.CloseBody(res)
 33995  	if err := googleapi.CheckResponse(res); err != nil {
 33996  		return nil, err
 33997  	}
 33998  	ret := &InventoryItemsListResponse{
 33999  		ServerResponse: googleapi.ServerResponse{
 34000  			Header:         res.Header,
 34001  			HTTPStatusCode: res.StatusCode,
 34002  		},
 34003  	}
 34004  	target := &ret
 34005  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34006  		return nil, err
 34007  	}
 34008  	return ret, nil
 34009  	// {
 34010  	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
 34011  	//   "httpMethod": "GET",
 34012  	//   "id": "dfareporting.inventoryItems.list",
 34013  	//   "parameterOrder": [
 34014  	//     "profileId",
 34015  	//     "projectId"
 34016  	//   ],
 34017  	//   "parameters": {
 34018  	//     "ids": {
 34019  	//       "description": "Select only inventory items with these IDs.",
 34020  	//       "format": "int64",
 34021  	//       "location": "query",
 34022  	//       "repeated": true,
 34023  	//       "type": "string"
 34024  	//     },
 34025  	//     "inPlan": {
 34026  	//       "description": "Select only inventory items that are in plan.",
 34027  	//       "location": "query",
 34028  	//       "type": "boolean"
 34029  	//     },
 34030  	//     "maxResults": {
 34031  	//       "default": "1000",
 34032  	//       "description": "Maximum number of results to return.",
 34033  	//       "format": "int32",
 34034  	//       "location": "query",
 34035  	//       "maximum": "1000",
 34036  	//       "minimum": "0",
 34037  	//       "type": "integer"
 34038  	//     },
 34039  	//     "orderId": {
 34040  	//       "description": "Select only inventory items that belong to specified orders.",
 34041  	//       "format": "int64",
 34042  	//       "location": "query",
 34043  	//       "repeated": true,
 34044  	//       "type": "string"
 34045  	//     },
 34046  	//     "pageToken": {
 34047  	//       "description": "Value of the nextPageToken from the previous result page.",
 34048  	//       "location": "query",
 34049  	//       "type": "string"
 34050  	//     },
 34051  	//     "profileId": {
 34052  	//       "description": "User profile ID associated with this request.",
 34053  	//       "format": "int64",
 34054  	//       "location": "path",
 34055  	//       "required": true,
 34056  	//       "type": "string"
 34057  	//     },
 34058  	//     "projectId": {
 34059  	//       "description": "Project ID for order documents.",
 34060  	//       "format": "int64",
 34061  	//       "location": "path",
 34062  	//       "required": true,
 34063  	//       "type": "string"
 34064  	//     },
 34065  	//     "siteId": {
 34066  	//       "description": "Select only inventory items that are associated with these sites.",
 34067  	//       "format": "int64",
 34068  	//       "location": "query",
 34069  	//       "repeated": true,
 34070  	//       "type": "string"
 34071  	//     },
 34072  	//     "sortField": {
 34073  	//       "default": "ID",
 34074  	//       "description": "Field by which to sort the list.",
 34075  	//       "enum": [
 34076  	//         "ID",
 34077  	//         "NAME"
 34078  	//       ],
 34079  	//       "enumDescriptions": [
 34080  	//         "",
 34081  	//         ""
 34082  	//       ],
 34083  	//       "location": "query",
 34084  	//       "type": "string"
 34085  	//     },
 34086  	//     "sortOrder": {
 34087  	//       "default": "ASCENDING",
 34088  	//       "description": "Order of sorted results.",
 34089  	//       "enum": [
 34090  	//         "ASCENDING",
 34091  	//         "DESCENDING"
 34092  	//       ],
 34093  	//       "enumDescriptions": [
 34094  	//         "",
 34095  	//         ""
 34096  	//       ],
 34097  	//       "location": "query",
 34098  	//       "type": "string"
 34099  	//     },
 34100  	//     "type": {
 34101  	//       "description": "Select only inventory items with this type.",
 34102  	//       "enum": [
 34103  	//         "PLANNING_PLACEMENT_TYPE_CREDIT",
 34104  	//         "PLANNING_PLACEMENT_TYPE_REGULAR"
 34105  	//       ],
 34106  	//       "enumDescriptions": [
 34107  	//         "",
 34108  	//         ""
 34109  	//       ],
 34110  	//       "location": "query",
 34111  	//       "type": "string"
 34112  	//     }
 34113  	//   },
 34114  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
 34115  	//   "response": {
 34116  	//     "$ref": "InventoryItemsListResponse"
 34117  	//   },
 34118  	//   "scopes": [
 34119  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34120  	//   ]
 34121  	// }
 34122  
 34123  }
 34124  
 34125  // Pages invokes f for each page of results.
 34126  // A non-nil error returned from f will halt the iteration.
 34127  // The provided context supersedes any context provided to the Context method.
 34128  func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
 34129  	c.ctx_ = ctx
 34130  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 34131  	for {
 34132  		x, err := c.Do()
 34133  		if err != nil {
 34134  			return err
 34135  		}
 34136  		if err := f(x); err != nil {
 34137  			return err
 34138  		}
 34139  		if x.NextPageToken == "" {
 34140  			return nil
 34141  		}
 34142  		c.PageToken(x.NextPageToken)
 34143  	}
 34144  }
 34145  
 34146  // method id "dfareporting.landingPages.delete":
 34147  
 34148  type LandingPagesDeleteCall struct {
 34149  	s          *Service
 34150  	profileId  int64
 34151  	campaignId int64
 34152  	id         int64
 34153  	urlParams_ gensupport.URLParams
 34154  	ctx_       context.Context
 34155  	header_    http.Header
 34156  }
 34157  
 34158  // Delete: Deletes an existing campaign landing page.
 34159  func (r *LandingPagesService) Delete(profileId int64, campaignId int64, id int64) *LandingPagesDeleteCall {
 34160  	c := &LandingPagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34161  	c.profileId = profileId
 34162  	c.campaignId = campaignId
 34163  	c.id = id
 34164  	return c
 34165  }
 34166  
 34167  // Fields allows partial responses to be retrieved. See
 34168  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34169  // for more information.
 34170  func (c *LandingPagesDeleteCall) Fields(s ...googleapi.Field) *LandingPagesDeleteCall {
 34171  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34172  	return c
 34173  }
 34174  
 34175  // Context sets the context to be used in this call's Do method. Any
 34176  // pending HTTP request will be aborted if the provided context is
 34177  // canceled.
 34178  func (c *LandingPagesDeleteCall) Context(ctx context.Context) *LandingPagesDeleteCall {
 34179  	c.ctx_ = ctx
 34180  	return c
 34181  }
 34182  
 34183  // Header returns an http.Header that can be modified by the caller to
 34184  // add HTTP headers to the request.
 34185  func (c *LandingPagesDeleteCall) Header() http.Header {
 34186  	if c.header_ == nil {
 34187  		c.header_ = make(http.Header)
 34188  	}
 34189  	return c.header_
 34190  }
 34191  
 34192  func (c *LandingPagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 34193  	reqHeaders := make(http.Header)
 34194  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34195  	for k, v := range c.header_ {
 34196  		reqHeaders[k] = v
 34197  	}
 34198  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34199  	var body io.Reader = nil
 34200  	c.urlParams_.Set("alt", alt)
 34201  	c.urlParams_.Set("prettyPrint", "false")
 34202  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}")
 34203  	urls += "?" + c.urlParams_.Encode()
 34204  	req, err := http.NewRequest("DELETE", urls, body)
 34205  	if err != nil {
 34206  		return nil, err
 34207  	}
 34208  	req.Header = reqHeaders
 34209  	googleapi.Expand(req.URL, map[string]string{
 34210  		"profileId":  strconv.FormatInt(c.profileId, 10),
 34211  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 34212  		"id":         strconv.FormatInt(c.id, 10),
 34213  	})
 34214  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34215  }
 34216  
 34217  // Do executes the "dfareporting.landingPages.delete" call.
 34218  func (c *LandingPagesDeleteCall) Do(opts ...googleapi.CallOption) error {
 34219  	gensupport.SetOptions(c.urlParams_, opts...)
 34220  	res, err := c.doRequest("json")
 34221  	if err != nil {
 34222  		return err
 34223  	}
 34224  	defer googleapi.CloseBody(res)
 34225  	if err := googleapi.CheckResponse(res); err != nil {
 34226  		return err
 34227  	}
 34228  	return nil
 34229  	// {
 34230  	//   "description": "Deletes an existing campaign landing page.",
 34231  	//   "httpMethod": "DELETE",
 34232  	//   "id": "dfareporting.landingPages.delete",
 34233  	//   "parameterOrder": [
 34234  	//     "profileId",
 34235  	//     "campaignId",
 34236  	//     "id"
 34237  	//   ],
 34238  	//   "parameters": {
 34239  	//     "campaignId": {
 34240  	//       "description": "Landing page campaign ID.",
 34241  	//       "format": "int64",
 34242  	//       "location": "path",
 34243  	//       "required": true,
 34244  	//       "type": "string"
 34245  	//     },
 34246  	//     "id": {
 34247  	//       "description": "Landing page ID.",
 34248  	//       "format": "int64",
 34249  	//       "location": "path",
 34250  	//       "required": true,
 34251  	//       "type": "string"
 34252  	//     },
 34253  	//     "profileId": {
 34254  	//       "description": "User profile ID associated with this request.",
 34255  	//       "format": "int64",
 34256  	//       "location": "path",
 34257  	//       "required": true,
 34258  	//       "type": "string"
 34259  	//     }
 34260  	//   },
 34261  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}",
 34262  	//   "scopes": [
 34263  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34264  	//   ]
 34265  	// }
 34266  
 34267  }
 34268  
 34269  // method id "dfareporting.landingPages.get":
 34270  
 34271  type LandingPagesGetCall struct {
 34272  	s            *Service
 34273  	profileId    int64
 34274  	campaignId   int64
 34275  	id           int64
 34276  	urlParams_   gensupport.URLParams
 34277  	ifNoneMatch_ string
 34278  	ctx_         context.Context
 34279  	header_      http.Header
 34280  }
 34281  
 34282  // Get: Gets one campaign landing page by ID.
 34283  func (r *LandingPagesService) Get(profileId int64, campaignId int64, id int64) *LandingPagesGetCall {
 34284  	c := &LandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34285  	c.profileId = profileId
 34286  	c.campaignId = campaignId
 34287  	c.id = id
 34288  	return c
 34289  }
 34290  
 34291  // Fields allows partial responses to be retrieved. See
 34292  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34293  // for more information.
 34294  func (c *LandingPagesGetCall) Fields(s ...googleapi.Field) *LandingPagesGetCall {
 34295  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34296  	return c
 34297  }
 34298  
 34299  // IfNoneMatch sets the optional parameter which makes the operation
 34300  // fail if the object's ETag matches the given value. This is useful for
 34301  // getting updates only after the object has changed since the last
 34302  // request. Use googleapi.IsNotModified to check whether the response
 34303  // error from Do is the result of In-None-Match.
 34304  func (c *LandingPagesGetCall) IfNoneMatch(entityTag string) *LandingPagesGetCall {
 34305  	c.ifNoneMatch_ = entityTag
 34306  	return c
 34307  }
 34308  
 34309  // Context sets the context to be used in this call's Do method. Any
 34310  // pending HTTP request will be aborted if the provided context is
 34311  // canceled.
 34312  func (c *LandingPagesGetCall) Context(ctx context.Context) *LandingPagesGetCall {
 34313  	c.ctx_ = ctx
 34314  	return c
 34315  }
 34316  
 34317  // Header returns an http.Header that can be modified by the caller to
 34318  // add HTTP headers to the request.
 34319  func (c *LandingPagesGetCall) Header() http.Header {
 34320  	if c.header_ == nil {
 34321  		c.header_ = make(http.Header)
 34322  	}
 34323  	return c.header_
 34324  }
 34325  
 34326  func (c *LandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 34327  	reqHeaders := make(http.Header)
 34328  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34329  	for k, v := range c.header_ {
 34330  		reqHeaders[k] = v
 34331  	}
 34332  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34333  	if c.ifNoneMatch_ != "" {
 34334  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34335  	}
 34336  	var body io.Reader = nil
 34337  	c.urlParams_.Set("alt", alt)
 34338  	c.urlParams_.Set("prettyPrint", "false")
 34339  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}")
 34340  	urls += "?" + c.urlParams_.Encode()
 34341  	req, err := http.NewRequest("GET", urls, body)
 34342  	if err != nil {
 34343  		return nil, err
 34344  	}
 34345  	req.Header = reqHeaders
 34346  	googleapi.Expand(req.URL, map[string]string{
 34347  		"profileId":  strconv.FormatInt(c.profileId, 10),
 34348  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 34349  		"id":         strconv.FormatInt(c.id, 10),
 34350  	})
 34351  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34352  }
 34353  
 34354  // Do executes the "dfareporting.landingPages.get" call.
 34355  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 34356  // status code is an error. Response headers are in either
 34357  // *LandingPage.ServerResponse.Header or (if a response was returned at
 34358  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 34359  // to check whether the returned error was because
 34360  // http.StatusNotModified was returned.
 34361  func (c *LandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 34362  	gensupport.SetOptions(c.urlParams_, opts...)
 34363  	res, err := c.doRequest("json")
 34364  	if res != nil && res.StatusCode == http.StatusNotModified {
 34365  		if res.Body != nil {
 34366  			res.Body.Close()
 34367  		}
 34368  		return nil, &googleapi.Error{
 34369  			Code:   res.StatusCode,
 34370  			Header: res.Header,
 34371  		}
 34372  	}
 34373  	if err != nil {
 34374  		return nil, err
 34375  	}
 34376  	defer googleapi.CloseBody(res)
 34377  	if err := googleapi.CheckResponse(res); err != nil {
 34378  		return nil, err
 34379  	}
 34380  	ret := &LandingPage{
 34381  		ServerResponse: googleapi.ServerResponse{
 34382  			Header:         res.Header,
 34383  			HTTPStatusCode: res.StatusCode,
 34384  		},
 34385  	}
 34386  	target := &ret
 34387  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34388  		return nil, err
 34389  	}
 34390  	return ret, nil
 34391  	// {
 34392  	//   "description": "Gets one campaign landing page by ID.",
 34393  	//   "httpMethod": "GET",
 34394  	//   "id": "dfareporting.landingPages.get",
 34395  	//   "parameterOrder": [
 34396  	//     "profileId",
 34397  	//     "campaignId",
 34398  	//     "id"
 34399  	//   ],
 34400  	//   "parameters": {
 34401  	//     "campaignId": {
 34402  	//       "description": "Landing page campaign ID.",
 34403  	//       "format": "int64",
 34404  	//       "location": "path",
 34405  	//       "required": true,
 34406  	//       "type": "string"
 34407  	//     },
 34408  	//     "id": {
 34409  	//       "description": "Landing page ID.",
 34410  	//       "format": "int64",
 34411  	//       "location": "path",
 34412  	//       "required": true,
 34413  	//       "type": "string"
 34414  	//     },
 34415  	//     "profileId": {
 34416  	//       "description": "User profile ID associated with this request.",
 34417  	//       "format": "int64",
 34418  	//       "location": "path",
 34419  	//       "required": true,
 34420  	//       "type": "string"
 34421  	//     }
 34422  	//   },
 34423  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}",
 34424  	//   "response": {
 34425  	//     "$ref": "LandingPage"
 34426  	//   },
 34427  	//   "scopes": [
 34428  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34429  	//   ]
 34430  	// }
 34431  
 34432  }
 34433  
 34434  // method id "dfareporting.landingPages.insert":
 34435  
 34436  type LandingPagesInsertCall struct {
 34437  	s           *Service
 34438  	profileId   int64
 34439  	campaignId  int64
 34440  	landingpage *LandingPage
 34441  	urlParams_  gensupport.URLParams
 34442  	ctx_        context.Context
 34443  	header_     http.Header
 34444  }
 34445  
 34446  // Insert: Inserts a new landing page for the specified campaign.
 34447  func (r *LandingPagesService) Insert(profileId int64, campaignId int64, landingpage *LandingPage) *LandingPagesInsertCall {
 34448  	c := &LandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34449  	c.profileId = profileId
 34450  	c.campaignId = campaignId
 34451  	c.landingpage = landingpage
 34452  	return c
 34453  }
 34454  
 34455  // Fields allows partial responses to be retrieved. See
 34456  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34457  // for more information.
 34458  func (c *LandingPagesInsertCall) Fields(s ...googleapi.Field) *LandingPagesInsertCall {
 34459  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34460  	return c
 34461  }
 34462  
 34463  // Context sets the context to be used in this call's Do method. Any
 34464  // pending HTTP request will be aborted if the provided context is
 34465  // canceled.
 34466  func (c *LandingPagesInsertCall) Context(ctx context.Context) *LandingPagesInsertCall {
 34467  	c.ctx_ = ctx
 34468  	return c
 34469  }
 34470  
 34471  // Header returns an http.Header that can be modified by the caller to
 34472  // add HTTP headers to the request.
 34473  func (c *LandingPagesInsertCall) Header() http.Header {
 34474  	if c.header_ == nil {
 34475  		c.header_ = make(http.Header)
 34476  	}
 34477  	return c.header_
 34478  }
 34479  
 34480  func (c *LandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
 34481  	reqHeaders := make(http.Header)
 34482  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34483  	for k, v := range c.header_ {
 34484  		reqHeaders[k] = v
 34485  	}
 34486  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34487  	var body io.Reader = nil
 34488  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 34489  	if err != nil {
 34490  		return nil, err
 34491  	}
 34492  	reqHeaders.Set("Content-Type", "application/json")
 34493  	c.urlParams_.Set("alt", alt)
 34494  	c.urlParams_.Set("prettyPrint", "false")
 34495  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
 34496  	urls += "?" + c.urlParams_.Encode()
 34497  	req, err := http.NewRequest("POST", urls, body)
 34498  	if err != nil {
 34499  		return nil, err
 34500  	}
 34501  	req.Header = reqHeaders
 34502  	googleapi.Expand(req.URL, map[string]string{
 34503  		"profileId":  strconv.FormatInt(c.profileId, 10),
 34504  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 34505  	})
 34506  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34507  }
 34508  
 34509  // Do executes the "dfareporting.landingPages.insert" call.
 34510  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 34511  // status code is an error. Response headers are in either
 34512  // *LandingPage.ServerResponse.Header or (if a response was returned at
 34513  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 34514  // to check whether the returned error was because
 34515  // http.StatusNotModified was returned.
 34516  func (c *LandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 34517  	gensupport.SetOptions(c.urlParams_, opts...)
 34518  	res, err := c.doRequest("json")
 34519  	if res != nil && res.StatusCode == http.StatusNotModified {
 34520  		if res.Body != nil {
 34521  			res.Body.Close()
 34522  		}
 34523  		return nil, &googleapi.Error{
 34524  			Code:   res.StatusCode,
 34525  			Header: res.Header,
 34526  		}
 34527  	}
 34528  	if err != nil {
 34529  		return nil, err
 34530  	}
 34531  	defer googleapi.CloseBody(res)
 34532  	if err := googleapi.CheckResponse(res); err != nil {
 34533  		return nil, err
 34534  	}
 34535  	ret := &LandingPage{
 34536  		ServerResponse: googleapi.ServerResponse{
 34537  			Header:         res.Header,
 34538  			HTTPStatusCode: res.StatusCode,
 34539  		},
 34540  	}
 34541  	target := &ret
 34542  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34543  		return nil, err
 34544  	}
 34545  	return ret, nil
 34546  	// {
 34547  	//   "description": "Inserts a new landing page for the specified campaign.",
 34548  	//   "httpMethod": "POST",
 34549  	//   "id": "dfareporting.landingPages.insert",
 34550  	//   "parameterOrder": [
 34551  	//     "profileId",
 34552  	//     "campaignId"
 34553  	//   ],
 34554  	//   "parameters": {
 34555  	//     "campaignId": {
 34556  	//       "description": "Landing page campaign ID.",
 34557  	//       "format": "int64",
 34558  	//       "location": "path",
 34559  	//       "required": true,
 34560  	//       "type": "string"
 34561  	//     },
 34562  	//     "profileId": {
 34563  	//       "description": "User profile ID associated with this request.",
 34564  	//       "format": "int64",
 34565  	//       "location": "path",
 34566  	//       "required": true,
 34567  	//       "type": "string"
 34568  	//     }
 34569  	//   },
 34570  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages",
 34571  	//   "request": {
 34572  	//     "$ref": "LandingPage"
 34573  	//   },
 34574  	//   "response": {
 34575  	//     "$ref": "LandingPage"
 34576  	//   },
 34577  	//   "scopes": [
 34578  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34579  	//   ]
 34580  	// }
 34581  
 34582  }
 34583  
 34584  // method id "dfareporting.landingPages.list":
 34585  
 34586  type LandingPagesListCall struct {
 34587  	s            *Service
 34588  	profileId    int64
 34589  	campaignId   int64
 34590  	urlParams_   gensupport.URLParams
 34591  	ifNoneMatch_ string
 34592  	ctx_         context.Context
 34593  	header_      http.Header
 34594  }
 34595  
 34596  // List: Retrieves the list of landing pages for the specified campaign.
 34597  func (r *LandingPagesService) List(profileId int64, campaignId int64) *LandingPagesListCall {
 34598  	c := &LandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34599  	c.profileId = profileId
 34600  	c.campaignId = campaignId
 34601  	return c
 34602  }
 34603  
 34604  // Fields allows partial responses to be retrieved. See
 34605  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34606  // for more information.
 34607  func (c *LandingPagesListCall) Fields(s ...googleapi.Field) *LandingPagesListCall {
 34608  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34609  	return c
 34610  }
 34611  
 34612  // IfNoneMatch sets the optional parameter which makes the operation
 34613  // fail if the object's ETag matches the given value. This is useful for
 34614  // getting updates only after the object has changed since the last
 34615  // request. Use googleapi.IsNotModified to check whether the response
 34616  // error from Do is the result of In-None-Match.
 34617  func (c *LandingPagesListCall) IfNoneMatch(entityTag string) *LandingPagesListCall {
 34618  	c.ifNoneMatch_ = entityTag
 34619  	return c
 34620  }
 34621  
 34622  // Context sets the context to be used in this call's Do method. Any
 34623  // pending HTTP request will be aborted if the provided context is
 34624  // canceled.
 34625  func (c *LandingPagesListCall) Context(ctx context.Context) *LandingPagesListCall {
 34626  	c.ctx_ = ctx
 34627  	return c
 34628  }
 34629  
 34630  // Header returns an http.Header that can be modified by the caller to
 34631  // add HTTP headers to the request.
 34632  func (c *LandingPagesListCall) Header() http.Header {
 34633  	if c.header_ == nil {
 34634  		c.header_ = make(http.Header)
 34635  	}
 34636  	return c.header_
 34637  }
 34638  
 34639  func (c *LandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 34640  	reqHeaders := make(http.Header)
 34641  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34642  	for k, v := range c.header_ {
 34643  		reqHeaders[k] = v
 34644  	}
 34645  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34646  	if c.ifNoneMatch_ != "" {
 34647  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34648  	}
 34649  	var body io.Reader = nil
 34650  	c.urlParams_.Set("alt", alt)
 34651  	c.urlParams_.Set("prettyPrint", "false")
 34652  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
 34653  	urls += "?" + c.urlParams_.Encode()
 34654  	req, err := http.NewRequest("GET", urls, body)
 34655  	if err != nil {
 34656  		return nil, err
 34657  	}
 34658  	req.Header = reqHeaders
 34659  	googleapi.Expand(req.URL, map[string]string{
 34660  		"profileId":  strconv.FormatInt(c.profileId, 10),
 34661  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 34662  	})
 34663  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34664  }
 34665  
 34666  // Do executes the "dfareporting.landingPages.list" call.
 34667  // Exactly one of *LandingPagesListResponse or error will be non-nil.
 34668  // Any non-2xx status code is an error. Response headers are in either
 34669  // *LandingPagesListResponse.ServerResponse.Header or (if a response was
 34670  // returned at all) in error.(*googleapi.Error).Header. Use
 34671  // googleapi.IsNotModified to check whether the returned error was
 34672  // because http.StatusNotModified was returned.
 34673  func (c *LandingPagesListCall) Do(opts ...googleapi.CallOption) (*LandingPagesListResponse, error) {
 34674  	gensupport.SetOptions(c.urlParams_, opts...)
 34675  	res, err := c.doRequest("json")
 34676  	if res != nil && res.StatusCode == http.StatusNotModified {
 34677  		if res.Body != nil {
 34678  			res.Body.Close()
 34679  		}
 34680  		return nil, &googleapi.Error{
 34681  			Code:   res.StatusCode,
 34682  			Header: res.Header,
 34683  		}
 34684  	}
 34685  	if err != nil {
 34686  		return nil, err
 34687  	}
 34688  	defer googleapi.CloseBody(res)
 34689  	if err := googleapi.CheckResponse(res); err != nil {
 34690  		return nil, err
 34691  	}
 34692  	ret := &LandingPagesListResponse{
 34693  		ServerResponse: googleapi.ServerResponse{
 34694  			Header:         res.Header,
 34695  			HTTPStatusCode: res.StatusCode,
 34696  		},
 34697  	}
 34698  	target := &ret
 34699  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34700  		return nil, err
 34701  	}
 34702  	return ret, nil
 34703  	// {
 34704  	//   "description": "Retrieves the list of landing pages for the specified campaign.",
 34705  	//   "httpMethod": "GET",
 34706  	//   "id": "dfareporting.landingPages.list",
 34707  	//   "parameterOrder": [
 34708  	//     "profileId",
 34709  	//     "campaignId"
 34710  	//   ],
 34711  	//   "parameters": {
 34712  	//     "campaignId": {
 34713  	//       "description": "Landing page campaign ID.",
 34714  	//       "format": "int64",
 34715  	//       "location": "path",
 34716  	//       "required": true,
 34717  	//       "type": "string"
 34718  	//     },
 34719  	//     "profileId": {
 34720  	//       "description": "User profile ID associated with this request.",
 34721  	//       "format": "int64",
 34722  	//       "location": "path",
 34723  	//       "required": true,
 34724  	//       "type": "string"
 34725  	//     }
 34726  	//   },
 34727  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages",
 34728  	//   "response": {
 34729  	//     "$ref": "LandingPagesListResponse"
 34730  	//   },
 34731  	//   "scopes": [
 34732  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34733  	//   ]
 34734  	// }
 34735  
 34736  }
 34737  
 34738  // method id "dfareporting.landingPages.patch":
 34739  
 34740  type LandingPagesPatchCall struct {
 34741  	s           *Service
 34742  	profileId   int64
 34743  	campaignId  int64
 34744  	landingpage *LandingPage
 34745  	urlParams_  gensupport.URLParams
 34746  	ctx_        context.Context
 34747  	header_     http.Header
 34748  }
 34749  
 34750  // Patch: Updates an existing campaign landing page. This method
 34751  // supports patch semantics.
 34752  func (r *LandingPagesService) Patch(profileId int64, campaignId int64, id int64, landingpage *LandingPage) *LandingPagesPatchCall {
 34753  	c := &LandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34754  	c.profileId = profileId
 34755  	c.campaignId = campaignId
 34756  	c.urlParams_.Set("id", fmt.Sprint(id))
 34757  	c.landingpage = landingpage
 34758  	return c
 34759  }
 34760  
 34761  // Fields allows partial responses to be retrieved. See
 34762  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34763  // for more information.
 34764  func (c *LandingPagesPatchCall) Fields(s ...googleapi.Field) *LandingPagesPatchCall {
 34765  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34766  	return c
 34767  }
 34768  
 34769  // Context sets the context to be used in this call's Do method. Any
 34770  // pending HTTP request will be aborted if the provided context is
 34771  // canceled.
 34772  func (c *LandingPagesPatchCall) Context(ctx context.Context) *LandingPagesPatchCall {
 34773  	c.ctx_ = ctx
 34774  	return c
 34775  }
 34776  
 34777  // Header returns an http.Header that can be modified by the caller to
 34778  // add HTTP headers to the request.
 34779  func (c *LandingPagesPatchCall) Header() http.Header {
 34780  	if c.header_ == nil {
 34781  		c.header_ = make(http.Header)
 34782  	}
 34783  	return c.header_
 34784  }
 34785  
 34786  func (c *LandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
 34787  	reqHeaders := make(http.Header)
 34788  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34789  	for k, v := range c.header_ {
 34790  		reqHeaders[k] = v
 34791  	}
 34792  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34793  	var body io.Reader = nil
 34794  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 34795  	if err != nil {
 34796  		return nil, err
 34797  	}
 34798  	reqHeaders.Set("Content-Type", "application/json")
 34799  	c.urlParams_.Set("alt", alt)
 34800  	c.urlParams_.Set("prettyPrint", "false")
 34801  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
 34802  	urls += "?" + c.urlParams_.Encode()
 34803  	req, err := http.NewRequest("PATCH", urls, body)
 34804  	if err != nil {
 34805  		return nil, err
 34806  	}
 34807  	req.Header = reqHeaders
 34808  	googleapi.Expand(req.URL, map[string]string{
 34809  		"profileId":  strconv.FormatInt(c.profileId, 10),
 34810  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 34811  	})
 34812  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34813  }
 34814  
 34815  // Do executes the "dfareporting.landingPages.patch" call.
 34816  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 34817  // status code is an error. Response headers are in either
 34818  // *LandingPage.ServerResponse.Header or (if a response was returned at
 34819  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 34820  // to check whether the returned error was because
 34821  // http.StatusNotModified was returned.
 34822  func (c *LandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 34823  	gensupport.SetOptions(c.urlParams_, opts...)
 34824  	res, err := c.doRequest("json")
 34825  	if res != nil && res.StatusCode == http.StatusNotModified {
 34826  		if res.Body != nil {
 34827  			res.Body.Close()
 34828  		}
 34829  		return nil, &googleapi.Error{
 34830  			Code:   res.StatusCode,
 34831  			Header: res.Header,
 34832  		}
 34833  	}
 34834  	if err != nil {
 34835  		return nil, err
 34836  	}
 34837  	defer googleapi.CloseBody(res)
 34838  	if err := googleapi.CheckResponse(res); err != nil {
 34839  		return nil, err
 34840  	}
 34841  	ret := &LandingPage{
 34842  		ServerResponse: googleapi.ServerResponse{
 34843  			Header:         res.Header,
 34844  			HTTPStatusCode: res.StatusCode,
 34845  		},
 34846  	}
 34847  	target := &ret
 34848  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34849  		return nil, err
 34850  	}
 34851  	return ret, nil
 34852  	// {
 34853  	//   "description": "Updates an existing campaign landing page. This method supports patch semantics.",
 34854  	//   "httpMethod": "PATCH",
 34855  	//   "id": "dfareporting.landingPages.patch",
 34856  	//   "parameterOrder": [
 34857  	//     "profileId",
 34858  	//     "campaignId",
 34859  	//     "id"
 34860  	//   ],
 34861  	//   "parameters": {
 34862  	//     "campaignId": {
 34863  	//       "description": "Landing page campaign ID.",
 34864  	//       "format": "int64",
 34865  	//       "location": "path",
 34866  	//       "required": true,
 34867  	//       "type": "string"
 34868  	//     },
 34869  	//     "id": {
 34870  	//       "description": "Landing page ID.",
 34871  	//       "format": "int64",
 34872  	//       "location": "query",
 34873  	//       "required": true,
 34874  	//       "type": "string"
 34875  	//     },
 34876  	//     "profileId": {
 34877  	//       "description": "User profile ID associated with this request.",
 34878  	//       "format": "int64",
 34879  	//       "location": "path",
 34880  	//       "required": true,
 34881  	//       "type": "string"
 34882  	//     }
 34883  	//   },
 34884  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages",
 34885  	//   "request": {
 34886  	//     "$ref": "LandingPage"
 34887  	//   },
 34888  	//   "response": {
 34889  	//     "$ref": "LandingPage"
 34890  	//   },
 34891  	//   "scopes": [
 34892  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34893  	//   ]
 34894  	// }
 34895  
 34896  }
 34897  
 34898  // method id "dfareporting.landingPages.update":
 34899  
 34900  type LandingPagesUpdateCall struct {
 34901  	s           *Service
 34902  	profileId   int64
 34903  	campaignId  int64
 34904  	landingpage *LandingPage
 34905  	urlParams_  gensupport.URLParams
 34906  	ctx_        context.Context
 34907  	header_     http.Header
 34908  }
 34909  
 34910  // Update: Updates an existing campaign landing page.
 34911  func (r *LandingPagesService) Update(profileId int64, campaignId int64, landingpage *LandingPage) *LandingPagesUpdateCall {
 34912  	c := &LandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34913  	c.profileId = profileId
 34914  	c.campaignId = campaignId
 34915  	c.landingpage = landingpage
 34916  	return c
 34917  }
 34918  
 34919  // Fields allows partial responses to be retrieved. See
 34920  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34921  // for more information.
 34922  func (c *LandingPagesUpdateCall) Fields(s ...googleapi.Field) *LandingPagesUpdateCall {
 34923  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34924  	return c
 34925  }
 34926  
 34927  // Context sets the context to be used in this call's Do method. Any
 34928  // pending HTTP request will be aborted if the provided context is
 34929  // canceled.
 34930  func (c *LandingPagesUpdateCall) Context(ctx context.Context) *LandingPagesUpdateCall {
 34931  	c.ctx_ = ctx
 34932  	return c
 34933  }
 34934  
 34935  // Header returns an http.Header that can be modified by the caller to
 34936  // add HTTP headers to the request.
 34937  func (c *LandingPagesUpdateCall) Header() http.Header {
 34938  	if c.header_ == nil {
 34939  		c.header_ = make(http.Header)
 34940  	}
 34941  	return c.header_
 34942  }
 34943  
 34944  func (c *LandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 34945  	reqHeaders := make(http.Header)
 34946  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34947  	for k, v := range c.header_ {
 34948  		reqHeaders[k] = v
 34949  	}
 34950  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34951  	var body io.Reader = nil
 34952  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 34953  	if err != nil {
 34954  		return nil, err
 34955  	}
 34956  	reqHeaders.Set("Content-Type", "application/json")
 34957  	c.urlParams_.Set("alt", alt)
 34958  	c.urlParams_.Set("prettyPrint", "false")
 34959  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
 34960  	urls += "?" + c.urlParams_.Encode()
 34961  	req, err := http.NewRequest("PUT", urls, body)
 34962  	if err != nil {
 34963  		return nil, err
 34964  	}
 34965  	req.Header = reqHeaders
 34966  	googleapi.Expand(req.URL, map[string]string{
 34967  		"profileId":  strconv.FormatInt(c.profileId, 10),
 34968  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 34969  	})
 34970  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34971  }
 34972  
 34973  // Do executes the "dfareporting.landingPages.update" call.
 34974  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 34975  // status code is an error. Response headers are in either
 34976  // *LandingPage.ServerResponse.Header or (if a response was returned at
 34977  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 34978  // to check whether the returned error was because
 34979  // http.StatusNotModified was returned.
 34980  func (c *LandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 34981  	gensupport.SetOptions(c.urlParams_, opts...)
 34982  	res, err := c.doRequest("json")
 34983  	if res != nil && res.StatusCode == http.StatusNotModified {
 34984  		if res.Body != nil {
 34985  			res.Body.Close()
 34986  		}
 34987  		return nil, &googleapi.Error{
 34988  			Code:   res.StatusCode,
 34989  			Header: res.Header,
 34990  		}
 34991  	}
 34992  	if err != nil {
 34993  		return nil, err
 34994  	}
 34995  	defer googleapi.CloseBody(res)
 34996  	if err := googleapi.CheckResponse(res); err != nil {
 34997  		return nil, err
 34998  	}
 34999  	ret := &LandingPage{
 35000  		ServerResponse: googleapi.ServerResponse{
 35001  			Header:         res.Header,
 35002  			HTTPStatusCode: res.StatusCode,
 35003  		},
 35004  	}
 35005  	target := &ret
 35006  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35007  		return nil, err
 35008  	}
 35009  	return ret, nil
 35010  	// {
 35011  	//   "description": "Updates an existing campaign landing page.",
 35012  	//   "httpMethod": "PUT",
 35013  	//   "id": "dfareporting.landingPages.update",
 35014  	//   "parameterOrder": [
 35015  	//     "profileId",
 35016  	//     "campaignId"
 35017  	//   ],
 35018  	//   "parameters": {
 35019  	//     "campaignId": {
 35020  	//       "description": "Landing page campaign ID.",
 35021  	//       "format": "int64",
 35022  	//       "location": "path",
 35023  	//       "required": true,
 35024  	//       "type": "string"
 35025  	//     },
 35026  	//     "profileId": {
 35027  	//       "description": "User profile ID associated with this request.",
 35028  	//       "format": "int64",
 35029  	//       "location": "path",
 35030  	//       "required": true,
 35031  	//       "type": "string"
 35032  	//     }
 35033  	//   },
 35034  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages",
 35035  	//   "request": {
 35036  	//     "$ref": "LandingPage"
 35037  	//   },
 35038  	//   "response": {
 35039  	//     "$ref": "LandingPage"
 35040  	//   },
 35041  	//   "scopes": [
 35042  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35043  	//   ]
 35044  	// }
 35045  
 35046  }
 35047  
 35048  // method id "dfareporting.languages.list":
 35049  
 35050  type LanguagesListCall struct {
 35051  	s            *Service
 35052  	profileId    int64
 35053  	urlParams_   gensupport.URLParams
 35054  	ifNoneMatch_ string
 35055  	ctx_         context.Context
 35056  	header_      http.Header
 35057  }
 35058  
 35059  // List: Retrieves a list of languages.
 35060  func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
 35061  	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35062  	c.profileId = profileId
 35063  	return c
 35064  }
 35065  
 35066  // Fields allows partial responses to be retrieved. See
 35067  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35068  // for more information.
 35069  func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
 35070  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35071  	return c
 35072  }
 35073  
 35074  // IfNoneMatch sets the optional parameter which makes the operation
 35075  // fail if the object's ETag matches the given value. This is useful for
 35076  // getting updates only after the object has changed since the last
 35077  // request. Use googleapi.IsNotModified to check whether the response
 35078  // error from Do is the result of In-None-Match.
 35079  func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
 35080  	c.ifNoneMatch_ = entityTag
 35081  	return c
 35082  }
 35083  
 35084  // Context sets the context to be used in this call's Do method. Any
 35085  // pending HTTP request will be aborted if the provided context is
 35086  // canceled.
 35087  func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
 35088  	c.ctx_ = ctx
 35089  	return c
 35090  }
 35091  
 35092  // Header returns an http.Header that can be modified by the caller to
 35093  // add HTTP headers to the request.
 35094  func (c *LanguagesListCall) Header() http.Header {
 35095  	if c.header_ == nil {
 35096  		c.header_ = make(http.Header)
 35097  	}
 35098  	return c.header_
 35099  }
 35100  
 35101  func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
 35102  	reqHeaders := make(http.Header)
 35103  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35104  	for k, v := range c.header_ {
 35105  		reqHeaders[k] = v
 35106  	}
 35107  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35108  	if c.ifNoneMatch_ != "" {
 35109  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35110  	}
 35111  	var body io.Reader = nil
 35112  	c.urlParams_.Set("alt", alt)
 35113  	c.urlParams_.Set("prettyPrint", "false")
 35114  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
 35115  	urls += "?" + c.urlParams_.Encode()
 35116  	req, err := http.NewRequest("GET", urls, body)
 35117  	if err != nil {
 35118  		return nil, err
 35119  	}
 35120  	req.Header = reqHeaders
 35121  	googleapi.Expand(req.URL, map[string]string{
 35122  		"profileId": strconv.FormatInt(c.profileId, 10),
 35123  	})
 35124  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35125  }
 35126  
 35127  // Do executes the "dfareporting.languages.list" call.
 35128  // Exactly one of *LanguagesListResponse or error will be non-nil. Any
 35129  // non-2xx status code is an error. Response headers are in either
 35130  // *LanguagesListResponse.ServerResponse.Header or (if a response was
 35131  // returned at all) in error.(*googleapi.Error).Header. Use
 35132  // googleapi.IsNotModified to check whether the returned error was
 35133  // because http.StatusNotModified was returned.
 35134  func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
 35135  	gensupport.SetOptions(c.urlParams_, opts...)
 35136  	res, err := c.doRequest("json")
 35137  	if res != nil && res.StatusCode == http.StatusNotModified {
 35138  		if res.Body != nil {
 35139  			res.Body.Close()
 35140  		}
 35141  		return nil, &googleapi.Error{
 35142  			Code:   res.StatusCode,
 35143  			Header: res.Header,
 35144  		}
 35145  	}
 35146  	if err != nil {
 35147  		return nil, err
 35148  	}
 35149  	defer googleapi.CloseBody(res)
 35150  	if err := googleapi.CheckResponse(res); err != nil {
 35151  		return nil, err
 35152  	}
 35153  	ret := &LanguagesListResponse{
 35154  		ServerResponse: googleapi.ServerResponse{
 35155  			Header:         res.Header,
 35156  			HTTPStatusCode: res.StatusCode,
 35157  		},
 35158  	}
 35159  	target := &ret
 35160  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35161  		return nil, err
 35162  	}
 35163  	return ret, nil
 35164  	// {
 35165  	//   "description": "Retrieves a list of languages.",
 35166  	//   "httpMethod": "GET",
 35167  	//   "id": "dfareporting.languages.list",
 35168  	//   "parameterOrder": [
 35169  	//     "profileId"
 35170  	//   ],
 35171  	//   "parameters": {
 35172  	//     "profileId": {
 35173  	//       "description": "User profile ID associated with this request.",
 35174  	//       "format": "int64",
 35175  	//       "location": "path",
 35176  	//       "required": true,
 35177  	//       "type": "string"
 35178  	//     }
 35179  	//   },
 35180  	//   "path": "userprofiles/{profileId}/languages",
 35181  	//   "response": {
 35182  	//     "$ref": "LanguagesListResponse"
 35183  	//   },
 35184  	//   "scopes": [
 35185  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35186  	//   ]
 35187  	// }
 35188  
 35189  }
 35190  
 35191  // method id "dfareporting.metros.list":
 35192  
 35193  type MetrosListCall struct {
 35194  	s            *Service
 35195  	profileId    int64
 35196  	urlParams_   gensupport.URLParams
 35197  	ifNoneMatch_ string
 35198  	ctx_         context.Context
 35199  	header_      http.Header
 35200  }
 35201  
 35202  // List: Retrieves a list of metros.
 35203  func (r *MetrosService) List(profileId int64) *MetrosListCall {
 35204  	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35205  	c.profileId = profileId
 35206  	return c
 35207  }
 35208  
 35209  // Fields allows partial responses to be retrieved. See
 35210  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35211  // for more information.
 35212  func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
 35213  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35214  	return c
 35215  }
 35216  
 35217  // IfNoneMatch sets the optional parameter which makes the operation
 35218  // fail if the object's ETag matches the given value. This is useful for
 35219  // getting updates only after the object has changed since the last
 35220  // request. Use googleapi.IsNotModified to check whether the response
 35221  // error from Do is the result of In-None-Match.
 35222  func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
 35223  	c.ifNoneMatch_ = entityTag
 35224  	return c
 35225  }
 35226  
 35227  // Context sets the context to be used in this call's Do method. Any
 35228  // pending HTTP request will be aborted if the provided context is
 35229  // canceled.
 35230  func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
 35231  	c.ctx_ = ctx
 35232  	return c
 35233  }
 35234  
 35235  // Header returns an http.Header that can be modified by the caller to
 35236  // add HTTP headers to the request.
 35237  func (c *MetrosListCall) Header() http.Header {
 35238  	if c.header_ == nil {
 35239  		c.header_ = make(http.Header)
 35240  	}
 35241  	return c.header_
 35242  }
 35243  
 35244  func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 35245  	reqHeaders := make(http.Header)
 35246  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35247  	for k, v := range c.header_ {
 35248  		reqHeaders[k] = v
 35249  	}
 35250  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35251  	if c.ifNoneMatch_ != "" {
 35252  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35253  	}
 35254  	var body io.Reader = nil
 35255  	c.urlParams_.Set("alt", alt)
 35256  	c.urlParams_.Set("prettyPrint", "false")
 35257  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
 35258  	urls += "?" + c.urlParams_.Encode()
 35259  	req, err := http.NewRequest("GET", urls, body)
 35260  	if err != nil {
 35261  		return nil, err
 35262  	}
 35263  	req.Header = reqHeaders
 35264  	googleapi.Expand(req.URL, map[string]string{
 35265  		"profileId": strconv.FormatInt(c.profileId, 10),
 35266  	})
 35267  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35268  }
 35269  
 35270  // Do executes the "dfareporting.metros.list" call.
 35271  // Exactly one of *MetrosListResponse or error will be non-nil. Any
 35272  // non-2xx status code is an error. Response headers are in either
 35273  // *MetrosListResponse.ServerResponse.Header or (if a response was
 35274  // returned at all) in error.(*googleapi.Error).Header. Use
 35275  // googleapi.IsNotModified to check whether the returned error was
 35276  // because http.StatusNotModified was returned.
 35277  func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
 35278  	gensupport.SetOptions(c.urlParams_, opts...)
 35279  	res, err := c.doRequest("json")
 35280  	if res != nil && res.StatusCode == http.StatusNotModified {
 35281  		if res.Body != nil {
 35282  			res.Body.Close()
 35283  		}
 35284  		return nil, &googleapi.Error{
 35285  			Code:   res.StatusCode,
 35286  			Header: res.Header,
 35287  		}
 35288  	}
 35289  	if err != nil {
 35290  		return nil, err
 35291  	}
 35292  	defer googleapi.CloseBody(res)
 35293  	if err := googleapi.CheckResponse(res); err != nil {
 35294  		return nil, err
 35295  	}
 35296  	ret := &MetrosListResponse{
 35297  		ServerResponse: googleapi.ServerResponse{
 35298  			Header:         res.Header,
 35299  			HTTPStatusCode: res.StatusCode,
 35300  		},
 35301  	}
 35302  	target := &ret
 35303  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35304  		return nil, err
 35305  	}
 35306  	return ret, nil
 35307  	// {
 35308  	//   "description": "Retrieves a list of metros.",
 35309  	//   "httpMethod": "GET",
 35310  	//   "id": "dfareporting.metros.list",
 35311  	//   "parameterOrder": [
 35312  	//     "profileId"
 35313  	//   ],
 35314  	//   "parameters": {
 35315  	//     "profileId": {
 35316  	//       "description": "User profile ID associated with this request.",
 35317  	//       "format": "int64",
 35318  	//       "location": "path",
 35319  	//       "required": true,
 35320  	//       "type": "string"
 35321  	//     }
 35322  	//   },
 35323  	//   "path": "userprofiles/{profileId}/metros",
 35324  	//   "response": {
 35325  	//     "$ref": "MetrosListResponse"
 35326  	//   },
 35327  	//   "scopes": [
 35328  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35329  	//   ]
 35330  	// }
 35331  
 35332  }
 35333  
 35334  // method id "dfareporting.mobileCarriers.get":
 35335  
 35336  type MobileCarriersGetCall struct {
 35337  	s            *Service
 35338  	profileId    int64
 35339  	id           int64
 35340  	urlParams_   gensupport.URLParams
 35341  	ifNoneMatch_ string
 35342  	ctx_         context.Context
 35343  	header_      http.Header
 35344  }
 35345  
 35346  // Get: Gets one mobile carrier by ID.
 35347  func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
 35348  	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35349  	c.profileId = profileId
 35350  	c.id = id
 35351  	return c
 35352  }
 35353  
 35354  // Fields allows partial responses to be retrieved. See
 35355  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35356  // for more information.
 35357  func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
 35358  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35359  	return c
 35360  }
 35361  
 35362  // IfNoneMatch sets the optional parameter which makes the operation
 35363  // fail if the object's ETag matches the given value. This is useful for
 35364  // getting updates only after the object has changed since the last
 35365  // request. Use googleapi.IsNotModified to check whether the response
 35366  // error from Do is the result of In-None-Match.
 35367  func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
 35368  	c.ifNoneMatch_ = entityTag
 35369  	return c
 35370  }
 35371  
 35372  // Context sets the context to be used in this call's Do method. Any
 35373  // pending HTTP request will be aborted if the provided context is
 35374  // canceled.
 35375  func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
 35376  	c.ctx_ = ctx
 35377  	return c
 35378  }
 35379  
 35380  // Header returns an http.Header that can be modified by the caller to
 35381  // add HTTP headers to the request.
 35382  func (c *MobileCarriersGetCall) Header() http.Header {
 35383  	if c.header_ == nil {
 35384  		c.header_ = make(http.Header)
 35385  	}
 35386  	return c.header_
 35387  }
 35388  
 35389  func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
 35390  	reqHeaders := make(http.Header)
 35391  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35392  	for k, v := range c.header_ {
 35393  		reqHeaders[k] = v
 35394  	}
 35395  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35396  	if c.ifNoneMatch_ != "" {
 35397  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35398  	}
 35399  	var body io.Reader = nil
 35400  	c.urlParams_.Set("alt", alt)
 35401  	c.urlParams_.Set("prettyPrint", "false")
 35402  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
 35403  	urls += "?" + c.urlParams_.Encode()
 35404  	req, err := http.NewRequest("GET", urls, body)
 35405  	if err != nil {
 35406  		return nil, err
 35407  	}
 35408  	req.Header = reqHeaders
 35409  	googleapi.Expand(req.URL, map[string]string{
 35410  		"profileId": strconv.FormatInt(c.profileId, 10),
 35411  		"id":        strconv.FormatInt(c.id, 10),
 35412  	})
 35413  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35414  }
 35415  
 35416  // Do executes the "dfareporting.mobileCarriers.get" call.
 35417  // Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
 35418  // status code is an error. Response headers are in either
 35419  // *MobileCarrier.ServerResponse.Header or (if a response was returned
 35420  // at all) in error.(*googleapi.Error).Header. Use
 35421  // googleapi.IsNotModified to check whether the returned error was
 35422  // because http.StatusNotModified was returned.
 35423  func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
 35424  	gensupport.SetOptions(c.urlParams_, opts...)
 35425  	res, err := c.doRequest("json")
 35426  	if res != nil && res.StatusCode == http.StatusNotModified {
 35427  		if res.Body != nil {
 35428  			res.Body.Close()
 35429  		}
 35430  		return nil, &googleapi.Error{
 35431  			Code:   res.StatusCode,
 35432  			Header: res.Header,
 35433  		}
 35434  	}
 35435  	if err != nil {
 35436  		return nil, err
 35437  	}
 35438  	defer googleapi.CloseBody(res)
 35439  	if err := googleapi.CheckResponse(res); err != nil {
 35440  		return nil, err
 35441  	}
 35442  	ret := &MobileCarrier{
 35443  		ServerResponse: googleapi.ServerResponse{
 35444  			Header:         res.Header,
 35445  			HTTPStatusCode: res.StatusCode,
 35446  		},
 35447  	}
 35448  	target := &ret
 35449  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35450  		return nil, err
 35451  	}
 35452  	return ret, nil
 35453  	// {
 35454  	//   "description": "Gets one mobile carrier by ID.",
 35455  	//   "httpMethod": "GET",
 35456  	//   "id": "dfareporting.mobileCarriers.get",
 35457  	//   "parameterOrder": [
 35458  	//     "profileId",
 35459  	//     "id"
 35460  	//   ],
 35461  	//   "parameters": {
 35462  	//     "id": {
 35463  	//       "description": "Mobile carrier ID.",
 35464  	//       "format": "int64",
 35465  	//       "location": "path",
 35466  	//       "required": true,
 35467  	//       "type": "string"
 35468  	//     },
 35469  	//     "profileId": {
 35470  	//       "description": "User profile ID associated with this request.",
 35471  	//       "format": "int64",
 35472  	//       "location": "path",
 35473  	//       "required": true,
 35474  	//       "type": "string"
 35475  	//     }
 35476  	//   },
 35477  	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
 35478  	//   "response": {
 35479  	//     "$ref": "MobileCarrier"
 35480  	//   },
 35481  	//   "scopes": [
 35482  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35483  	//   ]
 35484  	// }
 35485  
 35486  }
 35487  
 35488  // method id "dfareporting.mobileCarriers.list":
 35489  
 35490  type MobileCarriersListCall struct {
 35491  	s            *Service
 35492  	profileId    int64
 35493  	urlParams_   gensupport.URLParams
 35494  	ifNoneMatch_ string
 35495  	ctx_         context.Context
 35496  	header_      http.Header
 35497  }
 35498  
 35499  // List: Retrieves a list of mobile carriers.
 35500  func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
 35501  	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35502  	c.profileId = profileId
 35503  	return c
 35504  }
 35505  
 35506  // Fields allows partial responses to be retrieved. See
 35507  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35508  // for more information.
 35509  func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
 35510  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35511  	return c
 35512  }
 35513  
 35514  // IfNoneMatch sets the optional parameter which makes the operation
 35515  // fail if the object's ETag matches the given value. This is useful for
 35516  // getting updates only after the object has changed since the last
 35517  // request. Use googleapi.IsNotModified to check whether the response
 35518  // error from Do is the result of In-None-Match.
 35519  func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
 35520  	c.ifNoneMatch_ = entityTag
 35521  	return c
 35522  }
 35523  
 35524  // Context sets the context to be used in this call's Do method. Any
 35525  // pending HTTP request will be aborted if the provided context is
 35526  // canceled.
 35527  func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
 35528  	c.ctx_ = ctx
 35529  	return c
 35530  }
 35531  
 35532  // Header returns an http.Header that can be modified by the caller to
 35533  // add HTTP headers to the request.
 35534  func (c *MobileCarriersListCall) Header() http.Header {
 35535  	if c.header_ == nil {
 35536  		c.header_ = make(http.Header)
 35537  	}
 35538  	return c.header_
 35539  }
 35540  
 35541  func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 35542  	reqHeaders := make(http.Header)
 35543  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35544  	for k, v := range c.header_ {
 35545  		reqHeaders[k] = v
 35546  	}
 35547  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35548  	if c.ifNoneMatch_ != "" {
 35549  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35550  	}
 35551  	var body io.Reader = nil
 35552  	c.urlParams_.Set("alt", alt)
 35553  	c.urlParams_.Set("prettyPrint", "false")
 35554  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
 35555  	urls += "?" + c.urlParams_.Encode()
 35556  	req, err := http.NewRequest("GET", urls, body)
 35557  	if err != nil {
 35558  		return nil, err
 35559  	}
 35560  	req.Header = reqHeaders
 35561  	googleapi.Expand(req.URL, map[string]string{
 35562  		"profileId": strconv.FormatInt(c.profileId, 10),
 35563  	})
 35564  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35565  }
 35566  
 35567  // Do executes the "dfareporting.mobileCarriers.list" call.
 35568  // Exactly one of *MobileCarriersListResponse or error will be non-nil.
 35569  // Any non-2xx status code is an error. Response headers are in either
 35570  // *MobileCarriersListResponse.ServerResponse.Header or (if a response
 35571  // was returned at all) in error.(*googleapi.Error).Header. Use
 35572  // googleapi.IsNotModified to check whether the returned error was
 35573  // because http.StatusNotModified was returned.
 35574  func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
 35575  	gensupport.SetOptions(c.urlParams_, opts...)
 35576  	res, err := c.doRequest("json")
 35577  	if res != nil && res.StatusCode == http.StatusNotModified {
 35578  		if res.Body != nil {
 35579  			res.Body.Close()
 35580  		}
 35581  		return nil, &googleapi.Error{
 35582  			Code:   res.StatusCode,
 35583  			Header: res.Header,
 35584  		}
 35585  	}
 35586  	if err != nil {
 35587  		return nil, err
 35588  	}
 35589  	defer googleapi.CloseBody(res)
 35590  	if err := googleapi.CheckResponse(res); err != nil {
 35591  		return nil, err
 35592  	}
 35593  	ret := &MobileCarriersListResponse{
 35594  		ServerResponse: googleapi.ServerResponse{
 35595  			Header:         res.Header,
 35596  			HTTPStatusCode: res.StatusCode,
 35597  		},
 35598  	}
 35599  	target := &ret
 35600  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35601  		return nil, err
 35602  	}
 35603  	return ret, nil
 35604  	// {
 35605  	//   "description": "Retrieves a list of mobile carriers.",
 35606  	//   "httpMethod": "GET",
 35607  	//   "id": "dfareporting.mobileCarriers.list",
 35608  	//   "parameterOrder": [
 35609  	//     "profileId"
 35610  	//   ],
 35611  	//   "parameters": {
 35612  	//     "profileId": {
 35613  	//       "description": "User profile ID associated with this request.",
 35614  	//       "format": "int64",
 35615  	//       "location": "path",
 35616  	//       "required": true,
 35617  	//       "type": "string"
 35618  	//     }
 35619  	//   },
 35620  	//   "path": "userprofiles/{profileId}/mobileCarriers",
 35621  	//   "response": {
 35622  	//     "$ref": "MobileCarriersListResponse"
 35623  	//   },
 35624  	//   "scopes": [
 35625  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35626  	//   ]
 35627  	// }
 35628  
 35629  }
 35630  
 35631  // method id "dfareporting.operatingSystemVersions.get":
 35632  
 35633  type OperatingSystemVersionsGetCall struct {
 35634  	s            *Service
 35635  	profileId    int64
 35636  	id           int64
 35637  	urlParams_   gensupport.URLParams
 35638  	ifNoneMatch_ string
 35639  	ctx_         context.Context
 35640  	header_      http.Header
 35641  }
 35642  
 35643  // Get: Gets one operating system version by ID.
 35644  func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
 35645  	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35646  	c.profileId = profileId
 35647  	c.id = id
 35648  	return c
 35649  }
 35650  
 35651  // Fields allows partial responses to be retrieved. See
 35652  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35653  // for more information.
 35654  func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
 35655  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35656  	return c
 35657  }
 35658  
 35659  // IfNoneMatch sets the optional parameter which makes the operation
 35660  // fail if the object's ETag matches the given value. This is useful for
 35661  // getting updates only after the object has changed since the last
 35662  // request. Use googleapi.IsNotModified to check whether the response
 35663  // error from Do is the result of In-None-Match.
 35664  func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
 35665  	c.ifNoneMatch_ = entityTag
 35666  	return c
 35667  }
 35668  
 35669  // Context sets the context to be used in this call's Do method. Any
 35670  // pending HTTP request will be aborted if the provided context is
 35671  // canceled.
 35672  func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
 35673  	c.ctx_ = ctx
 35674  	return c
 35675  }
 35676  
 35677  // Header returns an http.Header that can be modified by the caller to
 35678  // add HTTP headers to the request.
 35679  func (c *OperatingSystemVersionsGetCall) Header() http.Header {
 35680  	if c.header_ == nil {
 35681  		c.header_ = make(http.Header)
 35682  	}
 35683  	return c.header_
 35684  }
 35685  
 35686  func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 35687  	reqHeaders := make(http.Header)
 35688  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35689  	for k, v := range c.header_ {
 35690  		reqHeaders[k] = v
 35691  	}
 35692  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35693  	if c.ifNoneMatch_ != "" {
 35694  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35695  	}
 35696  	var body io.Reader = nil
 35697  	c.urlParams_.Set("alt", alt)
 35698  	c.urlParams_.Set("prettyPrint", "false")
 35699  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
 35700  	urls += "?" + c.urlParams_.Encode()
 35701  	req, err := http.NewRequest("GET", urls, body)
 35702  	if err != nil {
 35703  		return nil, err
 35704  	}
 35705  	req.Header = reqHeaders
 35706  	googleapi.Expand(req.URL, map[string]string{
 35707  		"profileId": strconv.FormatInt(c.profileId, 10),
 35708  		"id":        strconv.FormatInt(c.id, 10),
 35709  	})
 35710  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35711  }
 35712  
 35713  // Do executes the "dfareporting.operatingSystemVersions.get" call.
 35714  // Exactly one of *OperatingSystemVersion or error will be non-nil. Any
 35715  // non-2xx status code is an error. Response headers are in either
 35716  // *OperatingSystemVersion.ServerResponse.Header or (if a response was
 35717  // returned at all) in error.(*googleapi.Error).Header. Use
 35718  // googleapi.IsNotModified to check whether the returned error was
 35719  // because http.StatusNotModified was returned.
 35720  func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
 35721  	gensupport.SetOptions(c.urlParams_, opts...)
 35722  	res, err := c.doRequest("json")
 35723  	if res != nil && res.StatusCode == http.StatusNotModified {
 35724  		if res.Body != nil {
 35725  			res.Body.Close()
 35726  		}
 35727  		return nil, &googleapi.Error{
 35728  			Code:   res.StatusCode,
 35729  			Header: res.Header,
 35730  		}
 35731  	}
 35732  	if err != nil {
 35733  		return nil, err
 35734  	}
 35735  	defer googleapi.CloseBody(res)
 35736  	if err := googleapi.CheckResponse(res); err != nil {
 35737  		return nil, err
 35738  	}
 35739  	ret := &OperatingSystemVersion{
 35740  		ServerResponse: googleapi.ServerResponse{
 35741  			Header:         res.Header,
 35742  			HTTPStatusCode: res.StatusCode,
 35743  		},
 35744  	}
 35745  	target := &ret
 35746  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35747  		return nil, err
 35748  	}
 35749  	return ret, nil
 35750  	// {
 35751  	//   "description": "Gets one operating system version by ID.",
 35752  	//   "httpMethod": "GET",
 35753  	//   "id": "dfareporting.operatingSystemVersions.get",
 35754  	//   "parameterOrder": [
 35755  	//     "profileId",
 35756  	//     "id"
 35757  	//   ],
 35758  	//   "parameters": {
 35759  	//     "id": {
 35760  	//       "description": "Operating system version ID.",
 35761  	//       "format": "int64",
 35762  	//       "location": "path",
 35763  	//       "required": true,
 35764  	//       "type": "string"
 35765  	//     },
 35766  	//     "profileId": {
 35767  	//       "description": "User profile ID associated with this request.",
 35768  	//       "format": "int64",
 35769  	//       "location": "path",
 35770  	//       "required": true,
 35771  	//       "type": "string"
 35772  	//     }
 35773  	//   },
 35774  	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
 35775  	//   "response": {
 35776  	//     "$ref": "OperatingSystemVersion"
 35777  	//   },
 35778  	//   "scopes": [
 35779  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35780  	//   ]
 35781  	// }
 35782  
 35783  }
 35784  
 35785  // method id "dfareporting.operatingSystemVersions.list":
 35786  
 35787  type OperatingSystemVersionsListCall struct {
 35788  	s            *Service
 35789  	profileId    int64
 35790  	urlParams_   gensupport.URLParams
 35791  	ifNoneMatch_ string
 35792  	ctx_         context.Context
 35793  	header_      http.Header
 35794  }
 35795  
 35796  // List: Retrieves a list of operating system versions.
 35797  func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
 35798  	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35799  	c.profileId = profileId
 35800  	return c
 35801  }
 35802  
 35803  // Fields allows partial responses to be retrieved. See
 35804  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35805  // for more information.
 35806  func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
 35807  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35808  	return c
 35809  }
 35810  
 35811  // IfNoneMatch sets the optional parameter which makes the operation
 35812  // fail if the object's ETag matches the given value. This is useful for
 35813  // getting updates only after the object has changed since the last
 35814  // request. Use googleapi.IsNotModified to check whether the response
 35815  // error from Do is the result of In-None-Match.
 35816  func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
 35817  	c.ifNoneMatch_ = entityTag
 35818  	return c
 35819  }
 35820  
 35821  // Context sets the context to be used in this call's Do method. Any
 35822  // pending HTTP request will be aborted if the provided context is
 35823  // canceled.
 35824  func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
 35825  	c.ctx_ = ctx
 35826  	return c
 35827  }
 35828  
 35829  // Header returns an http.Header that can be modified by the caller to
 35830  // add HTTP headers to the request.
 35831  func (c *OperatingSystemVersionsListCall) Header() http.Header {
 35832  	if c.header_ == nil {
 35833  		c.header_ = make(http.Header)
 35834  	}
 35835  	return c.header_
 35836  }
 35837  
 35838  func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 35839  	reqHeaders := make(http.Header)
 35840  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35841  	for k, v := range c.header_ {
 35842  		reqHeaders[k] = v
 35843  	}
 35844  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35845  	if c.ifNoneMatch_ != "" {
 35846  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35847  	}
 35848  	var body io.Reader = nil
 35849  	c.urlParams_.Set("alt", alt)
 35850  	c.urlParams_.Set("prettyPrint", "false")
 35851  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
 35852  	urls += "?" + c.urlParams_.Encode()
 35853  	req, err := http.NewRequest("GET", urls, body)
 35854  	if err != nil {
 35855  		return nil, err
 35856  	}
 35857  	req.Header = reqHeaders
 35858  	googleapi.Expand(req.URL, map[string]string{
 35859  		"profileId": strconv.FormatInt(c.profileId, 10),
 35860  	})
 35861  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35862  }
 35863  
 35864  // Do executes the "dfareporting.operatingSystemVersions.list" call.
 35865  // Exactly one of *OperatingSystemVersionsListResponse or error will be
 35866  // non-nil. Any non-2xx status code is an error. Response headers are in
 35867  // either *OperatingSystemVersionsListResponse.ServerResponse.Header or
 35868  // (if a response was returned at all) in
 35869  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 35870  // whether the returned error was because http.StatusNotModified was
 35871  // returned.
 35872  func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
 35873  	gensupport.SetOptions(c.urlParams_, opts...)
 35874  	res, err := c.doRequest("json")
 35875  	if res != nil && res.StatusCode == http.StatusNotModified {
 35876  		if res.Body != nil {
 35877  			res.Body.Close()
 35878  		}
 35879  		return nil, &googleapi.Error{
 35880  			Code:   res.StatusCode,
 35881  			Header: res.Header,
 35882  		}
 35883  	}
 35884  	if err != nil {
 35885  		return nil, err
 35886  	}
 35887  	defer googleapi.CloseBody(res)
 35888  	if err := googleapi.CheckResponse(res); err != nil {
 35889  		return nil, err
 35890  	}
 35891  	ret := &OperatingSystemVersionsListResponse{
 35892  		ServerResponse: googleapi.ServerResponse{
 35893  			Header:         res.Header,
 35894  			HTTPStatusCode: res.StatusCode,
 35895  		},
 35896  	}
 35897  	target := &ret
 35898  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35899  		return nil, err
 35900  	}
 35901  	return ret, nil
 35902  	// {
 35903  	//   "description": "Retrieves a list of operating system versions.",
 35904  	//   "httpMethod": "GET",
 35905  	//   "id": "dfareporting.operatingSystemVersions.list",
 35906  	//   "parameterOrder": [
 35907  	//     "profileId"
 35908  	//   ],
 35909  	//   "parameters": {
 35910  	//     "profileId": {
 35911  	//       "description": "User profile ID associated with this request.",
 35912  	//       "format": "int64",
 35913  	//       "location": "path",
 35914  	//       "required": true,
 35915  	//       "type": "string"
 35916  	//     }
 35917  	//   },
 35918  	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
 35919  	//   "response": {
 35920  	//     "$ref": "OperatingSystemVersionsListResponse"
 35921  	//   },
 35922  	//   "scopes": [
 35923  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35924  	//   ]
 35925  	// }
 35926  
 35927  }
 35928  
 35929  // method id "dfareporting.operatingSystems.get":
 35930  
 35931  type OperatingSystemsGetCall struct {
 35932  	s            *Service
 35933  	profileId    int64
 35934  	dartId       int64
 35935  	urlParams_   gensupport.URLParams
 35936  	ifNoneMatch_ string
 35937  	ctx_         context.Context
 35938  	header_      http.Header
 35939  }
 35940  
 35941  // Get: Gets one operating system by DART ID.
 35942  func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
 35943  	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35944  	c.profileId = profileId
 35945  	c.dartId = dartId
 35946  	return c
 35947  }
 35948  
 35949  // Fields allows partial responses to be retrieved. See
 35950  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35951  // for more information.
 35952  func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
 35953  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35954  	return c
 35955  }
 35956  
 35957  // IfNoneMatch sets the optional parameter which makes the operation
 35958  // fail if the object's ETag matches the given value. This is useful for
 35959  // getting updates only after the object has changed since the last
 35960  // request. Use googleapi.IsNotModified to check whether the response
 35961  // error from Do is the result of In-None-Match.
 35962  func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
 35963  	c.ifNoneMatch_ = entityTag
 35964  	return c
 35965  }
 35966  
 35967  // Context sets the context to be used in this call's Do method. Any
 35968  // pending HTTP request will be aborted if the provided context is
 35969  // canceled.
 35970  func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
 35971  	c.ctx_ = ctx
 35972  	return c
 35973  }
 35974  
 35975  // Header returns an http.Header that can be modified by the caller to
 35976  // add HTTP headers to the request.
 35977  func (c *OperatingSystemsGetCall) Header() http.Header {
 35978  	if c.header_ == nil {
 35979  		c.header_ = make(http.Header)
 35980  	}
 35981  	return c.header_
 35982  }
 35983  
 35984  func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
 35985  	reqHeaders := make(http.Header)
 35986  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35987  	for k, v := range c.header_ {
 35988  		reqHeaders[k] = v
 35989  	}
 35990  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35991  	if c.ifNoneMatch_ != "" {
 35992  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35993  	}
 35994  	var body io.Reader = nil
 35995  	c.urlParams_.Set("alt", alt)
 35996  	c.urlParams_.Set("prettyPrint", "false")
 35997  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
 35998  	urls += "?" + c.urlParams_.Encode()
 35999  	req, err := http.NewRequest("GET", urls, body)
 36000  	if err != nil {
 36001  		return nil, err
 36002  	}
 36003  	req.Header = reqHeaders
 36004  	googleapi.Expand(req.URL, map[string]string{
 36005  		"profileId": strconv.FormatInt(c.profileId, 10),
 36006  		"dartId":    strconv.FormatInt(c.dartId, 10),
 36007  	})
 36008  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36009  }
 36010  
 36011  // Do executes the "dfareporting.operatingSystems.get" call.
 36012  // Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
 36013  // status code is an error. Response headers are in either
 36014  // *OperatingSystem.ServerResponse.Header or (if a response was returned
 36015  // at all) in error.(*googleapi.Error).Header. Use
 36016  // googleapi.IsNotModified to check whether the returned error was
 36017  // because http.StatusNotModified was returned.
 36018  func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
 36019  	gensupport.SetOptions(c.urlParams_, opts...)
 36020  	res, err := c.doRequest("json")
 36021  	if res != nil && res.StatusCode == http.StatusNotModified {
 36022  		if res.Body != nil {
 36023  			res.Body.Close()
 36024  		}
 36025  		return nil, &googleapi.Error{
 36026  			Code:   res.StatusCode,
 36027  			Header: res.Header,
 36028  		}
 36029  	}
 36030  	if err != nil {
 36031  		return nil, err
 36032  	}
 36033  	defer googleapi.CloseBody(res)
 36034  	if err := googleapi.CheckResponse(res); err != nil {
 36035  		return nil, err
 36036  	}
 36037  	ret := &OperatingSystem{
 36038  		ServerResponse: googleapi.ServerResponse{
 36039  			Header:         res.Header,
 36040  			HTTPStatusCode: res.StatusCode,
 36041  		},
 36042  	}
 36043  	target := &ret
 36044  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36045  		return nil, err
 36046  	}
 36047  	return ret, nil
 36048  	// {
 36049  	//   "description": "Gets one operating system by DART ID.",
 36050  	//   "httpMethod": "GET",
 36051  	//   "id": "dfareporting.operatingSystems.get",
 36052  	//   "parameterOrder": [
 36053  	//     "profileId",
 36054  	//     "dartId"
 36055  	//   ],
 36056  	//   "parameters": {
 36057  	//     "dartId": {
 36058  	//       "description": "Operating system DART ID.",
 36059  	//       "format": "int64",
 36060  	//       "location": "path",
 36061  	//       "required": true,
 36062  	//       "type": "string"
 36063  	//     },
 36064  	//     "profileId": {
 36065  	//       "description": "User profile ID associated with this request.",
 36066  	//       "format": "int64",
 36067  	//       "location": "path",
 36068  	//       "required": true,
 36069  	//       "type": "string"
 36070  	//     }
 36071  	//   },
 36072  	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
 36073  	//   "response": {
 36074  	//     "$ref": "OperatingSystem"
 36075  	//   },
 36076  	//   "scopes": [
 36077  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36078  	//   ]
 36079  	// }
 36080  
 36081  }
 36082  
 36083  // method id "dfareporting.operatingSystems.list":
 36084  
 36085  type OperatingSystemsListCall struct {
 36086  	s            *Service
 36087  	profileId    int64
 36088  	urlParams_   gensupport.URLParams
 36089  	ifNoneMatch_ string
 36090  	ctx_         context.Context
 36091  	header_      http.Header
 36092  }
 36093  
 36094  // List: Retrieves a list of operating systems.
 36095  func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
 36096  	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36097  	c.profileId = profileId
 36098  	return c
 36099  }
 36100  
 36101  // Fields allows partial responses to be retrieved. See
 36102  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36103  // for more information.
 36104  func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
 36105  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36106  	return c
 36107  }
 36108  
 36109  // IfNoneMatch sets the optional parameter which makes the operation
 36110  // fail if the object's ETag matches the given value. This is useful for
 36111  // getting updates only after the object has changed since the last
 36112  // request. Use googleapi.IsNotModified to check whether the response
 36113  // error from Do is the result of In-None-Match.
 36114  func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
 36115  	c.ifNoneMatch_ = entityTag
 36116  	return c
 36117  }
 36118  
 36119  // Context sets the context to be used in this call's Do method. Any
 36120  // pending HTTP request will be aborted if the provided context is
 36121  // canceled.
 36122  func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
 36123  	c.ctx_ = ctx
 36124  	return c
 36125  }
 36126  
 36127  // Header returns an http.Header that can be modified by the caller to
 36128  // add HTTP headers to the request.
 36129  func (c *OperatingSystemsListCall) Header() http.Header {
 36130  	if c.header_ == nil {
 36131  		c.header_ = make(http.Header)
 36132  	}
 36133  	return c.header_
 36134  }
 36135  
 36136  func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 36137  	reqHeaders := make(http.Header)
 36138  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36139  	for k, v := range c.header_ {
 36140  		reqHeaders[k] = v
 36141  	}
 36142  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36143  	if c.ifNoneMatch_ != "" {
 36144  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36145  	}
 36146  	var body io.Reader = nil
 36147  	c.urlParams_.Set("alt", alt)
 36148  	c.urlParams_.Set("prettyPrint", "false")
 36149  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
 36150  	urls += "?" + c.urlParams_.Encode()
 36151  	req, err := http.NewRequest("GET", urls, body)
 36152  	if err != nil {
 36153  		return nil, err
 36154  	}
 36155  	req.Header = reqHeaders
 36156  	googleapi.Expand(req.URL, map[string]string{
 36157  		"profileId": strconv.FormatInt(c.profileId, 10),
 36158  	})
 36159  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36160  }
 36161  
 36162  // Do executes the "dfareporting.operatingSystems.list" call.
 36163  // Exactly one of *OperatingSystemsListResponse or error will be
 36164  // non-nil. Any non-2xx status code is an error. Response headers are in
 36165  // either *OperatingSystemsListResponse.ServerResponse.Header or (if a
 36166  // response was returned at all) in error.(*googleapi.Error).Header. Use
 36167  // googleapi.IsNotModified to check whether the returned error was
 36168  // because http.StatusNotModified was returned.
 36169  func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
 36170  	gensupport.SetOptions(c.urlParams_, opts...)
 36171  	res, err := c.doRequest("json")
 36172  	if res != nil && res.StatusCode == http.StatusNotModified {
 36173  		if res.Body != nil {
 36174  			res.Body.Close()
 36175  		}
 36176  		return nil, &googleapi.Error{
 36177  			Code:   res.StatusCode,
 36178  			Header: res.Header,
 36179  		}
 36180  	}
 36181  	if err != nil {
 36182  		return nil, err
 36183  	}
 36184  	defer googleapi.CloseBody(res)
 36185  	if err := googleapi.CheckResponse(res); err != nil {
 36186  		return nil, err
 36187  	}
 36188  	ret := &OperatingSystemsListResponse{
 36189  		ServerResponse: googleapi.ServerResponse{
 36190  			Header:         res.Header,
 36191  			HTTPStatusCode: res.StatusCode,
 36192  		},
 36193  	}
 36194  	target := &ret
 36195  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36196  		return nil, err
 36197  	}
 36198  	return ret, nil
 36199  	// {
 36200  	//   "description": "Retrieves a list of operating systems.",
 36201  	//   "httpMethod": "GET",
 36202  	//   "id": "dfareporting.operatingSystems.list",
 36203  	//   "parameterOrder": [
 36204  	//     "profileId"
 36205  	//   ],
 36206  	//   "parameters": {
 36207  	//     "profileId": {
 36208  	//       "description": "User profile ID associated with this request.",
 36209  	//       "format": "int64",
 36210  	//       "location": "path",
 36211  	//       "required": true,
 36212  	//       "type": "string"
 36213  	//     }
 36214  	//   },
 36215  	//   "path": "userprofiles/{profileId}/operatingSystems",
 36216  	//   "response": {
 36217  	//     "$ref": "OperatingSystemsListResponse"
 36218  	//   },
 36219  	//   "scopes": [
 36220  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36221  	//   ]
 36222  	// }
 36223  
 36224  }
 36225  
 36226  // method id "dfareporting.orderDocuments.get":
 36227  
 36228  type OrderDocumentsGetCall struct {
 36229  	s            *Service
 36230  	profileId    int64
 36231  	projectId    int64
 36232  	id           int64
 36233  	urlParams_   gensupport.URLParams
 36234  	ifNoneMatch_ string
 36235  	ctx_         context.Context
 36236  	header_      http.Header
 36237  }
 36238  
 36239  // Get: Gets one order document by ID.
 36240  func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
 36241  	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36242  	c.profileId = profileId
 36243  	c.projectId = projectId
 36244  	c.id = id
 36245  	return c
 36246  }
 36247  
 36248  // Fields allows partial responses to be retrieved. See
 36249  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36250  // for more information.
 36251  func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
 36252  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36253  	return c
 36254  }
 36255  
 36256  // IfNoneMatch sets the optional parameter which makes the operation
 36257  // fail if the object's ETag matches the given value. This is useful for
 36258  // getting updates only after the object has changed since the last
 36259  // request. Use googleapi.IsNotModified to check whether the response
 36260  // error from Do is the result of In-None-Match.
 36261  func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
 36262  	c.ifNoneMatch_ = entityTag
 36263  	return c
 36264  }
 36265  
 36266  // Context sets the context to be used in this call's Do method. Any
 36267  // pending HTTP request will be aborted if the provided context is
 36268  // canceled.
 36269  func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
 36270  	c.ctx_ = ctx
 36271  	return c
 36272  }
 36273  
 36274  // Header returns an http.Header that can be modified by the caller to
 36275  // add HTTP headers to the request.
 36276  func (c *OrderDocumentsGetCall) Header() http.Header {
 36277  	if c.header_ == nil {
 36278  		c.header_ = make(http.Header)
 36279  	}
 36280  	return c.header_
 36281  }
 36282  
 36283  func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 36284  	reqHeaders := make(http.Header)
 36285  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36286  	for k, v := range c.header_ {
 36287  		reqHeaders[k] = v
 36288  	}
 36289  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36290  	if c.ifNoneMatch_ != "" {
 36291  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36292  	}
 36293  	var body io.Reader = nil
 36294  	c.urlParams_.Set("alt", alt)
 36295  	c.urlParams_.Set("prettyPrint", "false")
 36296  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
 36297  	urls += "?" + c.urlParams_.Encode()
 36298  	req, err := http.NewRequest("GET", urls, body)
 36299  	if err != nil {
 36300  		return nil, err
 36301  	}
 36302  	req.Header = reqHeaders
 36303  	googleapi.Expand(req.URL, map[string]string{
 36304  		"profileId": strconv.FormatInt(c.profileId, 10),
 36305  		"projectId": strconv.FormatInt(c.projectId, 10),
 36306  		"id":        strconv.FormatInt(c.id, 10),
 36307  	})
 36308  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36309  }
 36310  
 36311  // Do executes the "dfareporting.orderDocuments.get" call.
 36312  // Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
 36313  // status code is an error. Response headers are in either
 36314  // *OrderDocument.ServerResponse.Header or (if a response was returned
 36315  // at all) in error.(*googleapi.Error).Header. Use
 36316  // googleapi.IsNotModified to check whether the returned error was
 36317  // because http.StatusNotModified was returned.
 36318  func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
 36319  	gensupport.SetOptions(c.urlParams_, opts...)
 36320  	res, err := c.doRequest("json")
 36321  	if res != nil && res.StatusCode == http.StatusNotModified {
 36322  		if res.Body != nil {
 36323  			res.Body.Close()
 36324  		}
 36325  		return nil, &googleapi.Error{
 36326  			Code:   res.StatusCode,
 36327  			Header: res.Header,
 36328  		}
 36329  	}
 36330  	if err != nil {
 36331  		return nil, err
 36332  	}
 36333  	defer googleapi.CloseBody(res)
 36334  	if err := googleapi.CheckResponse(res); err != nil {
 36335  		return nil, err
 36336  	}
 36337  	ret := &OrderDocument{
 36338  		ServerResponse: googleapi.ServerResponse{
 36339  			Header:         res.Header,
 36340  			HTTPStatusCode: res.StatusCode,
 36341  		},
 36342  	}
 36343  	target := &ret
 36344  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36345  		return nil, err
 36346  	}
 36347  	return ret, nil
 36348  	// {
 36349  	//   "description": "Gets one order document by ID.",
 36350  	//   "httpMethod": "GET",
 36351  	//   "id": "dfareporting.orderDocuments.get",
 36352  	//   "parameterOrder": [
 36353  	//     "profileId",
 36354  	//     "projectId",
 36355  	//     "id"
 36356  	//   ],
 36357  	//   "parameters": {
 36358  	//     "id": {
 36359  	//       "description": "Order document ID.",
 36360  	//       "format": "int64",
 36361  	//       "location": "path",
 36362  	//       "required": true,
 36363  	//       "type": "string"
 36364  	//     },
 36365  	//     "profileId": {
 36366  	//       "description": "User profile ID associated with this request.",
 36367  	//       "format": "int64",
 36368  	//       "location": "path",
 36369  	//       "required": true,
 36370  	//       "type": "string"
 36371  	//     },
 36372  	//     "projectId": {
 36373  	//       "description": "Project ID for order documents.",
 36374  	//       "format": "int64",
 36375  	//       "location": "path",
 36376  	//       "required": true,
 36377  	//       "type": "string"
 36378  	//     }
 36379  	//   },
 36380  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
 36381  	//   "response": {
 36382  	//     "$ref": "OrderDocument"
 36383  	//   },
 36384  	//   "scopes": [
 36385  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36386  	//   ]
 36387  	// }
 36388  
 36389  }
 36390  
 36391  // method id "dfareporting.orderDocuments.list":
 36392  
 36393  type OrderDocumentsListCall struct {
 36394  	s            *Service
 36395  	profileId    int64
 36396  	projectId    int64
 36397  	urlParams_   gensupport.URLParams
 36398  	ifNoneMatch_ string
 36399  	ctx_         context.Context
 36400  	header_      http.Header
 36401  }
 36402  
 36403  // List: Retrieves a list of order documents, possibly filtered. This
 36404  // method supports paging.
 36405  func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
 36406  	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36407  	c.profileId = profileId
 36408  	c.projectId = projectId
 36409  	return c
 36410  }
 36411  
 36412  // Approved sets the optional parameter "approved": Select only order
 36413  // documents that have been approved by at least one user.
 36414  func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
 36415  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 36416  	return c
 36417  }
 36418  
 36419  // Ids sets the optional parameter "ids": Select only order documents
 36420  // with these IDs.
 36421  func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
 36422  	var ids_ []string
 36423  	for _, v := range ids {
 36424  		ids_ = append(ids_, fmt.Sprint(v))
 36425  	}
 36426  	c.urlParams_.SetMulti("ids", ids_)
 36427  	return c
 36428  }
 36429  
 36430  // MaxResults sets the optional parameter "maxResults": Maximum number
 36431  // of results to return.
 36432  func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
 36433  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 36434  	return c
 36435  }
 36436  
 36437  // OrderId sets the optional parameter "orderId": Select only order
 36438  // documents for specified orders.
 36439  func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
 36440  	var orderId_ []string
 36441  	for _, v := range orderId {
 36442  		orderId_ = append(orderId_, fmt.Sprint(v))
 36443  	}
 36444  	c.urlParams_.SetMulti("orderId", orderId_)
 36445  	return c
 36446  }
 36447  
 36448  // PageToken sets the optional parameter "pageToken": Value of the
 36449  // nextPageToken from the previous result page.
 36450  func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
 36451  	c.urlParams_.Set("pageToken", pageToken)
 36452  	return c
 36453  }
 36454  
 36455  // SearchString sets the optional parameter "searchString": Allows
 36456  // searching for order documents by name or ID. Wildcards (*) are
 36457  // allowed. For example, "orderdocument*2015" will return order
 36458  // documents with names like "orderdocument June 2015", "orderdocument
 36459  // April 2015", or simply "orderdocument 2015". Most of the searches
 36460  // also add wildcards implicitly at the start and the end of the search
 36461  // string. For example, a search string of "orderdocument" will match
 36462  // order documents with name "my orderdocument", "orderdocument 2015",
 36463  // or simply "orderdocument".
 36464  func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
 36465  	c.urlParams_.Set("searchString", searchString)
 36466  	return c
 36467  }
 36468  
 36469  // SiteId sets the optional parameter "siteId": Select only order
 36470  // documents that are associated with these sites.
 36471  func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
 36472  	var siteId_ []string
 36473  	for _, v := range siteId {
 36474  		siteId_ = append(siteId_, fmt.Sprint(v))
 36475  	}
 36476  	c.urlParams_.SetMulti("siteId", siteId_)
 36477  	return c
 36478  }
 36479  
 36480  // SortField sets the optional parameter "sortField": Field by which to
 36481  // sort the list.
 36482  //
 36483  // Possible values:
 36484  //
 36485  //	"ID" (default)
 36486  //	"NAME"
 36487  func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
 36488  	c.urlParams_.Set("sortField", sortField)
 36489  	return c
 36490  }
 36491  
 36492  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 36493  // results.
 36494  //
 36495  // Possible values:
 36496  //
 36497  //	"ASCENDING" (default)
 36498  //	"DESCENDING"
 36499  func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
 36500  	c.urlParams_.Set("sortOrder", sortOrder)
 36501  	return c
 36502  }
 36503  
 36504  // Fields allows partial responses to be retrieved. See
 36505  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36506  // for more information.
 36507  func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
 36508  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36509  	return c
 36510  }
 36511  
 36512  // IfNoneMatch sets the optional parameter which makes the operation
 36513  // fail if the object's ETag matches the given value. This is useful for
 36514  // getting updates only after the object has changed since the last
 36515  // request. Use googleapi.IsNotModified to check whether the response
 36516  // error from Do is the result of In-None-Match.
 36517  func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
 36518  	c.ifNoneMatch_ = entityTag
 36519  	return c
 36520  }
 36521  
 36522  // Context sets the context to be used in this call's Do method. Any
 36523  // pending HTTP request will be aborted if the provided context is
 36524  // canceled.
 36525  func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
 36526  	c.ctx_ = ctx
 36527  	return c
 36528  }
 36529  
 36530  // Header returns an http.Header that can be modified by the caller to
 36531  // add HTTP headers to the request.
 36532  func (c *OrderDocumentsListCall) Header() http.Header {
 36533  	if c.header_ == nil {
 36534  		c.header_ = make(http.Header)
 36535  	}
 36536  	return c.header_
 36537  }
 36538  
 36539  func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 36540  	reqHeaders := make(http.Header)
 36541  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36542  	for k, v := range c.header_ {
 36543  		reqHeaders[k] = v
 36544  	}
 36545  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36546  	if c.ifNoneMatch_ != "" {
 36547  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36548  	}
 36549  	var body io.Reader = nil
 36550  	c.urlParams_.Set("alt", alt)
 36551  	c.urlParams_.Set("prettyPrint", "false")
 36552  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
 36553  	urls += "?" + c.urlParams_.Encode()
 36554  	req, err := http.NewRequest("GET", urls, body)
 36555  	if err != nil {
 36556  		return nil, err
 36557  	}
 36558  	req.Header = reqHeaders
 36559  	googleapi.Expand(req.URL, map[string]string{
 36560  		"profileId": strconv.FormatInt(c.profileId, 10),
 36561  		"projectId": strconv.FormatInt(c.projectId, 10),
 36562  	})
 36563  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36564  }
 36565  
 36566  // Do executes the "dfareporting.orderDocuments.list" call.
 36567  // Exactly one of *OrderDocumentsListResponse or error will be non-nil.
 36568  // Any non-2xx status code is an error. Response headers are in either
 36569  // *OrderDocumentsListResponse.ServerResponse.Header or (if a response
 36570  // was returned at all) in error.(*googleapi.Error).Header. Use
 36571  // googleapi.IsNotModified to check whether the returned error was
 36572  // because http.StatusNotModified was returned.
 36573  func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
 36574  	gensupport.SetOptions(c.urlParams_, opts...)
 36575  	res, err := c.doRequest("json")
 36576  	if res != nil && res.StatusCode == http.StatusNotModified {
 36577  		if res.Body != nil {
 36578  			res.Body.Close()
 36579  		}
 36580  		return nil, &googleapi.Error{
 36581  			Code:   res.StatusCode,
 36582  			Header: res.Header,
 36583  		}
 36584  	}
 36585  	if err != nil {
 36586  		return nil, err
 36587  	}
 36588  	defer googleapi.CloseBody(res)
 36589  	if err := googleapi.CheckResponse(res); err != nil {
 36590  		return nil, err
 36591  	}
 36592  	ret := &OrderDocumentsListResponse{
 36593  		ServerResponse: googleapi.ServerResponse{
 36594  			Header:         res.Header,
 36595  			HTTPStatusCode: res.StatusCode,
 36596  		},
 36597  	}
 36598  	target := &ret
 36599  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36600  		return nil, err
 36601  	}
 36602  	return ret, nil
 36603  	// {
 36604  	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
 36605  	//   "httpMethod": "GET",
 36606  	//   "id": "dfareporting.orderDocuments.list",
 36607  	//   "parameterOrder": [
 36608  	//     "profileId",
 36609  	//     "projectId"
 36610  	//   ],
 36611  	//   "parameters": {
 36612  	//     "approved": {
 36613  	//       "description": "Select only order documents that have been approved by at least one user.",
 36614  	//       "location": "query",
 36615  	//       "type": "boolean"
 36616  	//     },
 36617  	//     "ids": {
 36618  	//       "description": "Select only order documents with these IDs.",
 36619  	//       "format": "int64",
 36620  	//       "location": "query",
 36621  	//       "repeated": true,
 36622  	//       "type": "string"
 36623  	//     },
 36624  	//     "maxResults": {
 36625  	//       "default": "1000",
 36626  	//       "description": "Maximum number of results to return.",
 36627  	//       "format": "int32",
 36628  	//       "location": "query",
 36629  	//       "maximum": "1000",
 36630  	//       "minimum": "0",
 36631  	//       "type": "integer"
 36632  	//     },
 36633  	//     "orderId": {
 36634  	//       "description": "Select only order documents for specified orders.",
 36635  	//       "format": "int64",
 36636  	//       "location": "query",
 36637  	//       "repeated": true,
 36638  	//       "type": "string"
 36639  	//     },
 36640  	//     "pageToken": {
 36641  	//       "description": "Value of the nextPageToken from the previous result page.",
 36642  	//       "location": "query",
 36643  	//       "type": "string"
 36644  	//     },
 36645  	//     "profileId": {
 36646  	//       "description": "User profile ID associated with this request.",
 36647  	//       "format": "int64",
 36648  	//       "location": "path",
 36649  	//       "required": true,
 36650  	//       "type": "string"
 36651  	//     },
 36652  	//     "projectId": {
 36653  	//       "description": "Project ID for order documents.",
 36654  	//       "format": "int64",
 36655  	//       "location": "path",
 36656  	//       "required": true,
 36657  	//       "type": "string"
 36658  	//     },
 36659  	//     "searchString": {
 36660  	//       "description": "Allows searching for order documents by name or ID. Wildcards (*) are allowed. For example, \"orderdocument*2015\" will return order documents with names like \"orderdocument June 2015\", \"orderdocument April 2015\", or simply \"orderdocument 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"orderdocument\" will match order documents with name \"my orderdocument\", \"orderdocument 2015\", or simply \"orderdocument\".",
 36661  	//       "location": "query",
 36662  	//       "type": "string"
 36663  	//     },
 36664  	//     "siteId": {
 36665  	//       "description": "Select only order documents that are associated with these sites.",
 36666  	//       "format": "int64",
 36667  	//       "location": "query",
 36668  	//       "repeated": true,
 36669  	//       "type": "string"
 36670  	//     },
 36671  	//     "sortField": {
 36672  	//       "default": "ID",
 36673  	//       "description": "Field by which to sort the list.",
 36674  	//       "enum": [
 36675  	//         "ID",
 36676  	//         "NAME"
 36677  	//       ],
 36678  	//       "enumDescriptions": [
 36679  	//         "",
 36680  	//         ""
 36681  	//       ],
 36682  	//       "location": "query",
 36683  	//       "type": "string"
 36684  	//     },
 36685  	//     "sortOrder": {
 36686  	//       "default": "ASCENDING",
 36687  	//       "description": "Order of sorted results.",
 36688  	//       "enum": [
 36689  	//         "ASCENDING",
 36690  	//         "DESCENDING"
 36691  	//       ],
 36692  	//       "enumDescriptions": [
 36693  	//         "",
 36694  	//         ""
 36695  	//       ],
 36696  	//       "location": "query",
 36697  	//       "type": "string"
 36698  	//     }
 36699  	//   },
 36700  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
 36701  	//   "response": {
 36702  	//     "$ref": "OrderDocumentsListResponse"
 36703  	//   },
 36704  	//   "scopes": [
 36705  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36706  	//   ]
 36707  	// }
 36708  
 36709  }
 36710  
 36711  // Pages invokes f for each page of results.
 36712  // A non-nil error returned from f will halt the iteration.
 36713  // The provided context supersedes any context provided to the Context method.
 36714  func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
 36715  	c.ctx_ = ctx
 36716  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 36717  	for {
 36718  		x, err := c.Do()
 36719  		if err != nil {
 36720  			return err
 36721  		}
 36722  		if err := f(x); err != nil {
 36723  			return err
 36724  		}
 36725  		if x.NextPageToken == "" {
 36726  			return nil
 36727  		}
 36728  		c.PageToken(x.NextPageToken)
 36729  	}
 36730  }
 36731  
 36732  // method id "dfareporting.orders.get":
 36733  
 36734  type OrdersGetCall struct {
 36735  	s            *Service
 36736  	profileId    int64
 36737  	projectId    int64
 36738  	id           int64
 36739  	urlParams_   gensupport.URLParams
 36740  	ifNoneMatch_ string
 36741  	ctx_         context.Context
 36742  	header_      http.Header
 36743  }
 36744  
 36745  // Get: Gets one order by ID.
 36746  func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
 36747  	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36748  	c.profileId = profileId
 36749  	c.projectId = projectId
 36750  	c.id = id
 36751  	return c
 36752  }
 36753  
 36754  // Fields allows partial responses to be retrieved. See
 36755  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36756  // for more information.
 36757  func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
 36758  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36759  	return c
 36760  }
 36761  
 36762  // IfNoneMatch sets the optional parameter which makes the operation
 36763  // fail if the object's ETag matches the given value. This is useful for
 36764  // getting updates only after the object has changed since the last
 36765  // request. Use googleapi.IsNotModified to check whether the response
 36766  // error from Do is the result of In-None-Match.
 36767  func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
 36768  	c.ifNoneMatch_ = entityTag
 36769  	return c
 36770  }
 36771  
 36772  // Context sets the context to be used in this call's Do method. Any
 36773  // pending HTTP request will be aborted if the provided context is
 36774  // canceled.
 36775  func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
 36776  	c.ctx_ = ctx
 36777  	return c
 36778  }
 36779  
 36780  // Header returns an http.Header that can be modified by the caller to
 36781  // add HTTP headers to the request.
 36782  func (c *OrdersGetCall) Header() http.Header {
 36783  	if c.header_ == nil {
 36784  		c.header_ = make(http.Header)
 36785  	}
 36786  	return c.header_
 36787  }
 36788  
 36789  func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 36790  	reqHeaders := make(http.Header)
 36791  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36792  	for k, v := range c.header_ {
 36793  		reqHeaders[k] = v
 36794  	}
 36795  	reqHeaders.Set("User-Agent", c.s.userAgent())
 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, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
 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  		"profileId": strconv.FormatInt(c.profileId, 10),
 36811  		"projectId": strconv.FormatInt(c.projectId, 10),
 36812  		"id":        strconv.FormatInt(c.id, 10),
 36813  	})
 36814  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36815  }
 36816  
 36817  // Do executes the "dfareporting.orders.get" call.
 36818  // Exactly one of *Order or error will be non-nil. Any non-2xx status
 36819  // code is an error. Response headers are in either
 36820  // *Order.ServerResponse.Header or (if a response was returned at all)
 36821  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 36822  // check whether the returned error was because http.StatusNotModified
 36823  // was returned.
 36824  func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
 36825  	gensupport.SetOptions(c.urlParams_, opts...)
 36826  	res, err := c.doRequest("json")
 36827  	if res != nil && res.StatusCode == http.StatusNotModified {
 36828  		if res.Body != nil {
 36829  			res.Body.Close()
 36830  		}
 36831  		return nil, &googleapi.Error{
 36832  			Code:   res.StatusCode,
 36833  			Header: res.Header,
 36834  		}
 36835  	}
 36836  	if err != nil {
 36837  		return nil, err
 36838  	}
 36839  	defer googleapi.CloseBody(res)
 36840  	if err := googleapi.CheckResponse(res); err != nil {
 36841  		return nil, err
 36842  	}
 36843  	ret := &Order{
 36844  		ServerResponse: googleapi.ServerResponse{
 36845  			Header:         res.Header,
 36846  			HTTPStatusCode: res.StatusCode,
 36847  		},
 36848  	}
 36849  	target := &ret
 36850  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36851  		return nil, err
 36852  	}
 36853  	return ret, nil
 36854  	// {
 36855  	//   "description": "Gets one order by ID.",
 36856  	//   "httpMethod": "GET",
 36857  	//   "id": "dfareporting.orders.get",
 36858  	//   "parameterOrder": [
 36859  	//     "profileId",
 36860  	//     "projectId",
 36861  	//     "id"
 36862  	//   ],
 36863  	//   "parameters": {
 36864  	//     "id": {
 36865  	//       "description": "Order ID.",
 36866  	//       "format": "int64",
 36867  	//       "location": "path",
 36868  	//       "required": true,
 36869  	//       "type": "string"
 36870  	//     },
 36871  	//     "profileId": {
 36872  	//       "description": "User profile ID associated with this request.",
 36873  	//       "format": "int64",
 36874  	//       "location": "path",
 36875  	//       "required": true,
 36876  	//       "type": "string"
 36877  	//     },
 36878  	//     "projectId": {
 36879  	//       "description": "Project ID for orders.",
 36880  	//       "format": "int64",
 36881  	//       "location": "path",
 36882  	//       "required": true,
 36883  	//       "type": "string"
 36884  	//     }
 36885  	//   },
 36886  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
 36887  	//   "response": {
 36888  	//     "$ref": "Order"
 36889  	//   },
 36890  	//   "scopes": [
 36891  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36892  	//   ]
 36893  	// }
 36894  
 36895  }
 36896  
 36897  // method id "dfareporting.orders.list":
 36898  
 36899  type OrdersListCall struct {
 36900  	s            *Service
 36901  	profileId    int64
 36902  	projectId    int64
 36903  	urlParams_   gensupport.URLParams
 36904  	ifNoneMatch_ string
 36905  	ctx_         context.Context
 36906  	header_      http.Header
 36907  }
 36908  
 36909  // List: Retrieves a list of orders, possibly filtered. This method
 36910  // supports paging.
 36911  func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
 36912  	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36913  	c.profileId = profileId
 36914  	c.projectId = projectId
 36915  	return c
 36916  }
 36917  
 36918  // Ids sets the optional parameter "ids": Select only orders with these
 36919  // IDs.
 36920  func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
 36921  	var ids_ []string
 36922  	for _, v := range ids {
 36923  		ids_ = append(ids_, fmt.Sprint(v))
 36924  	}
 36925  	c.urlParams_.SetMulti("ids", ids_)
 36926  	return c
 36927  }
 36928  
 36929  // MaxResults sets the optional parameter "maxResults": Maximum number
 36930  // of results to return.
 36931  func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
 36932  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 36933  	return c
 36934  }
 36935  
 36936  // PageToken sets the optional parameter "pageToken": Value of the
 36937  // nextPageToken from the previous result page.
 36938  func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
 36939  	c.urlParams_.Set("pageToken", pageToken)
 36940  	return c
 36941  }
 36942  
 36943  // SearchString sets the optional parameter "searchString": Allows
 36944  // searching for orders by name or ID. Wildcards (*) are allowed. For
 36945  // example, "order*2015" will return orders with names like "order June
 36946  // 2015", "order April 2015", or simply "order 2015". Most of the
 36947  // searches also add wildcards implicitly at the start and the end of
 36948  // the search string. For example, a search string of "order" will match
 36949  // orders with name "my order", "order 2015", or simply "order".
 36950  func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
 36951  	c.urlParams_.Set("searchString", searchString)
 36952  	return c
 36953  }
 36954  
 36955  // SiteId sets the optional parameter "siteId": Select only orders that
 36956  // are associated with these site IDs.
 36957  func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
 36958  	var siteId_ []string
 36959  	for _, v := range siteId {
 36960  		siteId_ = append(siteId_, fmt.Sprint(v))
 36961  	}
 36962  	c.urlParams_.SetMulti("siteId", siteId_)
 36963  	return c
 36964  }
 36965  
 36966  // SortField sets the optional parameter "sortField": Field by which to
 36967  // sort the list.
 36968  //
 36969  // Possible values:
 36970  //
 36971  //	"ID" (default)
 36972  //	"NAME"
 36973  func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
 36974  	c.urlParams_.Set("sortField", sortField)
 36975  	return c
 36976  }
 36977  
 36978  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 36979  // results.
 36980  //
 36981  // Possible values:
 36982  //
 36983  //	"ASCENDING" (default)
 36984  //	"DESCENDING"
 36985  func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
 36986  	c.urlParams_.Set("sortOrder", sortOrder)
 36987  	return c
 36988  }
 36989  
 36990  // Fields allows partial responses to be retrieved. See
 36991  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36992  // for more information.
 36993  func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
 36994  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36995  	return c
 36996  }
 36997  
 36998  // IfNoneMatch sets the optional parameter which makes the operation
 36999  // fail if the object's ETag matches the given value. This is useful for
 37000  // getting updates only after the object has changed since the last
 37001  // request. Use googleapi.IsNotModified to check whether the response
 37002  // error from Do is the result of In-None-Match.
 37003  func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
 37004  	c.ifNoneMatch_ = entityTag
 37005  	return c
 37006  }
 37007  
 37008  // Context sets the context to be used in this call's Do method. Any
 37009  // pending HTTP request will be aborted if the provided context is
 37010  // canceled.
 37011  func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
 37012  	c.ctx_ = ctx
 37013  	return c
 37014  }
 37015  
 37016  // Header returns an http.Header that can be modified by the caller to
 37017  // add HTTP headers to the request.
 37018  func (c *OrdersListCall) Header() http.Header {
 37019  	if c.header_ == nil {
 37020  		c.header_ = make(http.Header)
 37021  	}
 37022  	return c.header_
 37023  }
 37024  
 37025  func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 37026  	reqHeaders := make(http.Header)
 37027  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37028  	for k, v := range c.header_ {
 37029  		reqHeaders[k] = v
 37030  	}
 37031  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37032  	if c.ifNoneMatch_ != "" {
 37033  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37034  	}
 37035  	var body io.Reader = nil
 37036  	c.urlParams_.Set("alt", alt)
 37037  	c.urlParams_.Set("prettyPrint", "false")
 37038  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
 37039  	urls += "?" + c.urlParams_.Encode()
 37040  	req, err := http.NewRequest("GET", urls, body)
 37041  	if err != nil {
 37042  		return nil, err
 37043  	}
 37044  	req.Header = reqHeaders
 37045  	googleapi.Expand(req.URL, map[string]string{
 37046  		"profileId": strconv.FormatInt(c.profileId, 10),
 37047  		"projectId": strconv.FormatInt(c.projectId, 10),
 37048  	})
 37049  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37050  }
 37051  
 37052  // Do executes the "dfareporting.orders.list" call.
 37053  // Exactly one of *OrdersListResponse or error will be non-nil. Any
 37054  // non-2xx status code is an error. Response headers are in either
 37055  // *OrdersListResponse.ServerResponse.Header or (if a response was
 37056  // returned at all) in error.(*googleapi.Error).Header. Use
 37057  // googleapi.IsNotModified to check whether the returned error was
 37058  // because http.StatusNotModified was returned.
 37059  func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
 37060  	gensupport.SetOptions(c.urlParams_, opts...)
 37061  	res, err := c.doRequest("json")
 37062  	if res != nil && res.StatusCode == http.StatusNotModified {
 37063  		if res.Body != nil {
 37064  			res.Body.Close()
 37065  		}
 37066  		return nil, &googleapi.Error{
 37067  			Code:   res.StatusCode,
 37068  			Header: res.Header,
 37069  		}
 37070  	}
 37071  	if err != nil {
 37072  		return nil, err
 37073  	}
 37074  	defer googleapi.CloseBody(res)
 37075  	if err := googleapi.CheckResponse(res); err != nil {
 37076  		return nil, err
 37077  	}
 37078  	ret := &OrdersListResponse{
 37079  		ServerResponse: googleapi.ServerResponse{
 37080  			Header:         res.Header,
 37081  			HTTPStatusCode: res.StatusCode,
 37082  		},
 37083  	}
 37084  	target := &ret
 37085  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37086  		return nil, err
 37087  	}
 37088  	return ret, nil
 37089  	// {
 37090  	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
 37091  	//   "httpMethod": "GET",
 37092  	//   "id": "dfareporting.orders.list",
 37093  	//   "parameterOrder": [
 37094  	//     "profileId",
 37095  	//     "projectId"
 37096  	//   ],
 37097  	//   "parameters": {
 37098  	//     "ids": {
 37099  	//       "description": "Select only orders with these IDs.",
 37100  	//       "format": "int64",
 37101  	//       "location": "query",
 37102  	//       "repeated": true,
 37103  	//       "type": "string"
 37104  	//     },
 37105  	//     "maxResults": {
 37106  	//       "default": "1000",
 37107  	//       "description": "Maximum number of results to return.",
 37108  	//       "format": "int32",
 37109  	//       "location": "query",
 37110  	//       "maximum": "1000",
 37111  	//       "minimum": "0",
 37112  	//       "type": "integer"
 37113  	//     },
 37114  	//     "pageToken": {
 37115  	//       "description": "Value of the nextPageToken from the previous result page.",
 37116  	//       "location": "query",
 37117  	//       "type": "string"
 37118  	//     },
 37119  	//     "profileId": {
 37120  	//       "description": "User profile ID associated with this request.",
 37121  	//       "format": "int64",
 37122  	//       "location": "path",
 37123  	//       "required": true,
 37124  	//       "type": "string"
 37125  	//     },
 37126  	//     "projectId": {
 37127  	//       "description": "Project ID for orders.",
 37128  	//       "format": "int64",
 37129  	//       "location": "path",
 37130  	//       "required": true,
 37131  	//       "type": "string"
 37132  	//     },
 37133  	//     "searchString": {
 37134  	//       "description": "Allows searching for orders by name or ID. Wildcards (*) are allowed. For example, \"order*2015\" will return orders with names like \"order June 2015\", \"order April 2015\", or simply \"order 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"order\" will match orders with name \"my order\", \"order 2015\", or simply \"order\".",
 37135  	//       "location": "query",
 37136  	//       "type": "string"
 37137  	//     },
 37138  	//     "siteId": {
 37139  	//       "description": "Select only orders that are associated with these site IDs.",
 37140  	//       "format": "int64",
 37141  	//       "location": "query",
 37142  	//       "repeated": true,
 37143  	//       "type": "string"
 37144  	//     },
 37145  	//     "sortField": {
 37146  	//       "default": "ID",
 37147  	//       "description": "Field by which to sort the list.",
 37148  	//       "enum": [
 37149  	//         "ID",
 37150  	//         "NAME"
 37151  	//       ],
 37152  	//       "enumDescriptions": [
 37153  	//         "",
 37154  	//         ""
 37155  	//       ],
 37156  	//       "location": "query",
 37157  	//       "type": "string"
 37158  	//     },
 37159  	//     "sortOrder": {
 37160  	//       "default": "ASCENDING",
 37161  	//       "description": "Order of sorted results.",
 37162  	//       "enum": [
 37163  	//         "ASCENDING",
 37164  	//         "DESCENDING"
 37165  	//       ],
 37166  	//       "enumDescriptions": [
 37167  	//         "",
 37168  	//         ""
 37169  	//       ],
 37170  	//       "location": "query",
 37171  	//       "type": "string"
 37172  	//     }
 37173  	//   },
 37174  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
 37175  	//   "response": {
 37176  	//     "$ref": "OrdersListResponse"
 37177  	//   },
 37178  	//   "scopes": [
 37179  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37180  	//   ]
 37181  	// }
 37182  
 37183  }
 37184  
 37185  // Pages invokes f for each page of results.
 37186  // A non-nil error returned from f will halt the iteration.
 37187  // The provided context supersedes any context provided to the Context method.
 37188  func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
 37189  	c.ctx_ = ctx
 37190  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 37191  	for {
 37192  		x, err := c.Do()
 37193  		if err != nil {
 37194  			return err
 37195  		}
 37196  		if err := f(x); err != nil {
 37197  			return err
 37198  		}
 37199  		if x.NextPageToken == "" {
 37200  			return nil
 37201  		}
 37202  		c.PageToken(x.NextPageToken)
 37203  	}
 37204  }
 37205  
 37206  // method id "dfareporting.placementGroups.get":
 37207  
 37208  type PlacementGroupsGetCall struct {
 37209  	s            *Service
 37210  	profileId    int64
 37211  	id           int64
 37212  	urlParams_   gensupport.URLParams
 37213  	ifNoneMatch_ string
 37214  	ctx_         context.Context
 37215  	header_      http.Header
 37216  }
 37217  
 37218  // Get: Gets one placement group by ID.
 37219  func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
 37220  	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37221  	c.profileId = profileId
 37222  	c.id = id
 37223  	return c
 37224  }
 37225  
 37226  // Fields allows partial responses to be retrieved. See
 37227  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37228  // for more information.
 37229  func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
 37230  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37231  	return c
 37232  }
 37233  
 37234  // IfNoneMatch sets the optional parameter which makes the operation
 37235  // fail if the object's ETag matches the given value. This is useful for
 37236  // getting updates only after the object has changed since the last
 37237  // request. Use googleapi.IsNotModified to check whether the response
 37238  // error from Do is the result of In-None-Match.
 37239  func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
 37240  	c.ifNoneMatch_ = entityTag
 37241  	return c
 37242  }
 37243  
 37244  // Context sets the context to be used in this call's Do method. Any
 37245  // pending HTTP request will be aborted if the provided context is
 37246  // canceled.
 37247  func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
 37248  	c.ctx_ = ctx
 37249  	return c
 37250  }
 37251  
 37252  // Header returns an http.Header that can be modified by the caller to
 37253  // add HTTP headers to the request.
 37254  func (c *PlacementGroupsGetCall) Header() http.Header {
 37255  	if c.header_ == nil {
 37256  		c.header_ = make(http.Header)
 37257  	}
 37258  	return c.header_
 37259  }
 37260  
 37261  func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 37262  	reqHeaders := make(http.Header)
 37263  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37264  	for k, v := range c.header_ {
 37265  		reqHeaders[k] = v
 37266  	}
 37267  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37268  	if c.ifNoneMatch_ != "" {
 37269  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37270  	}
 37271  	var body io.Reader = nil
 37272  	c.urlParams_.Set("alt", alt)
 37273  	c.urlParams_.Set("prettyPrint", "false")
 37274  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
 37275  	urls += "?" + c.urlParams_.Encode()
 37276  	req, err := http.NewRequest("GET", urls, body)
 37277  	if err != nil {
 37278  		return nil, err
 37279  	}
 37280  	req.Header = reqHeaders
 37281  	googleapi.Expand(req.URL, map[string]string{
 37282  		"profileId": strconv.FormatInt(c.profileId, 10),
 37283  		"id":        strconv.FormatInt(c.id, 10),
 37284  	})
 37285  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37286  }
 37287  
 37288  // Do executes the "dfareporting.placementGroups.get" call.
 37289  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 37290  // status code is an error. Response headers are in either
 37291  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 37292  // at all) in error.(*googleapi.Error).Header. Use
 37293  // googleapi.IsNotModified to check whether the returned error was
 37294  // because http.StatusNotModified was returned.
 37295  func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 37296  	gensupport.SetOptions(c.urlParams_, opts...)
 37297  	res, err := c.doRequest("json")
 37298  	if res != nil && res.StatusCode == http.StatusNotModified {
 37299  		if res.Body != nil {
 37300  			res.Body.Close()
 37301  		}
 37302  		return nil, &googleapi.Error{
 37303  			Code:   res.StatusCode,
 37304  			Header: res.Header,
 37305  		}
 37306  	}
 37307  	if err != nil {
 37308  		return nil, err
 37309  	}
 37310  	defer googleapi.CloseBody(res)
 37311  	if err := googleapi.CheckResponse(res); err != nil {
 37312  		return nil, err
 37313  	}
 37314  	ret := &PlacementGroup{
 37315  		ServerResponse: googleapi.ServerResponse{
 37316  			Header:         res.Header,
 37317  			HTTPStatusCode: res.StatusCode,
 37318  		},
 37319  	}
 37320  	target := &ret
 37321  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37322  		return nil, err
 37323  	}
 37324  	return ret, nil
 37325  	// {
 37326  	//   "description": "Gets one placement group by ID.",
 37327  	//   "httpMethod": "GET",
 37328  	//   "id": "dfareporting.placementGroups.get",
 37329  	//   "parameterOrder": [
 37330  	//     "profileId",
 37331  	//     "id"
 37332  	//   ],
 37333  	//   "parameters": {
 37334  	//     "id": {
 37335  	//       "description": "Placement group ID.",
 37336  	//       "format": "int64",
 37337  	//       "location": "path",
 37338  	//       "required": true,
 37339  	//       "type": "string"
 37340  	//     },
 37341  	//     "profileId": {
 37342  	//       "description": "User profile ID associated with this request.",
 37343  	//       "format": "int64",
 37344  	//       "location": "path",
 37345  	//       "required": true,
 37346  	//       "type": "string"
 37347  	//     }
 37348  	//   },
 37349  	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
 37350  	//   "response": {
 37351  	//     "$ref": "PlacementGroup"
 37352  	//   },
 37353  	//   "scopes": [
 37354  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37355  	//   ]
 37356  	// }
 37357  
 37358  }
 37359  
 37360  // method id "dfareporting.placementGroups.insert":
 37361  
 37362  type PlacementGroupsInsertCall struct {
 37363  	s              *Service
 37364  	profileId      int64
 37365  	placementgroup *PlacementGroup
 37366  	urlParams_     gensupport.URLParams
 37367  	ctx_           context.Context
 37368  	header_        http.Header
 37369  }
 37370  
 37371  // Insert: Inserts a new placement group.
 37372  func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
 37373  	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37374  	c.profileId = profileId
 37375  	c.placementgroup = placementgroup
 37376  	return c
 37377  }
 37378  
 37379  // Fields allows partial responses to be retrieved. See
 37380  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37381  // for more information.
 37382  func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
 37383  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37384  	return c
 37385  }
 37386  
 37387  // Context sets the context to be used in this call's Do method. Any
 37388  // pending HTTP request will be aborted if the provided context is
 37389  // canceled.
 37390  func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
 37391  	c.ctx_ = ctx
 37392  	return c
 37393  }
 37394  
 37395  // Header returns an http.Header that can be modified by the caller to
 37396  // add HTTP headers to the request.
 37397  func (c *PlacementGroupsInsertCall) Header() http.Header {
 37398  	if c.header_ == nil {
 37399  		c.header_ = make(http.Header)
 37400  	}
 37401  	return c.header_
 37402  }
 37403  
 37404  func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 37405  	reqHeaders := make(http.Header)
 37406  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37407  	for k, v := range c.header_ {
 37408  		reqHeaders[k] = v
 37409  	}
 37410  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37411  	var body io.Reader = nil
 37412  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 37413  	if err != nil {
 37414  		return nil, err
 37415  	}
 37416  	reqHeaders.Set("Content-Type", "application/json")
 37417  	c.urlParams_.Set("alt", alt)
 37418  	c.urlParams_.Set("prettyPrint", "false")
 37419  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 37420  	urls += "?" + c.urlParams_.Encode()
 37421  	req, err := http.NewRequest("POST", urls, body)
 37422  	if err != nil {
 37423  		return nil, err
 37424  	}
 37425  	req.Header = reqHeaders
 37426  	googleapi.Expand(req.URL, map[string]string{
 37427  		"profileId": strconv.FormatInt(c.profileId, 10),
 37428  	})
 37429  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37430  }
 37431  
 37432  // Do executes the "dfareporting.placementGroups.insert" call.
 37433  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 37434  // status code is an error. Response headers are in either
 37435  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 37436  // at all) in error.(*googleapi.Error).Header. Use
 37437  // googleapi.IsNotModified to check whether the returned error was
 37438  // because http.StatusNotModified was returned.
 37439  func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 37440  	gensupport.SetOptions(c.urlParams_, opts...)
 37441  	res, err := c.doRequest("json")
 37442  	if res != nil && res.StatusCode == http.StatusNotModified {
 37443  		if res.Body != nil {
 37444  			res.Body.Close()
 37445  		}
 37446  		return nil, &googleapi.Error{
 37447  			Code:   res.StatusCode,
 37448  			Header: res.Header,
 37449  		}
 37450  	}
 37451  	if err != nil {
 37452  		return nil, err
 37453  	}
 37454  	defer googleapi.CloseBody(res)
 37455  	if err := googleapi.CheckResponse(res); err != nil {
 37456  		return nil, err
 37457  	}
 37458  	ret := &PlacementGroup{
 37459  		ServerResponse: googleapi.ServerResponse{
 37460  			Header:         res.Header,
 37461  			HTTPStatusCode: res.StatusCode,
 37462  		},
 37463  	}
 37464  	target := &ret
 37465  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37466  		return nil, err
 37467  	}
 37468  	return ret, nil
 37469  	// {
 37470  	//   "description": "Inserts a new placement group.",
 37471  	//   "httpMethod": "POST",
 37472  	//   "id": "dfareporting.placementGroups.insert",
 37473  	//   "parameterOrder": [
 37474  	//     "profileId"
 37475  	//   ],
 37476  	//   "parameters": {
 37477  	//     "profileId": {
 37478  	//       "description": "User profile ID associated with this request.",
 37479  	//       "format": "int64",
 37480  	//       "location": "path",
 37481  	//       "required": true,
 37482  	//       "type": "string"
 37483  	//     }
 37484  	//   },
 37485  	//   "path": "userprofiles/{profileId}/placementGroups",
 37486  	//   "request": {
 37487  	//     "$ref": "PlacementGroup"
 37488  	//   },
 37489  	//   "response": {
 37490  	//     "$ref": "PlacementGroup"
 37491  	//   },
 37492  	//   "scopes": [
 37493  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37494  	//   ]
 37495  	// }
 37496  
 37497  }
 37498  
 37499  // method id "dfareporting.placementGroups.list":
 37500  
 37501  type PlacementGroupsListCall struct {
 37502  	s            *Service
 37503  	profileId    int64
 37504  	urlParams_   gensupport.URLParams
 37505  	ifNoneMatch_ string
 37506  	ctx_         context.Context
 37507  	header_      http.Header
 37508  }
 37509  
 37510  // List: Retrieves a list of placement groups, possibly filtered. This
 37511  // method supports paging.
 37512  func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
 37513  	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37514  	c.profileId = profileId
 37515  	return c
 37516  }
 37517  
 37518  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 37519  // only placement groups that belong to these advertisers.
 37520  func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
 37521  	var advertiserIds_ []string
 37522  	for _, v := range advertiserIds {
 37523  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 37524  	}
 37525  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 37526  	return c
 37527  }
 37528  
 37529  // Archived sets the optional parameter "archived": Select only archived
 37530  // placements. Don't set this field to select both archived and
 37531  // non-archived placements.
 37532  func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
 37533  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 37534  	return c
 37535  }
 37536  
 37537  // CampaignIds sets the optional parameter "campaignIds": Select only
 37538  // placement groups that belong to these campaigns.
 37539  func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
 37540  	var campaignIds_ []string
 37541  	for _, v := range campaignIds {
 37542  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 37543  	}
 37544  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 37545  	return c
 37546  }
 37547  
 37548  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 37549  // Select only placement groups that are associated with these content
 37550  // categories.
 37551  func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
 37552  	var contentCategoryIds_ []string
 37553  	for _, v := range contentCategoryIds {
 37554  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 37555  	}
 37556  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 37557  	return c
 37558  }
 37559  
 37560  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 37561  // Select only placement groups that are associated with these directory
 37562  // sites.
 37563  func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
 37564  	var directorySiteIds_ []string
 37565  	for _, v := range directorySiteIds {
 37566  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 37567  	}
 37568  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 37569  	return c
 37570  }
 37571  
 37572  // Ids sets the optional parameter "ids": Select only placement groups
 37573  // with these IDs.
 37574  func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
 37575  	var ids_ []string
 37576  	for _, v := range ids {
 37577  		ids_ = append(ids_, fmt.Sprint(v))
 37578  	}
 37579  	c.urlParams_.SetMulti("ids", ids_)
 37580  	return c
 37581  }
 37582  
 37583  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 37584  // placements or placement groups whose end date is on or before the
 37585  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 37586  func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
 37587  	c.urlParams_.Set("maxEndDate", maxEndDate)
 37588  	return c
 37589  }
 37590  
 37591  // MaxResults sets the optional parameter "maxResults": Maximum number
 37592  // of results to return.
 37593  func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
 37594  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 37595  	return c
 37596  }
 37597  
 37598  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 37599  // placements or placement groups whose start date is on or before the
 37600  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 37601  func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
 37602  	c.urlParams_.Set("maxStartDate", maxStartDate)
 37603  	return c
 37604  }
 37605  
 37606  // MinEndDate sets the optional parameter "minEndDate": Select only
 37607  // placements or placement groups whose end date is on or after the
 37608  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 37609  func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
 37610  	c.urlParams_.Set("minEndDate", minEndDate)
 37611  	return c
 37612  }
 37613  
 37614  // MinStartDate sets the optional parameter "minStartDate": Select only
 37615  // placements or placement groups whose start date is on or after the
 37616  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 37617  func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
 37618  	c.urlParams_.Set("minStartDate", minStartDate)
 37619  	return c
 37620  }
 37621  
 37622  // PageToken sets the optional parameter "pageToken": Value of the
 37623  // nextPageToken from the previous result page.
 37624  func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
 37625  	c.urlParams_.Set("pageToken", pageToken)
 37626  	return c
 37627  }
 37628  
 37629  // PlacementGroupType sets the optional parameter "placementGroupType":
 37630  // Select only placement groups belonging with this group type. A
 37631  // package is a simple group of placements that acts as a single pricing
 37632  // point for a group of tags. A roadblock is a group of placements that
 37633  // not only acts as a single pricing point but also assumes that all the
 37634  // tags in it will be served at the same time. A roadblock requires one
 37635  // of its assigned placements to be marked as primary for reporting.
 37636  //
 37637  // Possible values:
 37638  //
 37639  //	"PLACEMENT_PACKAGE"
 37640  //	"PLACEMENT_ROADBLOCK"
 37641  func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
 37642  	c.urlParams_.Set("placementGroupType", placementGroupType)
 37643  	return c
 37644  }
 37645  
 37646  // PlacementStrategyIds sets the optional parameter
 37647  // "placementStrategyIds": Select only placement groups that are
 37648  // associated with these placement strategies.
 37649  func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
 37650  	var placementStrategyIds_ []string
 37651  	for _, v := range placementStrategyIds {
 37652  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 37653  	}
 37654  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 37655  	return c
 37656  }
 37657  
 37658  // PricingTypes sets the optional parameter "pricingTypes": Select only
 37659  // placement groups with these pricing types.
 37660  //
 37661  // Possible values:
 37662  //
 37663  //	"PRICING_TYPE_CPA"
 37664  //	"PRICING_TYPE_CPC"
 37665  //	"PRICING_TYPE_CPM"
 37666  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 37667  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 37668  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 37669  func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
 37670  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 37671  	return c
 37672  }
 37673  
 37674  // SearchString sets the optional parameter "searchString": Allows
 37675  // searching for placement groups by name or ID. Wildcards (*) are
 37676  // allowed. For example, "placement*2015" will return placement groups
 37677  // with names like "placement group June 2015", "placement group May
 37678  // 2015", or simply "placements 2015". Most of the searches also add
 37679  // wildcards implicitly at the start and the end of the search string.
 37680  // For example, a search string of "placementgroup" will match placement
 37681  // groups with name "my placementgroup", "placementgroup 2015", or
 37682  // simply "placementgroup".
 37683  func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
 37684  	c.urlParams_.Set("searchString", searchString)
 37685  	return c
 37686  }
 37687  
 37688  // SiteIds sets the optional parameter "siteIds": Select only placement
 37689  // groups that are associated with these sites.
 37690  func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
 37691  	var siteIds_ []string
 37692  	for _, v := range siteIds {
 37693  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 37694  	}
 37695  	c.urlParams_.SetMulti("siteIds", siteIds_)
 37696  	return c
 37697  }
 37698  
 37699  // SortField sets the optional parameter "sortField": Field by which to
 37700  // sort the list.
 37701  //
 37702  // Possible values:
 37703  //
 37704  //	"ID" (default)
 37705  //	"NAME"
 37706  func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
 37707  	c.urlParams_.Set("sortField", sortField)
 37708  	return c
 37709  }
 37710  
 37711  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 37712  // results.
 37713  //
 37714  // Possible values:
 37715  //
 37716  //	"ASCENDING" (default)
 37717  //	"DESCENDING"
 37718  func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
 37719  	c.urlParams_.Set("sortOrder", sortOrder)
 37720  	return c
 37721  }
 37722  
 37723  // Fields allows partial responses to be retrieved. See
 37724  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37725  // for more information.
 37726  func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
 37727  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37728  	return c
 37729  }
 37730  
 37731  // IfNoneMatch sets the optional parameter which makes the operation
 37732  // fail if the object's ETag matches the given value. This is useful for
 37733  // getting updates only after the object has changed since the last
 37734  // request. Use googleapi.IsNotModified to check whether the response
 37735  // error from Do is the result of In-None-Match.
 37736  func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
 37737  	c.ifNoneMatch_ = entityTag
 37738  	return c
 37739  }
 37740  
 37741  // Context sets the context to be used in this call's Do method. Any
 37742  // pending HTTP request will be aborted if the provided context is
 37743  // canceled.
 37744  func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
 37745  	c.ctx_ = ctx
 37746  	return c
 37747  }
 37748  
 37749  // Header returns an http.Header that can be modified by the caller to
 37750  // add HTTP headers to the request.
 37751  func (c *PlacementGroupsListCall) Header() http.Header {
 37752  	if c.header_ == nil {
 37753  		c.header_ = make(http.Header)
 37754  	}
 37755  	return c.header_
 37756  }
 37757  
 37758  func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 37759  	reqHeaders := make(http.Header)
 37760  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37761  	for k, v := range c.header_ {
 37762  		reqHeaders[k] = v
 37763  	}
 37764  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37765  	if c.ifNoneMatch_ != "" {
 37766  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37767  	}
 37768  	var body io.Reader = nil
 37769  	c.urlParams_.Set("alt", alt)
 37770  	c.urlParams_.Set("prettyPrint", "false")
 37771  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 37772  	urls += "?" + c.urlParams_.Encode()
 37773  	req, err := http.NewRequest("GET", urls, body)
 37774  	if err != nil {
 37775  		return nil, err
 37776  	}
 37777  	req.Header = reqHeaders
 37778  	googleapi.Expand(req.URL, map[string]string{
 37779  		"profileId": strconv.FormatInt(c.profileId, 10),
 37780  	})
 37781  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37782  }
 37783  
 37784  // Do executes the "dfareporting.placementGroups.list" call.
 37785  // Exactly one of *PlacementGroupsListResponse or error will be non-nil.
 37786  // Any non-2xx status code is an error. Response headers are in either
 37787  // *PlacementGroupsListResponse.ServerResponse.Header or (if a response
 37788  // was returned at all) in error.(*googleapi.Error).Header. Use
 37789  // googleapi.IsNotModified to check whether the returned error was
 37790  // because http.StatusNotModified was returned.
 37791  func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
 37792  	gensupport.SetOptions(c.urlParams_, opts...)
 37793  	res, err := c.doRequest("json")
 37794  	if res != nil && res.StatusCode == http.StatusNotModified {
 37795  		if res.Body != nil {
 37796  			res.Body.Close()
 37797  		}
 37798  		return nil, &googleapi.Error{
 37799  			Code:   res.StatusCode,
 37800  			Header: res.Header,
 37801  		}
 37802  	}
 37803  	if err != nil {
 37804  		return nil, err
 37805  	}
 37806  	defer googleapi.CloseBody(res)
 37807  	if err := googleapi.CheckResponse(res); err != nil {
 37808  		return nil, err
 37809  	}
 37810  	ret := &PlacementGroupsListResponse{
 37811  		ServerResponse: googleapi.ServerResponse{
 37812  			Header:         res.Header,
 37813  			HTTPStatusCode: res.StatusCode,
 37814  		},
 37815  	}
 37816  	target := &ret
 37817  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37818  		return nil, err
 37819  	}
 37820  	return ret, nil
 37821  	// {
 37822  	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
 37823  	//   "httpMethod": "GET",
 37824  	//   "id": "dfareporting.placementGroups.list",
 37825  	//   "parameterOrder": [
 37826  	//     "profileId"
 37827  	//   ],
 37828  	//   "parameters": {
 37829  	//     "advertiserIds": {
 37830  	//       "description": "Select only placement groups that belong to these advertisers.",
 37831  	//       "format": "int64",
 37832  	//       "location": "query",
 37833  	//       "repeated": true,
 37834  	//       "type": "string"
 37835  	//     },
 37836  	//     "archived": {
 37837  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 37838  	//       "location": "query",
 37839  	//       "type": "boolean"
 37840  	//     },
 37841  	//     "campaignIds": {
 37842  	//       "description": "Select only placement groups that belong to these campaigns.",
 37843  	//       "format": "int64",
 37844  	//       "location": "query",
 37845  	//       "repeated": true,
 37846  	//       "type": "string"
 37847  	//     },
 37848  	//     "contentCategoryIds": {
 37849  	//       "description": "Select only placement groups that are associated with these content categories.",
 37850  	//       "format": "int64",
 37851  	//       "location": "query",
 37852  	//       "repeated": true,
 37853  	//       "type": "string"
 37854  	//     },
 37855  	//     "directorySiteIds": {
 37856  	//       "description": "Select only placement groups that are associated with these directory sites.",
 37857  	//       "format": "int64",
 37858  	//       "location": "query",
 37859  	//       "repeated": true,
 37860  	//       "type": "string"
 37861  	//     },
 37862  	//     "ids": {
 37863  	//       "description": "Select only placement groups with these IDs.",
 37864  	//       "format": "int64",
 37865  	//       "location": "query",
 37866  	//       "repeated": true,
 37867  	//       "type": "string"
 37868  	//     },
 37869  	//     "maxEndDate": {
 37870  	//       "description": "Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as \"yyyy-MM-dd\".",
 37871  	//       "location": "query",
 37872  	//       "type": "string"
 37873  	//     },
 37874  	//     "maxResults": {
 37875  	//       "default": "800",
 37876  	//       "description": "Maximum number of results to return.",
 37877  	//       "format": "int32",
 37878  	//       "location": "query",
 37879  	//       "maximum": "800",
 37880  	//       "minimum": "0",
 37881  	//       "type": "integer"
 37882  	//     },
 37883  	//     "maxStartDate": {
 37884  	//       "description": "Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as \"yyyy-MM-dd\".",
 37885  	//       "location": "query",
 37886  	//       "type": "string"
 37887  	//     },
 37888  	//     "minEndDate": {
 37889  	//       "description": "Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as \"yyyy-MM-dd\".",
 37890  	//       "location": "query",
 37891  	//       "type": "string"
 37892  	//     },
 37893  	//     "minStartDate": {
 37894  	//       "description": "Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as \"yyyy-MM-dd\".",
 37895  	//       "location": "query",
 37896  	//       "type": "string"
 37897  	//     },
 37898  	//     "pageToken": {
 37899  	//       "description": "Value of the nextPageToken from the previous result page.",
 37900  	//       "location": "query",
 37901  	//       "type": "string"
 37902  	//     },
 37903  	//     "placementGroupType": {
 37904  	//       "description": "Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting.",
 37905  	//       "enum": [
 37906  	//         "PLACEMENT_PACKAGE",
 37907  	//         "PLACEMENT_ROADBLOCK"
 37908  	//       ],
 37909  	//       "enumDescriptions": [
 37910  	//         "",
 37911  	//         ""
 37912  	//       ],
 37913  	//       "location": "query",
 37914  	//       "type": "string"
 37915  	//     },
 37916  	//     "placementStrategyIds": {
 37917  	//       "description": "Select only placement groups that are associated with these placement strategies.",
 37918  	//       "format": "int64",
 37919  	//       "location": "query",
 37920  	//       "repeated": true,
 37921  	//       "type": "string"
 37922  	//     },
 37923  	//     "pricingTypes": {
 37924  	//       "description": "Select only placement groups with these pricing types.",
 37925  	//       "enum": [
 37926  	//         "PRICING_TYPE_CPA",
 37927  	//         "PRICING_TYPE_CPC",
 37928  	//         "PRICING_TYPE_CPM",
 37929  	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
 37930  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 37931  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 37932  	//       ],
 37933  	//       "enumDescriptions": [
 37934  	//         "",
 37935  	//         "",
 37936  	//         "",
 37937  	//         "",
 37938  	//         "",
 37939  	//         ""
 37940  	//       ],
 37941  	//       "location": "query",
 37942  	//       "repeated": true,
 37943  	//       "type": "string"
 37944  	//     },
 37945  	//     "profileId": {
 37946  	//       "description": "User profile ID associated with this request.",
 37947  	//       "format": "int64",
 37948  	//       "location": "path",
 37949  	//       "required": true,
 37950  	//       "type": "string"
 37951  	//     },
 37952  	//     "searchString": {
 37953  	//       "description": "Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placement groups with names like \"placement group June 2015\", \"placement group May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placementgroup\" will match placement groups with name \"my placementgroup\", \"placementgroup 2015\", or simply \"placementgroup\".",
 37954  	//       "location": "query",
 37955  	//       "type": "string"
 37956  	//     },
 37957  	//     "siteIds": {
 37958  	//       "description": "Select only placement groups that are associated with these sites.",
 37959  	//       "format": "int64",
 37960  	//       "location": "query",
 37961  	//       "repeated": true,
 37962  	//       "type": "string"
 37963  	//     },
 37964  	//     "sortField": {
 37965  	//       "default": "ID",
 37966  	//       "description": "Field by which to sort the list.",
 37967  	//       "enum": [
 37968  	//         "ID",
 37969  	//         "NAME"
 37970  	//       ],
 37971  	//       "enumDescriptions": [
 37972  	//         "",
 37973  	//         ""
 37974  	//       ],
 37975  	//       "location": "query",
 37976  	//       "type": "string"
 37977  	//     },
 37978  	//     "sortOrder": {
 37979  	//       "default": "ASCENDING",
 37980  	//       "description": "Order of sorted results.",
 37981  	//       "enum": [
 37982  	//         "ASCENDING",
 37983  	//         "DESCENDING"
 37984  	//       ],
 37985  	//       "enumDescriptions": [
 37986  	//         "",
 37987  	//         ""
 37988  	//       ],
 37989  	//       "location": "query",
 37990  	//       "type": "string"
 37991  	//     }
 37992  	//   },
 37993  	//   "path": "userprofiles/{profileId}/placementGroups",
 37994  	//   "response": {
 37995  	//     "$ref": "PlacementGroupsListResponse"
 37996  	//   },
 37997  	//   "scopes": [
 37998  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37999  	//   ]
 38000  	// }
 38001  
 38002  }
 38003  
 38004  // Pages invokes f for each page of results.
 38005  // A non-nil error returned from f will halt the iteration.
 38006  // The provided context supersedes any context provided to the Context method.
 38007  func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
 38008  	c.ctx_ = ctx
 38009  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 38010  	for {
 38011  		x, err := c.Do()
 38012  		if err != nil {
 38013  			return err
 38014  		}
 38015  		if err := f(x); err != nil {
 38016  			return err
 38017  		}
 38018  		if x.NextPageToken == "" {
 38019  			return nil
 38020  		}
 38021  		c.PageToken(x.NextPageToken)
 38022  	}
 38023  }
 38024  
 38025  // method id "dfareporting.placementGroups.patch":
 38026  
 38027  type PlacementGroupsPatchCall struct {
 38028  	s              *Service
 38029  	profileId      int64
 38030  	placementgroup *PlacementGroup
 38031  	urlParams_     gensupport.URLParams
 38032  	ctx_           context.Context
 38033  	header_        http.Header
 38034  }
 38035  
 38036  // Patch: Updates an existing placement group. This method supports
 38037  // patch semantics.
 38038  func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
 38039  	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38040  	c.profileId = profileId
 38041  	c.urlParams_.Set("id", fmt.Sprint(id))
 38042  	c.placementgroup = placementgroup
 38043  	return c
 38044  }
 38045  
 38046  // Fields allows partial responses to be retrieved. See
 38047  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38048  // for more information.
 38049  func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
 38050  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38051  	return c
 38052  }
 38053  
 38054  // Context sets the context to be used in this call's Do method. Any
 38055  // pending HTTP request will be aborted if the provided context is
 38056  // canceled.
 38057  func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
 38058  	c.ctx_ = ctx
 38059  	return c
 38060  }
 38061  
 38062  // Header returns an http.Header that can be modified by the caller to
 38063  // add HTTP headers to the request.
 38064  func (c *PlacementGroupsPatchCall) Header() http.Header {
 38065  	if c.header_ == nil {
 38066  		c.header_ = make(http.Header)
 38067  	}
 38068  	return c.header_
 38069  }
 38070  
 38071  func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 38072  	reqHeaders := make(http.Header)
 38073  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38074  	for k, v := range c.header_ {
 38075  		reqHeaders[k] = v
 38076  	}
 38077  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38078  	var body io.Reader = nil
 38079  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 38080  	if err != nil {
 38081  		return nil, err
 38082  	}
 38083  	reqHeaders.Set("Content-Type", "application/json")
 38084  	c.urlParams_.Set("alt", alt)
 38085  	c.urlParams_.Set("prettyPrint", "false")
 38086  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38087  	urls += "?" + c.urlParams_.Encode()
 38088  	req, err := http.NewRequest("PATCH", urls, body)
 38089  	if err != nil {
 38090  		return nil, err
 38091  	}
 38092  	req.Header = reqHeaders
 38093  	googleapi.Expand(req.URL, map[string]string{
 38094  		"profileId": strconv.FormatInt(c.profileId, 10),
 38095  	})
 38096  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38097  }
 38098  
 38099  // Do executes the "dfareporting.placementGroups.patch" call.
 38100  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38101  // status code is an error. Response headers are in either
 38102  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38103  // at all) in error.(*googleapi.Error).Header. Use
 38104  // googleapi.IsNotModified to check whether the returned error was
 38105  // because http.StatusNotModified was returned.
 38106  func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38107  	gensupport.SetOptions(c.urlParams_, opts...)
 38108  	res, err := c.doRequest("json")
 38109  	if res != nil && res.StatusCode == http.StatusNotModified {
 38110  		if res.Body != nil {
 38111  			res.Body.Close()
 38112  		}
 38113  		return nil, &googleapi.Error{
 38114  			Code:   res.StatusCode,
 38115  			Header: res.Header,
 38116  		}
 38117  	}
 38118  	if err != nil {
 38119  		return nil, err
 38120  	}
 38121  	defer googleapi.CloseBody(res)
 38122  	if err := googleapi.CheckResponse(res); err != nil {
 38123  		return nil, err
 38124  	}
 38125  	ret := &PlacementGroup{
 38126  		ServerResponse: googleapi.ServerResponse{
 38127  			Header:         res.Header,
 38128  			HTTPStatusCode: res.StatusCode,
 38129  		},
 38130  	}
 38131  	target := &ret
 38132  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38133  		return nil, err
 38134  	}
 38135  	return ret, nil
 38136  	// {
 38137  	//   "description": "Updates an existing placement group. This method supports patch semantics.",
 38138  	//   "httpMethod": "PATCH",
 38139  	//   "id": "dfareporting.placementGroups.patch",
 38140  	//   "parameterOrder": [
 38141  	//     "profileId",
 38142  	//     "id"
 38143  	//   ],
 38144  	//   "parameters": {
 38145  	//     "id": {
 38146  	//       "description": "Placement group ID.",
 38147  	//       "format": "int64",
 38148  	//       "location": "query",
 38149  	//       "required": true,
 38150  	//       "type": "string"
 38151  	//     },
 38152  	//     "profileId": {
 38153  	//       "description": "User profile ID associated with this request.",
 38154  	//       "format": "int64",
 38155  	//       "location": "path",
 38156  	//       "required": true,
 38157  	//       "type": "string"
 38158  	//     }
 38159  	//   },
 38160  	//   "path": "userprofiles/{profileId}/placementGroups",
 38161  	//   "request": {
 38162  	//     "$ref": "PlacementGroup"
 38163  	//   },
 38164  	//   "response": {
 38165  	//     "$ref": "PlacementGroup"
 38166  	//   },
 38167  	//   "scopes": [
 38168  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38169  	//   ]
 38170  	// }
 38171  
 38172  }
 38173  
 38174  // method id "dfareporting.placementGroups.update":
 38175  
 38176  type PlacementGroupsUpdateCall struct {
 38177  	s              *Service
 38178  	profileId      int64
 38179  	placementgroup *PlacementGroup
 38180  	urlParams_     gensupport.URLParams
 38181  	ctx_           context.Context
 38182  	header_        http.Header
 38183  }
 38184  
 38185  // Update: Updates an existing placement group.
 38186  func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
 38187  	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38188  	c.profileId = profileId
 38189  	c.placementgroup = placementgroup
 38190  	return c
 38191  }
 38192  
 38193  // Fields allows partial responses to be retrieved. See
 38194  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38195  // for more information.
 38196  func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
 38197  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38198  	return c
 38199  }
 38200  
 38201  // Context sets the context to be used in this call's Do method. Any
 38202  // pending HTTP request will be aborted if the provided context is
 38203  // canceled.
 38204  func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
 38205  	c.ctx_ = ctx
 38206  	return c
 38207  }
 38208  
 38209  // Header returns an http.Header that can be modified by the caller to
 38210  // add HTTP headers to the request.
 38211  func (c *PlacementGroupsUpdateCall) Header() http.Header {
 38212  	if c.header_ == nil {
 38213  		c.header_ = make(http.Header)
 38214  	}
 38215  	return c.header_
 38216  }
 38217  
 38218  func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 38219  	reqHeaders := make(http.Header)
 38220  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38221  	for k, v := range c.header_ {
 38222  		reqHeaders[k] = v
 38223  	}
 38224  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38225  	var body io.Reader = nil
 38226  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 38227  	if err != nil {
 38228  		return nil, err
 38229  	}
 38230  	reqHeaders.Set("Content-Type", "application/json")
 38231  	c.urlParams_.Set("alt", alt)
 38232  	c.urlParams_.Set("prettyPrint", "false")
 38233  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38234  	urls += "?" + c.urlParams_.Encode()
 38235  	req, err := http.NewRequest("PUT", urls, body)
 38236  	if err != nil {
 38237  		return nil, err
 38238  	}
 38239  	req.Header = reqHeaders
 38240  	googleapi.Expand(req.URL, map[string]string{
 38241  		"profileId": strconv.FormatInt(c.profileId, 10),
 38242  	})
 38243  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38244  }
 38245  
 38246  // Do executes the "dfareporting.placementGroups.update" call.
 38247  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38248  // status code is an error. Response headers are in either
 38249  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38250  // at all) in error.(*googleapi.Error).Header. Use
 38251  // googleapi.IsNotModified to check whether the returned error was
 38252  // because http.StatusNotModified was returned.
 38253  func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38254  	gensupport.SetOptions(c.urlParams_, opts...)
 38255  	res, err := c.doRequest("json")
 38256  	if res != nil && res.StatusCode == http.StatusNotModified {
 38257  		if res.Body != nil {
 38258  			res.Body.Close()
 38259  		}
 38260  		return nil, &googleapi.Error{
 38261  			Code:   res.StatusCode,
 38262  			Header: res.Header,
 38263  		}
 38264  	}
 38265  	if err != nil {
 38266  		return nil, err
 38267  	}
 38268  	defer googleapi.CloseBody(res)
 38269  	if err := googleapi.CheckResponse(res); err != nil {
 38270  		return nil, err
 38271  	}
 38272  	ret := &PlacementGroup{
 38273  		ServerResponse: googleapi.ServerResponse{
 38274  			Header:         res.Header,
 38275  			HTTPStatusCode: res.StatusCode,
 38276  		},
 38277  	}
 38278  	target := &ret
 38279  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38280  		return nil, err
 38281  	}
 38282  	return ret, nil
 38283  	// {
 38284  	//   "description": "Updates an existing placement group.",
 38285  	//   "httpMethod": "PUT",
 38286  	//   "id": "dfareporting.placementGroups.update",
 38287  	//   "parameterOrder": [
 38288  	//     "profileId"
 38289  	//   ],
 38290  	//   "parameters": {
 38291  	//     "profileId": {
 38292  	//       "description": "User profile ID associated with this request.",
 38293  	//       "format": "int64",
 38294  	//       "location": "path",
 38295  	//       "required": true,
 38296  	//       "type": "string"
 38297  	//     }
 38298  	//   },
 38299  	//   "path": "userprofiles/{profileId}/placementGroups",
 38300  	//   "request": {
 38301  	//     "$ref": "PlacementGroup"
 38302  	//   },
 38303  	//   "response": {
 38304  	//     "$ref": "PlacementGroup"
 38305  	//   },
 38306  	//   "scopes": [
 38307  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38308  	//   ]
 38309  	// }
 38310  
 38311  }
 38312  
 38313  // method id "dfareporting.placementStrategies.delete":
 38314  
 38315  type PlacementStrategiesDeleteCall struct {
 38316  	s          *Service
 38317  	profileId  int64
 38318  	id         int64
 38319  	urlParams_ gensupport.URLParams
 38320  	ctx_       context.Context
 38321  	header_    http.Header
 38322  }
 38323  
 38324  // Delete: Deletes an existing placement strategy.
 38325  func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
 38326  	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38327  	c.profileId = profileId
 38328  	c.id = id
 38329  	return c
 38330  }
 38331  
 38332  // Fields allows partial responses to be retrieved. See
 38333  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38334  // for more information.
 38335  func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
 38336  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38337  	return c
 38338  }
 38339  
 38340  // Context sets the context to be used in this call's Do method. Any
 38341  // pending HTTP request will be aborted if the provided context is
 38342  // canceled.
 38343  func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
 38344  	c.ctx_ = ctx
 38345  	return c
 38346  }
 38347  
 38348  // Header returns an http.Header that can be modified by the caller to
 38349  // add HTTP headers to the request.
 38350  func (c *PlacementStrategiesDeleteCall) Header() http.Header {
 38351  	if c.header_ == nil {
 38352  		c.header_ = make(http.Header)
 38353  	}
 38354  	return c.header_
 38355  }
 38356  
 38357  func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 38358  	reqHeaders := make(http.Header)
 38359  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38360  	for k, v := range c.header_ {
 38361  		reqHeaders[k] = v
 38362  	}
 38363  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38364  	var body io.Reader = nil
 38365  	c.urlParams_.Set("alt", alt)
 38366  	c.urlParams_.Set("prettyPrint", "false")
 38367  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 38368  	urls += "?" + c.urlParams_.Encode()
 38369  	req, err := http.NewRequest("DELETE", urls, body)
 38370  	if err != nil {
 38371  		return nil, err
 38372  	}
 38373  	req.Header = reqHeaders
 38374  	googleapi.Expand(req.URL, map[string]string{
 38375  		"profileId": strconv.FormatInt(c.profileId, 10),
 38376  		"id":        strconv.FormatInt(c.id, 10),
 38377  	})
 38378  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38379  }
 38380  
 38381  // Do executes the "dfareporting.placementStrategies.delete" call.
 38382  func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 38383  	gensupport.SetOptions(c.urlParams_, opts...)
 38384  	res, err := c.doRequest("json")
 38385  	if err != nil {
 38386  		return err
 38387  	}
 38388  	defer googleapi.CloseBody(res)
 38389  	if err := googleapi.CheckResponse(res); err != nil {
 38390  		return err
 38391  	}
 38392  	return nil
 38393  	// {
 38394  	//   "description": "Deletes an existing placement strategy.",
 38395  	//   "httpMethod": "DELETE",
 38396  	//   "id": "dfareporting.placementStrategies.delete",
 38397  	//   "parameterOrder": [
 38398  	//     "profileId",
 38399  	//     "id"
 38400  	//   ],
 38401  	//   "parameters": {
 38402  	//     "id": {
 38403  	//       "description": "Placement strategy ID.",
 38404  	//       "format": "int64",
 38405  	//       "location": "path",
 38406  	//       "required": true,
 38407  	//       "type": "string"
 38408  	//     },
 38409  	//     "profileId": {
 38410  	//       "description": "User profile ID associated with this request.",
 38411  	//       "format": "int64",
 38412  	//       "location": "path",
 38413  	//       "required": true,
 38414  	//       "type": "string"
 38415  	//     }
 38416  	//   },
 38417  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 38418  	//   "scopes": [
 38419  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38420  	//   ]
 38421  	// }
 38422  
 38423  }
 38424  
 38425  // method id "dfareporting.placementStrategies.get":
 38426  
 38427  type PlacementStrategiesGetCall struct {
 38428  	s            *Service
 38429  	profileId    int64
 38430  	id           int64
 38431  	urlParams_   gensupport.URLParams
 38432  	ifNoneMatch_ string
 38433  	ctx_         context.Context
 38434  	header_      http.Header
 38435  }
 38436  
 38437  // Get: Gets one placement strategy by ID.
 38438  func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
 38439  	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38440  	c.profileId = profileId
 38441  	c.id = id
 38442  	return c
 38443  }
 38444  
 38445  // Fields allows partial responses to be retrieved. See
 38446  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38447  // for more information.
 38448  func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
 38449  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38450  	return c
 38451  }
 38452  
 38453  // IfNoneMatch sets the optional parameter which makes the operation
 38454  // fail if the object's ETag matches the given value. This is useful for
 38455  // getting updates only after the object has changed since the last
 38456  // request. Use googleapi.IsNotModified to check whether the response
 38457  // error from Do is the result of In-None-Match.
 38458  func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
 38459  	c.ifNoneMatch_ = entityTag
 38460  	return c
 38461  }
 38462  
 38463  // Context sets the context to be used in this call's Do method. Any
 38464  // pending HTTP request will be aborted if the provided context is
 38465  // canceled.
 38466  func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
 38467  	c.ctx_ = ctx
 38468  	return c
 38469  }
 38470  
 38471  // Header returns an http.Header that can be modified by the caller to
 38472  // add HTTP headers to the request.
 38473  func (c *PlacementStrategiesGetCall) Header() http.Header {
 38474  	if c.header_ == nil {
 38475  		c.header_ = make(http.Header)
 38476  	}
 38477  	return c.header_
 38478  }
 38479  
 38480  func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 38481  	reqHeaders := make(http.Header)
 38482  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38483  	for k, v := range c.header_ {
 38484  		reqHeaders[k] = v
 38485  	}
 38486  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38487  	if c.ifNoneMatch_ != "" {
 38488  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38489  	}
 38490  	var body io.Reader = nil
 38491  	c.urlParams_.Set("alt", alt)
 38492  	c.urlParams_.Set("prettyPrint", "false")
 38493  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 38494  	urls += "?" + c.urlParams_.Encode()
 38495  	req, err := http.NewRequest("GET", urls, body)
 38496  	if err != nil {
 38497  		return nil, err
 38498  	}
 38499  	req.Header = reqHeaders
 38500  	googleapi.Expand(req.URL, map[string]string{
 38501  		"profileId": strconv.FormatInt(c.profileId, 10),
 38502  		"id":        strconv.FormatInt(c.id, 10),
 38503  	})
 38504  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38505  }
 38506  
 38507  // Do executes the "dfareporting.placementStrategies.get" call.
 38508  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 38509  // non-2xx status code is an error. Response headers are in either
 38510  // *PlacementStrategy.ServerResponse.Header or (if a response was
 38511  // returned at all) in error.(*googleapi.Error).Header. Use
 38512  // googleapi.IsNotModified to check whether the returned error was
 38513  // because http.StatusNotModified was returned.
 38514  func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 38515  	gensupport.SetOptions(c.urlParams_, opts...)
 38516  	res, err := c.doRequest("json")
 38517  	if res != nil && res.StatusCode == http.StatusNotModified {
 38518  		if res.Body != nil {
 38519  			res.Body.Close()
 38520  		}
 38521  		return nil, &googleapi.Error{
 38522  			Code:   res.StatusCode,
 38523  			Header: res.Header,
 38524  		}
 38525  	}
 38526  	if err != nil {
 38527  		return nil, err
 38528  	}
 38529  	defer googleapi.CloseBody(res)
 38530  	if err := googleapi.CheckResponse(res); err != nil {
 38531  		return nil, err
 38532  	}
 38533  	ret := &PlacementStrategy{
 38534  		ServerResponse: googleapi.ServerResponse{
 38535  			Header:         res.Header,
 38536  			HTTPStatusCode: res.StatusCode,
 38537  		},
 38538  	}
 38539  	target := &ret
 38540  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38541  		return nil, err
 38542  	}
 38543  	return ret, nil
 38544  	// {
 38545  	//   "description": "Gets one placement strategy by ID.",
 38546  	//   "httpMethod": "GET",
 38547  	//   "id": "dfareporting.placementStrategies.get",
 38548  	//   "parameterOrder": [
 38549  	//     "profileId",
 38550  	//     "id"
 38551  	//   ],
 38552  	//   "parameters": {
 38553  	//     "id": {
 38554  	//       "description": "Placement strategy ID.",
 38555  	//       "format": "int64",
 38556  	//       "location": "path",
 38557  	//       "required": true,
 38558  	//       "type": "string"
 38559  	//     },
 38560  	//     "profileId": {
 38561  	//       "description": "User profile ID associated with this request.",
 38562  	//       "format": "int64",
 38563  	//       "location": "path",
 38564  	//       "required": true,
 38565  	//       "type": "string"
 38566  	//     }
 38567  	//   },
 38568  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 38569  	//   "response": {
 38570  	//     "$ref": "PlacementStrategy"
 38571  	//   },
 38572  	//   "scopes": [
 38573  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38574  	//   ]
 38575  	// }
 38576  
 38577  }
 38578  
 38579  // method id "dfareporting.placementStrategies.insert":
 38580  
 38581  type PlacementStrategiesInsertCall struct {
 38582  	s                 *Service
 38583  	profileId         int64
 38584  	placementstrategy *PlacementStrategy
 38585  	urlParams_        gensupport.URLParams
 38586  	ctx_              context.Context
 38587  	header_           http.Header
 38588  }
 38589  
 38590  // Insert: Inserts a new placement strategy.
 38591  func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
 38592  	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38593  	c.profileId = profileId
 38594  	c.placementstrategy = placementstrategy
 38595  	return c
 38596  }
 38597  
 38598  // Fields allows partial responses to be retrieved. See
 38599  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38600  // for more information.
 38601  func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
 38602  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38603  	return c
 38604  }
 38605  
 38606  // Context sets the context to be used in this call's Do method. Any
 38607  // pending HTTP request will be aborted if the provided context is
 38608  // canceled.
 38609  func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
 38610  	c.ctx_ = ctx
 38611  	return c
 38612  }
 38613  
 38614  // Header returns an http.Header that can be modified by the caller to
 38615  // add HTTP headers to the request.
 38616  func (c *PlacementStrategiesInsertCall) Header() http.Header {
 38617  	if c.header_ == nil {
 38618  		c.header_ = make(http.Header)
 38619  	}
 38620  	return c.header_
 38621  }
 38622  
 38623  func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
 38624  	reqHeaders := make(http.Header)
 38625  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38626  	for k, v := range c.header_ {
 38627  		reqHeaders[k] = v
 38628  	}
 38629  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38630  	var body io.Reader = nil
 38631  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 38632  	if err != nil {
 38633  		return nil, err
 38634  	}
 38635  	reqHeaders.Set("Content-Type", "application/json")
 38636  	c.urlParams_.Set("alt", alt)
 38637  	c.urlParams_.Set("prettyPrint", "false")
 38638  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 38639  	urls += "?" + c.urlParams_.Encode()
 38640  	req, err := http.NewRequest("POST", urls, body)
 38641  	if err != nil {
 38642  		return nil, err
 38643  	}
 38644  	req.Header = reqHeaders
 38645  	googleapi.Expand(req.URL, map[string]string{
 38646  		"profileId": strconv.FormatInt(c.profileId, 10),
 38647  	})
 38648  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38649  }
 38650  
 38651  // Do executes the "dfareporting.placementStrategies.insert" call.
 38652  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 38653  // non-2xx status code is an error. Response headers are in either
 38654  // *PlacementStrategy.ServerResponse.Header or (if a response was
 38655  // returned at all) in error.(*googleapi.Error).Header. Use
 38656  // googleapi.IsNotModified to check whether the returned error was
 38657  // because http.StatusNotModified was returned.
 38658  func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 38659  	gensupport.SetOptions(c.urlParams_, opts...)
 38660  	res, err := c.doRequest("json")
 38661  	if res != nil && res.StatusCode == http.StatusNotModified {
 38662  		if res.Body != nil {
 38663  			res.Body.Close()
 38664  		}
 38665  		return nil, &googleapi.Error{
 38666  			Code:   res.StatusCode,
 38667  			Header: res.Header,
 38668  		}
 38669  	}
 38670  	if err != nil {
 38671  		return nil, err
 38672  	}
 38673  	defer googleapi.CloseBody(res)
 38674  	if err := googleapi.CheckResponse(res); err != nil {
 38675  		return nil, err
 38676  	}
 38677  	ret := &PlacementStrategy{
 38678  		ServerResponse: googleapi.ServerResponse{
 38679  			Header:         res.Header,
 38680  			HTTPStatusCode: res.StatusCode,
 38681  		},
 38682  	}
 38683  	target := &ret
 38684  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38685  		return nil, err
 38686  	}
 38687  	return ret, nil
 38688  	// {
 38689  	//   "description": "Inserts a new placement strategy.",
 38690  	//   "httpMethod": "POST",
 38691  	//   "id": "dfareporting.placementStrategies.insert",
 38692  	//   "parameterOrder": [
 38693  	//     "profileId"
 38694  	//   ],
 38695  	//   "parameters": {
 38696  	//     "profileId": {
 38697  	//       "description": "User profile ID associated with this request.",
 38698  	//       "format": "int64",
 38699  	//       "location": "path",
 38700  	//       "required": true,
 38701  	//       "type": "string"
 38702  	//     }
 38703  	//   },
 38704  	//   "path": "userprofiles/{profileId}/placementStrategies",
 38705  	//   "request": {
 38706  	//     "$ref": "PlacementStrategy"
 38707  	//   },
 38708  	//   "response": {
 38709  	//     "$ref": "PlacementStrategy"
 38710  	//   },
 38711  	//   "scopes": [
 38712  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38713  	//   ]
 38714  	// }
 38715  
 38716  }
 38717  
 38718  // method id "dfareporting.placementStrategies.list":
 38719  
 38720  type PlacementStrategiesListCall struct {
 38721  	s            *Service
 38722  	profileId    int64
 38723  	urlParams_   gensupport.URLParams
 38724  	ifNoneMatch_ string
 38725  	ctx_         context.Context
 38726  	header_      http.Header
 38727  }
 38728  
 38729  // List: Retrieves a list of placement strategies, possibly filtered.
 38730  // This method supports paging.
 38731  func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
 38732  	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38733  	c.profileId = profileId
 38734  	return c
 38735  }
 38736  
 38737  // Ids sets the optional parameter "ids": Select only placement
 38738  // strategies with these IDs.
 38739  func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
 38740  	var ids_ []string
 38741  	for _, v := range ids {
 38742  		ids_ = append(ids_, fmt.Sprint(v))
 38743  	}
 38744  	c.urlParams_.SetMulti("ids", ids_)
 38745  	return c
 38746  }
 38747  
 38748  // MaxResults sets the optional parameter "maxResults": Maximum number
 38749  // of results to return.
 38750  func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
 38751  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 38752  	return c
 38753  }
 38754  
 38755  // PageToken sets the optional parameter "pageToken": Value of the
 38756  // nextPageToken from the previous result page.
 38757  func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
 38758  	c.urlParams_.Set("pageToken", pageToken)
 38759  	return c
 38760  }
 38761  
 38762  // SearchString sets the optional parameter "searchString": Allows
 38763  // searching for objects by name or ID. Wildcards (*) are allowed. For
 38764  // example, "placementstrategy*2015" will return objects with names like
 38765  // "placementstrategy June 2015", "placementstrategy April 2015", or
 38766  // simply "placementstrategy 2015". Most of the searches also add
 38767  // wildcards implicitly at the start and the end of the search string.
 38768  // For example, a search string of "placementstrategy" will match
 38769  // objects with name "my placementstrategy", "placementstrategy 2015",
 38770  // or simply "placementstrategy".
 38771  func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
 38772  	c.urlParams_.Set("searchString", searchString)
 38773  	return c
 38774  }
 38775  
 38776  // SortField sets the optional parameter "sortField": Field by which to
 38777  // sort the list.
 38778  //
 38779  // Possible values:
 38780  //
 38781  //	"ID" (default)
 38782  //	"NAME"
 38783  func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
 38784  	c.urlParams_.Set("sortField", sortField)
 38785  	return c
 38786  }
 38787  
 38788  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 38789  // results.
 38790  //
 38791  // Possible values:
 38792  //
 38793  //	"ASCENDING" (default)
 38794  //	"DESCENDING"
 38795  func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
 38796  	c.urlParams_.Set("sortOrder", sortOrder)
 38797  	return c
 38798  }
 38799  
 38800  // Fields allows partial responses to be retrieved. See
 38801  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38802  // for more information.
 38803  func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
 38804  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38805  	return c
 38806  }
 38807  
 38808  // IfNoneMatch sets the optional parameter which makes the operation
 38809  // fail if the object's ETag matches the given value. This is useful for
 38810  // getting updates only after the object has changed since the last
 38811  // request. Use googleapi.IsNotModified to check whether the response
 38812  // error from Do is the result of In-None-Match.
 38813  func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
 38814  	c.ifNoneMatch_ = entityTag
 38815  	return c
 38816  }
 38817  
 38818  // Context sets the context to be used in this call's Do method. Any
 38819  // pending HTTP request will be aborted if the provided context is
 38820  // canceled.
 38821  func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
 38822  	c.ctx_ = ctx
 38823  	return c
 38824  }
 38825  
 38826  // Header returns an http.Header that can be modified by the caller to
 38827  // add HTTP headers to the request.
 38828  func (c *PlacementStrategiesListCall) Header() http.Header {
 38829  	if c.header_ == nil {
 38830  		c.header_ = make(http.Header)
 38831  	}
 38832  	return c.header_
 38833  }
 38834  
 38835  func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 38836  	reqHeaders := make(http.Header)
 38837  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38838  	for k, v := range c.header_ {
 38839  		reqHeaders[k] = v
 38840  	}
 38841  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38842  	if c.ifNoneMatch_ != "" {
 38843  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38844  	}
 38845  	var body io.Reader = nil
 38846  	c.urlParams_.Set("alt", alt)
 38847  	c.urlParams_.Set("prettyPrint", "false")
 38848  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 38849  	urls += "?" + c.urlParams_.Encode()
 38850  	req, err := http.NewRequest("GET", urls, body)
 38851  	if err != nil {
 38852  		return nil, err
 38853  	}
 38854  	req.Header = reqHeaders
 38855  	googleapi.Expand(req.URL, map[string]string{
 38856  		"profileId": strconv.FormatInt(c.profileId, 10),
 38857  	})
 38858  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38859  }
 38860  
 38861  // Do executes the "dfareporting.placementStrategies.list" call.
 38862  // Exactly one of *PlacementStrategiesListResponse or error will be
 38863  // non-nil. Any non-2xx status code is an error. Response headers are in
 38864  // either *PlacementStrategiesListResponse.ServerResponse.Header or (if
 38865  // a response was returned at all) in error.(*googleapi.Error).Header.
 38866  // Use googleapi.IsNotModified to check whether the returned error was
 38867  // because http.StatusNotModified was returned.
 38868  func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
 38869  	gensupport.SetOptions(c.urlParams_, opts...)
 38870  	res, err := c.doRequest("json")
 38871  	if res != nil && res.StatusCode == http.StatusNotModified {
 38872  		if res.Body != nil {
 38873  			res.Body.Close()
 38874  		}
 38875  		return nil, &googleapi.Error{
 38876  			Code:   res.StatusCode,
 38877  			Header: res.Header,
 38878  		}
 38879  	}
 38880  	if err != nil {
 38881  		return nil, err
 38882  	}
 38883  	defer googleapi.CloseBody(res)
 38884  	if err := googleapi.CheckResponse(res); err != nil {
 38885  		return nil, err
 38886  	}
 38887  	ret := &PlacementStrategiesListResponse{
 38888  		ServerResponse: googleapi.ServerResponse{
 38889  			Header:         res.Header,
 38890  			HTTPStatusCode: res.StatusCode,
 38891  		},
 38892  	}
 38893  	target := &ret
 38894  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38895  		return nil, err
 38896  	}
 38897  	return ret, nil
 38898  	// {
 38899  	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
 38900  	//   "httpMethod": "GET",
 38901  	//   "id": "dfareporting.placementStrategies.list",
 38902  	//   "parameterOrder": [
 38903  	//     "profileId"
 38904  	//   ],
 38905  	//   "parameters": {
 38906  	//     "ids": {
 38907  	//       "description": "Select only placement strategies with these IDs.",
 38908  	//       "format": "int64",
 38909  	//       "location": "query",
 38910  	//       "repeated": true,
 38911  	//       "type": "string"
 38912  	//     },
 38913  	//     "maxResults": {
 38914  	//       "default": "1000",
 38915  	//       "description": "Maximum number of results to return.",
 38916  	//       "format": "int32",
 38917  	//       "location": "query",
 38918  	//       "maximum": "1000",
 38919  	//       "minimum": "0",
 38920  	//       "type": "integer"
 38921  	//     },
 38922  	//     "pageToken": {
 38923  	//       "description": "Value of the nextPageToken from the previous result page.",
 38924  	//       "location": "query",
 38925  	//       "type": "string"
 38926  	//     },
 38927  	//     "profileId": {
 38928  	//       "description": "User profile ID associated with this request.",
 38929  	//       "format": "int64",
 38930  	//       "location": "path",
 38931  	//       "required": true,
 38932  	//       "type": "string"
 38933  	//     },
 38934  	//     "searchString": {
 38935  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"placementstrategy*2015\" will return objects with names like \"placementstrategy June 2015\", \"placementstrategy April 2015\", or simply \"placementstrategy 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placementstrategy\" will match objects with name \"my placementstrategy\", \"placementstrategy 2015\", or simply \"placementstrategy\".",
 38936  	//       "location": "query",
 38937  	//       "type": "string"
 38938  	//     },
 38939  	//     "sortField": {
 38940  	//       "default": "ID",
 38941  	//       "description": "Field by which to sort the list.",
 38942  	//       "enum": [
 38943  	//         "ID",
 38944  	//         "NAME"
 38945  	//       ],
 38946  	//       "enumDescriptions": [
 38947  	//         "",
 38948  	//         ""
 38949  	//       ],
 38950  	//       "location": "query",
 38951  	//       "type": "string"
 38952  	//     },
 38953  	//     "sortOrder": {
 38954  	//       "default": "ASCENDING",
 38955  	//       "description": "Order of sorted results.",
 38956  	//       "enum": [
 38957  	//         "ASCENDING",
 38958  	//         "DESCENDING"
 38959  	//       ],
 38960  	//       "enumDescriptions": [
 38961  	//         "",
 38962  	//         ""
 38963  	//       ],
 38964  	//       "location": "query",
 38965  	//       "type": "string"
 38966  	//     }
 38967  	//   },
 38968  	//   "path": "userprofiles/{profileId}/placementStrategies",
 38969  	//   "response": {
 38970  	//     "$ref": "PlacementStrategiesListResponse"
 38971  	//   },
 38972  	//   "scopes": [
 38973  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38974  	//   ]
 38975  	// }
 38976  
 38977  }
 38978  
 38979  // Pages invokes f for each page of results.
 38980  // A non-nil error returned from f will halt the iteration.
 38981  // The provided context supersedes any context provided to the Context method.
 38982  func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
 38983  	c.ctx_ = ctx
 38984  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 38985  	for {
 38986  		x, err := c.Do()
 38987  		if err != nil {
 38988  			return err
 38989  		}
 38990  		if err := f(x); err != nil {
 38991  			return err
 38992  		}
 38993  		if x.NextPageToken == "" {
 38994  			return nil
 38995  		}
 38996  		c.PageToken(x.NextPageToken)
 38997  	}
 38998  }
 38999  
 39000  // method id "dfareporting.placementStrategies.patch":
 39001  
 39002  type PlacementStrategiesPatchCall struct {
 39003  	s                 *Service
 39004  	profileId         int64
 39005  	placementstrategy *PlacementStrategy
 39006  	urlParams_        gensupport.URLParams
 39007  	ctx_              context.Context
 39008  	header_           http.Header
 39009  }
 39010  
 39011  // Patch: Updates an existing placement strategy. This method supports
 39012  // patch semantics.
 39013  func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
 39014  	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39015  	c.profileId = profileId
 39016  	c.urlParams_.Set("id", fmt.Sprint(id))
 39017  	c.placementstrategy = placementstrategy
 39018  	return c
 39019  }
 39020  
 39021  // Fields allows partial responses to be retrieved. See
 39022  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39023  // for more information.
 39024  func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
 39025  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39026  	return c
 39027  }
 39028  
 39029  // Context sets the context to be used in this call's Do method. Any
 39030  // pending HTTP request will be aborted if the provided context is
 39031  // canceled.
 39032  func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
 39033  	c.ctx_ = ctx
 39034  	return c
 39035  }
 39036  
 39037  // Header returns an http.Header that can be modified by the caller to
 39038  // add HTTP headers to the request.
 39039  func (c *PlacementStrategiesPatchCall) Header() http.Header {
 39040  	if c.header_ == nil {
 39041  		c.header_ = make(http.Header)
 39042  	}
 39043  	return c.header_
 39044  }
 39045  
 39046  func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
 39047  	reqHeaders := make(http.Header)
 39048  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39049  	for k, v := range c.header_ {
 39050  		reqHeaders[k] = v
 39051  	}
 39052  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39053  	var body io.Reader = nil
 39054  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 39055  	if err != nil {
 39056  		return nil, err
 39057  	}
 39058  	reqHeaders.Set("Content-Type", "application/json")
 39059  	c.urlParams_.Set("alt", alt)
 39060  	c.urlParams_.Set("prettyPrint", "false")
 39061  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39062  	urls += "?" + c.urlParams_.Encode()
 39063  	req, err := http.NewRequest("PATCH", urls, body)
 39064  	if err != nil {
 39065  		return nil, err
 39066  	}
 39067  	req.Header = reqHeaders
 39068  	googleapi.Expand(req.URL, map[string]string{
 39069  		"profileId": strconv.FormatInt(c.profileId, 10),
 39070  	})
 39071  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39072  }
 39073  
 39074  // Do executes the "dfareporting.placementStrategies.patch" call.
 39075  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39076  // non-2xx status code is an error. Response headers are in either
 39077  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39078  // returned at all) in error.(*googleapi.Error).Header. Use
 39079  // googleapi.IsNotModified to check whether the returned error was
 39080  // because http.StatusNotModified was returned.
 39081  func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39082  	gensupport.SetOptions(c.urlParams_, opts...)
 39083  	res, err := c.doRequest("json")
 39084  	if res != nil && res.StatusCode == http.StatusNotModified {
 39085  		if res.Body != nil {
 39086  			res.Body.Close()
 39087  		}
 39088  		return nil, &googleapi.Error{
 39089  			Code:   res.StatusCode,
 39090  			Header: res.Header,
 39091  		}
 39092  	}
 39093  	if err != nil {
 39094  		return nil, err
 39095  	}
 39096  	defer googleapi.CloseBody(res)
 39097  	if err := googleapi.CheckResponse(res); err != nil {
 39098  		return nil, err
 39099  	}
 39100  	ret := &PlacementStrategy{
 39101  		ServerResponse: googleapi.ServerResponse{
 39102  			Header:         res.Header,
 39103  			HTTPStatusCode: res.StatusCode,
 39104  		},
 39105  	}
 39106  	target := &ret
 39107  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39108  		return nil, err
 39109  	}
 39110  	return ret, nil
 39111  	// {
 39112  	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
 39113  	//   "httpMethod": "PATCH",
 39114  	//   "id": "dfareporting.placementStrategies.patch",
 39115  	//   "parameterOrder": [
 39116  	//     "profileId",
 39117  	//     "id"
 39118  	//   ],
 39119  	//   "parameters": {
 39120  	//     "id": {
 39121  	//       "description": "Placement strategy ID.",
 39122  	//       "format": "int64",
 39123  	//       "location": "query",
 39124  	//       "required": true,
 39125  	//       "type": "string"
 39126  	//     },
 39127  	//     "profileId": {
 39128  	//       "description": "User profile ID associated with this request.",
 39129  	//       "format": "int64",
 39130  	//       "location": "path",
 39131  	//       "required": true,
 39132  	//       "type": "string"
 39133  	//     }
 39134  	//   },
 39135  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39136  	//   "request": {
 39137  	//     "$ref": "PlacementStrategy"
 39138  	//   },
 39139  	//   "response": {
 39140  	//     "$ref": "PlacementStrategy"
 39141  	//   },
 39142  	//   "scopes": [
 39143  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39144  	//   ]
 39145  	// }
 39146  
 39147  }
 39148  
 39149  // method id "dfareporting.placementStrategies.update":
 39150  
 39151  type PlacementStrategiesUpdateCall struct {
 39152  	s                 *Service
 39153  	profileId         int64
 39154  	placementstrategy *PlacementStrategy
 39155  	urlParams_        gensupport.URLParams
 39156  	ctx_              context.Context
 39157  	header_           http.Header
 39158  }
 39159  
 39160  // Update: Updates an existing placement strategy.
 39161  func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
 39162  	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39163  	c.profileId = profileId
 39164  	c.placementstrategy = placementstrategy
 39165  	return c
 39166  }
 39167  
 39168  // Fields allows partial responses to be retrieved. See
 39169  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39170  // for more information.
 39171  func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
 39172  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39173  	return c
 39174  }
 39175  
 39176  // Context sets the context to be used in this call's Do method. Any
 39177  // pending HTTP request will be aborted if the provided context is
 39178  // canceled.
 39179  func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
 39180  	c.ctx_ = ctx
 39181  	return c
 39182  }
 39183  
 39184  // Header returns an http.Header that can be modified by the caller to
 39185  // add HTTP headers to the request.
 39186  func (c *PlacementStrategiesUpdateCall) Header() http.Header {
 39187  	if c.header_ == nil {
 39188  		c.header_ = make(http.Header)
 39189  	}
 39190  	return c.header_
 39191  }
 39192  
 39193  func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 39194  	reqHeaders := make(http.Header)
 39195  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39196  	for k, v := range c.header_ {
 39197  		reqHeaders[k] = v
 39198  	}
 39199  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39200  	var body io.Reader = nil
 39201  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 39202  	if err != nil {
 39203  		return nil, err
 39204  	}
 39205  	reqHeaders.Set("Content-Type", "application/json")
 39206  	c.urlParams_.Set("alt", alt)
 39207  	c.urlParams_.Set("prettyPrint", "false")
 39208  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39209  	urls += "?" + c.urlParams_.Encode()
 39210  	req, err := http.NewRequest("PUT", urls, body)
 39211  	if err != nil {
 39212  		return nil, err
 39213  	}
 39214  	req.Header = reqHeaders
 39215  	googleapi.Expand(req.URL, map[string]string{
 39216  		"profileId": strconv.FormatInt(c.profileId, 10),
 39217  	})
 39218  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39219  }
 39220  
 39221  // Do executes the "dfareporting.placementStrategies.update" call.
 39222  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39223  // non-2xx status code is an error. Response headers are in either
 39224  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39225  // returned at all) in error.(*googleapi.Error).Header. Use
 39226  // googleapi.IsNotModified to check whether the returned error was
 39227  // because http.StatusNotModified was returned.
 39228  func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39229  	gensupport.SetOptions(c.urlParams_, opts...)
 39230  	res, err := c.doRequest("json")
 39231  	if res != nil && res.StatusCode == http.StatusNotModified {
 39232  		if res.Body != nil {
 39233  			res.Body.Close()
 39234  		}
 39235  		return nil, &googleapi.Error{
 39236  			Code:   res.StatusCode,
 39237  			Header: res.Header,
 39238  		}
 39239  	}
 39240  	if err != nil {
 39241  		return nil, err
 39242  	}
 39243  	defer googleapi.CloseBody(res)
 39244  	if err := googleapi.CheckResponse(res); err != nil {
 39245  		return nil, err
 39246  	}
 39247  	ret := &PlacementStrategy{
 39248  		ServerResponse: googleapi.ServerResponse{
 39249  			Header:         res.Header,
 39250  			HTTPStatusCode: res.StatusCode,
 39251  		},
 39252  	}
 39253  	target := &ret
 39254  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39255  		return nil, err
 39256  	}
 39257  	return ret, nil
 39258  	// {
 39259  	//   "description": "Updates an existing placement strategy.",
 39260  	//   "httpMethod": "PUT",
 39261  	//   "id": "dfareporting.placementStrategies.update",
 39262  	//   "parameterOrder": [
 39263  	//     "profileId"
 39264  	//   ],
 39265  	//   "parameters": {
 39266  	//     "profileId": {
 39267  	//       "description": "User profile ID associated with this request.",
 39268  	//       "format": "int64",
 39269  	//       "location": "path",
 39270  	//       "required": true,
 39271  	//       "type": "string"
 39272  	//     }
 39273  	//   },
 39274  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39275  	//   "request": {
 39276  	//     "$ref": "PlacementStrategy"
 39277  	//   },
 39278  	//   "response": {
 39279  	//     "$ref": "PlacementStrategy"
 39280  	//   },
 39281  	//   "scopes": [
 39282  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39283  	//   ]
 39284  	// }
 39285  
 39286  }
 39287  
 39288  // method id "dfareporting.placements.generatetags":
 39289  
 39290  type PlacementsGeneratetagsCall struct {
 39291  	s          *Service
 39292  	profileId  int64
 39293  	urlParams_ gensupport.URLParams
 39294  	ctx_       context.Context
 39295  	header_    http.Header
 39296  }
 39297  
 39298  // Generatetags: Generates tags for a placement.
 39299  func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
 39300  	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39301  	c.profileId = profileId
 39302  	return c
 39303  }
 39304  
 39305  // CampaignId sets the optional parameter "campaignId": Generate
 39306  // placements belonging to this campaign. This is a required field.
 39307  func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
 39308  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 39309  	return c
 39310  }
 39311  
 39312  // PlacementIds sets the optional parameter "placementIds": Generate
 39313  // tags for these placements.
 39314  func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
 39315  	var placementIds_ []string
 39316  	for _, v := range placementIds {
 39317  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 39318  	}
 39319  	c.urlParams_.SetMulti("placementIds", placementIds_)
 39320  	return c
 39321  }
 39322  
 39323  // TagFormats sets the optional parameter "tagFormats": Tag formats to
 39324  // generate for these placements.
 39325  //
 39326  // Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1
 39327  // placements.
 39328  //
 39329  // Possible values:
 39330  //
 39331  //	"PLACEMENT_TAG_CLICK_COMMANDS"
 39332  //	"PLACEMENT_TAG_IFRAME_ILAYER"
 39333  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 39334  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 39335  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 39336  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 39337  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 39338  //	"PLACEMENT_TAG_INTERNAL_REDIRECT"
 39339  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 39340  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 39341  //	"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 39342  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 39343  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 39344  //	"PLACEMENT_TAG_JAVASCRIPT"
 39345  //	"PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 39346  //	"PLACEMENT_TAG_STANDARD"
 39347  //	"PLACEMENT_TAG_TRACKING"
 39348  //	"PLACEMENT_TAG_TRACKING_IFRAME"
 39349  //	"PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 39350  func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
 39351  	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
 39352  	return c
 39353  }
 39354  
 39355  // Fields allows partial responses to be retrieved. See
 39356  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39357  // for more information.
 39358  func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
 39359  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39360  	return c
 39361  }
 39362  
 39363  // Context sets the context to be used in this call's Do method. Any
 39364  // pending HTTP request will be aborted if the provided context is
 39365  // canceled.
 39366  func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
 39367  	c.ctx_ = ctx
 39368  	return c
 39369  }
 39370  
 39371  // Header returns an http.Header that can be modified by the caller to
 39372  // add HTTP headers to the request.
 39373  func (c *PlacementsGeneratetagsCall) Header() http.Header {
 39374  	if c.header_ == nil {
 39375  		c.header_ = make(http.Header)
 39376  	}
 39377  	return c.header_
 39378  }
 39379  
 39380  func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 39381  	reqHeaders := make(http.Header)
 39382  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39383  	for k, v := range c.header_ {
 39384  		reqHeaders[k] = v
 39385  	}
 39386  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39387  	var body io.Reader = nil
 39388  	c.urlParams_.Set("alt", alt)
 39389  	c.urlParams_.Set("prettyPrint", "false")
 39390  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
 39391  	urls += "?" + c.urlParams_.Encode()
 39392  	req, err := http.NewRequest("POST", urls, body)
 39393  	if err != nil {
 39394  		return nil, err
 39395  	}
 39396  	req.Header = reqHeaders
 39397  	googleapi.Expand(req.URL, map[string]string{
 39398  		"profileId": strconv.FormatInt(c.profileId, 10),
 39399  	})
 39400  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39401  }
 39402  
 39403  // Do executes the "dfareporting.placements.generatetags" call.
 39404  // Exactly one of *PlacementsGenerateTagsResponse or error will be
 39405  // non-nil. Any non-2xx status code is an error. Response headers are in
 39406  // either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
 39407  // response was returned at all) in error.(*googleapi.Error).Header. Use
 39408  // googleapi.IsNotModified to check whether the returned error was
 39409  // because http.StatusNotModified was returned.
 39410  func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
 39411  	gensupport.SetOptions(c.urlParams_, opts...)
 39412  	res, err := c.doRequest("json")
 39413  	if res != nil && res.StatusCode == http.StatusNotModified {
 39414  		if res.Body != nil {
 39415  			res.Body.Close()
 39416  		}
 39417  		return nil, &googleapi.Error{
 39418  			Code:   res.StatusCode,
 39419  			Header: res.Header,
 39420  		}
 39421  	}
 39422  	if err != nil {
 39423  		return nil, err
 39424  	}
 39425  	defer googleapi.CloseBody(res)
 39426  	if err := googleapi.CheckResponse(res); err != nil {
 39427  		return nil, err
 39428  	}
 39429  	ret := &PlacementsGenerateTagsResponse{
 39430  		ServerResponse: googleapi.ServerResponse{
 39431  			Header:         res.Header,
 39432  			HTTPStatusCode: res.StatusCode,
 39433  		},
 39434  	}
 39435  	target := &ret
 39436  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39437  		return nil, err
 39438  	}
 39439  	return ret, nil
 39440  	// {
 39441  	//   "description": "Generates tags for a placement.",
 39442  	//   "httpMethod": "POST",
 39443  	//   "id": "dfareporting.placements.generatetags",
 39444  	//   "parameterOrder": [
 39445  	//     "profileId"
 39446  	//   ],
 39447  	//   "parameters": {
 39448  	//     "campaignId": {
 39449  	//       "description": "Generate placements belonging to this campaign. This is a required field.",
 39450  	//       "format": "int64",
 39451  	//       "location": "query",
 39452  	//       "type": "string"
 39453  	//     },
 39454  	//     "placementIds": {
 39455  	//       "description": "Generate tags for these placements.",
 39456  	//       "format": "int64",
 39457  	//       "location": "query",
 39458  	//       "repeated": true,
 39459  	//       "type": "string"
 39460  	//     },
 39461  	//     "profileId": {
 39462  	//       "description": "User profile ID associated with this request.",
 39463  	//       "format": "int64",
 39464  	//       "location": "path",
 39465  	//       "required": true,
 39466  	//       "type": "string"
 39467  	//     },
 39468  	//     "tagFormats": {
 39469  	//       "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
 39470  	//       "enum": [
 39471  	//         "PLACEMENT_TAG_CLICK_COMMANDS",
 39472  	//         "PLACEMENT_TAG_IFRAME_ILAYER",
 39473  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
 39474  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
 39475  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
 39476  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
 39477  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
 39478  	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
 39479  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
 39480  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
 39481  	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
 39482  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
 39483  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
 39484  	//         "PLACEMENT_TAG_JAVASCRIPT",
 39485  	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
 39486  	//         "PLACEMENT_TAG_STANDARD",
 39487  	//         "PLACEMENT_TAG_TRACKING",
 39488  	//         "PLACEMENT_TAG_TRACKING_IFRAME",
 39489  	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 39490  	//       ],
 39491  	//       "enumDescriptions": [
 39492  	//         "",
 39493  	//         "",
 39494  	//         "",
 39495  	//         "",
 39496  	//         "",
 39497  	//         "",
 39498  	//         "",
 39499  	//         "",
 39500  	//         "",
 39501  	//         "",
 39502  	//         "",
 39503  	//         "",
 39504  	//         "",
 39505  	//         "",
 39506  	//         "",
 39507  	//         "",
 39508  	//         "",
 39509  	//         "",
 39510  	//         ""
 39511  	//       ],
 39512  	//       "location": "query",
 39513  	//       "repeated": true,
 39514  	//       "type": "string"
 39515  	//     }
 39516  	//   },
 39517  	//   "path": "userprofiles/{profileId}/placements/generatetags",
 39518  	//   "response": {
 39519  	//     "$ref": "PlacementsGenerateTagsResponse"
 39520  	//   },
 39521  	//   "scopes": [
 39522  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39523  	//   ]
 39524  	// }
 39525  
 39526  }
 39527  
 39528  // method id "dfareporting.placements.get":
 39529  
 39530  type PlacementsGetCall struct {
 39531  	s            *Service
 39532  	profileId    int64
 39533  	id           int64
 39534  	urlParams_   gensupport.URLParams
 39535  	ifNoneMatch_ string
 39536  	ctx_         context.Context
 39537  	header_      http.Header
 39538  }
 39539  
 39540  // Get: Gets one placement by ID.
 39541  func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
 39542  	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39543  	c.profileId = profileId
 39544  	c.id = id
 39545  	return c
 39546  }
 39547  
 39548  // Fields allows partial responses to be retrieved. See
 39549  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39550  // for more information.
 39551  func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
 39552  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39553  	return c
 39554  }
 39555  
 39556  // IfNoneMatch sets the optional parameter which makes the operation
 39557  // fail if the object's ETag matches the given value. This is useful for
 39558  // getting updates only after the object has changed since the last
 39559  // request. Use googleapi.IsNotModified to check whether the response
 39560  // error from Do is the result of In-None-Match.
 39561  func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
 39562  	c.ifNoneMatch_ = entityTag
 39563  	return c
 39564  }
 39565  
 39566  // Context sets the context to be used in this call's Do method. Any
 39567  // pending HTTP request will be aborted if the provided context is
 39568  // canceled.
 39569  func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
 39570  	c.ctx_ = ctx
 39571  	return c
 39572  }
 39573  
 39574  // Header returns an http.Header that can be modified by the caller to
 39575  // add HTTP headers to the request.
 39576  func (c *PlacementsGetCall) Header() http.Header {
 39577  	if c.header_ == nil {
 39578  		c.header_ = make(http.Header)
 39579  	}
 39580  	return c.header_
 39581  }
 39582  
 39583  func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 39584  	reqHeaders := make(http.Header)
 39585  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39586  	for k, v := range c.header_ {
 39587  		reqHeaders[k] = v
 39588  	}
 39589  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39590  	if c.ifNoneMatch_ != "" {
 39591  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39592  	}
 39593  	var body io.Reader = nil
 39594  	c.urlParams_.Set("alt", alt)
 39595  	c.urlParams_.Set("prettyPrint", "false")
 39596  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
 39597  	urls += "?" + c.urlParams_.Encode()
 39598  	req, err := http.NewRequest("GET", urls, body)
 39599  	if err != nil {
 39600  		return nil, err
 39601  	}
 39602  	req.Header = reqHeaders
 39603  	googleapi.Expand(req.URL, map[string]string{
 39604  		"profileId": strconv.FormatInt(c.profileId, 10),
 39605  		"id":        strconv.FormatInt(c.id, 10),
 39606  	})
 39607  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39608  }
 39609  
 39610  // Do executes the "dfareporting.placements.get" call.
 39611  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 39612  // status code is an error. Response headers are in either
 39613  // *Placement.ServerResponse.Header or (if a response was returned at
 39614  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 39615  // to check whether the returned error was because
 39616  // http.StatusNotModified was returned.
 39617  func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 39618  	gensupport.SetOptions(c.urlParams_, opts...)
 39619  	res, err := c.doRequest("json")
 39620  	if res != nil && res.StatusCode == http.StatusNotModified {
 39621  		if res.Body != nil {
 39622  			res.Body.Close()
 39623  		}
 39624  		return nil, &googleapi.Error{
 39625  			Code:   res.StatusCode,
 39626  			Header: res.Header,
 39627  		}
 39628  	}
 39629  	if err != nil {
 39630  		return nil, err
 39631  	}
 39632  	defer googleapi.CloseBody(res)
 39633  	if err := googleapi.CheckResponse(res); err != nil {
 39634  		return nil, err
 39635  	}
 39636  	ret := &Placement{
 39637  		ServerResponse: googleapi.ServerResponse{
 39638  			Header:         res.Header,
 39639  			HTTPStatusCode: res.StatusCode,
 39640  		},
 39641  	}
 39642  	target := &ret
 39643  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39644  		return nil, err
 39645  	}
 39646  	return ret, nil
 39647  	// {
 39648  	//   "description": "Gets one placement by ID.",
 39649  	//   "httpMethod": "GET",
 39650  	//   "id": "dfareporting.placements.get",
 39651  	//   "parameterOrder": [
 39652  	//     "profileId",
 39653  	//     "id"
 39654  	//   ],
 39655  	//   "parameters": {
 39656  	//     "id": {
 39657  	//       "description": "Placement ID.",
 39658  	//       "format": "int64",
 39659  	//       "location": "path",
 39660  	//       "required": true,
 39661  	//       "type": "string"
 39662  	//     },
 39663  	//     "profileId": {
 39664  	//       "description": "User profile ID associated with this request.",
 39665  	//       "format": "int64",
 39666  	//       "location": "path",
 39667  	//       "required": true,
 39668  	//       "type": "string"
 39669  	//     }
 39670  	//   },
 39671  	//   "path": "userprofiles/{profileId}/placements/{id}",
 39672  	//   "response": {
 39673  	//     "$ref": "Placement"
 39674  	//   },
 39675  	//   "scopes": [
 39676  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39677  	//   ]
 39678  	// }
 39679  
 39680  }
 39681  
 39682  // method id "dfareporting.placements.insert":
 39683  
 39684  type PlacementsInsertCall struct {
 39685  	s          *Service
 39686  	profileId  int64
 39687  	placement  *Placement
 39688  	urlParams_ gensupport.URLParams
 39689  	ctx_       context.Context
 39690  	header_    http.Header
 39691  }
 39692  
 39693  // Insert: Inserts a new placement.
 39694  func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
 39695  	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39696  	c.profileId = profileId
 39697  	c.placement = placement
 39698  	return c
 39699  }
 39700  
 39701  // Fields allows partial responses to be retrieved. See
 39702  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39703  // for more information.
 39704  func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
 39705  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39706  	return c
 39707  }
 39708  
 39709  // Context sets the context to be used in this call's Do method. Any
 39710  // pending HTTP request will be aborted if the provided context is
 39711  // canceled.
 39712  func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
 39713  	c.ctx_ = ctx
 39714  	return c
 39715  }
 39716  
 39717  // Header returns an http.Header that can be modified by the caller to
 39718  // add HTTP headers to the request.
 39719  func (c *PlacementsInsertCall) Header() http.Header {
 39720  	if c.header_ == nil {
 39721  		c.header_ = make(http.Header)
 39722  	}
 39723  	return c.header_
 39724  }
 39725  
 39726  func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
 39727  	reqHeaders := make(http.Header)
 39728  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39729  	for k, v := range c.header_ {
 39730  		reqHeaders[k] = v
 39731  	}
 39732  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39733  	var body io.Reader = nil
 39734  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 39735  	if err != nil {
 39736  		return nil, err
 39737  	}
 39738  	reqHeaders.Set("Content-Type", "application/json")
 39739  	c.urlParams_.Set("alt", alt)
 39740  	c.urlParams_.Set("prettyPrint", "false")
 39741  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 39742  	urls += "?" + c.urlParams_.Encode()
 39743  	req, err := http.NewRequest("POST", urls, body)
 39744  	if err != nil {
 39745  		return nil, err
 39746  	}
 39747  	req.Header = reqHeaders
 39748  	googleapi.Expand(req.URL, map[string]string{
 39749  		"profileId": strconv.FormatInt(c.profileId, 10),
 39750  	})
 39751  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39752  }
 39753  
 39754  // Do executes the "dfareporting.placements.insert" call.
 39755  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 39756  // status code is an error. Response headers are in either
 39757  // *Placement.ServerResponse.Header or (if a response was returned at
 39758  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 39759  // to check whether the returned error was because
 39760  // http.StatusNotModified was returned.
 39761  func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 39762  	gensupport.SetOptions(c.urlParams_, opts...)
 39763  	res, err := c.doRequest("json")
 39764  	if res != nil && res.StatusCode == http.StatusNotModified {
 39765  		if res.Body != nil {
 39766  			res.Body.Close()
 39767  		}
 39768  		return nil, &googleapi.Error{
 39769  			Code:   res.StatusCode,
 39770  			Header: res.Header,
 39771  		}
 39772  	}
 39773  	if err != nil {
 39774  		return nil, err
 39775  	}
 39776  	defer googleapi.CloseBody(res)
 39777  	if err := googleapi.CheckResponse(res); err != nil {
 39778  		return nil, err
 39779  	}
 39780  	ret := &Placement{
 39781  		ServerResponse: googleapi.ServerResponse{
 39782  			Header:         res.Header,
 39783  			HTTPStatusCode: res.StatusCode,
 39784  		},
 39785  	}
 39786  	target := &ret
 39787  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39788  		return nil, err
 39789  	}
 39790  	return ret, nil
 39791  	// {
 39792  	//   "description": "Inserts a new placement.",
 39793  	//   "httpMethod": "POST",
 39794  	//   "id": "dfareporting.placements.insert",
 39795  	//   "parameterOrder": [
 39796  	//     "profileId"
 39797  	//   ],
 39798  	//   "parameters": {
 39799  	//     "profileId": {
 39800  	//       "description": "User profile ID associated with this request.",
 39801  	//       "format": "int64",
 39802  	//       "location": "path",
 39803  	//       "required": true,
 39804  	//       "type": "string"
 39805  	//     }
 39806  	//   },
 39807  	//   "path": "userprofiles/{profileId}/placements",
 39808  	//   "request": {
 39809  	//     "$ref": "Placement"
 39810  	//   },
 39811  	//   "response": {
 39812  	//     "$ref": "Placement"
 39813  	//   },
 39814  	//   "scopes": [
 39815  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39816  	//   ]
 39817  	// }
 39818  
 39819  }
 39820  
 39821  // method id "dfareporting.placements.list":
 39822  
 39823  type PlacementsListCall struct {
 39824  	s            *Service
 39825  	profileId    int64
 39826  	urlParams_   gensupport.URLParams
 39827  	ifNoneMatch_ string
 39828  	ctx_         context.Context
 39829  	header_      http.Header
 39830  }
 39831  
 39832  // List: Retrieves a list of placements, possibly filtered. This method
 39833  // supports paging.
 39834  func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
 39835  	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39836  	c.profileId = profileId
 39837  	return c
 39838  }
 39839  
 39840  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 39841  // only placements that belong to these advertisers.
 39842  func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
 39843  	var advertiserIds_ []string
 39844  	for _, v := range advertiserIds {
 39845  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 39846  	}
 39847  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 39848  	return c
 39849  }
 39850  
 39851  // Archived sets the optional parameter "archived": Select only archived
 39852  // placements. Don't set this field to select both archived and
 39853  // non-archived placements.
 39854  func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
 39855  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 39856  	return c
 39857  }
 39858  
 39859  // CampaignIds sets the optional parameter "campaignIds": Select only
 39860  // placements that belong to these campaigns.
 39861  func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
 39862  	var campaignIds_ []string
 39863  	for _, v := range campaignIds {
 39864  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 39865  	}
 39866  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 39867  	return c
 39868  }
 39869  
 39870  // Compatibilities sets the optional parameter "compatibilities": Select
 39871  // only placements that are associated with these compatibilities.
 39872  // DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
 39873  // or on mobile devices for regular or interstitial ads respectively.
 39874  // APP and APP_INTERSTITIAL are for rendering in mobile apps.
 39875  // IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
 39876  // with the VAST standard.
 39877  //
 39878  // Possible values:
 39879  //
 39880  //	"APP"
 39881  //	"APP_INTERSTITIAL"
 39882  //	"DISPLAY"
 39883  //	"DISPLAY_INTERSTITIAL"
 39884  //	"IN_STREAM_VIDEO"
 39885  func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
 39886  	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
 39887  	return c
 39888  }
 39889  
 39890  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 39891  // Select only placements that are associated with these content
 39892  // categories.
 39893  func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
 39894  	var contentCategoryIds_ []string
 39895  	for _, v := range contentCategoryIds {
 39896  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 39897  	}
 39898  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 39899  	return c
 39900  }
 39901  
 39902  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 39903  // Select only placements that are associated with these directory
 39904  // sites.
 39905  func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
 39906  	var directorySiteIds_ []string
 39907  	for _, v := range directorySiteIds {
 39908  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 39909  	}
 39910  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 39911  	return c
 39912  }
 39913  
 39914  // GroupIds sets the optional parameter "groupIds": Select only
 39915  // placements that belong to these placement groups.
 39916  func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
 39917  	var groupIds_ []string
 39918  	for _, v := range groupIds {
 39919  		groupIds_ = append(groupIds_, fmt.Sprint(v))
 39920  	}
 39921  	c.urlParams_.SetMulti("groupIds", groupIds_)
 39922  	return c
 39923  }
 39924  
 39925  // Ids sets the optional parameter "ids": Select only placements with
 39926  // these IDs.
 39927  func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
 39928  	var ids_ []string
 39929  	for _, v := range ids {
 39930  		ids_ = append(ids_, fmt.Sprint(v))
 39931  	}
 39932  	c.urlParams_.SetMulti("ids", ids_)
 39933  	return c
 39934  }
 39935  
 39936  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 39937  // placements or placement groups whose end date is on or before the
 39938  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 39939  func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
 39940  	c.urlParams_.Set("maxEndDate", maxEndDate)
 39941  	return c
 39942  }
 39943  
 39944  // MaxResults sets the optional parameter "maxResults": Maximum number
 39945  // of results to return.
 39946  func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
 39947  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 39948  	return c
 39949  }
 39950  
 39951  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 39952  // placements or placement groups whose start date is on or before the
 39953  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 39954  func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
 39955  	c.urlParams_.Set("maxStartDate", maxStartDate)
 39956  	return c
 39957  }
 39958  
 39959  // MinEndDate sets the optional parameter "minEndDate": Select only
 39960  // placements or placement groups whose end date is on or after the
 39961  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 39962  func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
 39963  	c.urlParams_.Set("minEndDate", minEndDate)
 39964  	return c
 39965  }
 39966  
 39967  // MinStartDate sets the optional parameter "minStartDate": Select only
 39968  // placements or placement groups whose start date is on or after the
 39969  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 39970  func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
 39971  	c.urlParams_.Set("minStartDate", minStartDate)
 39972  	return c
 39973  }
 39974  
 39975  // PageToken sets the optional parameter "pageToken": Value of the
 39976  // nextPageToken from the previous result page.
 39977  func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
 39978  	c.urlParams_.Set("pageToken", pageToken)
 39979  	return c
 39980  }
 39981  
 39982  // PaymentSource sets the optional parameter "paymentSource": Select
 39983  // only placements with this payment source.
 39984  //
 39985  // Possible values:
 39986  //
 39987  //	"PLACEMENT_AGENCY_PAID"
 39988  //	"PLACEMENT_PUBLISHER_PAID"
 39989  func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
 39990  	c.urlParams_.Set("paymentSource", paymentSource)
 39991  	return c
 39992  }
 39993  
 39994  // PlacementStrategyIds sets the optional parameter
 39995  // "placementStrategyIds": Select only placements that are associated
 39996  // with these placement strategies.
 39997  func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
 39998  	var placementStrategyIds_ []string
 39999  	for _, v := range placementStrategyIds {
 40000  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 40001  	}
 40002  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 40003  	return c
 40004  }
 40005  
 40006  // PricingTypes sets the optional parameter "pricingTypes": Select only
 40007  // placements with these pricing types.
 40008  //
 40009  // Possible values:
 40010  //
 40011  //	"PRICING_TYPE_CPA"
 40012  //	"PRICING_TYPE_CPC"
 40013  //	"PRICING_TYPE_CPM"
 40014  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 40015  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 40016  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 40017  func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
 40018  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 40019  	return c
 40020  }
 40021  
 40022  // SearchString sets the optional parameter "searchString": Allows
 40023  // searching for placements by name or ID. Wildcards (*) are allowed.
 40024  // For example, "placement*2015" will return placements with names like
 40025  // "placement June 2015", "placement May 2015", or simply "placements
 40026  // 2015". Most of the searches also add wildcards implicitly at the
 40027  // start and the end of the search string. For example, a search string
 40028  // of "placement" will match placements with name "my placement",
 40029  // "placement 2015", or simply "placement".
 40030  func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
 40031  	c.urlParams_.Set("searchString", searchString)
 40032  	return c
 40033  }
 40034  
 40035  // SiteIds sets the optional parameter "siteIds": Select only placements
 40036  // that are associated with these sites.
 40037  func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
 40038  	var siteIds_ []string
 40039  	for _, v := range siteIds {
 40040  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 40041  	}
 40042  	c.urlParams_.SetMulti("siteIds", siteIds_)
 40043  	return c
 40044  }
 40045  
 40046  // SizeIds sets the optional parameter "sizeIds": Select only placements
 40047  // that are associated with these sizes.
 40048  func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
 40049  	var sizeIds_ []string
 40050  	for _, v := range sizeIds {
 40051  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 40052  	}
 40053  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 40054  	return c
 40055  }
 40056  
 40057  // SortField sets the optional parameter "sortField": Field by which to
 40058  // sort the list.
 40059  //
 40060  // Possible values:
 40061  //
 40062  //	"ID" (default)
 40063  //	"NAME"
 40064  func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
 40065  	c.urlParams_.Set("sortField", sortField)
 40066  	return c
 40067  }
 40068  
 40069  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 40070  // results.
 40071  //
 40072  // Possible values:
 40073  //
 40074  //	"ASCENDING" (default)
 40075  //	"DESCENDING"
 40076  func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
 40077  	c.urlParams_.Set("sortOrder", sortOrder)
 40078  	return c
 40079  }
 40080  
 40081  // Fields allows partial responses to be retrieved. See
 40082  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40083  // for more information.
 40084  func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
 40085  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40086  	return c
 40087  }
 40088  
 40089  // IfNoneMatch sets the optional parameter which makes the operation
 40090  // fail if the object's ETag matches the given value. This is useful for
 40091  // getting updates only after the object has changed since the last
 40092  // request. Use googleapi.IsNotModified to check whether the response
 40093  // error from Do is the result of In-None-Match.
 40094  func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
 40095  	c.ifNoneMatch_ = entityTag
 40096  	return c
 40097  }
 40098  
 40099  // Context sets the context to be used in this call's Do method. Any
 40100  // pending HTTP request will be aborted if the provided context is
 40101  // canceled.
 40102  func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
 40103  	c.ctx_ = ctx
 40104  	return c
 40105  }
 40106  
 40107  // Header returns an http.Header that can be modified by the caller to
 40108  // add HTTP headers to the request.
 40109  func (c *PlacementsListCall) Header() http.Header {
 40110  	if c.header_ == nil {
 40111  		c.header_ = make(http.Header)
 40112  	}
 40113  	return c.header_
 40114  }
 40115  
 40116  func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 40117  	reqHeaders := make(http.Header)
 40118  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40119  	for k, v := range c.header_ {
 40120  		reqHeaders[k] = v
 40121  	}
 40122  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40123  	if c.ifNoneMatch_ != "" {
 40124  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 40125  	}
 40126  	var body io.Reader = nil
 40127  	c.urlParams_.Set("alt", alt)
 40128  	c.urlParams_.Set("prettyPrint", "false")
 40129  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40130  	urls += "?" + c.urlParams_.Encode()
 40131  	req, err := http.NewRequest("GET", urls, body)
 40132  	if err != nil {
 40133  		return nil, err
 40134  	}
 40135  	req.Header = reqHeaders
 40136  	googleapi.Expand(req.URL, map[string]string{
 40137  		"profileId": strconv.FormatInt(c.profileId, 10),
 40138  	})
 40139  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40140  }
 40141  
 40142  // Do executes the "dfareporting.placements.list" call.
 40143  // Exactly one of *PlacementsListResponse or error will be non-nil. Any
 40144  // non-2xx status code is an error. Response headers are in either
 40145  // *PlacementsListResponse.ServerResponse.Header or (if a response was
 40146  // returned at all) in error.(*googleapi.Error).Header. Use
 40147  // googleapi.IsNotModified to check whether the returned error was
 40148  // because http.StatusNotModified was returned.
 40149  func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
 40150  	gensupport.SetOptions(c.urlParams_, opts...)
 40151  	res, err := c.doRequest("json")
 40152  	if res != nil && res.StatusCode == http.StatusNotModified {
 40153  		if res.Body != nil {
 40154  			res.Body.Close()
 40155  		}
 40156  		return nil, &googleapi.Error{
 40157  			Code:   res.StatusCode,
 40158  			Header: res.Header,
 40159  		}
 40160  	}
 40161  	if err != nil {
 40162  		return nil, err
 40163  	}
 40164  	defer googleapi.CloseBody(res)
 40165  	if err := googleapi.CheckResponse(res); err != nil {
 40166  		return nil, err
 40167  	}
 40168  	ret := &PlacementsListResponse{
 40169  		ServerResponse: googleapi.ServerResponse{
 40170  			Header:         res.Header,
 40171  			HTTPStatusCode: res.StatusCode,
 40172  		},
 40173  	}
 40174  	target := &ret
 40175  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40176  		return nil, err
 40177  	}
 40178  	return ret, nil
 40179  	// {
 40180  	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
 40181  	//   "httpMethod": "GET",
 40182  	//   "id": "dfareporting.placements.list",
 40183  	//   "parameterOrder": [
 40184  	//     "profileId"
 40185  	//   ],
 40186  	//   "parameters": {
 40187  	//     "advertiserIds": {
 40188  	//       "description": "Select only placements that belong to these advertisers.",
 40189  	//       "format": "int64",
 40190  	//       "location": "query",
 40191  	//       "repeated": true,
 40192  	//       "type": "string"
 40193  	//     },
 40194  	//     "archived": {
 40195  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 40196  	//       "location": "query",
 40197  	//       "type": "boolean"
 40198  	//     },
 40199  	//     "campaignIds": {
 40200  	//       "description": "Select only placements that belong to these campaigns.",
 40201  	//       "format": "int64",
 40202  	//       "location": "query",
 40203  	//       "repeated": true,
 40204  	//       "type": "string"
 40205  	//     },
 40206  	//     "compatibilities": {
 40207  	//       "description": "Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.",
 40208  	//       "enum": [
 40209  	//         "APP",
 40210  	//         "APP_INTERSTITIAL",
 40211  	//         "DISPLAY",
 40212  	//         "DISPLAY_INTERSTITIAL",
 40213  	//         "IN_STREAM_VIDEO"
 40214  	//       ],
 40215  	//       "enumDescriptions": [
 40216  	//         "",
 40217  	//         "",
 40218  	//         "",
 40219  	//         "",
 40220  	//         ""
 40221  	//       ],
 40222  	//       "location": "query",
 40223  	//       "repeated": true,
 40224  	//       "type": "string"
 40225  	//     },
 40226  	//     "contentCategoryIds": {
 40227  	//       "description": "Select only placements that are associated with these content categories.",
 40228  	//       "format": "int64",
 40229  	//       "location": "query",
 40230  	//       "repeated": true,
 40231  	//       "type": "string"
 40232  	//     },
 40233  	//     "directorySiteIds": {
 40234  	//       "description": "Select only placements that are associated with these directory sites.",
 40235  	//       "format": "int64",
 40236  	//       "location": "query",
 40237  	//       "repeated": true,
 40238  	//       "type": "string"
 40239  	//     },
 40240  	//     "groupIds": {
 40241  	//       "description": "Select only placements that belong to these placement groups.",
 40242  	//       "format": "int64",
 40243  	//       "location": "query",
 40244  	//       "repeated": true,
 40245  	//       "type": "string"
 40246  	//     },
 40247  	//     "ids": {
 40248  	//       "description": "Select only placements with these IDs.",
 40249  	//       "format": "int64",
 40250  	//       "location": "query",
 40251  	//       "repeated": true,
 40252  	//       "type": "string"
 40253  	//     },
 40254  	//     "maxEndDate": {
 40255  	//       "description": "Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as \"yyyy-MM-dd\".",
 40256  	//       "location": "query",
 40257  	//       "type": "string"
 40258  	//     },
 40259  	//     "maxResults": {
 40260  	//       "default": "1000",
 40261  	//       "description": "Maximum number of results to return.",
 40262  	//       "format": "int32",
 40263  	//       "location": "query",
 40264  	//       "maximum": "1000",
 40265  	//       "minimum": "0",
 40266  	//       "type": "integer"
 40267  	//     },
 40268  	//     "maxStartDate": {
 40269  	//       "description": "Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as \"yyyy-MM-dd\".",
 40270  	//       "location": "query",
 40271  	//       "type": "string"
 40272  	//     },
 40273  	//     "minEndDate": {
 40274  	//       "description": "Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as \"yyyy-MM-dd\".",
 40275  	//       "location": "query",
 40276  	//       "type": "string"
 40277  	//     },
 40278  	//     "minStartDate": {
 40279  	//       "description": "Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as \"yyyy-MM-dd\".",
 40280  	//       "location": "query",
 40281  	//       "type": "string"
 40282  	//     },
 40283  	//     "pageToken": {
 40284  	//       "description": "Value of the nextPageToken from the previous result page.",
 40285  	//       "location": "query",
 40286  	//       "type": "string"
 40287  	//     },
 40288  	//     "paymentSource": {
 40289  	//       "description": "Select only placements with this payment source.",
 40290  	//       "enum": [
 40291  	//         "PLACEMENT_AGENCY_PAID",
 40292  	//         "PLACEMENT_PUBLISHER_PAID"
 40293  	//       ],
 40294  	//       "enumDescriptions": [
 40295  	//         "",
 40296  	//         ""
 40297  	//       ],
 40298  	//       "location": "query",
 40299  	//       "type": "string"
 40300  	//     },
 40301  	//     "placementStrategyIds": {
 40302  	//       "description": "Select only placements that are associated with these placement strategies.",
 40303  	//       "format": "int64",
 40304  	//       "location": "query",
 40305  	//       "repeated": true,
 40306  	//       "type": "string"
 40307  	//     },
 40308  	//     "pricingTypes": {
 40309  	//       "description": "Select only placements with these pricing types.",
 40310  	//       "enum": [
 40311  	//         "PRICING_TYPE_CPA",
 40312  	//         "PRICING_TYPE_CPC",
 40313  	//         "PRICING_TYPE_CPM",
 40314  	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
 40315  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 40316  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 40317  	//       ],
 40318  	//       "enumDescriptions": [
 40319  	//         "",
 40320  	//         "",
 40321  	//         "",
 40322  	//         "",
 40323  	//         "",
 40324  	//         ""
 40325  	//       ],
 40326  	//       "location": "query",
 40327  	//       "repeated": true,
 40328  	//       "type": "string"
 40329  	//     },
 40330  	//     "profileId": {
 40331  	//       "description": "User profile ID associated with this request.",
 40332  	//       "format": "int64",
 40333  	//       "location": "path",
 40334  	//       "required": true,
 40335  	//       "type": "string"
 40336  	//     },
 40337  	//     "searchString": {
 40338  	//       "description": "Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placements with names like \"placement June 2015\", \"placement May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placement\" will match placements with name \"my placement\", \"placement 2015\", or simply \"placement\".",
 40339  	//       "location": "query",
 40340  	//       "type": "string"
 40341  	//     },
 40342  	//     "siteIds": {
 40343  	//       "description": "Select only placements that are associated with these sites.",
 40344  	//       "format": "int64",
 40345  	//       "location": "query",
 40346  	//       "repeated": true,
 40347  	//       "type": "string"
 40348  	//     },
 40349  	//     "sizeIds": {
 40350  	//       "description": "Select only placements that are associated with these sizes.",
 40351  	//       "format": "int64",
 40352  	//       "location": "query",
 40353  	//       "repeated": true,
 40354  	//       "type": "string"
 40355  	//     },
 40356  	//     "sortField": {
 40357  	//       "default": "ID",
 40358  	//       "description": "Field by which to sort the list.",
 40359  	//       "enum": [
 40360  	//         "ID",
 40361  	//         "NAME"
 40362  	//       ],
 40363  	//       "enumDescriptions": [
 40364  	//         "",
 40365  	//         ""
 40366  	//       ],
 40367  	//       "location": "query",
 40368  	//       "type": "string"
 40369  	//     },
 40370  	//     "sortOrder": {
 40371  	//       "default": "ASCENDING",
 40372  	//       "description": "Order of sorted results.",
 40373  	//       "enum": [
 40374  	//         "ASCENDING",
 40375  	//         "DESCENDING"
 40376  	//       ],
 40377  	//       "enumDescriptions": [
 40378  	//         "",
 40379  	//         ""
 40380  	//       ],
 40381  	//       "location": "query",
 40382  	//       "type": "string"
 40383  	//     }
 40384  	//   },
 40385  	//   "path": "userprofiles/{profileId}/placements",
 40386  	//   "response": {
 40387  	//     "$ref": "PlacementsListResponse"
 40388  	//   },
 40389  	//   "scopes": [
 40390  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40391  	//   ]
 40392  	// }
 40393  
 40394  }
 40395  
 40396  // Pages invokes f for each page of results.
 40397  // A non-nil error returned from f will halt the iteration.
 40398  // The provided context supersedes any context provided to the Context method.
 40399  func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
 40400  	c.ctx_ = ctx
 40401  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 40402  	for {
 40403  		x, err := c.Do()
 40404  		if err != nil {
 40405  			return err
 40406  		}
 40407  		if err := f(x); err != nil {
 40408  			return err
 40409  		}
 40410  		if x.NextPageToken == "" {
 40411  			return nil
 40412  		}
 40413  		c.PageToken(x.NextPageToken)
 40414  	}
 40415  }
 40416  
 40417  // method id "dfareporting.placements.patch":
 40418  
 40419  type PlacementsPatchCall struct {
 40420  	s          *Service
 40421  	profileId  int64
 40422  	placement  *Placement
 40423  	urlParams_ gensupport.URLParams
 40424  	ctx_       context.Context
 40425  	header_    http.Header
 40426  }
 40427  
 40428  // Patch: Updates an existing placement. This method supports patch
 40429  // semantics.
 40430  func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
 40431  	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40432  	c.profileId = profileId
 40433  	c.urlParams_.Set("id", fmt.Sprint(id))
 40434  	c.placement = placement
 40435  	return c
 40436  }
 40437  
 40438  // Fields allows partial responses to be retrieved. See
 40439  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40440  // for more information.
 40441  func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
 40442  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40443  	return c
 40444  }
 40445  
 40446  // Context sets the context to be used in this call's Do method. Any
 40447  // pending HTTP request will be aborted if the provided context is
 40448  // canceled.
 40449  func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
 40450  	c.ctx_ = ctx
 40451  	return c
 40452  }
 40453  
 40454  // Header returns an http.Header that can be modified by the caller to
 40455  // add HTTP headers to the request.
 40456  func (c *PlacementsPatchCall) Header() http.Header {
 40457  	if c.header_ == nil {
 40458  		c.header_ = make(http.Header)
 40459  	}
 40460  	return c.header_
 40461  }
 40462  
 40463  func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
 40464  	reqHeaders := make(http.Header)
 40465  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40466  	for k, v := range c.header_ {
 40467  		reqHeaders[k] = v
 40468  	}
 40469  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40470  	var body io.Reader = nil
 40471  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 40472  	if err != nil {
 40473  		return nil, err
 40474  	}
 40475  	reqHeaders.Set("Content-Type", "application/json")
 40476  	c.urlParams_.Set("alt", alt)
 40477  	c.urlParams_.Set("prettyPrint", "false")
 40478  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40479  	urls += "?" + c.urlParams_.Encode()
 40480  	req, err := http.NewRequest("PATCH", urls, body)
 40481  	if err != nil {
 40482  		return nil, err
 40483  	}
 40484  	req.Header = reqHeaders
 40485  	googleapi.Expand(req.URL, map[string]string{
 40486  		"profileId": strconv.FormatInt(c.profileId, 10),
 40487  	})
 40488  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40489  }
 40490  
 40491  // Do executes the "dfareporting.placements.patch" call.
 40492  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40493  // status code is an error. Response headers are in either
 40494  // *Placement.ServerResponse.Header or (if a response was returned at
 40495  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40496  // to check whether the returned error was because
 40497  // http.StatusNotModified was returned.
 40498  func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40499  	gensupport.SetOptions(c.urlParams_, opts...)
 40500  	res, err := c.doRequest("json")
 40501  	if res != nil && res.StatusCode == http.StatusNotModified {
 40502  		if res.Body != nil {
 40503  			res.Body.Close()
 40504  		}
 40505  		return nil, &googleapi.Error{
 40506  			Code:   res.StatusCode,
 40507  			Header: res.Header,
 40508  		}
 40509  	}
 40510  	if err != nil {
 40511  		return nil, err
 40512  	}
 40513  	defer googleapi.CloseBody(res)
 40514  	if err := googleapi.CheckResponse(res); err != nil {
 40515  		return nil, err
 40516  	}
 40517  	ret := &Placement{
 40518  		ServerResponse: googleapi.ServerResponse{
 40519  			Header:         res.Header,
 40520  			HTTPStatusCode: res.StatusCode,
 40521  		},
 40522  	}
 40523  	target := &ret
 40524  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40525  		return nil, err
 40526  	}
 40527  	return ret, nil
 40528  	// {
 40529  	//   "description": "Updates an existing placement. This method supports patch semantics.",
 40530  	//   "httpMethod": "PATCH",
 40531  	//   "id": "dfareporting.placements.patch",
 40532  	//   "parameterOrder": [
 40533  	//     "profileId",
 40534  	//     "id"
 40535  	//   ],
 40536  	//   "parameters": {
 40537  	//     "id": {
 40538  	//       "description": "Placement ID.",
 40539  	//       "format": "int64",
 40540  	//       "location": "query",
 40541  	//       "required": true,
 40542  	//       "type": "string"
 40543  	//     },
 40544  	//     "profileId": {
 40545  	//       "description": "User profile ID associated with this request.",
 40546  	//       "format": "int64",
 40547  	//       "location": "path",
 40548  	//       "required": true,
 40549  	//       "type": "string"
 40550  	//     }
 40551  	//   },
 40552  	//   "path": "userprofiles/{profileId}/placements",
 40553  	//   "request": {
 40554  	//     "$ref": "Placement"
 40555  	//   },
 40556  	//   "response": {
 40557  	//     "$ref": "Placement"
 40558  	//   },
 40559  	//   "scopes": [
 40560  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40561  	//   ]
 40562  	// }
 40563  
 40564  }
 40565  
 40566  // method id "dfareporting.placements.update":
 40567  
 40568  type PlacementsUpdateCall struct {
 40569  	s          *Service
 40570  	profileId  int64
 40571  	placement  *Placement
 40572  	urlParams_ gensupport.URLParams
 40573  	ctx_       context.Context
 40574  	header_    http.Header
 40575  }
 40576  
 40577  // Update: Updates an existing placement.
 40578  func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
 40579  	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40580  	c.profileId = profileId
 40581  	c.placement = placement
 40582  	return c
 40583  }
 40584  
 40585  // Fields allows partial responses to be retrieved. See
 40586  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40587  // for more information.
 40588  func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
 40589  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40590  	return c
 40591  }
 40592  
 40593  // Context sets the context to be used in this call's Do method. Any
 40594  // pending HTTP request will be aborted if the provided context is
 40595  // canceled.
 40596  func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
 40597  	c.ctx_ = ctx
 40598  	return c
 40599  }
 40600  
 40601  // Header returns an http.Header that can be modified by the caller to
 40602  // add HTTP headers to the request.
 40603  func (c *PlacementsUpdateCall) Header() http.Header {
 40604  	if c.header_ == nil {
 40605  		c.header_ = make(http.Header)
 40606  	}
 40607  	return c.header_
 40608  }
 40609  
 40610  func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
 40611  	reqHeaders := make(http.Header)
 40612  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40613  	for k, v := range c.header_ {
 40614  		reqHeaders[k] = v
 40615  	}
 40616  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40617  	var body io.Reader = nil
 40618  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 40619  	if err != nil {
 40620  		return nil, err
 40621  	}
 40622  	reqHeaders.Set("Content-Type", "application/json")
 40623  	c.urlParams_.Set("alt", alt)
 40624  	c.urlParams_.Set("prettyPrint", "false")
 40625  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40626  	urls += "?" + c.urlParams_.Encode()
 40627  	req, err := http.NewRequest("PUT", urls, body)
 40628  	if err != nil {
 40629  		return nil, err
 40630  	}
 40631  	req.Header = reqHeaders
 40632  	googleapi.Expand(req.URL, map[string]string{
 40633  		"profileId": strconv.FormatInt(c.profileId, 10),
 40634  	})
 40635  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40636  }
 40637  
 40638  // Do executes the "dfareporting.placements.update" call.
 40639  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40640  // status code is an error. Response headers are in either
 40641  // *Placement.ServerResponse.Header or (if a response was returned at
 40642  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40643  // to check whether the returned error was because
 40644  // http.StatusNotModified was returned.
 40645  func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40646  	gensupport.SetOptions(c.urlParams_, opts...)
 40647  	res, err := c.doRequest("json")
 40648  	if res != nil && res.StatusCode == http.StatusNotModified {
 40649  		if res.Body != nil {
 40650  			res.Body.Close()
 40651  		}
 40652  		return nil, &googleapi.Error{
 40653  			Code:   res.StatusCode,
 40654  			Header: res.Header,
 40655  		}
 40656  	}
 40657  	if err != nil {
 40658  		return nil, err
 40659  	}
 40660  	defer googleapi.CloseBody(res)
 40661  	if err := googleapi.CheckResponse(res); err != nil {
 40662  		return nil, err
 40663  	}
 40664  	ret := &Placement{
 40665  		ServerResponse: googleapi.ServerResponse{
 40666  			Header:         res.Header,
 40667  			HTTPStatusCode: res.StatusCode,
 40668  		},
 40669  	}
 40670  	target := &ret
 40671  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40672  		return nil, err
 40673  	}
 40674  	return ret, nil
 40675  	// {
 40676  	//   "description": "Updates an existing placement.",
 40677  	//   "httpMethod": "PUT",
 40678  	//   "id": "dfareporting.placements.update",
 40679  	//   "parameterOrder": [
 40680  	//     "profileId"
 40681  	//   ],
 40682  	//   "parameters": {
 40683  	//     "profileId": {
 40684  	//       "description": "User profile ID associated with this request.",
 40685  	//       "format": "int64",
 40686  	//       "location": "path",
 40687  	//       "required": true,
 40688  	//       "type": "string"
 40689  	//     }
 40690  	//   },
 40691  	//   "path": "userprofiles/{profileId}/placements",
 40692  	//   "request": {
 40693  	//     "$ref": "Placement"
 40694  	//   },
 40695  	//   "response": {
 40696  	//     "$ref": "Placement"
 40697  	//   },
 40698  	//   "scopes": [
 40699  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40700  	//   ]
 40701  	// }
 40702  
 40703  }
 40704  
 40705  // method id "dfareporting.platformTypes.get":
 40706  
 40707  type PlatformTypesGetCall struct {
 40708  	s            *Service
 40709  	profileId    int64
 40710  	id           int64
 40711  	urlParams_   gensupport.URLParams
 40712  	ifNoneMatch_ string
 40713  	ctx_         context.Context
 40714  	header_      http.Header
 40715  }
 40716  
 40717  // Get: Gets one platform type by ID.
 40718  func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
 40719  	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40720  	c.profileId = profileId
 40721  	c.id = id
 40722  	return c
 40723  }
 40724  
 40725  // Fields allows partial responses to be retrieved. See
 40726  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40727  // for more information.
 40728  func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
 40729  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40730  	return c
 40731  }
 40732  
 40733  // IfNoneMatch sets the optional parameter which makes the operation
 40734  // fail if the object's ETag matches the given value. This is useful for
 40735  // getting updates only after the object has changed since the last
 40736  // request. Use googleapi.IsNotModified to check whether the response
 40737  // error from Do is the result of In-None-Match.
 40738  func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
 40739  	c.ifNoneMatch_ = entityTag
 40740  	return c
 40741  }
 40742  
 40743  // Context sets the context to be used in this call's Do method. Any
 40744  // pending HTTP request will be aborted if the provided context is
 40745  // canceled.
 40746  func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
 40747  	c.ctx_ = ctx
 40748  	return c
 40749  }
 40750  
 40751  // Header returns an http.Header that can be modified by the caller to
 40752  // add HTTP headers to the request.
 40753  func (c *PlatformTypesGetCall) Header() http.Header {
 40754  	if c.header_ == nil {
 40755  		c.header_ = make(http.Header)
 40756  	}
 40757  	return c.header_
 40758  }
 40759  
 40760  func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
 40761  	reqHeaders := make(http.Header)
 40762  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40763  	for k, v := range c.header_ {
 40764  		reqHeaders[k] = v
 40765  	}
 40766  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40767  	if c.ifNoneMatch_ != "" {
 40768  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 40769  	}
 40770  	var body io.Reader = nil
 40771  	c.urlParams_.Set("alt", alt)
 40772  	c.urlParams_.Set("prettyPrint", "false")
 40773  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
 40774  	urls += "?" + c.urlParams_.Encode()
 40775  	req, err := http.NewRequest("GET", urls, body)
 40776  	if err != nil {
 40777  		return nil, err
 40778  	}
 40779  	req.Header = reqHeaders
 40780  	googleapi.Expand(req.URL, map[string]string{
 40781  		"profileId": strconv.FormatInt(c.profileId, 10),
 40782  		"id":        strconv.FormatInt(c.id, 10),
 40783  	})
 40784  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40785  }
 40786  
 40787  // Do executes the "dfareporting.platformTypes.get" call.
 40788  // Exactly one of *PlatformType or error will be non-nil. Any non-2xx
 40789  // status code is an error. Response headers are in either
 40790  // *PlatformType.ServerResponse.Header or (if a response was returned at
 40791  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40792  // to check whether the returned error was because
 40793  // http.StatusNotModified was returned.
 40794  func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
 40795  	gensupport.SetOptions(c.urlParams_, opts...)
 40796  	res, err := c.doRequest("json")
 40797  	if res != nil && res.StatusCode == http.StatusNotModified {
 40798  		if res.Body != nil {
 40799  			res.Body.Close()
 40800  		}
 40801  		return nil, &googleapi.Error{
 40802  			Code:   res.StatusCode,
 40803  			Header: res.Header,
 40804  		}
 40805  	}
 40806  	if err != nil {
 40807  		return nil, err
 40808  	}
 40809  	defer googleapi.CloseBody(res)
 40810  	if err := googleapi.CheckResponse(res); err != nil {
 40811  		return nil, err
 40812  	}
 40813  	ret := &PlatformType{
 40814  		ServerResponse: googleapi.ServerResponse{
 40815  			Header:         res.Header,
 40816  			HTTPStatusCode: res.StatusCode,
 40817  		},
 40818  	}
 40819  	target := &ret
 40820  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40821  		return nil, err
 40822  	}
 40823  	return ret, nil
 40824  	// {
 40825  	//   "description": "Gets one platform type by ID.",
 40826  	//   "httpMethod": "GET",
 40827  	//   "id": "dfareporting.platformTypes.get",
 40828  	//   "parameterOrder": [
 40829  	//     "profileId",
 40830  	//     "id"
 40831  	//   ],
 40832  	//   "parameters": {
 40833  	//     "id": {
 40834  	//       "description": "Platform type ID.",
 40835  	//       "format": "int64",
 40836  	//       "location": "path",
 40837  	//       "required": true,
 40838  	//       "type": "string"
 40839  	//     },
 40840  	//     "profileId": {
 40841  	//       "description": "User profile ID associated with this request.",
 40842  	//       "format": "int64",
 40843  	//       "location": "path",
 40844  	//       "required": true,
 40845  	//       "type": "string"
 40846  	//     }
 40847  	//   },
 40848  	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
 40849  	//   "response": {
 40850  	//     "$ref": "PlatformType"
 40851  	//   },
 40852  	//   "scopes": [
 40853  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40854  	//   ]
 40855  	// }
 40856  
 40857  }
 40858  
 40859  // method id "dfareporting.platformTypes.list":
 40860  
 40861  type PlatformTypesListCall struct {
 40862  	s            *Service
 40863  	profileId    int64
 40864  	urlParams_   gensupport.URLParams
 40865  	ifNoneMatch_ string
 40866  	ctx_         context.Context
 40867  	header_      http.Header
 40868  }
 40869  
 40870  // List: Retrieves a list of platform types.
 40871  func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
 40872  	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40873  	c.profileId = profileId
 40874  	return c
 40875  }
 40876  
 40877  // Fields allows partial responses to be retrieved. See
 40878  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40879  // for more information.
 40880  func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
 40881  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40882  	return c
 40883  }
 40884  
 40885  // IfNoneMatch sets the optional parameter which makes the operation
 40886  // fail if the object's ETag matches the given value. This is useful for
 40887  // getting updates only after the object has changed since the last
 40888  // request. Use googleapi.IsNotModified to check whether the response
 40889  // error from Do is the result of In-None-Match.
 40890  func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
 40891  	c.ifNoneMatch_ = entityTag
 40892  	return c
 40893  }
 40894  
 40895  // Context sets the context to be used in this call's Do method. Any
 40896  // pending HTTP request will be aborted if the provided context is
 40897  // canceled.
 40898  func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
 40899  	c.ctx_ = ctx
 40900  	return c
 40901  }
 40902  
 40903  // Header returns an http.Header that can be modified by the caller to
 40904  // add HTTP headers to the request.
 40905  func (c *PlatformTypesListCall) Header() http.Header {
 40906  	if c.header_ == nil {
 40907  		c.header_ = make(http.Header)
 40908  	}
 40909  	return c.header_
 40910  }
 40911  
 40912  func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 40913  	reqHeaders := make(http.Header)
 40914  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40915  	for k, v := range c.header_ {
 40916  		reqHeaders[k] = v
 40917  	}
 40918  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40919  	if c.ifNoneMatch_ != "" {
 40920  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 40921  	}
 40922  	var body io.Reader = nil
 40923  	c.urlParams_.Set("alt", alt)
 40924  	c.urlParams_.Set("prettyPrint", "false")
 40925  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
 40926  	urls += "?" + c.urlParams_.Encode()
 40927  	req, err := http.NewRequest("GET", urls, body)
 40928  	if err != nil {
 40929  		return nil, err
 40930  	}
 40931  	req.Header = reqHeaders
 40932  	googleapi.Expand(req.URL, map[string]string{
 40933  		"profileId": strconv.FormatInt(c.profileId, 10),
 40934  	})
 40935  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40936  }
 40937  
 40938  // Do executes the "dfareporting.platformTypes.list" call.
 40939  // Exactly one of *PlatformTypesListResponse or error will be non-nil.
 40940  // Any non-2xx status code is an error. Response headers are in either
 40941  // *PlatformTypesListResponse.ServerResponse.Header or (if a response
 40942  // was returned at all) in error.(*googleapi.Error).Header. Use
 40943  // googleapi.IsNotModified to check whether the returned error was
 40944  // because http.StatusNotModified was returned.
 40945  func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
 40946  	gensupport.SetOptions(c.urlParams_, opts...)
 40947  	res, err := c.doRequest("json")
 40948  	if res != nil && res.StatusCode == http.StatusNotModified {
 40949  		if res.Body != nil {
 40950  			res.Body.Close()
 40951  		}
 40952  		return nil, &googleapi.Error{
 40953  			Code:   res.StatusCode,
 40954  			Header: res.Header,
 40955  		}
 40956  	}
 40957  	if err != nil {
 40958  		return nil, err
 40959  	}
 40960  	defer googleapi.CloseBody(res)
 40961  	if err := googleapi.CheckResponse(res); err != nil {
 40962  		return nil, err
 40963  	}
 40964  	ret := &PlatformTypesListResponse{
 40965  		ServerResponse: googleapi.ServerResponse{
 40966  			Header:         res.Header,
 40967  			HTTPStatusCode: res.StatusCode,
 40968  		},
 40969  	}
 40970  	target := &ret
 40971  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40972  		return nil, err
 40973  	}
 40974  	return ret, nil
 40975  	// {
 40976  	//   "description": "Retrieves a list of platform types.",
 40977  	//   "httpMethod": "GET",
 40978  	//   "id": "dfareporting.platformTypes.list",
 40979  	//   "parameterOrder": [
 40980  	//     "profileId"
 40981  	//   ],
 40982  	//   "parameters": {
 40983  	//     "profileId": {
 40984  	//       "description": "User profile ID associated with this request.",
 40985  	//       "format": "int64",
 40986  	//       "location": "path",
 40987  	//       "required": true,
 40988  	//       "type": "string"
 40989  	//     }
 40990  	//   },
 40991  	//   "path": "userprofiles/{profileId}/platformTypes",
 40992  	//   "response": {
 40993  	//     "$ref": "PlatformTypesListResponse"
 40994  	//   },
 40995  	//   "scopes": [
 40996  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40997  	//   ]
 40998  	// }
 40999  
 41000  }
 41001  
 41002  // method id "dfareporting.postalCodes.get":
 41003  
 41004  type PostalCodesGetCall struct {
 41005  	s            *Service
 41006  	profileId    int64
 41007  	code         string
 41008  	urlParams_   gensupport.URLParams
 41009  	ifNoneMatch_ string
 41010  	ctx_         context.Context
 41011  	header_      http.Header
 41012  }
 41013  
 41014  // Get: Gets one postal code by ID.
 41015  func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
 41016  	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41017  	c.profileId = profileId
 41018  	c.code = code
 41019  	return c
 41020  }
 41021  
 41022  // Fields allows partial responses to be retrieved. See
 41023  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41024  // for more information.
 41025  func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
 41026  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41027  	return c
 41028  }
 41029  
 41030  // IfNoneMatch sets the optional parameter which makes the operation
 41031  // fail if the object's ETag matches the given value. This is useful for
 41032  // getting updates only after the object has changed since the last
 41033  // request. Use googleapi.IsNotModified to check whether the response
 41034  // error from Do is the result of In-None-Match.
 41035  func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
 41036  	c.ifNoneMatch_ = entityTag
 41037  	return c
 41038  }
 41039  
 41040  // Context sets the context to be used in this call's Do method. Any
 41041  // pending HTTP request will be aborted if the provided context is
 41042  // canceled.
 41043  func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
 41044  	c.ctx_ = ctx
 41045  	return c
 41046  }
 41047  
 41048  // Header returns an http.Header that can be modified by the caller to
 41049  // add HTTP headers to the request.
 41050  func (c *PostalCodesGetCall) Header() http.Header {
 41051  	if c.header_ == nil {
 41052  		c.header_ = make(http.Header)
 41053  	}
 41054  	return c.header_
 41055  }
 41056  
 41057  func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
 41058  	reqHeaders := make(http.Header)
 41059  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41060  	for k, v := range c.header_ {
 41061  		reqHeaders[k] = v
 41062  	}
 41063  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41064  	if c.ifNoneMatch_ != "" {
 41065  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41066  	}
 41067  	var body io.Reader = nil
 41068  	c.urlParams_.Set("alt", alt)
 41069  	c.urlParams_.Set("prettyPrint", "false")
 41070  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
 41071  	urls += "?" + c.urlParams_.Encode()
 41072  	req, err := http.NewRequest("GET", urls, body)
 41073  	if err != nil {
 41074  		return nil, err
 41075  	}
 41076  	req.Header = reqHeaders
 41077  	googleapi.Expand(req.URL, map[string]string{
 41078  		"profileId": strconv.FormatInt(c.profileId, 10),
 41079  		"code":      c.code,
 41080  	})
 41081  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41082  }
 41083  
 41084  // Do executes the "dfareporting.postalCodes.get" call.
 41085  // Exactly one of *PostalCode or error will be non-nil. Any non-2xx
 41086  // status code is an error. Response headers are in either
 41087  // *PostalCode.ServerResponse.Header or (if a response was returned at
 41088  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41089  // to check whether the returned error was because
 41090  // http.StatusNotModified was returned.
 41091  func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
 41092  	gensupport.SetOptions(c.urlParams_, opts...)
 41093  	res, err := c.doRequest("json")
 41094  	if res != nil && res.StatusCode == http.StatusNotModified {
 41095  		if res.Body != nil {
 41096  			res.Body.Close()
 41097  		}
 41098  		return nil, &googleapi.Error{
 41099  			Code:   res.StatusCode,
 41100  			Header: res.Header,
 41101  		}
 41102  	}
 41103  	if err != nil {
 41104  		return nil, err
 41105  	}
 41106  	defer googleapi.CloseBody(res)
 41107  	if err := googleapi.CheckResponse(res); err != nil {
 41108  		return nil, err
 41109  	}
 41110  	ret := &PostalCode{
 41111  		ServerResponse: googleapi.ServerResponse{
 41112  			Header:         res.Header,
 41113  			HTTPStatusCode: res.StatusCode,
 41114  		},
 41115  	}
 41116  	target := &ret
 41117  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41118  		return nil, err
 41119  	}
 41120  	return ret, nil
 41121  	// {
 41122  	//   "description": "Gets one postal code by ID.",
 41123  	//   "httpMethod": "GET",
 41124  	//   "id": "dfareporting.postalCodes.get",
 41125  	//   "parameterOrder": [
 41126  	//     "profileId",
 41127  	//     "code"
 41128  	//   ],
 41129  	//   "parameters": {
 41130  	//     "code": {
 41131  	//       "description": "Postal code ID.",
 41132  	//       "location": "path",
 41133  	//       "required": true,
 41134  	//       "type": "string"
 41135  	//     },
 41136  	//     "profileId": {
 41137  	//       "description": "User profile ID associated with this request.",
 41138  	//       "format": "int64",
 41139  	//       "location": "path",
 41140  	//       "required": true,
 41141  	//       "type": "string"
 41142  	//     }
 41143  	//   },
 41144  	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
 41145  	//   "response": {
 41146  	//     "$ref": "PostalCode"
 41147  	//   },
 41148  	//   "scopes": [
 41149  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41150  	//   ]
 41151  	// }
 41152  
 41153  }
 41154  
 41155  // method id "dfareporting.postalCodes.list":
 41156  
 41157  type PostalCodesListCall struct {
 41158  	s            *Service
 41159  	profileId    int64
 41160  	urlParams_   gensupport.URLParams
 41161  	ifNoneMatch_ string
 41162  	ctx_         context.Context
 41163  	header_      http.Header
 41164  }
 41165  
 41166  // List: Retrieves a list of postal codes.
 41167  func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
 41168  	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41169  	c.profileId = profileId
 41170  	return c
 41171  }
 41172  
 41173  // Fields allows partial responses to be retrieved. See
 41174  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41175  // for more information.
 41176  func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
 41177  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41178  	return c
 41179  }
 41180  
 41181  // IfNoneMatch sets the optional parameter which makes the operation
 41182  // fail if the object's ETag matches the given value. This is useful for
 41183  // getting updates only after the object has changed since the last
 41184  // request. Use googleapi.IsNotModified to check whether the response
 41185  // error from Do is the result of In-None-Match.
 41186  func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
 41187  	c.ifNoneMatch_ = entityTag
 41188  	return c
 41189  }
 41190  
 41191  // Context sets the context to be used in this call's Do method. Any
 41192  // pending HTTP request will be aborted if the provided context is
 41193  // canceled.
 41194  func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
 41195  	c.ctx_ = ctx
 41196  	return c
 41197  }
 41198  
 41199  // Header returns an http.Header that can be modified by the caller to
 41200  // add HTTP headers to the request.
 41201  func (c *PostalCodesListCall) Header() http.Header {
 41202  	if c.header_ == nil {
 41203  		c.header_ = make(http.Header)
 41204  	}
 41205  	return c.header_
 41206  }
 41207  
 41208  func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 41209  	reqHeaders := make(http.Header)
 41210  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41211  	for k, v := range c.header_ {
 41212  		reqHeaders[k] = v
 41213  	}
 41214  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41215  	if c.ifNoneMatch_ != "" {
 41216  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41217  	}
 41218  	var body io.Reader = nil
 41219  	c.urlParams_.Set("alt", alt)
 41220  	c.urlParams_.Set("prettyPrint", "false")
 41221  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
 41222  	urls += "?" + c.urlParams_.Encode()
 41223  	req, err := http.NewRequest("GET", urls, body)
 41224  	if err != nil {
 41225  		return nil, err
 41226  	}
 41227  	req.Header = reqHeaders
 41228  	googleapi.Expand(req.URL, map[string]string{
 41229  		"profileId": strconv.FormatInt(c.profileId, 10),
 41230  	})
 41231  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41232  }
 41233  
 41234  // Do executes the "dfareporting.postalCodes.list" call.
 41235  // Exactly one of *PostalCodesListResponse or error will be non-nil. Any
 41236  // non-2xx status code is an error. Response headers are in either
 41237  // *PostalCodesListResponse.ServerResponse.Header or (if a response was
 41238  // returned at all) in error.(*googleapi.Error).Header. Use
 41239  // googleapi.IsNotModified to check whether the returned error was
 41240  // because http.StatusNotModified was returned.
 41241  func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
 41242  	gensupport.SetOptions(c.urlParams_, opts...)
 41243  	res, err := c.doRequest("json")
 41244  	if res != nil && res.StatusCode == http.StatusNotModified {
 41245  		if res.Body != nil {
 41246  			res.Body.Close()
 41247  		}
 41248  		return nil, &googleapi.Error{
 41249  			Code:   res.StatusCode,
 41250  			Header: res.Header,
 41251  		}
 41252  	}
 41253  	if err != nil {
 41254  		return nil, err
 41255  	}
 41256  	defer googleapi.CloseBody(res)
 41257  	if err := googleapi.CheckResponse(res); err != nil {
 41258  		return nil, err
 41259  	}
 41260  	ret := &PostalCodesListResponse{
 41261  		ServerResponse: googleapi.ServerResponse{
 41262  			Header:         res.Header,
 41263  			HTTPStatusCode: res.StatusCode,
 41264  		},
 41265  	}
 41266  	target := &ret
 41267  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41268  		return nil, err
 41269  	}
 41270  	return ret, nil
 41271  	// {
 41272  	//   "description": "Retrieves a list of postal codes.",
 41273  	//   "httpMethod": "GET",
 41274  	//   "id": "dfareporting.postalCodes.list",
 41275  	//   "parameterOrder": [
 41276  	//     "profileId"
 41277  	//   ],
 41278  	//   "parameters": {
 41279  	//     "profileId": {
 41280  	//       "description": "User profile ID associated with this request.",
 41281  	//       "format": "int64",
 41282  	//       "location": "path",
 41283  	//       "required": true,
 41284  	//       "type": "string"
 41285  	//     }
 41286  	//   },
 41287  	//   "path": "userprofiles/{profileId}/postalCodes",
 41288  	//   "response": {
 41289  	//     "$ref": "PostalCodesListResponse"
 41290  	//   },
 41291  	//   "scopes": [
 41292  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41293  	//   ]
 41294  	// }
 41295  
 41296  }
 41297  
 41298  // method id "dfareporting.projects.get":
 41299  
 41300  type ProjectsGetCall struct {
 41301  	s            *Service
 41302  	profileId    int64
 41303  	id           int64
 41304  	urlParams_   gensupport.URLParams
 41305  	ifNoneMatch_ string
 41306  	ctx_         context.Context
 41307  	header_      http.Header
 41308  }
 41309  
 41310  // Get: Gets one project by ID.
 41311  func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
 41312  	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41313  	c.profileId = profileId
 41314  	c.id = id
 41315  	return c
 41316  }
 41317  
 41318  // Fields allows partial responses to be retrieved. See
 41319  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41320  // for more information.
 41321  func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
 41322  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41323  	return c
 41324  }
 41325  
 41326  // IfNoneMatch sets the optional parameter which makes the operation
 41327  // fail if the object's ETag matches the given value. This is useful for
 41328  // getting updates only after the object has changed since the last
 41329  // request. Use googleapi.IsNotModified to check whether the response
 41330  // error from Do is the result of In-None-Match.
 41331  func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
 41332  	c.ifNoneMatch_ = entityTag
 41333  	return c
 41334  }
 41335  
 41336  // Context sets the context to be used in this call's Do method. Any
 41337  // pending HTTP request will be aborted if the provided context is
 41338  // canceled.
 41339  func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 41340  	c.ctx_ = ctx
 41341  	return c
 41342  }
 41343  
 41344  // Header returns an http.Header that can be modified by the caller to
 41345  // add HTTP headers to the request.
 41346  func (c *ProjectsGetCall) Header() http.Header {
 41347  	if c.header_ == nil {
 41348  		c.header_ = make(http.Header)
 41349  	}
 41350  	return c.header_
 41351  }
 41352  
 41353  func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 41354  	reqHeaders := make(http.Header)
 41355  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41356  	for k, v := range c.header_ {
 41357  		reqHeaders[k] = v
 41358  	}
 41359  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41360  	if c.ifNoneMatch_ != "" {
 41361  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41362  	}
 41363  	var body io.Reader = nil
 41364  	c.urlParams_.Set("alt", alt)
 41365  	c.urlParams_.Set("prettyPrint", "false")
 41366  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
 41367  	urls += "?" + c.urlParams_.Encode()
 41368  	req, err := http.NewRequest("GET", urls, body)
 41369  	if err != nil {
 41370  		return nil, err
 41371  	}
 41372  	req.Header = reqHeaders
 41373  	googleapi.Expand(req.URL, map[string]string{
 41374  		"profileId": strconv.FormatInt(c.profileId, 10),
 41375  		"id":        strconv.FormatInt(c.id, 10),
 41376  	})
 41377  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41378  }
 41379  
 41380  // Do executes the "dfareporting.projects.get" call.
 41381  // Exactly one of *Project or error will be non-nil. Any non-2xx status
 41382  // code is an error. Response headers are in either
 41383  // *Project.ServerResponse.Header or (if a response was returned at all)
 41384  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 41385  // check whether the returned error was because http.StatusNotModified
 41386  // was returned.
 41387  func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
 41388  	gensupport.SetOptions(c.urlParams_, opts...)
 41389  	res, err := c.doRequest("json")
 41390  	if res != nil && res.StatusCode == http.StatusNotModified {
 41391  		if res.Body != nil {
 41392  			res.Body.Close()
 41393  		}
 41394  		return nil, &googleapi.Error{
 41395  			Code:   res.StatusCode,
 41396  			Header: res.Header,
 41397  		}
 41398  	}
 41399  	if err != nil {
 41400  		return nil, err
 41401  	}
 41402  	defer googleapi.CloseBody(res)
 41403  	if err := googleapi.CheckResponse(res); err != nil {
 41404  		return nil, err
 41405  	}
 41406  	ret := &Project{
 41407  		ServerResponse: googleapi.ServerResponse{
 41408  			Header:         res.Header,
 41409  			HTTPStatusCode: res.StatusCode,
 41410  		},
 41411  	}
 41412  	target := &ret
 41413  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41414  		return nil, err
 41415  	}
 41416  	return ret, nil
 41417  	// {
 41418  	//   "description": "Gets one project by ID.",
 41419  	//   "httpMethod": "GET",
 41420  	//   "id": "dfareporting.projects.get",
 41421  	//   "parameterOrder": [
 41422  	//     "profileId",
 41423  	//     "id"
 41424  	//   ],
 41425  	//   "parameters": {
 41426  	//     "id": {
 41427  	//       "description": "Project ID.",
 41428  	//       "format": "int64",
 41429  	//       "location": "path",
 41430  	//       "required": true,
 41431  	//       "type": "string"
 41432  	//     },
 41433  	//     "profileId": {
 41434  	//       "description": "User profile ID associated with this request.",
 41435  	//       "format": "int64",
 41436  	//       "location": "path",
 41437  	//       "required": true,
 41438  	//       "type": "string"
 41439  	//     }
 41440  	//   },
 41441  	//   "path": "userprofiles/{profileId}/projects/{id}",
 41442  	//   "response": {
 41443  	//     "$ref": "Project"
 41444  	//   },
 41445  	//   "scopes": [
 41446  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41447  	//   ]
 41448  	// }
 41449  
 41450  }
 41451  
 41452  // method id "dfareporting.projects.list":
 41453  
 41454  type ProjectsListCall struct {
 41455  	s            *Service
 41456  	profileId    int64
 41457  	urlParams_   gensupport.URLParams
 41458  	ifNoneMatch_ string
 41459  	ctx_         context.Context
 41460  	header_      http.Header
 41461  }
 41462  
 41463  // List: Retrieves a list of projects, possibly filtered. This method
 41464  // supports paging.
 41465  func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
 41466  	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41467  	c.profileId = profileId
 41468  	return c
 41469  }
 41470  
 41471  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 41472  // only projects with these advertiser IDs.
 41473  func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
 41474  	var advertiserIds_ []string
 41475  	for _, v := range advertiserIds {
 41476  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 41477  	}
 41478  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 41479  	return c
 41480  }
 41481  
 41482  // Ids sets the optional parameter "ids": Select only projects with
 41483  // these IDs.
 41484  func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
 41485  	var ids_ []string
 41486  	for _, v := range ids {
 41487  		ids_ = append(ids_, fmt.Sprint(v))
 41488  	}
 41489  	c.urlParams_.SetMulti("ids", ids_)
 41490  	return c
 41491  }
 41492  
 41493  // MaxResults sets the optional parameter "maxResults": Maximum number
 41494  // of results to return.
 41495  func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
 41496  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 41497  	return c
 41498  }
 41499  
 41500  // PageToken sets the optional parameter "pageToken": Value of the
 41501  // nextPageToken from the previous result page.
 41502  func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
 41503  	c.urlParams_.Set("pageToken", pageToken)
 41504  	return c
 41505  }
 41506  
 41507  // SearchString sets the optional parameter "searchString": Allows
 41508  // searching for projects by name or ID. Wildcards (*) are allowed. For
 41509  // example, "project*2015" will return projects with names like "project
 41510  // June 2015", "project April 2015", or simply "project 2015". Most of
 41511  // the searches also add wildcards implicitly at the start and the end
 41512  // of the search string. For example, a search string of "project" will
 41513  // match projects with name "my project", "project 2015", or simply
 41514  // "project".
 41515  func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
 41516  	c.urlParams_.Set("searchString", searchString)
 41517  	return c
 41518  }
 41519  
 41520  // SortField sets the optional parameter "sortField": Field by which to
 41521  // sort the list.
 41522  //
 41523  // Possible values:
 41524  //
 41525  //	"ID" (default)
 41526  //	"NAME"
 41527  func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
 41528  	c.urlParams_.Set("sortField", sortField)
 41529  	return c
 41530  }
 41531  
 41532  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 41533  // results.
 41534  //
 41535  // Possible values:
 41536  //
 41537  //	"ASCENDING" (default)
 41538  //	"DESCENDING"
 41539  func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
 41540  	c.urlParams_.Set("sortOrder", sortOrder)
 41541  	return c
 41542  }
 41543  
 41544  // Fields allows partial responses to be retrieved. See
 41545  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41546  // for more information.
 41547  func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
 41548  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41549  	return c
 41550  }
 41551  
 41552  // IfNoneMatch sets the optional parameter which makes the operation
 41553  // fail if the object's ETag matches the given value. This is useful for
 41554  // getting updates only after the object has changed since the last
 41555  // request. Use googleapi.IsNotModified to check whether the response
 41556  // error from Do is the result of In-None-Match.
 41557  func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
 41558  	c.ifNoneMatch_ = entityTag
 41559  	return c
 41560  }
 41561  
 41562  // Context sets the context to be used in this call's Do method. Any
 41563  // pending HTTP request will be aborted if the provided context is
 41564  // canceled.
 41565  func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 41566  	c.ctx_ = ctx
 41567  	return c
 41568  }
 41569  
 41570  // Header returns an http.Header that can be modified by the caller to
 41571  // add HTTP headers to the request.
 41572  func (c *ProjectsListCall) Header() http.Header {
 41573  	if c.header_ == nil {
 41574  		c.header_ = make(http.Header)
 41575  	}
 41576  	return c.header_
 41577  }
 41578  
 41579  func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 41580  	reqHeaders := make(http.Header)
 41581  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41582  	for k, v := range c.header_ {
 41583  		reqHeaders[k] = v
 41584  	}
 41585  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41586  	if c.ifNoneMatch_ != "" {
 41587  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41588  	}
 41589  	var body io.Reader = nil
 41590  	c.urlParams_.Set("alt", alt)
 41591  	c.urlParams_.Set("prettyPrint", "false")
 41592  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
 41593  	urls += "?" + c.urlParams_.Encode()
 41594  	req, err := http.NewRequest("GET", urls, body)
 41595  	if err != nil {
 41596  		return nil, err
 41597  	}
 41598  	req.Header = reqHeaders
 41599  	googleapi.Expand(req.URL, map[string]string{
 41600  		"profileId": strconv.FormatInt(c.profileId, 10),
 41601  	})
 41602  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41603  }
 41604  
 41605  // Do executes the "dfareporting.projects.list" call.
 41606  // Exactly one of *ProjectsListResponse or error will be non-nil. Any
 41607  // non-2xx status code is an error. Response headers are in either
 41608  // *ProjectsListResponse.ServerResponse.Header or (if a response was
 41609  // returned at all) in error.(*googleapi.Error).Header. Use
 41610  // googleapi.IsNotModified to check whether the returned error was
 41611  // because http.StatusNotModified was returned.
 41612  func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
 41613  	gensupport.SetOptions(c.urlParams_, opts...)
 41614  	res, err := c.doRequest("json")
 41615  	if res != nil && res.StatusCode == http.StatusNotModified {
 41616  		if res.Body != nil {
 41617  			res.Body.Close()
 41618  		}
 41619  		return nil, &googleapi.Error{
 41620  			Code:   res.StatusCode,
 41621  			Header: res.Header,
 41622  		}
 41623  	}
 41624  	if err != nil {
 41625  		return nil, err
 41626  	}
 41627  	defer googleapi.CloseBody(res)
 41628  	if err := googleapi.CheckResponse(res); err != nil {
 41629  		return nil, err
 41630  	}
 41631  	ret := &ProjectsListResponse{
 41632  		ServerResponse: googleapi.ServerResponse{
 41633  			Header:         res.Header,
 41634  			HTTPStatusCode: res.StatusCode,
 41635  		},
 41636  	}
 41637  	target := &ret
 41638  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41639  		return nil, err
 41640  	}
 41641  	return ret, nil
 41642  	// {
 41643  	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging.",
 41644  	//   "httpMethod": "GET",
 41645  	//   "id": "dfareporting.projects.list",
 41646  	//   "parameterOrder": [
 41647  	//     "profileId"
 41648  	//   ],
 41649  	//   "parameters": {
 41650  	//     "advertiserIds": {
 41651  	//       "description": "Select only projects with these advertiser IDs.",
 41652  	//       "format": "int64",
 41653  	//       "location": "query",
 41654  	//       "repeated": true,
 41655  	//       "type": "string"
 41656  	//     },
 41657  	//     "ids": {
 41658  	//       "description": "Select only projects with these IDs.",
 41659  	//       "format": "int64",
 41660  	//       "location": "query",
 41661  	//       "repeated": true,
 41662  	//       "type": "string"
 41663  	//     },
 41664  	//     "maxResults": {
 41665  	//       "default": "1000",
 41666  	//       "description": "Maximum number of results to return.",
 41667  	//       "format": "int32",
 41668  	//       "location": "query",
 41669  	//       "maximum": "1000",
 41670  	//       "minimum": "0",
 41671  	//       "type": "integer"
 41672  	//     },
 41673  	//     "pageToken": {
 41674  	//       "description": "Value of the nextPageToken from the previous result page.",
 41675  	//       "location": "query",
 41676  	//       "type": "string"
 41677  	//     },
 41678  	//     "profileId": {
 41679  	//       "description": "User profile ID associated with this request.",
 41680  	//       "format": "int64",
 41681  	//       "location": "path",
 41682  	//       "required": true,
 41683  	//       "type": "string"
 41684  	//     },
 41685  	//     "searchString": {
 41686  	//       "description": "Allows searching for projects by name or ID. Wildcards (*) are allowed. For example, \"project*2015\" will return projects with names like \"project June 2015\", \"project April 2015\", or simply \"project 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"project\" will match projects with name \"my project\", \"project 2015\", or simply \"project\".",
 41687  	//       "location": "query",
 41688  	//       "type": "string"
 41689  	//     },
 41690  	//     "sortField": {
 41691  	//       "default": "ID",
 41692  	//       "description": "Field by which to sort the list.",
 41693  	//       "enum": [
 41694  	//         "ID",
 41695  	//         "NAME"
 41696  	//       ],
 41697  	//       "enumDescriptions": [
 41698  	//         "",
 41699  	//         ""
 41700  	//       ],
 41701  	//       "location": "query",
 41702  	//       "type": "string"
 41703  	//     },
 41704  	//     "sortOrder": {
 41705  	//       "default": "ASCENDING",
 41706  	//       "description": "Order of sorted results.",
 41707  	//       "enum": [
 41708  	//         "ASCENDING",
 41709  	//         "DESCENDING"
 41710  	//       ],
 41711  	//       "enumDescriptions": [
 41712  	//         "",
 41713  	//         ""
 41714  	//       ],
 41715  	//       "location": "query",
 41716  	//       "type": "string"
 41717  	//     }
 41718  	//   },
 41719  	//   "path": "userprofiles/{profileId}/projects",
 41720  	//   "response": {
 41721  	//     "$ref": "ProjectsListResponse"
 41722  	//   },
 41723  	//   "scopes": [
 41724  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41725  	//   ]
 41726  	// }
 41727  
 41728  }
 41729  
 41730  // Pages invokes f for each page of results.
 41731  // A non-nil error returned from f will halt the iteration.
 41732  // The provided context supersedes any context provided to the Context method.
 41733  func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
 41734  	c.ctx_ = ctx
 41735  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 41736  	for {
 41737  		x, err := c.Do()
 41738  		if err != nil {
 41739  			return err
 41740  		}
 41741  		if err := f(x); err != nil {
 41742  			return err
 41743  		}
 41744  		if x.NextPageToken == "" {
 41745  			return nil
 41746  		}
 41747  		c.PageToken(x.NextPageToken)
 41748  	}
 41749  }
 41750  
 41751  // method id "dfareporting.regions.list":
 41752  
 41753  type RegionsListCall struct {
 41754  	s            *Service
 41755  	profileId    int64
 41756  	urlParams_   gensupport.URLParams
 41757  	ifNoneMatch_ string
 41758  	ctx_         context.Context
 41759  	header_      http.Header
 41760  }
 41761  
 41762  // List: Retrieves a list of regions.
 41763  func (r *RegionsService) List(profileId int64) *RegionsListCall {
 41764  	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41765  	c.profileId = profileId
 41766  	return c
 41767  }
 41768  
 41769  // Fields allows partial responses to be retrieved. See
 41770  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41771  // for more information.
 41772  func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
 41773  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41774  	return c
 41775  }
 41776  
 41777  // IfNoneMatch sets the optional parameter which makes the operation
 41778  // fail if the object's ETag matches the given value. This is useful for
 41779  // getting updates only after the object has changed since the last
 41780  // request. Use googleapi.IsNotModified to check whether the response
 41781  // error from Do is the result of In-None-Match.
 41782  func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
 41783  	c.ifNoneMatch_ = entityTag
 41784  	return c
 41785  }
 41786  
 41787  // Context sets the context to be used in this call's Do method. Any
 41788  // pending HTTP request will be aborted if the provided context is
 41789  // canceled.
 41790  func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 41791  	c.ctx_ = ctx
 41792  	return c
 41793  }
 41794  
 41795  // Header returns an http.Header that can be modified by the caller to
 41796  // add HTTP headers to the request.
 41797  func (c *RegionsListCall) Header() http.Header {
 41798  	if c.header_ == nil {
 41799  		c.header_ = make(http.Header)
 41800  	}
 41801  	return c.header_
 41802  }
 41803  
 41804  func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 41805  	reqHeaders := make(http.Header)
 41806  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41807  	for k, v := range c.header_ {
 41808  		reqHeaders[k] = v
 41809  	}
 41810  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41811  	if c.ifNoneMatch_ != "" {
 41812  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41813  	}
 41814  	var body io.Reader = nil
 41815  	c.urlParams_.Set("alt", alt)
 41816  	c.urlParams_.Set("prettyPrint", "false")
 41817  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
 41818  	urls += "?" + c.urlParams_.Encode()
 41819  	req, err := http.NewRequest("GET", urls, body)
 41820  	if err != nil {
 41821  		return nil, err
 41822  	}
 41823  	req.Header = reqHeaders
 41824  	googleapi.Expand(req.URL, map[string]string{
 41825  		"profileId": strconv.FormatInt(c.profileId, 10),
 41826  	})
 41827  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41828  }
 41829  
 41830  // Do executes the "dfareporting.regions.list" call.
 41831  // Exactly one of *RegionsListResponse or error will be non-nil. Any
 41832  // non-2xx status code is an error. Response headers are in either
 41833  // *RegionsListResponse.ServerResponse.Header or (if a response was
 41834  // returned at all) in error.(*googleapi.Error).Header. Use
 41835  // googleapi.IsNotModified to check whether the returned error was
 41836  // because http.StatusNotModified was returned.
 41837  func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
 41838  	gensupport.SetOptions(c.urlParams_, opts...)
 41839  	res, err := c.doRequest("json")
 41840  	if res != nil && res.StatusCode == http.StatusNotModified {
 41841  		if res.Body != nil {
 41842  			res.Body.Close()
 41843  		}
 41844  		return nil, &googleapi.Error{
 41845  			Code:   res.StatusCode,
 41846  			Header: res.Header,
 41847  		}
 41848  	}
 41849  	if err != nil {
 41850  		return nil, err
 41851  	}
 41852  	defer googleapi.CloseBody(res)
 41853  	if err := googleapi.CheckResponse(res); err != nil {
 41854  		return nil, err
 41855  	}
 41856  	ret := &RegionsListResponse{
 41857  		ServerResponse: googleapi.ServerResponse{
 41858  			Header:         res.Header,
 41859  			HTTPStatusCode: res.StatusCode,
 41860  		},
 41861  	}
 41862  	target := &ret
 41863  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41864  		return nil, err
 41865  	}
 41866  	return ret, nil
 41867  	// {
 41868  	//   "description": "Retrieves a list of regions.",
 41869  	//   "httpMethod": "GET",
 41870  	//   "id": "dfareporting.regions.list",
 41871  	//   "parameterOrder": [
 41872  	//     "profileId"
 41873  	//   ],
 41874  	//   "parameters": {
 41875  	//     "profileId": {
 41876  	//       "description": "User profile ID associated with this request.",
 41877  	//       "format": "int64",
 41878  	//       "location": "path",
 41879  	//       "required": true,
 41880  	//       "type": "string"
 41881  	//     }
 41882  	//   },
 41883  	//   "path": "userprofiles/{profileId}/regions",
 41884  	//   "response": {
 41885  	//     "$ref": "RegionsListResponse"
 41886  	//   },
 41887  	//   "scopes": [
 41888  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41889  	//   ]
 41890  	// }
 41891  
 41892  }
 41893  
 41894  // method id "dfareporting.remarketingListShares.get":
 41895  
 41896  type RemarketingListSharesGetCall struct {
 41897  	s                 *Service
 41898  	profileId         int64
 41899  	remarketingListId int64
 41900  	urlParams_        gensupport.URLParams
 41901  	ifNoneMatch_      string
 41902  	ctx_              context.Context
 41903  	header_           http.Header
 41904  }
 41905  
 41906  // Get: Gets one remarketing list share by remarketing list ID.
 41907  func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
 41908  	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41909  	c.profileId = profileId
 41910  	c.remarketingListId = remarketingListId
 41911  	return c
 41912  }
 41913  
 41914  // Fields allows partial responses to be retrieved. See
 41915  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41916  // for more information.
 41917  func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
 41918  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41919  	return c
 41920  }
 41921  
 41922  // IfNoneMatch sets the optional parameter which makes the operation
 41923  // fail if the object's ETag matches the given value. This is useful for
 41924  // getting updates only after the object has changed since the last
 41925  // request. Use googleapi.IsNotModified to check whether the response
 41926  // error from Do is the result of In-None-Match.
 41927  func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
 41928  	c.ifNoneMatch_ = entityTag
 41929  	return c
 41930  }
 41931  
 41932  // Context sets the context to be used in this call's Do method. Any
 41933  // pending HTTP request will be aborted if the provided context is
 41934  // canceled.
 41935  func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
 41936  	c.ctx_ = ctx
 41937  	return c
 41938  }
 41939  
 41940  // Header returns an http.Header that can be modified by the caller to
 41941  // add HTTP headers to the request.
 41942  func (c *RemarketingListSharesGetCall) Header() http.Header {
 41943  	if c.header_ == nil {
 41944  		c.header_ = make(http.Header)
 41945  	}
 41946  	return c.header_
 41947  }
 41948  
 41949  func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
 41950  	reqHeaders := make(http.Header)
 41951  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41952  	for k, v := range c.header_ {
 41953  		reqHeaders[k] = v
 41954  	}
 41955  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41956  	if c.ifNoneMatch_ != "" {
 41957  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41958  	}
 41959  	var body io.Reader = nil
 41960  	c.urlParams_.Set("alt", alt)
 41961  	c.urlParams_.Set("prettyPrint", "false")
 41962  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
 41963  	urls += "?" + c.urlParams_.Encode()
 41964  	req, err := http.NewRequest("GET", urls, body)
 41965  	if err != nil {
 41966  		return nil, err
 41967  	}
 41968  	req.Header = reqHeaders
 41969  	googleapi.Expand(req.URL, map[string]string{
 41970  		"profileId":         strconv.FormatInt(c.profileId, 10),
 41971  		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
 41972  	})
 41973  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41974  }
 41975  
 41976  // Do executes the "dfareporting.remarketingListShares.get" call.
 41977  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 41978  // non-2xx status code is an error. Response headers are in either
 41979  // *RemarketingListShare.ServerResponse.Header or (if a response was
 41980  // returned at all) in error.(*googleapi.Error).Header. Use
 41981  // googleapi.IsNotModified to check whether the returned error was
 41982  // because http.StatusNotModified was returned.
 41983  func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 41984  	gensupport.SetOptions(c.urlParams_, opts...)
 41985  	res, err := c.doRequest("json")
 41986  	if res != nil && res.StatusCode == http.StatusNotModified {
 41987  		if res.Body != nil {
 41988  			res.Body.Close()
 41989  		}
 41990  		return nil, &googleapi.Error{
 41991  			Code:   res.StatusCode,
 41992  			Header: res.Header,
 41993  		}
 41994  	}
 41995  	if err != nil {
 41996  		return nil, err
 41997  	}
 41998  	defer googleapi.CloseBody(res)
 41999  	if err := googleapi.CheckResponse(res); err != nil {
 42000  		return nil, err
 42001  	}
 42002  	ret := &RemarketingListShare{
 42003  		ServerResponse: googleapi.ServerResponse{
 42004  			Header:         res.Header,
 42005  			HTTPStatusCode: res.StatusCode,
 42006  		},
 42007  	}
 42008  	target := &ret
 42009  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42010  		return nil, err
 42011  	}
 42012  	return ret, nil
 42013  	// {
 42014  	//   "description": "Gets one remarketing list share by remarketing list ID.",
 42015  	//   "httpMethod": "GET",
 42016  	//   "id": "dfareporting.remarketingListShares.get",
 42017  	//   "parameterOrder": [
 42018  	//     "profileId",
 42019  	//     "remarketingListId"
 42020  	//   ],
 42021  	//   "parameters": {
 42022  	//     "profileId": {
 42023  	//       "description": "User profile ID associated with this request.",
 42024  	//       "format": "int64",
 42025  	//       "location": "path",
 42026  	//       "required": true,
 42027  	//       "type": "string"
 42028  	//     },
 42029  	//     "remarketingListId": {
 42030  	//       "description": "Remarketing list ID.",
 42031  	//       "format": "int64",
 42032  	//       "location": "path",
 42033  	//       "required": true,
 42034  	//       "type": "string"
 42035  	//     }
 42036  	//   },
 42037  	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
 42038  	//   "response": {
 42039  	//     "$ref": "RemarketingListShare"
 42040  	//   },
 42041  	//   "scopes": [
 42042  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42043  	//   ]
 42044  	// }
 42045  
 42046  }
 42047  
 42048  // method id "dfareporting.remarketingListShares.patch":
 42049  
 42050  type RemarketingListSharesPatchCall struct {
 42051  	s                    *Service
 42052  	profileId            int64
 42053  	remarketinglistshare *RemarketingListShare
 42054  	urlParams_           gensupport.URLParams
 42055  	ctx_                 context.Context
 42056  	header_              http.Header
 42057  }
 42058  
 42059  // Patch: Updates an existing remarketing list share. This method
 42060  // supports patch semantics.
 42061  func (r *RemarketingListSharesService) Patch(profileId int64, remarketingListId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
 42062  	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42063  	c.profileId = profileId
 42064  	c.urlParams_.Set("remarketingListId", fmt.Sprint(remarketingListId))
 42065  	c.remarketinglistshare = remarketinglistshare
 42066  	return c
 42067  }
 42068  
 42069  // Fields allows partial responses to be retrieved. See
 42070  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42071  // for more information.
 42072  func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
 42073  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42074  	return c
 42075  }
 42076  
 42077  // Context sets the context to be used in this call's Do method. Any
 42078  // pending HTTP request will be aborted if the provided context is
 42079  // canceled.
 42080  func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
 42081  	c.ctx_ = ctx
 42082  	return c
 42083  }
 42084  
 42085  // Header returns an http.Header that can be modified by the caller to
 42086  // add HTTP headers to the request.
 42087  func (c *RemarketingListSharesPatchCall) Header() http.Header {
 42088  	if c.header_ == nil {
 42089  		c.header_ = make(http.Header)
 42090  	}
 42091  	return c.header_
 42092  }
 42093  
 42094  func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
 42095  	reqHeaders := make(http.Header)
 42096  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42097  	for k, v := range c.header_ {
 42098  		reqHeaders[k] = v
 42099  	}
 42100  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42101  	var body io.Reader = nil
 42102  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 42103  	if err != nil {
 42104  		return nil, err
 42105  	}
 42106  	reqHeaders.Set("Content-Type", "application/json")
 42107  	c.urlParams_.Set("alt", alt)
 42108  	c.urlParams_.Set("prettyPrint", "false")
 42109  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 42110  	urls += "?" + c.urlParams_.Encode()
 42111  	req, err := http.NewRequest("PATCH", urls, body)
 42112  	if err != nil {
 42113  		return nil, err
 42114  	}
 42115  	req.Header = reqHeaders
 42116  	googleapi.Expand(req.URL, map[string]string{
 42117  		"profileId": strconv.FormatInt(c.profileId, 10),
 42118  	})
 42119  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42120  }
 42121  
 42122  // Do executes the "dfareporting.remarketingListShares.patch" call.
 42123  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 42124  // non-2xx status code is an error. Response headers are in either
 42125  // *RemarketingListShare.ServerResponse.Header or (if a response was
 42126  // returned at all) in error.(*googleapi.Error).Header. Use
 42127  // googleapi.IsNotModified to check whether the returned error was
 42128  // because http.StatusNotModified was returned.
 42129  func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 42130  	gensupport.SetOptions(c.urlParams_, opts...)
 42131  	res, err := c.doRequest("json")
 42132  	if res != nil && res.StatusCode == http.StatusNotModified {
 42133  		if res.Body != nil {
 42134  			res.Body.Close()
 42135  		}
 42136  		return nil, &googleapi.Error{
 42137  			Code:   res.StatusCode,
 42138  			Header: res.Header,
 42139  		}
 42140  	}
 42141  	if err != nil {
 42142  		return nil, err
 42143  	}
 42144  	defer googleapi.CloseBody(res)
 42145  	if err := googleapi.CheckResponse(res); err != nil {
 42146  		return nil, err
 42147  	}
 42148  	ret := &RemarketingListShare{
 42149  		ServerResponse: googleapi.ServerResponse{
 42150  			Header:         res.Header,
 42151  			HTTPStatusCode: res.StatusCode,
 42152  		},
 42153  	}
 42154  	target := &ret
 42155  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42156  		return nil, err
 42157  	}
 42158  	return ret, nil
 42159  	// {
 42160  	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
 42161  	//   "httpMethod": "PATCH",
 42162  	//   "id": "dfareporting.remarketingListShares.patch",
 42163  	//   "parameterOrder": [
 42164  	//     "profileId",
 42165  	//     "remarketingListId"
 42166  	//   ],
 42167  	//   "parameters": {
 42168  	//     "profileId": {
 42169  	//       "description": "User profile ID associated with this request.",
 42170  	//       "format": "int64",
 42171  	//       "location": "path",
 42172  	//       "required": true,
 42173  	//       "type": "string"
 42174  	//     },
 42175  	//     "remarketingListId": {
 42176  	//       "description": "Remarketing list ID.",
 42177  	//       "format": "int64",
 42178  	//       "location": "query",
 42179  	//       "required": true,
 42180  	//       "type": "string"
 42181  	//     }
 42182  	//   },
 42183  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 42184  	//   "request": {
 42185  	//     "$ref": "RemarketingListShare"
 42186  	//   },
 42187  	//   "response": {
 42188  	//     "$ref": "RemarketingListShare"
 42189  	//   },
 42190  	//   "scopes": [
 42191  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42192  	//   ]
 42193  	// }
 42194  
 42195  }
 42196  
 42197  // method id "dfareporting.remarketingListShares.update":
 42198  
 42199  type RemarketingListSharesUpdateCall struct {
 42200  	s                    *Service
 42201  	profileId            int64
 42202  	remarketinglistshare *RemarketingListShare
 42203  	urlParams_           gensupport.URLParams
 42204  	ctx_                 context.Context
 42205  	header_              http.Header
 42206  }
 42207  
 42208  // Update: Updates an existing remarketing list share.
 42209  func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
 42210  	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42211  	c.profileId = profileId
 42212  	c.remarketinglistshare = remarketinglistshare
 42213  	return c
 42214  }
 42215  
 42216  // Fields allows partial responses to be retrieved. See
 42217  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42218  // for more information.
 42219  func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
 42220  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42221  	return c
 42222  }
 42223  
 42224  // Context sets the context to be used in this call's Do method. Any
 42225  // pending HTTP request will be aborted if the provided context is
 42226  // canceled.
 42227  func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
 42228  	c.ctx_ = ctx
 42229  	return c
 42230  }
 42231  
 42232  // Header returns an http.Header that can be modified by the caller to
 42233  // add HTTP headers to the request.
 42234  func (c *RemarketingListSharesUpdateCall) Header() http.Header {
 42235  	if c.header_ == nil {
 42236  		c.header_ = make(http.Header)
 42237  	}
 42238  	return c.header_
 42239  }
 42240  
 42241  func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
 42242  	reqHeaders := make(http.Header)
 42243  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42244  	for k, v := range c.header_ {
 42245  		reqHeaders[k] = v
 42246  	}
 42247  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42248  	var body io.Reader = nil
 42249  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 42250  	if err != nil {
 42251  		return nil, err
 42252  	}
 42253  	reqHeaders.Set("Content-Type", "application/json")
 42254  	c.urlParams_.Set("alt", alt)
 42255  	c.urlParams_.Set("prettyPrint", "false")
 42256  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 42257  	urls += "?" + c.urlParams_.Encode()
 42258  	req, err := http.NewRequest("PUT", urls, body)
 42259  	if err != nil {
 42260  		return nil, err
 42261  	}
 42262  	req.Header = reqHeaders
 42263  	googleapi.Expand(req.URL, map[string]string{
 42264  		"profileId": strconv.FormatInt(c.profileId, 10),
 42265  	})
 42266  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42267  }
 42268  
 42269  // Do executes the "dfareporting.remarketingListShares.update" call.
 42270  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 42271  // non-2xx status code is an error. Response headers are in either
 42272  // *RemarketingListShare.ServerResponse.Header or (if a response was
 42273  // returned at all) in error.(*googleapi.Error).Header. Use
 42274  // googleapi.IsNotModified to check whether the returned error was
 42275  // because http.StatusNotModified was returned.
 42276  func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 42277  	gensupport.SetOptions(c.urlParams_, opts...)
 42278  	res, err := c.doRequest("json")
 42279  	if res != nil && res.StatusCode == http.StatusNotModified {
 42280  		if res.Body != nil {
 42281  			res.Body.Close()
 42282  		}
 42283  		return nil, &googleapi.Error{
 42284  			Code:   res.StatusCode,
 42285  			Header: res.Header,
 42286  		}
 42287  	}
 42288  	if err != nil {
 42289  		return nil, err
 42290  	}
 42291  	defer googleapi.CloseBody(res)
 42292  	if err := googleapi.CheckResponse(res); err != nil {
 42293  		return nil, err
 42294  	}
 42295  	ret := &RemarketingListShare{
 42296  		ServerResponse: googleapi.ServerResponse{
 42297  			Header:         res.Header,
 42298  			HTTPStatusCode: res.StatusCode,
 42299  		},
 42300  	}
 42301  	target := &ret
 42302  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42303  		return nil, err
 42304  	}
 42305  	return ret, nil
 42306  	// {
 42307  	//   "description": "Updates an existing remarketing list share.",
 42308  	//   "httpMethod": "PUT",
 42309  	//   "id": "dfareporting.remarketingListShares.update",
 42310  	//   "parameterOrder": [
 42311  	//     "profileId"
 42312  	//   ],
 42313  	//   "parameters": {
 42314  	//     "profileId": {
 42315  	//       "description": "User profile ID associated with this request.",
 42316  	//       "format": "int64",
 42317  	//       "location": "path",
 42318  	//       "required": true,
 42319  	//       "type": "string"
 42320  	//     }
 42321  	//   },
 42322  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 42323  	//   "request": {
 42324  	//     "$ref": "RemarketingListShare"
 42325  	//   },
 42326  	//   "response": {
 42327  	//     "$ref": "RemarketingListShare"
 42328  	//   },
 42329  	//   "scopes": [
 42330  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42331  	//   ]
 42332  	// }
 42333  
 42334  }
 42335  
 42336  // method id "dfareporting.remarketingLists.get":
 42337  
 42338  type RemarketingListsGetCall struct {
 42339  	s            *Service
 42340  	profileId    int64
 42341  	id           int64
 42342  	urlParams_   gensupport.URLParams
 42343  	ifNoneMatch_ string
 42344  	ctx_         context.Context
 42345  	header_      http.Header
 42346  }
 42347  
 42348  // Get: Gets one remarketing list by ID.
 42349  func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
 42350  	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42351  	c.profileId = profileId
 42352  	c.id = id
 42353  	return c
 42354  }
 42355  
 42356  // Fields allows partial responses to be retrieved. See
 42357  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42358  // for more information.
 42359  func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
 42360  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42361  	return c
 42362  }
 42363  
 42364  // IfNoneMatch sets the optional parameter which makes the operation
 42365  // fail if the object's ETag matches the given value. This is useful for
 42366  // getting updates only after the object has changed since the last
 42367  // request. Use googleapi.IsNotModified to check whether the response
 42368  // error from Do is the result of In-None-Match.
 42369  func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
 42370  	c.ifNoneMatch_ = entityTag
 42371  	return c
 42372  }
 42373  
 42374  // Context sets the context to be used in this call's Do method. Any
 42375  // pending HTTP request will be aborted if the provided context is
 42376  // canceled.
 42377  func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
 42378  	c.ctx_ = ctx
 42379  	return c
 42380  }
 42381  
 42382  // Header returns an http.Header that can be modified by the caller to
 42383  // add HTTP headers to the request.
 42384  func (c *RemarketingListsGetCall) Header() http.Header {
 42385  	if c.header_ == nil {
 42386  		c.header_ = make(http.Header)
 42387  	}
 42388  	return c.header_
 42389  }
 42390  
 42391  func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 42392  	reqHeaders := make(http.Header)
 42393  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42394  	for k, v := range c.header_ {
 42395  		reqHeaders[k] = v
 42396  	}
 42397  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42398  	if c.ifNoneMatch_ != "" {
 42399  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42400  	}
 42401  	var body io.Reader = nil
 42402  	c.urlParams_.Set("alt", alt)
 42403  	c.urlParams_.Set("prettyPrint", "false")
 42404  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
 42405  	urls += "?" + c.urlParams_.Encode()
 42406  	req, err := http.NewRequest("GET", urls, body)
 42407  	if err != nil {
 42408  		return nil, err
 42409  	}
 42410  	req.Header = reqHeaders
 42411  	googleapi.Expand(req.URL, map[string]string{
 42412  		"profileId": strconv.FormatInt(c.profileId, 10),
 42413  		"id":        strconv.FormatInt(c.id, 10),
 42414  	})
 42415  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42416  }
 42417  
 42418  // Do executes the "dfareporting.remarketingLists.get" call.
 42419  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 42420  // status code is an error. Response headers are in either
 42421  // *RemarketingList.ServerResponse.Header or (if a response was returned
 42422  // at all) in error.(*googleapi.Error).Header. Use
 42423  // googleapi.IsNotModified to check whether the returned error was
 42424  // because http.StatusNotModified was returned.
 42425  func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 42426  	gensupport.SetOptions(c.urlParams_, opts...)
 42427  	res, err := c.doRequest("json")
 42428  	if res != nil && res.StatusCode == http.StatusNotModified {
 42429  		if res.Body != nil {
 42430  			res.Body.Close()
 42431  		}
 42432  		return nil, &googleapi.Error{
 42433  			Code:   res.StatusCode,
 42434  			Header: res.Header,
 42435  		}
 42436  	}
 42437  	if err != nil {
 42438  		return nil, err
 42439  	}
 42440  	defer googleapi.CloseBody(res)
 42441  	if err := googleapi.CheckResponse(res); err != nil {
 42442  		return nil, err
 42443  	}
 42444  	ret := &RemarketingList{
 42445  		ServerResponse: googleapi.ServerResponse{
 42446  			Header:         res.Header,
 42447  			HTTPStatusCode: res.StatusCode,
 42448  		},
 42449  	}
 42450  	target := &ret
 42451  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42452  		return nil, err
 42453  	}
 42454  	return ret, nil
 42455  	// {
 42456  	//   "description": "Gets one remarketing list by ID.",
 42457  	//   "httpMethod": "GET",
 42458  	//   "id": "dfareporting.remarketingLists.get",
 42459  	//   "parameterOrder": [
 42460  	//     "profileId",
 42461  	//     "id"
 42462  	//   ],
 42463  	//   "parameters": {
 42464  	//     "id": {
 42465  	//       "description": "Remarketing list ID.",
 42466  	//       "format": "int64",
 42467  	//       "location": "path",
 42468  	//       "required": true,
 42469  	//       "type": "string"
 42470  	//     },
 42471  	//     "profileId": {
 42472  	//       "description": "User profile ID associated with this request.",
 42473  	//       "format": "int64",
 42474  	//       "location": "path",
 42475  	//       "required": true,
 42476  	//       "type": "string"
 42477  	//     }
 42478  	//   },
 42479  	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
 42480  	//   "response": {
 42481  	//     "$ref": "RemarketingList"
 42482  	//   },
 42483  	//   "scopes": [
 42484  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42485  	//   ]
 42486  	// }
 42487  
 42488  }
 42489  
 42490  // method id "dfareporting.remarketingLists.insert":
 42491  
 42492  type RemarketingListsInsertCall struct {
 42493  	s               *Service
 42494  	profileId       int64
 42495  	remarketinglist *RemarketingList
 42496  	urlParams_      gensupport.URLParams
 42497  	ctx_            context.Context
 42498  	header_         http.Header
 42499  }
 42500  
 42501  // Insert: Inserts a new remarketing list.
 42502  func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
 42503  	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42504  	c.profileId = profileId
 42505  	c.remarketinglist = remarketinglist
 42506  	return c
 42507  }
 42508  
 42509  // Fields allows partial responses to be retrieved. See
 42510  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42511  // for more information.
 42512  func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
 42513  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42514  	return c
 42515  }
 42516  
 42517  // Context sets the context to be used in this call's Do method. Any
 42518  // pending HTTP request will be aborted if the provided context is
 42519  // canceled.
 42520  func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
 42521  	c.ctx_ = ctx
 42522  	return c
 42523  }
 42524  
 42525  // Header returns an http.Header that can be modified by the caller to
 42526  // add HTTP headers to the request.
 42527  func (c *RemarketingListsInsertCall) Header() http.Header {
 42528  	if c.header_ == nil {
 42529  		c.header_ = make(http.Header)
 42530  	}
 42531  	return c.header_
 42532  }
 42533  
 42534  func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
 42535  	reqHeaders := make(http.Header)
 42536  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42537  	for k, v := range c.header_ {
 42538  		reqHeaders[k] = v
 42539  	}
 42540  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42541  	var body io.Reader = nil
 42542  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 42543  	if err != nil {
 42544  		return nil, err
 42545  	}
 42546  	reqHeaders.Set("Content-Type", "application/json")
 42547  	c.urlParams_.Set("alt", alt)
 42548  	c.urlParams_.Set("prettyPrint", "false")
 42549  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 42550  	urls += "?" + c.urlParams_.Encode()
 42551  	req, err := http.NewRequest("POST", urls, body)
 42552  	if err != nil {
 42553  		return nil, err
 42554  	}
 42555  	req.Header = reqHeaders
 42556  	googleapi.Expand(req.URL, map[string]string{
 42557  		"profileId": strconv.FormatInt(c.profileId, 10),
 42558  	})
 42559  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42560  }
 42561  
 42562  // Do executes the "dfareporting.remarketingLists.insert" call.
 42563  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 42564  // status code is an error. Response headers are in either
 42565  // *RemarketingList.ServerResponse.Header or (if a response was returned
 42566  // at all) in error.(*googleapi.Error).Header. Use
 42567  // googleapi.IsNotModified to check whether the returned error was
 42568  // because http.StatusNotModified was returned.
 42569  func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 42570  	gensupport.SetOptions(c.urlParams_, opts...)
 42571  	res, err := c.doRequest("json")
 42572  	if res != nil && res.StatusCode == http.StatusNotModified {
 42573  		if res.Body != nil {
 42574  			res.Body.Close()
 42575  		}
 42576  		return nil, &googleapi.Error{
 42577  			Code:   res.StatusCode,
 42578  			Header: res.Header,
 42579  		}
 42580  	}
 42581  	if err != nil {
 42582  		return nil, err
 42583  	}
 42584  	defer googleapi.CloseBody(res)
 42585  	if err := googleapi.CheckResponse(res); err != nil {
 42586  		return nil, err
 42587  	}
 42588  	ret := &RemarketingList{
 42589  		ServerResponse: googleapi.ServerResponse{
 42590  			Header:         res.Header,
 42591  			HTTPStatusCode: res.StatusCode,
 42592  		},
 42593  	}
 42594  	target := &ret
 42595  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42596  		return nil, err
 42597  	}
 42598  	return ret, nil
 42599  	// {
 42600  	//   "description": "Inserts a new remarketing list.",
 42601  	//   "httpMethod": "POST",
 42602  	//   "id": "dfareporting.remarketingLists.insert",
 42603  	//   "parameterOrder": [
 42604  	//     "profileId"
 42605  	//   ],
 42606  	//   "parameters": {
 42607  	//     "profileId": {
 42608  	//       "description": "User profile ID associated with this request.",
 42609  	//       "format": "int64",
 42610  	//       "location": "path",
 42611  	//       "required": true,
 42612  	//       "type": "string"
 42613  	//     }
 42614  	//   },
 42615  	//   "path": "userprofiles/{profileId}/remarketingLists",
 42616  	//   "request": {
 42617  	//     "$ref": "RemarketingList"
 42618  	//   },
 42619  	//   "response": {
 42620  	//     "$ref": "RemarketingList"
 42621  	//   },
 42622  	//   "scopes": [
 42623  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42624  	//   ]
 42625  	// }
 42626  
 42627  }
 42628  
 42629  // method id "dfareporting.remarketingLists.list":
 42630  
 42631  type RemarketingListsListCall struct {
 42632  	s            *Service
 42633  	profileId    int64
 42634  	urlParams_   gensupport.URLParams
 42635  	ifNoneMatch_ string
 42636  	ctx_         context.Context
 42637  	header_      http.Header
 42638  }
 42639  
 42640  // List: Retrieves a list of remarketing lists, possibly filtered. This
 42641  // method supports paging.
 42642  func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
 42643  	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42644  	c.profileId = profileId
 42645  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 42646  	return c
 42647  }
 42648  
 42649  // Active sets the optional parameter "active": Select only active or
 42650  // only inactive remarketing lists.
 42651  func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
 42652  	c.urlParams_.Set("active", fmt.Sprint(active))
 42653  	return c
 42654  }
 42655  
 42656  // FloodlightActivityId sets the optional parameter
 42657  // "floodlightActivityId": Select only remarketing lists that have this
 42658  // floodlight activity ID.
 42659  func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
 42660  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 42661  	return c
 42662  }
 42663  
 42664  // MaxResults sets the optional parameter "maxResults": Maximum number
 42665  // of results to return.
 42666  func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
 42667  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 42668  	return c
 42669  }
 42670  
 42671  // Name sets the optional parameter "name": Allows searching for objects
 42672  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 42673  // list*2015" will return objects with names like "remarketing list June
 42674  // 2015", "remarketing list April 2015", or simply "remarketing list
 42675  // 2015". Most of the searches also add wildcards implicitly at the
 42676  // start and the end of the search string. For example, a search string
 42677  // of "remarketing list" will match objects with name "my remarketing
 42678  // list", "remarketing list 2015", or simply "remarketing list".
 42679  func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
 42680  	c.urlParams_.Set("name", name)
 42681  	return c
 42682  }
 42683  
 42684  // PageToken sets the optional parameter "pageToken": Value of the
 42685  // nextPageToken from the previous result page.
 42686  func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
 42687  	c.urlParams_.Set("pageToken", pageToken)
 42688  	return c
 42689  }
 42690  
 42691  // SortField sets the optional parameter "sortField": Field by which to
 42692  // sort the list.
 42693  //
 42694  // Possible values:
 42695  //
 42696  //	"ID" (default)
 42697  //	"NAME"
 42698  func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
 42699  	c.urlParams_.Set("sortField", sortField)
 42700  	return c
 42701  }
 42702  
 42703  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 42704  // results.
 42705  //
 42706  // Possible values:
 42707  //
 42708  //	"ASCENDING" (default)
 42709  //	"DESCENDING"
 42710  func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
 42711  	c.urlParams_.Set("sortOrder", sortOrder)
 42712  	return c
 42713  }
 42714  
 42715  // Fields allows partial responses to be retrieved. See
 42716  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42717  // for more information.
 42718  func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
 42719  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42720  	return c
 42721  }
 42722  
 42723  // IfNoneMatch sets the optional parameter which makes the operation
 42724  // fail if the object's ETag matches the given value. This is useful for
 42725  // getting updates only after the object has changed since the last
 42726  // request. Use googleapi.IsNotModified to check whether the response
 42727  // error from Do is the result of In-None-Match.
 42728  func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
 42729  	c.ifNoneMatch_ = entityTag
 42730  	return c
 42731  }
 42732  
 42733  // Context sets the context to be used in this call's Do method. Any
 42734  // pending HTTP request will be aborted if the provided context is
 42735  // canceled.
 42736  func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
 42737  	c.ctx_ = ctx
 42738  	return c
 42739  }
 42740  
 42741  // Header returns an http.Header that can be modified by the caller to
 42742  // add HTTP headers to the request.
 42743  func (c *RemarketingListsListCall) Header() http.Header {
 42744  	if c.header_ == nil {
 42745  		c.header_ = make(http.Header)
 42746  	}
 42747  	return c.header_
 42748  }
 42749  
 42750  func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 42751  	reqHeaders := make(http.Header)
 42752  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42753  	for k, v := range c.header_ {
 42754  		reqHeaders[k] = v
 42755  	}
 42756  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42757  	if c.ifNoneMatch_ != "" {
 42758  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42759  	}
 42760  	var body io.Reader = nil
 42761  	c.urlParams_.Set("alt", alt)
 42762  	c.urlParams_.Set("prettyPrint", "false")
 42763  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 42764  	urls += "?" + c.urlParams_.Encode()
 42765  	req, err := http.NewRequest("GET", urls, body)
 42766  	if err != nil {
 42767  		return nil, err
 42768  	}
 42769  	req.Header = reqHeaders
 42770  	googleapi.Expand(req.URL, map[string]string{
 42771  		"profileId": strconv.FormatInt(c.profileId, 10),
 42772  	})
 42773  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42774  }
 42775  
 42776  // Do executes the "dfareporting.remarketingLists.list" call.
 42777  // Exactly one of *RemarketingListsListResponse or error will be
 42778  // non-nil. Any non-2xx status code is an error. Response headers are in
 42779  // either *RemarketingListsListResponse.ServerResponse.Header or (if a
 42780  // response was returned at all) in error.(*googleapi.Error).Header. Use
 42781  // googleapi.IsNotModified to check whether the returned error was
 42782  // because http.StatusNotModified was returned.
 42783  func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
 42784  	gensupport.SetOptions(c.urlParams_, opts...)
 42785  	res, err := c.doRequest("json")
 42786  	if res != nil && res.StatusCode == http.StatusNotModified {
 42787  		if res.Body != nil {
 42788  			res.Body.Close()
 42789  		}
 42790  		return nil, &googleapi.Error{
 42791  			Code:   res.StatusCode,
 42792  			Header: res.Header,
 42793  		}
 42794  	}
 42795  	if err != nil {
 42796  		return nil, err
 42797  	}
 42798  	defer googleapi.CloseBody(res)
 42799  	if err := googleapi.CheckResponse(res); err != nil {
 42800  		return nil, err
 42801  	}
 42802  	ret := &RemarketingListsListResponse{
 42803  		ServerResponse: googleapi.ServerResponse{
 42804  			Header:         res.Header,
 42805  			HTTPStatusCode: res.StatusCode,
 42806  		},
 42807  	}
 42808  	target := &ret
 42809  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42810  		return nil, err
 42811  	}
 42812  	return ret, nil
 42813  	// {
 42814  	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
 42815  	//   "httpMethod": "GET",
 42816  	//   "id": "dfareporting.remarketingLists.list",
 42817  	//   "parameterOrder": [
 42818  	//     "profileId",
 42819  	//     "advertiserId"
 42820  	//   ],
 42821  	//   "parameters": {
 42822  	//     "active": {
 42823  	//       "description": "Select only active or only inactive remarketing lists.",
 42824  	//       "location": "query",
 42825  	//       "type": "boolean"
 42826  	//     },
 42827  	//     "advertiserId": {
 42828  	//       "description": "Select only remarketing lists owned by this advertiser.",
 42829  	//       "format": "int64",
 42830  	//       "location": "query",
 42831  	//       "required": true,
 42832  	//       "type": "string"
 42833  	//     },
 42834  	//     "floodlightActivityId": {
 42835  	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
 42836  	//       "format": "int64",
 42837  	//       "location": "query",
 42838  	//       "type": "string"
 42839  	//     },
 42840  	//     "maxResults": {
 42841  	//       "default": "1000",
 42842  	//       "description": "Maximum number of results to return.",
 42843  	//       "format": "int32",
 42844  	//       "location": "query",
 42845  	//       "maximum": "1000",
 42846  	//       "minimum": "0",
 42847  	//       "type": "integer"
 42848  	//     },
 42849  	//     "name": {
 42850  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"remarketing list*2015\" will return objects with names like \"remarketing list June 2015\", \"remarketing list April 2015\", or simply \"remarketing list 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"remarketing list\" will match objects with name \"my remarketing list\", \"remarketing list 2015\", or simply \"remarketing list\".",
 42851  	//       "location": "query",
 42852  	//       "type": "string"
 42853  	//     },
 42854  	//     "pageToken": {
 42855  	//       "description": "Value of the nextPageToken from the previous result page.",
 42856  	//       "location": "query",
 42857  	//       "type": "string"
 42858  	//     },
 42859  	//     "profileId": {
 42860  	//       "description": "User profile ID associated with this request.",
 42861  	//       "format": "int64",
 42862  	//       "location": "path",
 42863  	//       "required": true,
 42864  	//       "type": "string"
 42865  	//     },
 42866  	//     "sortField": {
 42867  	//       "default": "ID",
 42868  	//       "description": "Field by which to sort the list.",
 42869  	//       "enum": [
 42870  	//         "ID",
 42871  	//         "NAME"
 42872  	//       ],
 42873  	//       "enumDescriptions": [
 42874  	//         "",
 42875  	//         ""
 42876  	//       ],
 42877  	//       "location": "query",
 42878  	//       "type": "string"
 42879  	//     },
 42880  	//     "sortOrder": {
 42881  	//       "default": "ASCENDING",
 42882  	//       "description": "Order of sorted results.",
 42883  	//       "enum": [
 42884  	//         "ASCENDING",
 42885  	//         "DESCENDING"
 42886  	//       ],
 42887  	//       "enumDescriptions": [
 42888  	//         "",
 42889  	//         ""
 42890  	//       ],
 42891  	//       "location": "query",
 42892  	//       "type": "string"
 42893  	//     }
 42894  	//   },
 42895  	//   "path": "userprofiles/{profileId}/remarketingLists",
 42896  	//   "response": {
 42897  	//     "$ref": "RemarketingListsListResponse"
 42898  	//   },
 42899  	//   "scopes": [
 42900  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42901  	//   ]
 42902  	// }
 42903  
 42904  }
 42905  
 42906  // Pages invokes f for each page of results.
 42907  // A non-nil error returned from f will halt the iteration.
 42908  // The provided context supersedes any context provided to the Context method.
 42909  func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
 42910  	c.ctx_ = ctx
 42911  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 42912  	for {
 42913  		x, err := c.Do()
 42914  		if err != nil {
 42915  			return err
 42916  		}
 42917  		if err := f(x); err != nil {
 42918  			return err
 42919  		}
 42920  		if x.NextPageToken == "" {
 42921  			return nil
 42922  		}
 42923  		c.PageToken(x.NextPageToken)
 42924  	}
 42925  }
 42926  
 42927  // method id "dfareporting.remarketingLists.patch":
 42928  
 42929  type RemarketingListsPatchCall struct {
 42930  	s               *Service
 42931  	profileId       int64
 42932  	remarketinglist *RemarketingList
 42933  	urlParams_      gensupport.URLParams
 42934  	ctx_            context.Context
 42935  	header_         http.Header
 42936  }
 42937  
 42938  // Patch: Updates an existing remarketing list. This method supports
 42939  // patch semantics.
 42940  func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
 42941  	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42942  	c.profileId = profileId
 42943  	c.urlParams_.Set("id", fmt.Sprint(id))
 42944  	c.remarketinglist = remarketinglist
 42945  	return c
 42946  }
 42947  
 42948  // Fields allows partial responses to be retrieved. See
 42949  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42950  // for more information.
 42951  func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
 42952  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42953  	return c
 42954  }
 42955  
 42956  // Context sets the context to be used in this call's Do method. Any
 42957  // pending HTTP request will be aborted if the provided context is
 42958  // canceled.
 42959  func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
 42960  	c.ctx_ = ctx
 42961  	return c
 42962  }
 42963  
 42964  // Header returns an http.Header that can be modified by the caller to
 42965  // add HTTP headers to the request.
 42966  func (c *RemarketingListsPatchCall) Header() http.Header {
 42967  	if c.header_ == nil {
 42968  		c.header_ = make(http.Header)
 42969  	}
 42970  	return c.header_
 42971  }
 42972  
 42973  func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
 42974  	reqHeaders := make(http.Header)
 42975  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42976  	for k, v := range c.header_ {
 42977  		reqHeaders[k] = v
 42978  	}
 42979  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42980  	var body io.Reader = nil
 42981  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 42982  	if err != nil {
 42983  		return nil, err
 42984  	}
 42985  	reqHeaders.Set("Content-Type", "application/json")
 42986  	c.urlParams_.Set("alt", alt)
 42987  	c.urlParams_.Set("prettyPrint", "false")
 42988  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 42989  	urls += "?" + c.urlParams_.Encode()
 42990  	req, err := http.NewRequest("PATCH", urls, body)
 42991  	if err != nil {
 42992  		return nil, err
 42993  	}
 42994  	req.Header = reqHeaders
 42995  	googleapi.Expand(req.URL, map[string]string{
 42996  		"profileId": strconv.FormatInt(c.profileId, 10),
 42997  	})
 42998  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42999  }
 43000  
 43001  // Do executes the "dfareporting.remarketingLists.patch" call.
 43002  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43003  // status code is an error. Response headers are in either
 43004  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43005  // at all) in error.(*googleapi.Error).Header. Use
 43006  // googleapi.IsNotModified to check whether the returned error was
 43007  // because http.StatusNotModified was returned.
 43008  func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43009  	gensupport.SetOptions(c.urlParams_, opts...)
 43010  	res, err := c.doRequest("json")
 43011  	if res != nil && res.StatusCode == http.StatusNotModified {
 43012  		if res.Body != nil {
 43013  			res.Body.Close()
 43014  		}
 43015  		return nil, &googleapi.Error{
 43016  			Code:   res.StatusCode,
 43017  			Header: res.Header,
 43018  		}
 43019  	}
 43020  	if err != nil {
 43021  		return nil, err
 43022  	}
 43023  	defer googleapi.CloseBody(res)
 43024  	if err := googleapi.CheckResponse(res); err != nil {
 43025  		return nil, err
 43026  	}
 43027  	ret := &RemarketingList{
 43028  		ServerResponse: googleapi.ServerResponse{
 43029  			Header:         res.Header,
 43030  			HTTPStatusCode: res.StatusCode,
 43031  		},
 43032  	}
 43033  	target := &ret
 43034  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43035  		return nil, err
 43036  	}
 43037  	return ret, nil
 43038  	// {
 43039  	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
 43040  	//   "httpMethod": "PATCH",
 43041  	//   "id": "dfareporting.remarketingLists.patch",
 43042  	//   "parameterOrder": [
 43043  	//     "profileId",
 43044  	//     "id"
 43045  	//   ],
 43046  	//   "parameters": {
 43047  	//     "id": {
 43048  	//       "description": "Remarketing list ID.",
 43049  	//       "format": "int64",
 43050  	//       "location": "query",
 43051  	//       "required": true,
 43052  	//       "type": "string"
 43053  	//     },
 43054  	//     "profileId": {
 43055  	//       "description": "User profile ID associated with this request.",
 43056  	//       "format": "int64",
 43057  	//       "location": "path",
 43058  	//       "required": true,
 43059  	//       "type": "string"
 43060  	//     }
 43061  	//   },
 43062  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43063  	//   "request": {
 43064  	//     "$ref": "RemarketingList"
 43065  	//   },
 43066  	//   "response": {
 43067  	//     "$ref": "RemarketingList"
 43068  	//   },
 43069  	//   "scopes": [
 43070  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43071  	//   ]
 43072  	// }
 43073  
 43074  }
 43075  
 43076  // method id "dfareporting.remarketingLists.update":
 43077  
 43078  type RemarketingListsUpdateCall struct {
 43079  	s               *Service
 43080  	profileId       int64
 43081  	remarketinglist *RemarketingList
 43082  	urlParams_      gensupport.URLParams
 43083  	ctx_            context.Context
 43084  	header_         http.Header
 43085  }
 43086  
 43087  // Update: Updates an existing remarketing list.
 43088  func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
 43089  	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43090  	c.profileId = profileId
 43091  	c.remarketinglist = remarketinglist
 43092  	return c
 43093  }
 43094  
 43095  // Fields allows partial responses to be retrieved. See
 43096  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43097  // for more information.
 43098  func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
 43099  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43100  	return c
 43101  }
 43102  
 43103  // Context sets the context to be used in this call's Do method. Any
 43104  // pending HTTP request will be aborted if the provided context is
 43105  // canceled.
 43106  func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
 43107  	c.ctx_ = ctx
 43108  	return c
 43109  }
 43110  
 43111  // Header returns an http.Header that can be modified by the caller to
 43112  // add HTTP headers to the request.
 43113  func (c *RemarketingListsUpdateCall) Header() http.Header {
 43114  	if c.header_ == nil {
 43115  		c.header_ = make(http.Header)
 43116  	}
 43117  	return c.header_
 43118  }
 43119  
 43120  func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
 43121  	reqHeaders := make(http.Header)
 43122  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43123  	for k, v := range c.header_ {
 43124  		reqHeaders[k] = v
 43125  	}
 43126  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43127  	var body io.Reader = nil
 43128  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 43129  	if err != nil {
 43130  		return nil, err
 43131  	}
 43132  	reqHeaders.Set("Content-Type", "application/json")
 43133  	c.urlParams_.Set("alt", alt)
 43134  	c.urlParams_.Set("prettyPrint", "false")
 43135  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43136  	urls += "?" + c.urlParams_.Encode()
 43137  	req, err := http.NewRequest("PUT", urls, body)
 43138  	if err != nil {
 43139  		return nil, err
 43140  	}
 43141  	req.Header = reqHeaders
 43142  	googleapi.Expand(req.URL, map[string]string{
 43143  		"profileId": strconv.FormatInt(c.profileId, 10),
 43144  	})
 43145  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43146  }
 43147  
 43148  // Do executes the "dfareporting.remarketingLists.update" call.
 43149  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43150  // status code is an error. Response headers are in either
 43151  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43152  // at all) in error.(*googleapi.Error).Header. Use
 43153  // googleapi.IsNotModified to check whether the returned error was
 43154  // because http.StatusNotModified was returned.
 43155  func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43156  	gensupport.SetOptions(c.urlParams_, opts...)
 43157  	res, err := c.doRequest("json")
 43158  	if res != nil && res.StatusCode == http.StatusNotModified {
 43159  		if res.Body != nil {
 43160  			res.Body.Close()
 43161  		}
 43162  		return nil, &googleapi.Error{
 43163  			Code:   res.StatusCode,
 43164  			Header: res.Header,
 43165  		}
 43166  	}
 43167  	if err != nil {
 43168  		return nil, err
 43169  	}
 43170  	defer googleapi.CloseBody(res)
 43171  	if err := googleapi.CheckResponse(res); err != nil {
 43172  		return nil, err
 43173  	}
 43174  	ret := &RemarketingList{
 43175  		ServerResponse: googleapi.ServerResponse{
 43176  			Header:         res.Header,
 43177  			HTTPStatusCode: res.StatusCode,
 43178  		},
 43179  	}
 43180  	target := &ret
 43181  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43182  		return nil, err
 43183  	}
 43184  	return ret, nil
 43185  	// {
 43186  	//   "description": "Updates an existing remarketing list.",
 43187  	//   "httpMethod": "PUT",
 43188  	//   "id": "dfareporting.remarketingLists.update",
 43189  	//   "parameterOrder": [
 43190  	//     "profileId"
 43191  	//   ],
 43192  	//   "parameters": {
 43193  	//     "profileId": {
 43194  	//       "description": "User profile ID associated with this request.",
 43195  	//       "format": "int64",
 43196  	//       "location": "path",
 43197  	//       "required": true,
 43198  	//       "type": "string"
 43199  	//     }
 43200  	//   },
 43201  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43202  	//   "request": {
 43203  	//     "$ref": "RemarketingList"
 43204  	//   },
 43205  	//   "response": {
 43206  	//     "$ref": "RemarketingList"
 43207  	//   },
 43208  	//   "scopes": [
 43209  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43210  	//   ]
 43211  	// }
 43212  
 43213  }
 43214  
 43215  // method id "dfareporting.reports.delete":
 43216  
 43217  type ReportsDeleteCall struct {
 43218  	s          *Service
 43219  	profileId  int64
 43220  	reportId   int64
 43221  	urlParams_ gensupport.URLParams
 43222  	ctx_       context.Context
 43223  	header_    http.Header
 43224  }
 43225  
 43226  // Delete: Deletes a report by its ID.
 43227  func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
 43228  	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43229  	c.profileId = profileId
 43230  	c.reportId = reportId
 43231  	return c
 43232  }
 43233  
 43234  // Fields allows partial responses to be retrieved. See
 43235  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43236  // for more information.
 43237  func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
 43238  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43239  	return c
 43240  }
 43241  
 43242  // Context sets the context to be used in this call's Do method. Any
 43243  // pending HTTP request will be aborted if the provided context is
 43244  // canceled.
 43245  func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 43246  	c.ctx_ = ctx
 43247  	return c
 43248  }
 43249  
 43250  // Header returns an http.Header that can be modified by the caller to
 43251  // add HTTP headers to the request.
 43252  func (c *ReportsDeleteCall) Header() http.Header {
 43253  	if c.header_ == nil {
 43254  		c.header_ = make(http.Header)
 43255  	}
 43256  	return c.header_
 43257  }
 43258  
 43259  func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 43260  	reqHeaders := make(http.Header)
 43261  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43262  	for k, v := range c.header_ {
 43263  		reqHeaders[k] = v
 43264  	}
 43265  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43266  	var body io.Reader = nil
 43267  	c.urlParams_.Set("alt", alt)
 43268  	c.urlParams_.Set("prettyPrint", "false")
 43269  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 43270  	urls += "?" + c.urlParams_.Encode()
 43271  	req, err := http.NewRequest("DELETE", urls, body)
 43272  	if err != nil {
 43273  		return nil, err
 43274  	}
 43275  	req.Header = reqHeaders
 43276  	googleapi.Expand(req.URL, map[string]string{
 43277  		"profileId": strconv.FormatInt(c.profileId, 10),
 43278  		"reportId":  strconv.FormatInt(c.reportId, 10),
 43279  	})
 43280  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43281  }
 43282  
 43283  // Do executes the "dfareporting.reports.delete" call.
 43284  func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
 43285  	gensupport.SetOptions(c.urlParams_, opts...)
 43286  	res, err := c.doRequest("json")
 43287  	if err != nil {
 43288  		return err
 43289  	}
 43290  	defer googleapi.CloseBody(res)
 43291  	if err := googleapi.CheckResponse(res); err != nil {
 43292  		return err
 43293  	}
 43294  	return nil
 43295  	// {
 43296  	//   "description": "Deletes a report by its ID.",
 43297  	//   "httpMethod": "DELETE",
 43298  	//   "id": "dfareporting.reports.delete",
 43299  	//   "parameterOrder": [
 43300  	//     "profileId",
 43301  	//     "reportId"
 43302  	//   ],
 43303  	//   "parameters": {
 43304  	//     "profileId": {
 43305  	//       "description": "The DFA user profile ID.",
 43306  	//       "format": "int64",
 43307  	//       "location": "path",
 43308  	//       "required": true,
 43309  	//       "type": "string"
 43310  	//     },
 43311  	//     "reportId": {
 43312  	//       "description": "The ID of the report.",
 43313  	//       "format": "int64",
 43314  	//       "location": "path",
 43315  	//       "required": true,
 43316  	//       "type": "string"
 43317  	//     }
 43318  	//   },
 43319  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 43320  	//   "scopes": [
 43321  	//     "https://www.googleapis.com/auth/dfareporting"
 43322  	//   ]
 43323  	// }
 43324  
 43325  }
 43326  
 43327  // method id "dfareporting.reports.get":
 43328  
 43329  type ReportsGetCall struct {
 43330  	s            *Service
 43331  	profileId    int64
 43332  	reportId     int64
 43333  	urlParams_   gensupport.URLParams
 43334  	ifNoneMatch_ string
 43335  	ctx_         context.Context
 43336  	header_      http.Header
 43337  }
 43338  
 43339  // Get: Retrieves a report by its ID.
 43340  func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
 43341  	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43342  	c.profileId = profileId
 43343  	c.reportId = reportId
 43344  	return c
 43345  }
 43346  
 43347  // Fields allows partial responses to be retrieved. See
 43348  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43349  // for more information.
 43350  func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
 43351  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43352  	return c
 43353  }
 43354  
 43355  // IfNoneMatch sets the optional parameter which makes the operation
 43356  // fail if the object's ETag matches the given value. This is useful for
 43357  // getting updates only after the object has changed since the last
 43358  // request. Use googleapi.IsNotModified to check whether the response
 43359  // error from Do is the result of In-None-Match.
 43360  func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
 43361  	c.ifNoneMatch_ = entityTag
 43362  	return c
 43363  }
 43364  
 43365  // Context sets the context to be used in this call's Do method. Any
 43366  // pending HTTP request will be aborted if the provided context is
 43367  // canceled.
 43368  func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 43369  	c.ctx_ = ctx
 43370  	return c
 43371  }
 43372  
 43373  // Header returns an http.Header that can be modified by the caller to
 43374  // add HTTP headers to the request.
 43375  func (c *ReportsGetCall) Header() http.Header {
 43376  	if c.header_ == nil {
 43377  		c.header_ = make(http.Header)
 43378  	}
 43379  	return c.header_
 43380  }
 43381  
 43382  func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 43383  	reqHeaders := make(http.Header)
 43384  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43385  	for k, v := range c.header_ {
 43386  		reqHeaders[k] = v
 43387  	}
 43388  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43389  	if c.ifNoneMatch_ != "" {
 43390  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43391  	}
 43392  	var body io.Reader = nil
 43393  	c.urlParams_.Set("alt", alt)
 43394  	c.urlParams_.Set("prettyPrint", "false")
 43395  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 43396  	urls += "?" + c.urlParams_.Encode()
 43397  	req, err := http.NewRequest("GET", urls, body)
 43398  	if err != nil {
 43399  		return nil, err
 43400  	}
 43401  	req.Header = reqHeaders
 43402  	googleapi.Expand(req.URL, map[string]string{
 43403  		"profileId": strconv.FormatInt(c.profileId, 10),
 43404  		"reportId":  strconv.FormatInt(c.reportId, 10),
 43405  	})
 43406  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43407  }
 43408  
 43409  // Do executes the "dfareporting.reports.get" call.
 43410  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 43411  // code is an error. Response headers are in either
 43412  // *Report.ServerResponse.Header or (if a response was returned at all)
 43413  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 43414  // check whether the returned error was because http.StatusNotModified
 43415  // was returned.
 43416  func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 43417  	gensupport.SetOptions(c.urlParams_, opts...)
 43418  	res, err := c.doRequest("json")
 43419  	if res != nil && res.StatusCode == http.StatusNotModified {
 43420  		if res.Body != nil {
 43421  			res.Body.Close()
 43422  		}
 43423  		return nil, &googleapi.Error{
 43424  			Code:   res.StatusCode,
 43425  			Header: res.Header,
 43426  		}
 43427  	}
 43428  	if err != nil {
 43429  		return nil, err
 43430  	}
 43431  	defer googleapi.CloseBody(res)
 43432  	if err := googleapi.CheckResponse(res); err != nil {
 43433  		return nil, err
 43434  	}
 43435  	ret := &Report{
 43436  		ServerResponse: googleapi.ServerResponse{
 43437  			Header:         res.Header,
 43438  			HTTPStatusCode: res.StatusCode,
 43439  		},
 43440  	}
 43441  	target := &ret
 43442  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43443  		return nil, err
 43444  	}
 43445  	return ret, nil
 43446  	// {
 43447  	//   "description": "Retrieves a report by its ID.",
 43448  	//   "httpMethod": "GET",
 43449  	//   "id": "dfareporting.reports.get",
 43450  	//   "parameterOrder": [
 43451  	//     "profileId",
 43452  	//     "reportId"
 43453  	//   ],
 43454  	//   "parameters": {
 43455  	//     "profileId": {
 43456  	//       "description": "The DFA user profile ID.",
 43457  	//       "format": "int64",
 43458  	//       "location": "path",
 43459  	//       "required": true,
 43460  	//       "type": "string"
 43461  	//     },
 43462  	//     "reportId": {
 43463  	//       "description": "The ID of the report.",
 43464  	//       "format": "int64",
 43465  	//       "location": "path",
 43466  	//       "required": true,
 43467  	//       "type": "string"
 43468  	//     }
 43469  	//   },
 43470  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 43471  	//   "response": {
 43472  	//     "$ref": "Report"
 43473  	//   },
 43474  	//   "scopes": [
 43475  	//     "https://www.googleapis.com/auth/dfareporting"
 43476  	//   ]
 43477  	// }
 43478  
 43479  }
 43480  
 43481  // method id "dfareporting.reports.insert":
 43482  
 43483  type ReportsInsertCall struct {
 43484  	s          *Service
 43485  	profileId  int64
 43486  	report     *Report
 43487  	urlParams_ gensupport.URLParams
 43488  	ctx_       context.Context
 43489  	header_    http.Header
 43490  }
 43491  
 43492  // Insert: Creates a report.
 43493  func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
 43494  	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43495  	c.profileId = profileId
 43496  	c.report = report
 43497  	return c
 43498  }
 43499  
 43500  // Fields allows partial responses to be retrieved. See
 43501  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43502  // for more information.
 43503  func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
 43504  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43505  	return c
 43506  }
 43507  
 43508  // Context sets the context to be used in this call's Do method. Any
 43509  // pending HTTP request will be aborted if the provided context is
 43510  // canceled.
 43511  func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 43512  	c.ctx_ = ctx
 43513  	return c
 43514  }
 43515  
 43516  // Header returns an http.Header that can be modified by the caller to
 43517  // add HTTP headers to the request.
 43518  func (c *ReportsInsertCall) Header() http.Header {
 43519  	if c.header_ == nil {
 43520  		c.header_ = make(http.Header)
 43521  	}
 43522  	return c.header_
 43523  }
 43524  
 43525  func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
 43526  	reqHeaders := make(http.Header)
 43527  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43528  	for k, v := range c.header_ {
 43529  		reqHeaders[k] = v
 43530  	}
 43531  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43532  	var body io.Reader = nil
 43533  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 43534  	if err != nil {
 43535  		return nil, err
 43536  	}
 43537  	reqHeaders.Set("Content-Type", "application/json")
 43538  	c.urlParams_.Set("alt", alt)
 43539  	c.urlParams_.Set("prettyPrint", "false")
 43540  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 43541  	urls += "?" + c.urlParams_.Encode()
 43542  	req, err := http.NewRequest("POST", urls, body)
 43543  	if err != nil {
 43544  		return nil, err
 43545  	}
 43546  	req.Header = reqHeaders
 43547  	googleapi.Expand(req.URL, map[string]string{
 43548  		"profileId": strconv.FormatInt(c.profileId, 10),
 43549  	})
 43550  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43551  }
 43552  
 43553  // Do executes the "dfareporting.reports.insert" call.
 43554  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 43555  // code is an error. Response headers are in either
 43556  // *Report.ServerResponse.Header or (if a response was returned at all)
 43557  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 43558  // check whether the returned error was because http.StatusNotModified
 43559  // was returned.
 43560  func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 43561  	gensupport.SetOptions(c.urlParams_, opts...)
 43562  	res, err := c.doRequest("json")
 43563  	if res != nil && res.StatusCode == http.StatusNotModified {
 43564  		if res.Body != nil {
 43565  			res.Body.Close()
 43566  		}
 43567  		return nil, &googleapi.Error{
 43568  			Code:   res.StatusCode,
 43569  			Header: res.Header,
 43570  		}
 43571  	}
 43572  	if err != nil {
 43573  		return nil, err
 43574  	}
 43575  	defer googleapi.CloseBody(res)
 43576  	if err := googleapi.CheckResponse(res); err != nil {
 43577  		return nil, err
 43578  	}
 43579  	ret := &Report{
 43580  		ServerResponse: googleapi.ServerResponse{
 43581  			Header:         res.Header,
 43582  			HTTPStatusCode: res.StatusCode,
 43583  		},
 43584  	}
 43585  	target := &ret
 43586  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43587  		return nil, err
 43588  	}
 43589  	return ret, nil
 43590  	// {
 43591  	//   "description": "Creates a report.",
 43592  	//   "httpMethod": "POST",
 43593  	//   "id": "dfareporting.reports.insert",
 43594  	//   "parameterOrder": [
 43595  	//     "profileId"
 43596  	//   ],
 43597  	//   "parameters": {
 43598  	//     "profileId": {
 43599  	//       "description": "The DFA user profile ID.",
 43600  	//       "format": "int64",
 43601  	//       "location": "path",
 43602  	//       "required": true,
 43603  	//       "type": "string"
 43604  	//     }
 43605  	//   },
 43606  	//   "path": "userprofiles/{profileId}/reports",
 43607  	//   "request": {
 43608  	//     "$ref": "Report"
 43609  	//   },
 43610  	//   "response": {
 43611  	//     "$ref": "Report"
 43612  	//   },
 43613  	//   "scopes": [
 43614  	//     "https://www.googleapis.com/auth/dfareporting"
 43615  	//   ]
 43616  	// }
 43617  
 43618  }
 43619  
 43620  // method id "dfareporting.reports.list":
 43621  
 43622  type ReportsListCall struct {
 43623  	s            *Service
 43624  	profileId    int64
 43625  	urlParams_   gensupport.URLParams
 43626  	ifNoneMatch_ string
 43627  	ctx_         context.Context
 43628  	header_      http.Header
 43629  }
 43630  
 43631  // List: Retrieves list of reports.
 43632  func (r *ReportsService) List(profileId int64) *ReportsListCall {
 43633  	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43634  	c.profileId = profileId
 43635  	return c
 43636  }
 43637  
 43638  // MaxResults sets the optional parameter "maxResults": Maximum number
 43639  // of results to return.
 43640  func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
 43641  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 43642  	return c
 43643  }
 43644  
 43645  // PageToken sets the optional parameter "pageToken": The value of the
 43646  // nextToken from the previous result page.
 43647  func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
 43648  	c.urlParams_.Set("pageToken", pageToken)
 43649  	return c
 43650  }
 43651  
 43652  // Scope sets the optional parameter "scope": The scope that defines
 43653  // which results are returned.
 43654  //
 43655  // Possible values:
 43656  //
 43657  //	"ALL" - All reports in account.
 43658  //	"MINE" (default) - My reports.
 43659  func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
 43660  	c.urlParams_.Set("scope", scope)
 43661  	return c
 43662  }
 43663  
 43664  // SortField sets the optional parameter "sortField": The field by which
 43665  // to sort the list.
 43666  //
 43667  // Possible values:
 43668  //
 43669  //	"ID" - Sort by report ID.
 43670  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 43671  //	"NAME" - Sort by name of reports.
 43672  func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
 43673  	c.urlParams_.Set("sortField", sortField)
 43674  	return c
 43675  }
 43676  
 43677  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 43678  // results.
 43679  //
 43680  // Possible values:
 43681  //
 43682  //	"ASCENDING" - Ascending order.
 43683  //	"DESCENDING" (default) - Descending order.
 43684  func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
 43685  	c.urlParams_.Set("sortOrder", sortOrder)
 43686  	return c
 43687  }
 43688  
 43689  // Fields allows partial responses to be retrieved. See
 43690  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43691  // for more information.
 43692  func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
 43693  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43694  	return c
 43695  }
 43696  
 43697  // IfNoneMatch sets the optional parameter which makes the operation
 43698  // fail if the object's ETag matches the given value. This is useful for
 43699  // getting updates only after the object has changed since the last
 43700  // request. Use googleapi.IsNotModified to check whether the response
 43701  // error from Do is the result of In-None-Match.
 43702  func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
 43703  	c.ifNoneMatch_ = entityTag
 43704  	return c
 43705  }
 43706  
 43707  // Context sets the context to be used in this call's Do method. Any
 43708  // pending HTTP request will be aborted if the provided context is
 43709  // canceled.
 43710  func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 43711  	c.ctx_ = ctx
 43712  	return c
 43713  }
 43714  
 43715  // Header returns an http.Header that can be modified by the caller to
 43716  // add HTTP headers to the request.
 43717  func (c *ReportsListCall) Header() http.Header {
 43718  	if c.header_ == nil {
 43719  		c.header_ = make(http.Header)
 43720  	}
 43721  	return c.header_
 43722  }
 43723  
 43724  func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 43725  	reqHeaders := make(http.Header)
 43726  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43727  	for k, v := range c.header_ {
 43728  		reqHeaders[k] = v
 43729  	}
 43730  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43731  	if c.ifNoneMatch_ != "" {
 43732  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43733  	}
 43734  	var body io.Reader = nil
 43735  	c.urlParams_.Set("alt", alt)
 43736  	c.urlParams_.Set("prettyPrint", "false")
 43737  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 43738  	urls += "?" + c.urlParams_.Encode()
 43739  	req, err := http.NewRequest("GET", urls, body)
 43740  	if err != nil {
 43741  		return nil, err
 43742  	}
 43743  	req.Header = reqHeaders
 43744  	googleapi.Expand(req.URL, map[string]string{
 43745  		"profileId": strconv.FormatInt(c.profileId, 10),
 43746  	})
 43747  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43748  }
 43749  
 43750  // Do executes the "dfareporting.reports.list" call.
 43751  // Exactly one of *ReportList or error will be non-nil. Any non-2xx
 43752  // status code is an error. Response headers are in either
 43753  // *ReportList.ServerResponse.Header or (if a response was returned at
 43754  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 43755  // to check whether the returned error was because
 43756  // http.StatusNotModified was returned.
 43757  func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
 43758  	gensupport.SetOptions(c.urlParams_, opts...)
 43759  	res, err := c.doRequest("json")
 43760  	if res != nil && res.StatusCode == http.StatusNotModified {
 43761  		if res.Body != nil {
 43762  			res.Body.Close()
 43763  		}
 43764  		return nil, &googleapi.Error{
 43765  			Code:   res.StatusCode,
 43766  			Header: res.Header,
 43767  		}
 43768  	}
 43769  	if err != nil {
 43770  		return nil, err
 43771  	}
 43772  	defer googleapi.CloseBody(res)
 43773  	if err := googleapi.CheckResponse(res); err != nil {
 43774  		return nil, err
 43775  	}
 43776  	ret := &ReportList{
 43777  		ServerResponse: googleapi.ServerResponse{
 43778  			Header:         res.Header,
 43779  			HTTPStatusCode: res.StatusCode,
 43780  		},
 43781  	}
 43782  	target := &ret
 43783  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43784  		return nil, err
 43785  	}
 43786  	return ret, nil
 43787  	// {
 43788  	//   "description": "Retrieves list of reports.",
 43789  	//   "httpMethod": "GET",
 43790  	//   "id": "dfareporting.reports.list",
 43791  	//   "parameterOrder": [
 43792  	//     "profileId"
 43793  	//   ],
 43794  	//   "parameters": {
 43795  	//     "maxResults": {
 43796  	//       "default": "10",
 43797  	//       "description": "Maximum number of results to return.",
 43798  	//       "format": "int32",
 43799  	//       "location": "query",
 43800  	//       "maximum": "10",
 43801  	//       "minimum": "0",
 43802  	//       "type": "integer"
 43803  	//     },
 43804  	//     "pageToken": {
 43805  	//       "description": "The value of the nextToken from the previous result page.",
 43806  	//       "location": "query",
 43807  	//       "type": "string"
 43808  	//     },
 43809  	//     "profileId": {
 43810  	//       "description": "The DFA user profile ID.",
 43811  	//       "format": "int64",
 43812  	//       "location": "path",
 43813  	//       "required": true,
 43814  	//       "type": "string"
 43815  	//     },
 43816  	//     "scope": {
 43817  	//       "default": "MINE",
 43818  	//       "description": "The scope that defines which results are returned.",
 43819  	//       "enum": [
 43820  	//         "ALL",
 43821  	//         "MINE"
 43822  	//       ],
 43823  	//       "enumDescriptions": [
 43824  	//         "All reports in account.",
 43825  	//         "My reports."
 43826  	//       ],
 43827  	//       "location": "query",
 43828  	//       "type": "string"
 43829  	//     },
 43830  	//     "sortField": {
 43831  	//       "default": "LAST_MODIFIED_TIME",
 43832  	//       "description": "The field by which to sort the list.",
 43833  	//       "enum": [
 43834  	//         "ID",
 43835  	//         "LAST_MODIFIED_TIME",
 43836  	//         "NAME"
 43837  	//       ],
 43838  	//       "enumDescriptions": [
 43839  	//         "Sort by report ID.",
 43840  	//         "Sort by 'lastModifiedTime' field.",
 43841  	//         "Sort by name of reports."
 43842  	//       ],
 43843  	//       "location": "query",
 43844  	//       "type": "string"
 43845  	//     },
 43846  	//     "sortOrder": {
 43847  	//       "default": "DESCENDING",
 43848  	//       "description": "Order of sorted results.",
 43849  	//       "enum": [
 43850  	//         "ASCENDING",
 43851  	//         "DESCENDING"
 43852  	//       ],
 43853  	//       "enumDescriptions": [
 43854  	//         "Ascending order.",
 43855  	//         "Descending order."
 43856  	//       ],
 43857  	//       "location": "query",
 43858  	//       "type": "string"
 43859  	//     }
 43860  	//   },
 43861  	//   "path": "userprofiles/{profileId}/reports",
 43862  	//   "response": {
 43863  	//     "$ref": "ReportList"
 43864  	//   },
 43865  	//   "scopes": [
 43866  	//     "https://www.googleapis.com/auth/dfareporting"
 43867  	//   ]
 43868  	// }
 43869  
 43870  }
 43871  
 43872  // Pages invokes f for each page of results.
 43873  // A non-nil error returned from f will halt the iteration.
 43874  // The provided context supersedes any context provided to the Context method.
 43875  func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
 43876  	c.ctx_ = ctx
 43877  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 43878  	for {
 43879  		x, err := c.Do()
 43880  		if err != nil {
 43881  			return err
 43882  		}
 43883  		if err := f(x); err != nil {
 43884  			return err
 43885  		}
 43886  		if x.NextPageToken == "" {
 43887  			return nil
 43888  		}
 43889  		c.PageToken(x.NextPageToken)
 43890  	}
 43891  }
 43892  
 43893  // method id "dfareporting.reports.patch":
 43894  
 43895  type ReportsPatchCall struct {
 43896  	s          *Service
 43897  	profileId  int64
 43898  	reportId   int64
 43899  	report     *Report
 43900  	urlParams_ gensupport.URLParams
 43901  	ctx_       context.Context
 43902  	header_    http.Header
 43903  }
 43904  
 43905  // Patch: Updates a report. This method supports patch semantics.
 43906  func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
 43907  	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43908  	c.profileId = profileId
 43909  	c.reportId = reportId
 43910  	c.report = report
 43911  	return c
 43912  }
 43913  
 43914  // Fields allows partial responses to be retrieved. See
 43915  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43916  // for more information.
 43917  func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
 43918  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43919  	return c
 43920  }
 43921  
 43922  // Context sets the context to be used in this call's Do method. Any
 43923  // pending HTTP request will be aborted if the provided context is
 43924  // canceled.
 43925  func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 43926  	c.ctx_ = ctx
 43927  	return c
 43928  }
 43929  
 43930  // Header returns an http.Header that can be modified by the caller to
 43931  // add HTTP headers to the request.
 43932  func (c *ReportsPatchCall) Header() http.Header {
 43933  	if c.header_ == nil {
 43934  		c.header_ = make(http.Header)
 43935  	}
 43936  	return c.header_
 43937  }
 43938  
 43939  func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
 43940  	reqHeaders := make(http.Header)
 43941  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43942  	for k, v := range c.header_ {
 43943  		reqHeaders[k] = v
 43944  	}
 43945  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43946  	var body io.Reader = nil
 43947  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 43948  	if err != nil {
 43949  		return nil, err
 43950  	}
 43951  	reqHeaders.Set("Content-Type", "application/json")
 43952  	c.urlParams_.Set("alt", alt)
 43953  	c.urlParams_.Set("prettyPrint", "false")
 43954  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 43955  	urls += "?" + c.urlParams_.Encode()
 43956  	req, err := http.NewRequest("PATCH", urls, body)
 43957  	if err != nil {
 43958  		return nil, err
 43959  	}
 43960  	req.Header = reqHeaders
 43961  	googleapi.Expand(req.URL, map[string]string{
 43962  		"profileId": strconv.FormatInt(c.profileId, 10),
 43963  		"reportId":  strconv.FormatInt(c.reportId, 10),
 43964  	})
 43965  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43966  }
 43967  
 43968  // Do executes the "dfareporting.reports.patch" call.
 43969  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 43970  // code is an error. Response headers are in either
 43971  // *Report.ServerResponse.Header or (if a response was returned at all)
 43972  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 43973  // check whether the returned error was because http.StatusNotModified
 43974  // was returned.
 43975  func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 43976  	gensupport.SetOptions(c.urlParams_, opts...)
 43977  	res, err := c.doRequest("json")
 43978  	if res != nil && res.StatusCode == http.StatusNotModified {
 43979  		if res.Body != nil {
 43980  			res.Body.Close()
 43981  		}
 43982  		return nil, &googleapi.Error{
 43983  			Code:   res.StatusCode,
 43984  			Header: res.Header,
 43985  		}
 43986  	}
 43987  	if err != nil {
 43988  		return nil, err
 43989  	}
 43990  	defer googleapi.CloseBody(res)
 43991  	if err := googleapi.CheckResponse(res); err != nil {
 43992  		return nil, err
 43993  	}
 43994  	ret := &Report{
 43995  		ServerResponse: googleapi.ServerResponse{
 43996  			Header:         res.Header,
 43997  			HTTPStatusCode: res.StatusCode,
 43998  		},
 43999  	}
 44000  	target := &ret
 44001  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44002  		return nil, err
 44003  	}
 44004  	return ret, nil
 44005  	// {
 44006  	//   "description": "Updates a report. This method supports patch semantics.",
 44007  	//   "httpMethod": "PATCH",
 44008  	//   "id": "dfareporting.reports.patch",
 44009  	//   "parameterOrder": [
 44010  	//     "profileId",
 44011  	//     "reportId"
 44012  	//   ],
 44013  	//   "parameters": {
 44014  	//     "profileId": {
 44015  	//       "description": "The DFA user profile ID.",
 44016  	//       "format": "int64",
 44017  	//       "location": "path",
 44018  	//       "required": true,
 44019  	//       "type": "string"
 44020  	//     },
 44021  	//     "reportId": {
 44022  	//       "description": "The ID of the report.",
 44023  	//       "format": "int64",
 44024  	//       "location": "path",
 44025  	//       "required": true,
 44026  	//       "type": "string"
 44027  	//     }
 44028  	//   },
 44029  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44030  	//   "request": {
 44031  	//     "$ref": "Report"
 44032  	//   },
 44033  	//   "response": {
 44034  	//     "$ref": "Report"
 44035  	//   },
 44036  	//   "scopes": [
 44037  	//     "https://www.googleapis.com/auth/dfareporting"
 44038  	//   ]
 44039  	// }
 44040  
 44041  }
 44042  
 44043  // method id "dfareporting.reports.run":
 44044  
 44045  type ReportsRunCall struct {
 44046  	s          *Service
 44047  	profileId  int64
 44048  	reportId   int64
 44049  	urlParams_ gensupport.URLParams
 44050  	ctx_       context.Context
 44051  	header_    http.Header
 44052  }
 44053  
 44054  // Run: Runs a report.
 44055  func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
 44056  	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44057  	c.profileId = profileId
 44058  	c.reportId = reportId
 44059  	return c
 44060  }
 44061  
 44062  // Synchronous sets the optional parameter "synchronous": If set and
 44063  // true, tries to run the report synchronously.
 44064  func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
 44065  	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
 44066  	return c
 44067  }
 44068  
 44069  // Fields allows partial responses to be retrieved. See
 44070  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44071  // for more information.
 44072  func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
 44073  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44074  	return c
 44075  }
 44076  
 44077  // Context sets the context to be used in this call's Do method. Any
 44078  // pending HTTP request will be aborted if the provided context is
 44079  // canceled.
 44080  func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 44081  	c.ctx_ = ctx
 44082  	return c
 44083  }
 44084  
 44085  // Header returns an http.Header that can be modified by the caller to
 44086  // add HTTP headers to the request.
 44087  func (c *ReportsRunCall) Header() http.Header {
 44088  	if c.header_ == nil {
 44089  		c.header_ = make(http.Header)
 44090  	}
 44091  	return c.header_
 44092  }
 44093  
 44094  func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 44095  	reqHeaders := make(http.Header)
 44096  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44097  	for k, v := range c.header_ {
 44098  		reqHeaders[k] = v
 44099  	}
 44100  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44101  	var body io.Reader = nil
 44102  	c.urlParams_.Set("alt", alt)
 44103  	c.urlParams_.Set("prettyPrint", "false")
 44104  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
 44105  	urls += "?" + c.urlParams_.Encode()
 44106  	req, err := http.NewRequest("POST", urls, body)
 44107  	if err != nil {
 44108  		return nil, err
 44109  	}
 44110  	req.Header = reqHeaders
 44111  	googleapi.Expand(req.URL, map[string]string{
 44112  		"profileId": strconv.FormatInt(c.profileId, 10),
 44113  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44114  	})
 44115  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44116  }
 44117  
 44118  // Do executes the "dfareporting.reports.run" call.
 44119  // Exactly one of *File or error will be non-nil. Any non-2xx status
 44120  // code is an error. Response headers are in either
 44121  // *File.ServerResponse.Header or (if a response was returned at all) in
 44122  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 44123  // whether the returned error was because http.StatusNotModified was
 44124  // returned.
 44125  func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
 44126  	gensupport.SetOptions(c.urlParams_, opts...)
 44127  	res, err := c.doRequest("json")
 44128  	if res != nil && res.StatusCode == http.StatusNotModified {
 44129  		if res.Body != nil {
 44130  			res.Body.Close()
 44131  		}
 44132  		return nil, &googleapi.Error{
 44133  			Code:   res.StatusCode,
 44134  			Header: res.Header,
 44135  		}
 44136  	}
 44137  	if err != nil {
 44138  		return nil, err
 44139  	}
 44140  	defer googleapi.CloseBody(res)
 44141  	if err := googleapi.CheckResponse(res); err != nil {
 44142  		return nil, err
 44143  	}
 44144  	ret := &File{
 44145  		ServerResponse: googleapi.ServerResponse{
 44146  			Header:         res.Header,
 44147  			HTTPStatusCode: res.StatusCode,
 44148  		},
 44149  	}
 44150  	target := &ret
 44151  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44152  		return nil, err
 44153  	}
 44154  	return ret, nil
 44155  	// {
 44156  	//   "description": "Runs a report.",
 44157  	//   "httpMethod": "POST",
 44158  	//   "id": "dfareporting.reports.run",
 44159  	//   "parameterOrder": [
 44160  	//     "profileId",
 44161  	//     "reportId"
 44162  	//   ],
 44163  	//   "parameters": {
 44164  	//     "profileId": {
 44165  	//       "description": "The DFA profile ID.",
 44166  	//       "format": "int64",
 44167  	//       "location": "path",
 44168  	//       "required": true,
 44169  	//       "type": "string"
 44170  	//     },
 44171  	//     "reportId": {
 44172  	//       "description": "The ID of the report.",
 44173  	//       "format": "int64",
 44174  	//       "location": "path",
 44175  	//       "required": true,
 44176  	//       "type": "string"
 44177  	//     },
 44178  	//     "synchronous": {
 44179  	//       "default": "false",
 44180  	//       "description": "If set and true, tries to run the report synchronously.",
 44181  	//       "location": "query",
 44182  	//       "type": "boolean"
 44183  	//     }
 44184  	//   },
 44185  	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
 44186  	//   "response": {
 44187  	//     "$ref": "File"
 44188  	//   },
 44189  	//   "scopes": [
 44190  	//     "https://www.googleapis.com/auth/dfareporting"
 44191  	//   ]
 44192  	// }
 44193  
 44194  }
 44195  
 44196  // method id "dfareporting.reports.update":
 44197  
 44198  type ReportsUpdateCall struct {
 44199  	s          *Service
 44200  	profileId  int64
 44201  	reportId   int64
 44202  	report     *Report
 44203  	urlParams_ gensupport.URLParams
 44204  	ctx_       context.Context
 44205  	header_    http.Header
 44206  }
 44207  
 44208  // Update: Updates a report.
 44209  func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
 44210  	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44211  	c.profileId = profileId
 44212  	c.reportId = reportId
 44213  	c.report = report
 44214  	return c
 44215  }
 44216  
 44217  // Fields allows partial responses to be retrieved. See
 44218  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44219  // for more information.
 44220  func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
 44221  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44222  	return c
 44223  }
 44224  
 44225  // Context sets the context to be used in this call's Do method. Any
 44226  // pending HTTP request will be aborted if the provided context is
 44227  // canceled.
 44228  func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 44229  	c.ctx_ = ctx
 44230  	return c
 44231  }
 44232  
 44233  // Header returns an http.Header that can be modified by the caller to
 44234  // add HTTP headers to the request.
 44235  func (c *ReportsUpdateCall) Header() http.Header {
 44236  	if c.header_ == nil {
 44237  		c.header_ = make(http.Header)
 44238  	}
 44239  	return c.header_
 44240  }
 44241  
 44242  func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
 44243  	reqHeaders := make(http.Header)
 44244  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44245  	for k, v := range c.header_ {
 44246  		reqHeaders[k] = v
 44247  	}
 44248  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44249  	var body io.Reader = nil
 44250  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44251  	if err != nil {
 44252  		return nil, err
 44253  	}
 44254  	reqHeaders.Set("Content-Type", "application/json")
 44255  	c.urlParams_.Set("alt", alt)
 44256  	c.urlParams_.Set("prettyPrint", "false")
 44257  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44258  	urls += "?" + c.urlParams_.Encode()
 44259  	req, err := http.NewRequest("PUT", urls, body)
 44260  	if err != nil {
 44261  		return nil, err
 44262  	}
 44263  	req.Header = reqHeaders
 44264  	googleapi.Expand(req.URL, map[string]string{
 44265  		"profileId": strconv.FormatInt(c.profileId, 10),
 44266  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44267  	})
 44268  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44269  }
 44270  
 44271  // Do executes the "dfareporting.reports.update" call.
 44272  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44273  // code is an error. Response headers are in either
 44274  // *Report.ServerResponse.Header or (if a response was returned at all)
 44275  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44276  // check whether the returned error was because http.StatusNotModified
 44277  // was returned.
 44278  func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44279  	gensupport.SetOptions(c.urlParams_, opts...)
 44280  	res, err := c.doRequest("json")
 44281  	if res != nil && res.StatusCode == http.StatusNotModified {
 44282  		if res.Body != nil {
 44283  			res.Body.Close()
 44284  		}
 44285  		return nil, &googleapi.Error{
 44286  			Code:   res.StatusCode,
 44287  			Header: res.Header,
 44288  		}
 44289  	}
 44290  	if err != nil {
 44291  		return nil, err
 44292  	}
 44293  	defer googleapi.CloseBody(res)
 44294  	if err := googleapi.CheckResponse(res); err != nil {
 44295  		return nil, err
 44296  	}
 44297  	ret := &Report{
 44298  		ServerResponse: googleapi.ServerResponse{
 44299  			Header:         res.Header,
 44300  			HTTPStatusCode: res.StatusCode,
 44301  		},
 44302  	}
 44303  	target := &ret
 44304  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44305  		return nil, err
 44306  	}
 44307  	return ret, nil
 44308  	// {
 44309  	//   "description": "Updates a report.",
 44310  	//   "httpMethod": "PUT",
 44311  	//   "id": "dfareporting.reports.update",
 44312  	//   "parameterOrder": [
 44313  	//     "profileId",
 44314  	//     "reportId"
 44315  	//   ],
 44316  	//   "parameters": {
 44317  	//     "profileId": {
 44318  	//       "description": "The DFA user profile ID.",
 44319  	//       "format": "int64",
 44320  	//       "location": "path",
 44321  	//       "required": true,
 44322  	//       "type": "string"
 44323  	//     },
 44324  	//     "reportId": {
 44325  	//       "description": "The ID of the report.",
 44326  	//       "format": "int64",
 44327  	//       "location": "path",
 44328  	//       "required": true,
 44329  	//       "type": "string"
 44330  	//     }
 44331  	//   },
 44332  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44333  	//   "request": {
 44334  	//     "$ref": "Report"
 44335  	//   },
 44336  	//   "response": {
 44337  	//     "$ref": "Report"
 44338  	//   },
 44339  	//   "scopes": [
 44340  	//     "https://www.googleapis.com/auth/dfareporting"
 44341  	//   ]
 44342  	// }
 44343  
 44344  }
 44345  
 44346  // method id "dfareporting.reports.compatibleFields.query":
 44347  
 44348  type ReportsCompatibleFieldsQueryCall struct {
 44349  	s          *Service
 44350  	profileId  int64
 44351  	report     *Report
 44352  	urlParams_ gensupport.URLParams
 44353  	ctx_       context.Context
 44354  	header_    http.Header
 44355  }
 44356  
 44357  // Query: Returns the fields that are compatible to be selected in the
 44358  // respective sections of a report criteria, given the fields already
 44359  // selected in the input report and user permissions.
 44360  func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
 44361  	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44362  	c.profileId = profileId
 44363  	c.report = report
 44364  	return c
 44365  }
 44366  
 44367  // Fields allows partial responses to be retrieved. See
 44368  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44369  // for more information.
 44370  func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
 44371  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44372  	return c
 44373  }
 44374  
 44375  // Context sets the context to be used in this call's Do method. Any
 44376  // pending HTTP request will be aborted if the provided context is
 44377  // canceled.
 44378  func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
 44379  	c.ctx_ = ctx
 44380  	return c
 44381  }
 44382  
 44383  // Header returns an http.Header that can be modified by the caller to
 44384  // add HTTP headers to the request.
 44385  func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
 44386  	if c.header_ == nil {
 44387  		c.header_ = make(http.Header)
 44388  	}
 44389  	return c.header_
 44390  }
 44391  
 44392  func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
 44393  	reqHeaders := make(http.Header)
 44394  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44395  	for k, v := range c.header_ {
 44396  		reqHeaders[k] = v
 44397  	}
 44398  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44399  	var body io.Reader = nil
 44400  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44401  	if err != nil {
 44402  		return nil, err
 44403  	}
 44404  	reqHeaders.Set("Content-Type", "application/json")
 44405  	c.urlParams_.Set("alt", alt)
 44406  	c.urlParams_.Set("prettyPrint", "false")
 44407  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
 44408  	urls += "?" + c.urlParams_.Encode()
 44409  	req, err := http.NewRequest("POST", urls, body)
 44410  	if err != nil {
 44411  		return nil, err
 44412  	}
 44413  	req.Header = reqHeaders
 44414  	googleapi.Expand(req.URL, map[string]string{
 44415  		"profileId": strconv.FormatInt(c.profileId, 10),
 44416  	})
 44417  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44418  }
 44419  
 44420  // Do executes the "dfareporting.reports.compatibleFields.query" call.
 44421  // Exactly one of *CompatibleFields or error will be non-nil. Any
 44422  // non-2xx status code is an error. Response headers are in either
 44423  // *CompatibleFields.ServerResponse.Header or (if a response was
 44424  // returned at all) in error.(*googleapi.Error).Header. Use
 44425  // googleapi.IsNotModified to check whether the returned error was
 44426  // because http.StatusNotModified was returned.
 44427  func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
 44428  	gensupport.SetOptions(c.urlParams_, opts...)
 44429  	res, err := c.doRequest("json")
 44430  	if res != nil && res.StatusCode == http.StatusNotModified {
 44431  		if res.Body != nil {
 44432  			res.Body.Close()
 44433  		}
 44434  		return nil, &googleapi.Error{
 44435  			Code:   res.StatusCode,
 44436  			Header: res.Header,
 44437  		}
 44438  	}
 44439  	if err != nil {
 44440  		return nil, err
 44441  	}
 44442  	defer googleapi.CloseBody(res)
 44443  	if err := googleapi.CheckResponse(res); err != nil {
 44444  		return nil, err
 44445  	}
 44446  	ret := &CompatibleFields{
 44447  		ServerResponse: googleapi.ServerResponse{
 44448  			Header:         res.Header,
 44449  			HTTPStatusCode: res.StatusCode,
 44450  		},
 44451  	}
 44452  	target := &ret
 44453  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44454  		return nil, err
 44455  	}
 44456  	return ret, nil
 44457  	// {
 44458  	//   "description": "Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.",
 44459  	//   "httpMethod": "POST",
 44460  	//   "id": "dfareporting.reports.compatibleFields.query",
 44461  	//   "parameterOrder": [
 44462  	//     "profileId"
 44463  	//   ],
 44464  	//   "parameters": {
 44465  	//     "profileId": {
 44466  	//       "description": "The DFA user profile ID.",
 44467  	//       "format": "int64",
 44468  	//       "location": "path",
 44469  	//       "required": true,
 44470  	//       "type": "string"
 44471  	//     }
 44472  	//   },
 44473  	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
 44474  	//   "request": {
 44475  	//     "$ref": "Report"
 44476  	//   },
 44477  	//   "response": {
 44478  	//     "$ref": "CompatibleFields"
 44479  	//   },
 44480  	//   "scopes": [
 44481  	//     "https://www.googleapis.com/auth/dfareporting"
 44482  	//   ]
 44483  	// }
 44484  
 44485  }
 44486  
 44487  // method id "dfareporting.reports.files.get":
 44488  
 44489  type ReportsFilesGetCall struct {
 44490  	s            *Service
 44491  	profileId    int64
 44492  	reportId     int64
 44493  	fileId       int64
 44494  	urlParams_   gensupport.URLParams
 44495  	ifNoneMatch_ string
 44496  	ctx_         context.Context
 44497  	header_      http.Header
 44498  }
 44499  
 44500  // Get: Retrieves a report file. This method supports media download.
 44501  func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
 44502  	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44503  	c.profileId = profileId
 44504  	c.reportId = reportId
 44505  	c.fileId = fileId
 44506  	return c
 44507  }
 44508  
 44509  // Fields allows partial responses to be retrieved. See
 44510  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44511  // for more information.
 44512  func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
 44513  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44514  	return c
 44515  }
 44516  
 44517  // IfNoneMatch sets the optional parameter which makes the operation
 44518  // fail if the object's ETag matches the given value. This is useful for
 44519  // getting updates only after the object has changed since the last
 44520  // request. Use googleapi.IsNotModified to check whether the response
 44521  // error from Do is the result of In-None-Match.
 44522  func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
 44523  	c.ifNoneMatch_ = entityTag
 44524  	return c
 44525  }
 44526  
 44527  // Context sets the context to be used in this call's Do and Download
 44528  // methods. Any pending HTTP request will be aborted if the provided
 44529  // context is canceled.
 44530  func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 44531  	c.ctx_ = ctx
 44532  	return c
 44533  }
 44534  
 44535  // Header returns an http.Header that can be modified by the caller to
 44536  // add HTTP headers to the request.
 44537  func (c *ReportsFilesGetCall) Header() http.Header {
 44538  	if c.header_ == nil {
 44539  		c.header_ = make(http.Header)
 44540  	}
 44541  	return c.header_
 44542  }
 44543  
 44544  func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 44545  	reqHeaders := make(http.Header)
 44546  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44547  	for k, v := range c.header_ {
 44548  		reqHeaders[k] = v
 44549  	}
 44550  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44551  	if c.ifNoneMatch_ != "" {
 44552  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44553  	}
 44554  	var body io.Reader = nil
 44555  	c.urlParams_.Set("alt", alt)
 44556  	c.urlParams_.Set("prettyPrint", "false")
 44557  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
 44558  	urls += "?" + c.urlParams_.Encode()
 44559  	req, err := http.NewRequest("GET", urls, body)
 44560  	if err != nil {
 44561  		return nil, err
 44562  	}
 44563  	req.Header = reqHeaders
 44564  	googleapi.Expand(req.URL, map[string]string{
 44565  		"profileId": strconv.FormatInt(c.profileId, 10),
 44566  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44567  		"fileId":    strconv.FormatInt(c.fileId, 10),
 44568  	})
 44569  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44570  }
 44571  
 44572  // Download fetches the API endpoint's "media" value, instead of the normal
 44573  // API response value. If the returned error is nil, the Response is guaranteed to
 44574  // have a 2xx status code. Callers must close the Response.Body as usual.
 44575  func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 44576  	gensupport.SetOptions(c.urlParams_, opts...)
 44577  	res, err := c.doRequest("media")
 44578  	if err != nil {
 44579  		return nil, err
 44580  	}
 44581  	if err := googleapi.CheckMediaResponse(res); err != nil {
 44582  		res.Body.Close()
 44583  		return nil, err
 44584  	}
 44585  	return res, nil
 44586  }
 44587  
 44588  // Do executes the "dfareporting.reports.files.get" call.
 44589  // Exactly one of *File or error will be non-nil. Any non-2xx status
 44590  // code is an error. Response headers are in either
 44591  // *File.ServerResponse.Header or (if a response was returned at all) in
 44592  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 44593  // whether the returned error was because http.StatusNotModified was
 44594  // returned.
 44595  func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 44596  	gensupport.SetOptions(c.urlParams_, opts...)
 44597  	res, err := c.doRequest("json")
 44598  	if res != nil && res.StatusCode == http.StatusNotModified {
 44599  		if res.Body != nil {
 44600  			res.Body.Close()
 44601  		}
 44602  		return nil, &googleapi.Error{
 44603  			Code:   res.StatusCode,
 44604  			Header: res.Header,
 44605  		}
 44606  	}
 44607  	if err != nil {
 44608  		return nil, err
 44609  	}
 44610  	defer googleapi.CloseBody(res)
 44611  	if err := googleapi.CheckResponse(res); err != nil {
 44612  		return nil, err
 44613  	}
 44614  	ret := &File{
 44615  		ServerResponse: googleapi.ServerResponse{
 44616  			Header:         res.Header,
 44617  			HTTPStatusCode: res.StatusCode,
 44618  		},
 44619  	}
 44620  	target := &ret
 44621  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44622  		return nil, err
 44623  	}
 44624  	return ret, nil
 44625  	// {
 44626  	//   "description": "Retrieves a report file. This method supports media download.",
 44627  	//   "httpMethod": "GET",
 44628  	//   "id": "dfareporting.reports.files.get",
 44629  	//   "parameterOrder": [
 44630  	//     "profileId",
 44631  	//     "reportId",
 44632  	//     "fileId"
 44633  	//   ],
 44634  	//   "parameters": {
 44635  	//     "fileId": {
 44636  	//       "description": "The ID of the report file.",
 44637  	//       "format": "int64",
 44638  	//       "location": "path",
 44639  	//       "required": true,
 44640  	//       "type": "string"
 44641  	//     },
 44642  	//     "profileId": {
 44643  	//       "description": "The DFA profile ID.",
 44644  	//       "format": "int64",
 44645  	//       "location": "path",
 44646  	//       "required": true,
 44647  	//       "type": "string"
 44648  	//     },
 44649  	//     "reportId": {
 44650  	//       "description": "The ID of the report.",
 44651  	//       "format": "int64",
 44652  	//       "location": "path",
 44653  	//       "required": true,
 44654  	//       "type": "string"
 44655  	//     }
 44656  	//   },
 44657  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
 44658  	//   "response": {
 44659  	//     "$ref": "File"
 44660  	//   },
 44661  	//   "scopes": [
 44662  	//     "https://www.googleapis.com/auth/dfareporting"
 44663  	//   ],
 44664  	//   "supportsMediaDownload": true
 44665  	// }
 44666  
 44667  }
 44668  
 44669  // method id "dfareporting.reports.files.list":
 44670  
 44671  type ReportsFilesListCall struct {
 44672  	s            *Service
 44673  	profileId    int64
 44674  	reportId     int64
 44675  	urlParams_   gensupport.URLParams
 44676  	ifNoneMatch_ string
 44677  	ctx_         context.Context
 44678  	header_      http.Header
 44679  }
 44680  
 44681  // List: Lists files for a report.
 44682  func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
 44683  	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44684  	c.profileId = profileId
 44685  	c.reportId = reportId
 44686  	return c
 44687  }
 44688  
 44689  // MaxResults sets the optional parameter "maxResults": Maximum number
 44690  // of results to return.
 44691  func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
 44692  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 44693  	return c
 44694  }
 44695  
 44696  // PageToken sets the optional parameter "pageToken": The value of the
 44697  // nextToken from the previous result page.
 44698  func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
 44699  	c.urlParams_.Set("pageToken", pageToken)
 44700  	return c
 44701  }
 44702  
 44703  // SortField sets the optional parameter "sortField": The field by which
 44704  // to sort the list.
 44705  //
 44706  // Possible values:
 44707  //
 44708  //	"ID" - Sort by file ID.
 44709  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 44710  func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
 44711  	c.urlParams_.Set("sortField", sortField)
 44712  	return c
 44713  }
 44714  
 44715  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 44716  // results.
 44717  //
 44718  // Possible values:
 44719  //
 44720  //	"ASCENDING" - Ascending order.
 44721  //	"DESCENDING" (default) - Descending order.
 44722  func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
 44723  	c.urlParams_.Set("sortOrder", sortOrder)
 44724  	return c
 44725  }
 44726  
 44727  // Fields allows partial responses to be retrieved. See
 44728  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44729  // for more information.
 44730  func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
 44731  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44732  	return c
 44733  }
 44734  
 44735  // IfNoneMatch sets the optional parameter which makes the operation
 44736  // fail if the object's ETag matches the given value. This is useful for
 44737  // getting updates only after the object has changed since the last
 44738  // request. Use googleapi.IsNotModified to check whether the response
 44739  // error from Do is the result of In-None-Match.
 44740  func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
 44741  	c.ifNoneMatch_ = entityTag
 44742  	return c
 44743  }
 44744  
 44745  // Context sets the context to be used in this call's Do method. Any
 44746  // pending HTTP request will be aborted if the provided context is
 44747  // canceled.
 44748  func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 44749  	c.ctx_ = ctx
 44750  	return c
 44751  }
 44752  
 44753  // Header returns an http.Header that can be modified by the caller to
 44754  // add HTTP headers to the request.
 44755  func (c *ReportsFilesListCall) Header() http.Header {
 44756  	if c.header_ == nil {
 44757  		c.header_ = make(http.Header)
 44758  	}
 44759  	return c.header_
 44760  }
 44761  
 44762  func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 44763  	reqHeaders := make(http.Header)
 44764  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44765  	for k, v := range c.header_ {
 44766  		reqHeaders[k] = v
 44767  	}
 44768  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44769  	if c.ifNoneMatch_ != "" {
 44770  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44771  	}
 44772  	var body io.Reader = nil
 44773  	c.urlParams_.Set("alt", alt)
 44774  	c.urlParams_.Set("prettyPrint", "false")
 44775  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
 44776  	urls += "?" + c.urlParams_.Encode()
 44777  	req, err := http.NewRequest("GET", urls, body)
 44778  	if err != nil {
 44779  		return nil, err
 44780  	}
 44781  	req.Header = reqHeaders
 44782  	googleapi.Expand(req.URL, map[string]string{
 44783  		"profileId": strconv.FormatInt(c.profileId, 10),
 44784  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44785  	})
 44786  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44787  }
 44788  
 44789  // Do executes the "dfareporting.reports.files.list" call.
 44790  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 44791  // code is an error. Response headers are in either
 44792  // *FileList.ServerResponse.Header or (if a response was returned at
 44793  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 44794  // to check whether the returned error was because
 44795  // http.StatusNotModified was returned.
 44796  func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 44797  	gensupport.SetOptions(c.urlParams_, opts...)
 44798  	res, err := c.doRequest("json")
 44799  	if res != nil && res.StatusCode == http.StatusNotModified {
 44800  		if res.Body != nil {
 44801  			res.Body.Close()
 44802  		}
 44803  		return nil, &googleapi.Error{
 44804  			Code:   res.StatusCode,
 44805  			Header: res.Header,
 44806  		}
 44807  	}
 44808  	if err != nil {
 44809  		return nil, err
 44810  	}
 44811  	defer googleapi.CloseBody(res)
 44812  	if err := googleapi.CheckResponse(res); err != nil {
 44813  		return nil, err
 44814  	}
 44815  	ret := &FileList{
 44816  		ServerResponse: googleapi.ServerResponse{
 44817  			Header:         res.Header,
 44818  			HTTPStatusCode: res.StatusCode,
 44819  		},
 44820  	}
 44821  	target := &ret
 44822  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44823  		return nil, err
 44824  	}
 44825  	return ret, nil
 44826  	// {
 44827  	//   "description": "Lists files for a report.",
 44828  	//   "httpMethod": "GET",
 44829  	//   "id": "dfareporting.reports.files.list",
 44830  	//   "parameterOrder": [
 44831  	//     "profileId",
 44832  	//     "reportId"
 44833  	//   ],
 44834  	//   "parameters": {
 44835  	//     "maxResults": {
 44836  	//       "default": "10",
 44837  	//       "description": "Maximum number of results to return.",
 44838  	//       "format": "int32",
 44839  	//       "location": "query",
 44840  	//       "maximum": "10",
 44841  	//       "minimum": "0",
 44842  	//       "type": "integer"
 44843  	//     },
 44844  	//     "pageToken": {
 44845  	//       "description": "The value of the nextToken from the previous result page.",
 44846  	//       "location": "query",
 44847  	//       "type": "string"
 44848  	//     },
 44849  	//     "profileId": {
 44850  	//       "description": "The DFA profile ID.",
 44851  	//       "format": "int64",
 44852  	//       "location": "path",
 44853  	//       "required": true,
 44854  	//       "type": "string"
 44855  	//     },
 44856  	//     "reportId": {
 44857  	//       "description": "The ID of the parent report.",
 44858  	//       "format": "int64",
 44859  	//       "location": "path",
 44860  	//       "required": true,
 44861  	//       "type": "string"
 44862  	//     },
 44863  	//     "sortField": {
 44864  	//       "default": "LAST_MODIFIED_TIME",
 44865  	//       "description": "The field by which to sort the list.",
 44866  	//       "enum": [
 44867  	//         "ID",
 44868  	//         "LAST_MODIFIED_TIME"
 44869  	//       ],
 44870  	//       "enumDescriptions": [
 44871  	//         "Sort by file ID.",
 44872  	//         "Sort by 'lastmodifiedAt' field."
 44873  	//       ],
 44874  	//       "location": "query",
 44875  	//       "type": "string"
 44876  	//     },
 44877  	//     "sortOrder": {
 44878  	//       "default": "DESCENDING",
 44879  	//       "description": "Order of sorted results.",
 44880  	//       "enum": [
 44881  	//         "ASCENDING",
 44882  	//         "DESCENDING"
 44883  	//       ],
 44884  	//       "enumDescriptions": [
 44885  	//         "Ascending order.",
 44886  	//         "Descending order."
 44887  	//       ],
 44888  	//       "location": "query",
 44889  	//       "type": "string"
 44890  	//     }
 44891  	//   },
 44892  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
 44893  	//   "response": {
 44894  	//     "$ref": "FileList"
 44895  	//   },
 44896  	//   "scopes": [
 44897  	//     "https://www.googleapis.com/auth/dfareporting"
 44898  	//   ]
 44899  	// }
 44900  
 44901  }
 44902  
 44903  // Pages invokes f for each page of results.
 44904  // A non-nil error returned from f will halt the iteration.
 44905  // The provided context supersedes any context provided to the Context method.
 44906  func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 44907  	c.ctx_ = ctx
 44908  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 44909  	for {
 44910  		x, err := c.Do()
 44911  		if err != nil {
 44912  			return err
 44913  		}
 44914  		if err := f(x); err != nil {
 44915  			return err
 44916  		}
 44917  		if x.NextPageToken == "" {
 44918  			return nil
 44919  		}
 44920  		c.PageToken(x.NextPageToken)
 44921  	}
 44922  }
 44923  
 44924  // method id "dfareporting.sites.get":
 44925  
 44926  type SitesGetCall struct {
 44927  	s            *Service
 44928  	profileId    int64
 44929  	id           int64
 44930  	urlParams_   gensupport.URLParams
 44931  	ifNoneMatch_ string
 44932  	ctx_         context.Context
 44933  	header_      http.Header
 44934  }
 44935  
 44936  // Get: Gets one site by ID.
 44937  func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
 44938  	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44939  	c.profileId = profileId
 44940  	c.id = id
 44941  	return c
 44942  }
 44943  
 44944  // Fields allows partial responses to be retrieved. See
 44945  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44946  // for more information.
 44947  func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
 44948  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44949  	return c
 44950  }
 44951  
 44952  // IfNoneMatch sets the optional parameter which makes the operation
 44953  // fail if the object's ETag matches the given value. This is useful for
 44954  // getting updates only after the object has changed since the last
 44955  // request. Use googleapi.IsNotModified to check whether the response
 44956  // error from Do is the result of In-None-Match.
 44957  func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
 44958  	c.ifNoneMatch_ = entityTag
 44959  	return c
 44960  }
 44961  
 44962  // Context sets the context to be used in this call's Do method. Any
 44963  // pending HTTP request will be aborted if the provided context is
 44964  // canceled.
 44965  func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
 44966  	c.ctx_ = ctx
 44967  	return c
 44968  }
 44969  
 44970  // Header returns an http.Header that can be modified by the caller to
 44971  // add HTTP headers to the request.
 44972  func (c *SitesGetCall) Header() http.Header {
 44973  	if c.header_ == nil {
 44974  		c.header_ = make(http.Header)
 44975  	}
 44976  	return c.header_
 44977  }
 44978  
 44979  func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 44980  	reqHeaders := make(http.Header)
 44981  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44982  	for k, v := range c.header_ {
 44983  		reqHeaders[k] = v
 44984  	}
 44985  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44986  	if c.ifNoneMatch_ != "" {
 44987  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44988  	}
 44989  	var body io.Reader = nil
 44990  	c.urlParams_.Set("alt", alt)
 44991  	c.urlParams_.Set("prettyPrint", "false")
 44992  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
 44993  	urls += "?" + c.urlParams_.Encode()
 44994  	req, err := http.NewRequest("GET", urls, body)
 44995  	if err != nil {
 44996  		return nil, err
 44997  	}
 44998  	req.Header = reqHeaders
 44999  	googleapi.Expand(req.URL, map[string]string{
 45000  		"profileId": strconv.FormatInt(c.profileId, 10),
 45001  		"id":        strconv.FormatInt(c.id, 10),
 45002  	})
 45003  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45004  }
 45005  
 45006  // Do executes the "dfareporting.sites.get" call.
 45007  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 45008  // code is an error. Response headers are in either
 45009  // *Site.ServerResponse.Header or (if a response was returned at all) in
 45010  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45011  // whether the returned error was because http.StatusNotModified was
 45012  // returned.
 45013  func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 45014  	gensupport.SetOptions(c.urlParams_, opts...)
 45015  	res, err := c.doRequest("json")
 45016  	if res != nil && res.StatusCode == http.StatusNotModified {
 45017  		if res.Body != nil {
 45018  			res.Body.Close()
 45019  		}
 45020  		return nil, &googleapi.Error{
 45021  			Code:   res.StatusCode,
 45022  			Header: res.Header,
 45023  		}
 45024  	}
 45025  	if err != nil {
 45026  		return nil, err
 45027  	}
 45028  	defer googleapi.CloseBody(res)
 45029  	if err := googleapi.CheckResponse(res); err != nil {
 45030  		return nil, err
 45031  	}
 45032  	ret := &Site{
 45033  		ServerResponse: googleapi.ServerResponse{
 45034  			Header:         res.Header,
 45035  			HTTPStatusCode: res.StatusCode,
 45036  		},
 45037  	}
 45038  	target := &ret
 45039  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45040  		return nil, err
 45041  	}
 45042  	return ret, nil
 45043  	// {
 45044  	//   "description": "Gets one site by ID.",
 45045  	//   "httpMethod": "GET",
 45046  	//   "id": "dfareporting.sites.get",
 45047  	//   "parameterOrder": [
 45048  	//     "profileId",
 45049  	//     "id"
 45050  	//   ],
 45051  	//   "parameters": {
 45052  	//     "id": {
 45053  	//       "description": "Site ID.",
 45054  	//       "format": "int64",
 45055  	//       "location": "path",
 45056  	//       "required": true,
 45057  	//       "type": "string"
 45058  	//     },
 45059  	//     "profileId": {
 45060  	//       "description": "User profile ID associated with this request.",
 45061  	//       "format": "int64",
 45062  	//       "location": "path",
 45063  	//       "required": true,
 45064  	//       "type": "string"
 45065  	//     }
 45066  	//   },
 45067  	//   "path": "userprofiles/{profileId}/sites/{id}",
 45068  	//   "response": {
 45069  	//     "$ref": "Site"
 45070  	//   },
 45071  	//   "scopes": [
 45072  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45073  	//   ]
 45074  	// }
 45075  
 45076  }
 45077  
 45078  // method id "dfareporting.sites.insert":
 45079  
 45080  type SitesInsertCall struct {
 45081  	s          *Service
 45082  	profileId  int64
 45083  	site       *Site
 45084  	urlParams_ gensupport.URLParams
 45085  	ctx_       context.Context
 45086  	header_    http.Header
 45087  }
 45088  
 45089  // Insert: Inserts a new site.
 45090  func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
 45091  	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45092  	c.profileId = profileId
 45093  	c.site = site
 45094  	return c
 45095  }
 45096  
 45097  // Fields allows partial responses to be retrieved. See
 45098  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45099  // for more information.
 45100  func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
 45101  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45102  	return c
 45103  }
 45104  
 45105  // Context sets the context to be used in this call's Do method. Any
 45106  // pending HTTP request will be aborted if the provided context is
 45107  // canceled.
 45108  func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
 45109  	c.ctx_ = ctx
 45110  	return c
 45111  }
 45112  
 45113  // Header returns an http.Header that can be modified by the caller to
 45114  // add HTTP headers to the request.
 45115  func (c *SitesInsertCall) Header() http.Header {
 45116  	if c.header_ == nil {
 45117  		c.header_ = make(http.Header)
 45118  	}
 45119  	return c.header_
 45120  }
 45121  
 45122  func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
 45123  	reqHeaders := make(http.Header)
 45124  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45125  	for k, v := range c.header_ {
 45126  		reqHeaders[k] = v
 45127  	}
 45128  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45129  	var body io.Reader = nil
 45130  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 45131  	if err != nil {
 45132  		return nil, err
 45133  	}
 45134  	reqHeaders.Set("Content-Type", "application/json")
 45135  	c.urlParams_.Set("alt", alt)
 45136  	c.urlParams_.Set("prettyPrint", "false")
 45137  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 45138  	urls += "?" + c.urlParams_.Encode()
 45139  	req, err := http.NewRequest("POST", urls, body)
 45140  	if err != nil {
 45141  		return nil, err
 45142  	}
 45143  	req.Header = reqHeaders
 45144  	googleapi.Expand(req.URL, map[string]string{
 45145  		"profileId": strconv.FormatInt(c.profileId, 10),
 45146  	})
 45147  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45148  }
 45149  
 45150  // Do executes the "dfareporting.sites.insert" call.
 45151  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 45152  // code is an error. Response headers are in either
 45153  // *Site.ServerResponse.Header or (if a response was returned at all) in
 45154  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45155  // whether the returned error was because http.StatusNotModified was
 45156  // returned.
 45157  func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 45158  	gensupport.SetOptions(c.urlParams_, opts...)
 45159  	res, err := c.doRequest("json")
 45160  	if res != nil && res.StatusCode == http.StatusNotModified {
 45161  		if res.Body != nil {
 45162  			res.Body.Close()
 45163  		}
 45164  		return nil, &googleapi.Error{
 45165  			Code:   res.StatusCode,
 45166  			Header: res.Header,
 45167  		}
 45168  	}
 45169  	if err != nil {
 45170  		return nil, err
 45171  	}
 45172  	defer googleapi.CloseBody(res)
 45173  	if err := googleapi.CheckResponse(res); err != nil {
 45174  		return nil, err
 45175  	}
 45176  	ret := &Site{
 45177  		ServerResponse: googleapi.ServerResponse{
 45178  			Header:         res.Header,
 45179  			HTTPStatusCode: res.StatusCode,
 45180  		},
 45181  	}
 45182  	target := &ret
 45183  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45184  		return nil, err
 45185  	}
 45186  	return ret, nil
 45187  	// {
 45188  	//   "description": "Inserts a new site.",
 45189  	//   "httpMethod": "POST",
 45190  	//   "id": "dfareporting.sites.insert",
 45191  	//   "parameterOrder": [
 45192  	//     "profileId"
 45193  	//   ],
 45194  	//   "parameters": {
 45195  	//     "profileId": {
 45196  	//       "description": "User profile ID associated with this request.",
 45197  	//       "format": "int64",
 45198  	//       "location": "path",
 45199  	//       "required": true,
 45200  	//       "type": "string"
 45201  	//     }
 45202  	//   },
 45203  	//   "path": "userprofiles/{profileId}/sites",
 45204  	//   "request": {
 45205  	//     "$ref": "Site"
 45206  	//   },
 45207  	//   "response": {
 45208  	//     "$ref": "Site"
 45209  	//   },
 45210  	//   "scopes": [
 45211  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45212  	//   ]
 45213  	// }
 45214  
 45215  }
 45216  
 45217  // method id "dfareporting.sites.list":
 45218  
 45219  type SitesListCall struct {
 45220  	s            *Service
 45221  	profileId    int64
 45222  	urlParams_   gensupport.URLParams
 45223  	ifNoneMatch_ string
 45224  	ctx_         context.Context
 45225  	header_      http.Header
 45226  }
 45227  
 45228  // List: Retrieves a list of sites, possibly filtered. This method
 45229  // supports paging.
 45230  func (r *SitesService) List(profileId int64) *SitesListCall {
 45231  	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45232  	c.profileId = profileId
 45233  	return c
 45234  }
 45235  
 45236  // AcceptsInStreamVideoPlacements sets the optional parameter
 45237  // "acceptsInStreamVideoPlacements": This search filter is no longer
 45238  // supported and will have no effect on the results returned.
 45239  func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
 45240  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 45241  	return c
 45242  }
 45243  
 45244  // AcceptsInterstitialPlacements sets the optional parameter
 45245  // "acceptsInterstitialPlacements": This search filter is no longer
 45246  // supported and will have no effect on the results returned.
 45247  func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
 45248  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 45249  	return c
 45250  }
 45251  
 45252  // AcceptsPublisherPaidPlacements sets the optional parameter
 45253  // "acceptsPublisherPaidPlacements": Select only sites that accept
 45254  // publisher paid placements.
 45255  func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
 45256  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 45257  	return c
 45258  }
 45259  
 45260  // AdWordsSite sets the optional parameter "adWordsSite": Select only
 45261  // AdWords sites.
 45262  func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
 45263  	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
 45264  	return c
 45265  }
 45266  
 45267  // Approved sets the optional parameter "approved": Select only approved
 45268  // sites.
 45269  func (c *SitesListCall) Approved(approved bool) *SitesListCall {
 45270  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 45271  	return c
 45272  }
 45273  
 45274  // CampaignIds sets the optional parameter "campaignIds": Select only
 45275  // sites with these campaign IDs.
 45276  func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
 45277  	var campaignIds_ []string
 45278  	for _, v := range campaignIds {
 45279  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 45280  	}
 45281  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 45282  	return c
 45283  }
 45284  
 45285  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 45286  // Select only sites with these directory site IDs.
 45287  func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
 45288  	var directorySiteIds_ []string
 45289  	for _, v := range directorySiteIds {
 45290  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 45291  	}
 45292  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 45293  	return c
 45294  }
 45295  
 45296  // Ids sets the optional parameter "ids": Select only sites with these
 45297  // IDs.
 45298  func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
 45299  	var ids_ []string
 45300  	for _, v := range ids {
 45301  		ids_ = append(ids_, fmt.Sprint(v))
 45302  	}
 45303  	c.urlParams_.SetMulti("ids", ids_)
 45304  	return c
 45305  }
 45306  
 45307  // MaxResults sets the optional parameter "maxResults": Maximum number
 45308  // of results to return.
 45309  func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
 45310  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 45311  	return c
 45312  }
 45313  
 45314  // PageToken sets the optional parameter "pageToken": Value of the
 45315  // nextPageToken from the previous result page.
 45316  func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
 45317  	c.urlParams_.Set("pageToken", pageToken)
 45318  	return c
 45319  }
 45320  
 45321  // SearchString sets the optional parameter "searchString": Allows
 45322  // searching for objects by name, ID or keyName. Wildcards (*) are
 45323  // allowed. For example, "site*2015" will return objects with names like
 45324  // "site June 2015", "site April 2015", or simply "site 2015". Most of
 45325  // the searches also add wildcards implicitly at the start and the end
 45326  // of the search string. For example, a search string of "site" will
 45327  // match objects with name "my site", "site 2015", or simply "site".
 45328  func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
 45329  	c.urlParams_.Set("searchString", searchString)
 45330  	return c
 45331  }
 45332  
 45333  // SortField sets the optional parameter "sortField": Field by which to
 45334  // sort the list.
 45335  //
 45336  // Possible values:
 45337  //
 45338  //	"ID" (default)
 45339  //	"NAME"
 45340  func (c *SitesListCall) SortField(sortField string) *SitesListCall {
 45341  	c.urlParams_.Set("sortField", sortField)
 45342  	return c
 45343  }
 45344  
 45345  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 45346  // results.
 45347  //
 45348  // Possible values:
 45349  //
 45350  //	"ASCENDING" (default)
 45351  //	"DESCENDING"
 45352  func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
 45353  	c.urlParams_.Set("sortOrder", sortOrder)
 45354  	return c
 45355  }
 45356  
 45357  // SubaccountId sets the optional parameter "subaccountId": Select only
 45358  // sites with this subaccount ID.
 45359  func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
 45360  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 45361  	return c
 45362  }
 45363  
 45364  // UnmappedSite sets the optional parameter "unmappedSite": Select only
 45365  // sites that have not been mapped to a directory site.
 45366  func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
 45367  	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
 45368  	return c
 45369  }
 45370  
 45371  // Fields allows partial responses to be retrieved. See
 45372  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45373  // for more information.
 45374  func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
 45375  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45376  	return c
 45377  }
 45378  
 45379  // IfNoneMatch sets the optional parameter which makes the operation
 45380  // fail if the object's ETag matches the given value. This is useful for
 45381  // getting updates only after the object has changed since the last
 45382  // request. Use googleapi.IsNotModified to check whether the response
 45383  // error from Do is the result of In-None-Match.
 45384  func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
 45385  	c.ifNoneMatch_ = entityTag
 45386  	return c
 45387  }
 45388  
 45389  // Context sets the context to be used in this call's Do method. Any
 45390  // pending HTTP request will be aborted if the provided context is
 45391  // canceled.
 45392  func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
 45393  	c.ctx_ = ctx
 45394  	return c
 45395  }
 45396  
 45397  // Header returns an http.Header that can be modified by the caller to
 45398  // add HTTP headers to the request.
 45399  func (c *SitesListCall) Header() http.Header {
 45400  	if c.header_ == nil {
 45401  		c.header_ = make(http.Header)
 45402  	}
 45403  	return c.header_
 45404  }
 45405  
 45406  func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 45407  	reqHeaders := make(http.Header)
 45408  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45409  	for k, v := range c.header_ {
 45410  		reqHeaders[k] = v
 45411  	}
 45412  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45413  	if c.ifNoneMatch_ != "" {
 45414  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45415  	}
 45416  	var body io.Reader = nil
 45417  	c.urlParams_.Set("alt", alt)
 45418  	c.urlParams_.Set("prettyPrint", "false")
 45419  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 45420  	urls += "?" + c.urlParams_.Encode()
 45421  	req, err := http.NewRequest("GET", urls, body)
 45422  	if err != nil {
 45423  		return nil, err
 45424  	}
 45425  	req.Header = reqHeaders
 45426  	googleapi.Expand(req.URL, map[string]string{
 45427  		"profileId": strconv.FormatInt(c.profileId, 10),
 45428  	})
 45429  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45430  }
 45431  
 45432  // Do executes the "dfareporting.sites.list" call.
 45433  // Exactly one of *SitesListResponse or error will be non-nil. Any
 45434  // non-2xx status code is an error. Response headers are in either
 45435  // *SitesListResponse.ServerResponse.Header or (if a response was
 45436  // returned at all) in error.(*googleapi.Error).Header. Use
 45437  // googleapi.IsNotModified to check whether the returned error was
 45438  // because http.StatusNotModified was returned.
 45439  func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
 45440  	gensupport.SetOptions(c.urlParams_, opts...)
 45441  	res, err := c.doRequest("json")
 45442  	if res != nil && res.StatusCode == http.StatusNotModified {
 45443  		if res.Body != nil {
 45444  			res.Body.Close()
 45445  		}
 45446  		return nil, &googleapi.Error{
 45447  			Code:   res.StatusCode,
 45448  			Header: res.Header,
 45449  		}
 45450  	}
 45451  	if err != nil {
 45452  		return nil, err
 45453  	}
 45454  	defer googleapi.CloseBody(res)
 45455  	if err := googleapi.CheckResponse(res); err != nil {
 45456  		return nil, err
 45457  	}
 45458  	ret := &SitesListResponse{
 45459  		ServerResponse: googleapi.ServerResponse{
 45460  			Header:         res.Header,
 45461  			HTTPStatusCode: res.StatusCode,
 45462  		},
 45463  	}
 45464  	target := &ret
 45465  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45466  		return nil, err
 45467  	}
 45468  	return ret, nil
 45469  	// {
 45470  	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
 45471  	//   "httpMethod": "GET",
 45472  	//   "id": "dfareporting.sites.list",
 45473  	//   "parameterOrder": [
 45474  	//     "profileId"
 45475  	//   ],
 45476  	//   "parameters": {
 45477  	//     "acceptsInStreamVideoPlacements": {
 45478  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 45479  	//       "location": "query",
 45480  	//       "type": "boolean"
 45481  	//     },
 45482  	//     "acceptsInterstitialPlacements": {
 45483  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 45484  	//       "location": "query",
 45485  	//       "type": "boolean"
 45486  	//     },
 45487  	//     "acceptsPublisherPaidPlacements": {
 45488  	//       "description": "Select only sites that accept publisher paid placements.",
 45489  	//       "location": "query",
 45490  	//       "type": "boolean"
 45491  	//     },
 45492  	//     "adWordsSite": {
 45493  	//       "description": "Select only AdWords sites.",
 45494  	//       "location": "query",
 45495  	//       "type": "boolean"
 45496  	//     },
 45497  	//     "approved": {
 45498  	//       "description": "Select only approved sites.",
 45499  	//       "location": "query",
 45500  	//       "type": "boolean"
 45501  	//     },
 45502  	//     "campaignIds": {
 45503  	//       "description": "Select only sites with these campaign IDs.",
 45504  	//       "format": "int64",
 45505  	//       "location": "query",
 45506  	//       "repeated": true,
 45507  	//       "type": "string"
 45508  	//     },
 45509  	//     "directorySiteIds": {
 45510  	//       "description": "Select only sites with these directory site IDs.",
 45511  	//       "format": "int64",
 45512  	//       "location": "query",
 45513  	//       "repeated": true,
 45514  	//       "type": "string"
 45515  	//     },
 45516  	//     "ids": {
 45517  	//       "description": "Select only sites with these IDs.",
 45518  	//       "format": "int64",
 45519  	//       "location": "query",
 45520  	//       "repeated": true,
 45521  	//       "type": "string"
 45522  	//     },
 45523  	//     "maxResults": {
 45524  	//       "default": "1000",
 45525  	//       "description": "Maximum number of results to return.",
 45526  	//       "format": "int32",
 45527  	//       "location": "query",
 45528  	//       "maximum": "1000",
 45529  	//       "minimum": "0",
 45530  	//       "type": "integer"
 45531  	//     },
 45532  	//     "pageToken": {
 45533  	//       "description": "Value of the nextPageToken from the previous result page.",
 45534  	//       "location": "query",
 45535  	//       "type": "string"
 45536  	//     },
 45537  	//     "profileId": {
 45538  	//       "description": "User profile ID associated with this request.",
 45539  	//       "format": "int64",
 45540  	//       "location": "path",
 45541  	//       "required": true,
 45542  	//       "type": "string"
 45543  	//     },
 45544  	//     "searchString": {
 45545  	//       "description": "Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, \"site*2015\" will return objects with names like \"site June 2015\", \"site April 2015\", or simply \"site 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"site\" will match objects with name \"my site\", \"site 2015\", or simply \"site\".",
 45546  	//       "location": "query",
 45547  	//       "type": "string"
 45548  	//     },
 45549  	//     "sortField": {
 45550  	//       "default": "ID",
 45551  	//       "description": "Field by which to sort the list.",
 45552  	//       "enum": [
 45553  	//         "ID",
 45554  	//         "NAME"
 45555  	//       ],
 45556  	//       "enumDescriptions": [
 45557  	//         "",
 45558  	//         ""
 45559  	//       ],
 45560  	//       "location": "query",
 45561  	//       "type": "string"
 45562  	//     },
 45563  	//     "sortOrder": {
 45564  	//       "default": "ASCENDING",
 45565  	//       "description": "Order of sorted results.",
 45566  	//       "enum": [
 45567  	//         "ASCENDING",
 45568  	//         "DESCENDING"
 45569  	//       ],
 45570  	//       "enumDescriptions": [
 45571  	//         "",
 45572  	//         ""
 45573  	//       ],
 45574  	//       "location": "query",
 45575  	//       "type": "string"
 45576  	//     },
 45577  	//     "subaccountId": {
 45578  	//       "description": "Select only sites with this subaccount ID.",
 45579  	//       "format": "int64",
 45580  	//       "location": "query",
 45581  	//       "type": "string"
 45582  	//     },
 45583  	//     "unmappedSite": {
 45584  	//       "description": "Select only sites that have not been mapped to a directory site.",
 45585  	//       "location": "query",
 45586  	//       "type": "boolean"
 45587  	//     }
 45588  	//   },
 45589  	//   "path": "userprofiles/{profileId}/sites",
 45590  	//   "response": {
 45591  	//     "$ref": "SitesListResponse"
 45592  	//   },
 45593  	//   "scopes": [
 45594  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45595  	//   ]
 45596  	// }
 45597  
 45598  }
 45599  
 45600  // Pages invokes f for each page of results.
 45601  // A non-nil error returned from f will halt the iteration.
 45602  // The provided context supersedes any context provided to the Context method.
 45603  func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
 45604  	c.ctx_ = ctx
 45605  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 45606  	for {
 45607  		x, err := c.Do()
 45608  		if err != nil {
 45609  			return err
 45610  		}
 45611  		if err := f(x); err != nil {
 45612  			return err
 45613  		}
 45614  		if x.NextPageToken == "" {
 45615  			return nil
 45616  		}
 45617  		c.PageToken(x.NextPageToken)
 45618  	}
 45619  }
 45620  
 45621  // method id "dfareporting.sites.patch":
 45622  
 45623  type SitesPatchCall struct {
 45624  	s          *Service
 45625  	profileId  int64
 45626  	site       *Site
 45627  	urlParams_ gensupport.URLParams
 45628  	ctx_       context.Context
 45629  	header_    http.Header
 45630  }
 45631  
 45632  // Patch: Updates an existing site. This method supports patch
 45633  // semantics.
 45634  func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
 45635  	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45636  	c.profileId = profileId
 45637  	c.urlParams_.Set("id", fmt.Sprint(id))
 45638  	c.site = site
 45639  	return c
 45640  }
 45641  
 45642  // Fields allows partial responses to be retrieved. See
 45643  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45644  // for more information.
 45645  func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
 45646  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45647  	return c
 45648  }
 45649  
 45650  // Context sets the context to be used in this call's Do method. Any
 45651  // pending HTTP request will be aborted if the provided context is
 45652  // canceled.
 45653  func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
 45654  	c.ctx_ = ctx
 45655  	return c
 45656  }
 45657  
 45658  // Header returns an http.Header that can be modified by the caller to
 45659  // add HTTP headers to the request.
 45660  func (c *SitesPatchCall) Header() http.Header {
 45661  	if c.header_ == nil {
 45662  		c.header_ = make(http.Header)
 45663  	}
 45664  	return c.header_
 45665  }
 45666  
 45667  func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
 45668  	reqHeaders := make(http.Header)
 45669  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45670  	for k, v := range c.header_ {
 45671  		reqHeaders[k] = v
 45672  	}
 45673  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45674  	var body io.Reader = nil
 45675  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 45676  	if err != nil {
 45677  		return nil, err
 45678  	}
 45679  	reqHeaders.Set("Content-Type", "application/json")
 45680  	c.urlParams_.Set("alt", alt)
 45681  	c.urlParams_.Set("prettyPrint", "false")
 45682  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 45683  	urls += "?" + c.urlParams_.Encode()
 45684  	req, err := http.NewRequest("PATCH", urls, body)
 45685  	if err != nil {
 45686  		return nil, err
 45687  	}
 45688  	req.Header = reqHeaders
 45689  	googleapi.Expand(req.URL, map[string]string{
 45690  		"profileId": strconv.FormatInt(c.profileId, 10),
 45691  	})
 45692  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45693  }
 45694  
 45695  // Do executes the "dfareporting.sites.patch" call.
 45696  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 45697  // code is an error. Response headers are in either
 45698  // *Site.ServerResponse.Header or (if a response was returned at all) in
 45699  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45700  // whether the returned error was because http.StatusNotModified was
 45701  // returned.
 45702  func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 45703  	gensupport.SetOptions(c.urlParams_, opts...)
 45704  	res, err := c.doRequest("json")
 45705  	if res != nil && res.StatusCode == http.StatusNotModified {
 45706  		if res.Body != nil {
 45707  			res.Body.Close()
 45708  		}
 45709  		return nil, &googleapi.Error{
 45710  			Code:   res.StatusCode,
 45711  			Header: res.Header,
 45712  		}
 45713  	}
 45714  	if err != nil {
 45715  		return nil, err
 45716  	}
 45717  	defer googleapi.CloseBody(res)
 45718  	if err := googleapi.CheckResponse(res); err != nil {
 45719  		return nil, err
 45720  	}
 45721  	ret := &Site{
 45722  		ServerResponse: googleapi.ServerResponse{
 45723  			Header:         res.Header,
 45724  			HTTPStatusCode: res.StatusCode,
 45725  		},
 45726  	}
 45727  	target := &ret
 45728  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45729  		return nil, err
 45730  	}
 45731  	return ret, nil
 45732  	// {
 45733  	//   "description": "Updates an existing site. This method supports patch semantics.",
 45734  	//   "httpMethod": "PATCH",
 45735  	//   "id": "dfareporting.sites.patch",
 45736  	//   "parameterOrder": [
 45737  	//     "profileId",
 45738  	//     "id"
 45739  	//   ],
 45740  	//   "parameters": {
 45741  	//     "id": {
 45742  	//       "description": "Site ID.",
 45743  	//       "format": "int64",
 45744  	//       "location": "query",
 45745  	//       "required": true,
 45746  	//       "type": "string"
 45747  	//     },
 45748  	//     "profileId": {
 45749  	//       "description": "User profile ID associated with this request.",
 45750  	//       "format": "int64",
 45751  	//       "location": "path",
 45752  	//       "required": true,
 45753  	//       "type": "string"
 45754  	//     }
 45755  	//   },
 45756  	//   "path": "userprofiles/{profileId}/sites",
 45757  	//   "request": {
 45758  	//     "$ref": "Site"
 45759  	//   },
 45760  	//   "response": {
 45761  	//     "$ref": "Site"
 45762  	//   },
 45763  	//   "scopes": [
 45764  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45765  	//   ]
 45766  	// }
 45767  
 45768  }
 45769  
 45770  // method id "dfareporting.sites.update":
 45771  
 45772  type SitesUpdateCall struct {
 45773  	s          *Service
 45774  	profileId  int64
 45775  	site       *Site
 45776  	urlParams_ gensupport.URLParams
 45777  	ctx_       context.Context
 45778  	header_    http.Header
 45779  }
 45780  
 45781  // Update: Updates an existing site.
 45782  func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
 45783  	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45784  	c.profileId = profileId
 45785  	c.site = site
 45786  	return c
 45787  }
 45788  
 45789  // Fields allows partial responses to be retrieved. See
 45790  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45791  // for more information.
 45792  func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
 45793  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45794  	return c
 45795  }
 45796  
 45797  // Context sets the context to be used in this call's Do method. Any
 45798  // pending HTTP request will be aborted if the provided context is
 45799  // canceled.
 45800  func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
 45801  	c.ctx_ = ctx
 45802  	return c
 45803  }
 45804  
 45805  // Header returns an http.Header that can be modified by the caller to
 45806  // add HTTP headers to the request.
 45807  func (c *SitesUpdateCall) Header() http.Header {
 45808  	if c.header_ == nil {
 45809  		c.header_ = make(http.Header)
 45810  	}
 45811  	return c.header_
 45812  }
 45813  
 45814  func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
 45815  	reqHeaders := make(http.Header)
 45816  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45817  	for k, v := range c.header_ {
 45818  		reqHeaders[k] = v
 45819  	}
 45820  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45821  	var body io.Reader = nil
 45822  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 45823  	if err != nil {
 45824  		return nil, err
 45825  	}
 45826  	reqHeaders.Set("Content-Type", "application/json")
 45827  	c.urlParams_.Set("alt", alt)
 45828  	c.urlParams_.Set("prettyPrint", "false")
 45829  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 45830  	urls += "?" + c.urlParams_.Encode()
 45831  	req, err := http.NewRequest("PUT", urls, body)
 45832  	if err != nil {
 45833  		return nil, err
 45834  	}
 45835  	req.Header = reqHeaders
 45836  	googleapi.Expand(req.URL, map[string]string{
 45837  		"profileId": strconv.FormatInt(c.profileId, 10),
 45838  	})
 45839  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45840  }
 45841  
 45842  // Do executes the "dfareporting.sites.update" call.
 45843  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 45844  // code is an error. Response headers are in either
 45845  // *Site.ServerResponse.Header or (if a response was returned at all) in
 45846  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45847  // whether the returned error was because http.StatusNotModified was
 45848  // returned.
 45849  func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 45850  	gensupport.SetOptions(c.urlParams_, opts...)
 45851  	res, err := c.doRequest("json")
 45852  	if res != nil && res.StatusCode == http.StatusNotModified {
 45853  		if res.Body != nil {
 45854  			res.Body.Close()
 45855  		}
 45856  		return nil, &googleapi.Error{
 45857  			Code:   res.StatusCode,
 45858  			Header: res.Header,
 45859  		}
 45860  	}
 45861  	if err != nil {
 45862  		return nil, err
 45863  	}
 45864  	defer googleapi.CloseBody(res)
 45865  	if err := googleapi.CheckResponse(res); err != nil {
 45866  		return nil, err
 45867  	}
 45868  	ret := &Site{
 45869  		ServerResponse: googleapi.ServerResponse{
 45870  			Header:         res.Header,
 45871  			HTTPStatusCode: res.StatusCode,
 45872  		},
 45873  	}
 45874  	target := &ret
 45875  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45876  		return nil, err
 45877  	}
 45878  	return ret, nil
 45879  	// {
 45880  	//   "description": "Updates an existing site.",
 45881  	//   "httpMethod": "PUT",
 45882  	//   "id": "dfareporting.sites.update",
 45883  	//   "parameterOrder": [
 45884  	//     "profileId"
 45885  	//   ],
 45886  	//   "parameters": {
 45887  	//     "profileId": {
 45888  	//       "description": "User profile ID associated with this request.",
 45889  	//       "format": "int64",
 45890  	//       "location": "path",
 45891  	//       "required": true,
 45892  	//       "type": "string"
 45893  	//     }
 45894  	//   },
 45895  	//   "path": "userprofiles/{profileId}/sites",
 45896  	//   "request": {
 45897  	//     "$ref": "Site"
 45898  	//   },
 45899  	//   "response": {
 45900  	//     "$ref": "Site"
 45901  	//   },
 45902  	//   "scopes": [
 45903  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45904  	//   ]
 45905  	// }
 45906  
 45907  }
 45908  
 45909  // method id "dfareporting.sizes.get":
 45910  
 45911  type SizesGetCall struct {
 45912  	s            *Service
 45913  	profileId    int64
 45914  	id           int64
 45915  	urlParams_   gensupport.URLParams
 45916  	ifNoneMatch_ string
 45917  	ctx_         context.Context
 45918  	header_      http.Header
 45919  }
 45920  
 45921  // Get: Gets one size by ID.
 45922  func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
 45923  	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45924  	c.profileId = profileId
 45925  	c.id = id
 45926  	return c
 45927  }
 45928  
 45929  // Fields allows partial responses to be retrieved. See
 45930  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45931  // for more information.
 45932  func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
 45933  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45934  	return c
 45935  }
 45936  
 45937  // IfNoneMatch sets the optional parameter which makes the operation
 45938  // fail if the object's ETag matches the given value. This is useful for
 45939  // getting updates only after the object has changed since the last
 45940  // request. Use googleapi.IsNotModified to check whether the response
 45941  // error from Do is the result of In-None-Match.
 45942  func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
 45943  	c.ifNoneMatch_ = entityTag
 45944  	return c
 45945  }
 45946  
 45947  // Context sets the context to be used in this call's Do method. Any
 45948  // pending HTTP request will be aborted if the provided context is
 45949  // canceled.
 45950  func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
 45951  	c.ctx_ = ctx
 45952  	return c
 45953  }
 45954  
 45955  // Header returns an http.Header that can be modified by the caller to
 45956  // add HTTP headers to the request.
 45957  func (c *SizesGetCall) Header() http.Header {
 45958  	if c.header_ == nil {
 45959  		c.header_ = make(http.Header)
 45960  	}
 45961  	return c.header_
 45962  }
 45963  
 45964  func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 45965  	reqHeaders := make(http.Header)
 45966  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45967  	for k, v := range c.header_ {
 45968  		reqHeaders[k] = v
 45969  	}
 45970  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45971  	if c.ifNoneMatch_ != "" {
 45972  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45973  	}
 45974  	var body io.Reader = nil
 45975  	c.urlParams_.Set("alt", alt)
 45976  	c.urlParams_.Set("prettyPrint", "false")
 45977  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
 45978  	urls += "?" + c.urlParams_.Encode()
 45979  	req, err := http.NewRequest("GET", urls, body)
 45980  	if err != nil {
 45981  		return nil, err
 45982  	}
 45983  	req.Header = reqHeaders
 45984  	googleapi.Expand(req.URL, map[string]string{
 45985  		"profileId": strconv.FormatInt(c.profileId, 10),
 45986  		"id":        strconv.FormatInt(c.id, 10),
 45987  	})
 45988  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45989  }
 45990  
 45991  // Do executes the "dfareporting.sizes.get" call.
 45992  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 45993  // code is an error. Response headers are in either
 45994  // *Size.ServerResponse.Header or (if a response was returned at all) in
 45995  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45996  // whether the returned error was because http.StatusNotModified was
 45997  // returned.
 45998  func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 45999  	gensupport.SetOptions(c.urlParams_, opts...)
 46000  	res, err := c.doRequest("json")
 46001  	if res != nil && res.StatusCode == http.StatusNotModified {
 46002  		if res.Body != nil {
 46003  			res.Body.Close()
 46004  		}
 46005  		return nil, &googleapi.Error{
 46006  			Code:   res.StatusCode,
 46007  			Header: res.Header,
 46008  		}
 46009  	}
 46010  	if err != nil {
 46011  		return nil, err
 46012  	}
 46013  	defer googleapi.CloseBody(res)
 46014  	if err := googleapi.CheckResponse(res); err != nil {
 46015  		return nil, err
 46016  	}
 46017  	ret := &Size{
 46018  		ServerResponse: googleapi.ServerResponse{
 46019  			Header:         res.Header,
 46020  			HTTPStatusCode: res.StatusCode,
 46021  		},
 46022  	}
 46023  	target := &ret
 46024  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46025  		return nil, err
 46026  	}
 46027  	return ret, nil
 46028  	// {
 46029  	//   "description": "Gets one size by ID.",
 46030  	//   "httpMethod": "GET",
 46031  	//   "id": "dfareporting.sizes.get",
 46032  	//   "parameterOrder": [
 46033  	//     "profileId",
 46034  	//     "id"
 46035  	//   ],
 46036  	//   "parameters": {
 46037  	//     "id": {
 46038  	//       "description": "Size ID.",
 46039  	//       "format": "int64",
 46040  	//       "location": "path",
 46041  	//       "required": true,
 46042  	//       "type": "string"
 46043  	//     },
 46044  	//     "profileId": {
 46045  	//       "description": "User profile ID associated with this request.",
 46046  	//       "format": "int64",
 46047  	//       "location": "path",
 46048  	//       "required": true,
 46049  	//       "type": "string"
 46050  	//     }
 46051  	//   },
 46052  	//   "path": "userprofiles/{profileId}/sizes/{id}",
 46053  	//   "response": {
 46054  	//     "$ref": "Size"
 46055  	//   },
 46056  	//   "scopes": [
 46057  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46058  	//   ]
 46059  	// }
 46060  
 46061  }
 46062  
 46063  // method id "dfareporting.sizes.insert":
 46064  
 46065  type SizesInsertCall struct {
 46066  	s          *Service
 46067  	profileId  int64
 46068  	size       *Size
 46069  	urlParams_ gensupport.URLParams
 46070  	ctx_       context.Context
 46071  	header_    http.Header
 46072  }
 46073  
 46074  // Insert: Inserts a new size.
 46075  func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
 46076  	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46077  	c.profileId = profileId
 46078  	c.size = size
 46079  	return c
 46080  }
 46081  
 46082  // Fields allows partial responses to be retrieved. See
 46083  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46084  // for more information.
 46085  func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
 46086  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46087  	return c
 46088  }
 46089  
 46090  // Context sets the context to be used in this call's Do method. Any
 46091  // pending HTTP request will be aborted if the provided context is
 46092  // canceled.
 46093  func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
 46094  	c.ctx_ = ctx
 46095  	return c
 46096  }
 46097  
 46098  // Header returns an http.Header that can be modified by the caller to
 46099  // add HTTP headers to the request.
 46100  func (c *SizesInsertCall) Header() http.Header {
 46101  	if c.header_ == nil {
 46102  		c.header_ = make(http.Header)
 46103  	}
 46104  	return c.header_
 46105  }
 46106  
 46107  func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
 46108  	reqHeaders := make(http.Header)
 46109  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46110  	for k, v := range c.header_ {
 46111  		reqHeaders[k] = v
 46112  	}
 46113  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46114  	var body io.Reader = nil
 46115  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
 46116  	if err != nil {
 46117  		return nil, err
 46118  	}
 46119  	reqHeaders.Set("Content-Type", "application/json")
 46120  	c.urlParams_.Set("alt", alt)
 46121  	c.urlParams_.Set("prettyPrint", "false")
 46122  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 46123  	urls += "?" + c.urlParams_.Encode()
 46124  	req, err := http.NewRequest("POST", urls, body)
 46125  	if err != nil {
 46126  		return nil, err
 46127  	}
 46128  	req.Header = reqHeaders
 46129  	googleapi.Expand(req.URL, map[string]string{
 46130  		"profileId": strconv.FormatInt(c.profileId, 10),
 46131  	})
 46132  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46133  }
 46134  
 46135  // Do executes the "dfareporting.sizes.insert" call.
 46136  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 46137  // code is an error. Response headers are in either
 46138  // *Size.ServerResponse.Header or (if a response was returned at all) in
 46139  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46140  // whether the returned error was because http.StatusNotModified was
 46141  // returned.
 46142  func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 46143  	gensupport.SetOptions(c.urlParams_, opts...)
 46144  	res, err := c.doRequest("json")
 46145  	if res != nil && res.StatusCode == http.StatusNotModified {
 46146  		if res.Body != nil {
 46147  			res.Body.Close()
 46148  		}
 46149  		return nil, &googleapi.Error{
 46150  			Code:   res.StatusCode,
 46151  			Header: res.Header,
 46152  		}
 46153  	}
 46154  	if err != nil {
 46155  		return nil, err
 46156  	}
 46157  	defer googleapi.CloseBody(res)
 46158  	if err := googleapi.CheckResponse(res); err != nil {
 46159  		return nil, err
 46160  	}
 46161  	ret := &Size{
 46162  		ServerResponse: googleapi.ServerResponse{
 46163  			Header:         res.Header,
 46164  			HTTPStatusCode: res.StatusCode,
 46165  		},
 46166  	}
 46167  	target := &ret
 46168  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46169  		return nil, err
 46170  	}
 46171  	return ret, nil
 46172  	// {
 46173  	//   "description": "Inserts a new size.",
 46174  	//   "httpMethod": "POST",
 46175  	//   "id": "dfareporting.sizes.insert",
 46176  	//   "parameterOrder": [
 46177  	//     "profileId"
 46178  	//   ],
 46179  	//   "parameters": {
 46180  	//     "profileId": {
 46181  	//       "description": "User profile ID associated with this request.",
 46182  	//       "format": "int64",
 46183  	//       "location": "path",
 46184  	//       "required": true,
 46185  	//       "type": "string"
 46186  	//     }
 46187  	//   },
 46188  	//   "path": "userprofiles/{profileId}/sizes",
 46189  	//   "request": {
 46190  	//     "$ref": "Size"
 46191  	//   },
 46192  	//   "response": {
 46193  	//     "$ref": "Size"
 46194  	//   },
 46195  	//   "scopes": [
 46196  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46197  	//   ]
 46198  	// }
 46199  
 46200  }
 46201  
 46202  // method id "dfareporting.sizes.list":
 46203  
 46204  type SizesListCall struct {
 46205  	s            *Service
 46206  	profileId    int64
 46207  	urlParams_   gensupport.URLParams
 46208  	ifNoneMatch_ string
 46209  	ctx_         context.Context
 46210  	header_      http.Header
 46211  }
 46212  
 46213  // List: Retrieves a list of sizes, possibly filtered.
 46214  func (r *SizesService) List(profileId int64) *SizesListCall {
 46215  	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46216  	c.profileId = profileId
 46217  	return c
 46218  }
 46219  
 46220  // Height sets the optional parameter "height": Select only sizes with
 46221  // this height.
 46222  func (c *SizesListCall) Height(height int64) *SizesListCall {
 46223  	c.urlParams_.Set("height", fmt.Sprint(height))
 46224  	return c
 46225  }
 46226  
 46227  // IabStandard sets the optional parameter "iabStandard": Select only
 46228  // IAB standard sizes.
 46229  func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
 46230  	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
 46231  	return c
 46232  }
 46233  
 46234  // Ids sets the optional parameter "ids": Select only sizes with these
 46235  // IDs.
 46236  func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
 46237  	var ids_ []string
 46238  	for _, v := range ids {
 46239  		ids_ = append(ids_, fmt.Sprint(v))
 46240  	}
 46241  	c.urlParams_.SetMulti("ids", ids_)
 46242  	return c
 46243  }
 46244  
 46245  // Width sets the optional parameter "width": Select only sizes with
 46246  // this width.
 46247  func (c *SizesListCall) Width(width int64) *SizesListCall {
 46248  	c.urlParams_.Set("width", fmt.Sprint(width))
 46249  	return c
 46250  }
 46251  
 46252  // Fields allows partial responses to be retrieved. See
 46253  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46254  // for more information.
 46255  func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
 46256  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46257  	return c
 46258  }
 46259  
 46260  // IfNoneMatch sets the optional parameter which makes the operation
 46261  // fail if the object's ETag matches the given value. This is useful for
 46262  // getting updates only after the object has changed since the last
 46263  // request. Use googleapi.IsNotModified to check whether the response
 46264  // error from Do is the result of In-None-Match.
 46265  func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
 46266  	c.ifNoneMatch_ = entityTag
 46267  	return c
 46268  }
 46269  
 46270  // Context sets the context to be used in this call's Do method. Any
 46271  // pending HTTP request will be aborted if the provided context is
 46272  // canceled.
 46273  func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
 46274  	c.ctx_ = ctx
 46275  	return c
 46276  }
 46277  
 46278  // Header returns an http.Header that can be modified by the caller to
 46279  // add HTTP headers to the request.
 46280  func (c *SizesListCall) Header() http.Header {
 46281  	if c.header_ == nil {
 46282  		c.header_ = make(http.Header)
 46283  	}
 46284  	return c.header_
 46285  }
 46286  
 46287  func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 46288  	reqHeaders := make(http.Header)
 46289  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46290  	for k, v := range c.header_ {
 46291  		reqHeaders[k] = v
 46292  	}
 46293  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46294  	if c.ifNoneMatch_ != "" {
 46295  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46296  	}
 46297  	var body io.Reader = nil
 46298  	c.urlParams_.Set("alt", alt)
 46299  	c.urlParams_.Set("prettyPrint", "false")
 46300  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 46301  	urls += "?" + c.urlParams_.Encode()
 46302  	req, err := http.NewRequest("GET", urls, body)
 46303  	if err != nil {
 46304  		return nil, err
 46305  	}
 46306  	req.Header = reqHeaders
 46307  	googleapi.Expand(req.URL, map[string]string{
 46308  		"profileId": strconv.FormatInt(c.profileId, 10),
 46309  	})
 46310  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46311  }
 46312  
 46313  // Do executes the "dfareporting.sizes.list" call.
 46314  // Exactly one of *SizesListResponse or error will be non-nil. Any
 46315  // non-2xx status code is an error. Response headers are in either
 46316  // *SizesListResponse.ServerResponse.Header or (if a response was
 46317  // returned at all) in error.(*googleapi.Error).Header. Use
 46318  // googleapi.IsNotModified to check whether the returned error was
 46319  // because http.StatusNotModified was returned.
 46320  func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
 46321  	gensupport.SetOptions(c.urlParams_, opts...)
 46322  	res, err := c.doRequest("json")
 46323  	if res != nil && res.StatusCode == http.StatusNotModified {
 46324  		if res.Body != nil {
 46325  			res.Body.Close()
 46326  		}
 46327  		return nil, &googleapi.Error{
 46328  			Code:   res.StatusCode,
 46329  			Header: res.Header,
 46330  		}
 46331  	}
 46332  	if err != nil {
 46333  		return nil, err
 46334  	}
 46335  	defer googleapi.CloseBody(res)
 46336  	if err := googleapi.CheckResponse(res); err != nil {
 46337  		return nil, err
 46338  	}
 46339  	ret := &SizesListResponse{
 46340  		ServerResponse: googleapi.ServerResponse{
 46341  			Header:         res.Header,
 46342  			HTTPStatusCode: res.StatusCode,
 46343  		},
 46344  	}
 46345  	target := &ret
 46346  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46347  		return nil, err
 46348  	}
 46349  	return ret, nil
 46350  	// {
 46351  	//   "description": "Retrieves a list of sizes, possibly filtered.",
 46352  	//   "httpMethod": "GET",
 46353  	//   "id": "dfareporting.sizes.list",
 46354  	//   "parameterOrder": [
 46355  	//     "profileId"
 46356  	//   ],
 46357  	//   "parameters": {
 46358  	//     "height": {
 46359  	//       "description": "Select only sizes with this height.",
 46360  	//       "format": "int32",
 46361  	//       "location": "query",
 46362  	//       "maximum": "32767",
 46363  	//       "minimum": "0",
 46364  	//       "type": "integer"
 46365  	//     },
 46366  	//     "iabStandard": {
 46367  	//       "description": "Select only IAB standard sizes.",
 46368  	//       "location": "query",
 46369  	//       "type": "boolean"
 46370  	//     },
 46371  	//     "ids": {
 46372  	//       "description": "Select only sizes with these IDs.",
 46373  	//       "format": "int64",
 46374  	//       "location": "query",
 46375  	//       "repeated": true,
 46376  	//       "type": "string"
 46377  	//     },
 46378  	//     "profileId": {
 46379  	//       "description": "User profile ID associated with this request.",
 46380  	//       "format": "int64",
 46381  	//       "location": "path",
 46382  	//       "required": true,
 46383  	//       "type": "string"
 46384  	//     },
 46385  	//     "width": {
 46386  	//       "description": "Select only sizes with this width.",
 46387  	//       "format": "int32",
 46388  	//       "location": "query",
 46389  	//       "maximum": "32767",
 46390  	//       "minimum": "0",
 46391  	//       "type": "integer"
 46392  	//     }
 46393  	//   },
 46394  	//   "path": "userprofiles/{profileId}/sizes",
 46395  	//   "response": {
 46396  	//     "$ref": "SizesListResponse"
 46397  	//   },
 46398  	//   "scopes": [
 46399  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46400  	//   ]
 46401  	// }
 46402  
 46403  }
 46404  
 46405  // method id "dfareporting.subaccounts.get":
 46406  
 46407  type SubaccountsGetCall struct {
 46408  	s            *Service
 46409  	profileId    int64
 46410  	id           int64
 46411  	urlParams_   gensupport.URLParams
 46412  	ifNoneMatch_ string
 46413  	ctx_         context.Context
 46414  	header_      http.Header
 46415  }
 46416  
 46417  // Get: Gets one subaccount by ID.
 46418  func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
 46419  	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46420  	c.profileId = profileId
 46421  	c.id = id
 46422  	return c
 46423  }
 46424  
 46425  // Fields allows partial responses to be retrieved. See
 46426  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46427  // for more information.
 46428  func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
 46429  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46430  	return c
 46431  }
 46432  
 46433  // IfNoneMatch sets the optional parameter which makes the operation
 46434  // fail if the object's ETag matches the given value. This is useful for
 46435  // getting updates only after the object has changed since the last
 46436  // request. Use googleapi.IsNotModified to check whether the response
 46437  // error from Do is the result of In-None-Match.
 46438  func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
 46439  	c.ifNoneMatch_ = entityTag
 46440  	return c
 46441  }
 46442  
 46443  // Context sets the context to be used in this call's Do method. Any
 46444  // pending HTTP request will be aborted if the provided context is
 46445  // canceled.
 46446  func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
 46447  	c.ctx_ = ctx
 46448  	return c
 46449  }
 46450  
 46451  // Header returns an http.Header that can be modified by the caller to
 46452  // add HTTP headers to the request.
 46453  func (c *SubaccountsGetCall) Header() http.Header {
 46454  	if c.header_ == nil {
 46455  		c.header_ = make(http.Header)
 46456  	}
 46457  	return c.header_
 46458  }
 46459  
 46460  func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 46461  	reqHeaders := make(http.Header)
 46462  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46463  	for k, v := range c.header_ {
 46464  		reqHeaders[k] = v
 46465  	}
 46466  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46467  	if c.ifNoneMatch_ != "" {
 46468  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46469  	}
 46470  	var body io.Reader = nil
 46471  	c.urlParams_.Set("alt", alt)
 46472  	c.urlParams_.Set("prettyPrint", "false")
 46473  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
 46474  	urls += "?" + c.urlParams_.Encode()
 46475  	req, err := http.NewRequest("GET", urls, body)
 46476  	if err != nil {
 46477  		return nil, err
 46478  	}
 46479  	req.Header = reqHeaders
 46480  	googleapi.Expand(req.URL, map[string]string{
 46481  		"profileId": strconv.FormatInt(c.profileId, 10),
 46482  		"id":        strconv.FormatInt(c.id, 10),
 46483  	})
 46484  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46485  }
 46486  
 46487  // Do executes the "dfareporting.subaccounts.get" call.
 46488  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 46489  // status code is an error. Response headers are in either
 46490  // *Subaccount.ServerResponse.Header or (if a response was returned at
 46491  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 46492  // to check whether the returned error was because
 46493  // http.StatusNotModified was returned.
 46494  func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 46495  	gensupport.SetOptions(c.urlParams_, opts...)
 46496  	res, err := c.doRequest("json")
 46497  	if res != nil && res.StatusCode == http.StatusNotModified {
 46498  		if res.Body != nil {
 46499  			res.Body.Close()
 46500  		}
 46501  		return nil, &googleapi.Error{
 46502  			Code:   res.StatusCode,
 46503  			Header: res.Header,
 46504  		}
 46505  	}
 46506  	if err != nil {
 46507  		return nil, err
 46508  	}
 46509  	defer googleapi.CloseBody(res)
 46510  	if err := googleapi.CheckResponse(res); err != nil {
 46511  		return nil, err
 46512  	}
 46513  	ret := &Subaccount{
 46514  		ServerResponse: googleapi.ServerResponse{
 46515  			Header:         res.Header,
 46516  			HTTPStatusCode: res.StatusCode,
 46517  		},
 46518  	}
 46519  	target := &ret
 46520  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46521  		return nil, err
 46522  	}
 46523  	return ret, nil
 46524  	// {
 46525  	//   "description": "Gets one subaccount by ID.",
 46526  	//   "httpMethod": "GET",
 46527  	//   "id": "dfareporting.subaccounts.get",
 46528  	//   "parameterOrder": [
 46529  	//     "profileId",
 46530  	//     "id"
 46531  	//   ],
 46532  	//   "parameters": {
 46533  	//     "id": {
 46534  	//       "description": "Subaccount ID.",
 46535  	//       "format": "int64",
 46536  	//       "location": "path",
 46537  	//       "required": true,
 46538  	//       "type": "string"
 46539  	//     },
 46540  	//     "profileId": {
 46541  	//       "description": "User profile ID associated with this request.",
 46542  	//       "format": "int64",
 46543  	//       "location": "path",
 46544  	//       "required": true,
 46545  	//       "type": "string"
 46546  	//     }
 46547  	//   },
 46548  	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
 46549  	//   "response": {
 46550  	//     "$ref": "Subaccount"
 46551  	//   },
 46552  	//   "scopes": [
 46553  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46554  	//   ]
 46555  	// }
 46556  
 46557  }
 46558  
 46559  // method id "dfareporting.subaccounts.insert":
 46560  
 46561  type SubaccountsInsertCall struct {
 46562  	s          *Service
 46563  	profileId  int64
 46564  	subaccount *Subaccount
 46565  	urlParams_ gensupport.URLParams
 46566  	ctx_       context.Context
 46567  	header_    http.Header
 46568  }
 46569  
 46570  // Insert: Inserts a new subaccount.
 46571  func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
 46572  	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46573  	c.profileId = profileId
 46574  	c.subaccount = subaccount
 46575  	return c
 46576  }
 46577  
 46578  // Fields allows partial responses to be retrieved. See
 46579  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46580  // for more information.
 46581  func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
 46582  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46583  	return c
 46584  }
 46585  
 46586  // Context sets the context to be used in this call's Do method. Any
 46587  // pending HTTP request will be aborted if the provided context is
 46588  // canceled.
 46589  func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
 46590  	c.ctx_ = ctx
 46591  	return c
 46592  }
 46593  
 46594  // Header returns an http.Header that can be modified by the caller to
 46595  // add HTTP headers to the request.
 46596  func (c *SubaccountsInsertCall) Header() http.Header {
 46597  	if c.header_ == nil {
 46598  		c.header_ = make(http.Header)
 46599  	}
 46600  	return c.header_
 46601  }
 46602  
 46603  func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
 46604  	reqHeaders := make(http.Header)
 46605  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46606  	for k, v := range c.header_ {
 46607  		reqHeaders[k] = v
 46608  	}
 46609  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46610  	var body io.Reader = nil
 46611  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 46612  	if err != nil {
 46613  		return nil, err
 46614  	}
 46615  	reqHeaders.Set("Content-Type", "application/json")
 46616  	c.urlParams_.Set("alt", alt)
 46617  	c.urlParams_.Set("prettyPrint", "false")
 46618  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 46619  	urls += "?" + c.urlParams_.Encode()
 46620  	req, err := http.NewRequest("POST", urls, body)
 46621  	if err != nil {
 46622  		return nil, err
 46623  	}
 46624  	req.Header = reqHeaders
 46625  	googleapi.Expand(req.URL, map[string]string{
 46626  		"profileId": strconv.FormatInt(c.profileId, 10),
 46627  	})
 46628  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46629  }
 46630  
 46631  // Do executes the "dfareporting.subaccounts.insert" call.
 46632  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 46633  // status code is an error. Response headers are in either
 46634  // *Subaccount.ServerResponse.Header or (if a response was returned at
 46635  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 46636  // to check whether the returned error was because
 46637  // http.StatusNotModified was returned.
 46638  func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 46639  	gensupport.SetOptions(c.urlParams_, opts...)
 46640  	res, err := c.doRequest("json")
 46641  	if res != nil && res.StatusCode == http.StatusNotModified {
 46642  		if res.Body != nil {
 46643  			res.Body.Close()
 46644  		}
 46645  		return nil, &googleapi.Error{
 46646  			Code:   res.StatusCode,
 46647  			Header: res.Header,
 46648  		}
 46649  	}
 46650  	if err != nil {
 46651  		return nil, err
 46652  	}
 46653  	defer googleapi.CloseBody(res)
 46654  	if err := googleapi.CheckResponse(res); err != nil {
 46655  		return nil, err
 46656  	}
 46657  	ret := &Subaccount{
 46658  		ServerResponse: googleapi.ServerResponse{
 46659  			Header:         res.Header,
 46660  			HTTPStatusCode: res.StatusCode,
 46661  		},
 46662  	}
 46663  	target := &ret
 46664  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46665  		return nil, err
 46666  	}
 46667  	return ret, nil
 46668  	// {
 46669  	//   "description": "Inserts a new subaccount.",
 46670  	//   "httpMethod": "POST",
 46671  	//   "id": "dfareporting.subaccounts.insert",
 46672  	//   "parameterOrder": [
 46673  	//     "profileId"
 46674  	//   ],
 46675  	//   "parameters": {
 46676  	//     "profileId": {
 46677  	//       "description": "User profile ID associated with this request.",
 46678  	//       "format": "int64",
 46679  	//       "location": "path",
 46680  	//       "required": true,
 46681  	//       "type": "string"
 46682  	//     }
 46683  	//   },
 46684  	//   "path": "userprofiles/{profileId}/subaccounts",
 46685  	//   "request": {
 46686  	//     "$ref": "Subaccount"
 46687  	//   },
 46688  	//   "response": {
 46689  	//     "$ref": "Subaccount"
 46690  	//   },
 46691  	//   "scopes": [
 46692  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46693  	//   ]
 46694  	// }
 46695  
 46696  }
 46697  
 46698  // method id "dfareporting.subaccounts.list":
 46699  
 46700  type SubaccountsListCall struct {
 46701  	s            *Service
 46702  	profileId    int64
 46703  	urlParams_   gensupport.URLParams
 46704  	ifNoneMatch_ string
 46705  	ctx_         context.Context
 46706  	header_      http.Header
 46707  }
 46708  
 46709  // List: Gets a list of subaccounts, possibly filtered. This method
 46710  // supports paging.
 46711  func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
 46712  	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46713  	c.profileId = profileId
 46714  	return c
 46715  }
 46716  
 46717  // Ids sets the optional parameter "ids": Select only subaccounts with
 46718  // these IDs.
 46719  func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
 46720  	var ids_ []string
 46721  	for _, v := range ids {
 46722  		ids_ = append(ids_, fmt.Sprint(v))
 46723  	}
 46724  	c.urlParams_.SetMulti("ids", ids_)
 46725  	return c
 46726  }
 46727  
 46728  // MaxResults sets the optional parameter "maxResults": Maximum number
 46729  // of results to return.
 46730  func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
 46731  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 46732  	return c
 46733  }
 46734  
 46735  // PageToken sets the optional parameter "pageToken": Value of the
 46736  // nextPageToken from the previous result page.
 46737  func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
 46738  	c.urlParams_.Set("pageToken", pageToken)
 46739  	return c
 46740  }
 46741  
 46742  // SearchString sets the optional parameter "searchString": Allows
 46743  // searching for objects by name or ID. Wildcards (*) are allowed. For
 46744  // example, "subaccount*2015" will return objects with names like
 46745  // "subaccount June 2015", "subaccount April 2015", or simply
 46746  // "subaccount 2015". Most of the searches also add wildcards implicitly
 46747  // at the start and the end of the search string. For example, a search
 46748  // string of "subaccount" will match objects with name "my subaccount",
 46749  // "subaccount 2015", or simply "subaccount".
 46750  func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
 46751  	c.urlParams_.Set("searchString", searchString)
 46752  	return c
 46753  }
 46754  
 46755  // SortField sets the optional parameter "sortField": Field by which to
 46756  // sort the list.
 46757  //
 46758  // Possible values:
 46759  //
 46760  //	"ID" (default)
 46761  //	"NAME"
 46762  func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
 46763  	c.urlParams_.Set("sortField", sortField)
 46764  	return c
 46765  }
 46766  
 46767  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 46768  // results.
 46769  //
 46770  // Possible values:
 46771  //
 46772  //	"ASCENDING" (default)
 46773  //	"DESCENDING"
 46774  func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
 46775  	c.urlParams_.Set("sortOrder", sortOrder)
 46776  	return c
 46777  }
 46778  
 46779  // Fields allows partial responses to be retrieved. See
 46780  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46781  // for more information.
 46782  func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
 46783  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46784  	return c
 46785  }
 46786  
 46787  // IfNoneMatch sets the optional parameter which makes the operation
 46788  // fail if the object's ETag matches the given value. This is useful for
 46789  // getting updates only after the object has changed since the last
 46790  // request. Use googleapi.IsNotModified to check whether the response
 46791  // error from Do is the result of In-None-Match.
 46792  func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
 46793  	c.ifNoneMatch_ = entityTag
 46794  	return c
 46795  }
 46796  
 46797  // Context sets the context to be used in this call's Do method. Any
 46798  // pending HTTP request will be aborted if the provided context is
 46799  // canceled.
 46800  func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
 46801  	c.ctx_ = ctx
 46802  	return c
 46803  }
 46804  
 46805  // Header returns an http.Header that can be modified by the caller to
 46806  // add HTTP headers to the request.
 46807  func (c *SubaccountsListCall) Header() http.Header {
 46808  	if c.header_ == nil {
 46809  		c.header_ = make(http.Header)
 46810  	}
 46811  	return c.header_
 46812  }
 46813  
 46814  func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 46815  	reqHeaders := make(http.Header)
 46816  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46817  	for k, v := range c.header_ {
 46818  		reqHeaders[k] = v
 46819  	}
 46820  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46821  	if c.ifNoneMatch_ != "" {
 46822  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46823  	}
 46824  	var body io.Reader = nil
 46825  	c.urlParams_.Set("alt", alt)
 46826  	c.urlParams_.Set("prettyPrint", "false")
 46827  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 46828  	urls += "?" + c.urlParams_.Encode()
 46829  	req, err := http.NewRequest("GET", urls, body)
 46830  	if err != nil {
 46831  		return nil, err
 46832  	}
 46833  	req.Header = reqHeaders
 46834  	googleapi.Expand(req.URL, map[string]string{
 46835  		"profileId": strconv.FormatInt(c.profileId, 10),
 46836  	})
 46837  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46838  }
 46839  
 46840  // Do executes the "dfareporting.subaccounts.list" call.
 46841  // Exactly one of *SubaccountsListResponse or error will be non-nil. Any
 46842  // non-2xx status code is an error. Response headers are in either
 46843  // *SubaccountsListResponse.ServerResponse.Header or (if a response was
 46844  // returned at all) in error.(*googleapi.Error).Header. Use
 46845  // googleapi.IsNotModified to check whether the returned error was
 46846  // because http.StatusNotModified was returned.
 46847  func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
 46848  	gensupport.SetOptions(c.urlParams_, opts...)
 46849  	res, err := c.doRequest("json")
 46850  	if res != nil && res.StatusCode == http.StatusNotModified {
 46851  		if res.Body != nil {
 46852  			res.Body.Close()
 46853  		}
 46854  		return nil, &googleapi.Error{
 46855  			Code:   res.StatusCode,
 46856  			Header: res.Header,
 46857  		}
 46858  	}
 46859  	if err != nil {
 46860  		return nil, err
 46861  	}
 46862  	defer googleapi.CloseBody(res)
 46863  	if err := googleapi.CheckResponse(res); err != nil {
 46864  		return nil, err
 46865  	}
 46866  	ret := &SubaccountsListResponse{
 46867  		ServerResponse: googleapi.ServerResponse{
 46868  			Header:         res.Header,
 46869  			HTTPStatusCode: res.StatusCode,
 46870  		},
 46871  	}
 46872  	target := &ret
 46873  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46874  		return nil, err
 46875  	}
 46876  	return ret, nil
 46877  	// {
 46878  	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
 46879  	//   "httpMethod": "GET",
 46880  	//   "id": "dfareporting.subaccounts.list",
 46881  	//   "parameterOrder": [
 46882  	//     "profileId"
 46883  	//   ],
 46884  	//   "parameters": {
 46885  	//     "ids": {
 46886  	//       "description": "Select only subaccounts with these IDs.",
 46887  	//       "format": "int64",
 46888  	//       "location": "query",
 46889  	//       "repeated": true,
 46890  	//       "type": "string"
 46891  	//     },
 46892  	//     "maxResults": {
 46893  	//       "default": "1000",
 46894  	//       "description": "Maximum number of results to return.",
 46895  	//       "format": "int32",
 46896  	//       "location": "query",
 46897  	//       "maximum": "1000",
 46898  	//       "minimum": "0",
 46899  	//       "type": "integer"
 46900  	//     },
 46901  	//     "pageToken": {
 46902  	//       "description": "Value of the nextPageToken from the previous result page.",
 46903  	//       "location": "query",
 46904  	//       "type": "string"
 46905  	//     },
 46906  	//     "profileId": {
 46907  	//       "description": "User profile ID associated with this request.",
 46908  	//       "format": "int64",
 46909  	//       "location": "path",
 46910  	//       "required": true,
 46911  	//       "type": "string"
 46912  	//     },
 46913  	//     "searchString": {
 46914  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"subaccount*2015\" will return objects with names like \"subaccount June 2015\", \"subaccount April 2015\", or simply \"subaccount 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"subaccount\" will match objects with name \"my subaccount\", \"subaccount 2015\", or simply \"subaccount\".",
 46915  	//       "location": "query",
 46916  	//       "type": "string"
 46917  	//     },
 46918  	//     "sortField": {
 46919  	//       "default": "ID",
 46920  	//       "description": "Field by which to sort the list.",
 46921  	//       "enum": [
 46922  	//         "ID",
 46923  	//         "NAME"
 46924  	//       ],
 46925  	//       "enumDescriptions": [
 46926  	//         "",
 46927  	//         ""
 46928  	//       ],
 46929  	//       "location": "query",
 46930  	//       "type": "string"
 46931  	//     },
 46932  	//     "sortOrder": {
 46933  	//       "default": "ASCENDING",
 46934  	//       "description": "Order of sorted results.",
 46935  	//       "enum": [
 46936  	//         "ASCENDING",
 46937  	//         "DESCENDING"
 46938  	//       ],
 46939  	//       "enumDescriptions": [
 46940  	//         "",
 46941  	//         ""
 46942  	//       ],
 46943  	//       "location": "query",
 46944  	//       "type": "string"
 46945  	//     }
 46946  	//   },
 46947  	//   "path": "userprofiles/{profileId}/subaccounts",
 46948  	//   "response": {
 46949  	//     "$ref": "SubaccountsListResponse"
 46950  	//   },
 46951  	//   "scopes": [
 46952  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46953  	//   ]
 46954  	// }
 46955  
 46956  }
 46957  
 46958  // Pages invokes f for each page of results.
 46959  // A non-nil error returned from f will halt the iteration.
 46960  // The provided context supersedes any context provided to the Context method.
 46961  func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
 46962  	c.ctx_ = ctx
 46963  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 46964  	for {
 46965  		x, err := c.Do()
 46966  		if err != nil {
 46967  			return err
 46968  		}
 46969  		if err := f(x); err != nil {
 46970  			return err
 46971  		}
 46972  		if x.NextPageToken == "" {
 46973  			return nil
 46974  		}
 46975  		c.PageToken(x.NextPageToken)
 46976  	}
 46977  }
 46978  
 46979  // method id "dfareporting.subaccounts.patch":
 46980  
 46981  type SubaccountsPatchCall struct {
 46982  	s          *Service
 46983  	profileId  int64
 46984  	subaccount *Subaccount
 46985  	urlParams_ gensupport.URLParams
 46986  	ctx_       context.Context
 46987  	header_    http.Header
 46988  }
 46989  
 46990  // Patch: Updates an existing subaccount. This method supports patch
 46991  // semantics.
 46992  func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
 46993  	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46994  	c.profileId = profileId
 46995  	c.urlParams_.Set("id", fmt.Sprint(id))
 46996  	c.subaccount = subaccount
 46997  	return c
 46998  }
 46999  
 47000  // Fields allows partial responses to be retrieved. See
 47001  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47002  // for more information.
 47003  func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
 47004  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47005  	return c
 47006  }
 47007  
 47008  // Context sets the context to be used in this call's Do method. Any
 47009  // pending HTTP request will be aborted if the provided context is
 47010  // canceled.
 47011  func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
 47012  	c.ctx_ = ctx
 47013  	return c
 47014  }
 47015  
 47016  // Header returns an http.Header that can be modified by the caller to
 47017  // add HTTP headers to the request.
 47018  func (c *SubaccountsPatchCall) Header() http.Header {
 47019  	if c.header_ == nil {
 47020  		c.header_ = make(http.Header)
 47021  	}
 47022  	return c.header_
 47023  }
 47024  
 47025  func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 47026  	reqHeaders := make(http.Header)
 47027  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47028  	for k, v := range c.header_ {
 47029  		reqHeaders[k] = v
 47030  	}
 47031  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47032  	var body io.Reader = nil
 47033  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 47034  	if err != nil {
 47035  		return nil, err
 47036  	}
 47037  	reqHeaders.Set("Content-Type", "application/json")
 47038  	c.urlParams_.Set("alt", alt)
 47039  	c.urlParams_.Set("prettyPrint", "false")
 47040  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47041  	urls += "?" + c.urlParams_.Encode()
 47042  	req, err := http.NewRequest("PATCH", urls, body)
 47043  	if err != nil {
 47044  		return nil, err
 47045  	}
 47046  	req.Header = reqHeaders
 47047  	googleapi.Expand(req.URL, map[string]string{
 47048  		"profileId": strconv.FormatInt(c.profileId, 10),
 47049  	})
 47050  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47051  }
 47052  
 47053  // Do executes the "dfareporting.subaccounts.patch" call.
 47054  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47055  // status code is an error. Response headers are in either
 47056  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47057  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47058  // to check whether the returned error was because
 47059  // http.StatusNotModified was returned.
 47060  func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47061  	gensupport.SetOptions(c.urlParams_, opts...)
 47062  	res, err := c.doRequest("json")
 47063  	if res != nil && res.StatusCode == http.StatusNotModified {
 47064  		if res.Body != nil {
 47065  			res.Body.Close()
 47066  		}
 47067  		return nil, &googleapi.Error{
 47068  			Code:   res.StatusCode,
 47069  			Header: res.Header,
 47070  		}
 47071  	}
 47072  	if err != nil {
 47073  		return nil, err
 47074  	}
 47075  	defer googleapi.CloseBody(res)
 47076  	if err := googleapi.CheckResponse(res); err != nil {
 47077  		return nil, err
 47078  	}
 47079  	ret := &Subaccount{
 47080  		ServerResponse: googleapi.ServerResponse{
 47081  			Header:         res.Header,
 47082  			HTTPStatusCode: res.StatusCode,
 47083  		},
 47084  	}
 47085  	target := &ret
 47086  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47087  		return nil, err
 47088  	}
 47089  	return ret, nil
 47090  	// {
 47091  	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
 47092  	//   "httpMethod": "PATCH",
 47093  	//   "id": "dfareporting.subaccounts.patch",
 47094  	//   "parameterOrder": [
 47095  	//     "profileId",
 47096  	//     "id"
 47097  	//   ],
 47098  	//   "parameters": {
 47099  	//     "id": {
 47100  	//       "description": "Subaccount ID.",
 47101  	//       "format": "int64",
 47102  	//       "location": "query",
 47103  	//       "required": true,
 47104  	//       "type": "string"
 47105  	//     },
 47106  	//     "profileId": {
 47107  	//       "description": "User profile ID associated with this request.",
 47108  	//       "format": "int64",
 47109  	//       "location": "path",
 47110  	//       "required": true,
 47111  	//       "type": "string"
 47112  	//     }
 47113  	//   },
 47114  	//   "path": "userprofiles/{profileId}/subaccounts",
 47115  	//   "request": {
 47116  	//     "$ref": "Subaccount"
 47117  	//   },
 47118  	//   "response": {
 47119  	//     "$ref": "Subaccount"
 47120  	//   },
 47121  	//   "scopes": [
 47122  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47123  	//   ]
 47124  	// }
 47125  
 47126  }
 47127  
 47128  // method id "dfareporting.subaccounts.update":
 47129  
 47130  type SubaccountsUpdateCall struct {
 47131  	s          *Service
 47132  	profileId  int64
 47133  	subaccount *Subaccount
 47134  	urlParams_ gensupport.URLParams
 47135  	ctx_       context.Context
 47136  	header_    http.Header
 47137  }
 47138  
 47139  // Update: Updates an existing subaccount.
 47140  func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
 47141  	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47142  	c.profileId = profileId
 47143  	c.subaccount = subaccount
 47144  	return c
 47145  }
 47146  
 47147  // Fields allows partial responses to be retrieved. See
 47148  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47149  // for more information.
 47150  func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
 47151  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47152  	return c
 47153  }
 47154  
 47155  // Context sets the context to be used in this call's Do method. Any
 47156  // pending HTTP request will be aborted if the provided context is
 47157  // canceled.
 47158  func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
 47159  	c.ctx_ = ctx
 47160  	return c
 47161  }
 47162  
 47163  // Header returns an http.Header that can be modified by the caller to
 47164  // add HTTP headers to the request.
 47165  func (c *SubaccountsUpdateCall) Header() http.Header {
 47166  	if c.header_ == nil {
 47167  		c.header_ = make(http.Header)
 47168  	}
 47169  	return c.header_
 47170  }
 47171  
 47172  func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 47173  	reqHeaders := make(http.Header)
 47174  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47175  	for k, v := range c.header_ {
 47176  		reqHeaders[k] = v
 47177  	}
 47178  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47179  	var body io.Reader = nil
 47180  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 47181  	if err != nil {
 47182  		return nil, err
 47183  	}
 47184  	reqHeaders.Set("Content-Type", "application/json")
 47185  	c.urlParams_.Set("alt", alt)
 47186  	c.urlParams_.Set("prettyPrint", "false")
 47187  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47188  	urls += "?" + c.urlParams_.Encode()
 47189  	req, err := http.NewRequest("PUT", urls, body)
 47190  	if err != nil {
 47191  		return nil, err
 47192  	}
 47193  	req.Header = reqHeaders
 47194  	googleapi.Expand(req.URL, map[string]string{
 47195  		"profileId": strconv.FormatInt(c.profileId, 10),
 47196  	})
 47197  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47198  }
 47199  
 47200  // Do executes the "dfareporting.subaccounts.update" call.
 47201  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47202  // status code is an error. Response headers are in either
 47203  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47204  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47205  // to check whether the returned error was because
 47206  // http.StatusNotModified was returned.
 47207  func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47208  	gensupport.SetOptions(c.urlParams_, opts...)
 47209  	res, err := c.doRequest("json")
 47210  	if res != nil && res.StatusCode == http.StatusNotModified {
 47211  		if res.Body != nil {
 47212  			res.Body.Close()
 47213  		}
 47214  		return nil, &googleapi.Error{
 47215  			Code:   res.StatusCode,
 47216  			Header: res.Header,
 47217  		}
 47218  	}
 47219  	if err != nil {
 47220  		return nil, err
 47221  	}
 47222  	defer googleapi.CloseBody(res)
 47223  	if err := googleapi.CheckResponse(res); err != nil {
 47224  		return nil, err
 47225  	}
 47226  	ret := &Subaccount{
 47227  		ServerResponse: googleapi.ServerResponse{
 47228  			Header:         res.Header,
 47229  			HTTPStatusCode: res.StatusCode,
 47230  		},
 47231  	}
 47232  	target := &ret
 47233  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47234  		return nil, err
 47235  	}
 47236  	return ret, nil
 47237  	// {
 47238  	//   "description": "Updates an existing subaccount.",
 47239  	//   "httpMethod": "PUT",
 47240  	//   "id": "dfareporting.subaccounts.update",
 47241  	//   "parameterOrder": [
 47242  	//     "profileId"
 47243  	//   ],
 47244  	//   "parameters": {
 47245  	//     "profileId": {
 47246  	//       "description": "User profile ID associated with this request.",
 47247  	//       "format": "int64",
 47248  	//       "location": "path",
 47249  	//       "required": true,
 47250  	//       "type": "string"
 47251  	//     }
 47252  	//   },
 47253  	//   "path": "userprofiles/{profileId}/subaccounts",
 47254  	//   "request": {
 47255  	//     "$ref": "Subaccount"
 47256  	//   },
 47257  	//   "response": {
 47258  	//     "$ref": "Subaccount"
 47259  	//   },
 47260  	//   "scopes": [
 47261  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47262  	//   ]
 47263  	// }
 47264  
 47265  }
 47266  
 47267  // method id "dfareporting.targetableRemarketingLists.get":
 47268  
 47269  type TargetableRemarketingListsGetCall struct {
 47270  	s            *Service
 47271  	profileId    int64
 47272  	id           int64
 47273  	urlParams_   gensupport.URLParams
 47274  	ifNoneMatch_ string
 47275  	ctx_         context.Context
 47276  	header_      http.Header
 47277  }
 47278  
 47279  // Get: Gets one remarketing list by ID.
 47280  func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
 47281  	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47282  	c.profileId = profileId
 47283  	c.id = id
 47284  	return c
 47285  }
 47286  
 47287  // Fields allows partial responses to be retrieved. See
 47288  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47289  // for more information.
 47290  func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
 47291  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47292  	return c
 47293  }
 47294  
 47295  // IfNoneMatch sets the optional parameter which makes the operation
 47296  // fail if the object's ETag matches the given value. This is useful for
 47297  // getting updates only after the object has changed since the last
 47298  // request. Use googleapi.IsNotModified to check whether the response
 47299  // error from Do is the result of In-None-Match.
 47300  func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
 47301  	c.ifNoneMatch_ = entityTag
 47302  	return c
 47303  }
 47304  
 47305  // Context sets the context to be used in this call's Do method. Any
 47306  // pending HTTP request will be aborted if the provided context is
 47307  // canceled.
 47308  func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
 47309  	c.ctx_ = ctx
 47310  	return c
 47311  }
 47312  
 47313  // Header returns an http.Header that can be modified by the caller to
 47314  // add HTTP headers to the request.
 47315  func (c *TargetableRemarketingListsGetCall) Header() http.Header {
 47316  	if c.header_ == nil {
 47317  		c.header_ = make(http.Header)
 47318  	}
 47319  	return c.header_
 47320  }
 47321  
 47322  func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 47323  	reqHeaders := make(http.Header)
 47324  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47325  	for k, v := range c.header_ {
 47326  		reqHeaders[k] = v
 47327  	}
 47328  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47329  	if c.ifNoneMatch_ != "" {
 47330  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47331  	}
 47332  	var body io.Reader = nil
 47333  	c.urlParams_.Set("alt", alt)
 47334  	c.urlParams_.Set("prettyPrint", "false")
 47335  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
 47336  	urls += "?" + c.urlParams_.Encode()
 47337  	req, err := http.NewRequest("GET", urls, body)
 47338  	if err != nil {
 47339  		return nil, err
 47340  	}
 47341  	req.Header = reqHeaders
 47342  	googleapi.Expand(req.URL, map[string]string{
 47343  		"profileId": strconv.FormatInt(c.profileId, 10),
 47344  		"id":        strconv.FormatInt(c.id, 10),
 47345  	})
 47346  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47347  }
 47348  
 47349  // Do executes the "dfareporting.targetableRemarketingLists.get" call.
 47350  // Exactly one of *TargetableRemarketingList or error will be non-nil.
 47351  // Any non-2xx status code is an error. Response headers are in either
 47352  // *TargetableRemarketingList.ServerResponse.Header or (if a response
 47353  // was returned at all) in error.(*googleapi.Error).Header. Use
 47354  // googleapi.IsNotModified to check whether the returned error was
 47355  // because http.StatusNotModified was returned.
 47356  func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
 47357  	gensupport.SetOptions(c.urlParams_, opts...)
 47358  	res, err := c.doRequest("json")
 47359  	if res != nil && res.StatusCode == http.StatusNotModified {
 47360  		if res.Body != nil {
 47361  			res.Body.Close()
 47362  		}
 47363  		return nil, &googleapi.Error{
 47364  			Code:   res.StatusCode,
 47365  			Header: res.Header,
 47366  		}
 47367  	}
 47368  	if err != nil {
 47369  		return nil, err
 47370  	}
 47371  	defer googleapi.CloseBody(res)
 47372  	if err := googleapi.CheckResponse(res); err != nil {
 47373  		return nil, err
 47374  	}
 47375  	ret := &TargetableRemarketingList{
 47376  		ServerResponse: googleapi.ServerResponse{
 47377  			Header:         res.Header,
 47378  			HTTPStatusCode: res.StatusCode,
 47379  		},
 47380  	}
 47381  	target := &ret
 47382  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47383  		return nil, err
 47384  	}
 47385  	return ret, nil
 47386  	// {
 47387  	//   "description": "Gets one remarketing list by ID.",
 47388  	//   "httpMethod": "GET",
 47389  	//   "id": "dfareporting.targetableRemarketingLists.get",
 47390  	//   "parameterOrder": [
 47391  	//     "profileId",
 47392  	//     "id"
 47393  	//   ],
 47394  	//   "parameters": {
 47395  	//     "id": {
 47396  	//       "description": "Remarketing list ID.",
 47397  	//       "format": "int64",
 47398  	//       "location": "path",
 47399  	//       "required": true,
 47400  	//       "type": "string"
 47401  	//     },
 47402  	//     "profileId": {
 47403  	//       "description": "User profile ID associated with this request.",
 47404  	//       "format": "int64",
 47405  	//       "location": "path",
 47406  	//       "required": true,
 47407  	//       "type": "string"
 47408  	//     }
 47409  	//   },
 47410  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
 47411  	//   "response": {
 47412  	//     "$ref": "TargetableRemarketingList"
 47413  	//   },
 47414  	//   "scopes": [
 47415  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47416  	//   ]
 47417  	// }
 47418  
 47419  }
 47420  
 47421  // method id "dfareporting.targetableRemarketingLists.list":
 47422  
 47423  type TargetableRemarketingListsListCall struct {
 47424  	s            *Service
 47425  	profileId    int64
 47426  	urlParams_   gensupport.URLParams
 47427  	ifNoneMatch_ string
 47428  	ctx_         context.Context
 47429  	header_      http.Header
 47430  }
 47431  
 47432  // List: Retrieves a list of targetable remarketing lists, possibly
 47433  // filtered. This method supports paging.
 47434  func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
 47435  	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47436  	c.profileId = profileId
 47437  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 47438  	return c
 47439  }
 47440  
 47441  // Active sets the optional parameter "active": Select only active or
 47442  // only inactive targetable remarketing lists.
 47443  func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
 47444  	c.urlParams_.Set("active", fmt.Sprint(active))
 47445  	return c
 47446  }
 47447  
 47448  // MaxResults sets the optional parameter "maxResults": Maximum number
 47449  // of results to return.
 47450  func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
 47451  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 47452  	return c
 47453  }
 47454  
 47455  // Name sets the optional parameter "name": Allows searching for objects
 47456  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 47457  // list*2015" will return objects with names like "remarketing list June
 47458  // 2015", "remarketing list April 2015", or simply "remarketing list
 47459  // 2015". Most of the searches also add wildcards implicitly at the
 47460  // start and the end of the search string. For example, a search string
 47461  // of "remarketing list" will match objects with name "my remarketing
 47462  // list", "remarketing list 2015", or simply "remarketing list".
 47463  func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
 47464  	c.urlParams_.Set("name", name)
 47465  	return c
 47466  }
 47467  
 47468  // PageToken sets the optional parameter "pageToken": Value of the
 47469  // nextPageToken from the previous result page.
 47470  func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
 47471  	c.urlParams_.Set("pageToken", pageToken)
 47472  	return c
 47473  }
 47474  
 47475  // SortField sets the optional parameter "sortField": Field by which to
 47476  // sort the list.
 47477  //
 47478  // Possible values:
 47479  //
 47480  //	"ID" (default)
 47481  //	"NAME"
 47482  func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
 47483  	c.urlParams_.Set("sortField", sortField)
 47484  	return c
 47485  }
 47486  
 47487  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 47488  // results.
 47489  //
 47490  // Possible values:
 47491  //
 47492  //	"ASCENDING" (default)
 47493  //	"DESCENDING"
 47494  func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
 47495  	c.urlParams_.Set("sortOrder", sortOrder)
 47496  	return c
 47497  }
 47498  
 47499  // Fields allows partial responses to be retrieved. See
 47500  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47501  // for more information.
 47502  func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
 47503  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47504  	return c
 47505  }
 47506  
 47507  // IfNoneMatch sets the optional parameter which makes the operation
 47508  // fail if the object's ETag matches the given value. This is useful for
 47509  // getting updates only after the object has changed since the last
 47510  // request. Use googleapi.IsNotModified to check whether the response
 47511  // error from Do is the result of In-None-Match.
 47512  func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
 47513  	c.ifNoneMatch_ = entityTag
 47514  	return c
 47515  }
 47516  
 47517  // Context sets the context to be used in this call's Do method. Any
 47518  // pending HTTP request will be aborted if the provided context is
 47519  // canceled.
 47520  func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
 47521  	c.ctx_ = ctx
 47522  	return c
 47523  }
 47524  
 47525  // Header returns an http.Header that can be modified by the caller to
 47526  // add HTTP headers to the request.
 47527  func (c *TargetableRemarketingListsListCall) Header() http.Header {
 47528  	if c.header_ == nil {
 47529  		c.header_ = make(http.Header)
 47530  	}
 47531  	return c.header_
 47532  }
 47533  
 47534  func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 47535  	reqHeaders := make(http.Header)
 47536  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47537  	for k, v := range c.header_ {
 47538  		reqHeaders[k] = v
 47539  	}
 47540  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47541  	if c.ifNoneMatch_ != "" {
 47542  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47543  	}
 47544  	var body io.Reader = nil
 47545  	c.urlParams_.Set("alt", alt)
 47546  	c.urlParams_.Set("prettyPrint", "false")
 47547  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
 47548  	urls += "?" + c.urlParams_.Encode()
 47549  	req, err := http.NewRequest("GET", urls, body)
 47550  	if err != nil {
 47551  		return nil, err
 47552  	}
 47553  	req.Header = reqHeaders
 47554  	googleapi.Expand(req.URL, map[string]string{
 47555  		"profileId": strconv.FormatInt(c.profileId, 10),
 47556  	})
 47557  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47558  }
 47559  
 47560  // Do executes the "dfareporting.targetableRemarketingLists.list" call.
 47561  // Exactly one of *TargetableRemarketingListsListResponse or error will
 47562  // be non-nil. Any non-2xx status code is an error. Response headers are
 47563  // in either
 47564  // *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
 47565  // a response was returned at all) in error.(*googleapi.Error).Header.
 47566  // Use googleapi.IsNotModified to check whether the returned error was
 47567  // because http.StatusNotModified was returned.
 47568  func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
 47569  	gensupport.SetOptions(c.urlParams_, opts...)
 47570  	res, err := c.doRequest("json")
 47571  	if res != nil && res.StatusCode == http.StatusNotModified {
 47572  		if res.Body != nil {
 47573  			res.Body.Close()
 47574  		}
 47575  		return nil, &googleapi.Error{
 47576  			Code:   res.StatusCode,
 47577  			Header: res.Header,
 47578  		}
 47579  	}
 47580  	if err != nil {
 47581  		return nil, err
 47582  	}
 47583  	defer googleapi.CloseBody(res)
 47584  	if err := googleapi.CheckResponse(res); err != nil {
 47585  		return nil, err
 47586  	}
 47587  	ret := &TargetableRemarketingListsListResponse{
 47588  		ServerResponse: googleapi.ServerResponse{
 47589  			Header:         res.Header,
 47590  			HTTPStatusCode: res.StatusCode,
 47591  		},
 47592  	}
 47593  	target := &ret
 47594  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47595  		return nil, err
 47596  	}
 47597  	return ret, nil
 47598  	// {
 47599  	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
 47600  	//   "httpMethod": "GET",
 47601  	//   "id": "dfareporting.targetableRemarketingLists.list",
 47602  	//   "parameterOrder": [
 47603  	//     "profileId",
 47604  	//     "advertiserId"
 47605  	//   ],
 47606  	//   "parameters": {
 47607  	//     "active": {
 47608  	//       "description": "Select only active or only inactive targetable remarketing lists.",
 47609  	//       "location": "query",
 47610  	//       "type": "boolean"
 47611  	//     },
 47612  	//     "advertiserId": {
 47613  	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
 47614  	//       "format": "int64",
 47615  	//       "location": "query",
 47616  	//       "required": true,
 47617  	//       "type": "string"
 47618  	//     },
 47619  	//     "maxResults": {
 47620  	//       "default": "1000",
 47621  	//       "description": "Maximum number of results to return.",
 47622  	//       "format": "int32",
 47623  	//       "location": "query",
 47624  	//       "maximum": "1000",
 47625  	//       "minimum": "0",
 47626  	//       "type": "integer"
 47627  	//     },
 47628  	//     "name": {
 47629  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"remarketing list*2015\" will return objects with names like \"remarketing list June 2015\", \"remarketing list April 2015\", or simply \"remarketing list 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"remarketing list\" will match objects with name \"my remarketing list\", \"remarketing list 2015\", or simply \"remarketing list\".",
 47630  	//       "location": "query",
 47631  	//       "type": "string"
 47632  	//     },
 47633  	//     "pageToken": {
 47634  	//       "description": "Value of the nextPageToken from the previous result page.",
 47635  	//       "location": "query",
 47636  	//       "type": "string"
 47637  	//     },
 47638  	//     "profileId": {
 47639  	//       "description": "User profile ID associated with this request.",
 47640  	//       "format": "int64",
 47641  	//       "location": "path",
 47642  	//       "required": true,
 47643  	//       "type": "string"
 47644  	//     },
 47645  	//     "sortField": {
 47646  	//       "default": "ID",
 47647  	//       "description": "Field by which to sort the list.",
 47648  	//       "enum": [
 47649  	//         "ID",
 47650  	//         "NAME"
 47651  	//       ],
 47652  	//       "enumDescriptions": [
 47653  	//         "",
 47654  	//         ""
 47655  	//       ],
 47656  	//       "location": "query",
 47657  	//       "type": "string"
 47658  	//     },
 47659  	//     "sortOrder": {
 47660  	//       "default": "ASCENDING",
 47661  	//       "description": "Order of sorted results.",
 47662  	//       "enum": [
 47663  	//         "ASCENDING",
 47664  	//         "DESCENDING"
 47665  	//       ],
 47666  	//       "enumDescriptions": [
 47667  	//         "",
 47668  	//         ""
 47669  	//       ],
 47670  	//       "location": "query",
 47671  	//       "type": "string"
 47672  	//     }
 47673  	//   },
 47674  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
 47675  	//   "response": {
 47676  	//     "$ref": "TargetableRemarketingListsListResponse"
 47677  	//   },
 47678  	//   "scopes": [
 47679  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47680  	//   ]
 47681  	// }
 47682  
 47683  }
 47684  
 47685  // Pages invokes f for each page of results.
 47686  // A non-nil error returned from f will halt the iteration.
 47687  // The provided context supersedes any context provided to the Context method.
 47688  func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
 47689  	c.ctx_ = ctx
 47690  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 47691  	for {
 47692  		x, err := c.Do()
 47693  		if err != nil {
 47694  			return err
 47695  		}
 47696  		if err := f(x); err != nil {
 47697  			return err
 47698  		}
 47699  		if x.NextPageToken == "" {
 47700  			return nil
 47701  		}
 47702  		c.PageToken(x.NextPageToken)
 47703  	}
 47704  }
 47705  
 47706  // method id "dfareporting.targetingTemplates.get":
 47707  
 47708  type TargetingTemplatesGetCall struct {
 47709  	s            *Service
 47710  	profileId    int64
 47711  	id           int64
 47712  	urlParams_   gensupport.URLParams
 47713  	ifNoneMatch_ string
 47714  	ctx_         context.Context
 47715  	header_      http.Header
 47716  }
 47717  
 47718  // Get: Gets one targeting template by ID.
 47719  func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
 47720  	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47721  	c.profileId = profileId
 47722  	c.id = id
 47723  	return c
 47724  }
 47725  
 47726  // Fields allows partial responses to be retrieved. See
 47727  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47728  // for more information.
 47729  func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
 47730  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47731  	return c
 47732  }
 47733  
 47734  // IfNoneMatch sets the optional parameter which makes the operation
 47735  // fail if the object's ETag matches the given value. This is useful for
 47736  // getting updates only after the object has changed since the last
 47737  // request. Use googleapi.IsNotModified to check whether the response
 47738  // error from Do is the result of In-None-Match.
 47739  func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
 47740  	c.ifNoneMatch_ = entityTag
 47741  	return c
 47742  }
 47743  
 47744  // Context sets the context to be used in this call's Do method. Any
 47745  // pending HTTP request will be aborted if the provided context is
 47746  // canceled.
 47747  func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
 47748  	c.ctx_ = ctx
 47749  	return c
 47750  }
 47751  
 47752  // Header returns an http.Header that can be modified by the caller to
 47753  // add HTTP headers to the request.
 47754  func (c *TargetingTemplatesGetCall) Header() http.Header {
 47755  	if c.header_ == nil {
 47756  		c.header_ = make(http.Header)
 47757  	}
 47758  	return c.header_
 47759  }
 47760  
 47761  func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 47762  	reqHeaders := make(http.Header)
 47763  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47764  	for k, v := range c.header_ {
 47765  		reqHeaders[k] = v
 47766  	}
 47767  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47768  	if c.ifNoneMatch_ != "" {
 47769  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47770  	}
 47771  	var body io.Reader = nil
 47772  	c.urlParams_.Set("alt", alt)
 47773  	c.urlParams_.Set("prettyPrint", "false")
 47774  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
 47775  	urls += "?" + c.urlParams_.Encode()
 47776  	req, err := http.NewRequest("GET", urls, body)
 47777  	if err != nil {
 47778  		return nil, err
 47779  	}
 47780  	req.Header = reqHeaders
 47781  	googleapi.Expand(req.URL, map[string]string{
 47782  		"profileId": strconv.FormatInt(c.profileId, 10),
 47783  		"id":        strconv.FormatInt(c.id, 10),
 47784  	})
 47785  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47786  }
 47787  
 47788  // Do executes the "dfareporting.targetingTemplates.get" call.
 47789  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 47790  // non-2xx status code is an error. Response headers are in either
 47791  // *TargetingTemplate.ServerResponse.Header or (if a response was
 47792  // returned at all) in error.(*googleapi.Error).Header. Use
 47793  // googleapi.IsNotModified to check whether the returned error was
 47794  // because http.StatusNotModified was returned.
 47795  func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 47796  	gensupport.SetOptions(c.urlParams_, opts...)
 47797  	res, err := c.doRequest("json")
 47798  	if res != nil && res.StatusCode == http.StatusNotModified {
 47799  		if res.Body != nil {
 47800  			res.Body.Close()
 47801  		}
 47802  		return nil, &googleapi.Error{
 47803  			Code:   res.StatusCode,
 47804  			Header: res.Header,
 47805  		}
 47806  	}
 47807  	if err != nil {
 47808  		return nil, err
 47809  	}
 47810  	defer googleapi.CloseBody(res)
 47811  	if err := googleapi.CheckResponse(res); err != nil {
 47812  		return nil, err
 47813  	}
 47814  	ret := &TargetingTemplate{
 47815  		ServerResponse: googleapi.ServerResponse{
 47816  			Header:         res.Header,
 47817  			HTTPStatusCode: res.StatusCode,
 47818  		},
 47819  	}
 47820  	target := &ret
 47821  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47822  		return nil, err
 47823  	}
 47824  	return ret, nil
 47825  	// {
 47826  	//   "description": "Gets one targeting template by ID.",
 47827  	//   "httpMethod": "GET",
 47828  	//   "id": "dfareporting.targetingTemplates.get",
 47829  	//   "parameterOrder": [
 47830  	//     "profileId",
 47831  	//     "id"
 47832  	//   ],
 47833  	//   "parameters": {
 47834  	//     "id": {
 47835  	//       "description": "Targeting template ID.",
 47836  	//       "format": "int64",
 47837  	//       "location": "path",
 47838  	//       "required": true,
 47839  	//       "type": "string"
 47840  	//     },
 47841  	//     "profileId": {
 47842  	//       "description": "User profile ID associated with this request.",
 47843  	//       "format": "int64",
 47844  	//       "location": "path",
 47845  	//       "required": true,
 47846  	//       "type": "string"
 47847  	//     }
 47848  	//   },
 47849  	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
 47850  	//   "response": {
 47851  	//     "$ref": "TargetingTemplate"
 47852  	//   },
 47853  	//   "scopes": [
 47854  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47855  	//   ]
 47856  	// }
 47857  
 47858  }
 47859  
 47860  // method id "dfareporting.targetingTemplates.insert":
 47861  
 47862  type TargetingTemplatesInsertCall struct {
 47863  	s                 *Service
 47864  	profileId         int64
 47865  	targetingtemplate *TargetingTemplate
 47866  	urlParams_        gensupport.URLParams
 47867  	ctx_              context.Context
 47868  	header_           http.Header
 47869  }
 47870  
 47871  // Insert: Inserts a new targeting template.
 47872  func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
 47873  	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47874  	c.profileId = profileId
 47875  	c.targetingtemplate = targetingtemplate
 47876  	return c
 47877  }
 47878  
 47879  // Fields allows partial responses to be retrieved. See
 47880  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47881  // for more information.
 47882  func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
 47883  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47884  	return c
 47885  }
 47886  
 47887  // Context sets the context to be used in this call's Do method. Any
 47888  // pending HTTP request will be aborted if the provided context is
 47889  // canceled.
 47890  func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
 47891  	c.ctx_ = ctx
 47892  	return c
 47893  }
 47894  
 47895  // Header returns an http.Header that can be modified by the caller to
 47896  // add HTTP headers to the request.
 47897  func (c *TargetingTemplatesInsertCall) Header() http.Header {
 47898  	if c.header_ == nil {
 47899  		c.header_ = make(http.Header)
 47900  	}
 47901  	return c.header_
 47902  }
 47903  
 47904  func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 47905  	reqHeaders := make(http.Header)
 47906  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47907  	for k, v := range c.header_ {
 47908  		reqHeaders[k] = v
 47909  	}
 47910  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47911  	var body io.Reader = nil
 47912  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 47913  	if err != nil {
 47914  		return nil, err
 47915  	}
 47916  	reqHeaders.Set("Content-Type", "application/json")
 47917  	c.urlParams_.Set("alt", alt)
 47918  	c.urlParams_.Set("prettyPrint", "false")
 47919  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 47920  	urls += "?" + c.urlParams_.Encode()
 47921  	req, err := http.NewRequest("POST", urls, body)
 47922  	if err != nil {
 47923  		return nil, err
 47924  	}
 47925  	req.Header = reqHeaders
 47926  	googleapi.Expand(req.URL, map[string]string{
 47927  		"profileId": strconv.FormatInt(c.profileId, 10),
 47928  	})
 47929  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47930  }
 47931  
 47932  // Do executes the "dfareporting.targetingTemplates.insert" call.
 47933  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 47934  // non-2xx status code is an error. Response headers are in either
 47935  // *TargetingTemplate.ServerResponse.Header or (if a response was
 47936  // returned at all) in error.(*googleapi.Error).Header. Use
 47937  // googleapi.IsNotModified to check whether the returned error was
 47938  // because http.StatusNotModified was returned.
 47939  func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 47940  	gensupport.SetOptions(c.urlParams_, opts...)
 47941  	res, err := c.doRequest("json")
 47942  	if res != nil && res.StatusCode == http.StatusNotModified {
 47943  		if res.Body != nil {
 47944  			res.Body.Close()
 47945  		}
 47946  		return nil, &googleapi.Error{
 47947  			Code:   res.StatusCode,
 47948  			Header: res.Header,
 47949  		}
 47950  	}
 47951  	if err != nil {
 47952  		return nil, err
 47953  	}
 47954  	defer googleapi.CloseBody(res)
 47955  	if err := googleapi.CheckResponse(res); err != nil {
 47956  		return nil, err
 47957  	}
 47958  	ret := &TargetingTemplate{
 47959  		ServerResponse: googleapi.ServerResponse{
 47960  			Header:         res.Header,
 47961  			HTTPStatusCode: res.StatusCode,
 47962  		},
 47963  	}
 47964  	target := &ret
 47965  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47966  		return nil, err
 47967  	}
 47968  	return ret, nil
 47969  	// {
 47970  	//   "description": "Inserts a new targeting template.",
 47971  	//   "httpMethod": "POST",
 47972  	//   "id": "dfareporting.targetingTemplates.insert",
 47973  	//   "parameterOrder": [
 47974  	//     "profileId"
 47975  	//   ],
 47976  	//   "parameters": {
 47977  	//     "profileId": {
 47978  	//       "description": "User profile ID associated with this request.",
 47979  	//       "format": "int64",
 47980  	//       "location": "path",
 47981  	//       "required": true,
 47982  	//       "type": "string"
 47983  	//     }
 47984  	//   },
 47985  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 47986  	//   "request": {
 47987  	//     "$ref": "TargetingTemplate"
 47988  	//   },
 47989  	//   "response": {
 47990  	//     "$ref": "TargetingTemplate"
 47991  	//   },
 47992  	//   "scopes": [
 47993  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47994  	//   ]
 47995  	// }
 47996  
 47997  }
 47998  
 47999  // method id "dfareporting.targetingTemplates.list":
 48000  
 48001  type TargetingTemplatesListCall struct {
 48002  	s            *Service
 48003  	profileId    int64
 48004  	urlParams_   gensupport.URLParams
 48005  	ifNoneMatch_ string
 48006  	ctx_         context.Context
 48007  	header_      http.Header
 48008  }
 48009  
 48010  // List: Retrieves a list of targeting templates, optionally filtered.
 48011  // This method supports paging.
 48012  func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
 48013  	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48014  	c.profileId = profileId
 48015  	return c
 48016  }
 48017  
 48018  // AdvertiserId sets the optional parameter "advertiserId": Select only
 48019  // targeting templates with this advertiser ID.
 48020  func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
 48021  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 48022  	return c
 48023  }
 48024  
 48025  // Ids sets the optional parameter "ids": Select only targeting
 48026  // templates with these IDs.
 48027  func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
 48028  	var ids_ []string
 48029  	for _, v := range ids {
 48030  		ids_ = append(ids_, fmt.Sprint(v))
 48031  	}
 48032  	c.urlParams_.SetMulti("ids", ids_)
 48033  	return c
 48034  }
 48035  
 48036  // MaxResults sets the optional parameter "maxResults": Maximum number
 48037  // of results to return.
 48038  func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
 48039  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 48040  	return c
 48041  }
 48042  
 48043  // PageToken sets the optional parameter "pageToken": Value of the
 48044  // nextPageToken from the previous result page.
 48045  func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
 48046  	c.urlParams_.Set("pageToken", pageToken)
 48047  	return c
 48048  }
 48049  
 48050  // SearchString sets the optional parameter "searchString": Allows
 48051  // searching for objects by name or ID. Wildcards (*) are allowed. For
 48052  // example, "template*2015" will return objects with names like
 48053  // "template June 2015", "template April 2015", or simply "template
 48054  // 2015". Most of the searches also add wildcards implicitly at the
 48055  // start and the end of the search string. For example, a search string
 48056  // of "template" will match objects with name "my template", "template
 48057  // 2015", or simply "template".
 48058  func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
 48059  	c.urlParams_.Set("searchString", searchString)
 48060  	return c
 48061  }
 48062  
 48063  // SortField sets the optional parameter "sortField": Field by which to
 48064  // sort the list.
 48065  //
 48066  // Possible values:
 48067  //
 48068  //	"ID" (default)
 48069  //	"NAME"
 48070  func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
 48071  	c.urlParams_.Set("sortField", sortField)
 48072  	return c
 48073  }
 48074  
 48075  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 48076  // results.
 48077  //
 48078  // Possible values:
 48079  //
 48080  //	"ASCENDING" (default)
 48081  //	"DESCENDING"
 48082  func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
 48083  	c.urlParams_.Set("sortOrder", sortOrder)
 48084  	return c
 48085  }
 48086  
 48087  // Fields allows partial responses to be retrieved. See
 48088  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48089  // for more information.
 48090  func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
 48091  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48092  	return c
 48093  }
 48094  
 48095  // IfNoneMatch sets the optional parameter which makes the operation
 48096  // fail if the object's ETag matches the given value. This is useful for
 48097  // getting updates only after the object has changed since the last
 48098  // request. Use googleapi.IsNotModified to check whether the response
 48099  // error from Do is the result of In-None-Match.
 48100  func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
 48101  	c.ifNoneMatch_ = entityTag
 48102  	return c
 48103  }
 48104  
 48105  // Context sets the context to be used in this call's Do method. Any
 48106  // pending HTTP request will be aborted if the provided context is
 48107  // canceled.
 48108  func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
 48109  	c.ctx_ = ctx
 48110  	return c
 48111  }
 48112  
 48113  // Header returns an http.Header that can be modified by the caller to
 48114  // add HTTP headers to the request.
 48115  func (c *TargetingTemplatesListCall) Header() http.Header {
 48116  	if c.header_ == nil {
 48117  		c.header_ = make(http.Header)
 48118  	}
 48119  	return c.header_
 48120  }
 48121  
 48122  func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 48123  	reqHeaders := make(http.Header)
 48124  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48125  	for k, v := range c.header_ {
 48126  		reqHeaders[k] = v
 48127  	}
 48128  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48129  	if c.ifNoneMatch_ != "" {
 48130  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48131  	}
 48132  	var body io.Reader = nil
 48133  	c.urlParams_.Set("alt", alt)
 48134  	c.urlParams_.Set("prettyPrint", "false")
 48135  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48136  	urls += "?" + c.urlParams_.Encode()
 48137  	req, err := http.NewRequest("GET", urls, body)
 48138  	if err != nil {
 48139  		return nil, err
 48140  	}
 48141  	req.Header = reqHeaders
 48142  	googleapi.Expand(req.URL, map[string]string{
 48143  		"profileId": strconv.FormatInt(c.profileId, 10),
 48144  	})
 48145  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48146  }
 48147  
 48148  // Do executes the "dfareporting.targetingTemplates.list" call.
 48149  // Exactly one of *TargetingTemplatesListResponse or error will be
 48150  // non-nil. Any non-2xx status code is an error. Response headers are in
 48151  // either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
 48152  // response was returned at all) in error.(*googleapi.Error).Header. Use
 48153  // googleapi.IsNotModified to check whether the returned error was
 48154  // because http.StatusNotModified was returned.
 48155  func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
 48156  	gensupport.SetOptions(c.urlParams_, opts...)
 48157  	res, err := c.doRequest("json")
 48158  	if res != nil && res.StatusCode == http.StatusNotModified {
 48159  		if res.Body != nil {
 48160  			res.Body.Close()
 48161  		}
 48162  		return nil, &googleapi.Error{
 48163  			Code:   res.StatusCode,
 48164  			Header: res.Header,
 48165  		}
 48166  	}
 48167  	if err != nil {
 48168  		return nil, err
 48169  	}
 48170  	defer googleapi.CloseBody(res)
 48171  	if err := googleapi.CheckResponse(res); err != nil {
 48172  		return nil, err
 48173  	}
 48174  	ret := &TargetingTemplatesListResponse{
 48175  		ServerResponse: googleapi.ServerResponse{
 48176  			Header:         res.Header,
 48177  			HTTPStatusCode: res.StatusCode,
 48178  		},
 48179  	}
 48180  	target := &ret
 48181  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48182  		return nil, err
 48183  	}
 48184  	return ret, nil
 48185  	// {
 48186  	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
 48187  	//   "httpMethod": "GET",
 48188  	//   "id": "dfareporting.targetingTemplates.list",
 48189  	//   "parameterOrder": [
 48190  	//     "profileId"
 48191  	//   ],
 48192  	//   "parameters": {
 48193  	//     "advertiserId": {
 48194  	//       "description": "Select only targeting templates with this advertiser ID.",
 48195  	//       "format": "int64",
 48196  	//       "location": "query",
 48197  	//       "type": "string"
 48198  	//     },
 48199  	//     "ids": {
 48200  	//       "description": "Select only targeting templates with these IDs.",
 48201  	//       "format": "int64",
 48202  	//       "location": "query",
 48203  	//       "repeated": true,
 48204  	//       "type": "string"
 48205  	//     },
 48206  	//     "maxResults": {
 48207  	//       "default": "1000",
 48208  	//       "description": "Maximum number of results to return.",
 48209  	//       "format": "int32",
 48210  	//       "location": "query",
 48211  	//       "maximum": "1000",
 48212  	//       "minimum": "0",
 48213  	//       "type": "integer"
 48214  	//     },
 48215  	//     "pageToken": {
 48216  	//       "description": "Value of the nextPageToken from the previous result page.",
 48217  	//       "location": "query",
 48218  	//       "type": "string"
 48219  	//     },
 48220  	//     "profileId": {
 48221  	//       "description": "User profile ID associated with this request.",
 48222  	//       "format": "int64",
 48223  	//       "location": "path",
 48224  	//       "required": true,
 48225  	//       "type": "string"
 48226  	//     },
 48227  	//     "searchString": {
 48228  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"template*2015\" will return objects with names like \"template June 2015\", \"template April 2015\", or simply \"template 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"template\" will match objects with name \"my template\", \"template 2015\", or simply \"template\".",
 48229  	//       "location": "query",
 48230  	//       "type": "string"
 48231  	//     },
 48232  	//     "sortField": {
 48233  	//       "default": "ID",
 48234  	//       "description": "Field by which to sort the list.",
 48235  	//       "enum": [
 48236  	//         "ID",
 48237  	//         "NAME"
 48238  	//       ],
 48239  	//       "enumDescriptions": [
 48240  	//         "",
 48241  	//         ""
 48242  	//       ],
 48243  	//       "location": "query",
 48244  	//       "type": "string"
 48245  	//     },
 48246  	//     "sortOrder": {
 48247  	//       "default": "ASCENDING",
 48248  	//       "description": "Order of sorted results.",
 48249  	//       "enum": [
 48250  	//         "ASCENDING",
 48251  	//         "DESCENDING"
 48252  	//       ],
 48253  	//       "enumDescriptions": [
 48254  	//         "",
 48255  	//         ""
 48256  	//       ],
 48257  	//       "location": "query",
 48258  	//       "type": "string"
 48259  	//     }
 48260  	//   },
 48261  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48262  	//   "response": {
 48263  	//     "$ref": "TargetingTemplatesListResponse"
 48264  	//   },
 48265  	//   "scopes": [
 48266  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48267  	//   ]
 48268  	// }
 48269  
 48270  }
 48271  
 48272  // Pages invokes f for each page of results.
 48273  // A non-nil error returned from f will halt the iteration.
 48274  // The provided context supersedes any context provided to the Context method.
 48275  func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
 48276  	c.ctx_ = ctx
 48277  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 48278  	for {
 48279  		x, err := c.Do()
 48280  		if err != nil {
 48281  			return err
 48282  		}
 48283  		if err := f(x); err != nil {
 48284  			return err
 48285  		}
 48286  		if x.NextPageToken == "" {
 48287  			return nil
 48288  		}
 48289  		c.PageToken(x.NextPageToken)
 48290  	}
 48291  }
 48292  
 48293  // method id "dfareporting.targetingTemplates.patch":
 48294  
 48295  type TargetingTemplatesPatchCall struct {
 48296  	s                 *Service
 48297  	profileId         int64
 48298  	targetingtemplate *TargetingTemplate
 48299  	urlParams_        gensupport.URLParams
 48300  	ctx_              context.Context
 48301  	header_           http.Header
 48302  }
 48303  
 48304  // Patch: Updates an existing targeting template. This method supports
 48305  // patch semantics.
 48306  func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
 48307  	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48308  	c.profileId = profileId
 48309  	c.urlParams_.Set("id", fmt.Sprint(id))
 48310  	c.targetingtemplate = targetingtemplate
 48311  	return c
 48312  }
 48313  
 48314  // Fields allows partial responses to be retrieved. See
 48315  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48316  // for more information.
 48317  func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
 48318  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48319  	return c
 48320  }
 48321  
 48322  // Context sets the context to be used in this call's Do method. Any
 48323  // pending HTTP request will be aborted if the provided context is
 48324  // canceled.
 48325  func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
 48326  	c.ctx_ = ctx
 48327  	return c
 48328  }
 48329  
 48330  // Header returns an http.Header that can be modified by the caller to
 48331  // add HTTP headers to the request.
 48332  func (c *TargetingTemplatesPatchCall) Header() http.Header {
 48333  	if c.header_ == nil {
 48334  		c.header_ = make(http.Header)
 48335  	}
 48336  	return c.header_
 48337  }
 48338  
 48339  func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 48340  	reqHeaders := make(http.Header)
 48341  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48342  	for k, v := range c.header_ {
 48343  		reqHeaders[k] = v
 48344  	}
 48345  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48346  	var body io.Reader = nil
 48347  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 48348  	if err != nil {
 48349  		return nil, err
 48350  	}
 48351  	reqHeaders.Set("Content-Type", "application/json")
 48352  	c.urlParams_.Set("alt", alt)
 48353  	c.urlParams_.Set("prettyPrint", "false")
 48354  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48355  	urls += "?" + c.urlParams_.Encode()
 48356  	req, err := http.NewRequest("PATCH", urls, body)
 48357  	if err != nil {
 48358  		return nil, err
 48359  	}
 48360  	req.Header = reqHeaders
 48361  	googleapi.Expand(req.URL, map[string]string{
 48362  		"profileId": strconv.FormatInt(c.profileId, 10),
 48363  	})
 48364  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48365  }
 48366  
 48367  // Do executes the "dfareporting.targetingTemplates.patch" call.
 48368  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48369  // non-2xx status code is an error. Response headers are in either
 48370  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48371  // returned at all) in error.(*googleapi.Error).Header. Use
 48372  // googleapi.IsNotModified to check whether the returned error was
 48373  // because http.StatusNotModified was returned.
 48374  func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48375  	gensupport.SetOptions(c.urlParams_, opts...)
 48376  	res, err := c.doRequest("json")
 48377  	if res != nil && res.StatusCode == http.StatusNotModified {
 48378  		if res.Body != nil {
 48379  			res.Body.Close()
 48380  		}
 48381  		return nil, &googleapi.Error{
 48382  			Code:   res.StatusCode,
 48383  			Header: res.Header,
 48384  		}
 48385  	}
 48386  	if err != nil {
 48387  		return nil, err
 48388  	}
 48389  	defer googleapi.CloseBody(res)
 48390  	if err := googleapi.CheckResponse(res); err != nil {
 48391  		return nil, err
 48392  	}
 48393  	ret := &TargetingTemplate{
 48394  		ServerResponse: googleapi.ServerResponse{
 48395  			Header:         res.Header,
 48396  			HTTPStatusCode: res.StatusCode,
 48397  		},
 48398  	}
 48399  	target := &ret
 48400  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48401  		return nil, err
 48402  	}
 48403  	return ret, nil
 48404  	// {
 48405  	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
 48406  	//   "httpMethod": "PATCH",
 48407  	//   "id": "dfareporting.targetingTemplates.patch",
 48408  	//   "parameterOrder": [
 48409  	//     "profileId",
 48410  	//     "id"
 48411  	//   ],
 48412  	//   "parameters": {
 48413  	//     "id": {
 48414  	//       "description": "Targeting template ID.",
 48415  	//       "format": "int64",
 48416  	//       "location": "query",
 48417  	//       "required": true,
 48418  	//       "type": "string"
 48419  	//     },
 48420  	//     "profileId": {
 48421  	//       "description": "User profile ID associated with this request.",
 48422  	//       "format": "int64",
 48423  	//       "location": "path",
 48424  	//       "required": true,
 48425  	//       "type": "string"
 48426  	//     }
 48427  	//   },
 48428  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48429  	//   "request": {
 48430  	//     "$ref": "TargetingTemplate"
 48431  	//   },
 48432  	//   "response": {
 48433  	//     "$ref": "TargetingTemplate"
 48434  	//   },
 48435  	//   "scopes": [
 48436  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48437  	//   ]
 48438  	// }
 48439  
 48440  }
 48441  
 48442  // method id "dfareporting.targetingTemplates.update":
 48443  
 48444  type TargetingTemplatesUpdateCall struct {
 48445  	s                 *Service
 48446  	profileId         int64
 48447  	targetingtemplate *TargetingTemplate
 48448  	urlParams_        gensupport.URLParams
 48449  	ctx_              context.Context
 48450  	header_           http.Header
 48451  }
 48452  
 48453  // Update: Updates an existing targeting template.
 48454  func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
 48455  	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48456  	c.profileId = profileId
 48457  	c.targetingtemplate = targetingtemplate
 48458  	return c
 48459  }
 48460  
 48461  // Fields allows partial responses to be retrieved. See
 48462  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48463  // for more information.
 48464  func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
 48465  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48466  	return c
 48467  }
 48468  
 48469  // Context sets the context to be used in this call's Do method. Any
 48470  // pending HTTP request will be aborted if the provided context is
 48471  // canceled.
 48472  func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
 48473  	c.ctx_ = ctx
 48474  	return c
 48475  }
 48476  
 48477  // Header returns an http.Header that can be modified by the caller to
 48478  // add HTTP headers to the request.
 48479  func (c *TargetingTemplatesUpdateCall) Header() http.Header {
 48480  	if c.header_ == nil {
 48481  		c.header_ = make(http.Header)
 48482  	}
 48483  	return c.header_
 48484  }
 48485  
 48486  func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 48487  	reqHeaders := make(http.Header)
 48488  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48489  	for k, v := range c.header_ {
 48490  		reqHeaders[k] = v
 48491  	}
 48492  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48493  	var body io.Reader = nil
 48494  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 48495  	if err != nil {
 48496  		return nil, err
 48497  	}
 48498  	reqHeaders.Set("Content-Type", "application/json")
 48499  	c.urlParams_.Set("alt", alt)
 48500  	c.urlParams_.Set("prettyPrint", "false")
 48501  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48502  	urls += "?" + c.urlParams_.Encode()
 48503  	req, err := http.NewRequest("PUT", urls, body)
 48504  	if err != nil {
 48505  		return nil, err
 48506  	}
 48507  	req.Header = reqHeaders
 48508  	googleapi.Expand(req.URL, map[string]string{
 48509  		"profileId": strconv.FormatInt(c.profileId, 10),
 48510  	})
 48511  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48512  }
 48513  
 48514  // Do executes the "dfareporting.targetingTemplates.update" call.
 48515  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48516  // non-2xx status code is an error. Response headers are in either
 48517  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48518  // returned at all) in error.(*googleapi.Error).Header. Use
 48519  // googleapi.IsNotModified to check whether the returned error was
 48520  // because http.StatusNotModified was returned.
 48521  func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48522  	gensupport.SetOptions(c.urlParams_, opts...)
 48523  	res, err := c.doRequest("json")
 48524  	if res != nil && res.StatusCode == http.StatusNotModified {
 48525  		if res.Body != nil {
 48526  			res.Body.Close()
 48527  		}
 48528  		return nil, &googleapi.Error{
 48529  			Code:   res.StatusCode,
 48530  			Header: res.Header,
 48531  		}
 48532  	}
 48533  	if err != nil {
 48534  		return nil, err
 48535  	}
 48536  	defer googleapi.CloseBody(res)
 48537  	if err := googleapi.CheckResponse(res); err != nil {
 48538  		return nil, err
 48539  	}
 48540  	ret := &TargetingTemplate{
 48541  		ServerResponse: googleapi.ServerResponse{
 48542  			Header:         res.Header,
 48543  			HTTPStatusCode: res.StatusCode,
 48544  		},
 48545  	}
 48546  	target := &ret
 48547  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48548  		return nil, err
 48549  	}
 48550  	return ret, nil
 48551  	// {
 48552  	//   "description": "Updates an existing targeting template.",
 48553  	//   "httpMethod": "PUT",
 48554  	//   "id": "dfareporting.targetingTemplates.update",
 48555  	//   "parameterOrder": [
 48556  	//     "profileId"
 48557  	//   ],
 48558  	//   "parameters": {
 48559  	//     "profileId": {
 48560  	//       "description": "User profile ID associated with this request.",
 48561  	//       "format": "int64",
 48562  	//       "location": "path",
 48563  	//       "required": true,
 48564  	//       "type": "string"
 48565  	//     }
 48566  	//   },
 48567  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48568  	//   "request": {
 48569  	//     "$ref": "TargetingTemplate"
 48570  	//   },
 48571  	//   "response": {
 48572  	//     "$ref": "TargetingTemplate"
 48573  	//   },
 48574  	//   "scopes": [
 48575  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48576  	//   ]
 48577  	// }
 48578  
 48579  }
 48580  
 48581  // method id "dfareporting.userProfiles.get":
 48582  
 48583  type UserProfilesGetCall struct {
 48584  	s            *Service
 48585  	profileId    int64
 48586  	urlParams_   gensupport.URLParams
 48587  	ifNoneMatch_ string
 48588  	ctx_         context.Context
 48589  	header_      http.Header
 48590  }
 48591  
 48592  // Get: Gets one user profile by ID.
 48593  func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
 48594  	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48595  	c.profileId = profileId
 48596  	return c
 48597  }
 48598  
 48599  // Fields allows partial responses to be retrieved. See
 48600  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48601  // for more information.
 48602  func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
 48603  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48604  	return c
 48605  }
 48606  
 48607  // IfNoneMatch sets the optional parameter which makes the operation
 48608  // fail if the object's ETag matches the given value. This is useful for
 48609  // getting updates only after the object has changed since the last
 48610  // request. Use googleapi.IsNotModified to check whether the response
 48611  // error from Do is the result of In-None-Match.
 48612  func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
 48613  	c.ifNoneMatch_ = entityTag
 48614  	return c
 48615  }
 48616  
 48617  // Context sets the context to be used in this call's Do method. Any
 48618  // pending HTTP request will be aborted if the provided context is
 48619  // canceled.
 48620  func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 48621  	c.ctx_ = ctx
 48622  	return c
 48623  }
 48624  
 48625  // Header returns an http.Header that can be modified by the caller to
 48626  // add HTTP headers to the request.
 48627  func (c *UserProfilesGetCall) Header() http.Header {
 48628  	if c.header_ == nil {
 48629  		c.header_ = make(http.Header)
 48630  	}
 48631  	return c.header_
 48632  }
 48633  
 48634  func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 48635  	reqHeaders := make(http.Header)
 48636  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48637  	for k, v := range c.header_ {
 48638  		reqHeaders[k] = v
 48639  	}
 48640  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48641  	if c.ifNoneMatch_ != "" {
 48642  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48643  	}
 48644  	var body io.Reader = nil
 48645  	c.urlParams_.Set("alt", alt)
 48646  	c.urlParams_.Set("prettyPrint", "false")
 48647  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
 48648  	urls += "?" + c.urlParams_.Encode()
 48649  	req, err := http.NewRequest("GET", urls, body)
 48650  	if err != nil {
 48651  		return nil, err
 48652  	}
 48653  	req.Header = reqHeaders
 48654  	googleapi.Expand(req.URL, map[string]string{
 48655  		"profileId": strconv.FormatInt(c.profileId, 10),
 48656  	})
 48657  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48658  }
 48659  
 48660  // Do executes the "dfareporting.userProfiles.get" call.
 48661  // Exactly one of *UserProfile or error will be non-nil. Any non-2xx
 48662  // status code is an error. Response headers are in either
 48663  // *UserProfile.ServerResponse.Header or (if a response was returned at
 48664  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 48665  // to check whether the returned error was because
 48666  // http.StatusNotModified was returned.
 48667  func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
 48668  	gensupport.SetOptions(c.urlParams_, opts...)
 48669  	res, err := c.doRequest("json")
 48670  	if res != nil && res.StatusCode == http.StatusNotModified {
 48671  		if res.Body != nil {
 48672  			res.Body.Close()
 48673  		}
 48674  		return nil, &googleapi.Error{
 48675  			Code:   res.StatusCode,
 48676  			Header: res.Header,
 48677  		}
 48678  	}
 48679  	if err != nil {
 48680  		return nil, err
 48681  	}
 48682  	defer googleapi.CloseBody(res)
 48683  	if err := googleapi.CheckResponse(res); err != nil {
 48684  		return nil, err
 48685  	}
 48686  	ret := &UserProfile{
 48687  		ServerResponse: googleapi.ServerResponse{
 48688  			Header:         res.Header,
 48689  			HTTPStatusCode: res.StatusCode,
 48690  		},
 48691  	}
 48692  	target := &ret
 48693  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48694  		return nil, err
 48695  	}
 48696  	return ret, nil
 48697  	// {
 48698  	//   "description": "Gets one user profile by ID.",
 48699  	//   "httpMethod": "GET",
 48700  	//   "id": "dfareporting.userProfiles.get",
 48701  	//   "parameterOrder": [
 48702  	//     "profileId"
 48703  	//   ],
 48704  	//   "parameters": {
 48705  	//     "profileId": {
 48706  	//       "description": "The user profile ID.",
 48707  	//       "format": "int64",
 48708  	//       "location": "path",
 48709  	//       "required": true,
 48710  	//       "type": "string"
 48711  	//     }
 48712  	//   },
 48713  	//   "path": "userprofiles/{profileId}",
 48714  	//   "response": {
 48715  	//     "$ref": "UserProfile"
 48716  	//   },
 48717  	//   "scopes": [
 48718  	//     "https://www.googleapis.com/auth/dfareporting",
 48719  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48720  	//   ]
 48721  	// }
 48722  
 48723  }
 48724  
 48725  // method id "dfareporting.userProfiles.list":
 48726  
 48727  type UserProfilesListCall struct {
 48728  	s            *Service
 48729  	urlParams_   gensupport.URLParams
 48730  	ifNoneMatch_ string
 48731  	ctx_         context.Context
 48732  	header_      http.Header
 48733  }
 48734  
 48735  // List: Retrieves list of user profiles for a user.
 48736  func (r *UserProfilesService) List() *UserProfilesListCall {
 48737  	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48738  	return c
 48739  }
 48740  
 48741  // Fields allows partial responses to be retrieved. See
 48742  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48743  // for more information.
 48744  func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
 48745  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48746  	return c
 48747  }
 48748  
 48749  // IfNoneMatch sets the optional parameter which makes the operation
 48750  // fail if the object's ETag matches the given value. This is useful for
 48751  // getting updates only after the object has changed since the last
 48752  // request. Use googleapi.IsNotModified to check whether the response
 48753  // error from Do is the result of In-None-Match.
 48754  func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
 48755  	c.ifNoneMatch_ = entityTag
 48756  	return c
 48757  }
 48758  
 48759  // Context sets the context to be used in this call's Do method. Any
 48760  // pending HTTP request will be aborted if the provided context is
 48761  // canceled.
 48762  func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 48763  	c.ctx_ = ctx
 48764  	return c
 48765  }
 48766  
 48767  // Header returns an http.Header that can be modified by the caller to
 48768  // add HTTP headers to the request.
 48769  func (c *UserProfilesListCall) Header() http.Header {
 48770  	if c.header_ == nil {
 48771  		c.header_ = make(http.Header)
 48772  	}
 48773  	return c.header_
 48774  }
 48775  
 48776  func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 48777  	reqHeaders := make(http.Header)
 48778  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48779  	for k, v := range c.header_ {
 48780  		reqHeaders[k] = v
 48781  	}
 48782  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48783  	if c.ifNoneMatch_ != "" {
 48784  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48785  	}
 48786  	var body io.Reader = nil
 48787  	c.urlParams_.Set("alt", alt)
 48788  	c.urlParams_.Set("prettyPrint", "false")
 48789  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
 48790  	urls += "?" + c.urlParams_.Encode()
 48791  	req, err := http.NewRequest("GET", urls, body)
 48792  	if err != nil {
 48793  		return nil, err
 48794  	}
 48795  	req.Header = reqHeaders
 48796  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48797  }
 48798  
 48799  // Do executes the "dfareporting.userProfiles.list" call.
 48800  // Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
 48801  // status code is an error. Response headers are in either
 48802  // *UserProfileList.ServerResponse.Header or (if a response was returned
 48803  // at all) in error.(*googleapi.Error).Header. Use
 48804  // googleapi.IsNotModified to check whether the returned error was
 48805  // because http.StatusNotModified was returned.
 48806  func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
 48807  	gensupport.SetOptions(c.urlParams_, opts...)
 48808  	res, err := c.doRequest("json")
 48809  	if res != nil && res.StatusCode == http.StatusNotModified {
 48810  		if res.Body != nil {
 48811  			res.Body.Close()
 48812  		}
 48813  		return nil, &googleapi.Error{
 48814  			Code:   res.StatusCode,
 48815  			Header: res.Header,
 48816  		}
 48817  	}
 48818  	if err != nil {
 48819  		return nil, err
 48820  	}
 48821  	defer googleapi.CloseBody(res)
 48822  	if err := googleapi.CheckResponse(res); err != nil {
 48823  		return nil, err
 48824  	}
 48825  	ret := &UserProfileList{
 48826  		ServerResponse: googleapi.ServerResponse{
 48827  			Header:         res.Header,
 48828  			HTTPStatusCode: res.StatusCode,
 48829  		},
 48830  	}
 48831  	target := &ret
 48832  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48833  		return nil, err
 48834  	}
 48835  	return ret, nil
 48836  	// {
 48837  	//   "description": "Retrieves list of user profiles for a user.",
 48838  	//   "httpMethod": "GET",
 48839  	//   "id": "dfareporting.userProfiles.list",
 48840  	//   "path": "userprofiles",
 48841  	//   "response": {
 48842  	//     "$ref": "UserProfileList"
 48843  	//   },
 48844  	//   "scopes": [
 48845  	//     "https://www.googleapis.com/auth/dfareporting",
 48846  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48847  	//   ]
 48848  	// }
 48849  
 48850  }
 48851  
 48852  // method id "dfareporting.userRolePermissionGroups.get":
 48853  
 48854  type UserRolePermissionGroupsGetCall struct {
 48855  	s            *Service
 48856  	profileId    int64
 48857  	id           int64
 48858  	urlParams_   gensupport.URLParams
 48859  	ifNoneMatch_ string
 48860  	ctx_         context.Context
 48861  	header_      http.Header
 48862  }
 48863  
 48864  // Get: Gets one user role permission group by ID.
 48865  func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
 48866  	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48867  	c.profileId = profileId
 48868  	c.id = id
 48869  	return c
 48870  }
 48871  
 48872  // Fields allows partial responses to be retrieved. See
 48873  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48874  // for more information.
 48875  func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
 48876  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48877  	return c
 48878  }
 48879  
 48880  // IfNoneMatch sets the optional parameter which makes the operation
 48881  // fail if the object's ETag matches the given value. This is useful for
 48882  // getting updates only after the object has changed since the last
 48883  // request. Use googleapi.IsNotModified to check whether the response
 48884  // error from Do is the result of In-None-Match.
 48885  func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
 48886  	c.ifNoneMatch_ = entityTag
 48887  	return c
 48888  }
 48889  
 48890  // Context sets the context to be used in this call's Do method. Any
 48891  // pending HTTP request will be aborted if the provided context is
 48892  // canceled.
 48893  func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
 48894  	c.ctx_ = ctx
 48895  	return c
 48896  }
 48897  
 48898  // Header returns an http.Header that can be modified by the caller to
 48899  // add HTTP headers to the request.
 48900  func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
 48901  	if c.header_ == nil {
 48902  		c.header_ = make(http.Header)
 48903  	}
 48904  	return c.header_
 48905  }
 48906  
 48907  func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 48908  	reqHeaders := make(http.Header)
 48909  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48910  	for k, v := range c.header_ {
 48911  		reqHeaders[k] = v
 48912  	}
 48913  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48914  	if c.ifNoneMatch_ != "" {
 48915  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48916  	}
 48917  	var body io.Reader = nil
 48918  	c.urlParams_.Set("alt", alt)
 48919  	c.urlParams_.Set("prettyPrint", "false")
 48920  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
 48921  	urls += "?" + c.urlParams_.Encode()
 48922  	req, err := http.NewRequest("GET", urls, body)
 48923  	if err != nil {
 48924  		return nil, err
 48925  	}
 48926  	req.Header = reqHeaders
 48927  	googleapi.Expand(req.URL, map[string]string{
 48928  		"profileId": strconv.FormatInt(c.profileId, 10),
 48929  		"id":        strconv.FormatInt(c.id, 10),
 48930  	})
 48931  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48932  }
 48933  
 48934  // Do executes the "dfareporting.userRolePermissionGroups.get" call.
 48935  // Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
 48936  // non-2xx status code is an error. Response headers are in either
 48937  // *UserRolePermissionGroup.ServerResponse.Header or (if a response was
 48938  // returned at all) in error.(*googleapi.Error).Header. Use
 48939  // googleapi.IsNotModified to check whether the returned error was
 48940  // because http.StatusNotModified was returned.
 48941  func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
 48942  	gensupport.SetOptions(c.urlParams_, opts...)
 48943  	res, err := c.doRequest("json")
 48944  	if res != nil && res.StatusCode == http.StatusNotModified {
 48945  		if res.Body != nil {
 48946  			res.Body.Close()
 48947  		}
 48948  		return nil, &googleapi.Error{
 48949  			Code:   res.StatusCode,
 48950  			Header: res.Header,
 48951  		}
 48952  	}
 48953  	if err != nil {
 48954  		return nil, err
 48955  	}
 48956  	defer googleapi.CloseBody(res)
 48957  	if err := googleapi.CheckResponse(res); err != nil {
 48958  		return nil, err
 48959  	}
 48960  	ret := &UserRolePermissionGroup{
 48961  		ServerResponse: googleapi.ServerResponse{
 48962  			Header:         res.Header,
 48963  			HTTPStatusCode: res.StatusCode,
 48964  		},
 48965  	}
 48966  	target := &ret
 48967  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48968  		return nil, err
 48969  	}
 48970  	return ret, nil
 48971  	// {
 48972  	//   "description": "Gets one user role permission group by ID.",
 48973  	//   "httpMethod": "GET",
 48974  	//   "id": "dfareporting.userRolePermissionGroups.get",
 48975  	//   "parameterOrder": [
 48976  	//     "profileId",
 48977  	//     "id"
 48978  	//   ],
 48979  	//   "parameters": {
 48980  	//     "id": {
 48981  	//       "description": "User role permission group ID.",
 48982  	//       "format": "int64",
 48983  	//       "location": "path",
 48984  	//       "required": true,
 48985  	//       "type": "string"
 48986  	//     },
 48987  	//     "profileId": {
 48988  	//       "description": "User profile ID associated with this request.",
 48989  	//       "format": "int64",
 48990  	//       "location": "path",
 48991  	//       "required": true,
 48992  	//       "type": "string"
 48993  	//     }
 48994  	//   },
 48995  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
 48996  	//   "response": {
 48997  	//     "$ref": "UserRolePermissionGroup"
 48998  	//   },
 48999  	//   "scopes": [
 49000  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49001  	//   ]
 49002  	// }
 49003  
 49004  }
 49005  
 49006  // method id "dfareporting.userRolePermissionGroups.list":
 49007  
 49008  type UserRolePermissionGroupsListCall struct {
 49009  	s            *Service
 49010  	profileId    int64
 49011  	urlParams_   gensupport.URLParams
 49012  	ifNoneMatch_ string
 49013  	ctx_         context.Context
 49014  	header_      http.Header
 49015  }
 49016  
 49017  // List: Gets a list of all supported user role permission groups.
 49018  func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
 49019  	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49020  	c.profileId = profileId
 49021  	return c
 49022  }
 49023  
 49024  // Fields allows partial responses to be retrieved. See
 49025  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49026  // for more information.
 49027  func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
 49028  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49029  	return c
 49030  }
 49031  
 49032  // IfNoneMatch sets the optional parameter which makes the operation
 49033  // fail if the object's ETag matches the given value. This is useful for
 49034  // getting updates only after the object has changed since the last
 49035  // request. Use googleapi.IsNotModified to check whether the response
 49036  // error from Do is the result of In-None-Match.
 49037  func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
 49038  	c.ifNoneMatch_ = entityTag
 49039  	return c
 49040  }
 49041  
 49042  // Context sets the context to be used in this call's Do method. Any
 49043  // pending HTTP request will be aborted if the provided context is
 49044  // canceled.
 49045  func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
 49046  	c.ctx_ = ctx
 49047  	return c
 49048  }
 49049  
 49050  // Header returns an http.Header that can be modified by the caller to
 49051  // add HTTP headers to the request.
 49052  func (c *UserRolePermissionGroupsListCall) Header() http.Header {
 49053  	if c.header_ == nil {
 49054  		c.header_ = make(http.Header)
 49055  	}
 49056  	return c.header_
 49057  }
 49058  
 49059  func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 49060  	reqHeaders := make(http.Header)
 49061  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49062  	for k, v := range c.header_ {
 49063  		reqHeaders[k] = v
 49064  	}
 49065  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49066  	if c.ifNoneMatch_ != "" {
 49067  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49068  	}
 49069  	var body io.Reader = nil
 49070  	c.urlParams_.Set("alt", alt)
 49071  	c.urlParams_.Set("prettyPrint", "false")
 49072  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
 49073  	urls += "?" + c.urlParams_.Encode()
 49074  	req, err := http.NewRequest("GET", urls, body)
 49075  	if err != nil {
 49076  		return nil, err
 49077  	}
 49078  	req.Header = reqHeaders
 49079  	googleapi.Expand(req.URL, map[string]string{
 49080  		"profileId": strconv.FormatInt(c.profileId, 10),
 49081  	})
 49082  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49083  }
 49084  
 49085  // Do executes the "dfareporting.userRolePermissionGroups.list" call.
 49086  // Exactly one of *UserRolePermissionGroupsListResponse or error will be
 49087  // non-nil. Any non-2xx status code is an error. Response headers are in
 49088  // either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
 49089  // (if a response was returned at all) in
 49090  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 49091  // whether the returned error was because http.StatusNotModified was
 49092  // returned.
 49093  func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
 49094  	gensupport.SetOptions(c.urlParams_, opts...)
 49095  	res, err := c.doRequest("json")
 49096  	if res != nil && res.StatusCode == http.StatusNotModified {
 49097  		if res.Body != nil {
 49098  			res.Body.Close()
 49099  		}
 49100  		return nil, &googleapi.Error{
 49101  			Code:   res.StatusCode,
 49102  			Header: res.Header,
 49103  		}
 49104  	}
 49105  	if err != nil {
 49106  		return nil, err
 49107  	}
 49108  	defer googleapi.CloseBody(res)
 49109  	if err := googleapi.CheckResponse(res); err != nil {
 49110  		return nil, err
 49111  	}
 49112  	ret := &UserRolePermissionGroupsListResponse{
 49113  		ServerResponse: googleapi.ServerResponse{
 49114  			Header:         res.Header,
 49115  			HTTPStatusCode: res.StatusCode,
 49116  		},
 49117  	}
 49118  	target := &ret
 49119  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49120  		return nil, err
 49121  	}
 49122  	return ret, nil
 49123  	// {
 49124  	//   "description": "Gets a list of all supported user role permission groups.",
 49125  	//   "httpMethod": "GET",
 49126  	//   "id": "dfareporting.userRolePermissionGroups.list",
 49127  	//   "parameterOrder": [
 49128  	//     "profileId"
 49129  	//   ],
 49130  	//   "parameters": {
 49131  	//     "profileId": {
 49132  	//       "description": "User profile ID associated with this request.",
 49133  	//       "format": "int64",
 49134  	//       "location": "path",
 49135  	//       "required": true,
 49136  	//       "type": "string"
 49137  	//     }
 49138  	//   },
 49139  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
 49140  	//   "response": {
 49141  	//     "$ref": "UserRolePermissionGroupsListResponse"
 49142  	//   },
 49143  	//   "scopes": [
 49144  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49145  	//   ]
 49146  	// }
 49147  
 49148  }
 49149  
 49150  // method id "dfareporting.userRolePermissions.get":
 49151  
 49152  type UserRolePermissionsGetCall struct {
 49153  	s            *Service
 49154  	profileId    int64
 49155  	id           int64
 49156  	urlParams_   gensupport.URLParams
 49157  	ifNoneMatch_ string
 49158  	ctx_         context.Context
 49159  	header_      http.Header
 49160  }
 49161  
 49162  // Get: Gets one user role permission by ID.
 49163  func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
 49164  	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49165  	c.profileId = profileId
 49166  	c.id = id
 49167  	return c
 49168  }
 49169  
 49170  // Fields allows partial responses to be retrieved. See
 49171  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49172  // for more information.
 49173  func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
 49174  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49175  	return c
 49176  }
 49177  
 49178  // IfNoneMatch sets the optional parameter which makes the operation
 49179  // fail if the object's ETag matches the given value. This is useful for
 49180  // getting updates only after the object has changed since the last
 49181  // request. Use googleapi.IsNotModified to check whether the response
 49182  // error from Do is the result of In-None-Match.
 49183  func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
 49184  	c.ifNoneMatch_ = entityTag
 49185  	return c
 49186  }
 49187  
 49188  // Context sets the context to be used in this call's Do method. Any
 49189  // pending HTTP request will be aborted if the provided context is
 49190  // canceled.
 49191  func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
 49192  	c.ctx_ = ctx
 49193  	return c
 49194  }
 49195  
 49196  // Header returns an http.Header that can be modified by the caller to
 49197  // add HTTP headers to the request.
 49198  func (c *UserRolePermissionsGetCall) Header() http.Header {
 49199  	if c.header_ == nil {
 49200  		c.header_ = make(http.Header)
 49201  	}
 49202  	return c.header_
 49203  }
 49204  
 49205  func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 49206  	reqHeaders := make(http.Header)
 49207  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49208  	for k, v := range c.header_ {
 49209  		reqHeaders[k] = v
 49210  	}
 49211  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49212  	if c.ifNoneMatch_ != "" {
 49213  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49214  	}
 49215  	var body io.Reader = nil
 49216  	c.urlParams_.Set("alt", alt)
 49217  	c.urlParams_.Set("prettyPrint", "false")
 49218  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
 49219  	urls += "?" + c.urlParams_.Encode()
 49220  	req, err := http.NewRequest("GET", urls, body)
 49221  	if err != nil {
 49222  		return nil, err
 49223  	}
 49224  	req.Header = reqHeaders
 49225  	googleapi.Expand(req.URL, map[string]string{
 49226  		"profileId": strconv.FormatInt(c.profileId, 10),
 49227  		"id":        strconv.FormatInt(c.id, 10),
 49228  	})
 49229  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49230  }
 49231  
 49232  // Do executes the "dfareporting.userRolePermissions.get" call.
 49233  // Exactly one of *UserRolePermission or error will be non-nil. Any
 49234  // non-2xx status code is an error. Response headers are in either
 49235  // *UserRolePermission.ServerResponse.Header or (if a response was
 49236  // returned at all) in error.(*googleapi.Error).Header. Use
 49237  // googleapi.IsNotModified to check whether the returned error was
 49238  // because http.StatusNotModified was returned.
 49239  func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
 49240  	gensupport.SetOptions(c.urlParams_, opts...)
 49241  	res, err := c.doRequest("json")
 49242  	if res != nil && res.StatusCode == http.StatusNotModified {
 49243  		if res.Body != nil {
 49244  			res.Body.Close()
 49245  		}
 49246  		return nil, &googleapi.Error{
 49247  			Code:   res.StatusCode,
 49248  			Header: res.Header,
 49249  		}
 49250  	}
 49251  	if err != nil {
 49252  		return nil, err
 49253  	}
 49254  	defer googleapi.CloseBody(res)
 49255  	if err := googleapi.CheckResponse(res); err != nil {
 49256  		return nil, err
 49257  	}
 49258  	ret := &UserRolePermission{
 49259  		ServerResponse: googleapi.ServerResponse{
 49260  			Header:         res.Header,
 49261  			HTTPStatusCode: res.StatusCode,
 49262  		},
 49263  	}
 49264  	target := &ret
 49265  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49266  		return nil, err
 49267  	}
 49268  	return ret, nil
 49269  	// {
 49270  	//   "description": "Gets one user role permission by ID.",
 49271  	//   "httpMethod": "GET",
 49272  	//   "id": "dfareporting.userRolePermissions.get",
 49273  	//   "parameterOrder": [
 49274  	//     "profileId",
 49275  	//     "id"
 49276  	//   ],
 49277  	//   "parameters": {
 49278  	//     "id": {
 49279  	//       "description": "User role permission ID.",
 49280  	//       "format": "int64",
 49281  	//       "location": "path",
 49282  	//       "required": true,
 49283  	//       "type": "string"
 49284  	//     },
 49285  	//     "profileId": {
 49286  	//       "description": "User profile ID associated with this request.",
 49287  	//       "format": "int64",
 49288  	//       "location": "path",
 49289  	//       "required": true,
 49290  	//       "type": "string"
 49291  	//     }
 49292  	//   },
 49293  	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
 49294  	//   "response": {
 49295  	//     "$ref": "UserRolePermission"
 49296  	//   },
 49297  	//   "scopes": [
 49298  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49299  	//   ]
 49300  	// }
 49301  
 49302  }
 49303  
 49304  // method id "dfareporting.userRolePermissions.list":
 49305  
 49306  type UserRolePermissionsListCall struct {
 49307  	s            *Service
 49308  	profileId    int64
 49309  	urlParams_   gensupport.URLParams
 49310  	ifNoneMatch_ string
 49311  	ctx_         context.Context
 49312  	header_      http.Header
 49313  }
 49314  
 49315  // List: Gets a list of user role permissions, possibly filtered.
 49316  func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
 49317  	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49318  	c.profileId = profileId
 49319  	return c
 49320  }
 49321  
 49322  // Ids sets the optional parameter "ids": Select only user role
 49323  // permissions with these IDs.
 49324  func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
 49325  	var ids_ []string
 49326  	for _, v := range ids {
 49327  		ids_ = append(ids_, fmt.Sprint(v))
 49328  	}
 49329  	c.urlParams_.SetMulti("ids", ids_)
 49330  	return c
 49331  }
 49332  
 49333  // Fields allows partial responses to be retrieved. See
 49334  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49335  // for more information.
 49336  func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
 49337  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49338  	return c
 49339  }
 49340  
 49341  // IfNoneMatch sets the optional parameter which makes the operation
 49342  // fail if the object's ETag matches the given value. This is useful for
 49343  // getting updates only after the object has changed since the last
 49344  // request. Use googleapi.IsNotModified to check whether the response
 49345  // error from Do is the result of In-None-Match.
 49346  func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
 49347  	c.ifNoneMatch_ = entityTag
 49348  	return c
 49349  }
 49350  
 49351  // Context sets the context to be used in this call's Do method. Any
 49352  // pending HTTP request will be aborted if the provided context is
 49353  // canceled.
 49354  func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
 49355  	c.ctx_ = ctx
 49356  	return c
 49357  }
 49358  
 49359  // Header returns an http.Header that can be modified by the caller to
 49360  // add HTTP headers to the request.
 49361  func (c *UserRolePermissionsListCall) Header() http.Header {
 49362  	if c.header_ == nil {
 49363  		c.header_ = make(http.Header)
 49364  	}
 49365  	return c.header_
 49366  }
 49367  
 49368  func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 49369  	reqHeaders := make(http.Header)
 49370  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49371  	for k, v := range c.header_ {
 49372  		reqHeaders[k] = v
 49373  	}
 49374  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49375  	if c.ifNoneMatch_ != "" {
 49376  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49377  	}
 49378  	var body io.Reader = nil
 49379  	c.urlParams_.Set("alt", alt)
 49380  	c.urlParams_.Set("prettyPrint", "false")
 49381  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
 49382  	urls += "?" + c.urlParams_.Encode()
 49383  	req, err := http.NewRequest("GET", urls, body)
 49384  	if err != nil {
 49385  		return nil, err
 49386  	}
 49387  	req.Header = reqHeaders
 49388  	googleapi.Expand(req.URL, map[string]string{
 49389  		"profileId": strconv.FormatInt(c.profileId, 10),
 49390  	})
 49391  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49392  }
 49393  
 49394  // Do executes the "dfareporting.userRolePermissions.list" call.
 49395  // Exactly one of *UserRolePermissionsListResponse or error will be
 49396  // non-nil. Any non-2xx status code is an error. Response headers are in
 49397  // either *UserRolePermissionsListResponse.ServerResponse.Header or (if
 49398  // a response was returned at all) in error.(*googleapi.Error).Header.
 49399  // Use googleapi.IsNotModified to check whether the returned error was
 49400  // because http.StatusNotModified was returned.
 49401  func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
 49402  	gensupport.SetOptions(c.urlParams_, opts...)
 49403  	res, err := c.doRequest("json")
 49404  	if res != nil && res.StatusCode == http.StatusNotModified {
 49405  		if res.Body != nil {
 49406  			res.Body.Close()
 49407  		}
 49408  		return nil, &googleapi.Error{
 49409  			Code:   res.StatusCode,
 49410  			Header: res.Header,
 49411  		}
 49412  	}
 49413  	if err != nil {
 49414  		return nil, err
 49415  	}
 49416  	defer googleapi.CloseBody(res)
 49417  	if err := googleapi.CheckResponse(res); err != nil {
 49418  		return nil, err
 49419  	}
 49420  	ret := &UserRolePermissionsListResponse{
 49421  		ServerResponse: googleapi.ServerResponse{
 49422  			Header:         res.Header,
 49423  			HTTPStatusCode: res.StatusCode,
 49424  		},
 49425  	}
 49426  	target := &ret
 49427  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49428  		return nil, err
 49429  	}
 49430  	return ret, nil
 49431  	// {
 49432  	//   "description": "Gets a list of user role permissions, possibly filtered.",
 49433  	//   "httpMethod": "GET",
 49434  	//   "id": "dfareporting.userRolePermissions.list",
 49435  	//   "parameterOrder": [
 49436  	//     "profileId"
 49437  	//   ],
 49438  	//   "parameters": {
 49439  	//     "ids": {
 49440  	//       "description": "Select only user role permissions with these IDs.",
 49441  	//       "format": "int64",
 49442  	//       "location": "query",
 49443  	//       "repeated": true,
 49444  	//       "type": "string"
 49445  	//     },
 49446  	//     "profileId": {
 49447  	//       "description": "User profile ID associated with this request.",
 49448  	//       "format": "int64",
 49449  	//       "location": "path",
 49450  	//       "required": true,
 49451  	//       "type": "string"
 49452  	//     }
 49453  	//   },
 49454  	//   "path": "userprofiles/{profileId}/userRolePermissions",
 49455  	//   "response": {
 49456  	//     "$ref": "UserRolePermissionsListResponse"
 49457  	//   },
 49458  	//   "scopes": [
 49459  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49460  	//   ]
 49461  	// }
 49462  
 49463  }
 49464  
 49465  // method id "dfareporting.userRoles.delete":
 49466  
 49467  type UserRolesDeleteCall struct {
 49468  	s          *Service
 49469  	profileId  int64
 49470  	id         int64
 49471  	urlParams_ gensupport.URLParams
 49472  	ctx_       context.Context
 49473  	header_    http.Header
 49474  }
 49475  
 49476  // Delete: Deletes an existing user role.
 49477  func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
 49478  	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49479  	c.profileId = profileId
 49480  	c.id = id
 49481  	return c
 49482  }
 49483  
 49484  // Fields allows partial responses to be retrieved. See
 49485  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49486  // for more information.
 49487  func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
 49488  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49489  	return c
 49490  }
 49491  
 49492  // Context sets the context to be used in this call's Do method. Any
 49493  // pending HTTP request will be aborted if the provided context is
 49494  // canceled.
 49495  func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
 49496  	c.ctx_ = ctx
 49497  	return c
 49498  }
 49499  
 49500  // Header returns an http.Header that can be modified by the caller to
 49501  // add HTTP headers to the request.
 49502  func (c *UserRolesDeleteCall) Header() http.Header {
 49503  	if c.header_ == nil {
 49504  		c.header_ = make(http.Header)
 49505  	}
 49506  	return c.header_
 49507  }
 49508  
 49509  func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 49510  	reqHeaders := make(http.Header)
 49511  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49512  	for k, v := range c.header_ {
 49513  		reqHeaders[k] = v
 49514  	}
 49515  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49516  	var body io.Reader = nil
 49517  	c.urlParams_.Set("alt", alt)
 49518  	c.urlParams_.Set("prettyPrint", "false")
 49519  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 49520  	urls += "?" + c.urlParams_.Encode()
 49521  	req, err := http.NewRequest("DELETE", urls, body)
 49522  	if err != nil {
 49523  		return nil, err
 49524  	}
 49525  	req.Header = reqHeaders
 49526  	googleapi.Expand(req.URL, map[string]string{
 49527  		"profileId": strconv.FormatInt(c.profileId, 10),
 49528  		"id":        strconv.FormatInt(c.id, 10),
 49529  	})
 49530  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49531  }
 49532  
 49533  // Do executes the "dfareporting.userRoles.delete" call.
 49534  func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
 49535  	gensupport.SetOptions(c.urlParams_, opts...)
 49536  	res, err := c.doRequest("json")
 49537  	if err != nil {
 49538  		return err
 49539  	}
 49540  	defer googleapi.CloseBody(res)
 49541  	if err := googleapi.CheckResponse(res); err != nil {
 49542  		return err
 49543  	}
 49544  	return nil
 49545  	// {
 49546  	//   "description": "Deletes an existing user role.",
 49547  	//   "httpMethod": "DELETE",
 49548  	//   "id": "dfareporting.userRoles.delete",
 49549  	//   "parameterOrder": [
 49550  	//     "profileId",
 49551  	//     "id"
 49552  	//   ],
 49553  	//   "parameters": {
 49554  	//     "id": {
 49555  	//       "description": "User role ID.",
 49556  	//       "format": "int64",
 49557  	//       "location": "path",
 49558  	//       "required": true,
 49559  	//       "type": "string"
 49560  	//     },
 49561  	//     "profileId": {
 49562  	//       "description": "User profile ID associated with this request.",
 49563  	//       "format": "int64",
 49564  	//       "location": "path",
 49565  	//       "required": true,
 49566  	//       "type": "string"
 49567  	//     }
 49568  	//   },
 49569  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 49570  	//   "scopes": [
 49571  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49572  	//   ]
 49573  	// }
 49574  
 49575  }
 49576  
 49577  // method id "dfareporting.userRoles.get":
 49578  
 49579  type UserRolesGetCall struct {
 49580  	s            *Service
 49581  	profileId    int64
 49582  	id           int64
 49583  	urlParams_   gensupport.URLParams
 49584  	ifNoneMatch_ string
 49585  	ctx_         context.Context
 49586  	header_      http.Header
 49587  }
 49588  
 49589  // Get: Gets one user role by ID.
 49590  func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
 49591  	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49592  	c.profileId = profileId
 49593  	c.id = id
 49594  	return c
 49595  }
 49596  
 49597  // Fields allows partial responses to be retrieved. See
 49598  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49599  // for more information.
 49600  func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
 49601  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49602  	return c
 49603  }
 49604  
 49605  // IfNoneMatch sets the optional parameter which makes the operation
 49606  // fail if the object's ETag matches the given value. This is useful for
 49607  // getting updates only after the object has changed since the last
 49608  // request. Use googleapi.IsNotModified to check whether the response
 49609  // error from Do is the result of In-None-Match.
 49610  func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
 49611  	c.ifNoneMatch_ = entityTag
 49612  	return c
 49613  }
 49614  
 49615  // Context sets the context to be used in this call's Do method. Any
 49616  // pending HTTP request will be aborted if the provided context is
 49617  // canceled.
 49618  func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
 49619  	c.ctx_ = ctx
 49620  	return c
 49621  }
 49622  
 49623  // Header returns an http.Header that can be modified by the caller to
 49624  // add HTTP headers to the request.
 49625  func (c *UserRolesGetCall) Header() http.Header {
 49626  	if c.header_ == nil {
 49627  		c.header_ = make(http.Header)
 49628  	}
 49629  	return c.header_
 49630  }
 49631  
 49632  func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 49633  	reqHeaders := make(http.Header)
 49634  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49635  	for k, v := range c.header_ {
 49636  		reqHeaders[k] = v
 49637  	}
 49638  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49639  	if c.ifNoneMatch_ != "" {
 49640  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49641  	}
 49642  	var body io.Reader = nil
 49643  	c.urlParams_.Set("alt", alt)
 49644  	c.urlParams_.Set("prettyPrint", "false")
 49645  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 49646  	urls += "?" + c.urlParams_.Encode()
 49647  	req, err := http.NewRequest("GET", urls, body)
 49648  	if err != nil {
 49649  		return nil, err
 49650  	}
 49651  	req.Header = reqHeaders
 49652  	googleapi.Expand(req.URL, map[string]string{
 49653  		"profileId": strconv.FormatInt(c.profileId, 10),
 49654  		"id":        strconv.FormatInt(c.id, 10),
 49655  	})
 49656  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49657  }
 49658  
 49659  // Do executes the "dfareporting.userRoles.get" call.
 49660  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 49661  // code is an error. Response headers are in either
 49662  // *UserRole.ServerResponse.Header or (if a response was returned at
 49663  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 49664  // to check whether the returned error was because
 49665  // http.StatusNotModified was returned.
 49666  func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 49667  	gensupport.SetOptions(c.urlParams_, opts...)
 49668  	res, err := c.doRequest("json")
 49669  	if res != nil && res.StatusCode == http.StatusNotModified {
 49670  		if res.Body != nil {
 49671  			res.Body.Close()
 49672  		}
 49673  		return nil, &googleapi.Error{
 49674  			Code:   res.StatusCode,
 49675  			Header: res.Header,
 49676  		}
 49677  	}
 49678  	if err != nil {
 49679  		return nil, err
 49680  	}
 49681  	defer googleapi.CloseBody(res)
 49682  	if err := googleapi.CheckResponse(res); err != nil {
 49683  		return nil, err
 49684  	}
 49685  	ret := &UserRole{
 49686  		ServerResponse: googleapi.ServerResponse{
 49687  			Header:         res.Header,
 49688  			HTTPStatusCode: res.StatusCode,
 49689  		},
 49690  	}
 49691  	target := &ret
 49692  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49693  		return nil, err
 49694  	}
 49695  	return ret, nil
 49696  	// {
 49697  	//   "description": "Gets one user role by ID.",
 49698  	//   "httpMethod": "GET",
 49699  	//   "id": "dfareporting.userRoles.get",
 49700  	//   "parameterOrder": [
 49701  	//     "profileId",
 49702  	//     "id"
 49703  	//   ],
 49704  	//   "parameters": {
 49705  	//     "id": {
 49706  	//       "description": "User role ID.",
 49707  	//       "format": "int64",
 49708  	//       "location": "path",
 49709  	//       "required": true,
 49710  	//       "type": "string"
 49711  	//     },
 49712  	//     "profileId": {
 49713  	//       "description": "User profile ID associated with this request.",
 49714  	//       "format": "int64",
 49715  	//       "location": "path",
 49716  	//       "required": true,
 49717  	//       "type": "string"
 49718  	//     }
 49719  	//   },
 49720  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 49721  	//   "response": {
 49722  	//     "$ref": "UserRole"
 49723  	//   },
 49724  	//   "scopes": [
 49725  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49726  	//   ]
 49727  	// }
 49728  
 49729  }
 49730  
 49731  // method id "dfareporting.userRoles.insert":
 49732  
 49733  type UserRolesInsertCall struct {
 49734  	s          *Service
 49735  	profileId  int64
 49736  	userrole   *UserRole
 49737  	urlParams_ gensupport.URLParams
 49738  	ctx_       context.Context
 49739  	header_    http.Header
 49740  }
 49741  
 49742  // Insert: Inserts a new user role.
 49743  func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
 49744  	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49745  	c.profileId = profileId
 49746  	c.userrole = userrole
 49747  	return c
 49748  }
 49749  
 49750  // Fields allows partial responses to be retrieved. See
 49751  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49752  // for more information.
 49753  func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
 49754  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49755  	return c
 49756  }
 49757  
 49758  // Context sets the context to be used in this call's Do method. Any
 49759  // pending HTTP request will be aborted if the provided context is
 49760  // canceled.
 49761  func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
 49762  	c.ctx_ = ctx
 49763  	return c
 49764  }
 49765  
 49766  // Header returns an http.Header that can be modified by the caller to
 49767  // add HTTP headers to the request.
 49768  func (c *UserRolesInsertCall) Header() http.Header {
 49769  	if c.header_ == nil {
 49770  		c.header_ = make(http.Header)
 49771  	}
 49772  	return c.header_
 49773  }
 49774  
 49775  func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
 49776  	reqHeaders := make(http.Header)
 49777  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49778  	for k, v := range c.header_ {
 49779  		reqHeaders[k] = v
 49780  	}
 49781  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49782  	var body io.Reader = nil
 49783  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 49784  	if err != nil {
 49785  		return nil, err
 49786  	}
 49787  	reqHeaders.Set("Content-Type", "application/json")
 49788  	c.urlParams_.Set("alt", alt)
 49789  	c.urlParams_.Set("prettyPrint", "false")
 49790  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 49791  	urls += "?" + c.urlParams_.Encode()
 49792  	req, err := http.NewRequest("POST", urls, body)
 49793  	if err != nil {
 49794  		return nil, err
 49795  	}
 49796  	req.Header = reqHeaders
 49797  	googleapi.Expand(req.URL, map[string]string{
 49798  		"profileId": strconv.FormatInt(c.profileId, 10),
 49799  	})
 49800  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49801  }
 49802  
 49803  // Do executes the "dfareporting.userRoles.insert" call.
 49804  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 49805  // code is an error. Response headers are in either
 49806  // *UserRole.ServerResponse.Header or (if a response was returned at
 49807  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 49808  // to check whether the returned error was because
 49809  // http.StatusNotModified was returned.
 49810  func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 49811  	gensupport.SetOptions(c.urlParams_, opts...)
 49812  	res, err := c.doRequest("json")
 49813  	if res != nil && res.StatusCode == http.StatusNotModified {
 49814  		if res.Body != nil {
 49815  			res.Body.Close()
 49816  		}
 49817  		return nil, &googleapi.Error{
 49818  			Code:   res.StatusCode,
 49819  			Header: res.Header,
 49820  		}
 49821  	}
 49822  	if err != nil {
 49823  		return nil, err
 49824  	}
 49825  	defer googleapi.CloseBody(res)
 49826  	if err := googleapi.CheckResponse(res); err != nil {
 49827  		return nil, err
 49828  	}
 49829  	ret := &UserRole{
 49830  		ServerResponse: googleapi.ServerResponse{
 49831  			Header:         res.Header,
 49832  			HTTPStatusCode: res.StatusCode,
 49833  		},
 49834  	}
 49835  	target := &ret
 49836  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49837  		return nil, err
 49838  	}
 49839  	return ret, nil
 49840  	// {
 49841  	//   "description": "Inserts a new user role.",
 49842  	//   "httpMethod": "POST",
 49843  	//   "id": "dfareporting.userRoles.insert",
 49844  	//   "parameterOrder": [
 49845  	//     "profileId"
 49846  	//   ],
 49847  	//   "parameters": {
 49848  	//     "profileId": {
 49849  	//       "description": "User profile ID associated with this request.",
 49850  	//       "format": "int64",
 49851  	//       "location": "path",
 49852  	//       "required": true,
 49853  	//       "type": "string"
 49854  	//     }
 49855  	//   },
 49856  	//   "path": "userprofiles/{profileId}/userRoles",
 49857  	//   "request": {
 49858  	//     "$ref": "UserRole"
 49859  	//   },
 49860  	//   "response": {
 49861  	//     "$ref": "UserRole"
 49862  	//   },
 49863  	//   "scopes": [
 49864  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49865  	//   ]
 49866  	// }
 49867  
 49868  }
 49869  
 49870  // method id "dfareporting.userRoles.list":
 49871  
 49872  type UserRolesListCall struct {
 49873  	s            *Service
 49874  	profileId    int64
 49875  	urlParams_   gensupport.URLParams
 49876  	ifNoneMatch_ string
 49877  	ctx_         context.Context
 49878  	header_      http.Header
 49879  }
 49880  
 49881  // List: Retrieves a list of user roles, possibly filtered. This method
 49882  // supports paging.
 49883  func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
 49884  	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49885  	c.profileId = profileId
 49886  	return c
 49887  }
 49888  
 49889  // AccountUserRoleOnly sets the optional parameter
 49890  // "accountUserRoleOnly": Select only account level user roles not
 49891  // associated with any specific subaccount.
 49892  func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
 49893  	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
 49894  	return c
 49895  }
 49896  
 49897  // Ids sets the optional parameter "ids": Select only user roles with
 49898  // the specified IDs.
 49899  func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
 49900  	var ids_ []string
 49901  	for _, v := range ids {
 49902  		ids_ = append(ids_, fmt.Sprint(v))
 49903  	}
 49904  	c.urlParams_.SetMulti("ids", ids_)
 49905  	return c
 49906  }
 49907  
 49908  // MaxResults sets the optional parameter "maxResults": Maximum number
 49909  // of results to return.
 49910  func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
 49911  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 49912  	return c
 49913  }
 49914  
 49915  // PageToken sets the optional parameter "pageToken": Value of the
 49916  // nextPageToken from the previous result page.
 49917  func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
 49918  	c.urlParams_.Set("pageToken", pageToken)
 49919  	return c
 49920  }
 49921  
 49922  // SearchString sets the optional parameter "searchString": Allows
 49923  // searching for objects by name or ID. Wildcards (*) are allowed. For
 49924  // example, "userrole*2015" will return objects with names like
 49925  // "userrole June 2015", "userrole April 2015", or simply "userrole
 49926  // 2015". Most of the searches also add wildcards implicitly at the
 49927  // start and the end of the search string. For example, a search string
 49928  // of "userrole" will match objects with name "my userrole", "userrole
 49929  // 2015", or simply "userrole".
 49930  func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
 49931  	c.urlParams_.Set("searchString", searchString)
 49932  	return c
 49933  }
 49934  
 49935  // SortField sets the optional parameter "sortField": Field by which to
 49936  // sort the list.
 49937  //
 49938  // Possible values:
 49939  //
 49940  //	"ID" (default)
 49941  //	"NAME"
 49942  func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
 49943  	c.urlParams_.Set("sortField", sortField)
 49944  	return c
 49945  }
 49946  
 49947  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 49948  // results.
 49949  //
 49950  // Possible values:
 49951  //
 49952  //	"ASCENDING" (default)
 49953  //	"DESCENDING"
 49954  func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
 49955  	c.urlParams_.Set("sortOrder", sortOrder)
 49956  	return c
 49957  }
 49958  
 49959  // SubaccountId sets the optional parameter "subaccountId": Select only
 49960  // user roles that belong to this subaccount.
 49961  func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
 49962  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 49963  	return c
 49964  }
 49965  
 49966  // Fields allows partial responses to be retrieved. See
 49967  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49968  // for more information.
 49969  func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
 49970  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49971  	return c
 49972  }
 49973  
 49974  // IfNoneMatch sets the optional parameter which makes the operation
 49975  // fail if the object's ETag matches the given value. This is useful for
 49976  // getting updates only after the object has changed since the last
 49977  // request. Use googleapi.IsNotModified to check whether the response
 49978  // error from Do is the result of In-None-Match.
 49979  func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
 49980  	c.ifNoneMatch_ = entityTag
 49981  	return c
 49982  }
 49983  
 49984  // Context sets the context to be used in this call's Do method. Any
 49985  // pending HTTP request will be aborted if the provided context is
 49986  // canceled.
 49987  func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
 49988  	c.ctx_ = ctx
 49989  	return c
 49990  }
 49991  
 49992  // Header returns an http.Header that can be modified by the caller to
 49993  // add HTTP headers to the request.
 49994  func (c *UserRolesListCall) Header() http.Header {
 49995  	if c.header_ == nil {
 49996  		c.header_ = make(http.Header)
 49997  	}
 49998  	return c.header_
 49999  }
 50000  
 50001  func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 50002  	reqHeaders := make(http.Header)
 50003  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50004  	for k, v := range c.header_ {
 50005  		reqHeaders[k] = v
 50006  	}
 50007  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50008  	if c.ifNoneMatch_ != "" {
 50009  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50010  	}
 50011  	var body io.Reader = nil
 50012  	c.urlParams_.Set("alt", alt)
 50013  	c.urlParams_.Set("prettyPrint", "false")
 50014  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50015  	urls += "?" + c.urlParams_.Encode()
 50016  	req, err := http.NewRequest("GET", urls, body)
 50017  	if err != nil {
 50018  		return nil, err
 50019  	}
 50020  	req.Header = reqHeaders
 50021  	googleapi.Expand(req.URL, map[string]string{
 50022  		"profileId": strconv.FormatInt(c.profileId, 10),
 50023  	})
 50024  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50025  }
 50026  
 50027  // Do executes the "dfareporting.userRoles.list" call.
 50028  // Exactly one of *UserRolesListResponse or error will be non-nil. Any
 50029  // non-2xx status code is an error. Response headers are in either
 50030  // *UserRolesListResponse.ServerResponse.Header or (if a response was
 50031  // returned at all) in error.(*googleapi.Error).Header. Use
 50032  // googleapi.IsNotModified to check whether the returned error was
 50033  // because http.StatusNotModified was returned.
 50034  func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
 50035  	gensupport.SetOptions(c.urlParams_, opts...)
 50036  	res, err := c.doRequest("json")
 50037  	if res != nil && res.StatusCode == http.StatusNotModified {
 50038  		if res.Body != nil {
 50039  			res.Body.Close()
 50040  		}
 50041  		return nil, &googleapi.Error{
 50042  			Code:   res.StatusCode,
 50043  			Header: res.Header,
 50044  		}
 50045  	}
 50046  	if err != nil {
 50047  		return nil, err
 50048  	}
 50049  	defer googleapi.CloseBody(res)
 50050  	if err := googleapi.CheckResponse(res); err != nil {
 50051  		return nil, err
 50052  	}
 50053  	ret := &UserRolesListResponse{
 50054  		ServerResponse: googleapi.ServerResponse{
 50055  			Header:         res.Header,
 50056  			HTTPStatusCode: res.StatusCode,
 50057  		},
 50058  	}
 50059  	target := &ret
 50060  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50061  		return nil, err
 50062  	}
 50063  	return ret, nil
 50064  	// {
 50065  	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
 50066  	//   "httpMethod": "GET",
 50067  	//   "id": "dfareporting.userRoles.list",
 50068  	//   "parameterOrder": [
 50069  	//     "profileId"
 50070  	//   ],
 50071  	//   "parameters": {
 50072  	//     "accountUserRoleOnly": {
 50073  	//       "description": "Select only account level user roles not associated with any specific subaccount.",
 50074  	//       "location": "query",
 50075  	//       "type": "boolean"
 50076  	//     },
 50077  	//     "ids": {
 50078  	//       "description": "Select only user roles with the specified IDs.",
 50079  	//       "format": "int64",
 50080  	//       "location": "query",
 50081  	//       "repeated": true,
 50082  	//       "type": "string"
 50083  	//     },
 50084  	//     "maxResults": {
 50085  	//       "default": "1000",
 50086  	//       "description": "Maximum number of results to return.",
 50087  	//       "format": "int32",
 50088  	//       "location": "query",
 50089  	//       "maximum": "1000",
 50090  	//       "minimum": "0",
 50091  	//       "type": "integer"
 50092  	//     },
 50093  	//     "pageToken": {
 50094  	//       "description": "Value of the nextPageToken from the previous result page.",
 50095  	//       "location": "query",
 50096  	//       "type": "string"
 50097  	//     },
 50098  	//     "profileId": {
 50099  	//       "description": "User profile ID associated with this request.",
 50100  	//       "format": "int64",
 50101  	//       "location": "path",
 50102  	//       "required": true,
 50103  	//       "type": "string"
 50104  	//     },
 50105  	//     "searchString": {
 50106  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"userrole*2015\" will return objects with names like \"userrole June 2015\", \"userrole April 2015\", or simply \"userrole 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"userrole\" will match objects with name \"my userrole\", \"userrole 2015\", or simply \"userrole\".",
 50107  	//       "location": "query",
 50108  	//       "type": "string"
 50109  	//     },
 50110  	//     "sortField": {
 50111  	//       "default": "ID",
 50112  	//       "description": "Field by which to sort the list.",
 50113  	//       "enum": [
 50114  	//         "ID",
 50115  	//         "NAME"
 50116  	//       ],
 50117  	//       "enumDescriptions": [
 50118  	//         "",
 50119  	//         ""
 50120  	//       ],
 50121  	//       "location": "query",
 50122  	//       "type": "string"
 50123  	//     },
 50124  	//     "sortOrder": {
 50125  	//       "default": "ASCENDING",
 50126  	//       "description": "Order of sorted results.",
 50127  	//       "enum": [
 50128  	//         "ASCENDING",
 50129  	//         "DESCENDING"
 50130  	//       ],
 50131  	//       "enumDescriptions": [
 50132  	//         "",
 50133  	//         ""
 50134  	//       ],
 50135  	//       "location": "query",
 50136  	//       "type": "string"
 50137  	//     },
 50138  	//     "subaccountId": {
 50139  	//       "description": "Select only user roles that belong to this subaccount.",
 50140  	//       "format": "int64",
 50141  	//       "location": "query",
 50142  	//       "type": "string"
 50143  	//     }
 50144  	//   },
 50145  	//   "path": "userprofiles/{profileId}/userRoles",
 50146  	//   "response": {
 50147  	//     "$ref": "UserRolesListResponse"
 50148  	//   },
 50149  	//   "scopes": [
 50150  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50151  	//   ]
 50152  	// }
 50153  
 50154  }
 50155  
 50156  // Pages invokes f for each page of results.
 50157  // A non-nil error returned from f will halt the iteration.
 50158  // The provided context supersedes any context provided to the Context method.
 50159  func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
 50160  	c.ctx_ = ctx
 50161  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 50162  	for {
 50163  		x, err := c.Do()
 50164  		if err != nil {
 50165  			return err
 50166  		}
 50167  		if err := f(x); err != nil {
 50168  			return err
 50169  		}
 50170  		if x.NextPageToken == "" {
 50171  			return nil
 50172  		}
 50173  		c.PageToken(x.NextPageToken)
 50174  	}
 50175  }
 50176  
 50177  // method id "dfareporting.userRoles.patch":
 50178  
 50179  type UserRolesPatchCall struct {
 50180  	s          *Service
 50181  	profileId  int64
 50182  	userrole   *UserRole
 50183  	urlParams_ gensupport.URLParams
 50184  	ctx_       context.Context
 50185  	header_    http.Header
 50186  }
 50187  
 50188  // Patch: Updates an existing user role. This method supports patch
 50189  // semantics.
 50190  func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
 50191  	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50192  	c.profileId = profileId
 50193  	c.urlParams_.Set("id", fmt.Sprint(id))
 50194  	c.userrole = userrole
 50195  	return c
 50196  }
 50197  
 50198  // Fields allows partial responses to be retrieved. See
 50199  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50200  // for more information.
 50201  func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
 50202  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50203  	return c
 50204  }
 50205  
 50206  // Context sets the context to be used in this call's Do method. Any
 50207  // pending HTTP request will be aborted if the provided context is
 50208  // canceled.
 50209  func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
 50210  	c.ctx_ = ctx
 50211  	return c
 50212  }
 50213  
 50214  // Header returns an http.Header that can be modified by the caller to
 50215  // add HTTP headers to the request.
 50216  func (c *UserRolesPatchCall) Header() http.Header {
 50217  	if c.header_ == nil {
 50218  		c.header_ = make(http.Header)
 50219  	}
 50220  	return c.header_
 50221  }
 50222  
 50223  func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
 50224  	reqHeaders := make(http.Header)
 50225  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50226  	for k, v := range c.header_ {
 50227  		reqHeaders[k] = v
 50228  	}
 50229  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50230  	var body io.Reader = nil
 50231  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 50232  	if err != nil {
 50233  		return nil, err
 50234  	}
 50235  	reqHeaders.Set("Content-Type", "application/json")
 50236  	c.urlParams_.Set("alt", alt)
 50237  	c.urlParams_.Set("prettyPrint", "false")
 50238  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50239  	urls += "?" + c.urlParams_.Encode()
 50240  	req, err := http.NewRequest("PATCH", urls, body)
 50241  	if err != nil {
 50242  		return nil, err
 50243  	}
 50244  	req.Header = reqHeaders
 50245  	googleapi.Expand(req.URL, map[string]string{
 50246  		"profileId": strconv.FormatInt(c.profileId, 10),
 50247  	})
 50248  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50249  }
 50250  
 50251  // Do executes the "dfareporting.userRoles.patch" call.
 50252  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50253  // code is an error. Response headers are in either
 50254  // *UserRole.ServerResponse.Header or (if a response was returned at
 50255  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50256  // to check whether the returned error was because
 50257  // http.StatusNotModified was returned.
 50258  func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50259  	gensupport.SetOptions(c.urlParams_, opts...)
 50260  	res, err := c.doRequest("json")
 50261  	if res != nil && res.StatusCode == http.StatusNotModified {
 50262  		if res.Body != nil {
 50263  			res.Body.Close()
 50264  		}
 50265  		return nil, &googleapi.Error{
 50266  			Code:   res.StatusCode,
 50267  			Header: res.Header,
 50268  		}
 50269  	}
 50270  	if err != nil {
 50271  		return nil, err
 50272  	}
 50273  	defer googleapi.CloseBody(res)
 50274  	if err := googleapi.CheckResponse(res); err != nil {
 50275  		return nil, err
 50276  	}
 50277  	ret := &UserRole{
 50278  		ServerResponse: googleapi.ServerResponse{
 50279  			Header:         res.Header,
 50280  			HTTPStatusCode: res.StatusCode,
 50281  		},
 50282  	}
 50283  	target := &ret
 50284  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50285  		return nil, err
 50286  	}
 50287  	return ret, nil
 50288  	// {
 50289  	//   "description": "Updates an existing user role. This method supports patch semantics.",
 50290  	//   "httpMethod": "PATCH",
 50291  	//   "id": "dfareporting.userRoles.patch",
 50292  	//   "parameterOrder": [
 50293  	//     "profileId",
 50294  	//     "id"
 50295  	//   ],
 50296  	//   "parameters": {
 50297  	//     "id": {
 50298  	//       "description": "User role ID.",
 50299  	//       "format": "int64",
 50300  	//       "location": "query",
 50301  	//       "required": true,
 50302  	//       "type": "string"
 50303  	//     },
 50304  	//     "profileId": {
 50305  	//       "description": "User profile ID associated with this request.",
 50306  	//       "format": "int64",
 50307  	//       "location": "path",
 50308  	//       "required": true,
 50309  	//       "type": "string"
 50310  	//     }
 50311  	//   },
 50312  	//   "path": "userprofiles/{profileId}/userRoles",
 50313  	//   "request": {
 50314  	//     "$ref": "UserRole"
 50315  	//   },
 50316  	//   "response": {
 50317  	//     "$ref": "UserRole"
 50318  	//   },
 50319  	//   "scopes": [
 50320  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50321  	//   ]
 50322  	// }
 50323  
 50324  }
 50325  
 50326  // method id "dfareporting.userRoles.update":
 50327  
 50328  type UserRolesUpdateCall struct {
 50329  	s          *Service
 50330  	profileId  int64
 50331  	userrole   *UserRole
 50332  	urlParams_ gensupport.URLParams
 50333  	ctx_       context.Context
 50334  	header_    http.Header
 50335  }
 50336  
 50337  // Update: Updates an existing user role.
 50338  func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
 50339  	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50340  	c.profileId = profileId
 50341  	c.userrole = userrole
 50342  	return c
 50343  }
 50344  
 50345  // Fields allows partial responses to be retrieved. See
 50346  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50347  // for more information.
 50348  func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
 50349  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50350  	return c
 50351  }
 50352  
 50353  // Context sets the context to be used in this call's Do method. Any
 50354  // pending HTTP request will be aborted if the provided context is
 50355  // canceled.
 50356  func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
 50357  	c.ctx_ = ctx
 50358  	return c
 50359  }
 50360  
 50361  // Header returns an http.Header that can be modified by the caller to
 50362  // add HTTP headers to the request.
 50363  func (c *UserRolesUpdateCall) Header() http.Header {
 50364  	if c.header_ == nil {
 50365  		c.header_ = make(http.Header)
 50366  	}
 50367  	return c.header_
 50368  }
 50369  
 50370  func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
 50371  	reqHeaders := make(http.Header)
 50372  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50373  	for k, v := range c.header_ {
 50374  		reqHeaders[k] = v
 50375  	}
 50376  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50377  	var body io.Reader = nil
 50378  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 50379  	if err != nil {
 50380  		return nil, err
 50381  	}
 50382  	reqHeaders.Set("Content-Type", "application/json")
 50383  	c.urlParams_.Set("alt", alt)
 50384  	c.urlParams_.Set("prettyPrint", "false")
 50385  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50386  	urls += "?" + c.urlParams_.Encode()
 50387  	req, err := http.NewRequest("PUT", urls, body)
 50388  	if err != nil {
 50389  		return nil, err
 50390  	}
 50391  	req.Header = reqHeaders
 50392  	googleapi.Expand(req.URL, map[string]string{
 50393  		"profileId": strconv.FormatInt(c.profileId, 10),
 50394  	})
 50395  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50396  }
 50397  
 50398  // Do executes the "dfareporting.userRoles.update" call.
 50399  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50400  // code is an error. Response headers are in either
 50401  // *UserRole.ServerResponse.Header or (if a response was returned at
 50402  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50403  // to check whether the returned error was because
 50404  // http.StatusNotModified was returned.
 50405  func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50406  	gensupport.SetOptions(c.urlParams_, opts...)
 50407  	res, err := c.doRequest("json")
 50408  	if res != nil && res.StatusCode == http.StatusNotModified {
 50409  		if res.Body != nil {
 50410  			res.Body.Close()
 50411  		}
 50412  		return nil, &googleapi.Error{
 50413  			Code:   res.StatusCode,
 50414  			Header: res.Header,
 50415  		}
 50416  	}
 50417  	if err != nil {
 50418  		return nil, err
 50419  	}
 50420  	defer googleapi.CloseBody(res)
 50421  	if err := googleapi.CheckResponse(res); err != nil {
 50422  		return nil, err
 50423  	}
 50424  	ret := &UserRole{
 50425  		ServerResponse: googleapi.ServerResponse{
 50426  			Header:         res.Header,
 50427  			HTTPStatusCode: res.StatusCode,
 50428  		},
 50429  	}
 50430  	target := &ret
 50431  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50432  		return nil, err
 50433  	}
 50434  	return ret, nil
 50435  	// {
 50436  	//   "description": "Updates an existing user role.",
 50437  	//   "httpMethod": "PUT",
 50438  	//   "id": "dfareporting.userRoles.update",
 50439  	//   "parameterOrder": [
 50440  	//     "profileId"
 50441  	//   ],
 50442  	//   "parameters": {
 50443  	//     "profileId": {
 50444  	//       "description": "User profile ID associated with this request.",
 50445  	//       "format": "int64",
 50446  	//       "location": "path",
 50447  	//       "required": true,
 50448  	//       "type": "string"
 50449  	//     }
 50450  	//   },
 50451  	//   "path": "userprofiles/{profileId}/userRoles",
 50452  	//   "request": {
 50453  	//     "$ref": "UserRole"
 50454  	//   },
 50455  	//   "response": {
 50456  	//     "$ref": "UserRole"
 50457  	//   },
 50458  	//   "scopes": [
 50459  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50460  	//   ]
 50461  	// }
 50462  
 50463  }
 50464  
 50465  // method id "dfareporting.videoFormats.get":
 50466  
 50467  type VideoFormatsGetCall struct {
 50468  	s            *Service
 50469  	profileId    int64
 50470  	id           int64
 50471  	urlParams_   gensupport.URLParams
 50472  	ifNoneMatch_ string
 50473  	ctx_         context.Context
 50474  	header_      http.Header
 50475  }
 50476  
 50477  // Get: Gets one video format by ID.
 50478  func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
 50479  	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50480  	c.profileId = profileId
 50481  	c.id = id
 50482  	return c
 50483  }
 50484  
 50485  // Fields allows partial responses to be retrieved. See
 50486  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50487  // for more information.
 50488  func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
 50489  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50490  	return c
 50491  }
 50492  
 50493  // IfNoneMatch sets the optional parameter which makes the operation
 50494  // fail if the object's ETag matches the given value. This is useful for
 50495  // getting updates only after the object has changed since the last
 50496  // request. Use googleapi.IsNotModified to check whether the response
 50497  // error from Do is the result of In-None-Match.
 50498  func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
 50499  	c.ifNoneMatch_ = entityTag
 50500  	return c
 50501  }
 50502  
 50503  // Context sets the context to be used in this call's Do method. Any
 50504  // pending HTTP request will be aborted if the provided context is
 50505  // canceled.
 50506  func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
 50507  	c.ctx_ = ctx
 50508  	return c
 50509  }
 50510  
 50511  // Header returns an http.Header that can be modified by the caller to
 50512  // add HTTP headers to the request.
 50513  func (c *VideoFormatsGetCall) Header() http.Header {
 50514  	if c.header_ == nil {
 50515  		c.header_ = make(http.Header)
 50516  	}
 50517  	return c.header_
 50518  }
 50519  
 50520  func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
 50521  	reqHeaders := make(http.Header)
 50522  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50523  	for k, v := range c.header_ {
 50524  		reqHeaders[k] = v
 50525  	}
 50526  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50527  	if c.ifNoneMatch_ != "" {
 50528  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50529  	}
 50530  	var body io.Reader = nil
 50531  	c.urlParams_.Set("alt", alt)
 50532  	c.urlParams_.Set("prettyPrint", "false")
 50533  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
 50534  	urls += "?" + c.urlParams_.Encode()
 50535  	req, err := http.NewRequest("GET", urls, body)
 50536  	if err != nil {
 50537  		return nil, err
 50538  	}
 50539  	req.Header = reqHeaders
 50540  	googleapi.Expand(req.URL, map[string]string{
 50541  		"profileId": strconv.FormatInt(c.profileId, 10),
 50542  		"id":        strconv.FormatInt(c.id, 10),
 50543  	})
 50544  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50545  }
 50546  
 50547  // Do executes the "dfareporting.videoFormats.get" call.
 50548  // Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
 50549  // status code is an error. Response headers are in either
 50550  // *VideoFormat.ServerResponse.Header or (if a response was returned at
 50551  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50552  // to check whether the returned error was because
 50553  // http.StatusNotModified was returned.
 50554  func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
 50555  	gensupport.SetOptions(c.urlParams_, opts...)
 50556  	res, err := c.doRequest("json")
 50557  	if res != nil && res.StatusCode == http.StatusNotModified {
 50558  		if res.Body != nil {
 50559  			res.Body.Close()
 50560  		}
 50561  		return nil, &googleapi.Error{
 50562  			Code:   res.StatusCode,
 50563  			Header: res.Header,
 50564  		}
 50565  	}
 50566  	if err != nil {
 50567  		return nil, err
 50568  	}
 50569  	defer googleapi.CloseBody(res)
 50570  	if err := googleapi.CheckResponse(res); err != nil {
 50571  		return nil, err
 50572  	}
 50573  	ret := &VideoFormat{
 50574  		ServerResponse: googleapi.ServerResponse{
 50575  			Header:         res.Header,
 50576  			HTTPStatusCode: res.StatusCode,
 50577  		},
 50578  	}
 50579  	target := &ret
 50580  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50581  		return nil, err
 50582  	}
 50583  	return ret, nil
 50584  	// {
 50585  	//   "description": "Gets one video format by ID.",
 50586  	//   "httpMethod": "GET",
 50587  	//   "id": "dfareporting.videoFormats.get",
 50588  	//   "parameterOrder": [
 50589  	//     "profileId",
 50590  	//     "id"
 50591  	//   ],
 50592  	//   "parameters": {
 50593  	//     "id": {
 50594  	//       "description": "Video format ID.",
 50595  	//       "format": "int32",
 50596  	//       "location": "path",
 50597  	//       "required": true,
 50598  	//       "type": "integer"
 50599  	//     },
 50600  	//     "profileId": {
 50601  	//       "description": "User profile ID associated with this request.",
 50602  	//       "format": "int64",
 50603  	//       "location": "path",
 50604  	//       "required": true,
 50605  	//       "type": "string"
 50606  	//     }
 50607  	//   },
 50608  	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
 50609  	//   "response": {
 50610  	//     "$ref": "VideoFormat"
 50611  	//   },
 50612  	//   "scopes": [
 50613  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50614  	//   ]
 50615  	// }
 50616  
 50617  }
 50618  
 50619  // method id "dfareporting.videoFormats.list":
 50620  
 50621  type VideoFormatsListCall struct {
 50622  	s            *Service
 50623  	profileId    int64
 50624  	urlParams_   gensupport.URLParams
 50625  	ifNoneMatch_ string
 50626  	ctx_         context.Context
 50627  	header_      http.Header
 50628  }
 50629  
 50630  // List: Lists available video formats.
 50631  func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
 50632  	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50633  	c.profileId = profileId
 50634  	return c
 50635  }
 50636  
 50637  // Fields allows partial responses to be retrieved. See
 50638  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50639  // for more information.
 50640  func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
 50641  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50642  	return c
 50643  }
 50644  
 50645  // IfNoneMatch sets the optional parameter which makes the operation
 50646  // fail if the object's ETag matches the given value. This is useful for
 50647  // getting updates only after the object has changed since the last
 50648  // request. Use googleapi.IsNotModified to check whether the response
 50649  // error from Do is the result of In-None-Match.
 50650  func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
 50651  	c.ifNoneMatch_ = entityTag
 50652  	return c
 50653  }
 50654  
 50655  // Context sets the context to be used in this call's Do method. Any
 50656  // pending HTTP request will be aborted if the provided context is
 50657  // canceled.
 50658  func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
 50659  	c.ctx_ = ctx
 50660  	return c
 50661  }
 50662  
 50663  // Header returns an http.Header that can be modified by the caller to
 50664  // add HTTP headers to the request.
 50665  func (c *VideoFormatsListCall) Header() http.Header {
 50666  	if c.header_ == nil {
 50667  		c.header_ = make(http.Header)
 50668  	}
 50669  	return c.header_
 50670  }
 50671  
 50672  func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
 50673  	reqHeaders := make(http.Header)
 50674  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50675  	for k, v := range c.header_ {
 50676  		reqHeaders[k] = v
 50677  	}
 50678  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50679  	if c.ifNoneMatch_ != "" {
 50680  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50681  	}
 50682  	var body io.Reader = nil
 50683  	c.urlParams_.Set("alt", alt)
 50684  	c.urlParams_.Set("prettyPrint", "false")
 50685  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
 50686  	urls += "?" + c.urlParams_.Encode()
 50687  	req, err := http.NewRequest("GET", urls, body)
 50688  	if err != nil {
 50689  		return nil, err
 50690  	}
 50691  	req.Header = reqHeaders
 50692  	googleapi.Expand(req.URL, map[string]string{
 50693  		"profileId": strconv.FormatInt(c.profileId, 10),
 50694  	})
 50695  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50696  }
 50697  
 50698  // Do executes the "dfareporting.videoFormats.list" call.
 50699  // Exactly one of *VideoFormatsListResponse or error will be non-nil.
 50700  // Any non-2xx status code is an error. Response headers are in either
 50701  // *VideoFormatsListResponse.ServerResponse.Header or (if a response was
 50702  // returned at all) in error.(*googleapi.Error).Header. Use
 50703  // googleapi.IsNotModified to check whether the returned error was
 50704  // because http.StatusNotModified was returned.
 50705  func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
 50706  	gensupport.SetOptions(c.urlParams_, opts...)
 50707  	res, err := c.doRequest("json")
 50708  	if res != nil && res.StatusCode == http.StatusNotModified {
 50709  		if res.Body != nil {
 50710  			res.Body.Close()
 50711  		}
 50712  		return nil, &googleapi.Error{
 50713  			Code:   res.StatusCode,
 50714  			Header: res.Header,
 50715  		}
 50716  	}
 50717  	if err != nil {
 50718  		return nil, err
 50719  	}
 50720  	defer googleapi.CloseBody(res)
 50721  	if err := googleapi.CheckResponse(res); err != nil {
 50722  		return nil, err
 50723  	}
 50724  	ret := &VideoFormatsListResponse{
 50725  		ServerResponse: googleapi.ServerResponse{
 50726  			Header:         res.Header,
 50727  			HTTPStatusCode: res.StatusCode,
 50728  		},
 50729  	}
 50730  	target := &ret
 50731  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50732  		return nil, err
 50733  	}
 50734  	return ret, nil
 50735  	// {
 50736  	//   "description": "Lists available video formats.",
 50737  	//   "httpMethod": "GET",
 50738  	//   "id": "dfareporting.videoFormats.list",
 50739  	//   "parameterOrder": [
 50740  	//     "profileId"
 50741  	//   ],
 50742  	//   "parameters": {
 50743  	//     "profileId": {
 50744  	//       "description": "User profile ID associated with this request.",
 50745  	//       "format": "int64",
 50746  	//       "location": "path",
 50747  	//       "required": true,
 50748  	//       "type": "string"
 50749  	//     }
 50750  	//   },
 50751  	//   "path": "userprofiles/{profileId}/videoFormats",
 50752  	//   "response": {
 50753  	//     "$ref": "VideoFormatsListResponse"
 50754  	//   },
 50755  	//   "scopes": [
 50756  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50757  	//   ]
 50758  	// }
 50759  
 50760  }
 50761  

View as plain text