...

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

Documentation: google.golang.org/api/dfareporting/v3.1

     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/v3.1"
    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/v3.1"
    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:v3.1"
    77  const apiName = "dfareporting"
    78  const apiVersion = "v3.1"
    79  const basePath = "https://www.googleapis.com/dfareporting/v3.1/"
    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.AdvertiserLandingPages = NewAdvertiserLandingPagesService(s)
   135  	s.Advertisers = NewAdvertisersService(s)
   136  	s.Browsers = NewBrowsersService(s)
   137  	s.CampaignCreativeAssociations = NewCampaignCreativeAssociationsService(s)
   138  	s.Campaigns = NewCampaignsService(s)
   139  	s.ChangeLogs = NewChangeLogsService(s)
   140  	s.Cities = NewCitiesService(s)
   141  	s.ConnectionTypes = NewConnectionTypesService(s)
   142  	s.ContentCategories = NewContentCategoriesService(s)
   143  	s.Conversions = NewConversionsService(s)
   144  	s.Countries = NewCountriesService(s)
   145  	s.CreativeAssets = NewCreativeAssetsService(s)
   146  	s.CreativeFieldValues = NewCreativeFieldValuesService(s)
   147  	s.CreativeFields = NewCreativeFieldsService(s)
   148  	s.CreativeGroups = NewCreativeGroupsService(s)
   149  	s.Creatives = NewCreativesService(s)
   150  	s.DimensionValues = NewDimensionValuesService(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.Languages = NewLanguagesService(s)
   160  	s.Metros = NewMetrosService(s)
   161  	s.MobileApps = NewMobileAppsService(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  	AdvertiserLandingPages *AdvertiserLandingPagesService
   210  
   211  	Advertisers *AdvertisersService
   212  
   213  	Browsers *BrowsersService
   214  
   215  	CampaignCreativeAssociations *CampaignCreativeAssociationsService
   216  
   217  	Campaigns *CampaignsService
   218  
   219  	ChangeLogs *ChangeLogsService
   220  
   221  	Cities *CitiesService
   222  
   223  	ConnectionTypes *ConnectionTypesService
   224  
   225  	ContentCategories *ContentCategoriesService
   226  
   227  	Conversions *ConversionsService
   228  
   229  	Countries *CountriesService
   230  
   231  	CreativeAssets *CreativeAssetsService
   232  
   233  	CreativeFieldValues *CreativeFieldValuesService
   234  
   235  	CreativeFields *CreativeFieldsService
   236  
   237  	CreativeGroups *CreativeGroupsService
   238  
   239  	Creatives *CreativesService
   240  
   241  	DimensionValues *DimensionValuesService
   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  	Languages *LanguagesService
   260  
   261  	Metros *MetrosService
   262  
   263  	MobileApps *MobileAppsService
   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 NewAdvertiserLandingPagesService(s *Service) *AdvertiserLandingPagesService {
   387  	rs := &AdvertiserLandingPagesService{s: s}
   388  	return rs
   389  }
   390  
   391  type AdvertiserLandingPagesService struct {
   392  	s *Service
   393  }
   394  
   395  func NewAdvertisersService(s *Service) *AdvertisersService {
   396  	rs := &AdvertisersService{s: s}
   397  	return rs
   398  }
   399  
   400  type AdvertisersService struct {
   401  	s *Service
   402  }
   403  
   404  func NewBrowsersService(s *Service) *BrowsersService {
   405  	rs := &BrowsersService{s: s}
   406  	return rs
   407  }
   408  
   409  type BrowsersService struct {
   410  	s *Service
   411  }
   412  
   413  func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
   414  	rs := &CampaignCreativeAssociationsService{s: s}
   415  	return rs
   416  }
   417  
   418  type CampaignCreativeAssociationsService struct {
   419  	s *Service
   420  }
   421  
   422  func NewCampaignsService(s *Service) *CampaignsService {
   423  	rs := &CampaignsService{s: s}
   424  	return rs
   425  }
   426  
   427  type CampaignsService struct {
   428  	s *Service
   429  }
   430  
   431  func NewChangeLogsService(s *Service) *ChangeLogsService {
   432  	rs := &ChangeLogsService{s: s}
   433  	return rs
   434  }
   435  
   436  type ChangeLogsService struct {
   437  	s *Service
   438  }
   439  
   440  func NewCitiesService(s *Service) *CitiesService {
   441  	rs := &CitiesService{s: s}
   442  	return rs
   443  }
   444  
   445  type CitiesService struct {
   446  	s *Service
   447  }
   448  
   449  func NewConnectionTypesService(s *Service) *ConnectionTypesService {
   450  	rs := &ConnectionTypesService{s: s}
   451  	return rs
   452  }
   453  
   454  type ConnectionTypesService struct {
   455  	s *Service
   456  }
   457  
   458  func NewContentCategoriesService(s *Service) *ContentCategoriesService {
   459  	rs := &ContentCategoriesService{s: s}
   460  	return rs
   461  }
   462  
   463  type ContentCategoriesService struct {
   464  	s *Service
   465  }
   466  
   467  func NewConversionsService(s *Service) *ConversionsService {
   468  	rs := &ConversionsService{s: s}
   469  	return rs
   470  }
   471  
   472  type ConversionsService struct {
   473  	s *Service
   474  }
   475  
   476  func NewCountriesService(s *Service) *CountriesService {
   477  	rs := &CountriesService{s: s}
   478  	return rs
   479  }
   480  
   481  type CountriesService struct {
   482  	s *Service
   483  }
   484  
   485  func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
   486  	rs := &CreativeAssetsService{s: s}
   487  	return rs
   488  }
   489  
   490  type CreativeAssetsService struct {
   491  	s *Service
   492  }
   493  
   494  func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
   495  	rs := &CreativeFieldValuesService{s: s}
   496  	return rs
   497  }
   498  
   499  type CreativeFieldValuesService struct {
   500  	s *Service
   501  }
   502  
   503  func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
   504  	rs := &CreativeFieldsService{s: s}
   505  	return rs
   506  }
   507  
   508  type CreativeFieldsService struct {
   509  	s *Service
   510  }
   511  
   512  func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
   513  	rs := &CreativeGroupsService{s: s}
   514  	return rs
   515  }
   516  
   517  type CreativeGroupsService struct {
   518  	s *Service
   519  }
   520  
   521  func NewCreativesService(s *Service) *CreativesService {
   522  	rs := &CreativesService{s: s}
   523  	return rs
   524  }
   525  
   526  type CreativesService struct {
   527  	s *Service
   528  }
   529  
   530  func NewDimensionValuesService(s *Service) *DimensionValuesService {
   531  	rs := &DimensionValuesService{s: s}
   532  	return rs
   533  }
   534  
   535  type DimensionValuesService 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 NewLanguagesService(s *Service) *LanguagesService {
   612  	rs := &LanguagesService{s: s}
   613  	return rs
   614  }
   615  
   616  type LanguagesService struct {
   617  	s *Service
   618  }
   619  
   620  func NewMetrosService(s *Service) *MetrosService {
   621  	rs := &MetrosService{s: s}
   622  	return rs
   623  }
   624  
   625  type MetrosService struct {
   626  	s *Service
   627  }
   628  
   629  func NewMobileAppsService(s *Service) *MobileAppsService {
   630  	rs := &MobileAppsService{s: s}
   631  	return rs
   632  }
   633  
   634  type MobileAppsService 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 Campaign Manager 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 Campaign Manager
  1126  // require an 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
  1307  // Campaign Manager user profile. This resource is specifically for
  1308  // managing user profiles, whereas UserProfiles is for accessing the
  1309  // API.
  1310  type AccountUserProfile struct {
  1311  	// AccountId: Account ID of the user profile. This is a read-only field
  1312  	// that can be left blank.
  1313  	AccountId int64 `json:"accountId,omitempty,string"`
  1314  
  1315  	// Active: Whether this user profile is active. This defaults to false,
  1316  	// and must be set true on insert for the user profile to be usable.
  1317  	Active bool `json:"active,omitempty"`
  1318  
  1319  	// AdvertiserFilter: Filter that describes which advertisers are visible
  1320  	// to the user profile.
  1321  	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
  1322  
  1323  	// CampaignFilter: Filter that describes which campaigns are visible to
  1324  	// the user profile.
  1325  	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
  1326  
  1327  	// Comments: Comments for this user profile.
  1328  	Comments string `json:"comments,omitempty"`
  1329  
  1330  	// Email: Email of the user profile. The email addresss must be linked
  1331  	// to a Google Account. This field is required on insertion and is
  1332  	// read-only after insertion.
  1333  	Email string `json:"email,omitempty"`
  1334  
  1335  	// Id: ID of the user profile. This is a read-only, auto-generated
  1336  	// field.
  1337  	Id int64 `json:"id,omitempty,string"`
  1338  
  1339  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1340  	// string "dfareporting#accountUserProfile".
  1341  	Kind string `json:"kind,omitempty"`
  1342  
  1343  	// Locale: Locale of the user profile. This is a required
  1344  	// field.
  1345  	// Acceptable values are:
  1346  	// - "cs" (Czech)
  1347  	// - "de" (German)
  1348  	// - "en" (English)
  1349  	// - "en-GB" (English United Kingdom)
  1350  	// - "es" (Spanish)
  1351  	// - "fr" (French)
  1352  	// - "it" (Italian)
  1353  	// - "ja" (Japanese)
  1354  	// - "ko" (Korean)
  1355  	// - "pl" (Polish)
  1356  	// - "pt-BR" (Portuguese Brazil)
  1357  	// - "ru" (Russian)
  1358  	// - "sv" (Swedish)
  1359  	// - "tr" (Turkish)
  1360  	// - "zh-CN" (Chinese Simplified)
  1361  	// - "zh-TW" (Chinese Traditional)
  1362  	Locale string `json:"locale,omitempty"`
  1363  
  1364  	// Name: Name of the user profile. This is a required field. Must be
  1365  	// less than 64 characters long, must be globally unique, and cannot
  1366  	// contain whitespace or any of the following characters: "&;"#%,".
  1367  	Name string `json:"name,omitempty"`
  1368  
  1369  	// SiteFilter: Filter that describes which sites are visible to the user
  1370  	// profile.
  1371  	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
  1372  
  1373  	// SubaccountId: Subaccount ID of the user profile. This is a read-only
  1374  	// field that can be left blank.
  1375  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1376  
  1377  	// TraffickerType: Trafficker type of this user profile. This is a
  1378  	// read-only field.
  1379  	//
  1380  	// Possible values:
  1381  	//   "EXTERNAL_TRAFFICKER"
  1382  	//   "INTERNAL_NON_TRAFFICKER"
  1383  	//   "INTERNAL_TRAFFICKER"
  1384  	TraffickerType string `json:"traffickerType,omitempty"`
  1385  
  1386  	// UserAccessType: User type of the user profile. This is a read-only
  1387  	// field that can be left blank.
  1388  	//
  1389  	// Possible values:
  1390  	//   "INTERNAL_ADMINISTRATOR"
  1391  	//   "NORMAL_USER"
  1392  	//   "READ_ONLY_SUPER_USER"
  1393  	//   "SUPER_USER"
  1394  	UserAccessType string `json:"userAccessType,omitempty"`
  1395  
  1396  	// UserRoleFilter: Filter that describes which user roles are visible to
  1397  	// the user profile.
  1398  	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
  1399  
  1400  	// UserRoleId: User role ID of the user profile. This is a required
  1401  	// field.
  1402  	UserRoleId int64 `json:"userRoleId,omitempty,string"`
  1403  
  1404  	// ServerResponse contains the HTTP response code and headers from the
  1405  	// server.
  1406  	googleapi.ServerResponse `json:"-"`
  1407  
  1408  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1409  	// unconditionally include in API requests. By default, fields with
  1410  	// empty values are omitted from API requests. However, any non-pointer,
  1411  	// non-interface field appearing in ForceSendFields will be sent to the
  1412  	// server regardless of whether the field is empty or not. This may be
  1413  	// used to include empty fields in Patch requests.
  1414  	ForceSendFields []string `json:"-"`
  1415  
  1416  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1417  	// API requests with the JSON null value. By default, fields with empty
  1418  	// values are omitted from API requests. However, any field with an
  1419  	// empty value appearing in NullFields will be sent to the server as
  1420  	// null. It is an error if a field in this list has a non-empty value.
  1421  	// This may be used to include null fields in Patch requests.
  1422  	NullFields []string `json:"-"`
  1423  }
  1424  
  1425  func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
  1426  	type NoMethod AccountUserProfile
  1427  	raw := NoMethod(*s)
  1428  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1429  }
  1430  
  1431  // AccountUserProfilesListResponse: Account User Profile List Response
  1432  type AccountUserProfilesListResponse struct {
  1433  	// AccountUserProfiles: Account user profile collection.
  1434  	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
  1435  
  1436  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1437  	// string "dfareporting#accountUserProfilesListResponse".
  1438  	Kind string `json:"kind,omitempty"`
  1439  
  1440  	// NextPageToken: Pagination token to be used for the next list
  1441  	// operation.
  1442  	NextPageToken string `json:"nextPageToken,omitempty"`
  1443  
  1444  	// ServerResponse contains the HTTP response code and headers from the
  1445  	// server.
  1446  	googleapi.ServerResponse `json:"-"`
  1447  
  1448  	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
  1449  	// to unconditionally include in API requests. By default, fields with
  1450  	// empty values are omitted from API requests. However, any non-pointer,
  1451  	// non-interface field appearing in ForceSendFields will be sent to the
  1452  	// server regardless of whether the field is empty or not. This may be
  1453  	// used to include empty fields in Patch requests.
  1454  	ForceSendFields []string `json:"-"`
  1455  
  1456  	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
  1457  	// include in API requests with the JSON null value. By default, fields
  1458  	// with empty values are omitted from API requests. However, any field
  1459  	// with an empty value appearing in NullFields will be sent to the
  1460  	// server as null. It is an error if a field in this list has a
  1461  	// non-empty value. This may be used to include null fields in Patch
  1462  	// requests.
  1463  	NullFields []string `json:"-"`
  1464  }
  1465  
  1466  func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
  1467  	type NoMethod AccountUserProfilesListResponse
  1468  	raw := NoMethod(*s)
  1469  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1470  }
  1471  
  1472  // AccountsListResponse: Account List Response
  1473  type AccountsListResponse struct {
  1474  	// Accounts: Account collection.
  1475  	Accounts []*Account `json:"accounts,omitempty"`
  1476  
  1477  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1478  	// string "dfareporting#accountsListResponse".
  1479  	Kind string `json:"kind,omitempty"`
  1480  
  1481  	// NextPageToken: Pagination token to be used for the next list
  1482  	// operation.
  1483  	NextPageToken string `json:"nextPageToken,omitempty"`
  1484  
  1485  	// ServerResponse contains the HTTP response code and headers from the
  1486  	// server.
  1487  	googleapi.ServerResponse `json:"-"`
  1488  
  1489  	// ForceSendFields is a list of field names (e.g. "Accounts") to
  1490  	// unconditionally include in API requests. By default, fields with
  1491  	// empty values are omitted from API requests. However, any non-pointer,
  1492  	// non-interface field appearing in ForceSendFields will be sent to the
  1493  	// server regardless of whether the field is empty or not. This may be
  1494  	// used to include empty fields in Patch requests.
  1495  	ForceSendFields []string `json:"-"`
  1496  
  1497  	// NullFields is a list of field names (e.g. "Accounts") to include in
  1498  	// API requests with the JSON null value. By default, fields with empty
  1499  	// values are omitted from API requests. However, any field with an
  1500  	// empty value appearing in NullFields will be sent to the server as
  1501  	// null. It is an error if a field in this list has a non-empty value.
  1502  	// This may be used to include null fields in Patch requests.
  1503  	NullFields []string `json:"-"`
  1504  }
  1505  
  1506  func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
  1507  	type NoMethod AccountsListResponse
  1508  	raw := NoMethod(*s)
  1509  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1510  }
  1511  
  1512  // Activities: Represents an activity group.
  1513  type Activities struct {
  1514  	// Filters: List of activity filters. The dimension values need to be
  1515  	// all either of type "dfa:activity" or "dfa:activityGroup".
  1516  	Filters []*DimensionValue `json:"filters,omitempty"`
  1517  
  1518  	// Kind: The kind of resource this is, in this case
  1519  	// dfareporting#activities.
  1520  	Kind string `json:"kind,omitempty"`
  1521  
  1522  	// MetricNames: List of names of floodlight activity metrics.
  1523  	MetricNames []string `json:"metricNames,omitempty"`
  1524  
  1525  	// ForceSendFields is a list of field names (e.g. "Filters") to
  1526  	// unconditionally include in API requests. By default, fields with
  1527  	// empty values are omitted from API requests. However, any non-pointer,
  1528  	// non-interface field appearing in ForceSendFields will be sent to the
  1529  	// server regardless of whether the field is empty or not. This may be
  1530  	// used to include empty fields in Patch requests.
  1531  	ForceSendFields []string `json:"-"`
  1532  
  1533  	// NullFields is a list of field names (e.g. "Filters") to include in
  1534  	// API requests with the JSON null value. By default, fields with empty
  1535  	// values are omitted from API requests. However, any field with an
  1536  	// empty value appearing in NullFields will be sent to the server as
  1537  	// null. It is an error if a field in this list has a non-empty value.
  1538  	// This may be used to include null fields in Patch requests.
  1539  	NullFields []string `json:"-"`
  1540  }
  1541  
  1542  func (s *Activities) MarshalJSON() ([]byte, error) {
  1543  	type NoMethod Activities
  1544  	raw := NoMethod(*s)
  1545  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1546  }
  1547  
  1548  // Ad: Contains properties of a Campaign Manager ad.
  1549  type Ad struct {
  1550  	// AccountId: Account ID of this ad. This is a read-only field that can
  1551  	// be left blank.
  1552  	AccountId int64 `json:"accountId,omitempty,string"`
  1553  
  1554  	// Active: Whether this ad is active. When true, archived must be false.
  1555  	Active bool `json:"active,omitempty"`
  1556  
  1557  	// AdvertiserId: Advertiser ID of this ad. This is a required field on
  1558  	// insertion.
  1559  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  1560  
  1561  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  1562  	// advertiser. This is a read-only, auto-generated field.
  1563  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  1564  
  1565  	// Archived: Whether this ad is archived. When true, active must be
  1566  	// false.
  1567  	Archived bool `json:"archived,omitempty"`
  1568  
  1569  	// AudienceSegmentId: Audience segment ID that is being targeted for
  1570  	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
  1571  	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
  1572  
  1573  	// CampaignId: Campaign ID of this ad. This is a required field on
  1574  	// insertion.
  1575  	CampaignId int64 `json:"campaignId,omitempty,string"`
  1576  
  1577  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  1578  	// This is a read-only, auto-generated field.
  1579  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  1580  
  1581  	// ClickThroughUrl: Click-through URL for this ad. This is a required
  1582  	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
  1583  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  1584  
  1585  	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
  1586  	// for this ad. Applies to the URL in the ad or (if overriding ad
  1587  	// properties) the URL in the creative.
  1588  	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
  1589  
  1590  	// Comments: Comments for this ad.
  1591  	Comments string `json:"comments,omitempty"`
  1592  
  1593  	// Compatibility: Compatibility of this ad. Applicable when type is
  1594  	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
  1595  	// either rendering on desktop or on mobile devices or in mobile apps
  1596  	// for regular or interstitial ads, respectively. APP and
  1597  	// APP_INTERSTITIAL are only used for existing default ads. New mobile
  1598  	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
  1599  	// default ads created for those placements will be limited to those
  1600  	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
  1601  	// video ads developed with the VAST standard.
  1602  	//
  1603  	// Possible values:
  1604  	//   "APP"
  1605  	//   "APP_INTERSTITIAL"
  1606  	//   "DISPLAY"
  1607  	//   "DISPLAY_INTERSTITIAL"
  1608  	//   "IN_STREAM_AUDIO"
  1609  	//   "IN_STREAM_VIDEO"
  1610  	Compatibility string `json:"compatibility,omitempty"`
  1611  
  1612  	// CreateInfo: Information about the creation of this ad. This is a
  1613  	// read-only field.
  1614  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  1615  
  1616  	// CreativeGroupAssignments: Creative group assignments for this ad.
  1617  	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
  1618  	// per creative group number is allowed for a maximum of two
  1619  	// assignments.
  1620  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  1621  
  1622  	// CreativeRotation: Creative rotation for this ad. Applicable when type
  1623  	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
  1624  	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
  1625  	// should have exactly one creativeAssignment.
  1626  	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
  1627  
  1628  	// DayPartTargeting: Time and day targeting information for this ad.
  1629  	// This field must be left blank if the ad is using a targeting
  1630  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1631  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
  1632  
  1633  	// DefaultClickThroughEventTagProperties: Default click-through event
  1634  	// tag properties for this ad.
  1635  	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
  1636  
  1637  	// DeliverySchedule: Delivery schedule information for this ad.
  1638  	// Applicable when type is AD_SERVING_STANDARD_AD or
  1639  	// AD_SERVING_TRACKING. This field along with subfields priority and
  1640  	// impressionRatio are required on insertion when type is
  1641  	// AD_SERVING_STANDARD_AD.
  1642  	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
  1643  
  1644  	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
  1645  	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
  1646  	// field on insert, and is read-only after insert.
  1647  	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
  1648  
  1649  	// EndTime: Date and time that this ad should stop serving. Must be
  1650  	// later than the start time. This is a required field on insertion.
  1651  	EndTime string `json:"endTime,omitempty"`
  1652  
  1653  	// EventTagOverrides: Event tag overrides for this ad.
  1654  	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
  1655  
  1656  	// GeoTargeting: Geographical targeting information for this ad. This
  1657  	// field must be left blank if the ad is using a targeting template.
  1658  	// Applicable when type is AD_SERVING_STANDARD_AD.
  1659  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
  1660  
  1661  	// Id: ID of this ad. This is a read-only, auto-generated field.
  1662  	Id int64 `json:"id,omitempty,string"`
  1663  
  1664  	// IdDimensionValue: Dimension value for the ID of this ad. This is a
  1665  	// read-only, auto-generated field.
  1666  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  1667  
  1668  	// KeyValueTargetingExpression: Key-value targeting information for this
  1669  	// ad. This field must be left blank if the ad is using a targeting
  1670  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1671  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
  1672  
  1673  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1674  	// string "dfareporting#ad".
  1675  	Kind string `json:"kind,omitempty"`
  1676  
  1677  	// LanguageTargeting: Language targeting information for this ad. This
  1678  	// field must be left blank if the ad is using a targeting template.
  1679  	// Applicable when type is AD_SERVING_STANDARD_AD.
  1680  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
  1681  
  1682  	// LastModifiedInfo: Information about the most recent modification of
  1683  	// this ad. This is a read-only field.
  1684  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  1685  
  1686  	// Name: Name of this ad. This is a required field and must be less than
  1687  	// 256 characters long.
  1688  	Name string `json:"name,omitempty"`
  1689  
  1690  	// PlacementAssignments: Placement assignments for this ad.
  1691  	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
  1692  
  1693  	// RemarketingListExpression: Remarketing list targeting expression for
  1694  	// this ad. This field must be left blank if the ad is using a targeting
  1695  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1696  	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
  1697  
  1698  	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
  1699  	Size *Size `json:"size,omitempty"`
  1700  
  1701  	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
  1702  	// field that is auto-generated when the ad is inserted or updated.
  1703  	SslCompliant bool `json:"sslCompliant,omitempty"`
  1704  
  1705  	// SslRequired: Whether this ad requires ssl. This is a read-only field
  1706  	// that is auto-generated when the ad is inserted or updated.
  1707  	SslRequired bool `json:"sslRequired,omitempty"`
  1708  
  1709  	// StartTime: Date and time that this ad should start serving. If
  1710  	// creating an ad, this field must be a time in the future. This is a
  1711  	// required field on insertion.
  1712  	StartTime string `json:"startTime,omitempty"`
  1713  
  1714  	// SubaccountId: Subaccount ID of this ad. This is a read-only field
  1715  	// that can be left blank.
  1716  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1717  
  1718  	// TargetingTemplateId: Targeting template ID, used to apply
  1719  	// preconfigured targeting information to this ad. This cannot be set
  1720  	// while any of dayPartTargeting, geoTargeting,
  1721  	// keyValueTargetingExpression, languageTargeting,
  1722  	// remarketingListExpression, or technologyTargeting are set. Applicable
  1723  	// when type is AD_SERVING_STANDARD_AD.
  1724  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
  1725  
  1726  	// TechnologyTargeting: Technology platform targeting information for
  1727  	// this ad. This field must be left blank if the ad is using a targeting
  1728  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1729  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
  1730  
  1731  	// Type: Type of ad. This is a required field on insertion. Note that
  1732  	// default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see
  1733  	// Creative resource).
  1734  	//
  1735  	// Possible values:
  1736  	//   "AD_SERVING_CLICK_TRACKER"
  1737  	//   "AD_SERVING_DEFAULT_AD"
  1738  	//   "AD_SERVING_STANDARD_AD"
  1739  	//   "AD_SERVING_TRACKING"
  1740  	Type string `json:"type,omitempty"`
  1741  
  1742  	// ServerResponse contains the HTTP response code and headers from the
  1743  	// server.
  1744  	googleapi.ServerResponse `json:"-"`
  1745  
  1746  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1747  	// unconditionally include in API requests. By default, fields with
  1748  	// empty values are omitted from API requests. However, any non-pointer,
  1749  	// non-interface field appearing in ForceSendFields will be sent to the
  1750  	// server regardless of whether the field is empty or not. This may be
  1751  	// used to include empty fields in Patch requests.
  1752  	ForceSendFields []string `json:"-"`
  1753  
  1754  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1755  	// API requests with the JSON null value. By default, fields with empty
  1756  	// values are omitted from API requests. However, any field with an
  1757  	// empty value appearing in NullFields will be sent to the server as
  1758  	// null. It is an error if a field in this list has a non-empty value.
  1759  	// This may be used to include null fields in Patch requests.
  1760  	NullFields []string `json:"-"`
  1761  }
  1762  
  1763  func (s *Ad) MarshalJSON() ([]byte, error) {
  1764  	type NoMethod Ad
  1765  	raw := NoMethod(*s)
  1766  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1767  }
  1768  
  1769  // AdBlockingConfiguration: Campaign ad blocking settings.
  1770  type AdBlockingConfiguration struct {
  1771  	// ClickThroughUrl: Click-through URL used by brand-neutral ads. This is
  1772  	// a required field when overrideClickThroughUrl is set to true.
  1773  	ClickThroughUrl string `json:"clickThroughUrl,omitempty"`
  1774  
  1775  	// CreativeBundleId: ID of a creative bundle to use for this campaign.
  1776  	// If set, brand-neutral ads will select creatives from this bundle.
  1777  	// Otherwise, a default transparent pixel will be used.
  1778  	CreativeBundleId int64 `json:"creativeBundleId,omitempty,string"`
  1779  
  1780  	// Enabled: Whether this campaign has enabled ad blocking. When true, ad
  1781  	// blocking is enabled for placements in the campaign, but this may be
  1782  	// overridden by site and placement settings. When false, ad blocking is
  1783  	// disabled for all placements under the campaign, regardless of site
  1784  	// and placement settings.
  1785  	Enabled bool `json:"enabled,omitempty"`
  1786  
  1787  	// OverrideClickThroughUrl: Whether the brand-neutral ad's click-through
  1788  	// URL comes from the campaign's creative bundle or the override URL.
  1789  	// Must be set to true if ad blocking is enabled and no creative bundle
  1790  	// is configured.
  1791  	OverrideClickThroughUrl bool `json:"overrideClickThroughUrl,omitempty"`
  1792  
  1793  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  1794  	// unconditionally include in API requests. By default, fields with
  1795  	// empty values are omitted from API requests. However, any non-pointer,
  1796  	// non-interface field appearing in ForceSendFields will be sent to the
  1797  	// server regardless of whether the field is empty or not. This may be
  1798  	// used to include empty fields in Patch requests.
  1799  	ForceSendFields []string `json:"-"`
  1800  
  1801  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  1802  	// include in API requests with the JSON null value. By default, fields
  1803  	// with empty values are omitted from API requests. However, any field
  1804  	// with an empty value appearing in NullFields will be sent to the
  1805  	// server as null. It is an error if a field in this list has a
  1806  	// non-empty value. This may be used to include null fields in Patch
  1807  	// requests.
  1808  	NullFields []string `json:"-"`
  1809  }
  1810  
  1811  func (s *AdBlockingConfiguration) MarshalJSON() ([]byte, error) {
  1812  	type NoMethod AdBlockingConfiguration
  1813  	raw := NoMethod(*s)
  1814  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1815  }
  1816  
  1817  // AdSlot: Ad Slot
  1818  type AdSlot struct {
  1819  	// Comment: Comment for this ad slot.
  1820  	Comment string `json:"comment,omitempty"`
  1821  
  1822  	// Compatibility: Ad slot compatibility. DISPLAY and
  1823  	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
  1824  	// devices or in mobile apps for regular or interstitial ads
  1825  	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
  1826  	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
  1827  	// developed with the VAST standard.
  1828  	//
  1829  	// Possible values:
  1830  	//   "APP"
  1831  	//   "APP_INTERSTITIAL"
  1832  	//   "DISPLAY"
  1833  	//   "DISPLAY_INTERSTITIAL"
  1834  	//   "IN_STREAM_AUDIO"
  1835  	//   "IN_STREAM_VIDEO"
  1836  	Compatibility string `json:"compatibility,omitempty"`
  1837  
  1838  	// Height: Height of this ad slot.
  1839  	Height int64 `json:"height,omitempty,string"`
  1840  
  1841  	// LinkedPlacementId: ID of the placement from an external platform that
  1842  	// is linked to this ad slot.
  1843  	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
  1844  
  1845  	// Name: Name of this ad slot.
  1846  	Name string `json:"name,omitempty"`
  1847  
  1848  	// PaymentSourceType: Payment source type of this ad slot.
  1849  	//
  1850  	// Possible values:
  1851  	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
  1852  	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
  1853  	PaymentSourceType string `json:"paymentSourceType,omitempty"`
  1854  
  1855  	// Primary: Primary ad slot of a roadblock inventory item.
  1856  	Primary bool `json:"primary,omitempty"`
  1857  
  1858  	// Width: Width of this ad slot.
  1859  	Width int64 `json:"width,omitempty,string"`
  1860  
  1861  	// ForceSendFields is a list of field names (e.g. "Comment") to
  1862  	// unconditionally include in API requests. By default, fields with
  1863  	// empty values are omitted from API requests. However, any non-pointer,
  1864  	// non-interface field appearing in ForceSendFields will be sent to the
  1865  	// server regardless of whether the field is empty or not. This may be
  1866  	// used to include empty fields in Patch requests.
  1867  	ForceSendFields []string `json:"-"`
  1868  
  1869  	// NullFields is a list of field names (e.g. "Comment") to include in
  1870  	// API requests with the JSON null value. By default, fields with empty
  1871  	// values are omitted from API requests. However, any field with an
  1872  	// empty value appearing in NullFields will be sent to the server as
  1873  	// null. It is an error if a field in this list has a non-empty value.
  1874  	// This may be used to include null fields in Patch requests.
  1875  	NullFields []string `json:"-"`
  1876  }
  1877  
  1878  func (s *AdSlot) MarshalJSON() ([]byte, error) {
  1879  	type NoMethod AdSlot
  1880  	raw := NoMethod(*s)
  1881  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1882  }
  1883  
  1884  // AdsListResponse: Ad List Response
  1885  type AdsListResponse struct {
  1886  	// Ads: Ad collection.
  1887  	Ads []*Ad `json:"ads,omitempty"`
  1888  
  1889  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1890  	// string "dfareporting#adsListResponse".
  1891  	Kind string `json:"kind,omitempty"`
  1892  
  1893  	// NextPageToken: Pagination token to be used for the next list
  1894  	// operation.
  1895  	NextPageToken string `json:"nextPageToken,omitempty"`
  1896  
  1897  	// ServerResponse contains the HTTP response code and headers from the
  1898  	// server.
  1899  	googleapi.ServerResponse `json:"-"`
  1900  
  1901  	// ForceSendFields is a list of field names (e.g. "Ads") to
  1902  	// unconditionally include in API requests. By default, fields with
  1903  	// empty values are omitted from API requests. However, any non-pointer,
  1904  	// non-interface field appearing in ForceSendFields will be sent to the
  1905  	// server regardless of whether the field is empty or not. This may be
  1906  	// used to include empty fields in Patch requests.
  1907  	ForceSendFields []string `json:"-"`
  1908  
  1909  	// NullFields is a list of field names (e.g. "Ads") to include in API
  1910  	// requests with the JSON null value. By default, fields with empty
  1911  	// values are omitted from API requests. However, any field with an
  1912  	// empty value appearing in NullFields will be sent to the server as
  1913  	// null. It is an error if a field in this list has a non-empty value.
  1914  	// This may be used to include null fields in Patch requests.
  1915  	NullFields []string `json:"-"`
  1916  }
  1917  
  1918  func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
  1919  	type NoMethod AdsListResponse
  1920  	raw := NoMethod(*s)
  1921  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1922  }
  1923  
  1924  // Advertiser: Contains properties of a Campaign Manager advertiser.
  1925  type Advertiser struct {
  1926  	// AccountId: Account ID of this advertiser.This is a read-only field
  1927  	// that can be left blank.
  1928  	AccountId int64 `json:"accountId,omitempty,string"`
  1929  
  1930  	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
  1931  	// to. You can group advertisers for reporting purposes, allowing you to
  1932  	// see aggregated information for all advertisers in each group.
  1933  	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
  1934  
  1935  	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
  1936  	// creative associations under this advertiser. Must be less than 129
  1937  	// characters long.
  1938  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  1939  
  1940  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  1941  	// apply by default to the landing pages of this advertiser's campaigns.
  1942  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  1943  
  1944  	// DefaultEmail: Default email address used in sender field for tag
  1945  	// emails.
  1946  	DefaultEmail string `json:"defaultEmail,omitempty"`
  1947  
  1948  	// FloodlightConfigurationId: Floodlight configuration ID of this
  1949  	// advertiser. The floodlight configuration ID will be created
  1950  	// automatically, so on insert this field should be left blank. This
  1951  	// field can be set to another advertiser's floodlight configuration ID
  1952  	// in order to share that advertiser's floodlight configuration with
  1953  	// this advertiser, so long as:
  1954  	// - This advertiser's original floodlight configuration is not already
  1955  	// associated with floodlight activities or floodlight activity groups.
  1956  	//
  1957  	// - This advertiser's original floodlight configuration is not already
  1958  	// shared with another advertiser.
  1959  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  1960  
  1961  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  1962  	// of the floodlight configuration. This is a read-only, auto-generated
  1963  	// field.
  1964  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  1965  
  1966  	// Id: ID of this advertiser. This is a read-only, auto-generated field.
  1967  	Id int64 `json:"id,omitempty,string"`
  1968  
  1969  	// IdDimensionValue: Dimension value for the ID of this advertiser. This
  1970  	// is a read-only, auto-generated field.
  1971  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  1972  
  1973  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1974  	// string "dfareporting#advertiser".
  1975  	Kind string `json:"kind,omitempty"`
  1976  
  1977  	// Name: Name of this advertiser. This is a required field and must be
  1978  	// less than 256 characters long and unique among advertisers of the
  1979  	// same account.
  1980  	Name string `json:"name,omitempty"`
  1981  
  1982  	// OriginalFloodlightConfigurationId: Original floodlight configuration
  1983  	// before any sharing occurred. Set the floodlightConfigurationId of
  1984  	// this advertiser to originalFloodlightConfigurationId to unshare the
  1985  	// advertiser's current floodlight configuration. You cannot unshare an
  1986  	// advertiser's floodlight configuration if the shared configuration has
  1987  	// activities associated with any campaign or placement.
  1988  	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
  1989  
  1990  	// Status: Status of this advertiser.
  1991  	//
  1992  	// Possible values:
  1993  	//   "APPROVED"
  1994  	//   "ON_HOLD"
  1995  	Status string `json:"status,omitempty"`
  1996  
  1997  	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
  1998  	// field that can be left blank.
  1999  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2000  
  2001  	// Suspended: Suspension status of this advertiser.
  2002  	Suspended bool `json:"suspended,omitempty"`
  2003  
  2004  	// ServerResponse contains the HTTP response code and headers from the
  2005  	// server.
  2006  	googleapi.ServerResponse `json:"-"`
  2007  
  2008  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2009  	// unconditionally include in API requests. By default, fields with
  2010  	// empty values are omitted from API requests. However, any non-pointer,
  2011  	// non-interface field appearing in ForceSendFields will be sent to the
  2012  	// server regardless of whether the field is empty or not. This may be
  2013  	// used to include empty fields in Patch requests.
  2014  	ForceSendFields []string `json:"-"`
  2015  
  2016  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2017  	// API requests with the JSON null value. By default, fields with empty
  2018  	// values are omitted from API requests. However, any field with an
  2019  	// empty value appearing in NullFields will be sent to the server as
  2020  	// null. It is an error if a field in this list has a non-empty value.
  2021  	// This may be used to include null fields in Patch requests.
  2022  	NullFields []string `json:"-"`
  2023  }
  2024  
  2025  func (s *Advertiser) MarshalJSON() ([]byte, error) {
  2026  	type NoMethod Advertiser
  2027  	raw := NoMethod(*s)
  2028  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2029  }
  2030  
  2031  // AdvertiserGroup: Groups advertisers together so that reports can be
  2032  // generated for the entire group at once.
  2033  type AdvertiserGroup struct {
  2034  	// AccountId: Account ID of this advertiser group. This is a read-only
  2035  	// field that can be left blank.
  2036  	AccountId int64 `json:"accountId,omitempty,string"`
  2037  
  2038  	// Id: ID of this advertiser group. This is a read-only, auto-generated
  2039  	// field.
  2040  	Id int64 `json:"id,omitempty,string"`
  2041  
  2042  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2043  	// string "dfareporting#advertiserGroup".
  2044  	Kind string `json:"kind,omitempty"`
  2045  
  2046  	// Name: Name of this advertiser group. This is a required field and
  2047  	// must be less than 256 characters long and unique among advertiser
  2048  	// groups of the same account.
  2049  	Name string `json:"name,omitempty"`
  2050  
  2051  	// ServerResponse contains the HTTP response code and headers from the
  2052  	// server.
  2053  	googleapi.ServerResponse `json:"-"`
  2054  
  2055  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2056  	// unconditionally include in API requests. By default, fields with
  2057  	// empty values are omitted from API requests. However, any non-pointer,
  2058  	// non-interface field appearing in ForceSendFields will be sent to the
  2059  	// server regardless of whether the field is empty or not. This may be
  2060  	// used to include empty fields in Patch requests.
  2061  	ForceSendFields []string `json:"-"`
  2062  
  2063  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2064  	// API requests with the JSON null value. By default, fields with empty
  2065  	// values are omitted from API requests. However, any field with an
  2066  	// empty value appearing in NullFields will be sent to the server as
  2067  	// null. It is an error if a field in this list has a non-empty value.
  2068  	// This may be used to include null fields in Patch requests.
  2069  	NullFields []string `json:"-"`
  2070  }
  2071  
  2072  func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
  2073  	type NoMethod AdvertiserGroup
  2074  	raw := NoMethod(*s)
  2075  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2076  }
  2077  
  2078  // AdvertiserGroupsListResponse: Advertiser Group List Response
  2079  type AdvertiserGroupsListResponse struct {
  2080  	// AdvertiserGroups: Advertiser group collection.
  2081  	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
  2082  
  2083  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2084  	// string "dfareporting#advertiserGroupsListResponse".
  2085  	Kind string `json:"kind,omitempty"`
  2086  
  2087  	// NextPageToken: Pagination token to be used for the next list
  2088  	// operation.
  2089  	NextPageToken string `json:"nextPageToken,omitempty"`
  2090  
  2091  	// ServerResponse contains the HTTP response code and headers from the
  2092  	// server.
  2093  	googleapi.ServerResponse `json:"-"`
  2094  
  2095  	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
  2096  	// unconditionally include in API requests. By default, fields with
  2097  	// empty values are omitted from API requests. However, any non-pointer,
  2098  	// non-interface field appearing in ForceSendFields will be sent to the
  2099  	// server regardless of whether the field is empty or not. This may be
  2100  	// used to include empty fields in Patch requests.
  2101  	ForceSendFields []string `json:"-"`
  2102  
  2103  	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
  2104  	// include in API requests with the JSON null value. By default, fields
  2105  	// with empty values are omitted from API requests. However, any field
  2106  	// with an empty value appearing in NullFields will be sent to the
  2107  	// server as null. It is an error if a field in this list has a
  2108  	// non-empty value. This may be used to include null fields in Patch
  2109  	// requests.
  2110  	NullFields []string `json:"-"`
  2111  }
  2112  
  2113  func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
  2114  	type NoMethod AdvertiserGroupsListResponse
  2115  	raw := NoMethod(*s)
  2116  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2117  }
  2118  
  2119  // AdvertiserLandingPagesListResponse: Landing Page List Response
  2120  type AdvertiserLandingPagesListResponse struct {
  2121  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2122  	// string "dfareporting#advertiserLandingPagesListResponse".
  2123  	Kind string `json:"kind,omitempty"`
  2124  
  2125  	// LandingPages: Landing page collection
  2126  	LandingPages []*LandingPage `json:"landingPages,omitempty"`
  2127  
  2128  	// NextPageToken: Pagination token to be used for the next list
  2129  	// operation.
  2130  	NextPageToken string `json:"nextPageToken,omitempty"`
  2131  
  2132  	// ServerResponse contains the HTTP response code and headers from the
  2133  	// server.
  2134  	googleapi.ServerResponse `json:"-"`
  2135  
  2136  	// ForceSendFields is a list of field names (e.g. "Kind") to
  2137  	// unconditionally include in API requests. By default, fields with
  2138  	// empty values are omitted from API requests. However, any non-pointer,
  2139  	// non-interface field appearing in ForceSendFields will be sent to the
  2140  	// server regardless of whether the field is empty or not. This may be
  2141  	// used to include empty fields in Patch requests.
  2142  	ForceSendFields []string `json:"-"`
  2143  
  2144  	// NullFields is a list of field names (e.g. "Kind") to include in API
  2145  	// requests with the JSON null value. By default, fields with empty
  2146  	// values are omitted from API requests. However, any field with an
  2147  	// empty value appearing in NullFields will be sent to the server as
  2148  	// null. It is an error if a field in this list has a non-empty value.
  2149  	// This may be used to include null fields in Patch requests.
  2150  	NullFields []string `json:"-"`
  2151  }
  2152  
  2153  func (s *AdvertiserLandingPagesListResponse) MarshalJSON() ([]byte, error) {
  2154  	type NoMethod AdvertiserLandingPagesListResponse
  2155  	raw := NoMethod(*s)
  2156  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2157  }
  2158  
  2159  // AdvertisersListResponse: Advertiser List Response
  2160  type AdvertisersListResponse struct {
  2161  	// Advertisers: Advertiser collection.
  2162  	Advertisers []*Advertiser `json:"advertisers,omitempty"`
  2163  
  2164  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2165  	// string "dfareporting#advertisersListResponse".
  2166  	Kind string `json:"kind,omitempty"`
  2167  
  2168  	// NextPageToken: Pagination token to be used for the next list
  2169  	// operation.
  2170  	NextPageToken string `json:"nextPageToken,omitempty"`
  2171  
  2172  	// ServerResponse contains the HTTP response code and headers from the
  2173  	// server.
  2174  	googleapi.ServerResponse `json:"-"`
  2175  
  2176  	// ForceSendFields is a list of field names (e.g. "Advertisers") to
  2177  	// unconditionally include in API requests. By default, fields with
  2178  	// empty values are omitted from API requests. However, any non-pointer,
  2179  	// non-interface field appearing in ForceSendFields will be sent to the
  2180  	// server regardless of whether the field is empty or not. This may be
  2181  	// used to include empty fields in Patch requests.
  2182  	ForceSendFields []string `json:"-"`
  2183  
  2184  	// NullFields is a list of field names (e.g. "Advertisers") to include
  2185  	// in API requests with the JSON null value. By default, fields with
  2186  	// empty values are omitted from API requests. However, any field with
  2187  	// an empty value appearing in NullFields will be sent to the server as
  2188  	// null. It is an error if a field in this list has a non-empty value.
  2189  	// This may be used to include null fields in Patch requests.
  2190  	NullFields []string `json:"-"`
  2191  }
  2192  
  2193  func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
  2194  	type NoMethod AdvertisersListResponse
  2195  	raw := NoMethod(*s)
  2196  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2197  }
  2198  
  2199  // AudienceSegment: Audience Segment.
  2200  type AudienceSegment struct {
  2201  	// Allocation: Weight allocated to this segment. The weight assigned
  2202  	// will be understood in proportion to the weights assigned to other
  2203  	// segments in the same segment group. Acceptable values are 1 to 1000,
  2204  	// inclusive.
  2205  	Allocation int64 `json:"allocation,omitempty"`
  2206  
  2207  	// Id: ID of this audience segment. This is a read-only, auto-generated
  2208  	// field.
  2209  	Id int64 `json:"id,omitempty,string"`
  2210  
  2211  	// Name: Name of this audience segment. This is a required field and
  2212  	// must be less than 65 characters long.
  2213  	Name string `json:"name,omitempty"`
  2214  
  2215  	// ForceSendFields is a list of field names (e.g. "Allocation") to
  2216  	// unconditionally include in API requests. By default, fields with
  2217  	// empty values are omitted from API requests. However, any non-pointer,
  2218  	// non-interface field appearing in ForceSendFields will be sent to the
  2219  	// server regardless of whether the field is empty or not. This may be
  2220  	// used to include empty fields in Patch requests.
  2221  	ForceSendFields []string `json:"-"`
  2222  
  2223  	// NullFields is a list of field names (e.g. "Allocation") to include in
  2224  	// API requests with the JSON null value. By default, fields with empty
  2225  	// values are omitted from API requests. However, any field with an
  2226  	// empty value appearing in NullFields will be sent to the server as
  2227  	// null. It is an error if a field in this list has a non-empty value.
  2228  	// This may be used to include null fields in Patch requests.
  2229  	NullFields []string `json:"-"`
  2230  }
  2231  
  2232  func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
  2233  	type NoMethod AudienceSegment
  2234  	raw := NoMethod(*s)
  2235  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2236  }
  2237  
  2238  // AudienceSegmentGroup: Audience Segment Group.
  2239  type AudienceSegmentGroup struct {
  2240  	// AudienceSegments: Audience segments assigned to this group. The
  2241  	// number of segments must be between 2 and 100.
  2242  	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
  2243  
  2244  	// Id: ID of this audience segment group. This is a read-only,
  2245  	// auto-generated field.
  2246  	Id int64 `json:"id,omitempty,string"`
  2247  
  2248  	// Name: Name of this audience segment group. This is a required field
  2249  	// and must be less than 65 characters long.
  2250  	Name string `json:"name,omitempty"`
  2251  
  2252  	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
  2253  	// unconditionally include in API requests. By default, fields with
  2254  	// empty values are omitted from API requests. However, any non-pointer,
  2255  	// non-interface field appearing in ForceSendFields will be sent to the
  2256  	// server regardless of whether the field is empty or not. This may be
  2257  	// used to include empty fields in Patch requests.
  2258  	ForceSendFields []string `json:"-"`
  2259  
  2260  	// NullFields is a list of field names (e.g. "AudienceSegments") to
  2261  	// include in API requests with the JSON null value. By default, fields
  2262  	// with empty values are omitted from API requests. However, any field
  2263  	// with an empty value appearing in NullFields will be sent to the
  2264  	// server as null. It is an error if a field in this list has a
  2265  	// non-empty value. This may be used to include null fields in Patch
  2266  	// requests.
  2267  	NullFields []string `json:"-"`
  2268  }
  2269  
  2270  func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
  2271  	type NoMethod AudienceSegmentGroup
  2272  	raw := NoMethod(*s)
  2273  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2274  }
  2275  
  2276  // Browser: Contains information about a browser that can be targeted by
  2277  // ads.
  2278  type Browser struct {
  2279  	// BrowserVersionId: ID referring to this grouping of browser and
  2280  	// version numbers. This is the ID used for targeting.
  2281  	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
  2282  
  2283  	// DartId: DART ID of this browser. This is the ID used when generating
  2284  	// reports.
  2285  	DartId int64 `json:"dartId,omitempty,string"`
  2286  
  2287  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2288  	// string "dfareporting#browser".
  2289  	Kind string `json:"kind,omitempty"`
  2290  
  2291  	// MajorVersion: Major version number (leftmost number) of this browser.
  2292  	// For example, for Chrome 5.0.376.86 beta, this field should be set to
  2293  	// 5. An asterisk (*) may be used to target any version number, and a
  2294  	// question mark (?) may be used to target cases where the version
  2295  	// number cannot be identified. For example, Chrome *.* targets any
  2296  	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
  2297  	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
  2298  	// server knows the browser is Firefox but can't tell which version it
  2299  	// is.
  2300  	MajorVersion string `json:"majorVersion,omitempty"`
  2301  
  2302  	// MinorVersion: Minor version number (number after first dot on left)
  2303  	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
  2304  	// should be set to 0. An asterisk (*) may be used to target any version
  2305  	// number, and a question mark (?) may be used to target cases where the
  2306  	// version number cannot be identified. For example, Chrome *.* targets
  2307  	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
  2308  	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
  2309  	// server knows the browser is Firefox but can't tell which version it
  2310  	// is.
  2311  	MinorVersion string `json:"minorVersion,omitempty"`
  2312  
  2313  	// Name: Name of this browser.
  2314  	Name string `json:"name,omitempty"`
  2315  
  2316  	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
  2317  	// unconditionally include in API requests. By default, fields with
  2318  	// empty values are omitted from API requests. However, any non-pointer,
  2319  	// non-interface field appearing in ForceSendFields will be sent to the
  2320  	// server regardless of whether the field is empty or not. This may be
  2321  	// used to include empty fields in Patch requests.
  2322  	ForceSendFields []string `json:"-"`
  2323  
  2324  	// NullFields is a list of field names (e.g. "BrowserVersionId") to
  2325  	// include in API requests with the JSON null value. By default, fields
  2326  	// with empty values are omitted from API requests. However, any field
  2327  	// with an empty value appearing in NullFields will be sent to the
  2328  	// server as null. It is an error if a field in this list has a
  2329  	// non-empty value. This may be used to include null fields in Patch
  2330  	// requests.
  2331  	NullFields []string `json:"-"`
  2332  }
  2333  
  2334  func (s *Browser) MarshalJSON() ([]byte, error) {
  2335  	type NoMethod Browser
  2336  	raw := NoMethod(*s)
  2337  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2338  }
  2339  
  2340  // BrowsersListResponse: Browser List Response
  2341  type BrowsersListResponse struct {
  2342  	// Browsers: Browser collection.
  2343  	Browsers []*Browser `json:"browsers,omitempty"`
  2344  
  2345  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2346  	// string "dfareporting#browsersListResponse".
  2347  	Kind string `json:"kind,omitempty"`
  2348  
  2349  	// ServerResponse contains the HTTP response code and headers from the
  2350  	// server.
  2351  	googleapi.ServerResponse `json:"-"`
  2352  
  2353  	// ForceSendFields is a list of field names (e.g. "Browsers") to
  2354  	// unconditionally include in API requests. By default, fields with
  2355  	// empty values are omitted from API requests. However, any non-pointer,
  2356  	// non-interface field appearing in ForceSendFields will be sent to the
  2357  	// server regardless of whether the field is empty or not. This may be
  2358  	// used to include empty fields in Patch requests.
  2359  	ForceSendFields []string `json:"-"`
  2360  
  2361  	// NullFields is a list of field names (e.g. "Browsers") to include in
  2362  	// API requests with the JSON null value. By default, fields with empty
  2363  	// values are omitted from API requests. However, any field with an
  2364  	// empty value appearing in NullFields will be sent to the server as
  2365  	// null. It is an error if a field in this list has a non-empty value.
  2366  	// This may be used to include null fields in Patch requests.
  2367  	NullFields []string `json:"-"`
  2368  }
  2369  
  2370  func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
  2371  	type NoMethod BrowsersListResponse
  2372  	raw := NoMethod(*s)
  2373  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2374  }
  2375  
  2376  // Campaign: Contains properties of a Campaign Manager campaign.
  2377  type Campaign struct {
  2378  	// AccountId: Account ID of this campaign. This is a read-only field
  2379  	// that can be left blank.
  2380  	AccountId int64 `json:"accountId,omitempty,string"`
  2381  
  2382  	// AdBlockingConfiguration: Ad blocking settings for this campaign.
  2383  	AdBlockingConfiguration *AdBlockingConfiguration `json:"adBlockingConfiguration,omitempty"`
  2384  
  2385  	// AdditionalCreativeOptimizationConfigurations: Additional creative
  2386  	// optimization configurations for the campaign.
  2387  	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
  2388  
  2389  	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
  2390  	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
  2391  
  2392  	// AdvertiserId: Advertiser ID of this campaign. This is a required
  2393  	// field.
  2394  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  2395  
  2396  	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
  2397  	// this campaign. This is a read-only, auto-generated field.
  2398  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  2399  
  2400  	// Archived: Whether this campaign has been archived.
  2401  	Archived bool `json:"archived,omitempty"`
  2402  
  2403  	// AudienceSegmentGroups: Audience segment groups assigned to this
  2404  	// campaign. Cannot have more than 300 segment groups.
  2405  	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
  2406  
  2407  	// BillingInvoiceCode: Billing invoice code included in the Campaign
  2408  	// Manager client billing invoices associated with the campaign.
  2409  	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
  2410  
  2411  	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
  2412  	// properties for this campaign.
  2413  	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
  2414  
  2415  	// Comment: Arbitrary comments about this campaign. Must be less than
  2416  	// 256 characters long.
  2417  	Comment string `json:"comment,omitempty"`
  2418  
  2419  	// CreateInfo: Information about the creation of this campaign. This is
  2420  	// a read-only field.
  2421  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  2422  
  2423  	// CreativeGroupIds: List of creative group IDs that are assigned to the
  2424  	// campaign.
  2425  	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
  2426  
  2427  	// CreativeOptimizationConfiguration: Creative optimization
  2428  	// configuration for the campaign.
  2429  	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
  2430  
  2431  	// DefaultClickThroughEventTagProperties: Click-through event tag ID
  2432  	// override properties for this campaign.
  2433  	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
  2434  
  2435  	// DefaultLandingPageId: The default landing page ID for this campaign.
  2436  	DefaultLandingPageId int64 `json:"defaultLandingPageId,omitempty,string"`
  2437  
  2438  	// EndDate: Date on which the campaign will stop running. On insert, the
  2439  	// end date must be today or a future date. The end date must be later
  2440  	// than or be the same as the start date. If, for example, you set
  2441  	// 6/25/2015 as both the start and end dates, the effective campaign run
  2442  	// date is just that day only, 6/25/2015. The hours, minutes, and
  2443  	// seconds of the end date should not be set, as doing so will result in
  2444  	// an error. This is a required field.
  2445  	EndDate string `json:"endDate,omitempty"`
  2446  
  2447  	// EventTagOverrides: Overrides that can be used to activate or
  2448  	// deactivate advertiser event tags.
  2449  	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
  2450  
  2451  	// ExternalId: External ID for this campaign.
  2452  	ExternalId string `json:"externalId,omitempty"`
  2453  
  2454  	// Id: ID of this campaign. This is a read-only auto-generated field.
  2455  	Id int64 `json:"id,omitempty,string"`
  2456  
  2457  	// IdDimensionValue: Dimension value for the ID of this campaign. This
  2458  	// is a read-only, auto-generated field.
  2459  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  2460  
  2461  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2462  	// string "dfareporting#campaign".
  2463  	Kind string `json:"kind,omitempty"`
  2464  
  2465  	// LastModifiedInfo: Information about the most recent modification of
  2466  	// this campaign. This is a read-only field.
  2467  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  2468  
  2469  	// Name: Name of this campaign. This is a required field and must be
  2470  	// less than 256 characters long and unique among campaigns of the same
  2471  	// advertiser.
  2472  	Name string `json:"name,omitempty"`
  2473  
  2474  	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
  2475  	// campaign.
  2476  	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
  2477  
  2478  	// StartDate: Date on which the campaign starts running. The start date
  2479  	// can be any date. The hours, minutes, and seconds of the start date
  2480  	// should not be set, as doing so will result in an error. This is a
  2481  	// required field.
  2482  	StartDate string `json:"startDate,omitempty"`
  2483  
  2484  	// SubaccountId: Subaccount ID of this campaign. This is a read-only
  2485  	// field that can be left blank.
  2486  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2487  
  2488  	// TraffickerEmails: Campaign trafficker contact emails.
  2489  	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
  2490  
  2491  	// ServerResponse contains the HTTP response code and headers from the
  2492  	// server.
  2493  	googleapi.ServerResponse `json:"-"`
  2494  
  2495  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2496  	// unconditionally include in API requests. By default, fields with
  2497  	// empty values are omitted from API requests. However, any non-pointer,
  2498  	// non-interface field appearing in ForceSendFields will be sent to the
  2499  	// server regardless of whether the field is empty or not. This may be
  2500  	// used to include empty fields in Patch requests.
  2501  	ForceSendFields []string `json:"-"`
  2502  
  2503  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2504  	// API requests with the JSON null value. By default, fields with empty
  2505  	// values are omitted from API requests. However, any field with an
  2506  	// empty value appearing in NullFields will be sent to the server as
  2507  	// null. It is an error if a field in this list has a non-empty value.
  2508  	// This may be used to include null fields in Patch requests.
  2509  	NullFields []string `json:"-"`
  2510  }
  2511  
  2512  func (s *Campaign) MarshalJSON() ([]byte, error) {
  2513  	type NoMethod Campaign
  2514  	raw := NoMethod(*s)
  2515  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2516  }
  2517  
  2518  // CampaignCreativeAssociation: Identifies a creative which has been
  2519  // associated with a given campaign.
  2520  type CampaignCreativeAssociation struct {
  2521  	// CreativeId: ID of the creative associated with the campaign. This is
  2522  	// a required field.
  2523  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2524  
  2525  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2526  	// string "dfareporting#campaignCreativeAssociation".
  2527  	Kind string `json:"kind,omitempty"`
  2528  
  2529  	// ServerResponse contains the HTTP response code and headers from the
  2530  	// server.
  2531  	googleapi.ServerResponse `json:"-"`
  2532  
  2533  	// ForceSendFields is a list of field names (e.g. "CreativeId") to
  2534  	// unconditionally include in API requests. By default, fields with
  2535  	// empty values are omitted from API requests. However, any non-pointer,
  2536  	// non-interface field appearing in ForceSendFields will be sent to the
  2537  	// server regardless of whether the field is empty or not. This may be
  2538  	// used to include empty fields in Patch requests.
  2539  	ForceSendFields []string `json:"-"`
  2540  
  2541  	// NullFields is a list of field names (e.g. "CreativeId") to include in
  2542  	// API requests with the JSON null value. By default, fields with empty
  2543  	// values are omitted from API requests. However, any field with an
  2544  	// empty value appearing in NullFields will be sent to the server as
  2545  	// null. It is an error if a field in this list has a non-empty value.
  2546  	// This may be used to include null fields in Patch requests.
  2547  	NullFields []string `json:"-"`
  2548  }
  2549  
  2550  func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
  2551  	type NoMethod CampaignCreativeAssociation
  2552  	raw := NoMethod(*s)
  2553  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2554  }
  2555  
  2556  // CampaignCreativeAssociationsListResponse: Campaign Creative
  2557  // Association List Response
  2558  type CampaignCreativeAssociationsListResponse struct {
  2559  	// CampaignCreativeAssociations: Campaign creative association
  2560  	// collection
  2561  	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
  2562  
  2563  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2564  	// string "dfareporting#campaignCreativeAssociationsListResponse".
  2565  	Kind string `json:"kind,omitempty"`
  2566  
  2567  	// NextPageToken: Pagination token to be used for the next list
  2568  	// operation.
  2569  	NextPageToken string `json:"nextPageToken,omitempty"`
  2570  
  2571  	// ServerResponse contains the HTTP response code and headers from the
  2572  	// server.
  2573  	googleapi.ServerResponse `json:"-"`
  2574  
  2575  	// ForceSendFields is a list of field names (e.g.
  2576  	// "CampaignCreativeAssociations") to unconditionally include in API
  2577  	// requests. By default, fields with empty values are omitted from API
  2578  	// requests. However, any non-pointer, non-interface field appearing in
  2579  	// ForceSendFields will be sent to the server regardless of whether the
  2580  	// field is empty or not. This may be used to include empty fields in
  2581  	// Patch requests.
  2582  	ForceSendFields []string `json:"-"`
  2583  
  2584  	// NullFields is a list of field names (e.g.
  2585  	// "CampaignCreativeAssociations") to include in API requests with the
  2586  	// JSON null value. By default, fields with empty values are omitted
  2587  	// from API requests. However, any field with an empty value appearing
  2588  	// in NullFields will be sent to the server as null. It is an error if a
  2589  	// field in this list has a non-empty value. This may be used to include
  2590  	// null fields in Patch requests.
  2591  	NullFields []string `json:"-"`
  2592  }
  2593  
  2594  func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
  2595  	type NoMethod CampaignCreativeAssociationsListResponse
  2596  	raw := NoMethod(*s)
  2597  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2598  }
  2599  
  2600  // CampaignsListResponse: Campaign List Response
  2601  type CampaignsListResponse struct {
  2602  	// Campaigns: Campaign collection.
  2603  	Campaigns []*Campaign `json:"campaigns,omitempty"`
  2604  
  2605  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2606  	// string "dfareporting#campaignsListResponse".
  2607  	Kind string `json:"kind,omitempty"`
  2608  
  2609  	// NextPageToken: Pagination token to be used for the next list
  2610  	// operation.
  2611  	NextPageToken string `json:"nextPageToken,omitempty"`
  2612  
  2613  	// ServerResponse contains the HTTP response code and headers from the
  2614  	// server.
  2615  	googleapi.ServerResponse `json:"-"`
  2616  
  2617  	// ForceSendFields is a list of field names (e.g. "Campaigns") to
  2618  	// unconditionally include in API requests. By default, fields with
  2619  	// empty values are omitted from API requests. However, any non-pointer,
  2620  	// non-interface field appearing in ForceSendFields will be sent to the
  2621  	// server regardless of whether the field is empty or not. This may be
  2622  	// used to include empty fields in Patch requests.
  2623  	ForceSendFields []string `json:"-"`
  2624  
  2625  	// NullFields is a list of field names (e.g. "Campaigns") to include in
  2626  	// API requests with the JSON null value. By default, fields with empty
  2627  	// values are omitted from API requests. However, any field with an
  2628  	// empty value appearing in NullFields will be sent to the server as
  2629  	// null. It is an error if a field in this list has a non-empty value.
  2630  	// This may be used to include null fields in Patch requests.
  2631  	NullFields []string `json:"-"`
  2632  }
  2633  
  2634  func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
  2635  	type NoMethod CampaignsListResponse
  2636  	raw := NoMethod(*s)
  2637  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2638  }
  2639  
  2640  // ChangeLog: Describes a change that a user has made to a resource.
  2641  type ChangeLog struct {
  2642  	// AccountId: Account ID of the modified object.
  2643  	AccountId int64 `json:"accountId,omitempty,string"`
  2644  
  2645  	// Action: Action which caused the change.
  2646  	Action string `json:"action,omitempty"`
  2647  
  2648  	// ChangeTime: Time when the object was modified.
  2649  	ChangeTime string `json:"changeTime,omitempty"`
  2650  
  2651  	// FieldName: Field name of the object which changed.
  2652  	FieldName string `json:"fieldName,omitempty"`
  2653  
  2654  	// Id: ID of this change log.
  2655  	Id int64 `json:"id,omitempty,string"`
  2656  
  2657  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2658  	// string "dfareporting#changeLog".
  2659  	Kind string `json:"kind,omitempty"`
  2660  
  2661  	// NewValue: New value of the object field.
  2662  	NewValue string `json:"newValue,omitempty"`
  2663  
  2664  	// ObjectId: ID of the object of this change log. The object could be a
  2665  	// campaign, placement, ad, or other type.
  2666  	ObjectId int64 `json:"objectId,omitempty,string"`
  2667  
  2668  	// ObjectType: Object type of the change log.
  2669  	ObjectType string `json:"objectType,omitempty"`
  2670  
  2671  	// OldValue: Old value of the object field.
  2672  	OldValue string `json:"oldValue,omitempty"`
  2673  
  2674  	// SubaccountId: Subaccount ID of the modified object.
  2675  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2676  
  2677  	// TransactionId: Transaction ID of this change log. When a single API
  2678  	// call results in many changes, each change will have a separate ID in
  2679  	// the change log but will share the same transactionId.
  2680  	TransactionId int64 `json:"transactionId,omitempty,string"`
  2681  
  2682  	// UserProfileId: ID of the user who modified the object.
  2683  	UserProfileId int64 `json:"userProfileId,omitempty,string"`
  2684  
  2685  	// UserProfileName: User profile name of the user who modified the
  2686  	// object.
  2687  	UserProfileName string `json:"userProfileName,omitempty"`
  2688  
  2689  	// ServerResponse contains the HTTP response code and headers from the
  2690  	// server.
  2691  	googleapi.ServerResponse `json:"-"`
  2692  
  2693  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2694  	// unconditionally include in API requests. By default, fields with
  2695  	// empty values are omitted from API requests. However, any non-pointer,
  2696  	// non-interface field appearing in ForceSendFields will be sent to the
  2697  	// server regardless of whether the field is empty or not. This may be
  2698  	// used to include empty fields in Patch requests.
  2699  	ForceSendFields []string `json:"-"`
  2700  
  2701  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2702  	// API requests with the JSON null value. By default, fields with empty
  2703  	// values are omitted from API requests. However, any field with an
  2704  	// empty value appearing in NullFields will be sent to the server as
  2705  	// null. It is an error if a field in this list has a non-empty value.
  2706  	// This may be used to include null fields in Patch requests.
  2707  	NullFields []string `json:"-"`
  2708  }
  2709  
  2710  func (s *ChangeLog) MarshalJSON() ([]byte, error) {
  2711  	type NoMethod ChangeLog
  2712  	raw := NoMethod(*s)
  2713  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2714  }
  2715  
  2716  // ChangeLogsListResponse: Change Log List Response
  2717  type ChangeLogsListResponse struct {
  2718  	// ChangeLogs: Change log collection.
  2719  	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
  2720  
  2721  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2722  	// string "dfareporting#changeLogsListResponse".
  2723  	Kind string `json:"kind,omitempty"`
  2724  
  2725  	// NextPageToken: Pagination token to be used for the next list
  2726  	// operation.
  2727  	NextPageToken string `json:"nextPageToken,omitempty"`
  2728  
  2729  	// ServerResponse contains the HTTP response code and headers from the
  2730  	// server.
  2731  	googleapi.ServerResponse `json:"-"`
  2732  
  2733  	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
  2734  	// unconditionally include in API requests. By default, fields with
  2735  	// empty values are omitted from API requests. However, any non-pointer,
  2736  	// non-interface field appearing in ForceSendFields will be sent to the
  2737  	// server regardless of whether the field is empty or not. This may be
  2738  	// used to include empty fields in Patch requests.
  2739  	ForceSendFields []string `json:"-"`
  2740  
  2741  	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
  2742  	// API requests with the JSON null value. By default, fields with empty
  2743  	// values are omitted from API requests. However, any field with an
  2744  	// empty value appearing in NullFields will be sent to the server as
  2745  	// null. It is an error if a field in this list has a non-empty value.
  2746  	// This may be used to include null fields in Patch requests.
  2747  	NullFields []string `json:"-"`
  2748  }
  2749  
  2750  func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
  2751  	type NoMethod ChangeLogsListResponse
  2752  	raw := NoMethod(*s)
  2753  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2754  }
  2755  
  2756  // CitiesListResponse: City List Response
  2757  type CitiesListResponse struct {
  2758  	// Cities: City collection.
  2759  	Cities []*City `json:"cities,omitempty"`
  2760  
  2761  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2762  	// string "dfareporting#citiesListResponse".
  2763  	Kind string `json:"kind,omitempty"`
  2764  
  2765  	// ServerResponse contains the HTTP response code and headers from the
  2766  	// server.
  2767  	googleapi.ServerResponse `json:"-"`
  2768  
  2769  	// ForceSendFields is a list of field names (e.g. "Cities") to
  2770  	// unconditionally include in API requests. By default, fields with
  2771  	// empty values are omitted from API requests. However, any non-pointer,
  2772  	// non-interface field appearing in ForceSendFields will be sent to the
  2773  	// server regardless of whether the field is empty or not. This may be
  2774  	// used to include empty fields in Patch requests.
  2775  	ForceSendFields []string `json:"-"`
  2776  
  2777  	// NullFields is a list of field names (e.g. "Cities") to include in API
  2778  	// requests with the JSON null value. By default, fields with empty
  2779  	// values are omitted from API requests. However, any field with an
  2780  	// empty value appearing in NullFields will be sent to the server as
  2781  	// null. It is an error if a field in this list has a non-empty value.
  2782  	// This may be used to include null fields in Patch requests.
  2783  	NullFields []string `json:"-"`
  2784  }
  2785  
  2786  func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
  2787  	type NoMethod CitiesListResponse
  2788  	raw := NoMethod(*s)
  2789  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2790  }
  2791  
  2792  // City: Contains information about a city that can be targeted by ads.
  2793  type City struct {
  2794  	// CountryCode: Country code of the country to which this city belongs.
  2795  	CountryCode string `json:"countryCode,omitempty"`
  2796  
  2797  	// CountryDartId: DART ID of the country to which this city belongs.
  2798  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  2799  
  2800  	// DartId: DART ID of this city. This is the ID used for targeting and
  2801  	// generating reports.
  2802  	DartId int64 `json:"dartId,omitempty,string"`
  2803  
  2804  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2805  	// string "dfareporting#city".
  2806  	Kind string `json:"kind,omitempty"`
  2807  
  2808  	// MetroCode: Metro region code of the metro region (DMA) to which this
  2809  	// city belongs.
  2810  	MetroCode string `json:"metroCode,omitempty"`
  2811  
  2812  	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
  2813  	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
  2814  
  2815  	// Name: Name of this city.
  2816  	Name string `json:"name,omitempty"`
  2817  
  2818  	// RegionCode: Region code of the region to which this city belongs.
  2819  	RegionCode string `json:"regionCode,omitempty"`
  2820  
  2821  	// RegionDartId: DART ID of the region to which this city belongs.
  2822  	RegionDartId int64 `json:"regionDartId,omitempty,string"`
  2823  
  2824  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  2825  	// unconditionally include in API requests. By default, fields with
  2826  	// empty values are omitted from API requests. However, any non-pointer,
  2827  	// non-interface field appearing in ForceSendFields will be sent to the
  2828  	// server regardless of whether the field is empty or not. This may be
  2829  	// used to include empty fields in Patch requests.
  2830  	ForceSendFields []string `json:"-"`
  2831  
  2832  	// NullFields is a list of field names (e.g. "CountryCode") to include
  2833  	// in API requests with the JSON null value. By default, fields with
  2834  	// empty values are omitted from API requests. However, any field with
  2835  	// an empty value appearing in NullFields will be sent to the server as
  2836  	// null. It is an error if a field in this list has a non-empty value.
  2837  	// This may be used to include null fields in Patch requests.
  2838  	NullFields []string `json:"-"`
  2839  }
  2840  
  2841  func (s *City) MarshalJSON() ([]byte, error) {
  2842  	type NoMethod City
  2843  	raw := NoMethod(*s)
  2844  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2845  }
  2846  
  2847  // ClickTag: Creative Click Tag.
  2848  type ClickTag struct {
  2849  	// ClickThroughUrl: Parameter value for the specified click tag. This
  2850  	// field contains a click-through url.
  2851  	ClickThroughUrl *CreativeClickThroughUrl `json:"clickThroughUrl,omitempty"`
  2852  
  2853  	// EventName: Advertiser event name associated with the click tag. This
  2854  	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
  2855  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  2856  	EventName string `json:"eventName,omitempty"`
  2857  
  2858  	// Name: Parameter name for the specified click tag. For
  2859  	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
  2860  	// value of the creative asset's creativeAssetId.name field.
  2861  	Name string `json:"name,omitempty"`
  2862  
  2863  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  2864  	// unconditionally include in API requests. By default, fields with
  2865  	// empty values are omitted from API requests. However, any non-pointer,
  2866  	// non-interface field appearing in ForceSendFields will be sent to the
  2867  	// server regardless of whether the field is empty or not. This may be
  2868  	// used to include empty fields in Patch requests.
  2869  	ForceSendFields []string `json:"-"`
  2870  
  2871  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  2872  	// include in API requests with the JSON null value. By default, fields
  2873  	// with empty values are omitted from API requests. However, any field
  2874  	// with an empty value appearing in NullFields will be sent to the
  2875  	// server as null. It is an error if a field in this list has a
  2876  	// non-empty value. This may be used to include null fields in Patch
  2877  	// requests.
  2878  	NullFields []string `json:"-"`
  2879  }
  2880  
  2881  func (s *ClickTag) MarshalJSON() ([]byte, error) {
  2882  	type NoMethod ClickTag
  2883  	raw := NoMethod(*s)
  2884  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2885  }
  2886  
  2887  // ClickThroughUrl: Click-through URL
  2888  type ClickThroughUrl struct {
  2889  	// ComputedClickThroughUrl: Read-only convenience field representing the
  2890  	// actual URL that will be used for this click-through. The URL is
  2891  	// computed as follows:
  2892  	// - If defaultLandingPage is enabled then the campaign's default
  2893  	// landing page URL is assigned to this field.
  2894  	// - If defaultLandingPage is not enabled and a landingPageId is
  2895  	// specified then that landing page's URL is assigned to this field.
  2896  	// - If neither of the above cases apply, then the customClickThroughUrl
  2897  	// is assigned to this field.
  2898  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  2899  
  2900  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  2901  	// defaultLandingPage field is set to false and the landingPageId field
  2902  	// is left unset.
  2903  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  2904  
  2905  	// DefaultLandingPage: Whether the campaign default landing page is
  2906  	// used.
  2907  	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
  2908  
  2909  	// LandingPageId: ID of the landing page for the click-through URL.
  2910  	// Applicable if the defaultLandingPage field is set to false.
  2911  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  2912  
  2913  	// ForceSendFields is a list of field names (e.g.
  2914  	// "ComputedClickThroughUrl") to unconditionally include in API
  2915  	// requests. By default, fields with empty values are omitted from API
  2916  	// requests. However, any non-pointer, non-interface field appearing in
  2917  	// ForceSendFields will be sent to the server regardless of whether the
  2918  	// field is empty or not. This may be used to include empty fields in
  2919  	// Patch requests.
  2920  	ForceSendFields []string `json:"-"`
  2921  
  2922  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  2923  	// to include in API requests with the JSON null value. By default,
  2924  	// fields with empty values are omitted from API requests. However, any
  2925  	// field with an empty value appearing in NullFields will be sent to the
  2926  	// server as null. It is an error if a field in this list has a
  2927  	// non-empty value. This may be used to include null fields in Patch
  2928  	// requests.
  2929  	NullFields []string `json:"-"`
  2930  }
  2931  
  2932  func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
  2933  	type NoMethod ClickThroughUrl
  2934  	raw := NoMethod(*s)
  2935  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2936  }
  2937  
  2938  // ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
  2939  type ClickThroughUrlSuffixProperties struct {
  2940  	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
  2941  	// in this entity's scope. Must be less than 128 characters long.
  2942  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  2943  
  2944  	// OverrideInheritedSuffix: Whether this entity should override the
  2945  	// inherited click-through URL suffix with its own defined value.
  2946  	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
  2947  
  2948  	// ForceSendFields is a list of field names (e.g.
  2949  	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
  2950  	// By default, fields with empty values are omitted from API requests.
  2951  	// However, any non-pointer, non-interface field appearing in
  2952  	// ForceSendFields will be sent to the server regardless of whether the
  2953  	// field is empty or not. This may be used to include empty fields in
  2954  	// Patch requests.
  2955  	ForceSendFields []string `json:"-"`
  2956  
  2957  	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
  2958  	// include in API requests with the JSON null value. By default, fields
  2959  	// with empty values are omitted from API requests. However, any field
  2960  	// with an empty value appearing in NullFields will be sent to the
  2961  	// server as null. It is an error if a field in this list has a
  2962  	// non-empty value. This may be used to include null fields in Patch
  2963  	// requests.
  2964  	NullFields []string `json:"-"`
  2965  }
  2966  
  2967  func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
  2968  	type NoMethod ClickThroughUrlSuffixProperties
  2969  	raw := NoMethod(*s)
  2970  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2971  }
  2972  
  2973  // CompanionClickThroughOverride: Companion Click-through override.
  2974  type CompanionClickThroughOverride struct {
  2975  	// ClickThroughUrl: Click-through URL of this companion click-through
  2976  	// override.
  2977  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  2978  
  2979  	// CreativeId: ID of the creative for this companion click-through
  2980  	// override.
  2981  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2982  
  2983  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  2984  	// unconditionally include in API requests. By default, fields with
  2985  	// empty values are omitted from API requests. However, any non-pointer,
  2986  	// non-interface field appearing in ForceSendFields will be sent to the
  2987  	// server regardless of whether the field is empty or not. This may be
  2988  	// used to include empty fields in Patch requests.
  2989  	ForceSendFields []string `json:"-"`
  2990  
  2991  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  2992  	// include in API requests with the JSON null value. By default, fields
  2993  	// with empty values are omitted from API requests. However, any field
  2994  	// with an empty value appearing in NullFields will be sent to the
  2995  	// server as null. It is an error if a field in this list has a
  2996  	// non-empty value. This may be used to include null fields in Patch
  2997  	// requests.
  2998  	NullFields []string `json:"-"`
  2999  }
  3000  
  3001  func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
  3002  	type NoMethod CompanionClickThroughOverride
  3003  	raw := NoMethod(*s)
  3004  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3005  }
  3006  
  3007  // CompanionSetting: Companion Settings
  3008  type CompanionSetting struct {
  3009  	// CompanionsDisabled: Whether companions are disabled for this
  3010  	// placement.
  3011  	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
  3012  
  3013  	// EnabledSizes: Whitelist of companion sizes to be served to this
  3014  	// placement. Set this list to null or empty to serve all companion
  3015  	// sizes.
  3016  	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
  3017  
  3018  	// ImageOnly: Whether to serve only static images as companions.
  3019  	ImageOnly bool `json:"imageOnly,omitempty"`
  3020  
  3021  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3022  	// string "dfareporting#companionSetting".
  3023  	Kind string `json:"kind,omitempty"`
  3024  
  3025  	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
  3026  	// to unconditionally include in API requests. By default, fields with
  3027  	// empty values are omitted from API requests. However, any non-pointer,
  3028  	// non-interface field appearing in ForceSendFields will be sent to the
  3029  	// server regardless of whether the field is empty or not. This may be
  3030  	// used to include empty fields in Patch requests.
  3031  	ForceSendFields []string `json:"-"`
  3032  
  3033  	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
  3034  	// include in API requests with the JSON null value. By default, fields
  3035  	// with empty values are omitted from API requests. However, any field
  3036  	// with an empty value appearing in NullFields will be sent to the
  3037  	// server as null. It is an error if a field in this list has a
  3038  	// non-empty value. This may be used to include null fields in Patch
  3039  	// requests.
  3040  	NullFields []string `json:"-"`
  3041  }
  3042  
  3043  func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
  3044  	type NoMethod CompanionSetting
  3045  	raw := NoMethod(*s)
  3046  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3047  }
  3048  
  3049  // CompatibleFields: Represents a response to the queryCompatibleFields
  3050  // method.
  3051  type CompatibleFields struct {
  3052  	// CrossDimensionReachReportCompatibleFields: Contains items that are
  3053  	// compatible to be selected for a report of type
  3054  	// "CROSS_DIMENSION_REACH".
  3055  	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
  3056  
  3057  	// FloodlightReportCompatibleFields: Contains items that are compatible
  3058  	// to be selected for a report of type "FLOODLIGHT".
  3059  	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
  3060  
  3061  	// Kind: The kind of resource this is, in this case
  3062  	// dfareporting#compatibleFields.
  3063  	Kind string `json:"kind,omitempty"`
  3064  
  3065  	// PathToConversionReportCompatibleFields: Contains items that are
  3066  	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
  3067  	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
  3068  
  3069  	// ReachReportCompatibleFields: Contains items that are compatible to be
  3070  	// selected for a report of type "REACH".
  3071  	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
  3072  
  3073  	// ReportCompatibleFields: Contains items that are compatible to be
  3074  	// selected for a report of type "STANDARD".
  3075  	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
  3076  
  3077  	// ServerResponse contains the HTTP response code and headers from the
  3078  	// server.
  3079  	googleapi.ServerResponse `json:"-"`
  3080  
  3081  	// ForceSendFields is a list of field names (e.g.
  3082  	// "CrossDimensionReachReportCompatibleFields") to unconditionally
  3083  	// include in API requests. By default, fields with empty values are
  3084  	// omitted from API requests. However, any non-pointer, non-interface
  3085  	// field appearing in ForceSendFields will be sent to the server
  3086  	// regardless of whether the field is empty or not. This may be used to
  3087  	// include empty fields in Patch requests.
  3088  	ForceSendFields []string `json:"-"`
  3089  
  3090  	// NullFields is a list of field names (e.g.
  3091  	// "CrossDimensionReachReportCompatibleFields") to include in API
  3092  	// requests with the JSON null value. By default, fields with empty
  3093  	// values are omitted from API requests. However, any field with an
  3094  	// empty value appearing in NullFields will be sent to the server as
  3095  	// null. It is an error if a field in this list has a non-empty value.
  3096  	// This may be used to include null fields in Patch requests.
  3097  	NullFields []string `json:"-"`
  3098  }
  3099  
  3100  func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
  3101  	type NoMethod CompatibleFields
  3102  	raw := NoMethod(*s)
  3103  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3104  }
  3105  
  3106  // ConnectionType: Contains information about an internet connection
  3107  // type that can be targeted by ads. Clients can use the connection type
  3108  // to target mobile vs. broadband users.
  3109  type ConnectionType struct {
  3110  	// Id: ID of this connection type.
  3111  	Id int64 `json:"id,omitempty,string"`
  3112  
  3113  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3114  	// string "dfareporting#connectionType".
  3115  	Kind string `json:"kind,omitempty"`
  3116  
  3117  	// Name: Name of this connection type.
  3118  	Name string `json:"name,omitempty"`
  3119  
  3120  	// ServerResponse contains the HTTP response code and headers from the
  3121  	// server.
  3122  	googleapi.ServerResponse `json:"-"`
  3123  
  3124  	// ForceSendFields is a list of field names (e.g. "Id") to
  3125  	// unconditionally include in API requests. By default, fields with
  3126  	// empty values are omitted from API requests. However, any non-pointer,
  3127  	// non-interface field appearing in ForceSendFields will be sent to the
  3128  	// server regardless of whether the field is empty or not. This may be
  3129  	// used to include empty fields in Patch requests.
  3130  	ForceSendFields []string `json:"-"`
  3131  
  3132  	// NullFields is a list of field names (e.g. "Id") to include in API
  3133  	// requests with the JSON null value. By default, fields with empty
  3134  	// values are omitted from API requests. However, any field with an
  3135  	// empty value appearing in NullFields will be sent to the server as
  3136  	// null. It is an error if a field in this list has a non-empty value.
  3137  	// This may be used to include null fields in Patch requests.
  3138  	NullFields []string `json:"-"`
  3139  }
  3140  
  3141  func (s *ConnectionType) MarshalJSON() ([]byte, error) {
  3142  	type NoMethod ConnectionType
  3143  	raw := NoMethod(*s)
  3144  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3145  }
  3146  
  3147  // ConnectionTypesListResponse: Connection Type List Response
  3148  type ConnectionTypesListResponse struct {
  3149  	// ConnectionTypes: Collection of connection types such as broadband and
  3150  	// mobile.
  3151  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
  3152  
  3153  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3154  	// string "dfareporting#connectionTypesListResponse".
  3155  	Kind string `json:"kind,omitempty"`
  3156  
  3157  	// ServerResponse contains the HTTP response code and headers from the
  3158  	// server.
  3159  	googleapi.ServerResponse `json:"-"`
  3160  
  3161  	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
  3162  	// unconditionally include in API requests. By default, fields with
  3163  	// empty values are omitted from API requests. However, any non-pointer,
  3164  	// non-interface field appearing in ForceSendFields will be sent to the
  3165  	// server regardless of whether the field is empty or not. This may be
  3166  	// used to include empty fields in Patch requests.
  3167  	ForceSendFields []string `json:"-"`
  3168  
  3169  	// NullFields is a list of field names (e.g. "ConnectionTypes") to
  3170  	// include in API requests with the JSON null value. By default, fields
  3171  	// with empty values are omitted from API requests. However, any field
  3172  	// with an empty value appearing in NullFields will be sent to the
  3173  	// server as null. It is an error if a field in this list has a
  3174  	// non-empty value. This may be used to include null fields in Patch
  3175  	// requests.
  3176  	NullFields []string `json:"-"`
  3177  }
  3178  
  3179  func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
  3180  	type NoMethod ConnectionTypesListResponse
  3181  	raw := NoMethod(*s)
  3182  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3183  }
  3184  
  3185  // ContentCategoriesListResponse: Content Category List Response
  3186  type ContentCategoriesListResponse struct {
  3187  	// ContentCategories: Content category collection.
  3188  	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
  3189  
  3190  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3191  	// string "dfareporting#contentCategoriesListResponse".
  3192  	Kind string `json:"kind,omitempty"`
  3193  
  3194  	// NextPageToken: Pagination token to be used for the next list
  3195  	// operation.
  3196  	NextPageToken string `json:"nextPageToken,omitempty"`
  3197  
  3198  	// ServerResponse contains the HTTP response code and headers from the
  3199  	// server.
  3200  	googleapi.ServerResponse `json:"-"`
  3201  
  3202  	// ForceSendFields is a list of field names (e.g. "ContentCategories")
  3203  	// to unconditionally include in API requests. By default, fields with
  3204  	// empty values are omitted from API requests. However, any non-pointer,
  3205  	// non-interface field appearing in ForceSendFields will be sent to the
  3206  	// server regardless of whether the field is empty or not. This may be
  3207  	// used to include empty fields in Patch requests.
  3208  	ForceSendFields []string `json:"-"`
  3209  
  3210  	// NullFields is a list of field names (e.g. "ContentCategories") to
  3211  	// include in API requests with the JSON null value. By default, fields
  3212  	// with empty values are omitted from API requests. However, any field
  3213  	// with an empty value appearing in NullFields will be sent to the
  3214  	// server as null. It is an error if a field in this list has a
  3215  	// non-empty value. This may be used to include null fields in Patch
  3216  	// requests.
  3217  	NullFields []string `json:"-"`
  3218  }
  3219  
  3220  func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
  3221  	type NoMethod ContentCategoriesListResponse
  3222  	raw := NoMethod(*s)
  3223  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3224  }
  3225  
  3226  // ContentCategory: Organizes placements according to the contents of
  3227  // their associated webpages.
  3228  type ContentCategory struct {
  3229  	// AccountId: Account ID of this content category. This is a read-only
  3230  	// field that can be left blank.
  3231  	AccountId int64 `json:"accountId,omitempty,string"`
  3232  
  3233  	// Id: ID of this content category. This is a read-only, auto-generated
  3234  	// field.
  3235  	Id int64 `json:"id,omitempty,string"`
  3236  
  3237  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3238  	// string "dfareporting#contentCategory".
  3239  	Kind string `json:"kind,omitempty"`
  3240  
  3241  	// Name: Name of this content category. This is a required field and
  3242  	// must be less than 256 characters long and unique among content
  3243  	// categories of the same account.
  3244  	Name string `json:"name,omitempty"`
  3245  
  3246  	// ServerResponse contains the HTTP response code and headers from the
  3247  	// server.
  3248  	googleapi.ServerResponse `json:"-"`
  3249  
  3250  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  3251  	// unconditionally include in API requests. By default, fields with
  3252  	// empty values are omitted from API requests. However, any non-pointer,
  3253  	// non-interface field appearing in ForceSendFields will be sent to the
  3254  	// server regardless of whether the field is empty or not. This may be
  3255  	// used to include empty fields in Patch requests.
  3256  	ForceSendFields []string `json:"-"`
  3257  
  3258  	// NullFields is a list of field names (e.g. "AccountId") to include in
  3259  	// API requests with the JSON null value. By default, fields with empty
  3260  	// values are omitted from API requests. However, any field with an
  3261  	// empty value appearing in NullFields will be sent to the server as
  3262  	// null. It is an error if a field in this list has a non-empty value.
  3263  	// This may be used to include null fields in Patch requests.
  3264  	NullFields []string `json:"-"`
  3265  }
  3266  
  3267  func (s *ContentCategory) MarshalJSON() ([]byte, error) {
  3268  	type NoMethod ContentCategory
  3269  	raw := NoMethod(*s)
  3270  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3271  }
  3272  
  3273  // Conversion: A Conversion represents when a user successfully performs
  3274  // a desired action after seeing an ad.
  3275  type Conversion struct {
  3276  	// ChildDirectedTreatment: Whether this particular request may come from
  3277  	// a user under the age of 13, under COPPA compliance.
  3278  	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
  3279  
  3280  	// CustomVariables: Custom floodlight variables.
  3281  	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
  3282  
  3283  	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
  3284  	// encryptionInfo should also be specified. This field is mutually
  3285  	// exclusive with encryptedUserIdCandidates[], mobileDeviceId and gclid.
  3286  	// This or encryptedUserIdCandidates[] or mobileDeviceId or gclid is a
  3287  	// required field.
  3288  	EncryptedUserId string `json:"encryptedUserId,omitempty"`
  3289  
  3290  	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
  3291  	// IDs. Any user ID with exposure prior to the conversion timestamp will
  3292  	// be used in the inserted conversion. If no such user ID is found then
  3293  	// the conversion will be rejected with NO_COOKIE_MATCH_FOUND error.
  3294  	// When set, encryptionInfo should also be specified. This field may
  3295  	// only be used when calling batchinsert; it is not supported by
  3296  	// batchupdate. This field is mutually exclusive with encryptedUserId,
  3297  	// mobileDeviceId and gclid. This or encryptedUserId or mobileDeviceId
  3298  	// or gclid is a required field.
  3299  	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
  3300  
  3301  	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
  3302  	// is a required field.
  3303  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  3304  
  3305  	// FloodlightConfigurationId: Floodlight Configuration ID of this
  3306  	// conversion. This is a required field.
  3307  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  3308  
  3309  	// Gclid: The Google click ID. This field is mutually exclusive with
  3310  	// encryptedUserId, encryptedUserIdCandidates[] and mobileDeviceId. This
  3311  	// or encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId
  3312  	// is a required field.
  3313  	Gclid string `json:"gclid,omitempty"`
  3314  
  3315  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3316  	// string "dfareporting#conversion".
  3317  	Kind string `json:"kind,omitempty"`
  3318  
  3319  	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
  3320  	// true, the conversion will be used for reporting but not targeting.
  3321  	// This will prevent remarketing.
  3322  	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
  3323  
  3324  	// MobileDeviceId: The mobile device ID. This field is mutually
  3325  	// exclusive with encryptedUserId, encryptedUserIdCandidates[] and
  3326  	// gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
  3327  	// gclid is a required field.
  3328  	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
  3329  
  3330  	// NonPersonalizedAd: Whether the conversion was for a non personalized
  3331  	// ad.
  3332  	NonPersonalizedAd bool `json:"nonPersonalizedAd,omitempty"`
  3333  
  3334  	// Ordinal: The ordinal of the conversion. Use this field to control how
  3335  	// conversions of the same user and day are de-duplicated. This is a
  3336  	// required field.
  3337  	Ordinal string `json:"ordinal,omitempty"`
  3338  
  3339  	// Quantity: The quantity of the conversion.
  3340  	Quantity int64 `json:"quantity,omitempty,string"`
  3341  
  3342  	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
  3343  	// This is a required field.
  3344  	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
  3345  
  3346  	// TreatmentForUnderage: Whether this particular request may come from a
  3347  	// user under the age of 16 (may differ by country), under compliance
  3348  	// with the European Union's General Data Protection Regulation (GDPR).
  3349  	TreatmentForUnderage bool `json:"treatmentForUnderage,omitempty"`
  3350  
  3351  	// Value: The value of the conversion.
  3352  	Value float64 `json:"value,omitempty"`
  3353  
  3354  	// ForceSendFields is a list of field names (e.g.
  3355  	// "ChildDirectedTreatment") to unconditionally include in API requests.
  3356  	// By default, fields with empty values are omitted from API requests.
  3357  	// However, any non-pointer, non-interface field appearing in
  3358  	// ForceSendFields will be sent to the server regardless of whether the
  3359  	// field is empty or not. This may be used to include empty fields in
  3360  	// Patch requests.
  3361  	ForceSendFields []string `json:"-"`
  3362  
  3363  	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
  3364  	// to include in API requests with the JSON null value. By default,
  3365  	// fields with empty values are omitted from API requests. However, any
  3366  	// field with an empty value appearing in NullFields will be sent to the
  3367  	// server as null. It is an error if a field in this list has a
  3368  	// non-empty value. This may be used to include null fields in Patch
  3369  	// requests.
  3370  	NullFields []string `json:"-"`
  3371  }
  3372  
  3373  func (s *Conversion) MarshalJSON() ([]byte, error) {
  3374  	type NoMethod Conversion
  3375  	raw := NoMethod(*s)
  3376  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3377  }
  3378  
  3379  func (s *Conversion) UnmarshalJSON(data []byte) error {
  3380  	type NoMethod Conversion
  3381  	var s1 struct {
  3382  		Value gensupport.JSONFloat64 `json:"value"`
  3383  		*NoMethod
  3384  	}
  3385  	s1.NoMethod = (*NoMethod)(s)
  3386  	if err := json.Unmarshal(data, &s1); err != nil {
  3387  		return err
  3388  	}
  3389  	s.Value = float64(s1.Value)
  3390  	return nil
  3391  }
  3392  
  3393  // ConversionError: The error code and description for a conversion that
  3394  // failed to insert or update.
  3395  type ConversionError struct {
  3396  	// Code: The error code.
  3397  	//
  3398  	// Possible values:
  3399  	//   "INTERNAL"
  3400  	//   "INVALID_ARGUMENT"
  3401  	//   "NOT_FOUND"
  3402  	//   "PERMISSION_DENIED"
  3403  	Code string `json:"code,omitempty"`
  3404  
  3405  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3406  	// string "dfareporting#conversionError".
  3407  	Kind string `json:"kind,omitempty"`
  3408  
  3409  	// Message: A description of the error.
  3410  	Message string `json:"message,omitempty"`
  3411  
  3412  	// ForceSendFields is a list of field names (e.g. "Code") 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. "Code") to include in API
  3421  	// requests with the JSON null value. By default, fields with empty
  3422  	// values are omitted from API requests. However, any field with an
  3423  	// 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 *ConversionError) MarshalJSON() ([]byte, error) {
  3430  	type NoMethod ConversionError
  3431  	raw := NoMethod(*s)
  3432  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3433  }
  3434  
  3435  // ConversionStatus: The original conversion that was inserted or
  3436  // updated and whether there were any errors.
  3437  type ConversionStatus struct {
  3438  	// Conversion: The original conversion that was inserted or updated.
  3439  	Conversion *Conversion `json:"conversion,omitempty"`
  3440  
  3441  	// Errors: A list of errors related to this conversion.
  3442  	Errors []*ConversionError `json:"errors,omitempty"`
  3443  
  3444  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3445  	// string "dfareporting#conversionStatus".
  3446  	Kind string `json:"kind,omitempty"`
  3447  
  3448  	// ForceSendFields is a list of field names (e.g. "Conversion") 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. "Conversion") 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 *ConversionStatus) MarshalJSON() ([]byte, error) {
  3466  	type NoMethod ConversionStatus
  3467  	raw := NoMethod(*s)
  3468  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3469  }
  3470  
  3471  // ConversionsBatchInsertRequest: Insert Conversions Request.
  3472  type ConversionsBatchInsertRequest struct {
  3473  	// Conversions: The set of conversions to insert.
  3474  	Conversions []*Conversion `json:"conversions,omitempty"`
  3475  
  3476  	// EncryptionInfo: Describes how encryptedUserId or
  3477  	// encryptedUserIdCandidates[] is encrypted. This is a required field if
  3478  	// encryptedUserId or encryptedUserIdCandidates[] is used.
  3479  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3480  
  3481  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3482  	// string "dfareporting#conversionsBatchInsertRequest".
  3483  	Kind string `json:"kind,omitempty"`
  3484  
  3485  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3486  	// unconditionally include in API requests. By default, fields with
  3487  	// empty values are omitted from API requests. However, any non-pointer,
  3488  	// non-interface field appearing in ForceSendFields will be sent to the
  3489  	// server regardless of whether the field is empty or not. This may be
  3490  	// used to include empty fields in Patch requests.
  3491  	ForceSendFields []string `json:"-"`
  3492  
  3493  	// NullFields is a list of field names (e.g. "Conversions") to include
  3494  	// in API requests with the JSON null value. By default, fields with
  3495  	// empty values are omitted from API requests. However, any field with
  3496  	// an empty value appearing in NullFields will be sent to the server as
  3497  	// null. It is an error if a field in this list has a non-empty value.
  3498  	// This may be used to include null fields in Patch requests.
  3499  	NullFields []string `json:"-"`
  3500  }
  3501  
  3502  func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
  3503  	type NoMethod ConversionsBatchInsertRequest
  3504  	raw := NoMethod(*s)
  3505  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3506  }
  3507  
  3508  // ConversionsBatchInsertResponse: Insert Conversions Response.
  3509  type ConversionsBatchInsertResponse struct {
  3510  	// HasFailures: Indicates that some or all conversions failed to insert.
  3511  	HasFailures bool `json:"hasFailures,omitempty"`
  3512  
  3513  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3514  	// string "dfareporting#conversionsBatchInsertResponse".
  3515  	Kind string `json:"kind,omitempty"`
  3516  
  3517  	// Status: The insert status of each conversion. Statuses are returned
  3518  	// in the same order that conversions are inserted.
  3519  	Status []*ConversionStatus `json:"status,omitempty"`
  3520  
  3521  	// ServerResponse contains the HTTP response code and headers from the
  3522  	// server.
  3523  	googleapi.ServerResponse `json:"-"`
  3524  
  3525  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3526  	// unconditionally include in API requests. By default, fields with
  3527  	// empty values are omitted from API requests. However, any non-pointer,
  3528  	// non-interface field appearing in ForceSendFields will be sent to the
  3529  	// server regardless of whether the field is empty or not. This may be
  3530  	// used to include empty fields in Patch requests.
  3531  	ForceSendFields []string `json:"-"`
  3532  
  3533  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3534  	// in API requests with the JSON null value. By default, fields with
  3535  	// empty values are omitted from API requests. However, any field with
  3536  	// an empty value appearing in NullFields will be sent to the server as
  3537  	// null. It is an error if a field in this list has a non-empty value.
  3538  	// This may be used to include null fields in Patch requests.
  3539  	NullFields []string `json:"-"`
  3540  }
  3541  
  3542  func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
  3543  	type NoMethod ConversionsBatchInsertResponse
  3544  	raw := NoMethod(*s)
  3545  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3546  }
  3547  
  3548  // ConversionsBatchUpdateRequest: Update Conversions Request.
  3549  type ConversionsBatchUpdateRequest struct {
  3550  	// Conversions: The set of conversions to update.
  3551  	Conversions []*Conversion `json:"conversions,omitempty"`
  3552  
  3553  	// EncryptionInfo: Describes how encryptedUserId is encrypted. This is a
  3554  	// required field if encryptedUserId is used.
  3555  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3556  
  3557  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3558  	// string "dfareporting#conversionsBatchUpdateRequest".
  3559  	Kind string `json:"kind,omitempty"`
  3560  
  3561  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3562  	// unconditionally include in API requests. By default, fields with
  3563  	// empty values are omitted from API requests. However, any non-pointer,
  3564  	// non-interface field appearing in ForceSendFields will be sent to the
  3565  	// server regardless of whether the field is empty or not. This may be
  3566  	// used to include empty fields in Patch requests.
  3567  	ForceSendFields []string `json:"-"`
  3568  
  3569  	// NullFields is a list of field names (e.g. "Conversions") to include
  3570  	// in API requests with the JSON null value. By default, fields with
  3571  	// empty values are omitted from API requests. However, any field with
  3572  	// an empty value appearing in NullFields will be sent to the server as
  3573  	// null. It is an error if a field in this list has a non-empty value.
  3574  	// This may be used to include null fields in Patch requests.
  3575  	NullFields []string `json:"-"`
  3576  }
  3577  
  3578  func (s *ConversionsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
  3579  	type NoMethod ConversionsBatchUpdateRequest
  3580  	raw := NoMethod(*s)
  3581  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3582  }
  3583  
  3584  // ConversionsBatchUpdateResponse: Update Conversions Response.
  3585  type ConversionsBatchUpdateResponse struct {
  3586  	// HasFailures: Indicates that some or all conversions failed to update.
  3587  	HasFailures bool `json:"hasFailures,omitempty"`
  3588  
  3589  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3590  	// string "dfareporting#conversionsBatchUpdateResponse".
  3591  	Kind string `json:"kind,omitempty"`
  3592  
  3593  	// Status: The update status of each conversion. Statuses are returned
  3594  	// in the same order that conversions are updated.
  3595  	Status []*ConversionStatus `json:"status,omitempty"`
  3596  
  3597  	// ServerResponse contains the HTTP response code and headers from the
  3598  	// server.
  3599  	googleapi.ServerResponse `json:"-"`
  3600  
  3601  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3602  	// unconditionally include in API requests. By default, fields with
  3603  	// empty values are omitted from API requests. However, any non-pointer,
  3604  	// non-interface field appearing in ForceSendFields will be sent to the
  3605  	// server regardless of whether the field is empty or not. This may be
  3606  	// used to include empty fields in Patch requests.
  3607  	ForceSendFields []string `json:"-"`
  3608  
  3609  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3610  	// in API requests with the JSON null value. By default, fields with
  3611  	// empty values are omitted from API requests. However, any field with
  3612  	// an empty value appearing in NullFields will be sent to the server as
  3613  	// null. It is an error if a field in this list has a non-empty value.
  3614  	// This may be used to include null fields in Patch requests.
  3615  	NullFields []string `json:"-"`
  3616  }
  3617  
  3618  func (s *ConversionsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
  3619  	type NoMethod ConversionsBatchUpdateResponse
  3620  	raw := NoMethod(*s)
  3621  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3622  }
  3623  
  3624  // CountriesListResponse: Country List Response
  3625  type CountriesListResponse struct {
  3626  	// Countries: Country collection.
  3627  	Countries []*Country `json:"countries,omitempty"`
  3628  
  3629  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3630  	// string "dfareporting#countriesListResponse".
  3631  	Kind string `json:"kind,omitempty"`
  3632  
  3633  	// ServerResponse contains the HTTP response code and headers from the
  3634  	// server.
  3635  	googleapi.ServerResponse `json:"-"`
  3636  
  3637  	// ForceSendFields is a list of field names (e.g. "Countries") to
  3638  	// unconditionally include in API requests. By default, fields with
  3639  	// empty values are omitted from API requests. However, any non-pointer,
  3640  	// non-interface field appearing in ForceSendFields will be sent to the
  3641  	// server regardless of whether the field is empty or not. This may be
  3642  	// used to include empty fields in Patch requests.
  3643  	ForceSendFields []string `json:"-"`
  3644  
  3645  	// NullFields is a list of field names (e.g. "Countries") to include in
  3646  	// API requests with the JSON null value. By default, fields with empty
  3647  	// values are omitted from API requests. However, any field with an
  3648  	// empty value appearing in NullFields will be sent to the server as
  3649  	// null. It is an error if a field in this list has a non-empty value.
  3650  	// This may be used to include null fields in Patch requests.
  3651  	NullFields []string `json:"-"`
  3652  }
  3653  
  3654  func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
  3655  	type NoMethod CountriesListResponse
  3656  	raw := NoMethod(*s)
  3657  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3658  }
  3659  
  3660  // Country: Contains information about a country that can be targeted by
  3661  // ads.
  3662  type Country struct {
  3663  	// CountryCode: Country code.
  3664  	CountryCode string `json:"countryCode,omitempty"`
  3665  
  3666  	// DartId: DART ID of this country. This is the ID used for targeting
  3667  	// and generating reports.
  3668  	DartId int64 `json:"dartId,omitempty,string"`
  3669  
  3670  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3671  	// string "dfareporting#country".
  3672  	Kind string `json:"kind,omitempty"`
  3673  
  3674  	// Name: Name of this country.
  3675  	Name string `json:"name,omitempty"`
  3676  
  3677  	// SslEnabled: Whether ad serving supports secure servers in this
  3678  	// country.
  3679  	SslEnabled bool `json:"sslEnabled,omitempty"`
  3680  
  3681  	// ServerResponse contains the HTTP response code and headers from the
  3682  	// server.
  3683  	googleapi.ServerResponse `json:"-"`
  3684  
  3685  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  3686  	// unconditionally include in API requests. By default, fields with
  3687  	// empty values are omitted from API requests. However, any non-pointer,
  3688  	// non-interface field appearing in ForceSendFields will be sent to the
  3689  	// server regardless of whether the field is empty or not. This may be
  3690  	// used to include empty fields in Patch requests.
  3691  	ForceSendFields []string `json:"-"`
  3692  
  3693  	// NullFields is a list of field names (e.g. "CountryCode") to include
  3694  	// in API requests with the JSON null value. By default, fields with
  3695  	// empty values are omitted from API requests. However, any field with
  3696  	// an empty value appearing in NullFields will be sent to the server as
  3697  	// null. It is an error if a field in this list has a non-empty value.
  3698  	// This may be used to include null fields in Patch requests.
  3699  	NullFields []string `json:"-"`
  3700  }
  3701  
  3702  func (s *Country) MarshalJSON() ([]byte, error) {
  3703  	type NoMethod Country
  3704  	raw := NoMethod(*s)
  3705  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3706  }
  3707  
  3708  // Creative: Contains properties of a Creative.
  3709  type Creative struct {
  3710  	// AccountId: Account ID of this creative. This field, if left unset,
  3711  	// will be auto-generated for both insert and update operations.
  3712  	// Applicable to all creative types.
  3713  	AccountId int64 `json:"accountId,omitempty,string"`
  3714  
  3715  	// Active: Whether the creative is active. Applicable to all creative
  3716  	// types.
  3717  	Active bool `json:"active,omitempty"`
  3718  
  3719  	// AdParameters: Ad parameters user for VPAID creative. This is a
  3720  	// read-only field. Applicable to the following creative types: all
  3721  	// VPAID.
  3722  	AdParameters string `json:"adParameters,omitempty"`
  3723  
  3724  	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
  3725  	// customize the creative settings of a Rich Media ad running on your
  3726  	// site without having to contact the advertiser. You can use keywords
  3727  	// to dynamically change the look or functionality of a creative.
  3728  	// Applicable to the following creative types: all RICH_MEDIA, and all
  3729  	// VPAID.
  3730  	AdTagKeys []string `json:"adTagKeys,omitempty"`
  3731  
  3732  	// AdditionalSizes: Additional sizes associated with a responsive
  3733  	// creative. When inserting or updating a creative either the size ID
  3734  	// field or size width and height fields can be used. Applicable to
  3735  	// DISPLAY creatives when the primary asset type is HTML_IMAGE.
  3736  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  3737  
  3738  	// AdvertiserId: Advertiser ID of this creative. This is a required
  3739  	// field. Applicable to all creative types.
  3740  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  3741  
  3742  	// AllowScriptAccess: Whether script access is allowed for this
  3743  	// creative. This is a read-only and deprecated field which will
  3744  	// automatically be set to true on update. Applicable to the following
  3745  	// creative types: FLASH_INPAGE.
  3746  	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
  3747  
  3748  	// Archived: Whether the creative is archived. Applicable to all
  3749  	// creative types.
  3750  	Archived bool `json:"archived,omitempty"`
  3751  
  3752  	// ArtworkType: Type of artwork used for the creative. This is a
  3753  	// read-only field. Applicable to the following creative types: all
  3754  	// RICH_MEDIA, and all VPAID.
  3755  	//
  3756  	// Possible values:
  3757  	//   "ARTWORK_TYPE_FLASH"
  3758  	//   "ARTWORK_TYPE_HTML5"
  3759  	//   "ARTWORK_TYPE_IMAGE"
  3760  	//   "ARTWORK_TYPE_MIXED"
  3761  	ArtworkType string `json:"artworkType,omitempty"`
  3762  
  3763  	// AuthoringSource: Source application where creative was authored.
  3764  	// Presently, only DBM authored creatives will have this field set.
  3765  	// Applicable to all creative types.
  3766  	//
  3767  	// Possible values:
  3768  	//   "CREATIVE_AUTHORING_SOURCE_DBM"
  3769  	//   "CREATIVE_AUTHORING_SOURCE_DCM"
  3770  	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
  3771  	AuthoringSource string `json:"authoringSource,omitempty"`
  3772  
  3773  	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
  3774  	// read-only field. Applicable to the following creative types:
  3775  	// HTML5_BANNER.
  3776  	//
  3777  	// Possible values:
  3778  	//   "NINJA"
  3779  	//   "SWIFFY"
  3780  	AuthoringTool string `json:"authoringTool,omitempty"`
  3781  
  3782  	// AutoAdvanceImages: Whether images are automatically advanced for
  3783  	// image gallery creatives. Applicable to the following creative types:
  3784  	// DISPLAY_IMAGE_GALLERY.
  3785  	AutoAdvanceImages bool `json:"autoAdvanceImages,omitempty"`
  3786  
  3787  	// BackgroundColor: The 6-character HTML color code, beginning with #,
  3788  	// for the background of the window area where the Flash file is
  3789  	// displayed. Default is white. Applicable to the following creative
  3790  	// types: FLASH_INPAGE.
  3791  	BackgroundColor string `json:"backgroundColor,omitempty"`
  3792  
  3793  	// BackupImageClickThroughUrl: Click-through URL for backup image.
  3794  	// Applicable to ENHANCED_BANNER when the primary asset type is not
  3795  	// HTML_IMAGE.
  3796  	BackupImageClickThroughUrl *CreativeClickThroughUrl `json:"backupImageClickThroughUrl,omitempty"`
  3797  
  3798  	// BackupImageFeatures: List of feature dependencies that will cause a
  3799  	// backup image to be served if the browser that serves the ad does not
  3800  	// support them. Feature dependencies are features that a browser must
  3801  	// be able to support in order to render your HTML5 creative asset
  3802  	// correctly. This field is initially auto-generated to contain all
  3803  	// features detected by Campaign Manager for all the assets of this
  3804  	// creative and can then be modified by the client. To reset this field,
  3805  	// copy over all the creativeAssets' detected features. Applicable to
  3806  	// the following creative types: HTML5_BANNER. Applicable to DISPLAY
  3807  	// when the primary asset type is not HTML_IMAGE.
  3808  	//
  3809  	// Possible values:
  3810  	//   "APPLICATION_CACHE"
  3811  	//   "AUDIO"
  3812  	//   "CANVAS"
  3813  	//   "CANVAS_TEXT"
  3814  	//   "CSS_ANIMATIONS"
  3815  	//   "CSS_BACKGROUND_SIZE"
  3816  	//   "CSS_BORDER_IMAGE"
  3817  	//   "CSS_BORDER_RADIUS"
  3818  	//   "CSS_BOX_SHADOW"
  3819  	//   "CSS_COLUMNS"
  3820  	//   "CSS_FLEX_BOX"
  3821  	//   "CSS_FONT_FACE"
  3822  	//   "CSS_GENERATED_CONTENT"
  3823  	//   "CSS_GRADIENTS"
  3824  	//   "CSS_HSLA"
  3825  	//   "CSS_MULTIPLE_BGS"
  3826  	//   "CSS_OPACITY"
  3827  	//   "CSS_REFLECTIONS"
  3828  	//   "CSS_RGBA"
  3829  	//   "CSS_TEXT_SHADOW"
  3830  	//   "CSS_TRANSFORMS"
  3831  	//   "CSS_TRANSFORMS3D"
  3832  	//   "CSS_TRANSITIONS"
  3833  	//   "DRAG_AND_DROP"
  3834  	//   "GEO_LOCATION"
  3835  	//   "HASH_CHANGE"
  3836  	//   "HISTORY"
  3837  	//   "INDEXED_DB"
  3838  	//   "INLINE_SVG"
  3839  	//   "INPUT_ATTR_AUTOCOMPLETE"
  3840  	//   "INPUT_ATTR_AUTOFOCUS"
  3841  	//   "INPUT_ATTR_LIST"
  3842  	//   "INPUT_ATTR_MAX"
  3843  	//   "INPUT_ATTR_MIN"
  3844  	//   "INPUT_ATTR_MULTIPLE"
  3845  	//   "INPUT_ATTR_PATTERN"
  3846  	//   "INPUT_ATTR_PLACEHOLDER"
  3847  	//   "INPUT_ATTR_REQUIRED"
  3848  	//   "INPUT_ATTR_STEP"
  3849  	//   "INPUT_TYPE_COLOR"
  3850  	//   "INPUT_TYPE_DATE"
  3851  	//   "INPUT_TYPE_DATETIME"
  3852  	//   "INPUT_TYPE_DATETIME_LOCAL"
  3853  	//   "INPUT_TYPE_EMAIL"
  3854  	//   "INPUT_TYPE_MONTH"
  3855  	//   "INPUT_TYPE_NUMBER"
  3856  	//   "INPUT_TYPE_RANGE"
  3857  	//   "INPUT_TYPE_SEARCH"
  3858  	//   "INPUT_TYPE_TEL"
  3859  	//   "INPUT_TYPE_TIME"
  3860  	//   "INPUT_TYPE_URL"
  3861  	//   "INPUT_TYPE_WEEK"
  3862  	//   "LOCAL_STORAGE"
  3863  	//   "POST_MESSAGE"
  3864  	//   "SESSION_STORAGE"
  3865  	//   "SMIL"
  3866  	//   "SVG_CLIP_PATHS"
  3867  	//   "SVG_FE_IMAGE"
  3868  	//   "SVG_FILTERS"
  3869  	//   "SVG_HREF"
  3870  	//   "TOUCH"
  3871  	//   "VIDEO"
  3872  	//   "WEBGL"
  3873  	//   "WEB_SOCKETS"
  3874  	//   "WEB_SQL_DATABASE"
  3875  	//   "WEB_WORKERS"
  3876  	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
  3877  
  3878  	// BackupImageReportingLabel: Reporting label used for HTML5 banner
  3879  	// backup image. Applicable to the following creative types: DISPLAY
  3880  	// when the primary asset type is not HTML_IMAGE.
  3881  	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
  3882  
  3883  	// BackupImageTargetWindow: Target window for backup image. Applicable
  3884  	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
  3885  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  3886  	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
  3887  
  3888  	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
  3889  	// HTML5_BANNER creatives, this is a subset of detected click tags for
  3890  	// the assets associated with this creative. After creating a flash
  3891  	// asset, detected click tags will be returned in the
  3892  	// creativeAssetMetadata. When inserting the creative, populate the
  3893  	// creative clickTags field using the creativeAssetMetadata.clickTags
  3894  	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
  3895  	// one entry in this list for each image creative asset. A click tag is
  3896  	// matched with a corresponding creative asset by matching the
  3897  	// clickTag.name field with the creativeAsset.assetIdentifier.name
  3898  	// field. Applicable to the following creative types:
  3899  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
  3900  	// DISPLAY when the primary asset type is not HTML_IMAGE.
  3901  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  3902  
  3903  	// CommercialId: Industry standard ID assigned to creative for reach and
  3904  	// frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.
  3905  	CommercialId string `json:"commercialId,omitempty"`
  3906  
  3907  	// CompanionCreatives: List of companion creatives assigned to an
  3908  	// in-Stream video creative. Acceptable values include IDs of existing
  3909  	// flash and image creatives. Applicable to the following creative
  3910  	// types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with
  3911  	// dynamicAssetSelection set to false.
  3912  	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
  3913  
  3914  	// Compatibility: Compatibilities associated with this creative. This is
  3915  	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
  3916  	// rendering either on desktop or on mobile devices or in mobile apps
  3917  	// for regular or interstitial ads, respectively. APP and
  3918  	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
  3919  	// creatives may have these compatibilities since new creatives will
  3920  	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
  3921  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  3922  	// with the VAST standard. IN_STREAM_AUDIO refers to rendering in
  3923  	// in-stream audio ads developed with the VAST standard. Applicable to
  3924  	// all creative types.
  3925  	//
  3926  	// Acceptable values are:
  3927  	// - "APP"
  3928  	// - "APP_INTERSTITIAL"
  3929  	// - "IN_STREAM_VIDEO"
  3930  	// - "IN_STREAM_AUDIO"
  3931  	// - "DISPLAY"
  3932  	// - "DISPLAY_INTERSTITIAL"
  3933  	//
  3934  	// Possible values:
  3935  	//   "APP"
  3936  	//   "APP_INTERSTITIAL"
  3937  	//   "DISPLAY"
  3938  	//   "DISPLAY_INTERSTITIAL"
  3939  	//   "IN_STREAM_AUDIO"
  3940  	//   "IN_STREAM_VIDEO"
  3941  	Compatibility []string `json:"compatibility,omitempty"`
  3942  
  3943  	// ConvertFlashToHtml5: Whether Flash assets associated with the
  3944  	// creative need to be automatically converted to HTML5. This flag is
  3945  	// enabled by default and users can choose to disable it if they don't
  3946  	// want the system to generate and use HTML5 asset for this creative.
  3947  	// Applicable to the following creative type: FLASH_INPAGE. Applicable
  3948  	// to DISPLAY when the primary asset type is not HTML_IMAGE.
  3949  	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
  3950  
  3951  	// CounterCustomEvents: List of counter events configured for the
  3952  	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
  3953  	// and auto-generated from clickTags. Applicable to the following
  3954  	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  3955  	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
  3956  
  3957  	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
  3958  	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
  3959  
  3960  	// CreativeAssets: Assets associated with a creative. Applicable to all
  3961  	// but the following creative types: INTERNAL_REDIRECT,
  3962  	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
  3963  	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
  3964  
  3965  	// CreativeFieldAssignments: Creative field assignments for this
  3966  	// creative. Applicable to all creative types.
  3967  	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
  3968  
  3969  	// CustomKeyValues: Custom key-values for a Rich Media creative.
  3970  	// Key-values let you customize the creative settings of a Rich Media ad
  3971  	// running on your site without having to contact the advertiser. You
  3972  	// can use key-values to dynamically change the look or functionality of
  3973  	// a creative. Applicable to the following creative types: all
  3974  	// RICH_MEDIA, and all VPAID.
  3975  	CustomKeyValues []string `json:"customKeyValues,omitempty"`
  3976  
  3977  	// DynamicAssetSelection: Set this to true to enable the use of rules to
  3978  	// target individual assets in this creative. When set to true
  3979  	// creativeAssetSelection must be set. This also controls asset-level
  3980  	// companions. When this is true, companion creatives should be assigned
  3981  	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
  3982  	// creatives.
  3983  	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
  3984  
  3985  	// ExitCustomEvents: List of exit events configured for the creative.
  3986  	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
  3987  	// and auto-generated from clickTags, For DISPLAY, an event is also
  3988  	// created from the backupImageReportingLabel. Applicable to the
  3989  	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
  3990  	// all VPAID. Applicable to DISPLAY when the primary asset type is not
  3991  	// HTML_IMAGE.
  3992  	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
  3993  
  3994  	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
  3995  	// file communicate with either Flash Player or the program hosting
  3996  	// Flash Player, such as a web browser. This is only triggered if
  3997  	// allowScriptAccess field is true. Applicable to the following creative
  3998  	// types: FLASH_INPAGE.
  3999  	FsCommand *FsCommand `json:"fsCommand,omitempty"`
  4000  
  4001  	// HtmlCode: HTML code for the creative. This is a required field when
  4002  	// applicable. This field is ignored if htmlCodeLocked is true.
  4003  	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
  4004  	// and HTML5_BANNER, and all RICH_MEDIA.
  4005  	HtmlCode string `json:"htmlCode,omitempty"`
  4006  
  4007  	// HtmlCodeLocked: Whether HTML code is generated by Campaign Manager or
  4008  	// manually entered. Set to true to ignore changes to htmlCode.
  4009  	// Applicable to the following creative types: FLASH_INPAGE and
  4010  	// HTML5_BANNER.
  4011  	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
  4012  
  4013  	// Id: ID of this creative. This is a read-only, auto-generated field.
  4014  	// Applicable to all creative types.
  4015  	Id int64 `json:"id,omitempty,string"`
  4016  
  4017  	// IdDimensionValue: Dimension value for the ID of this creative. This
  4018  	// is a read-only field. Applicable to all creative types.
  4019  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4020  
  4021  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4022  	// string "dfareporting#creative".
  4023  	Kind string `json:"kind,omitempty"`
  4024  
  4025  	// LastModifiedInfo: Creative last modification information. This is a
  4026  	// read-only field. Applicable to all creative types.
  4027  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  4028  
  4029  	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
  4030  	// associated with rich media and VPAID creatives. This is a read-only
  4031  	// field. Applicable to the following creative types: all RICH_MEDIA,
  4032  	// and all VPAID.
  4033  	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
  4034  
  4035  	// MediaDescription: Description of the audio or video ad. Applicable to
  4036  	// the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and
  4037  	// all VPAID.
  4038  	MediaDescription string `json:"mediaDescription,omitempty"`
  4039  
  4040  	// MediaDuration: Creative audio or video duration in seconds. This is a
  4041  	// read-only field. Applicable to the following creative types:
  4042  	// INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.
  4043  	MediaDuration float64 `json:"mediaDuration,omitempty"`
  4044  
  4045  	// Name: Name of the creative. This is a required field and must be less
  4046  	// than 256 characters long. Applicable to all creative types.
  4047  	Name string `json:"name,omitempty"`
  4048  
  4049  	// OverrideCss: Override CSS value for rich media creatives. Applicable
  4050  	// to the following creative types: all RICH_MEDIA.
  4051  	OverrideCss string `json:"overrideCss,omitempty"`
  4052  
  4053  	// ProgressOffset: Amount of time to play the video before counting a
  4054  	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
  4055  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
  4056  
  4057  	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
  4058  	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
  4059  	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
  4060  	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
  4061  	// This is a required field when applicable. Applicable to the following
  4062  	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
  4063  	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
  4064  	RedirectUrl string `json:"redirectUrl,omitempty"`
  4065  
  4066  	// RenderingId: ID of current rendering version. This is a read-only
  4067  	// field. Applicable to all creative types.
  4068  	RenderingId int64 `json:"renderingId,omitempty,string"`
  4069  
  4070  	// RenderingIdDimensionValue: Dimension value for the rendering ID of
  4071  	// this creative. This is a read-only field. Applicable to all creative
  4072  	// types.
  4073  	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
  4074  
  4075  	// RequiredFlashPluginVersion: The minimum required Flash plugin version
  4076  	// for this creative. For example, 11.2.202.235. This is a read-only
  4077  	// field. Applicable to the following creative types: all RICH_MEDIA,
  4078  	// and all VPAID.
  4079  	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
  4080  
  4081  	// RequiredFlashVersion: The internal Flash version for this creative as
  4082  	// calculated by Studio. This is a read-only field. Applicable to the
  4083  	// following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
  4084  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  4085  	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
  4086  
  4087  	// Size: Size associated with this creative. When inserting or updating
  4088  	// a creative either the size ID field or size width and height fields
  4089  	// can be used. This is a required field when applicable; however for
  4090  	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
  4091  	// primary asset of type HTML_IMAGE, if left blank, this field will be
  4092  	// automatically set using the actual size of the associated image
  4093  	// assets. Applicable to the following creative types: DISPLAY,
  4094  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
  4095  	// RICH_MEDIA.
  4096  	Size *Size `json:"size,omitempty"`
  4097  
  4098  	// SkipOffset: Amount of time to play the video before the skip button
  4099  	// appears. Applicable to the following creative types: all
  4100  	// INSTREAM_VIDEO.
  4101  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
  4102  
  4103  	// Skippable: Whether the user can choose to skip the creative.
  4104  	// Applicable to the following creative types: all INSTREAM_VIDEO and
  4105  	// all VPAID.
  4106  	Skippable bool `json:"skippable,omitempty"`
  4107  
  4108  	// SslCompliant: Whether the creative is SSL-compliant. This is a
  4109  	// read-only field. Applicable to all creative types.
  4110  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4111  
  4112  	// SslOverride: Whether creative should be treated as SSL compliant even
  4113  	// if the system scan shows it's not. Applicable to all creative types.
  4114  	SslOverride bool `json:"sslOverride,omitempty"`
  4115  
  4116  	// StudioAdvertiserId: Studio advertiser ID associated with rich media
  4117  	// and VPAID creatives. This is a read-only field. Applicable to the
  4118  	// following creative types: all RICH_MEDIA, and all VPAID.
  4119  	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
  4120  
  4121  	// StudioCreativeId: Studio creative ID associated with rich media and
  4122  	// VPAID creatives. This is a read-only field. Applicable to the
  4123  	// following creative types: all RICH_MEDIA, and all VPAID.
  4124  	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
  4125  
  4126  	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
  4127  	// with rich media and VPAID creatives. This is a read-only field.
  4128  	// Applicable to the following creative types: all RICH_MEDIA, and all
  4129  	// VPAID.
  4130  	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
  4131  
  4132  	// SubaccountId: Subaccount ID of this creative. This field, if left
  4133  	// unset, will be auto-generated for both insert and update operations.
  4134  	// Applicable to all creative types.
  4135  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  4136  
  4137  	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
  4138  	// backup image impressions. Applicable to the following creative types:
  4139  	// all RICH_MEDIA.
  4140  	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
  4141  
  4142  	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
  4143  	// rich media impressions. Applicable to the following creative types:
  4144  	// all RICH_MEDIA.
  4145  	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
  4146  
  4147  	// ThirdPartyUrls: Third-party URLs for tracking in-stream creative
  4148  	// events. Applicable to the following creative types: all
  4149  	// INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.
  4150  	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
  4151  
  4152  	// TimerCustomEvents: List of timer events configured for the creative.
  4153  	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
  4154  	// auto-generated from clickTags. Applicable to the following creative
  4155  	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  4156  	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
  4157  	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
  4158  
  4159  	// TotalFileSize: Combined size of all creative assets. This is a
  4160  	// read-only field. Applicable to the following creative types: all
  4161  	// RICH_MEDIA, and all VPAID.
  4162  	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
  4163  
  4164  	// Type: Type of this creative. This is a required field. Applicable to
  4165  	// all creative types.
  4166  	//
  4167  	// Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for
  4168  	// existing creatives. New creatives should use DISPLAY as a replacement
  4169  	// for these types.
  4170  	//
  4171  	// Possible values:
  4172  	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
  4173  	//   "CUSTOM_DISPLAY"
  4174  	//   "CUSTOM_DISPLAY_INTERSTITIAL"
  4175  	//   "DISPLAY"
  4176  	//   "DISPLAY_IMAGE_GALLERY"
  4177  	//   "DISPLAY_REDIRECT"
  4178  	//   "FLASH_INPAGE"
  4179  	//   "HTML5_BANNER"
  4180  	//   "IMAGE"
  4181  	//   "INSTREAM_AUDIO"
  4182  	//   "INSTREAM_VIDEO"
  4183  	//   "INSTREAM_VIDEO_REDIRECT"
  4184  	//   "INTERNAL_REDIRECT"
  4185  	//   "INTERSTITIAL_INTERNAL_REDIRECT"
  4186  	//   "RICH_MEDIA_DISPLAY_BANNER"
  4187  	//   "RICH_MEDIA_DISPLAY_EXPANDING"
  4188  	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
  4189  	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
  4190  	//   "RICH_MEDIA_IM_EXPAND"
  4191  	//   "RICH_MEDIA_INPAGE_FLOATING"
  4192  	//   "RICH_MEDIA_MOBILE_IN_APP"
  4193  	//   "RICH_MEDIA_PEEL_DOWN"
  4194  	//   "TRACKING_TEXT"
  4195  	//   "VPAID_LINEAR_VIDEO"
  4196  	//   "VPAID_NON_LINEAR_VIDEO"
  4197  	Type string `json:"type,omitempty"`
  4198  
  4199  	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
  4200  	// to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO
  4201  	// and VPAID.
  4202  	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
  4203  
  4204  	// Version: The version number helps you keep track of multiple versions
  4205  	// of your creative in your reports. The version number will always be
  4206  	// auto-generated during insert operations to start at 1. For tracking
  4207  	// creatives the version cannot be incremented and will always remain at
  4208  	// 1. For all other creative types the version can be incremented only
  4209  	// by 1 during update operations. In addition, the version will be
  4210  	// automatically incremented by 1 when undergoing Rich Media creative
  4211  	// merging. Applicable to all creative types.
  4212  	Version int64 `json:"version,omitempty"`
  4213  
  4214  	// ServerResponse contains the HTTP response code and headers from the
  4215  	// server.
  4216  	googleapi.ServerResponse `json:"-"`
  4217  
  4218  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  4219  	// unconditionally include in API requests. By default, fields with
  4220  	// empty values are omitted from API requests. However, any non-pointer,
  4221  	// non-interface field appearing in ForceSendFields will be sent to the
  4222  	// server regardless of whether the field is empty or not. This may be
  4223  	// used to include empty fields in Patch requests.
  4224  	ForceSendFields []string `json:"-"`
  4225  
  4226  	// NullFields is a list of field names (e.g. "AccountId") to include in
  4227  	// API requests with the JSON null value. By default, fields with empty
  4228  	// values are omitted from API requests. However, any field with an
  4229  	// empty value appearing in NullFields will be sent to the server as
  4230  	// null. It is an error if a field in this list has a non-empty value.
  4231  	// This may be used to include null fields in Patch requests.
  4232  	NullFields []string `json:"-"`
  4233  }
  4234  
  4235  func (s *Creative) MarshalJSON() ([]byte, error) {
  4236  	type NoMethod Creative
  4237  	raw := NoMethod(*s)
  4238  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4239  }
  4240  
  4241  func (s *Creative) UnmarshalJSON(data []byte) error {
  4242  	type NoMethod Creative
  4243  	var s1 struct {
  4244  		MediaDuration gensupport.JSONFloat64 `json:"mediaDuration"`
  4245  		*NoMethod
  4246  	}
  4247  	s1.NoMethod = (*NoMethod)(s)
  4248  	if err := json.Unmarshal(data, &s1); err != nil {
  4249  		return err
  4250  	}
  4251  	s.MediaDuration = float64(s1.MediaDuration)
  4252  	return nil
  4253  }
  4254  
  4255  // CreativeAsset: Creative Asset.
  4256  type CreativeAsset struct {
  4257  	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
  4258  	// This is a read-only field. Applicable to the following creative type:
  4259  	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
  4260  	// not HTML_IMAGE.
  4261  	ActionScript3 bool `json:"actionScript3,omitempty"`
  4262  
  4263  	// Active: Whether the video or audio asset is active. This is a
  4264  	// read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the
  4265  	// following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all
  4266  	// VPAID.
  4267  	Active bool `json:"active,omitempty"`
  4268  
  4269  	// AdditionalSizes: Additional sizes associated with this creative
  4270  	// asset. HTML5 asset generated by compatible software such as GWD will
  4271  	// be able to support more sizes this creative asset can render.
  4272  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  4273  
  4274  	// Alignment: Possible alignments for an asset. This is a read-only
  4275  	// field. Applicable to the following creative types:
  4276  	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
  4277  	//
  4278  	// Possible values:
  4279  	//   "ALIGNMENT_BOTTOM"
  4280  	//   "ALIGNMENT_LEFT"
  4281  	//   "ALIGNMENT_RIGHT"
  4282  	//   "ALIGNMENT_TOP"
  4283  	Alignment string `json:"alignment,omitempty"`
  4284  
  4285  	// ArtworkType: Artwork type of rich media creative. This is a read-only
  4286  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4287  	//
  4288  	// Possible values:
  4289  	//   "ARTWORK_TYPE_FLASH"
  4290  	//   "ARTWORK_TYPE_HTML5"
  4291  	//   "ARTWORK_TYPE_IMAGE"
  4292  	//   "ARTWORK_TYPE_MIXED"
  4293  	ArtworkType string `json:"artworkType,omitempty"`
  4294  
  4295  	// AssetIdentifier: Identifier of this asset. This is the same
  4296  	// identifier returned during creative asset insert operation. This is a
  4297  	// required field. Applicable to all but the following creative types:
  4298  	// all REDIRECT and TRACKING_TEXT.
  4299  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4300  
  4301  	// BackupImageExit: Exit event configured for the backup image.
  4302  	// Applicable to the following creative types: all RICH_MEDIA.
  4303  	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
  4304  
  4305  	// BitRate: Detected bit-rate for audio or video asset. This is a
  4306  	// read-only field. Applicable to the following creative types:
  4307  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4308  	BitRate int64 `json:"bitRate,omitempty"`
  4309  
  4310  	// ChildAssetType: Rich media child asset type. This is a read-only
  4311  	// field. Applicable to the following creative types: all VPAID.
  4312  	//
  4313  	// Possible values:
  4314  	//   "CHILD_ASSET_TYPE_DATA"
  4315  	//   "CHILD_ASSET_TYPE_FLASH"
  4316  	//   "CHILD_ASSET_TYPE_IMAGE"
  4317  	//   "CHILD_ASSET_TYPE_VIDEO"
  4318  	ChildAssetType string `json:"childAssetType,omitempty"`
  4319  
  4320  	// CollapsedSize: Size of an asset when collapsed. This is a read-only
  4321  	// field. Applicable to the following creative types: all RICH_MEDIA and
  4322  	// all VPAID. Additionally, applicable to assets whose displayType is
  4323  	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4324  	CollapsedSize *Size `json:"collapsedSize,omitempty"`
  4325  
  4326  	// CompanionCreativeIds: List of companion creatives assigned to an
  4327  	// in-stream video creative asset. Acceptable values include IDs of
  4328  	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
  4329  	// creative type with dynamicAssetSelection set to true.
  4330  	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
  4331  
  4332  	// CustomStartTimeValue: Custom start time in seconds for making the
  4333  	// asset visible. Applicable to the following creative types: all
  4334  	// RICH_MEDIA. Value must be greater than or equal to 0.
  4335  	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
  4336  
  4337  	// DetectedFeatures: List of feature dependencies for the creative asset
  4338  	// that are detected by Campaign Manager. Feature dependencies are
  4339  	// features that a browser must be able to support in order to render
  4340  	// your HTML5 creative correctly. This is a read-only, auto-generated
  4341  	// field. Applicable to the following creative types: HTML5_BANNER.
  4342  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  4343  	//
  4344  	// Possible values:
  4345  	//   "APPLICATION_CACHE"
  4346  	//   "AUDIO"
  4347  	//   "CANVAS"
  4348  	//   "CANVAS_TEXT"
  4349  	//   "CSS_ANIMATIONS"
  4350  	//   "CSS_BACKGROUND_SIZE"
  4351  	//   "CSS_BORDER_IMAGE"
  4352  	//   "CSS_BORDER_RADIUS"
  4353  	//   "CSS_BOX_SHADOW"
  4354  	//   "CSS_COLUMNS"
  4355  	//   "CSS_FLEX_BOX"
  4356  	//   "CSS_FONT_FACE"
  4357  	//   "CSS_GENERATED_CONTENT"
  4358  	//   "CSS_GRADIENTS"
  4359  	//   "CSS_HSLA"
  4360  	//   "CSS_MULTIPLE_BGS"
  4361  	//   "CSS_OPACITY"
  4362  	//   "CSS_REFLECTIONS"
  4363  	//   "CSS_RGBA"
  4364  	//   "CSS_TEXT_SHADOW"
  4365  	//   "CSS_TRANSFORMS"
  4366  	//   "CSS_TRANSFORMS3D"
  4367  	//   "CSS_TRANSITIONS"
  4368  	//   "DRAG_AND_DROP"
  4369  	//   "GEO_LOCATION"
  4370  	//   "HASH_CHANGE"
  4371  	//   "HISTORY"
  4372  	//   "INDEXED_DB"
  4373  	//   "INLINE_SVG"
  4374  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4375  	//   "INPUT_ATTR_AUTOFOCUS"
  4376  	//   "INPUT_ATTR_LIST"
  4377  	//   "INPUT_ATTR_MAX"
  4378  	//   "INPUT_ATTR_MIN"
  4379  	//   "INPUT_ATTR_MULTIPLE"
  4380  	//   "INPUT_ATTR_PATTERN"
  4381  	//   "INPUT_ATTR_PLACEHOLDER"
  4382  	//   "INPUT_ATTR_REQUIRED"
  4383  	//   "INPUT_ATTR_STEP"
  4384  	//   "INPUT_TYPE_COLOR"
  4385  	//   "INPUT_TYPE_DATE"
  4386  	//   "INPUT_TYPE_DATETIME"
  4387  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4388  	//   "INPUT_TYPE_EMAIL"
  4389  	//   "INPUT_TYPE_MONTH"
  4390  	//   "INPUT_TYPE_NUMBER"
  4391  	//   "INPUT_TYPE_RANGE"
  4392  	//   "INPUT_TYPE_SEARCH"
  4393  	//   "INPUT_TYPE_TEL"
  4394  	//   "INPUT_TYPE_TIME"
  4395  	//   "INPUT_TYPE_URL"
  4396  	//   "INPUT_TYPE_WEEK"
  4397  	//   "LOCAL_STORAGE"
  4398  	//   "POST_MESSAGE"
  4399  	//   "SESSION_STORAGE"
  4400  	//   "SMIL"
  4401  	//   "SVG_CLIP_PATHS"
  4402  	//   "SVG_FE_IMAGE"
  4403  	//   "SVG_FILTERS"
  4404  	//   "SVG_HREF"
  4405  	//   "TOUCH"
  4406  	//   "VIDEO"
  4407  	//   "WEBGL"
  4408  	//   "WEB_SOCKETS"
  4409  	//   "WEB_SQL_DATABASE"
  4410  	//   "WEB_WORKERS"
  4411  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4412  
  4413  	// DisplayType: Type of rich media asset. This is a read-only field.
  4414  	// Applicable to the following creative types: all RICH_MEDIA.
  4415  	//
  4416  	// Possible values:
  4417  	//   "ASSET_DISPLAY_TYPE_BACKDROP"
  4418  	//   "ASSET_DISPLAY_TYPE_EXPANDING"
  4419  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
  4420  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
  4421  	//   "ASSET_DISPLAY_TYPE_FLOATING"
  4422  	//   "ASSET_DISPLAY_TYPE_INPAGE"
  4423  	//   "ASSET_DISPLAY_TYPE_OVERLAY"
  4424  	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
  4425  	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
  4426  	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
  4427  	DisplayType string `json:"displayType,omitempty"`
  4428  
  4429  	// Duration: Duration in seconds for which an asset will be displayed.
  4430  	// Applicable to the following creative types: INSTREAM_AUDIO,
  4431  	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or
  4432  	// equal to 1.
  4433  	Duration int64 `json:"duration,omitempty"`
  4434  
  4435  	// DurationType: Duration type for which an asset will be displayed.
  4436  	// Applicable to the following creative types: all RICH_MEDIA.
  4437  	//
  4438  	// Possible values:
  4439  	//   "ASSET_DURATION_TYPE_AUTO"
  4440  	//   "ASSET_DURATION_TYPE_CUSTOM"
  4441  	//   "ASSET_DURATION_TYPE_NONE"
  4442  	DurationType string `json:"durationType,omitempty"`
  4443  
  4444  	// ExpandedDimension: Detected expanded dimension for video asset. This
  4445  	// is a read-only field. Applicable to the following creative types:
  4446  	// INSTREAM_VIDEO and all VPAID.
  4447  	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
  4448  
  4449  	// FileSize: File size associated with this creative asset. This is a
  4450  	// read-only field. Applicable to all but the following creative types:
  4451  	// all REDIRECT and TRACKING_TEXT.
  4452  	FileSize int64 `json:"fileSize,omitempty,string"`
  4453  
  4454  	// FlashVersion: Flash version of the asset. This is a read-only field.
  4455  	// Applicable to the following creative types: FLASH_INPAGE, all
  4456  	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
  4457  	// asset type is not HTML_IMAGE.
  4458  	FlashVersion int64 `json:"flashVersion,omitempty"`
  4459  
  4460  	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
  4461  	// Applicable to the following creative types: all RICH_MEDIA.
  4462  	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
  4463  
  4464  	// HideSelectionBoxes: Whether to hide selection boxes flag for an
  4465  	// asset. Applicable to the following creative types: all RICH_MEDIA.
  4466  	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
  4467  
  4468  	// HorizontallyLocked: Whether the asset is horizontally locked. This is
  4469  	// a read-only field. Applicable to the following creative types: all
  4470  	// RICH_MEDIA.
  4471  	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
  4472  
  4473  	// Id: Numeric ID of this creative asset. This is a required field and
  4474  	// should not be modified. Applicable to all but the following creative
  4475  	// types: all REDIRECT and TRACKING_TEXT.
  4476  	Id int64 `json:"id,omitempty,string"`
  4477  
  4478  	// IdDimensionValue: Dimension value for the ID of the asset. This is a
  4479  	// read-only, auto-generated field.
  4480  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4481  
  4482  	// MediaDuration: Detected duration for audio or video asset. This is a
  4483  	// read-only field. Applicable to the following creative types:
  4484  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4485  	MediaDuration float64 `json:"mediaDuration,omitempty"`
  4486  
  4487  	// MimeType: Detected MIME type for audio or video asset. This is a
  4488  	// read-only field. Applicable to the following creative types:
  4489  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4490  	MimeType string `json:"mimeType,omitempty"`
  4491  
  4492  	// Offset: Offset position for an asset in collapsed mode. This is a
  4493  	// read-only field. Applicable to the following creative types: all
  4494  	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
  4495  	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
  4496  	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4497  	Offset *OffsetPosition `json:"offset,omitempty"`
  4498  
  4499  	// Orientation: Orientation of video asset. This is a read-only,
  4500  	// auto-generated field.
  4501  	//
  4502  	// Possible values:
  4503  	//   "LANDSCAPE"
  4504  	//   "PORTRAIT"
  4505  	//   "SQUARE"
  4506  	Orientation string `json:"orientation,omitempty"`
  4507  
  4508  	// OriginalBackup: Whether the backup asset is original or changed by
  4509  	// the user in Campaign Manager. Applicable to the following creative
  4510  	// types: all RICH_MEDIA.
  4511  	OriginalBackup bool `json:"originalBackup,omitempty"`
  4512  
  4513  	// Position: Offset position for an asset. Applicable to the following
  4514  	// creative types: all RICH_MEDIA.
  4515  	Position *OffsetPosition `json:"position,omitempty"`
  4516  
  4517  	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
  4518  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4519  	//
  4520  	// Possible values:
  4521  	//   "OFFSET_UNIT_PERCENT"
  4522  	//   "OFFSET_UNIT_PIXEL"
  4523  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4524  	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
  4525  
  4526  	// PositionTopUnit: Offset top unit for an asset. This is a read-only
  4527  	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
  4528  	// Applicable to the following creative types: all RICH_MEDIA.
  4529  	//
  4530  	// Possible values:
  4531  	//   "OFFSET_UNIT_PERCENT"
  4532  	//   "OFFSET_UNIT_PIXEL"
  4533  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4534  	PositionTopUnit string `json:"positionTopUnit,omitempty"`
  4535  
  4536  	// ProgressiveServingUrl: Progressive URL for video asset. This is a
  4537  	// read-only field. Applicable to the following creative types:
  4538  	// INSTREAM_VIDEO and all VPAID.
  4539  	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
  4540  
  4541  	// Pushdown: Whether the asset pushes down other content. Applicable to
  4542  	// the following creative types: all RICH_MEDIA. Additionally, only
  4543  	// applicable when the asset offsets are 0, the collapsedSize.width
  4544  	// matches size.width, and the collapsedSize.height is less than
  4545  	// size.height.
  4546  	Pushdown bool `json:"pushdown,omitempty"`
  4547  
  4548  	// PushdownDuration: Pushdown duration in seconds for an asset.
  4549  	// Applicable to the following creative types: all
  4550  	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
  4551  	// field is true, the offsets are 0, the collapsedSize.width matches
  4552  	// size.width, and the collapsedSize.height is less than size.height.
  4553  	// Acceptable values are 0 to 9.99, inclusive.
  4554  	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
  4555  
  4556  	// Role: Role of the asset in relation to creative. Applicable to all
  4557  	// but the following creative types: all REDIRECT and TRACKING_TEXT.
  4558  	// This is a required field.
  4559  	// PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE,
  4560  	// DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple
  4561  	// primary assets), and all VPAID creatives.
  4562  	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
  4563  	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
  4564  	// type is not HTML_IMAGE.
  4565  	// ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE
  4566  	// creatives.
  4567  	// OTHER refers to assets from sources other than Campaign Manager, such
  4568  	// as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID
  4569  	// creatives.
  4570  	// PARENT_VIDEO refers to videos uploaded by the user in Campaign
  4571  	// Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
  4572  	// creatives.
  4573  	// TRANSCODED_VIDEO refers to videos transcoded by Campaign Manager from
  4574  	// PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and
  4575  	// VPAID_LINEAR_VIDEO creatives.
  4576  	// ALTERNATE_VIDEO refers to the Campaign Manager representation of
  4577  	// child asset videos from Studio, and is applicable to
  4578  	// VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within
  4579  	// Campaign Manager.
  4580  	// For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and
  4581  	// ALTERNATE_VIDEO assets that are marked active serve as backup in case
  4582  	// the VPAID creative cannot be served. Only PARENT_VIDEO assets can be
  4583  	// added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
  4584  	// creative.
  4585  	// PARENT_AUDIO refers to audios uploaded by the user in Campaign
  4586  	// Manager and is applicable to INSTREAM_AUDIO
  4587  	// creatives.
  4588  	// TRANSCODED_AUDIO refers to audios transcoded by Campaign Manager from
  4589  	// PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO creatives.
  4590  	//
  4591  	// Possible values:
  4592  	//   "ADDITIONAL_FLASH"
  4593  	//   "ADDITIONAL_IMAGE"
  4594  	//   "ALTERNATE_VIDEO"
  4595  	//   "BACKUP_IMAGE"
  4596  	//   "OTHER"
  4597  	//   "PARENT_AUDIO"
  4598  	//   "PARENT_VIDEO"
  4599  	//   "PRIMARY"
  4600  	//   "TRANSCODED_AUDIO"
  4601  	//   "TRANSCODED_VIDEO"
  4602  	Role string `json:"role,omitempty"`
  4603  
  4604  	// Size: Size associated with this creative asset. This is a required
  4605  	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
  4606  	// if left blank, this field will be automatically set using the actual
  4607  	// size of the associated image asset. Applicable to the following
  4608  	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
  4609  	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
  4610  	// asset type is not HTML_IMAGE.
  4611  	Size *Size `json:"size,omitempty"`
  4612  
  4613  	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
  4614  	// field. Applicable to all but the following creative types: all
  4615  	// REDIRECT and TRACKING_TEXT.
  4616  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4617  
  4618  	// StartTimeType: Initial wait time type before making the asset
  4619  	// visible. Applicable to the following creative types: all RICH_MEDIA.
  4620  	//
  4621  	// Possible values:
  4622  	//   "ASSET_START_TIME_TYPE_CUSTOM"
  4623  	//   "ASSET_START_TIME_TYPE_NONE"
  4624  	StartTimeType string `json:"startTimeType,omitempty"`
  4625  
  4626  	// StreamingServingUrl: Streaming URL for video asset. This is a
  4627  	// read-only field. Applicable to the following creative types:
  4628  	// INSTREAM_VIDEO and all VPAID.
  4629  	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
  4630  
  4631  	// Transparency: Whether the asset is transparent. Applicable to the
  4632  	// following creative types: all RICH_MEDIA. Additionally, only
  4633  	// applicable to HTML5 assets.
  4634  	Transparency bool `json:"transparency,omitempty"`
  4635  
  4636  	// VerticallyLocked: Whether the asset is vertically locked. This is a
  4637  	// read-only field. Applicable to the following creative types: all
  4638  	// RICH_MEDIA.
  4639  	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
  4640  
  4641  	// WindowMode: Window mode options for flash assets. Applicable to the
  4642  	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
  4643  	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
  4644  	// RICH_MEDIA_INPAGE_FLOATING.
  4645  	//
  4646  	// Possible values:
  4647  	//   "OPAQUE"
  4648  	//   "TRANSPARENT"
  4649  	//   "WINDOW"
  4650  	WindowMode string `json:"windowMode,omitempty"`
  4651  
  4652  	// ZIndex: zIndex value of an asset. Applicable to the following
  4653  	// creative types: all RICH_MEDIA.Additionally, only applicable to
  4654  	// assets whose displayType is NOT one of the following types:
  4655  	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
  4656  	// values are -999999999 to 999999999, inclusive.
  4657  	ZIndex int64 `json:"zIndex,omitempty"`
  4658  
  4659  	// ZipFilename: File name of zip file. This is a read-only field.
  4660  	// Applicable to the following creative types: HTML5_BANNER.
  4661  	ZipFilename string `json:"zipFilename,omitempty"`
  4662  
  4663  	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
  4664  	// to the following creative types: HTML5_BANNER.
  4665  	ZipFilesize string `json:"zipFilesize,omitempty"`
  4666  
  4667  	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
  4668  	// unconditionally include in API requests. By default, fields with
  4669  	// empty values are omitted from API requests. However, any non-pointer,
  4670  	// non-interface field appearing in ForceSendFields will be sent to the
  4671  	// server regardless of whether the field is empty or not. This may be
  4672  	// used to include empty fields in Patch requests.
  4673  	ForceSendFields []string `json:"-"`
  4674  
  4675  	// NullFields is a list of field names (e.g. "ActionScript3") to include
  4676  	// in API requests with the JSON null value. By default, fields with
  4677  	// empty values are omitted from API requests. However, any field with
  4678  	// an empty value appearing in NullFields will be sent to the server as
  4679  	// null. It is an error if a field in this list has a non-empty value.
  4680  	// This may be used to include null fields in Patch requests.
  4681  	NullFields []string `json:"-"`
  4682  }
  4683  
  4684  func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
  4685  	type NoMethod CreativeAsset
  4686  	raw := NoMethod(*s)
  4687  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4688  }
  4689  
  4690  func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
  4691  	type NoMethod CreativeAsset
  4692  	var s1 struct {
  4693  		MediaDuration    gensupport.JSONFloat64 `json:"mediaDuration"`
  4694  		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
  4695  		*NoMethod
  4696  	}
  4697  	s1.NoMethod = (*NoMethod)(s)
  4698  	if err := json.Unmarshal(data, &s1); err != nil {
  4699  		return err
  4700  	}
  4701  	s.MediaDuration = float64(s1.MediaDuration)
  4702  	s.PushdownDuration = float64(s1.PushdownDuration)
  4703  	return nil
  4704  }
  4705  
  4706  // CreativeAssetId: Creative Asset ID.
  4707  type CreativeAssetId struct {
  4708  	// Name: Name of the creative asset. This is a required field while
  4709  	// inserting an asset. After insertion, this assetIdentifier is used to
  4710  	// identify the uploaded asset. Characters in the name must be
  4711  	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
  4712  	Name string `json:"name,omitempty"`
  4713  
  4714  	// Type: Type of asset to upload. This is a required field. FLASH and
  4715  	// IMAGE are no longer supported for new uploads. All image assets
  4716  	// should use HTML_IMAGE.
  4717  	//
  4718  	// Possible values:
  4719  	//   "AUDIO"
  4720  	//   "FLASH"
  4721  	//   "HTML"
  4722  	//   "HTML_IMAGE"
  4723  	//   "IMAGE"
  4724  	//   "VIDEO"
  4725  	Type string `json:"type,omitempty"`
  4726  
  4727  	// ForceSendFields is a list of field names (e.g. "Name") to
  4728  	// unconditionally include in API requests. By default, fields with
  4729  	// empty values are omitted from API requests. However, any non-pointer,
  4730  	// non-interface field appearing in ForceSendFields will be sent to the
  4731  	// server regardless of whether the field is empty or not. This may be
  4732  	// used to include empty fields in Patch requests.
  4733  	ForceSendFields []string `json:"-"`
  4734  
  4735  	// NullFields is a list of field names (e.g. "Name") to include in API
  4736  	// requests with the JSON null value. By default, fields with empty
  4737  	// values are omitted from API requests. However, any field with an
  4738  	// empty value appearing in NullFields will be sent to the server as
  4739  	// null. It is an error if a field in this list has a non-empty value.
  4740  	// This may be used to include null fields in Patch requests.
  4741  	NullFields []string `json:"-"`
  4742  }
  4743  
  4744  func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
  4745  	type NoMethod CreativeAssetId
  4746  	raw := NoMethod(*s)
  4747  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4748  }
  4749  
  4750  // CreativeAssetMetadata: CreativeAssets contains properties of a
  4751  // creative asset file which will be uploaded or has already been
  4752  // uploaded. Refer to the creative sample code for how to upload assets
  4753  // and insert a creative.
  4754  type CreativeAssetMetadata struct {
  4755  	// AssetIdentifier: ID of the creative asset. This is a required field.
  4756  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4757  
  4758  	// ClickTags: List of detected click tags for assets. This is a
  4759  	// read-only auto-generated field.
  4760  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  4761  
  4762  	// DetectedFeatures: List of feature dependencies for the creative asset
  4763  	// that are detected by Campaign Manager. Feature dependencies are
  4764  	// features that a browser must be able to support in order to render
  4765  	// your HTML5 creative correctly. This is a read-only, auto-generated
  4766  	// field.
  4767  	//
  4768  	// Possible values:
  4769  	//   "APPLICATION_CACHE"
  4770  	//   "AUDIO"
  4771  	//   "CANVAS"
  4772  	//   "CANVAS_TEXT"
  4773  	//   "CSS_ANIMATIONS"
  4774  	//   "CSS_BACKGROUND_SIZE"
  4775  	//   "CSS_BORDER_IMAGE"
  4776  	//   "CSS_BORDER_RADIUS"
  4777  	//   "CSS_BOX_SHADOW"
  4778  	//   "CSS_COLUMNS"
  4779  	//   "CSS_FLEX_BOX"
  4780  	//   "CSS_FONT_FACE"
  4781  	//   "CSS_GENERATED_CONTENT"
  4782  	//   "CSS_GRADIENTS"
  4783  	//   "CSS_HSLA"
  4784  	//   "CSS_MULTIPLE_BGS"
  4785  	//   "CSS_OPACITY"
  4786  	//   "CSS_REFLECTIONS"
  4787  	//   "CSS_RGBA"
  4788  	//   "CSS_TEXT_SHADOW"
  4789  	//   "CSS_TRANSFORMS"
  4790  	//   "CSS_TRANSFORMS3D"
  4791  	//   "CSS_TRANSITIONS"
  4792  	//   "DRAG_AND_DROP"
  4793  	//   "GEO_LOCATION"
  4794  	//   "HASH_CHANGE"
  4795  	//   "HISTORY"
  4796  	//   "INDEXED_DB"
  4797  	//   "INLINE_SVG"
  4798  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4799  	//   "INPUT_ATTR_AUTOFOCUS"
  4800  	//   "INPUT_ATTR_LIST"
  4801  	//   "INPUT_ATTR_MAX"
  4802  	//   "INPUT_ATTR_MIN"
  4803  	//   "INPUT_ATTR_MULTIPLE"
  4804  	//   "INPUT_ATTR_PATTERN"
  4805  	//   "INPUT_ATTR_PLACEHOLDER"
  4806  	//   "INPUT_ATTR_REQUIRED"
  4807  	//   "INPUT_ATTR_STEP"
  4808  	//   "INPUT_TYPE_COLOR"
  4809  	//   "INPUT_TYPE_DATE"
  4810  	//   "INPUT_TYPE_DATETIME"
  4811  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4812  	//   "INPUT_TYPE_EMAIL"
  4813  	//   "INPUT_TYPE_MONTH"
  4814  	//   "INPUT_TYPE_NUMBER"
  4815  	//   "INPUT_TYPE_RANGE"
  4816  	//   "INPUT_TYPE_SEARCH"
  4817  	//   "INPUT_TYPE_TEL"
  4818  	//   "INPUT_TYPE_TIME"
  4819  	//   "INPUT_TYPE_URL"
  4820  	//   "INPUT_TYPE_WEEK"
  4821  	//   "LOCAL_STORAGE"
  4822  	//   "POST_MESSAGE"
  4823  	//   "SESSION_STORAGE"
  4824  	//   "SMIL"
  4825  	//   "SVG_CLIP_PATHS"
  4826  	//   "SVG_FE_IMAGE"
  4827  	//   "SVG_FILTERS"
  4828  	//   "SVG_HREF"
  4829  	//   "TOUCH"
  4830  	//   "VIDEO"
  4831  	//   "WEBGL"
  4832  	//   "WEB_SOCKETS"
  4833  	//   "WEB_SQL_DATABASE"
  4834  	//   "WEB_WORKERS"
  4835  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4836  
  4837  	// Id: Numeric ID of the asset. This is a read-only, auto-generated
  4838  	// field.
  4839  	Id int64 `json:"id,omitempty,string"`
  4840  
  4841  	// IdDimensionValue: Dimension value for the numeric ID of the asset.
  4842  	// This is a read-only, auto-generated field.
  4843  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4844  
  4845  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4846  	// string "dfareporting#creativeAssetMetadata".
  4847  	Kind string `json:"kind,omitempty"`
  4848  
  4849  	// WarnedValidationRules: Rules validated during code generation that
  4850  	// generated a warning. This is a read-only, auto-generated
  4851  	// field.
  4852  	//
  4853  	// Possible values are:
  4854  	// - "ADMOB_REFERENCED"
  4855  	// - "ASSET_FORMAT_UNSUPPORTED_DCM"
  4856  	// - "ASSET_INVALID"
  4857  	// - "CLICK_TAG_HARD_CODED"
  4858  	// - "CLICK_TAG_INVALID"
  4859  	// - "CLICK_TAG_IN_GWD"
  4860  	// - "CLICK_TAG_MISSING"
  4861  	// - "CLICK_TAG_MORE_THAN_ONE"
  4862  	// - "CLICK_TAG_NON_TOP_LEVEL"
  4863  	// - "COMPONENT_UNSUPPORTED_DCM"
  4864  	// - "ENABLER_UNSUPPORTED_METHOD_DCM"
  4865  	// - "EXTERNAL_FILE_REFERENCED"
  4866  	// - "FILE_DETAIL_EMPTY"
  4867  	// - "FILE_TYPE_INVALID"
  4868  	// - "GWD_PROPERTIES_INVALID"
  4869  	// - "HTML5_FEATURE_UNSUPPORTED"
  4870  	// - "LINKED_FILE_NOT_FOUND"
  4871  	// - "MAX_FLASH_VERSION_11"
  4872  	// - "MRAID_REFERENCED"
  4873  	// - "NOT_SSL_COMPLIANT"
  4874  	// - "ORPHANED_ASSET"
  4875  	// - "PRIMARY_HTML_MISSING"
  4876  	// - "SVG_INVALID"
  4877  	// - "ZIP_INVALID"
  4878  	//
  4879  	// Possible values:
  4880  	//   "ADMOB_REFERENCED"
  4881  	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
  4882  	//   "ASSET_INVALID"
  4883  	//   "CLICK_TAG_HARD_CODED"
  4884  	//   "CLICK_TAG_INVALID"
  4885  	//   "CLICK_TAG_IN_GWD"
  4886  	//   "CLICK_TAG_MISSING"
  4887  	//   "CLICK_TAG_MORE_THAN_ONE"
  4888  	//   "CLICK_TAG_NON_TOP_LEVEL"
  4889  	//   "COMPONENT_UNSUPPORTED_DCM"
  4890  	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
  4891  	//   "EXTERNAL_FILE_REFERENCED"
  4892  	//   "FILE_DETAIL_EMPTY"
  4893  	//   "FILE_TYPE_INVALID"
  4894  	//   "GWD_PROPERTIES_INVALID"
  4895  	//   "HTML5_FEATURE_UNSUPPORTED"
  4896  	//   "LINKED_FILE_NOT_FOUND"
  4897  	//   "MAX_FLASH_VERSION_11"
  4898  	//   "MRAID_REFERENCED"
  4899  	//   "NOT_SSL_COMPLIANT"
  4900  	//   "ORPHANED_ASSET"
  4901  	//   "PRIMARY_HTML_MISSING"
  4902  	//   "SVG_INVALID"
  4903  	//   "ZIP_INVALID"
  4904  	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
  4905  
  4906  	// ServerResponse contains the HTTP response code and headers from the
  4907  	// server.
  4908  	googleapi.ServerResponse `json:"-"`
  4909  
  4910  	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
  4911  	// unconditionally include in API requests. By default, fields with
  4912  	// empty values are omitted from API requests. However, any non-pointer,
  4913  	// non-interface field appearing in ForceSendFields will be sent to the
  4914  	// server regardless of whether the field is empty or not. This may be
  4915  	// used to include empty fields in Patch requests.
  4916  	ForceSendFields []string `json:"-"`
  4917  
  4918  	// NullFields is a list of field names (e.g. "AssetIdentifier") to
  4919  	// include in API requests with the JSON null value. By default, fields
  4920  	// with empty values are omitted from API requests. However, any field
  4921  	// with an empty value appearing in NullFields will be sent to the
  4922  	// server as null. It is an error if a field in this list has a
  4923  	// non-empty value. This may be used to include null fields in Patch
  4924  	// requests.
  4925  	NullFields []string `json:"-"`
  4926  }
  4927  
  4928  func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
  4929  	type NoMethod CreativeAssetMetadata
  4930  	raw := NoMethod(*s)
  4931  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4932  }
  4933  
  4934  // CreativeAssetSelection: Encapsulates the list of rules for asset
  4935  // selection and a default asset in case none of the rules match.
  4936  // Applicable to INSTREAM_VIDEO creatives.
  4937  type CreativeAssetSelection struct {
  4938  	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
  4939  	// the parent assets in this creative, and will be served if none of the
  4940  	// rules match. This is a required field.
  4941  	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
  4942  
  4943  	// Rules: Rules determine which asset will be served to a viewer. Rules
  4944  	// will be evaluated in the order in which they are stored in this list.
  4945  	// This list must contain at least one rule. Applicable to
  4946  	// INSTREAM_VIDEO creatives.
  4947  	Rules []*Rule `json:"rules,omitempty"`
  4948  
  4949  	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
  4950  	// unconditionally include in API requests. By default, fields with
  4951  	// empty values are omitted from API requests. However, any non-pointer,
  4952  	// non-interface field appearing in ForceSendFields will be sent to the
  4953  	// server regardless of whether the field is empty or not. This may be
  4954  	// used to include empty fields in Patch requests.
  4955  	ForceSendFields []string `json:"-"`
  4956  
  4957  	// NullFields is a list of field names (e.g. "DefaultAssetId") to
  4958  	// include in API requests with the JSON null value. By default, fields
  4959  	// with empty values are omitted from API requests. However, any field
  4960  	// with an empty value appearing in NullFields will be sent to the
  4961  	// server as null. It is an error if a field in this list has a
  4962  	// non-empty value. This may be used to include null fields in Patch
  4963  	// requests.
  4964  	NullFields []string `json:"-"`
  4965  }
  4966  
  4967  func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
  4968  	type NoMethod CreativeAssetSelection
  4969  	raw := NoMethod(*s)
  4970  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4971  }
  4972  
  4973  // CreativeAssignment: Creative Assignment.
  4974  type CreativeAssignment struct {
  4975  	// Active: Whether this creative assignment is active. When true, the
  4976  	// creative will be included in the ad's rotation.
  4977  	Active bool `json:"active,omitempty"`
  4978  
  4979  	// ApplyEventTags: Whether applicable event tags should fire when this
  4980  	// creative assignment is rendered. If this value is unset when the ad
  4981  	// is inserted or updated, it will default to true for all creative
  4982  	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
  4983  	// and INSTREAM_VIDEO.
  4984  	ApplyEventTags bool `json:"applyEventTags,omitempty"`
  4985  
  4986  	// ClickThroughUrl: Click-through URL of the creative assignment.
  4987  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  4988  
  4989  	// CompanionCreativeOverrides: Companion creative overrides for this
  4990  	// creative assignment. Applicable to video ads.
  4991  	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
  4992  
  4993  	// CreativeGroupAssignments: Creative group assignments for this
  4994  	// creative assignment. Only one assignment per creative group number is
  4995  	// allowed for a maximum of two assignments.
  4996  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  4997  
  4998  	// CreativeId: ID of the creative to be assigned. This is a required
  4999  	// field.
  5000  	CreativeId int64 `json:"creativeId,omitempty,string"`
  5001  
  5002  	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
  5003  	// This is a read-only, auto-generated field.
  5004  	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
  5005  
  5006  	// EndTime: Date and time that the assigned creative should stop
  5007  	// serving. Must be later than the start time.
  5008  	EndTime string `json:"endTime,omitempty"`
  5009  
  5010  	// RichMediaExitOverrides: Rich media exit overrides for this creative
  5011  	// assignment.
  5012  	// Applicable when the creative type is any of the following:
  5013  	// - DISPLAY
  5014  	// - RICH_MEDIA_INPAGE
  5015  	// - RICH_MEDIA_INPAGE_FLOATING
  5016  	// - RICH_MEDIA_IM_EXPAND
  5017  	// - RICH_MEDIA_EXPANDING
  5018  	// - RICH_MEDIA_INTERSTITIAL_FLOAT
  5019  	// - RICH_MEDIA_MOBILE_IN_APP
  5020  	// - RICH_MEDIA_MULTI_FLOATING
  5021  	// - RICH_MEDIA_PEEL_DOWN
  5022  	// - VPAID_LINEAR
  5023  	// - VPAID_NON_LINEAR
  5024  	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
  5025  
  5026  	// Sequence: Sequence number of the creative assignment, applicable when
  5027  	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
  5028  	// values are 1 to 65535, inclusive.
  5029  	Sequence int64 `json:"sequence,omitempty"`
  5030  
  5031  	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
  5032  	// This is a read-only field that is auto-generated when the ad is
  5033  	// inserted or updated.
  5034  	SslCompliant bool `json:"sslCompliant,omitempty"`
  5035  
  5036  	// StartTime: Date and time that the assigned creative should start
  5037  	// serving.
  5038  	StartTime string `json:"startTime,omitempty"`
  5039  
  5040  	// Weight: Weight of the creative assignment, applicable when the
  5041  	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
  5042  	// than or equal to 1.
  5043  	Weight int64 `json:"weight,omitempty"`
  5044  
  5045  	// ForceSendFields is a list of field names (e.g. "Active") to
  5046  	// unconditionally include in API requests. By default, fields with
  5047  	// empty values are omitted from API requests. However, any non-pointer,
  5048  	// non-interface field appearing in ForceSendFields will be sent to the
  5049  	// server regardless of whether the field is empty or not. This may be
  5050  	// used to include empty fields in Patch requests.
  5051  	ForceSendFields []string `json:"-"`
  5052  
  5053  	// NullFields is a list of field names (e.g. "Active") to include in API
  5054  	// requests with the JSON null value. By default, fields with empty
  5055  	// values are omitted from API requests. However, any field with an
  5056  	// empty value appearing in NullFields will be sent to the server as
  5057  	// null. It is an error if a field in this list has a non-empty value.
  5058  	// This may be used to include null fields in Patch requests.
  5059  	NullFields []string `json:"-"`
  5060  }
  5061  
  5062  func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
  5063  	type NoMethod CreativeAssignment
  5064  	raw := NoMethod(*s)
  5065  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5066  }
  5067  
  5068  // CreativeClickThroughUrl: Click-through URL
  5069  type CreativeClickThroughUrl struct {
  5070  	// ComputedClickThroughUrl: Read-only convenience field representing the
  5071  	// actual URL that will be used for this click-through. The URL is
  5072  	// computed as follows:
  5073  	// - If landingPageId is specified then that landing page's URL is
  5074  	// assigned to this field.
  5075  	// - Otherwise, the customClickThroughUrl is assigned to this field.
  5076  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  5077  
  5078  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  5079  	// landingPageId field is left unset.
  5080  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  5081  
  5082  	// LandingPageId: ID of the landing page for the click-through URL.
  5083  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  5084  
  5085  	// ForceSendFields is a list of field names (e.g.
  5086  	// "ComputedClickThroughUrl") to unconditionally include in API
  5087  	// requests. By default, fields with empty values are omitted from API
  5088  	// requests. However, any non-pointer, non-interface field appearing in
  5089  	// ForceSendFields will be sent to the server regardless of whether the
  5090  	// field is empty or not. This may be used to include empty fields in
  5091  	// Patch requests.
  5092  	ForceSendFields []string `json:"-"`
  5093  
  5094  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  5095  	// to include in API requests with the JSON null value. By default,
  5096  	// fields with empty values are omitted from API requests. However, any
  5097  	// field with an empty value appearing in NullFields will be sent to the
  5098  	// server as null. It is an error if a field in this list has a
  5099  	// non-empty value. This may be used to include null fields in Patch
  5100  	// requests.
  5101  	NullFields []string `json:"-"`
  5102  }
  5103  
  5104  func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
  5105  	type NoMethod CreativeClickThroughUrl
  5106  	raw := NoMethod(*s)
  5107  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5108  }
  5109  
  5110  // CreativeCustomEvent: Creative Custom Event.
  5111  type CreativeCustomEvent struct {
  5112  	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
  5113  	// and Data Transfer. This is a read-only field.
  5114  	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
  5115  
  5116  	// AdvertiserCustomEventName: User-entered name for the event.
  5117  	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
  5118  
  5119  	// AdvertiserCustomEventType: Type of the event. This is a read-only
  5120  	// field.
  5121  	//
  5122  	// Possible values:
  5123  	//   "ADVERTISER_EVENT_COUNTER"
  5124  	//   "ADVERTISER_EVENT_EXIT"
  5125  	//   "ADVERTISER_EVENT_TIMER"
  5126  	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
  5127  
  5128  	// ArtworkLabel: Artwork label column, used to link events in Campaign
  5129  	// Manager back to events in Studio. This is a required field and should
  5130  	// not be modified after insertion.
  5131  	ArtworkLabel string `json:"artworkLabel,omitempty"`
  5132  
  5133  	// ArtworkType: Artwork type used by the creative.This is a read-only
  5134  	// field.
  5135  	//
  5136  	// Possible values:
  5137  	//   "ARTWORK_TYPE_FLASH"
  5138  	//   "ARTWORK_TYPE_HTML5"
  5139  	//   "ARTWORK_TYPE_IMAGE"
  5140  	//   "ARTWORK_TYPE_MIXED"
  5141  	ArtworkType string `json:"artworkType,omitempty"`
  5142  
  5143  	// ExitClickThroughUrl: Exit click-through URL for the event. This field
  5144  	// is used only for exit events.
  5145  	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
  5146  
  5147  	// Id: ID of this event. This is a required field and should not be
  5148  	// modified after insertion.
  5149  	Id int64 `json:"id,omitempty,string"`
  5150  
  5151  	// PopupWindowProperties: Properties for rich media popup windows. This
  5152  	// field is used only for exit events.
  5153  	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
  5154  
  5155  	// TargetType: Target type used by the event.
  5156  	//
  5157  	// Possible values:
  5158  	//   "TARGET_BLANK"
  5159  	//   "TARGET_PARENT"
  5160  	//   "TARGET_POPUP"
  5161  	//   "TARGET_SELF"
  5162  	//   "TARGET_TOP"
  5163  	TargetType string `json:"targetType,omitempty"`
  5164  
  5165  	// VideoReportingId: Video reporting ID, used to differentiate multiple
  5166  	// videos in a single creative. This is a read-only field.
  5167  	VideoReportingId string `json:"videoReportingId,omitempty"`
  5168  
  5169  	// ForceSendFields is a list of field names (e.g.
  5170  	// "AdvertiserCustomEventId") to unconditionally include in API
  5171  	// requests. By default, fields with empty values are omitted from API
  5172  	// requests. However, any non-pointer, non-interface field appearing in
  5173  	// ForceSendFields will be sent to the server regardless of whether the
  5174  	// field is empty or not. This may be used to include empty fields in
  5175  	// Patch requests.
  5176  	ForceSendFields []string `json:"-"`
  5177  
  5178  	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
  5179  	// to include in API requests with the JSON null value. By default,
  5180  	// fields with empty values are omitted from API requests. However, any
  5181  	// field with an empty value appearing in NullFields will be sent to the
  5182  	// server as null. It is an error if a field in this list has a
  5183  	// non-empty value. This may be used to include null fields in Patch
  5184  	// requests.
  5185  	NullFields []string `json:"-"`
  5186  }
  5187  
  5188  func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
  5189  	type NoMethod CreativeCustomEvent
  5190  	raw := NoMethod(*s)
  5191  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5192  }
  5193  
  5194  // CreativeField: Contains properties of a creative field.
  5195  type CreativeField struct {
  5196  	// AccountId: Account ID of this creative field. This is a read-only
  5197  	// field that can be left blank.
  5198  	AccountId int64 `json:"accountId,omitempty,string"`
  5199  
  5200  	// AdvertiserId: Advertiser ID of this creative field. This is a
  5201  	// required field on insertion.
  5202  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5203  
  5204  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5205  	// advertiser. This is a read-only, auto-generated field.
  5206  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5207  
  5208  	// Id: ID of this creative field. This is a read-only, auto-generated
  5209  	// field.
  5210  	Id int64 `json:"id,omitempty,string"`
  5211  
  5212  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5213  	// string "dfareporting#creativeField".
  5214  	Kind string `json:"kind,omitempty"`
  5215  
  5216  	// Name: Name of this creative field. This is a required field and must
  5217  	// be less than 256 characters long and unique among creative fields of
  5218  	// the same advertiser.
  5219  	Name string `json:"name,omitempty"`
  5220  
  5221  	// SubaccountId: Subaccount ID of this creative field. This is a
  5222  	// read-only field that can be left blank.
  5223  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5224  
  5225  	// ServerResponse contains the HTTP response code and headers from the
  5226  	// server.
  5227  	googleapi.ServerResponse `json:"-"`
  5228  
  5229  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5230  	// unconditionally include in API requests. By default, fields with
  5231  	// empty values are omitted from API requests. However, any non-pointer,
  5232  	// non-interface field appearing in ForceSendFields will be sent to the
  5233  	// server regardless of whether the field is empty or not. This may be
  5234  	// used to include empty fields in Patch requests.
  5235  	ForceSendFields []string `json:"-"`
  5236  
  5237  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5238  	// API requests with the JSON null value. By default, fields with empty
  5239  	// values are omitted from API requests. However, any field with an
  5240  	// empty value appearing in NullFields will be sent to the server as
  5241  	// null. It is an error if a field in this list has a non-empty value.
  5242  	// This may be used to include null fields in Patch requests.
  5243  	NullFields []string `json:"-"`
  5244  }
  5245  
  5246  func (s *CreativeField) MarshalJSON() ([]byte, error) {
  5247  	type NoMethod CreativeField
  5248  	raw := NoMethod(*s)
  5249  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5250  }
  5251  
  5252  // CreativeFieldAssignment: Creative Field Assignment.
  5253  type CreativeFieldAssignment struct {
  5254  	// CreativeFieldId: ID of the creative field.
  5255  	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
  5256  
  5257  	// CreativeFieldValueId: ID of the creative field value.
  5258  	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
  5259  
  5260  	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
  5261  	// unconditionally include in API requests. By default, fields with
  5262  	// empty values are omitted from API requests. However, any non-pointer,
  5263  	// non-interface field appearing in ForceSendFields will be sent to the
  5264  	// server regardless of whether the field is empty or not. This may be
  5265  	// used to include empty fields in Patch requests.
  5266  	ForceSendFields []string `json:"-"`
  5267  
  5268  	// NullFields is a list of field names (e.g. "CreativeFieldId") to
  5269  	// include in API requests with the JSON null value. By default, fields
  5270  	// with empty values are omitted from API requests. However, any field
  5271  	// with an empty value appearing in NullFields will be sent to the
  5272  	// server as null. It is an error if a field in this list has a
  5273  	// non-empty value. This may be used to include null fields in Patch
  5274  	// requests.
  5275  	NullFields []string `json:"-"`
  5276  }
  5277  
  5278  func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
  5279  	type NoMethod CreativeFieldAssignment
  5280  	raw := NoMethod(*s)
  5281  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5282  }
  5283  
  5284  // CreativeFieldValue: Contains properties of a creative field value.
  5285  type CreativeFieldValue struct {
  5286  	// Id: ID of this creative field value. This is a read-only,
  5287  	// auto-generated field.
  5288  	Id int64 `json:"id,omitempty,string"`
  5289  
  5290  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5291  	// string "dfareporting#creativeFieldValue".
  5292  	Kind string `json:"kind,omitempty"`
  5293  
  5294  	// Value: Value of this creative field value. It needs to be less than
  5295  	// 256 characters in length and unique per creative field.
  5296  	Value string `json:"value,omitempty"`
  5297  
  5298  	// ServerResponse contains the HTTP response code and headers from the
  5299  	// server.
  5300  	googleapi.ServerResponse `json:"-"`
  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 *CreativeFieldValue) MarshalJSON() ([]byte, error) {
  5320  	type NoMethod CreativeFieldValue
  5321  	raw := NoMethod(*s)
  5322  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5323  }
  5324  
  5325  // CreativeFieldValuesListResponse: Creative Field Value List Response
  5326  type CreativeFieldValuesListResponse struct {
  5327  	// CreativeFieldValues: Creative field value collection.
  5328  	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
  5329  
  5330  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5331  	// string "dfareporting#creativeFieldValuesListResponse".
  5332  	Kind string `json:"kind,omitempty"`
  5333  
  5334  	// NextPageToken: Pagination token to be used for the next list
  5335  	// operation.
  5336  	NextPageToken string `json:"nextPageToken,omitempty"`
  5337  
  5338  	// ServerResponse contains the HTTP response code and headers from the
  5339  	// server.
  5340  	googleapi.ServerResponse `json:"-"`
  5341  
  5342  	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
  5343  	// to unconditionally include in API requests. By default, fields with
  5344  	// empty values are omitted from API requests. However, any non-pointer,
  5345  	// non-interface field appearing in ForceSendFields will be sent to the
  5346  	// server regardless of whether the field is empty or not. This may be
  5347  	// used to include empty fields in Patch requests.
  5348  	ForceSendFields []string `json:"-"`
  5349  
  5350  	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
  5351  	// include in API requests with the JSON null value. By default, fields
  5352  	// with empty values are omitted from API requests. However, any field
  5353  	// with an empty value appearing in NullFields will be sent to the
  5354  	// server as null. It is an error if a field in this list has a
  5355  	// non-empty value. This may be used to include null fields in Patch
  5356  	// requests.
  5357  	NullFields []string `json:"-"`
  5358  }
  5359  
  5360  func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
  5361  	type NoMethod CreativeFieldValuesListResponse
  5362  	raw := NoMethod(*s)
  5363  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5364  }
  5365  
  5366  // CreativeFieldsListResponse: Creative Field List Response
  5367  type CreativeFieldsListResponse struct {
  5368  	// CreativeFields: Creative field collection.
  5369  	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
  5370  
  5371  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5372  	// string "dfareporting#creativeFieldsListResponse".
  5373  	Kind string `json:"kind,omitempty"`
  5374  
  5375  	// NextPageToken: Pagination token to be used for the next list
  5376  	// operation.
  5377  	NextPageToken string `json:"nextPageToken,omitempty"`
  5378  
  5379  	// ServerResponse contains the HTTP response code and headers from the
  5380  	// server.
  5381  	googleapi.ServerResponse `json:"-"`
  5382  
  5383  	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
  5384  	// unconditionally include in API requests. By default, fields with
  5385  	// empty values are omitted from API requests. However, any non-pointer,
  5386  	// non-interface field appearing in ForceSendFields will be sent to the
  5387  	// server regardless of whether the field is empty or not. This may be
  5388  	// used to include empty fields in Patch requests.
  5389  	ForceSendFields []string `json:"-"`
  5390  
  5391  	// NullFields is a list of field names (e.g. "CreativeFields") to
  5392  	// include in API requests with the JSON null value. By default, fields
  5393  	// with empty values are omitted from API requests. However, any field
  5394  	// with an empty value appearing in NullFields will be sent to the
  5395  	// server as null. It is an error if a field in this list has a
  5396  	// non-empty value. This may be used to include null fields in Patch
  5397  	// requests.
  5398  	NullFields []string `json:"-"`
  5399  }
  5400  
  5401  func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
  5402  	type NoMethod CreativeFieldsListResponse
  5403  	raw := NoMethod(*s)
  5404  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5405  }
  5406  
  5407  // CreativeGroup: Contains properties of a creative group.
  5408  type CreativeGroup struct {
  5409  	// AccountId: Account ID of this creative group. This is a read-only
  5410  	// field that can be left blank.
  5411  	AccountId int64 `json:"accountId,omitempty,string"`
  5412  
  5413  	// AdvertiserId: Advertiser ID of this creative group. This is a
  5414  	// required field on insertion.
  5415  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5416  
  5417  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5418  	// advertiser. This is a read-only, auto-generated field.
  5419  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5420  
  5421  	// GroupNumber: Subgroup of the creative group. Assign your creative
  5422  	// groups to a subgroup in order to filter or manage them more easily.
  5423  	// This field is required on insertion and is read-only after insertion.
  5424  	// Acceptable values are 1 to 2, inclusive.
  5425  	GroupNumber int64 `json:"groupNumber,omitempty"`
  5426  
  5427  	// Id: ID of this creative group. This is a read-only, auto-generated
  5428  	// field.
  5429  	Id int64 `json:"id,omitempty,string"`
  5430  
  5431  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5432  	// string "dfareporting#creativeGroup".
  5433  	Kind string `json:"kind,omitempty"`
  5434  
  5435  	// Name: Name of this creative group. This is a required field and must
  5436  	// be less than 256 characters long and unique among creative groups of
  5437  	// the same advertiser.
  5438  	Name string `json:"name,omitempty"`
  5439  
  5440  	// SubaccountId: Subaccount ID of this creative group. This is a
  5441  	// read-only field that can be left blank.
  5442  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5443  
  5444  	// ServerResponse contains the HTTP response code and headers from the
  5445  	// server.
  5446  	googleapi.ServerResponse `json:"-"`
  5447  
  5448  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5449  	// unconditionally include in API requests. By default, fields with
  5450  	// empty values are omitted from API requests. However, any non-pointer,
  5451  	// non-interface field appearing in ForceSendFields will be sent to the
  5452  	// server regardless of whether the field is empty or not. This may be
  5453  	// used to include empty fields in Patch requests.
  5454  	ForceSendFields []string `json:"-"`
  5455  
  5456  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5457  	// API requests with the JSON null value. By default, fields with empty
  5458  	// values are omitted from API requests. However, any field with an
  5459  	// empty value appearing in NullFields will be sent to the server as
  5460  	// null. It is an error if a field in this list has a non-empty value.
  5461  	// This may be used to include null fields in Patch requests.
  5462  	NullFields []string `json:"-"`
  5463  }
  5464  
  5465  func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
  5466  	type NoMethod CreativeGroup
  5467  	raw := NoMethod(*s)
  5468  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5469  }
  5470  
  5471  // CreativeGroupAssignment: Creative Group Assignment.
  5472  type CreativeGroupAssignment struct {
  5473  	// CreativeGroupId: ID of the creative group to be assigned.
  5474  	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
  5475  
  5476  	// CreativeGroupNumber: Creative group number of the creative group
  5477  	// assignment.
  5478  	//
  5479  	// Possible values:
  5480  	//   "CREATIVE_GROUP_ONE"
  5481  	//   "CREATIVE_GROUP_TWO"
  5482  	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
  5483  
  5484  	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
  5485  	// unconditionally include in API requests. By default, fields with
  5486  	// empty values are omitted from API requests. However, any non-pointer,
  5487  	// non-interface field appearing in ForceSendFields will be sent to the
  5488  	// server regardless of whether the field is empty or not. This may be
  5489  	// used to include empty fields in Patch requests.
  5490  	ForceSendFields []string `json:"-"`
  5491  
  5492  	// NullFields is a list of field names (e.g. "CreativeGroupId") to
  5493  	// include in API requests with the JSON null value. By default, fields
  5494  	// with empty values are omitted from API requests. However, any field
  5495  	// with an empty value appearing in NullFields will be sent to the
  5496  	// server as null. It is an error if a field in this list has a
  5497  	// non-empty value. This may be used to include null fields in Patch
  5498  	// requests.
  5499  	NullFields []string `json:"-"`
  5500  }
  5501  
  5502  func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
  5503  	type NoMethod CreativeGroupAssignment
  5504  	raw := NoMethod(*s)
  5505  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5506  }
  5507  
  5508  // CreativeGroupsListResponse: Creative Group List Response
  5509  type CreativeGroupsListResponse struct {
  5510  	// CreativeGroups: Creative group collection.
  5511  	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
  5512  
  5513  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5514  	// string "dfareporting#creativeGroupsListResponse".
  5515  	Kind string `json:"kind,omitempty"`
  5516  
  5517  	// NextPageToken: Pagination token to be used for the next list
  5518  	// operation.
  5519  	NextPageToken string `json:"nextPageToken,omitempty"`
  5520  
  5521  	// ServerResponse contains the HTTP response code and headers from the
  5522  	// server.
  5523  	googleapi.ServerResponse `json:"-"`
  5524  
  5525  	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
  5526  	// unconditionally include in API requests. By default, fields with
  5527  	// empty values are omitted from API requests. However, any non-pointer,
  5528  	// non-interface field appearing in ForceSendFields will be sent to the
  5529  	// server regardless of whether the field is empty or not. This may be
  5530  	// used to include empty fields in Patch requests.
  5531  	ForceSendFields []string `json:"-"`
  5532  
  5533  	// NullFields is a list of field names (e.g. "CreativeGroups") to
  5534  	// include in API requests with the JSON null value. By default, fields
  5535  	// with empty values are omitted from API requests. However, any field
  5536  	// with an empty value appearing in NullFields will be sent to the
  5537  	// server as null. It is an error if a field in this list has a
  5538  	// non-empty value. This may be used to include null fields in Patch
  5539  	// requests.
  5540  	NullFields []string `json:"-"`
  5541  }
  5542  
  5543  func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
  5544  	type NoMethod CreativeGroupsListResponse
  5545  	raw := NoMethod(*s)
  5546  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5547  }
  5548  
  5549  // CreativeOptimizationConfiguration: Creative optimization settings.
  5550  type CreativeOptimizationConfiguration struct {
  5551  	// Id: ID of this creative optimization config. This field is
  5552  	// auto-generated when the campaign is inserted or updated. It can be
  5553  	// null for existing campaigns.
  5554  	Id int64 `json:"id,omitempty,string"`
  5555  
  5556  	// Name: Name of this creative optimization config. This is a required
  5557  	// field and must be less than 129 characters long.
  5558  	Name string `json:"name,omitempty"`
  5559  
  5560  	// OptimizationActivitys: List of optimization activities associated
  5561  	// with this configuration.
  5562  	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
  5563  
  5564  	// OptimizationModel: Optimization model for this configuration.
  5565  	//
  5566  	// Possible values:
  5567  	//   "CLICK"
  5568  	//   "POST_CLICK"
  5569  	//   "POST_CLICK_AND_IMPRESSION"
  5570  	//   "POST_IMPRESSION"
  5571  	//   "VIDEO_COMPLETION"
  5572  	OptimizationModel string `json:"optimizationModel,omitempty"`
  5573  
  5574  	// ForceSendFields is a list of field names (e.g. "Id") to
  5575  	// unconditionally include in API requests. By default, fields with
  5576  	// empty values are omitted from API requests. However, any non-pointer,
  5577  	// non-interface field appearing in ForceSendFields will be sent to the
  5578  	// server regardless of whether the field is empty or not. This may be
  5579  	// used to include empty fields in Patch requests.
  5580  	ForceSendFields []string `json:"-"`
  5581  
  5582  	// NullFields is a list of field names (e.g. "Id") to include in API
  5583  	// requests with the JSON null value. By default, fields with empty
  5584  	// values are omitted from API requests. However, any field with an
  5585  	// empty value appearing in NullFields will be sent to the server as
  5586  	// null. It is an error if a field in this list has a non-empty value.
  5587  	// This may be used to include null fields in Patch requests.
  5588  	NullFields []string `json:"-"`
  5589  }
  5590  
  5591  func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
  5592  	type NoMethod CreativeOptimizationConfiguration
  5593  	raw := NoMethod(*s)
  5594  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5595  }
  5596  
  5597  // CreativeRotation: Creative Rotation.
  5598  type CreativeRotation struct {
  5599  	// CreativeAssignments: Creative assignments in this creative rotation.
  5600  	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
  5601  
  5602  	// CreativeOptimizationConfigurationId: Creative optimization
  5603  	// configuration that is used by this ad. It should refer to one of the
  5604  	// existing optimization configurations in the ad's campaign. If it is
  5605  	// unset or set to 0, then the campaign's default optimization
  5606  	// configuration will be used for this ad.
  5607  	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
  5608  
  5609  	// Type: Type of creative rotation. Can be used to specify whether to
  5610  	// use sequential or random rotation.
  5611  	//
  5612  	// Possible values:
  5613  	//   "CREATIVE_ROTATION_TYPE_RANDOM"
  5614  	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
  5615  	Type string `json:"type,omitempty"`
  5616  
  5617  	// WeightCalculationStrategy: Strategy for calculating weights. Used
  5618  	// with CREATIVE_ROTATION_TYPE_RANDOM.
  5619  	//
  5620  	// Possible values:
  5621  	//   "WEIGHT_STRATEGY_CUSTOM"
  5622  	//   "WEIGHT_STRATEGY_EQUAL"
  5623  	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
  5624  	//   "WEIGHT_STRATEGY_OPTIMIZED"
  5625  	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
  5626  
  5627  	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
  5628  	// to unconditionally include in API requests. By default, fields with
  5629  	// empty values are omitted from API requests. However, any non-pointer,
  5630  	// non-interface field appearing in ForceSendFields will be sent to the
  5631  	// server regardless of whether the field is empty or not. This may be
  5632  	// used to include empty fields in Patch requests.
  5633  	ForceSendFields []string `json:"-"`
  5634  
  5635  	// NullFields is a list of field names (e.g. "CreativeAssignments") to
  5636  	// include in API requests with the JSON null value. By default, fields
  5637  	// with empty values are omitted from API requests. However, any field
  5638  	// with an empty value appearing in NullFields will be sent to the
  5639  	// server as null. It is an error if a field in this list has a
  5640  	// non-empty value. This may be used to include null fields in Patch
  5641  	// requests.
  5642  	NullFields []string `json:"-"`
  5643  }
  5644  
  5645  func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
  5646  	type NoMethod CreativeRotation
  5647  	raw := NoMethod(*s)
  5648  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5649  }
  5650  
  5651  // CreativesListResponse: Creative List Response
  5652  type CreativesListResponse struct {
  5653  	// Creatives: Creative collection.
  5654  	Creatives []*Creative `json:"creatives,omitempty"`
  5655  
  5656  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5657  	// string "dfareporting#creativesListResponse".
  5658  	Kind string `json:"kind,omitempty"`
  5659  
  5660  	// NextPageToken: Pagination token to be used for the next list
  5661  	// operation.
  5662  	NextPageToken string `json:"nextPageToken,omitempty"`
  5663  
  5664  	// ServerResponse contains the HTTP response code and headers from the
  5665  	// server.
  5666  	googleapi.ServerResponse `json:"-"`
  5667  
  5668  	// ForceSendFields is a list of field names (e.g. "Creatives") to
  5669  	// unconditionally include in API requests. By default, fields with
  5670  	// empty values are omitted from API requests. However, any non-pointer,
  5671  	// non-interface field appearing in ForceSendFields will be sent to the
  5672  	// server regardless of whether the field is empty or not. This may be
  5673  	// used to include empty fields in Patch requests.
  5674  	ForceSendFields []string `json:"-"`
  5675  
  5676  	// NullFields is a list of field names (e.g. "Creatives") to include in
  5677  	// API requests with the JSON null value. By default, fields with empty
  5678  	// values are omitted from API requests. However, any field with an
  5679  	// empty value appearing in NullFields will be sent to the server as
  5680  	// null. It is an error if a field in this list has a non-empty value.
  5681  	// This may be used to include null fields in Patch requests.
  5682  	NullFields []string `json:"-"`
  5683  }
  5684  
  5685  func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
  5686  	type NoMethod CreativesListResponse
  5687  	raw := NoMethod(*s)
  5688  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5689  }
  5690  
  5691  // CrossDimensionReachReportCompatibleFields: Represents fields that are
  5692  // compatible to be selected for a report of type
  5693  // "CROSS_DIMENSION_REACH".
  5694  type CrossDimensionReachReportCompatibleFields struct {
  5695  	// Breakdown: Dimensions which are compatible to be selected in the
  5696  	// "breakdown" section of the report.
  5697  	Breakdown []*Dimension `json:"breakdown,omitempty"`
  5698  
  5699  	// DimensionFilters: Dimensions which are compatible to be selected in
  5700  	// the "dimensionFilters" section of the report.
  5701  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  5702  
  5703  	// Kind: The kind of resource this is, in this case
  5704  	// dfareporting#crossDimensionReachReportCompatibleFields.
  5705  	Kind string `json:"kind,omitempty"`
  5706  
  5707  	// Metrics: Metrics which are compatible to be selected in the
  5708  	// "metricNames" section of the report.
  5709  	Metrics []*Metric `json:"metrics,omitempty"`
  5710  
  5711  	// OverlapMetrics: Metrics which are compatible to be selected in the
  5712  	// "overlapMetricNames" section of the report.
  5713  	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
  5714  
  5715  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
  5716  	// unconditionally include in API requests. By default, fields with
  5717  	// empty values are omitted from API requests. However, any non-pointer,
  5718  	// non-interface field appearing in ForceSendFields will be sent to the
  5719  	// server regardless of whether the field is empty or not. This may be
  5720  	// used to include empty fields in Patch requests.
  5721  	ForceSendFields []string `json:"-"`
  5722  
  5723  	// NullFields is a list of field names (e.g. "Breakdown") to include in
  5724  	// API requests with the JSON null value. By default, fields with empty
  5725  	// values are omitted from API requests. However, any field with an
  5726  	// empty value appearing in NullFields will be sent to the server as
  5727  	// null. It is an error if a field in this list has a non-empty value.
  5728  	// This may be used to include null fields in Patch requests.
  5729  	NullFields []string `json:"-"`
  5730  }
  5731  
  5732  func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
  5733  	type NoMethod CrossDimensionReachReportCompatibleFields
  5734  	raw := NoMethod(*s)
  5735  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5736  }
  5737  
  5738  // CustomFloodlightVariable: A custom floodlight variable.
  5739  type CustomFloodlightVariable struct {
  5740  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5741  	// string "dfareporting#customFloodlightVariable".
  5742  	Kind string `json:"kind,omitempty"`
  5743  
  5744  	// Type: The type of custom floodlight variable to supply a value for.
  5745  	// These map to the "u[1-20]=" in the tags.
  5746  	//
  5747  	// Possible values:
  5748  	//   "U1"
  5749  	//   "U10"
  5750  	//   "U100"
  5751  	//   "U11"
  5752  	//   "U12"
  5753  	//   "U13"
  5754  	//   "U14"
  5755  	//   "U15"
  5756  	//   "U16"
  5757  	//   "U17"
  5758  	//   "U18"
  5759  	//   "U19"
  5760  	//   "U2"
  5761  	//   "U20"
  5762  	//   "U21"
  5763  	//   "U22"
  5764  	//   "U23"
  5765  	//   "U24"
  5766  	//   "U25"
  5767  	//   "U26"
  5768  	//   "U27"
  5769  	//   "U28"
  5770  	//   "U29"
  5771  	//   "U3"
  5772  	//   "U30"
  5773  	//   "U31"
  5774  	//   "U32"
  5775  	//   "U33"
  5776  	//   "U34"
  5777  	//   "U35"
  5778  	//   "U36"
  5779  	//   "U37"
  5780  	//   "U38"
  5781  	//   "U39"
  5782  	//   "U4"
  5783  	//   "U40"
  5784  	//   "U41"
  5785  	//   "U42"
  5786  	//   "U43"
  5787  	//   "U44"
  5788  	//   "U45"
  5789  	//   "U46"
  5790  	//   "U47"
  5791  	//   "U48"
  5792  	//   "U49"
  5793  	//   "U5"
  5794  	//   "U50"
  5795  	//   "U51"
  5796  	//   "U52"
  5797  	//   "U53"
  5798  	//   "U54"
  5799  	//   "U55"
  5800  	//   "U56"
  5801  	//   "U57"
  5802  	//   "U58"
  5803  	//   "U59"
  5804  	//   "U6"
  5805  	//   "U60"
  5806  	//   "U61"
  5807  	//   "U62"
  5808  	//   "U63"
  5809  	//   "U64"
  5810  	//   "U65"
  5811  	//   "U66"
  5812  	//   "U67"
  5813  	//   "U68"
  5814  	//   "U69"
  5815  	//   "U7"
  5816  	//   "U70"
  5817  	//   "U71"
  5818  	//   "U72"
  5819  	//   "U73"
  5820  	//   "U74"
  5821  	//   "U75"
  5822  	//   "U76"
  5823  	//   "U77"
  5824  	//   "U78"
  5825  	//   "U79"
  5826  	//   "U8"
  5827  	//   "U80"
  5828  	//   "U81"
  5829  	//   "U82"
  5830  	//   "U83"
  5831  	//   "U84"
  5832  	//   "U85"
  5833  	//   "U86"
  5834  	//   "U87"
  5835  	//   "U88"
  5836  	//   "U89"
  5837  	//   "U9"
  5838  	//   "U90"
  5839  	//   "U91"
  5840  	//   "U92"
  5841  	//   "U93"
  5842  	//   "U94"
  5843  	//   "U95"
  5844  	//   "U96"
  5845  	//   "U97"
  5846  	//   "U98"
  5847  	//   "U99"
  5848  	Type string `json:"type,omitempty"`
  5849  
  5850  	// Value: The value of the custom floodlight variable. The length of
  5851  	// string must not exceed 50 characters.
  5852  	Value string `json:"value,omitempty"`
  5853  
  5854  	// ForceSendFields is a list of field names (e.g. "Kind") to
  5855  	// unconditionally include in API requests. By default, fields with
  5856  	// empty values are omitted from API requests. However, any non-pointer,
  5857  	// non-interface field appearing in ForceSendFields will be sent to the
  5858  	// server regardless of whether the field is empty or not. This may be
  5859  	// used to include empty fields in Patch requests.
  5860  	ForceSendFields []string `json:"-"`
  5861  
  5862  	// NullFields is a list of field names (e.g. "Kind") to include in API
  5863  	// requests with the JSON null value. By default, fields with empty
  5864  	// values are omitted from API requests. However, any field with an
  5865  	// empty value appearing in NullFields will be sent to the server as
  5866  	// null. It is an error if a field in this list has a non-empty value.
  5867  	// This may be used to include null fields in Patch requests.
  5868  	NullFields []string `json:"-"`
  5869  }
  5870  
  5871  func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
  5872  	type NoMethod CustomFloodlightVariable
  5873  	raw := NoMethod(*s)
  5874  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5875  }
  5876  
  5877  // CustomRichMediaEvents: Represents a Custom Rich Media Events group.
  5878  type CustomRichMediaEvents struct {
  5879  	// FilteredEventIds: List of custom rich media event IDs. Dimension
  5880  	// values must be all of type dfa:richMediaEventTypeIdAndName.
  5881  	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
  5882  
  5883  	// Kind: The kind of resource this is, in this case
  5884  	// dfareporting#customRichMediaEvents.
  5885  	Kind string `json:"kind,omitempty"`
  5886  
  5887  	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
  5888  	// unconditionally include in API requests. By default, fields with
  5889  	// empty values are omitted from API requests. However, any non-pointer,
  5890  	// non-interface field appearing in ForceSendFields will be sent to the
  5891  	// server regardless of whether the field is empty or not. This may be
  5892  	// used to include empty fields in Patch requests.
  5893  	ForceSendFields []string `json:"-"`
  5894  
  5895  	// NullFields is a list of field names (e.g. "FilteredEventIds") to
  5896  	// include in API requests with the JSON null value. By default, fields
  5897  	// with empty values are omitted from API requests. However, any field
  5898  	// with an empty value appearing in NullFields will be sent to the
  5899  	// server as null. It is an error if a field in this list has a
  5900  	// non-empty value. This may be used to include null fields in Patch
  5901  	// requests.
  5902  	NullFields []string `json:"-"`
  5903  }
  5904  
  5905  func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
  5906  	type NoMethod CustomRichMediaEvents
  5907  	raw := NoMethod(*s)
  5908  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5909  }
  5910  
  5911  // DateRange: Represents a date range.
  5912  type DateRange struct {
  5913  	// EndDate: The end date of the date range, inclusive. A string of the
  5914  	// format: "yyyy-MM-dd".
  5915  	EndDate string `json:"endDate,omitempty"`
  5916  
  5917  	// Kind: The kind of resource this is, in this case
  5918  	// dfareporting#dateRange.
  5919  	Kind string `json:"kind,omitempty"`
  5920  
  5921  	// RelativeDateRange: The date range relative to the date of when the
  5922  	// report is run.
  5923  	//
  5924  	// Possible values:
  5925  	//   "LAST_14_DAYS"
  5926  	//   "LAST_24_MONTHS"
  5927  	//   "LAST_30_DAYS"
  5928  	//   "LAST_365_DAYS"
  5929  	//   "LAST_60_DAYS"
  5930  	//   "LAST_7_DAYS"
  5931  	//   "LAST_90_DAYS"
  5932  	//   "MONTH_TO_DATE"
  5933  	//   "PREVIOUS_MONTH"
  5934  	//   "PREVIOUS_QUARTER"
  5935  	//   "PREVIOUS_WEEK"
  5936  	//   "PREVIOUS_YEAR"
  5937  	//   "QUARTER_TO_DATE"
  5938  	//   "TODAY"
  5939  	//   "WEEK_TO_DATE"
  5940  	//   "YEAR_TO_DATE"
  5941  	//   "YESTERDAY"
  5942  	RelativeDateRange string `json:"relativeDateRange,omitempty"`
  5943  
  5944  	// StartDate: The start date of the date range, inclusive. A string of
  5945  	// the format: "yyyy-MM-dd".
  5946  	StartDate string `json:"startDate,omitempty"`
  5947  
  5948  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  5949  	// unconditionally include in API requests. By default, fields with
  5950  	// empty values are omitted from API requests. However, any non-pointer,
  5951  	// non-interface field appearing in ForceSendFields will be sent to the
  5952  	// server regardless of whether the field is empty or not. This may be
  5953  	// used to include empty fields in Patch requests.
  5954  	ForceSendFields []string `json:"-"`
  5955  
  5956  	// NullFields is a list of field names (e.g. "EndDate") to include in
  5957  	// API requests with the JSON null value. By default, fields with empty
  5958  	// values are omitted from API requests. However, any field with an
  5959  	// empty value appearing in NullFields will be sent to the server as
  5960  	// null. It is an error if a field in this list has a non-empty value.
  5961  	// This may be used to include null fields in Patch requests.
  5962  	NullFields []string `json:"-"`
  5963  }
  5964  
  5965  func (s *DateRange) MarshalJSON() ([]byte, error) {
  5966  	type NoMethod DateRange
  5967  	raw := NoMethod(*s)
  5968  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5969  }
  5970  
  5971  // DayPartTargeting: Day Part Targeting.
  5972  type DayPartTargeting struct {
  5973  	// DaysOfWeek: Days of the week when the ad will serve.
  5974  	//
  5975  	// Acceptable values are:
  5976  	// - "SUNDAY"
  5977  	// - "MONDAY"
  5978  	// - "TUESDAY"
  5979  	// - "WEDNESDAY"
  5980  	// - "THURSDAY"
  5981  	// - "FRIDAY"
  5982  	// - "SATURDAY"
  5983  	//
  5984  	// Possible values:
  5985  	//   "FRIDAY"
  5986  	//   "MONDAY"
  5987  	//   "SATURDAY"
  5988  	//   "SUNDAY"
  5989  	//   "THURSDAY"
  5990  	//   "TUESDAY"
  5991  	//   "WEDNESDAY"
  5992  	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
  5993  
  5994  	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
  5995  	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
  5996  	// days of week, in which case the ad would serve during these hours on
  5997  	// the specified days. For example if Monday, Wednesday, Friday are the
  5998  	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
  5999  	// specified, the ad would serve Monday, Wednesdays, and Fridays at
  6000  	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
  6001  	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
  6002  
  6003  	// UserLocalTime: Whether or not to use the user's local time. If false,
  6004  	// the America/New York time zone applies.
  6005  	UserLocalTime bool `json:"userLocalTime,omitempty"`
  6006  
  6007  	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
  6008  	// unconditionally include in API requests. By default, fields with
  6009  	// empty values are omitted from API requests. However, any non-pointer,
  6010  	// non-interface field appearing in ForceSendFields will be sent to the
  6011  	// server regardless of whether the field is empty or not. This may be
  6012  	// used to include empty fields in Patch requests.
  6013  	ForceSendFields []string `json:"-"`
  6014  
  6015  	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
  6016  	// API requests with the JSON null value. By default, fields with empty
  6017  	// values are omitted from API requests. However, any field with an
  6018  	// empty value appearing in NullFields will be sent to the server as
  6019  	// null. It is an error if a field in this list has a non-empty value.
  6020  	// This may be used to include null fields in Patch requests.
  6021  	NullFields []string `json:"-"`
  6022  }
  6023  
  6024  func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
  6025  	type NoMethod DayPartTargeting
  6026  	raw := NoMethod(*s)
  6027  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6028  }
  6029  
  6030  // DeepLink: Contains information about a landing page deep link.
  6031  type DeepLink struct {
  6032  	// AppUrl: The URL of the mobile app being linked to.
  6033  	AppUrl string `json:"appUrl,omitempty"`
  6034  
  6035  	// FallbackUrl: The fallback URL. This URL will be served to users who
  6036  	// do not have the mobile app installed.
  6037  	FallbackUrl string `json:"fallbackUrl,omitempty"`
  6038  
  6039  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6040  	// string "dfareporting#deepLink".
  6041  	Kind string `json:"kind,omitempty"`
  6042  
  6043  	// MobileApp: The mobile app targeted by this deep link.
  6044  	MobileApp *MobileApp `json:"mobileApp,omitempty"`
  6045  
  6046  	// RemarketingListIds: Ads served to users on these remarketing lists
  6047  	// will use this deep link. Applicable when mobileApp.directory is
  6048  	// APPLE_APP_STORE.
  6049  	RemarketingListIds googleapi.Int64s `json:"remarketingListIds,omitempty"`
  6050  
  6051  	// ForceSendFields is a list of field names (e.g. "AppUrl") to
  6052  	// unconditionally include in API requests. By default, fields with
  6053  	// empty values are omitted from API requests. However, any non-pointer,
  6054  	// non-interface field appearing in ForceSendFields will be sent to the
  6055  	// server regardless of whether the field is empty or not. This may be
  6056  	// used to include empty fields in Patch requests.
  6057  	ForceSendFields []string `json:"-"`
  6058  
  6059  	// NullFields is a list of field names (e.g. "AppUrl") to include in API
  6060  	// requests with the JSON null value. By default, fields with empty
  6061  	// values are omitted from API requests. However, any field with an
  6062  	// empty value appearing in NullFields will be sent to the server as
  6063  	// null. It is an error if a field in this list has a non-empty value.
  6064  	// This may be used to include null fields in Patch requests.
  6065  	NullFields []string `json:"-"`
  6066  }
  6067  
  6068  func (s *DeepLink) MarshalJSON() ([]byte, error) {
  6069  	type NoMethod DeepLink
  6070  	raw := NoMethod(*s)
  6071  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6072  }
  6073  
  6074  // DefaultClickThroughEventTagProperties: Properties of inheriting and
  6075  // overriding the default click-through event tag. A campaign may
  6076  // override the event tag defined at the advertiser level, and an ad may
  6077  // also override the campaign's setting further.
  6078  type DefaultClickThroughEventTagProperties struct {
  6079  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  6080  	// apply to all ads in this entity's scope.
  6081  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  6082  
  6083  	// OverrideInheritedEventTag: Whether this entity should override the
  6084  	// inherited default click-through event tag with its own defined value.
  6085  	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
  6086  
  6087  	// ForceSendFields is a list of field names (e.g.
  6088  	// "DefaultClickThroughEventTagId") to unconditionally include in API
  6089  	// requests. By default, fields with empty values are omitted from API
  6090  	// requests. However, any non-pointer, non-interface field appearing in
  6091  	// ForceSendFields will be sent to the server regardless of whether the
  6092  	// field is empty or not. This may be used to include empty fields in
  6093  	// Patch requests.
  6094  	ForceSendFields []string `json:"-"`
  6095  
  6096  	// NullFields is a list of field names (e.g.
  6097  	// "DefaultClickThroughEventTagId") to include in API requests with the
  6098  	// JSON null value. By default, fields with empty values are omitted
  6099  	// from API requests. However, any field with an empty value appearing
  6100  	// in NullFields will be sent to the server as null. It is an error if a
  6101  	// field in this list has a non-empty value. This may be used to include
  6102  	// null fields in Patch requests.
  6103  	NullFields []string `json:"-"`
  6104  }
  6105  
  6106  func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
  6107  	type NoMethod DefaultClickThroughEventTagProperties
  6108  	raw := NoMethod(*s)
  6109  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6110  }
  6111  
  6112  // DeliverySchedule: Delivery Schedule.
  6113  type DeliverySchedule struct {
  6114  	// FrequencyCap: Limit on the number of times an individual user can be
  6115  	// served the ad within a specified period of time.
  6116  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  6117  
  6118  	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
  6119  	// will not serve after the end date and time. Otherwise the ad will
  6120  	// continue to be served until it has reached its delivery goals.
  6121  	HardCutoff bool `json:"hardCutoff,omitempty"`
  6122  
  6123  	// ImpressionRatio: Impression ratio for this ad. This ratio determines
  6124  	// how often each ad is served relative to the others. For example, if
  6125  	// ad A has an impression ratio of 1 and ad B has an impression ratio of
  6126  	// 3, then Campaign Manager will serve ad B three times as often as ad
  6127  	// A. Acceptable values are 1 to 10, inclusive.
  6128  	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
  6129  
  6130  	// Priority: Serving priority of an ad, with respect to other ads. The
  6131  	// lower the priority number, the greater the priority with which it is
  6132  	// served.
  6133  	//
  6134  	// Possible values:
  6135  	//   "AD_PRIORITY_01"
  6136  	//   "AD_PRIORITY_02"
  6137  	//   "AD_PRIORITY_03"
  6138  	//   "AD_PRIORITY_04"
  6139  	//   "AD_PRIORITY_05"
  6140  	//   "AD_PRIORITY_06"
  6141  	//   "AD_PRIORITY_07"
  6142  	//   "AD_PRIORITY_08"
  6143  	//   "AD_PRIORITY_09"
  6144  	//   "AD_PRIORITY_10"
  6145  	//   "AD_PRIORITY_11"
  6146  	//   "AD_PRIORITY_12"
  6147  	//   "AD_PRIORITY_13"
  6148  	//   "AD_PRIORITY_14"
  6149  	//   "AD_PRIORITY_15"
  6150  	//   "AD_PRIORITY_16"
  6151  	Priority string `json:"priority,omitempty"`
  6152  
  6153  	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
  6154  	// unconditionally include in API requests. By default, fields with
  6155  	// empty values are omitted from API requests. However, any non-pointer,
  6156  	// non-interface field appearing in ForceSendFields will be sent to the
  6157  	// server regardless of whether the field is empty or not. This may be
  6158  	// used to include empty fields in Patch requests.
  6159  	ForceSendFields []string `json:"-"`
  6160  
  6161  	// NullFields is a list of field names (e.g. "FrequencyCap") to include
  6162  	// in API requests with the JSON null value. By default, fields with
  6163  	// empty values are omitted from API requests. However, any field with
  6164  	// an empty value appearing in NullFields will be sent to the server as
  6165  	// null. It is an error if a field in this list has a non-empty value.
  6166  	// This may be used to include null fields in Patch requests.
  6167  	NullFields []string `json:"-"`
  6168  }
  6169  
  6170  func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
  6171  	type NoMethod DeliverySchedule
  6172  	raw := NoMethod(*s)
  6173  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6174  }
  6175  
  6176  // DfpSettings: Google Ad Manager Settings
  6177  type DfpSettings struct {
  6178  	// DfpNetworkCode: Ad Manager network code for this directory site.
  6179  	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
  6180  
  6181  	// DfpNetworkName: Ad Manager network name for this directory site.
  6182  	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
  6183  
  6184  	// ProgrammaticPlacementAccepted: Whether this directory site accepts
  6185  	// programmatic placements.
  6186  	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
  6187  
  6188  	// PubPaidPlacementAccepted: Whether this directory site accepts
  6189  	// publisher-paid tags.
  6190  	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
  6191  
  6192  	// PublisherPortalOnly: Whether this directory site is available only
  6193  	// via Publisher Portal.
  6194  	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
  6195  
  6196  	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
  6197  	// unconditionally include in API requests. By default, fields with
  6198  	// empty values are omitted from API requests. However, any non-pointer,
  6199  	// non-interface field appearing in ForceSendFields will be sent to the
  6200  	// server regardless of whether the field is empty or not. This may be
  6201  	// used to include empty fields in Patch requests.
  6202  	ForceSendFields []string `json:"-"`
  6203  
  6204  	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
  6205  	// include in API requests with the JSON null value. By default, fields
  6206  	// with empty values are omitted from API requests. However, any field
  6207  	// with an empty value appearing in NullFields will be sent to the
  6208  	// server as null. It is an error if a field in this list has a
  6209  	// non-empty value. This may be used to include null fields in Patch
  6210  	// requests.
  6211  	NullFields []string `json:"-"`
  6212  }
  6213  
  6214  func (s *DfpSettings) MarshalJSON() ([]byte, error) {
  6215  	type NoMethod DfpSettings
  6216  	raw := NoMethod(*s)
  6217  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6218  }
  6219  
  6220  // Dimension: Represents a dimension.
  6221  type Dimension struct {
  6222  	// Kind: The kind of resource this is, in this case
  6223  	// dfareporting#dimension.
  6224  	Kind string `json:"kind,omitempty"`
  6225  
  6226  	// Name: The dimension name, e.g. dfa:advertiser
  6227  	Name string `json:"name,omitempty"`
  6228  
  6229  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6230  	// unconditionally include in API requests. By default, fields with
  6231  	// empty values are omitted from API requests. However, any non-pointer,
  6232  	// non-interface field appearing in ForceSendFields will be sent to the
  6233  	// server regardless of whether the field is empty or not. This may be
  6234  	// used to include empty fields in Patch requests.
  6235  	ForceSendFields []string `json:"-"`
  6236  
  6237  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6238  	// requests with the JSON null value. By default, fields with empty
  6239  	// values are omitted from API requests. However, any field with an
  6240  	// empty value appearing in NullFields will be sent to the server as
  6241  	// null. It is an error if a field in this list has a non-empty value.
  6242  	// This may be used to include null fields in Patch requests.
  6243  	NullFields []string `json:"-"`
  6244  }
  6245  
  6246  func (s *Dimension) MarshalJSON() ([]byte, error) {
  6247  	type NoMethod Dimension
  6248  	raw := NoMethod(*s)
  6249  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6250  }
  6251  
  6252  // DimensionFilter: Represents a dimension filter.
  6253  type DimensionFilter struct {
  6254  	// DimensionName: The name of the dimension to filter.
  6255  	DimensionName string `json:"dimensionName,omitempty"`
  6256  
  6257  	// Kind: The kind of resource this is, in this case
  6258  	// dfareporting#dimensionFilter.
  6259  	Kind string `json:"kind,omitempty"`
  6260  
  6261  	// Value: The value of the dimension to filter.
  6262  	Value string `json:"value,omitempty"`
  6263  
  6264  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6265  	// unconditionally include in API requests. By default, fields with
  6266  	// empty values are omitted from API requests. However, any non-pointer,
  6267  	// non-interface field appearing in ForceSendFields will be sent to the
  6268  	// server regardless of whether the field is empty or not. This may be
  6269  	// used to include empty fields in Patch requests.
  6270  	ForceSendFields []string `json:"-"`
  6271  
  6272  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6273  	// in API requests with the JSON null value. By default, fields with
  6274  	// empty values are omitted from API requests. However, any field with
  6275  	// an empty value appearing in NullFields will be sent to the server as
  6276  	// null. It is an error if a field in this list has a non-empty value.
  6277  	// This may be used to include null fields in Patch requests.
  6278  	NullFields []string `json:"-"`
  6279  }
  6280  
  6281  func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
  6282  	type NoMethod DimensionFilter
  6283  	raw := NoMethod(*s)
  6284  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6285  }
  6286  
  6287  // DimensionValue: Represents a DimensionValue resource.
  6288  type DimensionValue struct {
  6289  	// DimensionName: The name of the dimension.
  6290  	DimensionName string `json:"dimensionName,omitempty"`
  6291  
  6292  	// Etag: The eTag of this response for caching purposes.
  6293  	Etag string `json:"etag,omitempty"`
  6294  
  6295  	// Id: The ID associated with the value if available.
  6296  	Id string `json:"id,omitempty"`
  6297  
  6298  	// Kind: The kind of resource this is, in this case
  6299  	// dfareporting#dimensionValue.
  6300  	Kind string `json:"kind,omitempty"`
  6301  
  6302  	// MatchType: Determines how the 'value' field is matched when
  6303  	// filtering. If not specified, defaults to EXACT. If set to
  6304  	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
  6305  	// length character sequences, and it can be escaped with a backslash.
  6306  	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
  6307  	// matchType other than EXACT.
  6308  	//
  6309  	// Possible values:
  6310  	//   "BEGINS_WITH"
  6311  	//   "CONTAINS"
  6312  	//   "EXACT"
  6313  	//   "WILDCARD_EXPRESSION"
  6314  	MatchType string `json:"matchType,omitempty"`
  6315  
  6316  	// Value: The value of the dimension.
  6317  	Value string `json:"value,omitempty"`
  6318  
  6319  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6320  	// unconditionally include in API requests. By default, fields with
  6321  	// empty values are omitted from API requests. However, any non-pointer,
  6322  	// non-interface field appearing in ForceSendFields will be sent to the
  6323  	// server regardless of whether the field is empty or not. This may be
  6324  	// used to include empty fields in Patch requests.
  6325  	ForceSendFields []string `json:"-"`
  6326  
  6327  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6328  	// in API requests with the JSON null value. By default, fields with
  6329  	// empty values are omitted from API requests. However, any field with
  6330  	// an empty value appearing in NullFields will be sent to the server as
  6331  	// null. It is an error if a field in this list has a non-empty value.
  6332  	// This may be used to include null fields in Patch requests.
  6333  	NullFields []string `json:"-"`
  6334  }
  6335  
  6336  func (s *DimensionValue) MarshalJSON() ([]byte, error) {
  6337  	type NoMethod DimensionValue
  6338  	raw := NoMethod(*s)
  6339  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6340  }
  6341  
  6342  // DimensionValueList: Represents the list of DimensionValue resources.
  6343  type DimensionValueList struct {
  6344  	// Etag: The eTag of this response for caching purposes.
  6345  	Etag string `json:"etag,omitempty"`
  6346  
  6347  	// Items: The dimension values returned in this response.
  6348  	Items []*DimensionValue `json:"items,omitempty"`
  6349  
  6350  	// Kind: The kind of list this is, in this case
  6351  	// dfareporting#dimensionValueList.
  6352  	Kind string `json:"kind,omitempty"`
  6353  
  6354  	// NextPageToken: Continuation token used to page through dimension
  6355  	// values. To retrieve the next page of results, set the next request's
  6356  	// "pageToken" to the value of this field. The page token is only valid
  6357  	// for a limited amount of time and should not be persisted.
  6358  	NextPageToken string `json:"nextPageToken,omitempty"`
  6359  
  6360  	// ServerResponse contains the HTTP response code and headers from the
  6361  	// server.
  6362  	googleapi.ServerResponse `json:"-"`
  6363  
  6364  	// ForceSendFields is a list of field names (e.g. "Etag") to
  6365  	// unconditionally include in API requests. By default, fields with
  6366  	// empty values are omitted from API requests. However, any non-pointer,
  6367  	// non-interface field appearing in ForceSendFields will be sent to the
  6368  	// server regardless of whether the field is empty or not. This may be
  6369  	// used to include empty fields in Patch requests.
  6370  	ForceSendFields []string `json:"-"`
  6371  
  6372  	// NullFields is a list of field names (e.g. "Etag") to include in API
  6373  	// requests with the JSON null value. By default, fields with empty
  6374  	// values are omitted from API requests. However, any field with an
  6375  	// empty value appearing in NullFields will be sent to the server as
  6376  	// null. It is an error if a field in this list has a non-empty value.
  6377  	// This may be used to include null fields in Patch requests.
  6378  	NullFields []string `json:"-"`
  6379  }
  6380  
  6381  func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
  6382  	type NoMethod DimensionValueList
  6383  	raw := NoMethod(*s)
  6384  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6385  }
  6386  
  6387  // DimensionValueRequest: Represents a DimensionValuesRequest.
  6388  type DimensionValueRequest struct {
  6389  	// DimensionName: The name of the dimension for which values should be
  6390  	// requested.
  6391  	DimensionName string `json:"dimensionName,omitempty"`
  6392  
  6393  	// EndDate: The end date of the date range for which to retrieve
  6394  	// dimension values. A string of the format "yyyy-MM-dd".
  6395  	EndDate string `json:"endDate,omitempty"`
  6396  
  6397  	// Filters: The list of filters by which to filter values. The filters
  6398  	// are ANDed.
  6399  	Filters []*DimensionFilter `json:"filters,omitempty"`
  6400  
  6401  	// Kind: The kind of request this is, in this case
  6402  	// dfareporting#dimensionValueRequest.
  6403  	Kind string `json:"kind,omitempty"`
  6404  
  6405  	// StartDate: The start date of the date range for which to retrieve
  6406  	// dimension values. A string of the format "yyyy-MM-dd".
  6407  	StartDate string `json:"startDate,omitempty"`
  6408  
  6409  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6410  	// unconditionally include in API requests. By default, fields with
  6411  	// empty values are omitted from API requests. However, any non-pointer,
  6412  	// non-interface field appearing in ForceSendFields will be sent to the
  6413  	// server regardless of whether the field is empty or not. This may be
  6414  	// used to include empty fields in Patch requests.
  6415  	ForceSendFields []string `json:"-"`
  6416  
  6417  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6418  	// in API requests with the JSON null value. By default, fields with
  6419  	// empty values are omitted from API requests. However, any field with
  6420  	// an empty value appearing in NullFields will be sent to the server as
  6421  	// null. It is an error if a field in this list has a non-empty value.
  6422  	// This may be used to include null fields in Patch requests.
  6423  	NullFields []string `json:"-"`
  6424  }
  6425  
  6426  func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
  6427  	type NoMethod DimensionValueRequest
  6428  	raw := NoMethod(*s)
  6429  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6430  }
  6431  
  6432  // DirectorySite: DirectorySites contains properties of a website from
  6433  // the Site Directory. Sites need to be added to an account via the
  6434  // Sites resource before they can be assigned to a placement.
  6435  type DirectorySite struct {
  6436  	// Active: Whether this directory site is active.
  6437  	Active bool `json:"active,omitempty"`
  6438  
  6439  	// Id: ID of this directory site. This is a read-only, auto-generated
  6440  	// field.
  6441  	Id int64 `json:"id,omitempty,string"`
  6442  
  6443  	// IdDimensionValue: Dimension value for the ID of this directory site.
  6444  	// This is a read-only, auto-generated field.
  6445  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  6446  
  6447  	// InpageTagFormats: Tag types for regular placements.
  6448  	//
  6449  	// Acceptable values are:
  6450  	// - "STANDARD"
  6451  	// - "IFRAME_JAVASCRIPT_INPAGE"
  6452  	// - "INTERNAL_REDIRECT_INPAGE"
  6453  	// - "JAVASCRIPT_INPAGE"
  6454  	//
  6455  	// Possible values:
  6456  	//   "IFRAME_JAVASCRIPT_INPAGE"
  6457  	//   "INTERNAL_REDIRECT_INPAGE"
  6458  	//   "JAVASCRIPT_INPAGE"
  6459  	//   "STANDARD"
  6460  	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
  6461  
  6462  	// InterstitialTagFormats: Tag types for interstitial
  6463  	// placements.
  6464  	//
  6465  	// Acceptable values are:
  6466  	// - "IFRAME_JAVASCRIPT_INTERSTITIAL"
  6467  	// - "INTERNAL_REDIRECT_INTERSTITIAL"
  6468  	// - "JAVASCRIPT_INTERSTITIAL"
  6469  	//
  6470  	// Possible values:
  6471  	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
  6472  	//   "INTERNAL_REDIRECT_INTERSTITIAL"
  6473  	//   "JAVASCRIPT_INTERSTITIAL"
  6474  	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
  6475  
  6476  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6477  	// string "dfareporting#directorySite".
  6478  	Kind string `json:"kind,omitempty"`
  6479  
  6480  	// Name: Name of this directory site.
  6481  	Name string `json:"name,omitempty"`
  6482  
  6483  	// Settings: Directory site settings.
  6484  	Settings *DirectorySiteSettings `json:"settings,omitempty"`
  6485  
  6486  	// Url: URL of this directory site.
  6487  	Url string `json:"url,omitempty"`
  6488  
  6489  	// ServerResponse contains the HTTP response code and headers from the
  6490  	// server.
  6491  	googleapi.ServerResponse `json:"-"`
  6492  
  6493  	// ForceSendFields is a list of field names (e.g. "Active") to
  6494  	// unconditionally include in API requests. By default, fields with
  6495  	// empty values are omitted from API requests. However, any non-pointer,
  6496  	// non-interface field appearing in ForceSendFields will be sent to the
  6497  	// server regardless of whether the field is empty or not. This may be
  6498  	// used to include empty fields in Patch requests.
  6499  	ForceSendFields []string `json:"-"`
  6500  
  6501  	// NullFields is a list of field names (e.g. "Active") to include in API
  6502  	// requests with the JSON null value. By default, fields with empty
  6503  	// values are omitted from API requests. However, any field with an
  6504  	// empty value appearing in NullFields will be sent to the server as
  6505  	// null. It is an error if a field in this list has a non-empty value.
  6506  	// This may be used to include null fields in Patch requests.
  6507  	NullFields []string `json:"-"`
  6508  }
  6509  
  6510  func (s *DirectorySite) MarshalJSON() ([]byte, error) {
  6511  	type NoMethod DirectorySite
  6512  	raw := NoMethod(*s)
  6513  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6514  }
  6515  
  6516  // DirectorySiteSettings: Directory Site Settings
  6517  type DirectorySiteSettings struct {
  6518  	// ActiveViewOptOut: Whether this directory site has disabled active
  6519  	// view creatives.
  6520  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
  6521  
  6522  	// DfpSettings: Directory site Ad Manager settings.
  6523  	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
  6524  
  6525  	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
  6526  	// video ads.
  6527  	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
  6528  
  6529  	// InterstitialPlacementAccepted: Whether this site accepts interstitial
  6530  	// ads.
  6531  	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
  6532  
  6533  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
  6534  	// unconditionally include in API requests. By default, fields with
  6535  	// empty values are omitted from API requests. However, any non-pointer,
  6536  	// non-interface field appearing in ForceSendFields will be sent to the
  6537  	// server regardless of whether the field is empty or not. This may be
  6538  	// used to include empty fields in Patch requests.
  6539  	ForceSendFields []string `json:"-"`
  6540  
  6541  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
  6542  	// include in API requests with the JSON null value. By default, fields
  6543  	// with empty values are omitted from API requests. However, any field
  6544  	// with an empty value appearing in NullFields will be sent to the
  6545  	// server as null. It is an error if a field in this list has a
  6546  	// non-empty value. This may be used to include null fields in Patch
  6547  	// requests.
  6548  	NullFields []string `json:"-"`
  6549  }
  6550  
  6551  func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
  6552  	type NoMethod DirectorySiteSettings
  6553  	raw := NoMethod(*s)
  6554  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6555  }
  6556  
  6557  // DirectorySitesListResponse: Directory Site List Response
  6558  type DirectorySitesListResponse struct {
  6559  	// DirectorySites: Directory site collection.
  6560  	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
  6561  
  6562  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6563  	// string "dfareporting#directorySitesListResponse".
  6564  	Kind string `json:"kind,omitempty"`
  6565  
  6566  	// NextPageToken: Pagination token to be used for the next list
  6567  	// operation.
  6568  	NextPageToken string `json:"nextPageToken,omitempty"`
  6569  
  6570  	// ServerResponse contains the HTTP response code and headers from the
  6571  	// server.
  6572  	googleapi.ServerResponse `json:"-"`
  6573  
  6574  	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
  6575  	// unconditionally include in API requests. By default, fields with
  6576  	// empty values are omitted from API requests. However, any non-pointer,
  6577  	// non-interface field appearing in ForceSendFields will be sent to the
  6578  	// server regardless of whether the field is empty or not. This may be
  6579  	// used to include empty fields in Patch requests.
  6580  	ForceSendFields []string `json:"-"`
  6581  
  6582  	// NullFields is a list of field names (e.g. "DirectorySites") to
  6583  	// include in API requests with the JSON null value. By default, fields
  6584  	// with empty values are omitted from API requests. However, any field
  6585  	// with an empty value appearing in NullFields will be sent to the
  6586  	// server as null. It is an error if a field in this list has a
  6587  	// non-empty value. This may be used to include null fields in Patch
  6588  	// requests.
  6589  	NullFields []string `json:"-"`
  6590  }
  6591  
  6592  func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
  6593  	type NoMethod DirectorySitesListResponse
  6594  	raw := NoMethod(*s)
  6595  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6596  }
  6597  
  6598  // DynamicTargetingKey: Contains properties of a dynamic targeting key.
  6599  // Dynamic targeting keys are unique, user-friendly labels, created at
  6600  // the advertiser level in DCM, that can be assigned to ads, creatives,
  6601  // and placements and used for targeting with Studio dynamic creatives.
  6602  // Use these labels instead of numeric Campaign Manager IDs (such as
  6603  // placement IDs) to save time and avoid errors in your dynamic feeds.
  6604  type DynamicTargetingKey struct {
  6605  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6606  	// string "dfareporting#dynamicTargetingKey".
  6607  	Kind string `json:"kind,omitempty"`
  6608  
  6609  	// Name: Name of this dynamic targeting key. This is a required field.
  6610  	// Must be less than 256 characters long and cannot contain commas. All
  6611  	// characters are converted to lowercase.
  6612  	Name string `json:"name,omitempty"`
  6613  
  6614  	// ObjectId: ID of the object of this dynamic targeting key. This is a
  6615  	// required field.
  6616  	ObjectId int64 `json:"objectId,omitempty,string"`
  6617  
  6618  	// ObjectType: Type of the object of this dynamic targeting key. This is
  6619  	// a required field.
  6620  	//
  6621  	// Possible values:
  6622  	//   "OBJECT_AD"
  6623  	//   "OBJECT_ADVERTISER"
  6624  	//   "OBJECT_CREATIVE"
  6625  	//   "OBJECT_PLACEMENT"
  6626  	ObjectType string `json:"objectType,omitempty"`
  6627  
  6628  	// ServerResponse contains the HTTP response code and headers from the
  6629  	// server.
  6630  	googleapi.ServerResponse `json:"-"`
  6631  
  6632  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6633  	// unconditionally include in API requests. By default, fields with
  6634  	// empty values are omitted from API requests. However, any non-pointer,
  6635  	// non-interface field appearing in ForceSendFields will be sent to the
  6636  	// server regardless of whether the field is empty or not. This may be
  6637  	// used to include empty fields in Patch requests.
  6638  	ForceSendFields []string `json:"-"`
  6639  
  6640  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6641  	// requests with the JSON null value. By default, fields with empty
  6642  	// values are omitted from API requests. However, any field with an
  6643  	// empty value appearing in NullFields will be sent to the server as
  6644  	// null. It is an error if a field in this list has a non-empty value.
  6645  	// This may be used to include null fields in Patch requests.
  6646  	NullFields []string `json:"-"`
  6647  }
  6648  
  6649  func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
  6650  	type NoMethod DynamicTargetingKey
  6651  	raw := NoMethod(*s)
  6652  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6653  }
  6654  
  6655  // DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
  6656  type DynamicTargetingKeysListResponse struct {
  6657  	// DynamicTargetingKeys: Dynamic targeting key collection.
  6658  	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
  6659  
  6660  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6661  	// string "dfareporting#dynamicTargetingKeysListResponse".
  6662  	Kind string `json:"kind,omitempty"`
  6663  
  6664  	// ServerResponse contains the HTTP response code and headers from the
  6665  	// server.
  6666  	googleapi.ServerResponse `json:"-"`
  6667  
  6668  	// ForceSendFields is a list of field names (e.g.
  6669  	// "DynamicTargetingKeys") to unconditionally include in API requests.
  6670  	// By default, fields with empty values are omitted from API requests.
  6671  	// However, any non-pointer, non-interface field appearing in
  6672  	// ForceSendFields will be sent to the server regardless of whether the
  6673  	// field is empty or not. This may be used to include empty fields in
  6674  	// Patch requests.
  6675  	ForceSendFields []string `json:"-"`
  6676  
  6677  	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
  6678  	// include in API requests with the JSON null value. By default, fields
  6679  	// with empty values are omitted from API requests. However, any field
  6680  	// with an empty value appearing in NullFields will be sent to the
  6681  	// server as null. It is an error if a field in this list has a
  6682  	// non-empty value. This may be used to include null fields in Patch
  6683  	// requests.
  6684  	NullFields []string `json:"-"`
  6685  }
  6686  
  6687  func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
  6688  	type NoMethod DynamicTargetingKeysListResponse
  6689  	raw := NoMethod(*s)
  6690  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6691  }
  6692  
  6693  // EncryptionInfo: A description of how user IDs are encrypted.
  6694  type EncryptionInfo struct {
  6695  	// EncryptionEntityId: The encryption entity ID. This should match the
  6696  	// encryption configuration for ad serving or Data Transfer.
  6697  	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
  6698  
  6699  	// EncryptionEntityType: The encryption entity type. This should match
  6700  	// the encryption configuration for ad serving or Data Transfer.
  6701  	//
  6702  	// Possible values:
  6703  	//   "ADWORDS_CUSTOMER"
  6704  	//   "DBM_ADVERTISER"
  6705  	//   "DBM_PARTNER"
  6706  	//   "DCM_ACCOUNT"
  6707  	//   "DCM_ADVERTISER"
  6708  	//   "DFP_NETWORK_CODE"
  6709  	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
  6710  	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
  6711  
  6712  	// EncryptionSource: Describes whether the encrypted cookie was received
  6713  	// from ad serving (the %m macro) or from Data Transfer.
  6714  	//
  6715  	// Possible values:
  6716  	//   "AD_SERVING"
  6717  	//   "DATA_TRANSFER"
  6718  	//   "ENCRYPTION_SCOPE_UNKNOWN"
  6719  	EncryptionSource string `json:"encryptionSource,omitempty"`
  6720  
  6721  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6722  	// string "dfareporting#encryptionInfo".
  6723  	Kind string `json:"kind,omitempty"`
  6724  
  6725  	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
  6726  	// to unconditionally include in API requests. By default, fields with
  6727  	// empty values are omitted from API requests. However, any non-pointer,
  6728  	// non-interface field appearing in ForceSendFields will be sent to the
  6729  	// server regardless of whether the field is empty or not. This may be
  6730  	// used to include empty fields in Patch requests.
  6731  	ForceSendFields []string `json:"-"`
  6732  
  6733  	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
  6734  	// include in API requests with the JSON null value. By default, fields
  6735  	// with empty values are omitted from API requests. However, any field
  6736  	// with an empty value appearing in NullFields will be sent to the
  6737  	// server as null. It is an error if a field in this list has a
  6738  	// non-empty value. This may be used to include null fields in Patch
  6739  	// requests.
  6740  	NullFields []string `json:"-"`
  6741  }
  6742  
  6743  func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
  6744  	type NoMethod EncryptionInfo
  6745  	raw := NoMethod(*s)
  6746  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6747  }
  6748  
  6749  // EventTag: Contains properties of an event tag.
  6750  type EventTag struct {
  6751  	// AccountId: Account ID of this event tag. This is a read-only field
  6752  	// that can be left blank.
  6753  	AccountId int64 `json:"accountId,omitempty,string"`
  6754  
  6755  	// AdvertiserId: Advertiser ID of this event tag. This field or the
  6756  	// campaignId field is required on insertion.
  6757  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  6758  
  6759  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  6760  	// advertiser. This is a read-only, auto-generated field.
  6761  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  6762  
  6763  	// CampaignId: Campaign ID of this event tag. This field or the
  6764  	// advertiserId field is required on insertion.
  6765  	CampaignId int64 `json:"campaignId,omitempty,string"`
  6766  
  6767  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  6768  	// This is a read-only, auto-generated field.
  6769  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  6770  
  6771  	// EnabledByDefault: Whether this event tag should be automatically
  6772  	// enabled for all of the advertiser's campaigns and ads.
  6773  	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
  6774  
  6775  	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
  6776  	// that are trafficked through Display & Video 360 to Ad Exchange. This
  6777  	// may be useful if the event tag uses a pixel that is unapproved for Ad
  6778  	// Exchange bids on one or more networks, such as the Google Display
  6779  	// Network.
  6780  	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
  6781  
  6782  	// Id: ID of this event tag. This is a read-only, auto-generated field.
  6783  	Id int64 `json:"id,omitempty,string"`
  6784  
  6785  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6786  	// string "dfareporting#eventTag".
  6787  	Kind string `json:"kind,omitempty"`
  6788  
  6789  	// Name: Name of this event tag. This is a required field and must be
  6790  	// less than 256 characters long.
  6791  	Name string `json:"name,omitempty"`
  6792  
  6793  	// SiteFilterType: Site filter type for this event tag. If no type is
  6794  	// specified then the event tag will be applied to all sites.
  6795  	//
  6796  	// Possible values:
  6797  	//   "BLACKLIST"
  6798  	//   "WHITELIST"
  6799  	SiteFilterType string `json:"siteFilterType,omitempty"`
  6800  
  6801  	// SiteIds: Filter list of site IDs associated with this event tag. The
  6802  	// siteFilterType determines whether this is a whitelist or blacklist
  6803  	// filter.
  6804  	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
  6805  
  6806  	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
  6807  	// read-only field.
  6808  	SslCompliant bool `json:"sslCompliant,omitempty"`
  6809  
  6810  	// Status: Status of this event tag. Must be ENABLED for this event tag
  6811  	// to fire. This is a required field.
  6812  	//
  6813  	// Possible values:
  6814  	//   "DISABLED"
  6815  	//   "ENABLED"
  6816  	Status string `json:"status,omitempty"`
  6817  
  6818  	// SubaccountId: Subaccount ID of this event tag. This is a read-only
  6819  	// field that can be left blank.
  6820  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  6821  
  6822  	// Type: Event tag type. Can be used to specify whether to use a
  6823  	// third-party pixel, a third-party JavaScript URL, or a third-party
  6824  	// click-through URL for either impression or click tracking. This is a
  6825  	// required field.
  6826  	//
  6827  	// Possible values:
  6828  	//   "CLICK_THROUGH_EVENT_TAG"
  6829  	//   "IMPRESSION_IMAGE_EVENT_TAG"
  6830  	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
  6831  	Type string `json:"type,omitempty"`
  6832  
  6833  	// Url: Payload URL for this event tag. The URL on a click-through event
  6834  	// tag should have a landing page URL appended to the end of it. This
  6835  	// field is required on insertion.
  6836  	Url string `json:"url,omitempty"`
  6837  
  6838  	// UrlEscapeLevels: Number of times the landing page URL should be
  6839  	// URL-escaped before being appended to the click-through event tag URL.
  6840  	// Only applies to click-through event tags as specified by the event
  6841  	// tag type.
  6842  	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
  6843  
  6844  	// ServerResponse contains the HTTP response code and headers from the
  6845  	// server.
  6846  	googleapi.ServerResponse `json:"-"`
  6847  
  6848  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  6849  	// unconditionally include in API requests. By default, fields with
  6850  	// empty values are omitted from API requests. However, any non-pointer,
  6851  	// non-interface field appearing in ForceSendFields will be sent to the
  6852  	// server regardless of whether the field is empty or not. This may be
  6853  	// used to include empty fields in Patch requests.
  6854  	ForceSendFields []string `json:"-"`
  6855  
  6856  	// NullFields is a list of field names (e.g. "AccountId") to include in
  6857  	// API requests with the JSON null value. By default, fields with empty
  6858  	// values are omitted from API requests. However, any field with an
  6859  	// empty value appearing in NullFields will be sent to the server as
  6860  	// null. It is an error if a field in this list has a non-empty value.
  6861  	// This may be used to include null fields in Patch requests.
  6862  	NullFields []string `json:"-"`
  6863  }
  6864  
  6865  func (s *EventTag) MarshalJSON() ([]byte, error) {
  6866  	type NoMethod EventTag
  6867  	raw := NoMethod(*s)
  6868  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6869  }
  6870  
  6871  // EventTagOverride: Event tag override information.
  6872  type EventTagOverride struct {
  6873  	// Enabled: Whether this override is enabled.
  6874  	Enabled bool `json:"enabled,omitempty"`
  6875  
  6876  	// Id: ID of this event tag override. This is a read-only,
  6877  	// auto-generated field.
  6878  	Id int64 `json:"id,omitempty,string"`
  6879  
  6880  	// ForceSendFields is a list of field names (e.g. "Enabled") to
  6881  	// unconditionally include in API requests. By default, fields with
  6882  	// empty values are omitted from API requests. However, any non-pointer,
  6883  	// non-interface field appearing in ForceSendFields will be sent to the
  6884  	// server regardless of whether the field is empty or not. This may be
  6885  	// used to include empty fields in Patch requests.
  6886  	ForceSendFields []string `json:"-"`
  6887  
  6888  	// NullFields is a list of field names (e.g. "Enabled") to include in
  6889  	// API requests with the JSON null value. By default, fields with empty
  6890  	// values are omitted from API requests. However, any field with an
  6891  	// empty value appearing in NullFields will be sent to the server as
  6892  	// null. It is an error if a field in this list has a non-empty value.
  6893  	// This may be used to include null fields in Patch requests.
  6894  	NullFields []string `json:"-"`
  6895  }
  6896  
  6897  func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
  6898  	type NoMethod EventTagOverride
  6899  	raw := NoMethod(*s)
  6900  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6901  }
  6902  
  6903  // EventTagsListResponse: Event Tag List Response
  6904  type EventTagsListResponse struct {
  6905  	// EventTags: Event tag collection.
  6906  	EventTags []*EventTag `json:"eventTags,omitempty"`
  6907  
  6908  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6909  	// string "dfareporting#eventTagsListResponse".
  6910  	Kind string `json:"kind,omitempty"`
  6911  
  6912  	// ServerResponse contains the HTTP response code and headers from the
  6913  	// server.
  6914  	googleapi.ServerResponse `json:"-"`
  6915  
  6916  	// ForceSendFields is a list of field names (e.g. "EventTags") to
  6917  	// unconditionally include in API requests. By default, fields with
  6918  	// empty values are omitted from API requests. However, any non-pointer,
  6919  	// non-interface field appearing in ForceSendFields will be sent to the
  6920  	// server regardless of whether the field is empty or not. This may be
  6921  	// used to include empty fields in Patch requests.
  6922  	ForceSendFields []string `json:"-"`
  6923  
  6924  	// NullFields is a list of field names (e.g. "EventTags") to include in
  6925  	// API requests with the JSON null value. By default, fields with empty
  6926  	// values are omitted from API requests. However, any field with an
  6927  	// empty value appearing in NullFields will be sent to the server as
  6928  	// null. It is an error if a field in this list has a non-empty value.
  6929  	// This may be used to include null fields in Patch requests.
  6930  	NullFields []string `json:"-"`
  6931  }
  6932  
  6933  func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
  6934  	type NoMethod EventTagsListResponse
  6935  	raw := NoMethod(*s)
  6936  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6937  }
  6938  
  6939  // File: Represents a File resource. A file contains the metadata for a
  6940  // report run. It shows the status of the run and holds the URLs to the
  6941  // generated report data if the run is finished and the status is
  6942  // "REPORT_AVAILABLE".
  6943  type File struct {
  6944  	// DateRange: The date range for which the file has report data. The
  6945  	// date range will always be the absolute date range for which the
  6946  	// report is run.
  6947  	DateRange *DateRange `json:"dateRange,omitempty"`
  6948  
  6949  	// Etag: The eTag of this response for caching purposes.
  6950  	Etag string `json:"etag,omitempty"`
  6951  
  6952  	// FileName: The filename of the file.
  6953  	FileName string `json:"fileName,omitempty"`
  6954  
  6955  	// Format: The output format of the report. Only available once the file
  6956  	// is available.
  6957  	//
  6958  	// Possible values:
  6959  	//   "CSV"
  6960  	//   "EXCEL"
  6961  	Format string `json:"format,omitempty"`
  6962  
  6963  	// Id: The unique ID of this report file.
  6964  	Id int64 `json:"id,omitempty,string"`
  6965  
  6966  	// Kind: The kind of resource this is, in this case dfareporting#file.
  6967  	Kind string `json:"kind,omitempty"`
  6968  
  6969  	// LastModifiedTime: The timestamp in milliseconds since epoch when this
  6970  	// file was last modified.
  6971  	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
  6972  
  6973  	// ReportId: The ID of the report this file was generated from.
  6974  	ReportId int64 `json:"reportId,omitempty,string"`
  6975  
  6976  	// Status: The status of the report file.
  6977  	//
  6978  	// Possible values:
  6979  	//   "CANCELLED"
  6980  	//   "FAILED"
  6981  	//   "PROCESSING"
  6982  	//   "REPORT_AVAILABLE"
  6983  	Status string `json:"status,omitempty"`
  6984  
  6985  	// Urls: The URLs where the completed report file can be downloaded.
  6986  	Urls *FileUrls `json:"urls,omitempty"`
  6987  
  6988  	// ServerResponse contains the HTTP response code and headers from the
  6989  	// server.
  6990  	googleapi.ServerResponse `json:"-"`
  6991  
  6992  	// ForceSendFields is a list of field names (e.g. "DateRange") to
  6993  	// unconditionally include in API requests. By default, fields with
  6994  	// empty values are omitted from API requests. However, any non-pointer,
  6995  	// non-interface field appearing in ForceSendFields will be sent to the
  6996  	// server regardless of whether the field is empty or not. This may be
  6997  	// used to include empty fields in Patch requests.
  6998  	ForceSendFields []string `json:"-"`
  6999  
  7000  	// NullFields is a list of field names (e.g. "DateRange") to include in
  7001  	// API requests with the JSON null value. By default, fields with empty
  7002  	// values are omitted from API requests. However, any field with an
  7003  	// empty value appearing in NullFields will be sent to the server as
  7004  	// null. It is an error if a field in this list has a non-empty value.
  7005  	// This may be used to include null fields in Patch requests.
  7006  	NullFields []string `json:"-"`
  7007  }
  7008  
  7009  func (s *File) MarshalJSON() ([]byte, error) {
  7010  	type NoMethod File
  7011  	raw := NoMethod(*s)
  7012  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7013  }
  7014  
  7015  // FileUrls: The URLs where the completed report file can be downloaded.
  7016  type FileUrls struct {
  7017  	// ApiUrl: The URL for downloading the report data through the API.
  7018  	ApiUrl string `json:"apiUrl,omitempty"`
  7019  
  7020  	// BrowserUrl: The URL for downloading the report data through a
  7021  	// browser.
  7022  	BrowserUrl string `json:"browserUrl,omitempty"`
  7023  
  7024  	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
  7025  	// unconditionally include in API requests. By default, fields with
  7026  	// empty values are omitted from API requests. However, any non-pointer,
  7027  	// non-interface field appearing in ForceSendFields will be sent to the
  7028  	// server regardless of whether the field is empty or not. This may be
  7029  	// used to include empty fields in Patch requests.
  7030  	ForceSendFields []string `json:"-"`
  7031  
  7032  	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
  7033  	// requests with the JSON null value. By default, fields with empty
  7034  	// values are omitted from API requests. However, any field with an
  7035  	// empty value appearing in NullFields will be sent to the server as
  7036  	// null. It is an error if a field in this list has a non-empty value.
  7037  	// This may be used to include null fields in Patch requests.
  7038  	NullFields []string `json:"-"`
  7039  }
  7040  
  7041  func (s *FileUrls) MarshalJSON() ([]byte, error) {
  7042  	type NoMethod FileUrls
  7043  	raw := NoMethod(*s)
  7044  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7045  }
  7046  
  7047  // FileList: Represents the list of File resources.
  7048  type FileList struct {
  7049  	// Etag: The eTag of this response for caching purposes.
  7050  	Etag string `json:"etag,omitempty"`
  7051  
  7052  	// Items: The files returned in this response.
  7053  	Items []*File `json:"items,omitempty"`
  7054  
  7055  	// Kind: The kind of list this is, in this case dfareporting#fileList.
  7056  	Kind string `json:"kind,omitempty"`
  7057  
  7058  	// NextPageToken: Continuation token used to page through files. To
  7059  	// retrieve the next page of results, set the next request's "pageToken"
  7060  	// to the value of this field. The page token is only valid for a
  7061  	// limited amount of time and should not be persisted.
  7062  	NextPageToken string `json:"nextPageToken,omitempty"`
  7063  
  7064  	// ServerResponse contains the HTTP response code and headers from the
  7065  	// server.
  7066  	googleapi.ServerResponse `json:"-"`
  7067  
  7068  	// ForceSendFields is a list of field names (e.g. "Etag") to
  7069  	// unconditionally include in API requests. By default, fields with
  7070  	// empty values are omitted from API requests. However, any non-pointer,
  7071  	// non-interface field appearing in ForceSendFields will be sent to the
  7072  	// server regardless of whether the field is empty or not. This may be
  7073  	// used to include empty fields in Patch requests.
  7074  	ForceSendFields []string `json:"-"`
  7075  
  7076  	// NullFields is a list of field names (e.g. "Etag") to include in API
  7077  	// requests with the JSON null value. By default, fields with empty
  7078  	// values are omitted from API requests. However, any field with an
  7079  	// empty value appearing in NullFields will be sent to the server as
  7080  	// null. It is an error if a field in this list has a non-empty value.
  7081  	// This may be used to include null fields in Patch requests.
  7082  	NullFields []string `json:"-"`
  7083  }
  7084  
  7085  func (s *FileList) MarshalJSON() ([]byte, error) {
  7086  	type NoMethod FileList
  7087  	raw := NoMethod(*s)
  7088  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7089  }
  7090  
  7091  // Flight: Flight
  7092  type Flight struct {
  7093  	// EndDate: Inventory item flight end date.
  7094  	EndDate string `json:"endDate,omitempty"`
  7095  
  7096  	// RateOrCost: Rate or cost of this flight.
  7097  	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
  7098  
  7099  	// StartDate: Inventory item flight start date.
  7100  	StartDate string `json:"startDate,omitempty"`
  7101  
  7102  	// Units: Units of this flight.
  7103  	Units int64 `json:"units,omitempty,string"`
  7104  
  7105  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  7106  	// unconditionally include in API requests. By default, fields with
  7107  	// empty values are omitted from API requests. However, any non-pointer,
  7108  	// non-interface field appearing in ForceSendFields will be sent to the
  7109  	// server regardless of whether the field is empty or not. This may be
  7110  	// used to include empty fields in Patch requests.
  7111  	ForceSendFields []string `json:"-"`
  7112  
  7113  	// NullFields is a list of field names (e.g. "EndDate") to include in
  7114  	// API requests with the JSON null value. By default, fields with empty
  7115  	// values are omitted from API requests. However, any field with an
  7116  	// empty value appearing in NullFields will be sent to the server as
  7117  	// null. It is an error if a field in this list has a non-empty value.
  7118  	// This may be used to include null fields in Patch requests.
  7119  	NullFields []string `json:"-"`
  7120  }
  7121  
  7122  func (s *Flight) MarshalJSON() ([]byte, error) {
  7123  	type NoMethod Flight
  7124  	raw := NoMethod(*s)
  7125  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7126  }
  7127  
  7128  // FloodlightActivitiesGenerateTagResponse: Floodlight Activity
  7129  // GenerateTag Response
  7130  type FloodlightActivitiesGenerateTagResponse struct {
  7131  	// FloodlightActivityTag: Generated tag for this Floodlight activity.
  7132  	// For global site tags, this is the event snippet.
  7133  	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
  7134  
  7135  	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
  7136  	// site tag. The global site tag sets new cookies on your domain, which
  7137  	// will store a unique identifier for a user or the ad click that
  7138  	// brought the user to your site. Learn more.
  7139  	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
  7140  
  7141  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7142  	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
  7143  	Kind string `json:"kind,omitempty"`
  7144  
  7145  	// ServerResponse contains the HTTP response code and headers from the
  7146  	// server.
  7147  	googleapi.ServerResponse `json:"-"`
  7148  
  7149  	// ForceSendFields is a list of field names (e.g.
  7150  	// "FloodlightActivityTag") to unconditionally include in API requests.
  7151  	// By default, fields with empty values are omitted from API requests.
  7152  	// However, any non-pointer, non-interface field appearing in
  7153  	// ForceSendFields will be sent to the server regardless of whether the
  7154  	// field is empty or not. This may be used to include empty fields in
  7155  	// Patch requests.
  7156  	ForceSendFields []string `json:"-"`
  7157  
  7158  	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
  7159  	// include in API requests with the JSON null value. By default, fields
  7160  	// with empty values are omitted from API requests. However, any field
  7161  	// with an empty value appearing in NullFields will be sent to the
  7162  	// server as null. It is an error if a field in this list has a
  7163  	// non-empty value. This may be used to include null fields in Patch
  7164  	// requests.
  7165  	NullFields []string `json:"-"`
  7166  }
  7167  
  7168  func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
  7169  	type NoMethod FloodlightActivitiesGenerateTagResponse
  7170  	raw := NoMethod(*s)
  7171  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7172  }
  7173  
  7174  // FloodlightActivitiesListResponse: Floodlight Activity List Response
  7175  type FloodlightActivitiesListResponse struct {
  7176  	// FloodlightActivities: Floodlight activity collection.
  7177  	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
  7178  
  7179  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7180  	// string "dfareporting#floodlightActivitiesListResponse".
  7181  	Kind string `json:"kind,omitempty"`
  7182  
  7183  	// NextPageToken: Pagination token to be used for the next list
  7184  	// operation.
  7185  	NextPageToken string `json:"nextPageToken,omitempty"`
  7186  
  7187  	// ServerResponse contains the HTTP response code and headers from the
  7188  	// server.
  7189  	googleapi.ServerResponse `json:"-"`
  7190  
  7191  	// ForceSendFields is a list of field names (e.g.
  7192  	// "FloodlightActivities") to unconditionally include in API requests.
  7193  	// By default, fields with empty values are omitted from API requests.
  7194  	// However, any non-pointer, non-interface field appearing in
  7195  	// ForceSendFields will be sent to the server regardless of whether the
  7196  	// field is empty or not. This may be used to include empty fields in
  7197  	// Patch requests.
  7198  	ForceSendFields []string `json:"-"`
  7199  
  7200  	// NullFields is a list of field names (e.g. "FloodlightActivities") to
  7201  	// include in API requests with the JSON null value. By default, fields
  7202  	// with empty values are omitted from API requests. However, any field
  7203  	// with an empty value appearing in NullFields will be sent to the
  7204  	// server as null. It is an error if a field in this list has a
  7205  	// non-empty value. This may be used to include null fields in Patch
  7206  	// requests.
  7207  	NullFields []string `json:"-"`
  7208  }
  7209  
  7210  func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
  7211  	type NoMethod FloodlightActivitiesListResponse
  7212  	raw := NoMethod(*s)
  7213  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7214  }
  7215  
  7216  // FloodlightActivity: Contains properties of a Floodlight activity.
  7217  type FloodlightActivity struct {
  7218  	// AccountId: Account ID of this floodlight activity. This is a
  7219  	// read-only field that can be left blank.
  7220  	AccountId int64 `json:"accountId,omitempty,string"`
  7221  
  7222  	// AdvertiserId: Advertiser ID of this floodlight activity. If this
  7223  	// field is left blank, the value will be copied over either from the
  7224  	// activity group's advertiser or the existing activity's advertiser.
  7225  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7226  
  7227  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7228  	// advertiser. This is a read-only, auto-generated field.
  7229  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7230  
  7231  	// CacheBustingType: Code type used for cache busting in the generated
  7232  	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
  7233  	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
  7234  	//
  7235  	// Possible values:
  7236  	//   "ACTIVE_SERVER_PAGE"
  7237  	//   "COLD_FUSION"
  7238  	//   "JAVASCRIPT"
  7239  	//   "JSP"
  7240  	//   "PHP"
  7241  	CacheBustingType string `json:"cacheBustingType,omitempty"`
  7242  
  7243  	// CountingMethod: Counting method for conversions for this floodlight
  7244  	// activity. This is a required field.
  7245  	//
  7246  	// Possible values:
  7247  	//   "ITEMS_SOLD_COUNTING"
  7248  	//   "SESSION_COUNTING"
  7249  	//   "STANDARD_COUNTING"
  7250  	//   "TRANSACTIONS_COUNTING"
  7251  	//   "UNIQUE_COUNTING"
  7252  	CountingMethod string `json:"countingMethod,omitempty"`
  7253  
  7254  	// DefaultTags: Dynamic floodlight tags.
  7255  	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
  7256  
  7257  	// ExpectedUrl: URL where this tag will be deployed. If specified, must
  7258  	// be less than 256 characters long.
  7259  	ExpectedUrl string `json:"expectedUrl,omitempty"`
  7260  
  7261  	// FloodlightActivityGroupId: Floodlight activity group ID of this
  7262  	// floodlight activity. This is a required field.
  7263  	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
  7264  
  7265  	// FloodlightActivityGroupName: Name of the associated floodlight
  7266  	// activity group. This is a read-only field.
  7267  	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
  7268  
  7269  	// FloodlightActivityGroupTagString: Tag string of the associated
  7270  	// floodlight activity group. This is a read-only field.
  7271  	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
  7272  
  7273  	// FloodlightActivityGroupType: Type of the associated floodlight
  7274  	// activity group. This is a read-only field.
  7275  	//
  7276  	// Possible values:
  7277  	//   "COUNTER"
  7278  	//   "SALE"
  7279  	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
  7280  
  7281  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7282  	// floodlight activity. If this field is left blank, the value will be
  7283  	// copied over either from the activity group's floodlight configuration
  7284  	// or from the existing activity's floodlight configuration.
  7285  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7286  
  7287  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7288  	// of the floodlight configuration. This is a read-only, auto-generated
  7289  	// field.
  7290  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7291  
  7292  	// FloodlightTagType: The type of Floodlight tag this activity will
  7293  	// generate. This is a required field.
  7294  	//
  7295  	// Possible values:
  7296  	//   "GLOBAL_SITE_TAG"
  7297  	//   "IFRAME"
  7298  	//   "IMAGE"
  7299  	FloodlightTagType string `json:"floodlightTagType,omitempty"`
  7300  
  7301  	// Id: ID of this floodlight activity. This is a read-only,
  7302  	// auto-generated field.
  7303  	Id int64 `json:"id,omitempty,string"`
  7304  
  7305  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7306  	// activity. This is a read-only, auto-generated field.
  7307  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7308  
  7309  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7310  	// string "dfareporting#floodlightActivity".
  7311  	Kind string `json:"kind,omitempty"`
  7312  
  7313  	// Name: Name of this floodlight activity. This is a required field.
  7314  	// Must be less than 129 characters long and cannot contain quotes.
  7315  	Name string `json:"name,omitempty"`
  7316  
  7317  	// Notes: General notes or implementation instructions for the tag.
  7318  	Notes string `json:"notes,omitempty"`
  7319  
  7320  	// PublisherTags: Publisher dynamic floodlight tags.
  7321  	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
  7322  
  7323  	// Secure: Whether this tag should use SSL.
  7324  	Secure bool `json:"secure,omitempty"`
  7325  
  7326  	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
  7327  	// is a read-only field, its value detected by the system from the
  7328  	// floodlight tags.
  7329  	SslCompliant bool `json:"sslCompliant,omitempty"`
  7330  
  7331  	// SslRequired: Whether this floodlight activity must be SSL-compliant.
  7332  	SslRequired bool `json:"sslRequired,omitempty"`
  7333  
  7334  	// SubaccountId: Subaccount ID of this floodlight activity. This is a
  7335  	// read-only field that can be left blank.
  7336  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7337  
  7338  	// TagFormat: Tag format type for the floodlight activity. If left
  7339  	// blank, the tag format will default to HTML.
  7340  	//
  7341  	// Possible values:
  7342  	//   "HTML"
  7343  	//   "XHTML"
  7344  	TagFormat string `json:"tagFormat,omitempty"`
  7345  
  7346  	// TagString: Value of the cat= parameter in the floodlight tag, which
  7347  	// the ad servers use to identify the activity. This is optional: if
  7348  	// empty, a new tag string will be generated for you. This string must
  7349  	// be 1 to 8 characters long, with valid characters being
  7350  	// [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among
  7351  	// activities of the same activity group. This field is read-only after
  7352  	// insertion.
  7353  	TagString string `json:"tagString,omitempty"`
  7354  
  7355  	// UserDefinedVariableTypes: List of the user-defined variables used by
  7356  	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
  7357  	// of these can have a user defined type.
  7358  	// Acceptable values are U1 to U100, inclusive.
  7359  	//
  7360  	// Possible values:
  7361  	//   "U1"
  7362  	//   "U10"
  7363  	//   "U100"
  7364  	//   "U11"
  7365  	//   "U12"
  7366  	//   "U13"
  7367  	//   "U14"
  7368  	//   "U15"
  7369  	//   "U16"
  7370  	//   "U17"
  7371  	//   "U18"
  7372  	//   "U19"
  7373  	//   "U2"
  7374  	//   "U20"
  7375  	//   "U21"
  7376  	//   "U22"
  7377  	//   "U23"
  7378  	//   "U24"
  7379  	//   "U25"
  7380  	//   "U26"
  7381  	//   "U27"
  7382  	//   "U28"
  7383  	//   "U29"
  7384  	//   "U3"
  7385  	//   "U30"
  7386  	//   "U31"
  7387  	//   "U32"
  7388  	//   "U33"
  7389  	//   "U34"
  7390  	//   "U35"
  7391  	//   "U36"
  7392  	//   "U37"
  7393  	//   "U38"
  7394  	//   "U39"
  7395  	//   "U4"
  7396  	//   "U40"
  7397  	//   "U41"
  7398  	//   "U42"
  7399  	//   "U43"
  7400  	//   "U44"
  7401  	//   "U45"
  7402  	//   "U46"
  7403  	//   "U47"
  7404  	//   "U48"
  7405  	//   "U49"
  7406  	//   "U5"
  7407  	//   "U50"
  7408  	//   "U51"
  7409  	//   "U52"
  7410  	//   "U53"
  7411  	//   "U54"
  7412  	//   "U55"
  7413  	//   "U56"
  7414  	//   "U57"
  7415  	//   "U58"
  7416  	//   "U59"
  7417  	//   "U6"
  7418  	//   "U60"
  7419  	//   "U61"
  7420  	//   "U62"
  7421  	//   "U63"
  7422  	//   "U64"
  7423  	//   "U65"
  7424  	//   "U66"
  7425  	//   "U67"
  7426  	//   "U68"
  7427  	//   "U69"
  7428  	//   "U7"
  7429  	//   "U70"
  7430  	//   "U71"
  7431  	//   "U72"
  7432  	//   "U73"
  7433  	//   "U74"
  7434  	//   "U75"
  7435  	//   "U76"
  7436  	//   "U77"
  7437  	//   "U78"
  7438  	//   "U79"
  7439  	//   "U8"
  7440  	//   "U80"
  7441  	//   "U81"
  7442  	//   "U82"
  7443  	//   "U83"
  7444  	//   "U84"
  7445  	//   "U85"
  7446  	//   "U86"
  7447  	//   "U87"
  7448  	//   "U88"
  7449  	//   "U89"
  7450  	//   "U9"
  7451  	//   "U90"
  7452  	//   "U91"
  7453  	//   "U92"
  7454  	//   "U93"
  7455  	//   "U94"
  7456  	//   "U95"
  7457  	//   "U96"
  7458  	//   "U97"
  7459  	//   "U98"
  7460  	//   "U99"
  7461  	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
  7462  
  7463  	// ServerResponse contains the HTTP response code and headers from the
  7464  	// server.
  7465  	googleapi.ServerResponse `json:"-"`
  7466  
  7467  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7468  	// unconditionally include in API requests. By default, fields with
  7469  	// empty values are omitted from API requests. However, any non-pointer,
  7470  	// non-interface field appearing in ForceSendFields will be sent to the
  7471  	// server regardless of whether the field is empty or not. This may be
  7472  	// used to include empty fields in Patch requests.
  7473  	ForceSendFields []string `json:"-"`
  7474  
  7475  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7476  	// API requests with the JSON null value. By default, fields with empty
  7477  	// values are omitted from API requests. However, any field with an
  7478  	// empty value appearing in NullFields will be sent to the server as
  7479  	// null. It is an error if a field in this list has a non-empty value.
  7480  	// This may be used to include null fields in Patch requests.
  7481  	NullFields []string `json:"-"`
  7482  }
  7483  
  7484  func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
  7485  	type NoMethod FloodlightActivity
  7486  	raw := NoMethod(*s)
  7487  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7488  }
  7489  
  7490  // FloodlightActivityDynamicTag: Dynamic Tag
  7491  type FloodlightActivityDynamicTag struct {
  7492  	// Id: ID of this dynamic tag. This is a read-only, auto-generated
  7493  	// field.
  7494  	Id int64 `json:"id,omitempty,string"`
  7495  
  7496  	// Name: Name of this tag.
  7497  	Name string `json:"name,omitempty"`
  7498  
  7499  	// Tag: Tag code.
  7500  	Tag string `json:"tag,omitempty"`
  7501  
  7502  	// ForceSendFields is a list of field names (e.g. "Id") to
  7503  	// unconditionally include in API requests. By default, fields with
  7504  	// empty values are omitted from API requests. However, any non-pointer,
  7505  	// non-interface field appearing in ForceSendFields will be sent to the
  7506  	// server regardless of whether the field is empty or not. This may be
  7507  	// used to include empty fields in Patch requests.
  7508  	ForceSendFields []string `json:"-"`
  7509  
  7510  	// NullFields is a list of field names (e.g. "Id") to include in API
  7511  	// requests with the JSON null value. By default, fields with empty
  7512  	// values are omitted from API requests. However, any field with an
  7513  	// empty value appearing in NullFields will be sent to the server as
  7514  	// null. It is an error if a field in this list has a non-empty value.
  7515  	// This may be used to include null fields in Patch requests.
  7516  	NullFields []string `json:"-"`
  7517  }
  7518  
  7519  func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
  7520  	type NoMethod FloodlightActivityDynamicTag
  7521  	raw := NoMethod(*s)
  7522  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7523  }
  7524  
  7525  // FloodlightActivityGroup: Contains properties of a Floodlight activity
  7526  // group.
  7527  type FloodlightActivityGroup struct {
  7528  	// AccountId: Account ID of this floodlight activity group. This is a
  7529  	// read-only field that can be left blank.
  7530  	AccountId int64 `json:"accountId,omitempty,string"`
  7531  
  7532  	// AdvertiserId: Advertiser ID of this floodlight activity group. If
  7533  	// this field is left blank, the value will be copied over either from
  7534  	// the floodlight configuration's advertiser or from the existing
  7535  	// activity group's advertiser.
  7536  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7537  
  7538  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7539  	// advertiser. This is a read-only, auto-generated field.
  7540  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7541  
  7542  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7543  	// floodlight activity group. This is a required field.
  7544  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7545  
  7546  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7547  	// of the floodlight configuration. This is a read-only, auto-generated
  7548  	// field.
  7549  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7550  
  7551  	// Id: ID of this floodlight activity group. This is a read-only,
  7552  	// auto-generated field.
  7553  	Id int64 `json:"id,omitempty,string"`
  7554  
  7555  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7556  	// activity group. This is a read-only, auto-generated field.
  7557  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7558  
  7559  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7560  	// string "dfareporting#floodlightActivityGroup".
  7561  	Kind string `json:"kind,omitempty"`
  7562  
  7563  	// Name: Name of this floodlight activity group. This is a required
  7564  	// field. Must be less than 65 characters long and cannot contain
  7565  	// quotes.
  7566  	Name string `json:"name,omitempty"`
  7567  
  7568  	// SubaccountId: Subaccount ID of this floodlight activity group. This
  7569  	// is a read-only field that can be left blank.
  7570  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7571  
  7572  	// TagString: Value of the type= parameter in the floodlight tag, which
  7573  	// the ad servers use to identify the activity group that the activity
  7574  	// belongs to. This is optional: if empty, a new tag string will be
  7575  	// generated for you. This string must be 1 to 8 characters long, with
  7576  	// valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must
  7577  	// also be unique among activity groups of the same floodlight
  7578  	// configuration. This field is read-only after insertion.
  7579  	TagString string `json:"tagString,omitempty"`
  7580  
  7581  	// Type: Type of the floodlight activity group. This is a required field
  7582  	// that is read-only after insertion.
  7583  	//
  7584  	// Possible values:
  7585  	//   "COUNTER"
  7586  	//   "SALE"
  7587  	Type string `json:"type,omitempty"`
  7588  
  7589  	// ServerResponse contains the HTTP response code and headers from the
  7590  	// server.
  7591  	googleapi.ServerResponse `json:"-"`
  7592  
  7593  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7594  	// unconditionally include in API requests. By default, fields with
  7595  	// empty values are omitted from API requests. However, any non-pointer,
  7596  	// non-interface field appearing in ForceSendFields will be sent to the
  7597  	// server regardless of whether the field is empty or not. This may be
  7598  	// used to include empty fields in Patch requests.
  7599  	ForceSendFields []string `json:"-"`
  7600  
  7601  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7602  	// API requests with the JSON null value. By default, fields with empty
  7603  	// values are omitted from API requests. However, any field with an
  7604  	// empty value appearing in NullFields will be sent to the server as
  7605  	// null. It is an error if a field in this list has a non-empty value.
  7606  	// This may be used to include null fields in Patch requests.
  7607  	NullFields []string `json:"-"`
  7608  }
  7609  
  7610  func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
  7611  	type NoMethod FloodlightActivityGroup
  7612  	raw := NoMethod(*s)
  7613  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7614  }
  7615  
  7616  // FloodlightActivityGroupsListResponse: Floodlight Activity Group List
  7617  // Response
  7618  type FloodlightActivityGroupsListResponse struct {
  7619  	// FloodlightActivityGroups: Floodlight activity group collection.
  7620  	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
  7621  
  7622  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7623  	// string "dfareporting#floodlightActivityGroupsListResponse".
  7624  	Kind string `json:"kind,omitempty"`
  7625  
  7626  	// NextPageToken: Pagination token to be used for the next list
  7627  	// operation.
  7628  	NextPageToken string `json:"nextPageToken,omitempty"`
  7629  
  7630  	// ServerResponse contains the HTTP response code and headers from the
  7631  	// server.
  7632  	googleapi.ServerResponse `json:"-"`
  7633  
  7634  	// ForceSendFields is a list of field names (e.g.
  7635  	// "FloodlightActivityGroups") to unconditionally include in API
  7636  	// requests. By default, fields with empty values are omitted from API
  7637  	// requests. However, any non-pointer, non-interface field appearing in
  7638  	// ForceSendFields will be sent to the server regardless of whether the
  7639  	// field is empty or not. This may be used to include empty fields in
  7640  	// Patch requests.
  7641  	ForceSendFields []string `json:"-"`
  7642  
  7643  	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
  7644  	// to include in API requests with the JSON null value. By default,
  7645  	// fields with empty values are omitted from API requests. However, any
  7646  	// field with an empty value appearing in NullFields will be sent to the
  7647  	// server as null. It is an error if a field in this list has a
  7648  	// non-empty value. This may be used to include null fields in Patch
  7649  	// requests.
  7650  	NullFields []string `json:"-"`
  7651  }
  7652  
  7653  func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
  7654  	type NoMethod FloodlightActivityGroupsListResponse
  7655  	raw := NoMethod(*s)
  7656  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7657  }
  7658  
  7659  // FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
  7660  type FloodlightActivityPublisherDynamicTag struct {
  7661  	// ClickThrough: Whether this tag is applicable only for click-throughs.
  7662  	ClickThrough bool `json:"clickThrough,omitempty"`
  7663  
  7664  	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
  7665  	// write-only field that can be used as an alternative to the siteId
  7666  	// field. When this resource is retrieved, only the siteId field will be
  7667  	// populated.
  7668  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  7669  
  7670  	// DynamicTag: Dynamic floodlight tag.
  7671  	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
  7672  
  7673  	// SiteId: Site ID of this dynamic tag.
  7674  	SiteId int64 `json:"siteId,omitempty,string"`
  7675  
  7676  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  7677  	// a read-only, auto-generated field.
  7678  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  7679  
  7680  	// ViewThrough: Whether this tag is applicable only for view-throughs.
  7681  	ViewThrough bool `json:"viewThrough,omitempty"`
  7682  
  7683  	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
  7684  	// unconditionally include in API requests. By default, fields with
  7685  	// empty values are omitted from API requests. However, any non-pointer,
  7686  	// non-interface field appearing in ForceSendFields will be sent to the
  7687  	// server regardless of whether the field is empty or not. This may be
  7688  	// used to include empty fields in Patch requests.
  7689  	ForceSendFields []string `json:"-"`
  7690  
  7691  	// NullFields is a list of field names (e.g. "ClickThrough") to include
  7692  	// in API requests with the JSON null value. By default, fields with
  7693  	// empty values are omitted from API requests. However, any field with
  7694  	// an empty value appearing in NullFields will be sent to the server as
  7695  	// null. It is an error if a field in this list has a non-empty value.
  7696  	// This may be used to include null fields in Patch requests.
  7697  	NullFields []string `json:"-"`
  7698  }
  7699  
  7700  func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
  7701  	type NoMethod FloodlightActivityPublisherDynamicTag
  7702  	raw := NoMethod(*s)
  7703  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7704  }
  7705  
  7706  // FloodlightConfiguration: Contains properties of a Floodlight
  7707  // configuration.
  7708  type FloodlightConfiguration struct {
  7709  	// AccountId: Account ID of this floodlight configuration. This is a
  7710  	// read-only field that can be left blank.
  7711  	AccountId int64 `json:"accountId,omitempty,string"`
  7712  
  7713  	// AdvertiserId: Advertiser ID of the parent advertiser of this
  7714  	// floodlight configuration.
  7715  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7716  
  7717  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7718  	// advertiser. This is a read-only, auto-generated field.
  7719  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7720  
  7721  	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
  7722  	// Google Analytics.
  7723  	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
  7724  
  7725  	// ExposureToConversionEnabled: Whether the exposure-to-conversion
  7726  	// report is enabled. This report shows detailed pathway information on
  7727  	// up to 10 of the most recent ad exposures seen by a user before
  7728  	// converting.
  7729  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
  7730  
  7731  	// FirstDayOfWeek: Day that will be counted as the first day of the week
  7732  	// in reports. This is a required field.
  7733  	//
  7734  	// Possible values:
  7735  	//   "MONDAY"
  7736  	//   "SUNDAY"
  7737  	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
  7738  
  7739  	// Id: ID of this floodlight configuration. This is a read-only,
  7740  	// auto-generated field.
  7741  	Id int64 `json:"id,omitempty,string"`
  7742  
  7743  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7744  	// configuration. This is a read-only, auto-generated field.
  7745  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7746  
  7747  	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
  7748  	// is enabled.
  7749  	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
  7750  
  7751  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7752  	// string "dfareporting#floodlightConfiguration".
  7753  	Kind string `json:"kind,omitempty"`
  7754  
  7755  	// LookbackConfiguration: Lookback window settings for this floodlight
  7756  	// configuration.
  7757  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  7758  
  7759  	// NaturalSearchConversionAttributionOption: Types of attribution
  7760  	// options for natural search conversions.
  7761  	//
  7762  	// Possible values:
  7763  	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  7764  	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  7765  	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
  7766  	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
  7767  
  7768  	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
  7769  	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
  7770  
  7771  	// SubaccountId: Subaccount ID of this floodlight configuration. This is
  7772  	// a read-only field that can be left blank.
  7773  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7774  
  7775  	// TagSettings: Configuration settings for dynamic and image floodlight
  7776  	// tags.
  7777  	TagSettings *TagSettings `json:"tagSettings,omitempty"`
  7778  
  7779  	// ThirdPartyAuthenticationTokens: List of third-party authentication
  7780  	// tokens enabled for this configuration.
  7781  	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
  7782  
  7783  	// UserDefinedVariableConfigurations: List of user defined variables
  7784  	// enabled for this configuration.
  7785  	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
  7786  
  7787  	// ServerResponse contains the HTTP response code and headers from the
  7788  	// server.
  7789  	googleapi.ServerResponse `json:"-"`
  7790  
  7791  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7792  	// unconditionally include in API requests. By default, fields with
  7793  	// empty values are omitted from API requests. However, any non-pointer,
  7794  	// non-interface field appearing in ForceSendFields will be sent to the
  7795  	// server regardless of whether the field is empty or not. This may be
  7796  	// used to include empty fields in Patch requests.
  7797  	ForceSendFields []string `json:"-"`
  7798  
  7799  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7800  	// API requests with the JSON null value. By default, fields with empty
  7801  	// values are omitted from API requests. However, any field with an
  7802  	// empty value appearing in NullFields will be sent to the server as
  7803  	// null. It is an error if a field in this list has a non-empty value.
  7804  	// This may be used to include null fields in Patch requests.
  7805  	NullFields []string `json:"-"`
  7806  }
  7807  
  7808  func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
  7809  	type NoMethod FloodlightConfiguration
  7810  	raw := NoMethod(*s)
  7811  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7812  }
  7813  
  7814  // FloodlightConfigurationsListResponse: Floodlight Configuration List
  7815  // Response
  7816  type FloodlightConfigurationsListResponse struct {
  7817  	// FloodlightConfigurations: Floodlight configuration collection.
  7818  	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
  7819  
  7820  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7821  	// string "dfareporting#floodlightConfigurationsListResponse".
  7822  	Kind string `json:"kind,omitempty"`
  7823  
  7824  	// ServerResponse contains the HTTP response code and headers from the
  7825  	// server.
  7826  	googleapi.ServerResponse `json:"-"`
  7827  
  7828  	// ForceSendFields is a list of field names (e.g.
  7829  	// "FloodlightConfigurations") to unconditionally include in API
  7830  	// requests. By default, fields with empty values are omitted from API
  7831  	// requests. However, any non-pointer, non-interface field appearing in
  7832  	// ForceSendFields will be sent to the server regardless of whether the
  7833  	// field is empty or not. This may be used to include empty fields in
  7834  	// Patch requests.
  7835  	ForceSendFields []string `json:"-"`
  7836  
  7837  	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
  7838  	// to include in API requests with the JSON null value. By default,
  7839  	// fields with empty values are omitted from API requests. However, any
  7840  	// field with an empty value appearing in NullFields will be sent to the
  7841  	// server as null. It is an error if a field in this list has a
  7842  	// non-empty value. This may be used to include null fields in Patch
  7843  	// requests.
  7844  	NullFields []string `json:"-"`
  7845  }
  7846  
  7847  func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
  7848  	type NoMethod FloodlightConfigurationsListResponse
  7849  	raw := NoMethod(*s)
  7850  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7851  }
  7852  
  7853  // FloodlightReportCompatibleFields: Represents fields that are
  7854  // compatible to be selected for a report of type "FlOODLIGHT".
  7855  type FloodlightReportCompatibleFields struct {
  7856  	// DimensionFilters: Dimensions which are compatible to be selected in
  7857  	// the "dimensionFilters" section of the report.
  7858  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  7859  
  7860  	// Dimensions: Dimensions which are compatible to be selected in the
  7861  	// "dimensions" section of the report.
  7862  	Dimensions []*Dimension `json:"dimensions,omitempty"`
  7863  
  7864  	// Kind: The kind of resource this is, in this case
  7865  	// dfareporting#floodlightReportCompatibleFields.
  7866  	Kind string `json:"kind,omitempty"`
  7867  
  7868  	// Metrics: Metrics which are compatible to be selected in the
  7869  	// "metricNames" section of the report.
  7870  	Metrics []*Metric `json:"metrics,omitempty"`
  7871  
  7872  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
  7873  	// unconditionally include in API requests. By default, fields with
  7874  	// empty values are omitted from API requests. However, any non-pointer,
  7875  	// non-interface field appearing in ForceSendFields will be sent to the
  7876  	// server regardless of whether the field is empty or not. This may be
  7877  	// used to include empty fields in Patch requests.
  7878  	ForceSendFields []string `json:"-"`
  7879  
  7880  	// NullFields is a list of field names (e.g. "DimensionFilters") to
  7881  	// include in API requests with the JSON null value. By default, fields
  7882  	// with empty values are omitted from API requests. However, any field
  7883  	// with an empty value appearing in NullFields will be sent to the
  7884  	// server as null. It is an error if a field in this list has a
  7885  	// non-empty value. This may be used to include null fields in Patch
  7886  	// requests.
  7887  	NullFields []string `json:"-"`
  7888  }
  7889  
  7890  func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
  7891  	type NoMethod FloodlightReportCompatibleFields
  7892  	raw := NoMethod(*s)
  7893  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7894  }
  7895  
  7896  // FrequencyCap: Frequency Cap.
  7897  type FrequencyCap struct {
  7898  	// Duration: Duration of time, in seconds, for this frequency cap. The
  7899  	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
  7900  	// inclusive.
  7901  	Duration int64 `json:"duration,omitempty,string"`
  7902  
  7903  	// Impressions: Number of times an individual user can be served the ad
  7904  	// within the specified duration. Acceptable values are 1 to 15,
  7905  	// inclusive.
  7906  	Impressions int64 `json:"impressions,omitempty,string"`
  7907  
  7908  	// ForceSendFields is a list of field names (e.g. "Duration") to
  7909  	// unconditionally include in API requests. By default, fields with
  7910  	// empty values are omitted from API requests. However, any non-pointer,
  7911  	// non-interface field appearing in ForceSendFields will be sent to the
  7912  	// server regardless of whether the field is empty or not. This may be
  7913  	// used to include empty fields in Patch requests.
  7914  	ForceSendFields []string `json:"-"`
  7915  
  7916  	// NullFields is a list of field names (e.g. "Duration") to include in
  7917  	// API requests with the JSON null value. By default, fields with empty
  7918  	// values are omitted from API requests. However, any field with an
  7919  	// empty value appearing in NullFields will be sent to the server as
  7920  	// null. It is an error if a field in this list has a non-empty value.
  7921  	// This may be used to include null fields in Patch requests.
  7922  	NullFields []string `json:"-"`
  7923  }
  7924  
  7925  func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
  7926  	type NoMethod FrequencyCap
  7927  	raw := NoMethod(*s)
  7928  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7929  }
  7930  
  7931  // FsCommand: FsCommand.
  7932  type FsCommand struct {
  7933  	// Left: Distance from the left of the browser.Applicable when
  7934  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  7935  	Left int64 `json:"left,omitempty"`
  7936  
  7937  	// PositionOption: Position in the browser where the window will open.
  7938  	//
  7939  	// Possible values:
  7940  	//   "CENTERED"
  7941  	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
  7942  	PositionOption string `json:"positionOption,omitempty"`
  7943  
  7944  	// Top: Distance from the top of the browser. Applicable when
  7945  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  7946  	Top int64 `json:"top,omitempty"`
  7947  
  7948  	// WindowHeight: Height of the window.
  7949  	WindowHeight int64 `json:"windowHeight,omitempty"`
  7950  
  7951  	// WindowWidth: Width of the window.
  7952  	WindowWidth int64 `json:"windowWidth,omitempty"`
  7953  
  7954  	// ForceSendFields is a list of field names (e.g. "Left") to
  7955  	// unconditionally include in API requests. By default, fields with
  7956  	// empty values are omitted from API requests. However, any non-pointer,
  7957  	// non-interface field appearing in ForceSendFields will be sent to the
  7958  	// server regardless of whether the field is empty or not. This may be
  7959  	// used to include empty fields in Patch requests.
  7960  	ForceSendFields []string `json:"-"`
  7961  
  7962  	// NullFields is a list of field names (e.g. "Left") to include in API
  7963  	// requests with the JSON null value. By default, fields with empty
  7964  	// values are omitted from API requests. However, any field with an
  7965  	// empty value appearing in NullFields will be sent to the server as
  7966  	// null. It is an error if a field in this list has a non-empty value.
  7967  	// This may be used to include null fields in Patch requests.
  7968  	NullFields []string `json:"-"`
  7969  }
  7970  
  7971  func (s *FsCommand) MarshalJSON() ([]byte, error) {
  7972  	type NoMethod FsCommand
  7973  	raw := NoMethod(*s)
  7974  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7975  }
  7976  
  7977  // GeoTargeting: Geographical Targeting.
  7978  type GeoTargeting struct {
  7979  	// Cities: Cities to be targeted. For each city only dartId is required.
  7980  	// The other fields are populated automatically when the ad is inserted
  7981  	// or updated. If targeting a city, do not target or exclude the country
  7982  	// of the city, and do not target the metro or region of the city.
  7983  	Cities []*City `json:"cities,omitempty"`
  7984  
  7985  	// Countries: Countries to be targeted or excluded from targeting,
  7986  	// depending on the setting of the excludeCountries field. For each
  7987  	// country only dartId is required. The other fields are populated
  7988  	// automatically when the ad is inserted or updated. If targeting or
  7989  	// excluding a country, do not target regions, cities, metros, or postal
  7990  	// codes in the same country.
  7991  	Countries []*Country `json:"countries,omitempty"`
  7992  
  7993  	// ExcludeCountries: Whether or not to exclude the countries in the
  7994  	// countries field from targeting. If false, the countries field refers
  7995  	// to countries which will be targeted by the ad.
  7996  	ExcludeCountries bool `json:"excludeCountries,omitempty"`
  7997  
  7998  	// Metros: Metros to be targeted. For each metro only dmaId is required.
  7999  	// The other fields are populated automatically when the ad is inserted
  8000  	// or updated. If targeting a metro, do not target or exclude the
  8001  	// country of the metro.
  8002  	Metros []*Metro `json:"metros,omitempty"`
  8003  
  8004  	// PostalCodes: Postal codes to be targeted. For each postal code only
  8005  	// id is required. The other fields are populated automatically when the
  8006  	// ad is inserted or updated. If targeting a postal code, do not target
  8007  	// or exclude the country of the postal code.
  8008  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
  8009  
  8010  	// Regions: Regions to be targeted. For each region only dartId is
  8011  	// required. The other fields are populated automatically when the ad is
  8012  	// inserted or updated. If targeting a region, do not target or exclude
  8013  	// the country of the region.
  8014  	Regions []*Region `json:"regions,omitempty"`
  8015  
  8016  	// ForceSendFields is a list of field names (e.g. "Cities") to
  8017  	// unconditionally include in API requests. By default, fields with
  8018  	// empty values are omitted from API requests. However, any non-pointer,
  8019  	// non-interface field appearing in ForceSendFields will be sent to the
  8020  	// server regardless of whether the field is empty or not. This may be
  8021  	// used to include empty fields in Patch requests.
  8022  	ForceSendFields []string `json:"-"`
  8023  
  8024  	// NullFields is a list of field names (e.g. "Cities") to include in API
  8025  	// requests with the JSON null value. By default, fields with empty
  8026  	// values are omitted from API requests. However, any field with an
  8027  	// empty value appearing in NullFields will be sent to the server as
  8028  	// null. It is an error if a field in this list has a non-empty value.
  8029  	// This may be used to include null fields in Patch requests.
  8030  	NullFields []string `json:"-"`
  8031  }
  8032  
  8033  func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
  8034  	type NoMethod GeoTargeting
  8035  	raw := NoMethod(*s)
  8036  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8037  }
  8038  
  8039  // InventoryItem: Represents a buy from the Planning inventory store.
  8040  type InventoryItem struct {
  8041  	// AccountId: Account ID of this inventory item.
  8042  	AccountId int64 `json:"accountId,omitempty,string"`
  8043  
  8044  	// AdSlots: Ad slots of this inventory item. If this inventory item
  8045  	// represents a standalone placement, there will be exactly one ad slot.
  8046  	// If this inventory item represents a placement group, there will be
  8047  	// more than one ad slot, each representing one child placement in that
  8048  	// placement group.
  8049  	AdSlots []*AdSlot `json:"adSlots,omitempty"`
  8050  
  8051  	// AdvertiserId: Advertiser ID of this inventory item.
  8052  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8053  
  8054  	// ContentCategoryId: Content category ID of this inventory item.
  8055  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  8056  
  8057  	// EstimatedClickThroughRate: Estimated click-through rate of this
  8058  	// inventory item.
  8059  	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
  8060  
  8061  	// EstimatedConversionRate: Estimated conversion rate of this inventory
  8062  	// item.
  8063  	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
  8064  
  8065  	// Id: ID of this inventory item.
  8066  	Id int64 `json:"id,omitempty,string"`
  8067  
  8068  	// InPlan: Whether this inventory item is in plan.
  8069  	InPlan bool `json:"inPlan,omitempty"`
  8070  
  8071  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8072  	// string "dfareporting#inventoryItem".
  8073  	Kind string `json:"kind,omitempty"`
  8074  
  8075  	// LastModifiedInfo: Information about the most recent modification of
  8076  	// this inventory item.
  8077  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  8078  
  8079  	// Name: Name of this inventory item. For standalone inventory items,
  8080  	// this is the same name as that of its only ad slot. For group
  8081  	// inventory items, this can differ from the name of any of its ad
  8082  	// slots.
  8083  	Name string `json:"name,omitempty"`
  8084  
  8085  	// NegotiationChannelId: Negotiation channel ID of this inventory item.
  8086  	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
  8087  
  8088  	// OrderId: Order ID of this inventory item.
  8089  	OrderId int64 `json:"orderId,omitempty,string"`
  8090  
  8091  	// PlacementStrategyId: Placement strategy ID of this inventory item.
  8092  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  8093  
  8094  	// Pricing: Pricing of this inventory item.
  8095  	Pricing *Pricing `json:"pricing,omitempty"`
  8096  
  8097  	// ProjectId: Project ID of this inventory item.
  8098  	ProjectId int64 `json:"projectId,omitempty,string"`
  8099  
  8100  	// RfpId: RFP ID of this inventory item.
  8101  	RfpId int64 `json:"rfpId,omitempty,string"`
  8102  
  8103  	// SiteId: ID of the site this inventory item is associated with.
  8104  	SiteId int64 `json:"siteId,omitempty,string"`
  8105  
  8106  	// SubaccountId: Subaccount ID of this inventory item.
  8107  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  8108  
  8109  	// Type: Type of inventory item.
  8110  	//
  8111  	// Possible values:
  8112  	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
  8113  	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
  8114  	Type string `json:"type,omitempty"`
  8115  
  8116  	// ServerResponse contains the HTTP response code and headers from the
  8117  	// server.
  8118  	googleapi.ServerResponse `json:"-"`
  8119  
  8120  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  8121  	// unconditionally include in API requests. By default, fields with
  8122  	// empty values are omitted from API requests. However, any non-pointer,
  8123  	// non-interface field appearing in ForceSendFields will be sent to the
  8124  	// server regardless of whether the field is empty or not. This may be
  8125  	// used to include empty fields in Patch requests.
  8126  	ForceSendFields []string `json:"-"`
  8127  
  8128  	// NullFields is a list of field names (e.g. "AccountId") to include in
  8129  	// API requests with the JSON null value. By default, fields with empty
  8130  	// values are omitted from API requests. However, any field with an
  8131  	// empty value appearing in NullFields will be sent to the server as
  8132  	// null. It is an error if a field in this list has a non-empty value.
  8133  	// This may be used to include null fields in Patch requests.
  8134  	NullFields []string `json:"-"`
  8135  }
  8136  
  8137  func (s *InventoryItem) MarshalJSON() ([]byte, error) {
  8138  	type NoMethod InventoryItem
  8139  	raw := NoMethod(*s)
  8140  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8141  }
  8142  
  8143  // InventoryItemsListResponse: Inventory item List Response
  8144  type InventoryItemsListResponse struct {
  8145  	// InventoryItems: Inventory item collection
  8146  	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
  8147  
  8148  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8149  	// string "dfareporting#inventoryItemsListResponse".
  8150  	Kind string `json:"kind,omitempty"`
  8151  
  8152  	// NextPageToken: Pagination token to be used for the next list
  8153  	// operation.
  8154  	NextPageToken string `json:"nextPageToken,omitempty"`
  8155  
  8156  	// ServerResponse contains the HTTP response code and headers from the
  8157  	// server.
  8158  	googleapi.ServerResponse `json:"-"`
  8159  
  8160  	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
  8161  	// unconditionally include in API requests. By default, fields with
  8162  	// empty values are omitted from API requests. However, any non-pointer,
  8163  	// non-interface field appearing in ForceSendFields will be sent to the
  8164  	// server regardless of whether the field is empty or not. This may be
  8165  	// used to include empty fields in Patch requests.
  8166  	ForceSendFields []string `json:"-"`
  8167  
  8168  	// NullFields is a list of field names (e.g. "InventoryItems") to
  8169  	// include in API requests with the JSON null value. By default, fields
  8170  	// with empty values are omitted from API requests. However, any field
  8171  	// with an empty value appearing in NullFields will be sent to the
  8172  	// server as null. It is an error if a field in this list has a
  8173  	// non-empty value. This may be used to include null fields in Patch
  8174  	// requests.
  8175  	NullFields []string `json:"-"`
  8176  }
  8177  
  8178  func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
  8179  	type NoMethod InventoryItemsListResponse
  8180  	raw := NoMethod(*s)
  8181  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8182  }
  8183  
  8184  // KeyValueTargetingExpression: Key Value Targeting Expression.
  8185  type KeyValueTargetingExpression struct {
  8186  	// Expression: Keyword expression being targeted by the ad.
  8187  	Expression string `json:"expression,omitempty"`
  8188  
  8189  	// ForceSendFields is a list of field names (e.g. "Expression") to
  8190  	// unconditionally include in API requests. By default, fields with
  8191  	// empty values are omitted from API requests. However, any non-pointer,
  8192  	// non-interface field appearing in ForceSendFields will be sent to the
  8193  	// server regardless of whether the field is empty or not. This may be
  8194  	// used to include empty fields in Patch requests.
  8195  	ForceSendFields []string `json:"-"`
  8196  
  8197  	// NullFields is a list of field names (e.g. "Expression") to include in
  8198  	// API requests with the JSON null value. By default, fields with empty
  8199  	// values are omitted from API requests. However, any field with an
  8200  	// empty value appearing in NullFields will be sent to the server as
  8201  	// null. It is an error if a field in this list has a non-empty value.
  8202  	// This may be used to include null fields in Patch requests.
  8203  	NullFields []string `json:"-"`
  8204  }
  8205  
  8206  func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
  8207  	type NoMethod KeyValueTargetingExpression
  8208  	raw := NoMethod(*s)
  8209  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8210  }
  8211  
  8212  // LandingPage: Contains information about where a user's browser is
  8213  // taken after the user clicks an ad.
  8214  type LandingPage struct {
  8215  	// AdvertiserId: Advertiser ID of this landing page. This is a required
  8216  	// field.
  8217  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8218  
  8219  	// Archived: Whether this landing page has been archived.
  8220  	Archived bool `json:"archived,omitempty"`
  8221  
  8222  	// DeepLinks: Links that will direct the user to a mobile app, if
  8223  	// installed.
  8224  	DeepLinks []*DeepLink `json:"deepLinks,omitempty"`
  8225  
  8226  	// Id: ID of this landing page. This is a read-only, auto-generated
  8227  	// field.
  8228  	Id int64 `json:"id,omitempty,string"`
  8229  
  8230  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8231  	// string "dfareporting#landingPage".
  8232  	Kind string `json:"kind,omitempty"`
  8233  
  8234  	// Name: Name of this landing page. This is a required field. It must be
  8235  	// less than 256 characters long.
  8236  	Name string `json:"name,omitempty"`
  8237  
  8238  	// Url: URL of this landing page. This is a required field.
  8239  	Url string `json:"url,omitempty"`
  8240  
  8241  	// ServerResponse contains the HTTP response code and headers from the
  8242  	// server.
  8243  	googleapi.ServerResponse `json:"-"`
  8244  
  8245  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  8246  	// unconditionally include in API requests. By default, fields with
  8247  	// empty values are omitted from API requests. However, any non-pointer,
  8248  	// non-interface field appearing in ForceSendFields will be sent to the
  8249  	// server regardless of whether the field is empty or not. This may be
  8250  	// used to include empty fields in Patch requests.
  8251  	ForceSendFields []string `json:"-"`
  8252  
  8253  	// NullFields is a list of field names (e.g. "AdvertiserId") to include
  8254  	// in API requests with the JSON null value. By default, fields with
  8255  	// empty values are omitted from API requests. However, any field with
  8256  	// an empty value appearing in NullFields will be sent to the server as
  8257  	// null. It is an error if a field in this list has a non-empty value.
  8258  	// This may be used to include null fields in Patch requests.
  8259  	NullFields []string `json:"-"`
  8260  }
  8261  
  8262  func (s *LandingPage) MarshalJSON() ([]byte, error) {
  8263  	type NoMethod LandingPage
  8264  	raw := NoMethod(*s)
  8265  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8266  }
  8267  
  8268  // Language: Contains information about a language that can be targeted
  8269  // by ads.
  8270  type Language struct {
  8271  	// Id: Language ID of this language. This is the ID used for targeting
  8272  	// and generating reports.
  8273  	Id int64 `json:"id,omitempty,string"`
  8274  
  8275  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8276  	// string "dfareporting#language".
  8277  	Kind string `json:"kind,omitempty"`
  8278  
  8279  	// LanguageCode: Format of language code is an ISO 639 two-letter
  8280  	// language code optionally followed by an underscore followed by an ISO
  8281  	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
  8282  	// Chinese.
  8283  	LanguageCode string `json:"languageCode,omitempty"`
  8284  
  8285  	// Name: Name of this language.
  8286  	Name string `json:"name,omitempty"`
  8287  
  8288  	// ForceSendFields is a list of field names (e.g. "Id") to
  8289  	// unconditionally include in API requests. By default, fields with
  8290  	// empty values are omitted from API requests. However, any non-pointer,
  8291  	// non-interface field appearing in ForceSendFields will be sent to the
  8292  	// server regardless of whether the field is empty or not. This may be
  8293  	// used to include empty fields in Patch requests.
  8294  	ForceSendFields []string `json:"-"`
  8295  
  8296  	// NullFields is a list of field names (e.g. "Id") to include in API
  8297  	// requests with the JSON null value. By default, fields with empty
  8298  	// values are omitted from API requests. However, any field with an
  8299  	// empty value appearing in NullFields will be sent to the server as
  8300  	// null. It is an error if a field in this list has a non-empty value.
  8301  	// This may be used to include null fields in Patch requests.
  8302  	NullFields []string `json:"-"`
  8303  }
  8304  
  8305  func (s *Language) MarshalJSON() ([]byte, error) {
  8306  	type NoMethod Language
  8307  	raw := NoMethod(*s)
  8308  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8309  }
  8310  
  8311  // LanguageTargeting: Language Targeting.
  8312  type LanguageTargeting struct {
  8313  	// Languages: Languages that this ad targets. For each language only
  8314  	// languageId is required. The other fields are populated automatically
  8315  	// when the ad is inserted or updated.
  8316  	Languages []*Language `json:"languages,omitempty"`
  8317  
  8318  	// ForceSendFields is a list of field names (e.g. "Languages") to
  8319  	// unconditionally include in API requests. By default, fields with
  8320  	// empty values are omitted from API requests. However, any non-pointer,
  8321  	// non-interface field appearing in ForceSendFields will be sent to the
  8322  	// server regardless of whether the field is empty or not. This may be
  8323  	// used to include empty fields in Patch requests.
  8324  	ForceSendFields []string `json:"-"`
  8325  
  8326  	// NullFields is a list of field names (e.g. "Languages") to include in
  8327  	// API requests with the JSON null value. By default, fields with empty
  8328  	// values are omitted from API requests. However, any field with an
  8329  	// empty value appearing in NullFields will be sent to the server as
  8330  	// null. It is an error if a field in this list has a non-empty value.
  8331  	// This may be used to include null fields in Patch requests.
  8332  	NullFields []string `json:"-"`
  8333  }
  8334  
  8335  func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
  8336  	type NoMethod LanguageTargeting
  8337  	raw := NoMethod(*s)
  8338  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8339  }
  8340  
  8341  // LanguagesListResponse: Language List Response
  8342  type LanguagesListResponse struct {
  8343  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8344  	// string "dfareporting#languagesListResponse".
  8345  	Kind string `json:"kind,omitempty"`
  8346  
  8347  	// Languages: Language collection.
  8348  	Languages []*Language `json:"languages,omitempty"`
  8349  
  8350  	// ServerResponse contains the HTTP response code and headers from the
  8351  	// server.
  8352  	googleapi.ServerResponse `json:"-"`
  8353  
  8354  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8355  	// unconditionally include in API requests. By default, fields with
  8356  	// empty values are omitted from API requests. However, any non-pointer,
  8357  	// non-interface field appearing in ForceSendFields will be sent to the
  8358  	// server regardless of whether the field is empty or not. This may be
  8359  	// used to include empty fields in Patch requests.
  8360  	ForceSendFields []string `json:"-"`
  8361  
  8362  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8363  	// requests with the JSON null value. By default, fields with empty
  8364  	// values are omitted from API requests. However, any field with an
  8365  	// empty value appearing in NullFields will be sent to the server as
  8366  	// null. It is an error if a field in this list has a non-empty value.
  8367  	// This may be used to include null fields in Patch requests.
  8368  	NullFields []string `json:"-"`
  8369  }
  8370  
  8371  func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
  8372  	type NoMethod LanguagesListResponse
  8373  	raw := NoMethod(*s)
  8374  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8375  }
  8376  
  8377  // LastModifiedInfo: Modification timestamp.
  8378  type LastModifiedInfo struct {
  8379  	// Time: Timestamp of the last change in milliseconds since epoch.
  8380  	Time int64 `json:"time,omitempty,string"`
  8381  
  8382  	// ForceSendFields is a list of field names (e.g. "Time") to
  8383  	// unconditionally include in API requests. By default, fields with
  8384  	// empty values are omitted from API requests. However, any non-pointer,
  8385  	// non-interface field appearing in ForceSendFields will be sent to the
  8386  	// server regardless of whether the field is empty or not. This may be
  8387  	// used to include empty fields in Patch requests.
  8388  	ForceSendFields []string `json:"-"`
  8389  
  8390  	// NullFields is a list of field names (e.g. "Time") to include in API
  8391  	// requests with the JSON null value. By default, fields with empty
  8392  	// values are omitted from API requests. However, any field with an
  8393  	// empty value appearing in NullFields will be sent to the server as
  8394  	// null. It is an error if a field in this list has a non-empty value.
  8395  	// This may be used to include null fields in Patch requests.
  8396  	NullFields []string `json:"-"`
  8397  }
  8398  
  8399  func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
  8400  	type NoMethod LastModifiedInfo
  8401  	raw := NoMethod(*s)
  8402  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8403  }
  8404  
  8405  // ListPopulationClause: A group clause made up of list population terms
  8406  // representing constraints joined by ORs.
  8407  type ListPopulationClause struct {
  8408  	// Terms: Terms of this list population clause. Each clause is made up
  8409  	// of list population terms representing constraints and are joined by
  8410  	// ORs.
  8411  	Terms []*ListPopulationTerm `json:"terms,omitempty"`
  8412  
  8413  	// ForceSendFields is a list of field names (e.g. "Terms") to
  8414  	// unconditionally include in API requests. By default, fields with
  8415  	// empty values are omitted from API requests. However, any non-pointer,
  8416  	// non-interface field appearing in ForceSendFields will be sent to the
  8417  	// server regardless of whether the field is empty or not. This may be
  8418  	// used to include empty fields in Patch requests.
  8419  	ForceSendFields []string `json:"-"`
  8420  
  8421  	// NullFields is a list of field names (e.g. "Terms") to include in API
  8422  	// requests with the JSON null value. By default, fields with empty
  8423  	// values are omitted from API requests. However, any field with an
  8424  	// empty value appearing in NullFields will be sent to the server as
  8425  	// null. It is an error if a field in this list has a non-empty value.
  8426  	// This may be used to include null fields in Patch requests.
  8427  	NullFields []string `json:"-"`
  8428  }
  8429  
  8430  func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
  8431  	type NoMethod ListPopulationClause
  8432  	raw := NoMethod(*s)
  8433  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8434  }
  8435  
  8436  // ListPopulationRule: Remarketing List Population Rule.
  8437  type ListPopulationRule struct {
  8438  	// FloodlightActivityId: Floodlight activity ID associated with this
  8439  	// rule. This field can be left blank.
  8440  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  8441  
  8442  	// FloodlightActivityName: Name of floodlight activity associated with
  8443  	// this rule. This is a read-only, auto-generated field.
  8444  	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
  8445  
  8446  	// ListPopulationClauses: Clauses that make up this list population
  8447  	// rule. Clauses are joined by ANDs, and the clauses themselves are made
  8448  	// up of list population terms which are joined by ORs.
  8449  	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
  8450  
  8451  	// ForceSendFields is a list of field names (e.g.
  8452  	// "FloodlightActivityId") to unconditionally include in API requests.
  8453  	// By default, fields with empty values are omitted from API requests.
  8454  	// However, any non-pointer, non-interface field appearing in
  8455  	// ForceSendFields will be sent to the server regardless of whether the
  8456  	// field is empty or not. This may be used to include empty fields in
  8457  	// Patch requests.
  8458  	ForceSendFields []string `json:"-"`
  8459  
  8460  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  8461  	// include in API requests with the JSON null value. By default, fields
  8462  	// with empty values are omitted from API requests. However, any field
  8463  	// with an empty value appearing in NullFields will be sent to the
  8464  	// server as null. It is an error if a field in this list has a
  8465  	// non-empty value. This may be used to include null fields in Patch
  8466  	// requests.
  8467  	NullFields []string `json:"-"`
  8468  }
  8469  
  8470  func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
  8471  	type NoMethod ListPopulationRule
  8472  	raw := NoMethod(*s)
  8473  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8474  }
  8475  
  8476  // ListPopulationTerm: Remarketing List Population Rule Term.
  8477  type ListPopulationTerm struct {
  8478  	// Contains: Will be true if the term should check if the user is in the
  8479  	// list and false if the term should check if the user is not in the
  8480  	// list. This field is only relevant when type is set to
  8481  	// LIST_MEMBERSHIP_TERM. False by default.
  8482  	Contains bool `json:"contains,omitempty"`
  8483  
  8484  	// Negation: Whether to negate the comparison result of this term during
  8485  	// rule evaluation. This field is only relevant when type is left unset
  8486  	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  8487  	Negation bool `json:"negation,omitempty"`
  8488  
  8489  	// Operator: Comparison operator of this term. This field is only
  8490  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  8491  	// REFERRER_TERM.
  8492  	//
  8493  	// Possible values:
  8494  	//   "NUM_EQUALS"
  8495  	//   "NUM_GREATER_THAN"
  8496  	//   "NUM_GREATER_THAN_EQUAL"
  8497  	//   "NUM_LESS_THAN"
  8498  	//   "NUM_LESS_THAN_EQUAL"
  8499  	//   "STRING_CONTAINS"
  8500  	//   "STRING_EQUALS"
  8501  	Operator string `json:"operator,omitempty"`
  8502  
  8503  	// RemarketingListId: ID of the list in question. This field is only
  8504  	// relevant when type is set to LIST_MEMBERSHIP_TERM.
  8505  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
  8506  
  8507  	// Type: List population term type determines the applicable fields in
  8508  	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
  8509  	// variableName, variableFriendlyName, operator, value, and negation are
  8510  	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
  8511  	// contains are applicable. If set to REFERRER_TERM then operator,
  8512  	// value, and negation are applicable.
  8513  	//
  8514  	// Possible values:
  8515  	//   "CUSTOM_VARIABLE_TERM"
  8516  	//   "LIST_MEMBERSHIP_TERM"
  8517  	//   "REFERRER_TERM"
  8518  	Type string `json:"type,omitempty"`
  8519  
  8520  	// Value: Literal to compare the variable to. This field is only
  8521  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  8522  	// REFERRER_TERM.
  8523  	Value string `json:"value,omitempty"`
  8524  
  8525  	// VariableFriendlyName: Friendly name of this term's variable. This is
  8526  	// a read-only, auto-generated field. This field is only relevant when
  8527  	// type is left unset or set to CUSTOM_VARIABLE_TERM.
  8528  	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
  8529  
  8530  	// VariableName: Name of the variable (U1, U2, etc.) being compared in
  8531  	// this term. This field is only relevant when type is set to null,
  8532  	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  8533  	VariableName string `json:"variableName,omitempty"`
  8534  
  8535  	// ForceSendFields is a list of field names (e.g. "Contains") to
  8536  	// unconditionally include in API requests. By default, fields with
  8537  	// empty values are omitted from API requests. However, any non-pointer,
  8538  	// non-interface field appearing in ForceSendFields will be sent to the
  8539  	// server regardless of whether the field is empty or not. This may be
  8540  	// used to include empty fields in Patch requests.
  8541  	ForceSendFields []string `json:"-"`
  8542  
  8543  	// NullFields is a list of field names (e.g. "Contains") to include in
  8544  	// API requests with the JSON null value. By default, fields with empty
  8545  	// values are omitted from API requests. However, any field with an
  8546  	// empty value appearing in NullFields will be sent to the server as
  8547  	// null. It is an error if a field in this list has a non-empty value.
  8548  	// This may be used to include null fields in Patch requests.
  8549  	NullFields []string `json:"-"`
  8550  }
  8551  
  8552  func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
  8553  	type NoMethod ListPopulationTerm
  8554  	raw := NoMethod(*s)
  8555  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8556  }
  8557  
  8558  // ListTargetingExpression: Remarketing List Targeting Expression.
  8559  type ListTargetingExpression struct {
  8560  	// Expression: Expression describing which lists are being targeted by
  8561  	// the ad.
  8562  	Expression string `json:"expression,omitempty"`
  8563  
  8564  	// ForceSendFields is a list of field names (e.g. "Expression") to
  8565  	// unconditionally include in API requests. By default, fields with
  8566  	// empty values are omitted from API requests. However, any non-pointer,
  8567  	// non-interface field appearing in ForceSendFields will be sent to the
  8568  	// server regardless of whether the field is empty or not. This may be
  8569  	// used to include empty fields in Patch requests.
  8570  	ForceSendFields []string `json:"-"`
  8571  
  8572  	// NullFields is a list of field names (e.g. "Expression") to include in
  8573  	// API requests with the JSON null value. By default, fields with empty
  8574  	// values are omitted from API requests. However, any field with an
  8575  	// empty value appearing in NullFields will be sent to the server as
  8576  	// null. It is an error if a field in this list has a non-empty value.
  8577  	// This may be used to include null fields in Patch requests.
  8578  	NullFields []string `json:"-"`
  8579  }
  8580  
  8581  func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
  8582  	type NoMethod ListTargetingExpression
  8583  	raw := NoMethod(*s)
  8584  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8585  }
  8586  
  8587  // LookbackConfiguration: Lookback configuration settings.
  8588  type LookbackConfiguration struct {
  8589  	// ClickDuration: Lookback window, in days, from the last time a given
  8590  	// user clicked on one of your ads. If you enter 0, clicks will not be
  8591  	// considered as triggering events for floodlight tracking. If you leave
  8592  	// this field blank, the default value for your account will be used.
  8593  	// Acceptable values are 0 to 90, inclusive.
  8594  	ClickDuration int64 `json:"clickDuration,omitempty"`
  8595  
  8596  	// PostImpressionActivitiesDuration: Lookback window, in days, from the
  8597  	// last time a given user viewed one of your ads. If you enter 0,
  8598  	// impressions will not be considered as triggering events for
  8599  	// floodlight tracking. If you leave this field blank, the default value
  8600  	// for your account will be used. Acceptable values are 0 to 90,
  8601  	// inclusive.
  8602  	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
  8603  
  8604  	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
  8605  	// unconditionally include in API requests. By default, fields with
  8606  	// empty values are omitted from API requests. However, any non-pointer,
  8607  	// non-interface field appearing in ForceSendFields will be sent to the
  8608  	// server regardless of whether the field is empty or not. This may be
  8609  	// used to include empty fields in Patch requests.
  8610  	ForceSendFields []string `json:"-"`
  8611  
  8612  	// NullFields is a list of field names (e.g. "ClickDuration") to include
  8613  	// in API requests with the JSON null value. By default, fields with
  8614  	// empty values are omitted from API requests. However, any field with
  8615  	// an empty value appearing in NullFields will be sent to the server as
  8616  	// null. It is an error if a field in this list has a non-empty value.
  8617  	// This may be used to include null fields in Patch requests.
  8618  	NullFields []string `json:"-"`
  8619  }
  8620  
  8621  func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
  8622  	type NoMethod LookbackConfiguration
  8623  	raw := NoMethod(*s)
  8624  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8625  }
  8626  
  8627  // Metric: Represents a metric.
  8628  type Metric struct {
  8629  	// Kind: The kind of resource this is, in this case dfareporting#metric.
  8630  	Kind string `json:"kind,omitempty"`
  8631  
  8632  	// Name: The metric name, e.g. dfa:impressions
  8633  	Name string `json:"name,omitempty"`
  8634  
  8635  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8636  	// unconditionally include in API requests. By default, fields with
  8637  	// empty values are omitted from API requests. However, any non-pointer,
  8638  	// non-interface field appearing in ForceSendFields will be sent to the
  8639  	// server regardless of whether the field is empty or not. This may be
  8640  	// used to include empty fields in Patch requests.
  8641  	ForceSendFields []string `json:"-"`
  8642  
  8643  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8644  	// requests with the JSON null value. By default, fields with empty
  8645  	// values are omitted from API requests. However, any field with an
  8646  	// empty value appearing in NullFields will be sent to the server as
  8647  	// null. It is an error if a field in this list has a non-empty value.
  8648  	// This may be used to include null fields in Patch requests.
  8649  	NullFields []string `json:"-"`
  8650  }
  8651  
  8652  func (s *Metric) MarshalJSON() ([]byte, error) {
  8653  	type NoMethod Metric
  8654  	raw := NoMethod(*s)
  8655  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8656  }
  8657  
  8658  // Metro: Contains information about a metro region that can be targeted
  8659  // by ads.
  8660  type Metro struct {
  8661  	// CountryCode: Country code of the country to which this metro region
  8662  	// belongs.
  8663  	CountryCode string `json:"countryCode,omitempty"`
  8664  
  8665  	// CountryDartId: DART ID of the country to which this metro region
  8666  	// belongs.
  8667  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  8668  
  8669  	// DartId: DART ID of this metro region.
  8670  	DartId int64 `json:"dartId,omitempty,string"`
  8671  
  8672  	// DmaId: DMA ID of this metro region. This is the ID used for targeting
  8673  	// and generating reports, and is equivalent to metro_code.
  8674  	DmaId int64 `json:"dmaId,omitempty,string"`
  8675  
  8676  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8677  	// string "dfareporting#metro".
  8678  	Kind string `json:"kind,omitempty"`
  8679  
  8680  	// MetroCode: Metro code of this metro region. This is equivalent to
  8681  	// dma_id.
  8682  	MetroCode string `json:"metroCode,omitempty"`
  8683  
  8684  	// Name: Name of this metro region.
  8685  	Name string `json:"name,omitempty"`
  8686  
  8687  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  8688  	// unconditionally include in API requests. By default, fields with
  8689  	// empty values are omitted from API requests. However, any non-pointer,
  8690  	// non-interface field appearing in ForceSendFields will be sent to the
  8691  	// server regardless of whether the field is empty or not. This may be
  8692  	// used to include empty fields in Patch requests.
  8693  	ForceSendFields []string `json:"-"`
  8694  
  8695  	// NullFields is a list of field names (e.g. "CountryCode") to include
  8696  	// in API requests with the JSON null value. By default, fields with
  8697  	// empty values are omitted from API requests. However, any field with
  8698  	// an empty value appearing in NullFields will be sent to the server as
  8699  	// null. It is an error if a field in this list has a non-empty value.
  8700  	// This may be used to include null fields in Patch requests.
  8701  	NullFields []string `json:"-"`
  8702  }
  8703  
  8704  func (s *Metro) MarshalJSON() ([]byte, error) {
  8705  	type NoMethod Metro
  8706  	raw := NoMethod(*s)
  8707  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8708  }
  8709  
  8710  // MetrosListResponse: Metro List Response
  8711  type MetrosListResponse struct {
  8712  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8713  	// string "dfareporting#metrosListResponse".
  8714  	Kind string `json:"kind,omitempty"`
  8715  
  8716  	// Metros: Metro collection.
  8717  	Metros []*Metro `json:"metros,omitempty"`
  8718  
  8719  	// ServerResponse contains the HTTP response code and headers from the
  8720  	// server.
  8721  	googleapi.ServerResponse `json:"-"`
  8722  
  8723  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8724  	// unconditionally include in API requests. By default, fields with
  8725  	// empty values are omitted from API requests. However, any non-pointer,
  8726  	// non-interface field appearing in ForceSendFields will be sent to the
  8727  	// server regardless of whether the field is empty or not. This may be
  8728  	// used to include empty fields in Patch requests.
  8729  	ForceSendFields []string `json:"-"`
  8730  
  8731  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8732  	// requests with the JSON null value. By default, fields with empty
  8733  	// values are omitted from API requests. However, any field with an
  8734  	// empty value appearing in NullFields will be sent to the server as
  8735  	// null. It is an error if a field in this list has a non-empty value.
  8736  	// This may be used to include null fields in Patch requests.
  8737  	NullFields []string `json:"-"`
  8738  }
  8739  
  8740  func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
  8741  	type NoMethod MetrosListResponse
  8742  	raw := NoMethod(*s)
  8743  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8744  }
  8745  
  8746  // MobileApp: Contains information about a mobile app. Used as a landing
  8747  // page deep link.
  8748  type MobileApp struct {
  8749  	// Directory: Mobile app directory.
  8750  	//
  8751  	// Possible values:
  8752  	//   "APPLE_APP_STORE"
  8753  	//   "GOOGLE_PLAY_STORE"
  8754  	//   "UNKNOWN"
  8755  	Directory string `json:"directory,omitempty"`
  8756  
  8757  	// Id: ID of this mobile app.
  8758  	Id string `json:"id,omitempty"`
  8759  
  8760  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8761  	// string "dfareporting#mobileApp".
  8762  	Kind string `json:"kind,omitempty"`
  8763  
  8764  	// PublisherName: Publisher name.
  8765  	PublisherName string `json:"publisherName,omitempty"`
  8766  
  8767  	// Title: Title of this mobile app.
  8768  	Title string `json:"title,omitempty"`
  8769  
  8770  	// ServerResponse contains the HTTP response code and headers from the
  8771  	// server.
  8772  	googleapi.ServerResponse `json:"-"`
  8773  
  8774  	// ForceSendFields is a list of field names (e.g. "Directory") to
  8775  	// unconditionally include in API requests. By default, fields with
  8776  	// empty values are omitted from API requests. However, any non-pointer,
  8777  	// non-interface field appearing in ForceSendFields will be sent to the
  8778  	// server regardless of whether the field is empty or not. This may be
  8779  	// used to include empty fields in Patch requests.
  8780  	ForceSendFields []string `json:"-"`
  8781  
  8782  	// NullFields is a list of field names (e.g. "Directory") to include in
  8783  	// API requests with the JSON null value. By default, fields with empty
  8784  	// values are omitted from API requests. However, any field with an
  8785  	// empty value appearing in NullFields will be sent to the server as
  8786  	// null. It is an error if a field in this list has a non-empty value.
  8787  	// This may be used to include null fields in Patch requests.
  8788  	NullFields []string `json:"-"`
  8789  }
  8790  
  8791  func (s *MobileApp) MarshalJSON() ([]byte, error) {
  8792  	type NoMethod MobileApp
  8793  	raw := NoMethod(*s)
  8794  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8795  }
  8796  
  8797  // MobileAppsListResponse: Mobile app List Response
  8798  type MobileAppsListResponse struct {
  8799  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8800  	// string "dfareporting#mobileAppsListResponse".
  8801  	Kind string `json:"kind,omitempty"`
  8802  
  8803  	// MobileApps: Mobile apps collection.
  8804  	MobileApps []*MobileApp `json:"mobileApps,omitempty"`
  8805  
  8806  	// NextPageToken: Pagination token to be used for the next list
  8807  	// operation.
  8808  	NextPageToken string `json:"nextPageToken,omitempty"`
  8809  
  8810  	// ServerResponse contains the HTTP response code and headers from the
  8811  	// server.
  8812  	googleapi.ServerResponse `json:"-"`
  8813  
  8814  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8815  	// unconditionally include in API requests. By default, fields with
  8816  	// empty values are omitted from API requests. However, any non-pointer,
  8817  	// non-interface field appearing in ForceSendFields will be sent to the
  8818  	// server regardless of whether the field is empty or not. This may be
  8819  	// used to include empty fields in Patch requests.
  8820  	ForceSendFields []string `json:"-"`
  8821  
  8822  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8823  	// requests with the JSON null value. By default, fields with empty
  8824  	// values are omitted from API requests. However, any field with an
  8825  	// empty value appearing in NullFields will be sent to the server as
  8826  	// null. It is an error if a field in this list has a non-empty value.
  8827  	// This may be used to include null fields in Patch requests.
  8828  	NullFields []string `json:"-"`
  8829  }
  8830  
  8831  func (s *MobileAppsListResponse) MarshalJSON() ([]byte, error) {
  8832  	type NoMethod MobileAppsListResponse
  8833  	raw := NoMethod(*s)
  8834  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8835  }
  8836  
  8837  // MobileCarrier: Contains information about a mobile carrier that can
  8838  // be targeted by ads.
  8839  type MobileCarrier struct {
  8840  	// CountryCode: Country code of the country to which this mobile carrier
  8841  	// belongs.
  8842  	CountryCode string `json:"countryCode,omitempty"`
  8843  
  8844  	// CountryDartId: DART ID of the country to which this mobile carrier
  8845  	// belongs.
  8846  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  8847  
  8848  	// Id: ID of this mobile carrier.
  8849  	Id int64 `json:"id,omitempty,string"`
  8850  
  8851  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8852  	// string "dfareporting#mobileCarrier".
  8853  	Kind string `json:"kind,omitempty"`
  8854  
  8855  	// Name: Name of this mobile carrier.
  8856  	Name string `json:"name,omitempty"`
  8857  
  8858  	// ServerResponse contains the HTTP response code and headers from the
  8859  	// server.
  8860  	googleapi.ServerResponse `json:"-"`
  8861  
  8862  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  8863  	// unconditionally include in API requests. By default, fields with
  8864  	// empty values are omitted from API requests. However, any non-pointer,
  8865  	// non-interface field appearing in ForceSendFields will be sent to the
  8866  	// server regardless of whether the field is empty or not. This may be
  8867  	// used to include empty fields in Patch requests.
  8868  	ForceSendFields []string `json:"-"`
  8869  
  8870  	// NullFields is a list of field names (e.g. "CountryCode") to include
  8871  	// in API requests with the JSON null value. By default, fields with
  8872  	// empty values are omitted from API requests. However, any field with
  8873  	// an empty value appearing in NullFields will be sent to the server as
  8874  	// null. It is an error if a field in this list has a non-empty value.
  8875  	// This may be used to include null fields in Patch requests.
  8876  	NullFields []string `json:"-"`
  8877  }
  8878  
  8879  func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
  8880  	type NoMethod MobileCarrier
  8881  	raw := NoMethod(*s)
  8882  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8883  }
  8884  
  8885  // MobileCarriersListResponse: Mobile Carrier List Response
  8886  type MobileCarriersListResponse struct {
  8887  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8888  	// string "dfareporting#mobileCarriersListResponse".
  8889  	Kind string `json:"kind,omitempty"`
  8890  
  8891  	// MobileCarriers: Mobile carrier collection.
  8892  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
  8893  
  8894  	// ServerResponse contains the HTTP response code and headers from the
  8895  	// server.
  8896  	googleapi.ServerResponse `json:"-"`
  8897  
  8898  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8899  	// unconditionally include in API requests. By default, fields with
  8900  	// empty values are omitted from API requests. However, any non-pointer,
  8901  	// non-interface field appearing in ForceSendFields will be sent to the
  8902  	// server regardless of whether the field is empty or not. This may be
  8903  	// used to include empty fields in Patch requests.
  8904  	ForceSendFields []string `json:"-"`
  8905  
  8906  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8907  	// requests with the JSON null value. By default, fields with empty
  8908  	// values are omitted from API requests. However, any field with an
  8909  	// empty value appearing in NullFields will be sent to the server as
  8910  	// null. It is an error if a field in this list has a non-empty value.
  8911  	// This may be used to include null fields in Patch requests.
  8912  	NullFields []string `json:"-"`
  8913  }
  8914  
  8915  func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
  8916  	type NoMethod MobileCarriersListResponse
  8917  	raw := NoMethod(*s)
  8918  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8919  }
  8920  
  8921  // ObjectFilter: Object Filter.
  8922  type ObjectFilter struct {
  8923  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8924  	// string "dfareporting#objectFilter".
  8925  	Kind string `json:"kind,omitempty"`
  8926  
  8927  	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
  8928  	// objects with these object IDs.
  8929  	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
  8930  
  8931  	// Status: Status of the filter. NONE means the user has access to none
  8932  	// of the objects. ALL means the user has access to all objects.
  8933  	// ASSIGNED means the user has access to the objects with IDs in the
  8934  	// objectIds list.
  8935  	//
  8936  	// Possible values:
  8937  	//   "ALL"
  8938  	//   "ASSIGNED"
  8939  	//   "NONE"
  8940  	Status string `json:"status,omitempty"`
  8941  
  8942  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8943  	// unconditionally include in API requests. By default, fields with
  8944  	// empty values are omitted from API requests. However, any non-pointer,
  8945  	// non-interface field appearing in ForceSendFields will be sent to the
  8946  	// server regardless of whether the field is empty or not. This may be
  8947  	// used to include empty fields in Patch requests.
  8948  	ForceSendFields []string `json:"-"`
  8949  
  8950  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8951  	// requests with the JSON null value. By default, fields with empty
  8952  	// values are omitted from API requests. However, any field with an
  8953  	// empty value appearing in NullFields will be sent to the server as
  8954  	// null. It is an error if a field in this list has a non-empty value.
  8955  	// This may be used to include null fields in Patch requests.
  8956  	NullFields []string `json:"-"`
  8957  }
  8958  
  8959  func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
  8960  	type NoMethod ObjectFilter
  8961  	raw := NoMethod(*s)
  8962  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8963  }
  8964  
  8965  // OffsetPosition: Offset Position.
  8966  type OffsetPosition struct {
  8967  	// Left: Offset distance from left side of an asset or a window.
  8968  	Left int64 `json:"left,omitempty"`
  8969  
  8970  	// Top: Offset distance from top side of an asset or a window.
  8971  	Top int64 `json:"top,omitempty"`
  8972  
  8973  	// ForceSendFields is a list of field names (e.g. "Left") to
  8974  	// unconditionally include in API requests. By default, fields with
  8975  	// empty values are omitted from API requests. However, any non-pointer,
  8976  	// non-interface field appearing in ForceSendFields will be sent to the
  8977  	// server regardless of whether the field is empty or not. This may be
  8978  	// used to include empty fields in Patch requests.
  8979  	ForceSendFields []string `json:"-"`
  8980  
  8981  	// NullFields is a list of field names (e.g. "Left") to include in API
  8982  	// requests with the JSON null value. By default, fields with empty
  8983  	// values are omitted from API requests. However, any field with an
  8984  	// empty value appearing in NullFields will be sent to the server as
  8985  	// null. It is an error if a field in this list has a non-empty value.
  8986  	// This may be used to include null fields in Patch requests.
  8987  	NullFields []string `json:"-"`
  8988  }
  8989  
  8990  func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
  8991  	type NoMethod OffsetPosition
  8992  	raw := NoMethod(*s)
  8993  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8994  }
  8995  
  8996  // OmnitureSettings: Omniture Integration Settings.
  8997  type OmnitureSettings struct {
  8998  	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
  8999  	// Omniture. This property can be enabled only if
  9000  	// omnitureIntegrationEnabled is true.
  9001  	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
  9002  
  9003  	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
  9004  	// This property can be enabled only when the "Advanced Ad Serving"
  9005  	// account setting is enabled.
  9006  	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
  9007  
  9008  	// ForceSendFields is a list of field names (e.g.
  9009  	// "OmnitureCostDataEnabled") to unconditionally include in API
  9010  	// requests. By default, fields with empty values are omitted from API
  9011  	// requests. However, any non-pointer, non-interface field appearing in
  9012  	// ForceSendFields will be sent to the server regardless of whether the
  9013  	// field is empty or not. This may be used to include empty fields in
  9014  	// Patch requests.
  9015  	ForceSendFields []string `json:"-"`
  9016  
  9017  	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
  9018  	// to include in API requests with the JSON null value. By default,
  9019  	// fields with empty values are omitted from API requests. However, any
  9020  	// field with an empty value appearing in NullFields will be sent to the
  9021  	// server as null. It is an error if a field in this list has a
  9022  	// non-empty value. This may be used to include null fields in Patch
  9023  	// requests.
  9024  	NullFields []string `json:"-"`
  9025  }
  9026  
  9027  func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
  9028  	type NoMethod OmnitureSettings
  9029  	raw := NoMethod(*s)
  9030  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9031  }
  9032  
  9033  // OperatingSystem: Contains information about an operating system that
  9034  // can be targeted by ads.
  9035  type OperatingSystem struct {
  9036  	// DartId: DART ID of this operating system. This is the ID used for
  9037  	// targeting.
  9038  	DartId int64 `json:"dartId,omitempty,string"`
  9039  
  9040  	// Desktop: Whether this operating system is for desktop.
  9041  	Desktop bool `json:"desktop,omitempty"`
  9042  
  9043  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9044  	// string "dfareporting#operatingSystem".
  9045  	Kind string `json:"kind,omitempty"`
  9046  
  9047  	// Mobile: Whether this operating system is for mobile.
  9048  	Mobile bool `json:"mobile,omitempty"`
  9049  
  9050  	// Name: Name of this operating system.
  9051  	Name string `json:"name,omitempty"`
  9052  
  9053  	// ServerResponse contains the HTTP response code and headers from the
  9054  	// server.
  9055  	googleapi.ServerResponse `json:"-"`
  9056  
  9057  	// ForceSendFields is a list of field names (e.g. "DartId") to
  9058  	// unconditionally include in API requests. By default, fields with
  9059  	// empty values are omitted from API requests. However, any non-pointer,
  9060  	// non-interface field appearing in ForceSendFields will be sent to the
  9061  	// server regardless of whether the field is empty or not. This may be
  9062  	// used to include empty fields in Patch requests.
  9063  	ForceSendFields []string `json:"-"`
  9064  
  9065  	// NullFields is a list of field names (e.g. "DartId") to include in API
  9066  	// requests with the JSON null value. By default, fields with empty
  9067  	// values are omitted from API requests. However, any field with an
  9068  	// empty value appearing in NullFields will be sent to the server as
  9069  	// null. It is an error if a field in this list has a non-empty value.
  9070  	// This may be used to include null fields in Patch requests.
  9071  	NullFields []string `json:"-"`
  9072  }
  9073  
  9074  func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
  9075  	type NoMethod OperatingSystem
  9076  	raw := NoMethod(*s)
  9077  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9078  }
  9079  
  9080  // OperatingSystemVersion: Contains information about a particular
  9081  // version of an operating system that can be targeted by ads.
  9082  type OperatingSystemVersion struct {
  9083  	// Id: ID of this operating system version.
  9084  	Id int64 `json:"id,omitempty,string"`
  9085  
  9086  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9087  	// string "dfareporting#operatingSystemVersion".
  9088  	Kind string `json:"kind,omitempty"`
  9089  
  9090  	// MajorVersion: Major version (leftmost number) of this operating
  9091  	// system version.
  9092  	MajorVersion string `json:"majorVersion,omitempty"`
  9093  
  9094  	// MinorVersion: Minor version (number after the first dot) of this
  9095  	// operating system version.
  9096  	MinorVersion string `json:"minorVersion,omitempty"`
  9097  
  9098  	// Name: Name of this operating system version.
  9099  	Name string `json:"name,omitempty"`
  9100  
  9101  	// OperatingSystem: Operating system of this operating system version.
  9102  	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
  9103  
  9104  	// ServerResponse contains the HTTP response code and headers from the
  9105  	// server.
  9106  	googleapi.ServerResponse `json:"-"`
  9107  
  9108  	// ForceSendFields is a list of field names (e.g. "Id") to
  9109  	// unconditionally include in API requests. By default, fields with
  9110  	// empty values are omitted from API requests. However, any non-pointer,
  9111  	// non-interface field appearing in ForceSendFields will be sent to the
  9112  	// server regardless of whether the field is empty or not. This may be
  9113  	// used to include empty fields in Patch requests.
  9114  	ForceSendFields []string `json:"-"`
  9115  
  9116  	// NullFields is a list of field names (e.g. "Id") to include in API
  9117  	// requests with the JSON null value. By default, fields with empty
  9118  	// values are omitted from API requests. However, any field with an
  9119  	// empty value appearing in NullFields will be sent to the server as
  9120  	// null. It is an error if a field in this list has a non-empty value.
  9121  	// This may be used to include null fields in Patch requests.
  9122  	NullFields []string `json:"-"`
  9123  }
  9124  
  9125  func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
  9126  	type NoMethod OperatingSystemVersion
  9127  	raw := NoMethod(*s)
  9128  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9129  }
  9130  
  9131  // OperatingSystemVersionsListResponse: Operating System Version List
  9132  // Response
  9133  type OperatingSystemVersionsListResponse struct {
  9134  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9135  	// string "dfareporting#operatingSystemVersionsListResponse".
  9136  	Kind string `json:"kind,omitempty"`
  9137  
  9138  	// OperatingSystemVersions: Operating system version collection.
  9139  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
  9140  
  9141  	// ServerResponse contains the HTTP response code and headers from the
  9142  	// server.
  9143  	googleapi.ServerResponse `json:"-"`
  9144  
  9145  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9146  	// unconditionally include in API requests. By default, fields with
  9147  	// empty values are omitted from API requests. However, any non-pointer,
  9148  	// non-interface field appearing in ForceSendFields will be sent to the
  9149  	// server regardless of whether the field is empty or not. This may be
  9150  	// used to include empty fields in Patch requests.
  9151  	ForceSendFields []string `json:"-"`
  9152  
  9153  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9154  	// requests with the JSON null value. By default, fields with empty
  9155  	// values are omitted from API requests. However, any field with an
  9156  	// empty value appearing in NullFields will be sent to the server as
  9157  	// null. It is an error if a field in this list has a non-empty value.
  9158  	// This may be used to include null fields in Patch requests.
  9159  	NullFields []string `json:"-"`
  9160  }
  9161  
  9162  func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
  9163  	type NoMethod OperatingSystemVersionsListResponse
  9164  	raw := NoMethod(*s)
  9165  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9166  }
  9167  
  9168  // OperatingSystemsListResponse: Operating System List Response
  9169  type OperatingSystemsListResponse struct {
  9170  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9171  	// string "dfareporting#operatingSystemsListResponse".
  9172  	Kind string `json:"kind,omitempty"`
  9173  
  9174  	// OperatingSystems: Operating system collection.
  9175  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
  9176  
  9177  	// ServerResponse contains the HTTP response code and headers from the
  9178  	// server.
  9179  	googleapi.ServerResponse `json:"-"`
  9180  
  9181  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9182  	// unconditionally include in API requests. By default, fields with
  9183  	// empty values are omitted from API requests. However, any non-pointer,
  9184  	// non-interface field appearing in ForceSendFields will be sent to the
  9185  	// server regardless of whether the field is empty or not. This may be
  9186  	// used to include empty fields in Patch requests.
  9187  	ForceSendFields []string `json:"-"`
  9188  
  9189  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9190  	// requests with the JSON null value. By default, fields with empty
  9191  	// values are omitted from API requests. However, any field with an
  9192  	// empty value appearing in NullFields will be sent to the server as
  9193  	// null. It is an error if a field in this list has a non-empty value.
  9194  	// This may be used to include null fields in Patch requests.
  9195  	NullFields []string `json:"-"`
  9196  }
  9197  
  9198  func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
  9199  	type NoMethod OperatingSystemsListResponse
  9200  	raw := NoMethod(*s)
  9201  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9202  }
  9203  
  9204  // OptimizationActivity: Creative optimization activity.
  9205  type OptimizationActivity struct {
  9206  	// FloodlightActivityId: Floodlight activity ID of this optimization
  9207  	// activity. This is a required field.
  9208  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  9209  
  9210  	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
  9211  	// floodlight activity. This is a read-only, auto-generated field.
  9212  	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
  9213  
  9214  	// Weight: Weight associated with this optimization. The weight assigned
  9215  	// will be understood in proportion to the weights assigned to the other
  9216  	// optimization activities. Value must be greater than or equal to 1.
  9217  	Weight int64 `json:"weight,omitempty"`
  9218  
  9219  	// ForceSendFields is a list of field names (e.g.
  9220  	// "FloodlightActivityId") to unconditionally include in API requests.
  9221  	// By default, fields with empty values are omitted from API requests.
  9222  	// However, any non-pointer, non-interface field appearing in
  9223  	// ForceSendFields will be sent to the server regardless of whether the
  9224  	// field is empty or not. This may be used to include empty fields in
  9225  	// Patch requests.
  9226  	ForceSendFields []string `json:"-"`
  9227  
  9228  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  9229  	// include in API requests with the JSON null value. By default, fields
  9230  	// with empty values are omitted from API requests. However, any field
  9231  	// with an empty value appearing in NullFields will be sent to the
  9232  	// server as null. It is an error if a field in this list has a
  9233  	// non-empty value. This may be used to include null fields in Patch
  9234  	// requests.
  9235  	NullFields []string `json:"-"`
  9236  }
  9237  
  9238  func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
  9239  	type NoMethod OptimizationActivity
  9240  	raw := NoMethod(*s)
  9241  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9242  }
  9243  
  9244  // Order: Describes properties of a Planning order.
  9245  type Order struct {
  9246  	// AccountId: Account ID of this order.
  9247  	AccountId int64 `json:"accountId,omitempty,string"`
  9248  
  9249  	// AdvertiserId: Advertiser ID of this order.
  9250  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9251  
  9252  	// ApproverUserProfileIds: IDs for users that have to approve documents
  9253  	// created for this order.
  9254  	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
  9255  
  9256  	// BuyerInvoiceId: Buyer invoice ID associated with this order.
  9257  	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
  9258  
  9259  	// BuyerOrganizationName: Name of the buyer organization.
  9260  	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
  9261  
  9262  	// Comments: Comments in this order.
  9263  	Comments string `json:"comments,omitempty"`
  9264  
  9265  	// Contacts: Contacts for this order.
  9266  	Contacts []*OrderContact `json:"contacts,omitempty"`
  9267  
  9268  	// Id: ID of this order. This is a read-only, auto-generated field.
  9269  	Id int64 `json:"id,omitempty,string"`
  9270  
  9271  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9272  	// string "dfareporting#order".
  9273  	Kind string `json:"kind,omitempty"`
  9274  
  9275  	// LastModifiedInfo: Information about the most recent modification of
  9276  	// this order.
  9277  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9278  
  9279  	// Name: Name of this order.
  9280  	Name string `json:"name,omitempty"`
  9281  
  9282  	// Notes: Notes of this order.
  9283  	Notes string `json:"notes,omitempty"`
  9284  
  9285  	// PlanningTermId: ID of the terms and conditions template used in this
  9286  	// order.
  9287  	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
  9288  
  9289  	// ProjectId: Project ID of this order.
  9290  	ProjectId int64 `json:"projectId,omitempty,string"`
  9291  
  9292  	// SellerOrderId: Seller order ID associated with this order.
  9293  	SellerOrderId string `json:"sellerOrderId,omitempty"`
  9294  
  9295  	// SellerOrganizationName: Name of the seller organization.
  9296  	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
  9297  
  9298  	// SiteId: Site IDs this order is associated with.
  9299  	SiteId googleapi.Int64s `json:"siteId,omitempty"`
  9300  
  9301  	// SiteNames: Free-form site names this order is associated with.
  9302  	SiteNames []string `json:"siteNames,omitempty"`
  9303  
  9304  	// SubaccountId: Subaccount ID of this order.
  9305  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9306  
  9307  	// TermsAndConditions: Terms and conditions of this order.
  9308  	TermsAndConditions string `json:"termsAndConditions,omitempty"`
  9309  
  9310  	// ServerResponse contains the HTTP response code and headers from the
  9311  	// server.
  9312  	googleapi.ServerResponse `json:"-"`
  9313  
  9314  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9315  	// unconditionally include in API requests. By default, fields with
  9316  	// empty values are omitted from API requests. However, any non-pointer,
  9317  	// non-interface field appearing in ForceSendFields will be sent to the
  9318  	// server regardless of whether the field is empty or not. This may be
  9319  	// used to include empty fields in Patch requests.
  9320  	ForceSendFields []string `json:"-"`
  9321  
  9322  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9323  	// API requests with the JSON null value. By default, fields with empty
  9324  	// values are omitted from API requests. However, any field with an
  9325  	// empty value appearing in NullFields will be sent to the server as
  9326  	// null. It is an error if a field in this list has a non-empty value.
  9327  	// This may be used to include null fields in Patch requests.
  9328  	NullFields []string `json:"-"`
  9329  }
  9330  
  9331  func (s *Order) MarshalJSON() ([]byte, error) {
  9332  	type NoMethod Order
  9333  	raw := NoMethod(*s)
  9334  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9335  }
  9336  
  9337  // OrderContact: Contact of an order.
  9338  type OrderContact struct {
  9339  	// ContactInfo: Free-form information about this contact. It could be
  9340  	// any information related to this contact in addition to type, title,
  9341  	// name, and signature user profile ID.
  9342  	ContactInfo string `json:"contactInfo,omitempty"`
  9343  
  9344  	// ContactName: Name of this contact.
  9345  	ContactName string `json:"contactName,omitempty"`
  9346  
  9347  	// ContactTitle: Title of this contact.
  9348  	ContactTitle string `json:"contactTitle,omitempty"`
  9349  
  9350  	// ContactType: Type of this contact.
  9351  	//
  9352  	// Possible values:
  9353  	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
  9354  	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
  9355  	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
  9356  	ContactType string `json:"contactType,omitempty"`
  9357  
  9358  	// SignatureUserProfileId: ID of the user profile containing the
  9359  	// signature that will be embedded into order documents.
  9360  	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
  9361  
  9362  	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
  9363  	// unconditionally include in API requests. By default, fields with
  9364  	// empty values are omitted from API requests. However, any non-pointer,
  9365  	// non-interface field appearing in ForceSendFields will be sent to the
  9366  	// server regardless of whether the field is empty or not. This may be
  9367  	// used to include empty fields in Patch requests.
  9368  	ForceSendFields []string `json:"-"`
  9369  
  9370  	// NullFields is a list of field names (e.g. "ContactInfo") to include
  9371  	// in API requests with the JSON null value. By default, fields with
  9372  	// empty values are omitted from API requests. However, any field with
  9373  	// an empty value appearing in NullFields will be sent to the server as
  9374  	// null. It is an error if a field in this list has a non-empty value.
  9375  	// This may be used to include null fields in Patch requests.
  9376  	NullFields []string `json:"-"`
  9377  }
  9378  
  9379  func (s *OrderContact) MarshalJSON() ([]byte, error) {
  9380  	type NoMethod OrderContact
  9381  	raw := NoMethod(*s)
  9382  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9383  }
  9384  
  9385  // OrderDocument: Contains properties of a Planning order document.
  9386  type OrderDocument struct {
  9387  	// AccountId: Account ID of this order document.
  9388  	AccountId int64 `json:"accountId,omitempty,string"`
  9389  
  9390  	// AdvertiserId: Advertiser ID of this order document.
  9391  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9392  
  9393  	// AmendedOrderDocumentId: The amended order document ID of this order
  9394  	// document. An order document can be created by optionally amending
  9395  	// another order document so that the change history can be preserved.
  9396  	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
  9397  
  9398  	// ApprovedByUserProfileIds: IDs of users who have approved this order
  9399  	// document.
  9400  	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
  9401  
  9402  	// Cancelled: Whether this order document is cancelled.
  9403  	Cancelled bool `json:"cancelled,omitempty"`
  9404  
  9405  	// CreatedInfo: Information about the creation of this order document.
  9406  	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
  9407  
  9408  	// EffectiveDate: Effective date of this order document.
  9409  	EffectiveDate string `json:"effectiveDate,omitempty"`
  9410  
  9411  	// Id: ID of this order document.
  9412  	Id int64 `json:"id,omitempty,string"`
  9413  
  9414  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9415  	// string "dfareporting#orderDocument".
  9416  	Kind string `json:"kind,omitempty"`
  9417  
  9418  	// LastSentRecipients: List of email addresses that received the last
  9419  	// sent document.
  9420  	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
  9421  
  9422  	// LastSentTime: Timestamp of the last email sent with this order
  9423  	// document.
  9424  	LastSentTime string `json:"lastSentTime,omitempty"`
  9425  
  9426  	// OrderId: ID of the order from which this order document is created.
  9427  	OrderId int64 `json:"orderId,omitempty,string"`
  9428  
  9429  	// ProjectId: Project ID of this order document.
  9430  	ProjectId int64 `json:"projectId,omitempty,string"`
  9431  
  9432  	// Signed: Whether this order document has been signed.
  9433  	Signed bool `json:"signed,omitempty"`
  9434  
  9435  	// SubaccountId: Subaccount ID of this order document.
  9436  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9437  
  9438  	// Title: Title of this order document.
  9439  	Title string `json:"title,omitempty"`
  9440  
  9441  	// Type: Type of this order document
  9442  	//
  9443  	// Possible values:
  9444  	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
  9445  	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
  9446  	Type string `json:"type,omitempty"`
  9447  
  9448  	// ServerResponse contains the HTTP response code and headers from the
  9449  	// server.
  9450  	googleapi.ServerResponse `json:"-"`
  9451  
  9452  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9453  	// unconditionally include in API requests. By default, fields with
  9454  	// empty values are omitted from API requests. However, any non-pointer,
  9455  	// non-interface field appearing in ForceSendFields will be sent to the
  9456  	// server regardless of whether the field is empty or not. This may be
  9457  	// used to include empty fields in Patch requests.
  9458  	ForceSendFields []string `json:"-"`
  9459  
  9460  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9461  	// API requests with the JSON null value. By default, fields with empty
  9462  	// values are omitted from API requests. However, any field with an
  9463  	// empty value appearing in NullFields will be sent to the server as
  9464  	// null. It is an error if a field in this list has a non-empty value.
  9465  	// This may be used to include null fields in Patch requests.
  9466  	NullFields []string `json:"-"`
  9467  }
  9468  
  9469  func (s *OrderDocument) MarshalJSON() ([]byte, error) {
  9470  	type NoMethod OrderDocument
  9471  	raw := NoMethod(*s)
  9472  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9473  }
  9474  
  9475  // OrderDocumentsListResponse: Order document List Response
  9476  type OrderDocumentsListResponse struct {
  9477  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9478  	// string "dfareporting#orderDocumentsListResponse".
  9479  	Kind string `json:"kind,omitempty"`
  9480  
  9481  	// NextPageToken: Pagination token to be used for the next list
  9482  	// operation.
  9483  	NextPageToken string `json:"nextPageToken,omitempty"`
  9484  
  9485  	// OrderDocuments: Order document collection
  9486  	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
  9487  
  9488  	// ServerResponse contains the HTTP response code and headers from the
  9489  	// server.
  9490  	googleapi.ServerResponse `json:"-"`
  9491  
  9492  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9493  	// unconditionally include in API requests. By default, fields with
  9494  	// empty values are omitted from API requests. However, any non-pointer,
  9495  	// non-interface field appearing in ForceSendFields will be sent to the
  9496  	// server regardless of whether the field is empty or not. This may be
  9497  	// used to include empty fields in Patch requests.
  9498  	ForceSendFields []string `json:"-"`
  9499  
  9500  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9501  	// requests with the JSON null value. By default, fields with empty
  9502  	// values are omitted from API requests. However, any field with an
  9503  	// empty value appearing in NullFields will be sent to the server as
  9504  	// null. It is an error if a field in this list has a non-empty value.
  9505  	// This may be used to include null fields in Patch requests.
  9506  	NullFields []string `json:"-"`
  9507  }
  9508  
  9509  func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
  9510  	type NoMethod OrderDocumentsListResponse
  9511  	raw := NoMethod(*s)
  9512  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9513  }
  9514  
  9515  // OrdersListResponse: Order List Response
  9516  type OrdersListResponse struct {
  9517  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9518  	// string "dfareporting#ordersListResponse".
  9519  	Kind string `json:"kind,omitempty"`
  9520  
  9521  	// NextPageToken: Pagination token to be used for the next list
  9522  	// operation.
  9523  	NextPageToken string `json:"nextPageToken,omitempty"`
  9524  
  9525  	// Orders: Order collection.
  9526  	Orders []*Order `json:"orders,omitempty"`
  9527  
  9528  	// ServerResponse contains the HTTP response code and headers from the
  9529  	// server.
  9530  	googleapi.ServerResponse `json:"-"`
  9531  
  9532  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9533  	// unconditionally include in API requests. By default, fields with
  9534  	// empty values are omitted from API requests. However, any non-pointer,
  9535  	// non-interface field appearing in ForceSendFields will be sent to the
  9536  	// server regardless of whether the field is empty or not. This may be
  9537  	// used to include empty fields in Patch requests.
  9538  	ForceSendFields []string `json:"-"`
  9539  
  9540  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9541  	// requests with the JSON null value. By default, fields with empty
  9542  	// values are omitted from API requests. However, any field with an
  9543  	// empty value appearing in NullFields will be sent to the server as
  9544  	// null. It is an error if a field in this list has a non-empty value.
  9545  	// This may be used to include null fields in Patch requests.
  9546  	NullFields []string `json:"-"`
  9547  }
  9548  
  9549  func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
  9550  	type NoMethod OrdersListResponse
  9551  	raw := NoMethod(*s)
  9552  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9553  }
  9554  
  9555  // PathToConversionReportCompatibleFields: Represents fields that are
  9556  // compatible to be selected for a report of type "PATH_TO_CONVERSION".
  9557  type PathToConversionReportCompatibleFields struct {
  9558  	// ConversionDimensions: Conversion dimensions which are compatible to
  9559  	// be selected in the "conversionDimensions" section of the report.
  9560  	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
  9561  
  9562  	// CustomFloodlightVariables: Custom floodlight variables which are
  9563  	// compatible to be selected in the "customFloodlightVariables" section
  9564  	// of the report.
  9565  	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
  9566  
  9567  	// Kind: The kind of resource this is, in this case
  9568  	// dfareporting#pathToConversionReportCompatibleFields.
  9569  	Kind string `json:"kind,omitempty"`
  9570  
  9571  	// Metrics: Metrics which are compatible to be selected in the
  9572  	// "metricNames" section of the report.
  9573  	Metrics []*Metric `json:"metrics,omitempty"`
  9574  
  9575  	// PerInteractionDimensions: Per-interaction dimensions which are
  9576  	// compatible to be selected in the "perInteractionDimensions" section
  9577  	// of the report.
  9578  	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
  9579  
  9580  	// ForceSendFields is a list of field names (e.g.
  9581  	// "ConversionDimensions") to unconditionally include in API requests.
  9582  	// By default, fields with empty values are omitted from API requests.
  9583  	// However, any non-pointer, non-interface field appearing in
  9584  	// ForceSendFields will be sent to the server regardless of whether the
  9585  	// field is empty or not. This may be used to include empty fields in
  9586  	// Patch requests.
  9587  	ForceSendFields []string `json:"-"`
  9588  
  9589  	// NullFields is a list of field names (e.g. "ConversionDimensions") to
  9590  	// include in API requests with the JSON null value. By default, fields
  9591  	// with empty values are omitted from API requests. However, any field
  9592  	// with an empty value appearing in NullFields will be sent to the
  9593  	// server as null. It is an error if a field in this list has a
  9594  	// non-empty value. This may be used to include null fields in Patch
  9595  	// requests.
  9596  	NullFields []string `json:"-"`
  9597  }
  9598  
  9599  func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
  9600  	type NoMethod PathToConversionReportCompatibleFields
  9601  	raw := NoMethod(*s)
  9602  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9603  }
  9604  
  9605  // Placement: Contains properties of a placement.
  9606  type Placement struct {
  9607  	// AccountId: Account ID of this placement. This field can be left
  9608  	// blank.
  9609  	AccountId int64 `json:"accountId,omitempty,string"`
  9610  
  9611  	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
  9612  	// When true, ad blocking is disabled for this placement. When false,
  9613  	// the campaign and site settings take effect.
  9614  	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
  9615  
  9616  	// AdditionalSizes: Additional sizes associated with this placement.
  9617  	// When inserting or updating a placement, only the size ID field is
  9618  	// used.
  9619  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  9620  
  9621  	// AdvertiserId: Advertiser ID of this placement. This field can be left
  9622  	// blank.
  9623  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9624  
  9625  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  9626  	// advertiser. This is a read-only, auto-generated field.
  9627  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  9628  
  9629  	// Archived: Whether this placement is archived.
  9630  	Archived bool `json:"archived,omitempty"`
  9631  
  9632  	// CampaignId: Campaign ID of this placement. This field is a required
  9633  	// field on insertion.
  9634  	CampaignId int64 `json:"campaignId,omitempty,string"`
  9635  
  9636  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  9637  	// This is a read-only, auto-generated field.
  9638  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  9639  
  9640  	// Comment: Comments for this placement.
  9641  	Comment string `json:"comment,omitempty"`
  9642  
  9643  	// Compatibility: Placement compatibility. DISPLAY and
  9644  	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
  9645  	// or in mobile apps for regular or interstitial ads respectively. APP
  9646  	// and APP_INTERSTITIAL are no longer allowed for new placement
  9647  	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
  9648  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  9649  	// with the VAST standard. This field is required on insertion.
  9650  	//
  9651  	// Possible values:
  9652  	//   "APP"
  9653  	//   "APP_INTERSTITIAL"
  9654  	//   "DISPLAY"
  9655  	//   "DISPLAY_INTERSTITIAL"
  9656  	//   "IN_STREAM_AUDIO"
  9657  	//   "IN_STREAM_VIDEO"
  9658  	Compatibility string `json:"compatibility,omitempty"`
  9659  
  9660  	// ContentCategoryId: ID of the content category assigned to this
  9661  	// placement.
  9662  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  9663  
  9664  	// CreateInfo: Information about the creation of this placement. This is
  9665  	// a read-only field.
  9666  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  9667  
  9668  	// DirectorySiteId: Directory site ID of this placement. On insert, you
  9669  	// must set either this field or the siteId field to specify the site
  9670  	// associated with this placement. This is a required field that is
  9671  	// read-only after insertion.
  9672  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  9673  
  9674  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
  9675  	// directory site. This is a read-only, auto-generated field.
  9676  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
  9677  
  9678  	// ExternalId: External ID for this placement.
  9679  	ExternalId string `json:"externalId,omitempty"`
  9680  
  9681  	// Id: ID of this placement. This is a read-only, auto-generated field.
  9682  	Id int64 `json:"id,omitempty,string"`
  9683  
  9684  	// IdDimensionValue: Dimension value for the ID of this placement. This
  9685  	// is a read-only, auto-generated field.
  9686  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  9687  
  9688  	// KeyName: Key name of this placement. This is a read-only,
  9689  	// auto-generated field.
  9690  	KeyName string `json:"keyName,omitempty"`
  9691  
  9692  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9693  	// string "dfareporting#placement".
  9694  	Kind string `json:"kind,omitempty"`
  9695  
  9696  	// LastModifiedInfo: Information about the most recent modification of
  9697  	// this placement. This is a read-only field.
  9698  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9699  
  9700  	// LookbackConfiguration: Lookback window settings for this placement.
  9701  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  9702  
  9703  	// Name: Name of this placement.This is a required field and must be
  9704  	// less than 256 characters long.
  9705  	Name string `json:"name,omitempty"`
  9706  
  9707  	// PaymentApproved: Whether payment was approved for this placement.
  9708  	// This is a read-only field relevant only to publisher-paid placements.
  9709  	PaymentApproved bool `json:"paymentApproved,omitempty"`
  9710  
  9711  	// PaymentSource: Payment source for this placement. This is a required
  9712  	// field that is read-only after insertion.
  9713  	//
  9714  	// Possible values:
  9715  	//   "PLACEMENT_AGENCY_PAID"
  9716  	//   "PLACEMENT_PUBLISHER_PAID"
  9717  	PaymentSource string `json:"paymentSource,omitempty"`
  9718  
  9719  	// PlacementGroupId: ID of this placement's group, if applicable.
  9720  	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
  9721  
  9722  	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
  9723  	// placement group. This is a read-only, auto-generated field.
  9724  	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
  9725  
  9726  	// PlacementStrategyId: ID of the placement strategy assigned to this
  9727  	// placement.
  9728  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  9729  
  9730  	// PricingSchedule: Pricing schedule of this placement. This field is
  9731  	// required on insertion, specifically subfields startDate, endDate and
  9732  	// pricingType.
  9733  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
  9734  
  9735  	// Primary: Whether this placement is the primary placement of a
  9736  	// roadblock (placement group). You cannot change this field from true
  9737  	// to false. Setting this field to true will automatically set the
  9738  	// primary field on the original primary placement of the roadblock to
  9739  	// false, and it will automatically set the roadblock's
  9740  	// primaryPlacementId field to the ID of this placement.
  9741  	Primary bool `json:"primary,omitempty"`
  9742  
  9743  	// PublisherUpdateInfo: Information about the last publisher update.
  9744  	// This is a read-only field.
  9745  	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
  9746  
  9747  	// SiteId: Site ID associated with this placement. On insert, you must
  9748  	// set either this field or the directorySiteId field to specify the
  9749  	// site associated with this placement. This is a required field that is
  9750  	// read-only after insertion.
  9751  	SiteId int64 `json:"siteId,omitempty,string"`
  9752  
  9753  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  9754  	// a read-only, auto-generated field.
  9755  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  9756  
  9757  	// Size: Size associated with this placement. When inserting or updating
  9758  	// a placement, only the size ID field is used. This field is required
  9759  	// on insertion.
  9760  	Size *Size `json:"size,omitempty"`
  9761  
  9762  	// SslRequired: Whether creatives assigned to this placement must be
  9763  	// SSL-compliant.
  9764  	SslRequired bool `json:"sslRequired,omitempty"`
  9765  
  9766  	// Status: Third-party placement status.
  9767  	//
  9768  	// Possible values:
  9769  	//   "ACKNOWLEDGE_ACCEPTANCE"
  9770  	//   "ACKNOWLEDGE_REJECTION"
  9771  	//   "DRAFT"
  9772  	//   "PAYMENT_ACCEPTED"
  9773  	//   "PAYMENT_REJECTED"
  9774  	//   "PENDING_REVIEW"
  9775  	Status string `json:"status,omitempty"`
  9776  
  9777  	// SubaccountId: Subaccount ID of this placement. This field can be left
  9778  	// blank.
  9779  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9780  
  9781  	// TagFormats: Tag formats to generate for this placement. This field is
  9782  	// required on insertion.
  9783  	// Acceptable values are:
  9784  	// - "PLACEMENT_TAG_STANDARD"
  9785  	// - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
  9786  	// - "PLACEMENT_TAG_IFRAME_ILAYER"
  9787  	// - "PLACEMENT_TAG_INTERNAL_REDIRECT"
  9788  	// - "PLACEMENT_TAG_JAVASCRIPT"
  9789  	// - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
  9790  	// - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
  9791  	// - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
  9792  	// - "PLACEMENT_TAG_CLICK_COMMANDS"
  9793  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
  9794  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
  9795  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
  9796  	// - "PLACEMENT_TAG_TRACKING"
  9797  	// - "PLACEMENT_TAG_TRACKING_IFRAME"
  9798  	// - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
  9799  	//
  9800  	// Possible values:
  9801  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
  9802  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
  9803  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
  9804  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
  9805  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
  9806  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
  9807  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
  9808  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
  9809  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
  9810  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
  9811  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
  9812  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
  9813  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
  9814  	//   "PLACEMENT_TAG_JAVASCRIPT"
  9815  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
  9816  	//   "PLACEMENT_TAG_STANDARD"
  9817  	//   "PLACEMENT_TAG_TRACKING"
  9818  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
  9819  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
  9820  	TagFormats []string `json:"tagFormats,omitempty"`
  9821  
  9822  	// TagSetting: Tag settings for this placement.
  9823  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
  9824  
  9825  	// VideoActiveViewOptOut: Whether Verification and ActiveView are
  9826  	// disabled for in-stream video creatives for this placement. The same
  9827  	// setting videoActiveViewOptOut exists on the site level -- the opt out
  9828  	// occurs if either of these settings are true. These settings are
  9829  	// distinct from DirectorySites.settings.activeViewOptOut or
  9830  	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
  9831  	// However, Accounts.activeViewOptOut opts out both video traffic, as
  9832  	// well as display ads, from Verification and ActiveView.
  9833  	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
  9834  
  9835  	// VideoSettings: A collection of settings which affect video creatives
  9836  	// served through this placement. Applicable to placements with
  9837  	// IN_STREAM_VIDEO compatibility.
  9838  	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
  9839  
  9840  	// VpaidAdapterChoice: VPAID adapter setting for this placement.
  9841  	// Controls which VPAID format the measurement adapter will use for
  9842  	// in-stream video creatives assigned to this placement.
  9843  	//
  9844  	// Note: Flash is no longer supported. This field now defaults to HTML5
  9845  	// when the following values are provided: FLASH, BOTH.
  9846  	//
  9847  	// Possible values:
  9848  	//   "BOTH"
  9849  	//   "DEFAULT"
  9850  	//   "FLASH"
  9851  	//   "HTML5"
  9852  	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
  9853  
  9854  	// ServerResponse contains the HTTP response code and headers from the
  9855  	// server.
  9856  	googleapi.ServerResponse `json:"-"`
  9857  
  9858  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9859  	// unconditionally include in API requests. By default, fields with
  9860  	// empty values are omitted from API requests. However, any non-pointer,
  9861  	// non-interface field appearing in ForceSendFields will be sent to the
  9862  	// server regardless of whether the field is empty or not. This may be
  9863  	// used to include empty fields in Patch requests.
  9864  	ForceSendFields []string `json:"-"`
  9865  
  9866  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9867  	// API requests with the JSON null value. By default, fields with empty
  9868  	// values are omitted from API requests. However, any field with an
  9869  	// empty value appearing in NullFields will be sent to the server as
  9870  	// null. It is an error if a field in this list has a non-empty value.
  9871  	// This may be used to include null fields in Patch requests.
  9872  	NullFields []string `json:"-"`
  9873  }
  9874  
  9875  func (s *Placement) MarshalJSON() ([]byte, error) {
  9876  	type NoMethod Placement
  9877  	raw := NoMethod(*s)
  9878  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9879  }
  9880  
  9881  // PlacementAssignment: Placement Assignment.
  9882  type PlacementAssignment struct {
  9883  	// Active: Whether this placement assignment is active. When true, the
  9884  	// placement will be included in the ad's rotation.
  9885  	Active bool `json:"active,omitempty"`
  9886  
  9887  	// PlacementId: ID of the placement to be assigned. This is a required
  9888  	// field.
  9889  	PlacementId int64 `json:"placementId,omitempty,string"`
  9890  
  9891  	// PlacementIdDimensionValue: Dimension value for the ID of the
  9892  	// placement. This is a read-only, auto-generated field.
  9893  	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
  9894  
  9895  	// SslRequired: Whether the placement to be assigned requires SSL. This
  9896  	// is a read-only field that is auto-generated when the ad is inserted
  9897  	// or updated.
  9898  	SslRequired bool `json:"sslRequired,omitempty"`
  9899  
  9900  	// ForceSendFields is a list of field names (e.g. "Active") to
  9901  	// unconditionally include in API requests. By default, fields with
  9902  	// empty values are omitted from API requests. However, any non-pointer,
  9903  	// non-interface field appearing in ForceSendFields will be sent to the
  9904  	// server regardless of whether the field is empty or not. This may be
  9905  	// used to include empty fields in Patch requests.
  9906  	ForceSendFields []string `json:"-"`
  9907  
  9908  	// NullFields is a list of field names (e.g. "Active") to include in API
  9909  	// requests with the JSON null value. By default, fields with empty
  9910  	// values are omitted from API requests. However, any field with an
  9911  	// empty value appearing in NullFields will be sent to the server as
  9912  	// null. It is an error if a field in this list has a non-empty value.
  9913  	// This may be used to include null fields in Patch requests.
  9914  	NullFields []string `json:"-"`
  9915  }
  9916  
  9917  func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
  9918  	type NoMethod PlacementAssignment
  9919  	raw := NoMethod(*s)
  9920  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9921  }
  9922  
  9923  // PlacementGroup: Contains properties of a package or roadblock.
  9924  type PlacementGroup struct {
  9925  	// AccountId: Account ID of this placement group. This is a read-only
  9926  	// field that can be left blank.
  9927  	AccountId int64 `json:"accountId,omitempty,string"`
  9928  
  9929  	// AdvertiserId: Advertiser ID of this placement group. This is a
  9930  	// required field on insertion.
  9931  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9932  
  9933  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  9934  	// advertiser. This is a read-only, auto-generated field.
  9935  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  9936  
  9937  	// Archived: Whether this placement group is archived.
  9938  	Archived bool `json:"archived,omitempty"`
  9939  
  9940  	// CampaignId: Campaign ID of this placement group. This field is
  9941  	// required on insertion.
  9942  	CampaignId int64 `json:"campaignId,omitempty,string"`
  9943  
  9944  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  9945  	// This is a read-only, auto-generated field.
  9946  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  9947  
  9948  	// ChildPlacementIds: IDs of placements which are assigned to this
  9949  	// placement group. This is a read-only, auto-generated field.
  9950  	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
  9951  
  9952  	// Comment: Comments for this placement group.
  9953  	Comment string `json:"comment,omitempty"`
  9954  
  9955  	// ContentCategoryId: ID of the content category assigned to this
  9956  	// placement group.
  9957  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  9958  
  9959  	// CreateInfo: Information about the creation of this placement group.
  9960  	// This is a read-only field.
  9961  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  9962  
  9963  	// DirectorySiteId: Directory site ID associated with this placement
  9964  	// group. On insert, you must set either this field or the site_id field
  9965  	// to specify the site associated with this placement group. This is a
  9966  	// required field that is read-only after insertion.
  9967  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  9968  
  9969  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
  9970  	// directory site. This is a read-only, auto-generated field.
  9971  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
  9972  
  9973  	// ExternalId: External ID for this placement.
  9974  	ExternalId string `json:"externalId,omitempty"`
  9975  
  9976  	// Id: ID of this placement group. This is a read-only, auto-generated
  9977  	// field.
  9978  	Id int64 `json:"id,omitempty,string"`
  9979  
  9980  	// IdDimensionValue: Dimension value for the ID of this placement group.
  9981  	// This is a read-only, auto-generated field.
  9982  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  9983  
  9984  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9985  	// string "dfareporting#placementGroup".
  9986  	Kind string `json:"kind,omitempty"`
  9987  
  9988  	// LastModifiedInfo: Information about the most recent modification of
  9989  	// this placement group. This is a read-only field.
  9990  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9991  
  9992  	// Name: Name of this placement group. This is a required field and must
  9993  	// be less than 256 characters long.
  9994  	Name string `json:"name,omitempty"`
  9995  
  9996  	// PlacementGroupType: Type of this placement group. A package is a
  9997  	// simple group of placements that acts as a single pricing point for a
  9998  	// group of tags. A roadblock is a group of placements that not only
  9999  	// acts as a single pricing point, but also assumes that all the tags in
 10000  	// it will be served at the same time. A roadblock requires one of its
 10001  	// assigned placements to be marked as primary for reporting. This field
 10002  	// is required on insertion.
 10003  	//
 10004  	// Possible values:
 10005  	//   "PLACEMENT_PACKAGE"
 10006  	//   "PLACEMENT_ROADBLOCK"
 10007  	PlacementGroupType string `json:"placementGroupType,omitempty"`
 10008  
 10009  	// PlacementStrategyId: ID of the placement strategy assigned to this
 10010  	// placement group.
 10011  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
 10012  
 10013  	// PricingSchedule: Pricing schedule of this placement group. This field
 10014  	// is required on insertion.
 10015  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
 10016  
 10017  	// PrimaryPlacementId: ID of the primary placement, used to calculate
 10018  	// the media cost of a roadblock (placement group). Modifying this field
 10019  	// will automatically modify the primary field on all affected roadblock
 10020  	// child placements.
 10021  	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
 10022  
 10023  	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
 10024  	// primary placement. This is a read-only, auto-generated field.
 10025  	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
 10026  
 10027  	// SiteId: Site ID associated with this placement group. On insert, you
 10028  	// must set either this field or the directorySiteId field to specify
 10029  	// the site associated with this placement group. This is a required
 10030  	// field that is read-only after insertion.
 10031  	SiteId int64 `json:"siteId,omitempty,string"`
 10032  
 10033  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
 10034  	// a read-only, auto-generated field.
 10035  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
 10036  
 10037  	// SubaccountId: Subaccount ID of this placement group. This is a
 10038  	// read-only field that can be left blank.
 10039  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10040  
 10041  	// ServerResponse contains the HTTP response code and headers from the
 10042  	// server.
 10043  	googleapi.ServerResponse `json:"-"`
 10044  
 10045  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10046  	// unconditionally include in API requests. By default, fields with
 10047  	// empty values are omitted from API requests. However, any non-pointer,
 10048  	// non-interface field appearing in ForceSendFields will be sent to the
 10049  	// server regardless of whether the field is empty or not. This may be
 10050  	// used to include empty fields in Patch requests.
 10051  	ForceSendFields []string `json:"-"`
 10052  
 10053  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10054  	// API requests with the JSON null value. By default, fields with empty
 10055  	// values are omitted from API requests. However, any field with an
 10056  	// empty value appearing in NullFields will be sent to the server as
 10057  	// null. It is an error if a field in this list has a non-empty value.
 10058  	// This may be used to include null fields in Patch requests.
 10059  	NullFields []string `json:"-"`
 10060  }
 10061  
 10062  func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
 10063  	type NoMethod PlacementGroup
 10064  	raw := NoMethod(*s)
 10065  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10066  }
 10067  
 10068  // PlacementGroupsListResponse: Placement Group List Response
 10069  type PlacementGroupsListResponse struct {
 10070  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10071  	// string "dfareporting#placementGroupsListResponse".
 10072  	Kind string `json:"kind,omitempty"`
 10073  
 10074  	// NextPageToken: Pagination token to be used for the next list
 10075  	// operation.
 10076  	NextPageToken string `json:"nextPageToken,omitempty"`
 10077  
 10078  	// PlacementGroups: Placement group collection.
 10079  	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
 10080  
 10081  	// ServerResponse contains the HTTP response code and headers from the
 10082  	// server.
 10083  	googleapi.ServerResponse `json:"-"`
 10084  
 10085  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10086  	// unconditionally include in API requests. By default, fields with
 10087  	// empty values are omitted from API requests. However, any non-pointer,
 10088  	// non-interface field appearing in ForceSendFields will be sent to the
 10089  	// server regardless of whether the field is empty or not. This may be
 10090  	// used to include empty fields in Patch requests.
 10091  	ForceSendFields []string `json:"-"`
 10092  
 10093  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10094  	// requests with the JSON null value. By default, fields with empty
 10095  	// values are omitted from API requests. However, any field with an
 10096  	// empty value appearing in NullFields will be sent to the server as
 10097  	// null. It is an error if a field in this list has a non-empty value.
 10098  	// This may be used to include null fields in Patch requests.
 10099  	NullFields []string `json:"-"`
 10100  }
 10101  
 10102  func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
 10103  	type NoMethod PlacementGroupsListResponse
 10104  	raw := NoMethod(*s)
 10105  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10106  }
 10107  
 10108  // PlacementStrategiesListResponse: Placement Strategy List Response
 10109  type PlacementStrategiesListResponse struct {
 10110  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10111  	// string "dfareporting#placementStrategiesListResponse".
 10112  	Kind string `json:"kind,omitempty"`
 10113  
 10114  	// NextPageToken: Pagination token to be used for the next list
 10115  	// operation.
 10116  	NextPageToken string `json:"nextPageToken,omitempty"`
 10117  
 10118  	// PlacementStrategies: Placement strategy collection.
 10119  	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
 10120  
 10121  	// ServerResponse contains the HTTP response code and headers from the
 10122  	// server.
 10123  	googleapi.ServerResponse `json:"-"`
 10124  
 10125  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10126  	// unconditionally include in API requests. By default, fields with
 10127  	// empty values are omitted from API requests. However, any non-pointer,
 10128  	// non-interface field appearing in ForceSendFields will be sent to the
 10129  	// server regardless of whether the field is empty or not. This may be
 10130  	// used to include empty fields in Patch requests.
 10131  	ForceSendFields []string `json:"-"`
 10132  
 10133  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10134  	// requests with the JSON null value. By default, fields with empty
 10135  	// values are omitted from API requests. However, any field with an
 10136  	// empty value appearing in NullFields will be sent to the server as
 10137  	// null. It is an error if a field in this list has a non-empty value.
 10138  	// This may be used to include null fields in Patch requests.
 10139  	NullFields []string `json:"-"`
 10140  }
 10141  
 10142  func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
 10143  	type NoMethod PlacementStrategiesListResponse
 10144  	raw := NoMethod(*s)
 10145  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10146  }
 10147  
 10148  // PlacementStrategy: Contains properties of a placement strategy.
 10149  type PlacementStrategy struct {
 10150  	// AccountId: Account ID of this placement strategy.This is a read-only
 10151  	// field that can be left blank.
 10152  	AccountId int64 `json:"accountId,omitempty,string"`
 10153  
 10154  	// Id: ID of this placement strategy. This is a read-only,
 10155  	// auto-generated field.
 10156  	Id int64 `json:"id,omitempty,string"`
 10157  
 10158  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10159  	// string "dfareporting#placementStrategy".
 10160  	Kind string `json:"kind,omitempty"`
 10161  
 10162  	// Name: Name of this placement strategy. This is a required field. It
 10163  	// must be less than 256 characters long and unique among placement
 10164  	// strategies of the same account.
 10165  	Name string `json:"name,omitempty"`
 10166  
 10167  	// ServerResponse contains the HTTP response code and headers from the
 10168  	// server.
 10169  	googleapi.ServerResponse `json:"-"`
 10170  
 10171  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10172  	// unconditionally include in API requests. By default, fields with
 10173  	// empty values are omitted from API requests. However, any non-pointer,
 10174  	// non-interface field appearing in ForceSendFields will be sent to the
 10175  	// server regardless of whether the field is empty or not. This may be
 10176  	// used to include empty fields in Patch requests.
 10177  	ForceSendFields []string `json:"-"`
 10178  
 10179  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10180  	// API requests with the JSON null value. By default, fields with empty
 10181  	// values are omitted from API requests. However, any field with an
 10182  	// empty value appearing in NullFields will be sent to the server as
 10183  	// null. It is an error if a field in this list has a non-empty value.
 10184  	// This may be used to include null fields in Patch requests.
 10185  	NullFields []string `json:"-"`
 10186  }
 10187  
 10188  func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
 10189  	type NoMethod PlacementStrategy
 10190  	raw := NoMethod(*s)
 10191  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10192  }
 10193  
 10194  // PlacementTag: Placement Tag
 10195  type PlacementTag struct {
 10196  	// PlacementId: Placement ID
 10197  	PlacementId int64 `json:"placementId,omitempty,string"`
 10198  
 10199  	// TagDatas: Tags generated for this placement.
 10200  	TagDatas []*TagData `json:"tagDatas,omitempty"`
 10201  
 10202  	// ForceSendFields is a list of field names (e.g. "PlacementId") 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. "PlacementId") to include
 10211  	// in API requests with the JSON null value. By default, fields with
 10212  	// empty values are omitted from API requests. However, any field with
 10213  	// an 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 *PlacementTag) MarshalJSON() ([]byte, error) {
 10220  	type NoMethod PlacementTag
 10221  	raw := NoMethod(*s)
 10222  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10223  }
 10224  
 10225  // PlacementsGenerateTagsResponse: Placement GenerateTags Response
 10226  type PlacementsGenerateTagsResponse struct {
 10227  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10228  	// string "dfareporting#placementsGenerateTagsResponse".
 10229  	Kind string `json:"kind,omitempty"`
 10230  
 10231  	// PlacementTags: Set of generated tags for the specified placements.
 10232  	PlacementTags []*PlacementTag `json:"placementTags,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 *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
 10256  	type NoMethod PlacementsGenerateTagsResponse
 10257  	raw := NoMethod(*s)
 10258  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10259  }
 10260  
 10261  // PlacementsListResponse: Placement List Response
 10262  type PlacementsListResponse struct {
 10263  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10264  	// string "dfareporting#placementsListResponse".
 10265  	Kind string `json:"kind,omitempty"`
 10266  
 10267  	// NextPageToken: Pagination token to be used for the next list
 10268  	// operation.
 10269  	NextPageToken string `json:"nextPageToken,omitempty"`
 10270  
 10271  	// Placements: Placement collection.
 10272  	Placements []*Placement `json:"placements,omitempty"`
 10273  
 10274  	// ServerResponse contains the HTTP response code and headers from the
 10275  	// server.
 10276  	googleapi.ServerResponse `json:"-"`
 10277  
 10278  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10279  	// unconditionally include in API requests. By default, fields with
 10280  	// empty values are omitted from API requests. However, any non-pointer,
 10281  	// non-interface field appearing in ForceSendFields will be sent to the
 10282  	// server regardless of whether the field is empty or not. This may be
 10283  	// used to include empty fields in Patch requests.
 10284  	ForceSendFields []string `json:"-"`
 10285  
 10286  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10287  	// requests with the JSON null value. By default, fields with empty
 10288  	// values are omitted from API requests. However, any field with an
 10289  	// empty value appearing in NullFields will be sent to the server as
 10290  	// null. It is an error if a field in this list has a non-empty value.
 10291  	// This may be used to include null fields in Patch requests.
 10292  	NullFields []string `json:"-"`
 10293  }
 10294  
 10295  func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
 10296  	type NoMethod PlacementsListResponse
 10297  	raw := NoMethod(*s)
 10298  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10299  }
 10300  
 10301  // PlatformType: Contains information about a platform type that can be
 10302  // targeted by ads.
 10303  type PlatformType struct {
 10304  	// Id: ID of this platform type.
 10305  	Id int64 `json:"id,omitempty,string"`
 10306  
 10307  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10308  	// string "dfareporting#platformType".
 10309  	Kind string `json:"kind,omitempty"`
 10310  
 10311  	// Name: Name of this platform type.
 10312  	Name string `json:"name,omitempty"`
 10313  
 10314  	// ServerResponse contains the HTTP response code and headers from the
 10315  	// server.
 10316  	googleapi.ServerResponse `json:"-"`
 10317  
 10318  	// ForceSendFields is a list of field names (e.g. "Id") to
 10319  	// unconditionally include in API requests. By default, fields with
 10320  	// empty values are omitted from API requests. However, any non-pointer,
 10321  	// non-interface field appearing in ForceSendFields will be sent to the
 10322  	// server regardless of whether the field is empty or not. This may be
 10323  	// used to include empty fields in Patch requests.
 10324  	ForceSendFields []string `json:"-"`
 10325  
 10326  	// NullFields is a list of field names (e.g. "Id") to include in API
 10327  	// requests with the JSON null value. By default, fields with empty
 10328  	// values are omitted from API requests. However, any field with an
 10329  	// empty value appearing in NullFields will be sent to the server as
 10330  	// null. It is an error if a field in this list has a non-empty value.
 10331  	// This may be used to include null fields in Patch requests.
 10332  	NullFields []string `json:"-"`
 10333  }
 10334  
 10335  func (s *PlatformType) MarshalJSON() ([]byte, error) {
 10336  	type NoMethod PlatformType
 10337  	raw := NoMethod(*s)
 10338  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10339  }
 10340  
 10341  // PlatformTypesListResponse: Platform Type List Response
 10342  type PlatformTypesListResponse struct {
 10343  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10344  	// string "dfareporting#platformTypesListResponse".
 10345  	Kind string `json:"kind,omitempty"`
 10346  
 10347  	// PlatformTypes: Platform type collection.
 10348  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 10349  
 10350  	// ServerResponse contains the HTTP response code and headers from the
 10351  	// server.
 10352  	googleapi.ServerResponse `json:"-"`
 10353  
 10354  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10355  	// unconditionally include in API requests. By default, fields with
 10356  	// empty values are omitted from API requests. However, any non-pointer,
 10357  	// non-interface field appearing in ForceSendFields will be sent to the
 10358  	// server regardless of whether the field is empty or not. This may be
 10359  	// used to include empty fields in Patch requests.
 10360  	ForceSendFields []string `json:"-"`
 10361  
 10362  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10363  	// requests with the JSON null value. By default, fields with empty
 10364  	// values are omitted from API requests. However, any field with an
 10365  	// empty value appearing in NullFields will be sent to the server as
 10366  	// null. It is an error if a field in this list has a non-empty value.
 10367  	// This may be used to include null fields in Patch requests.
 10368  	NullFields []string `json:"-"`
 10369  }
 10370  
 10371  func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
 10372  	type NoMethod PlatformTypesListResponse
 10373  	raw := NoMethod(*s)
 10374  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10375  }
 10376  
 10377  // PopupWindowProperties: Popup Window Properties.
 10378  type PopupWindowProperties struct {
 10379  	// Dimension: Popup dimension for a creative. This is a read-only field.
 10380  	// Applicable to the following creative types: all RICH_MEDIA and all
 10381  	// VPAID
 10382  	Dimension *Size `json:"dimension,omitempty"`
 10383  
 10384  	// Offset: Upper-left corner coordinates of the popup window. Applicable
 10385  	// if positionType is COORDINATES.
 10386  	Offset *OffsetPosition `json:"offset,omitempty"`
 10387  
 10388  	// PositionType: Popup window position either centered or at specific
 10389  	// coordinate.
 10390  	//
 10391  	// Possible values:
 10392  	//   "CENTER"
 10393  	//   "COORDINATES"
 10394  	PositionType string `json:"positionType,omitempty"`
 10395  
 10396  	// ShowAddressBar: Whether to display the browser address bar.
 10397  	ShowAddressBar bool `json:"showAddressBar,omitempty"`
 10398  
 10399  	// ShowMenuBar: Whether to display the browser menu bar.
 10400  	ShowMenuBar bool `json:"showMenuBar,omitempty"`
 10401  
 10402  	// ShowScrollBar: Whether to display the browser scroll bar.
 10403  	ShowScrollBar bool `json:"showScrollBar,omitempty"`
 10404  
 10405  	// ShowStatusBar: Whether to display the browser status bar.
 10406  	ShowStatusBar bool `json:"showStatusBar,omitempty"`
 10407  
 10408  	// ShowToolBar: Whether to display the browser tool bar.
 10409  	ShowToolBar bool `json:"showToolBar,omitempty"`
 10410  
 10411  	// Title: Title of popup window.
 10412  	Title string `json:"title,omitempty"`
 10413  
 10414  	// ForceSendFields is a list of field names (e.g. "Dimension") to
 10415  	// unconditionally include in API requests. By default, fields with
 10416  	// empty values are omitted from API requests. However, any non-pointer,
 10417  	// non-interface field appearing in ForceSendFields will be sent to the
 10418  	// server regardless of whether the field is empty or not. This may be
 10419  	// used to include empty fields in Patch requests.
 10420  	ForceSendFields []string `json:"-"`
 10421  
 10422  	// NullFields is a list of field names (e.g. "Dimension") to include in
 10423  	// API requests with the JSON null value. By default, fields with empty
 10424  	// values are omitted from API requests. However, any field with an
 10425  	// empty value appearing in NullFields will be sent to the server as
 10426  	// null. It is an error if a field in this list has a non-empty value.
 10427  	// This may be used to include null fields in Patch requests.
 10428  	NullFields []string `json:"-"`
 10429  }
 10430  
 10431  func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
 10432  	type NoMethod PopupWindowProperties
 10433  	raw := NoMethod(*s)
 10434  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10435  }
 10436  
 10437  // PostalCode: Contains information about a postal code that can be
 10438  // targeted by ads.
 10439  type PostalCode struct {
 10440  	// Code: Postal code. This is equivalent to the id field.
 10441  	Code string `json:"code,omitempty"`
 10442  
 10443  	// CountryCode: Country code of the country to which this postal code
 10444  	// belongs.
 10445  	CountryCode string `json:"countryCode,omitempty"`
 10446  
 10447  	// CountryDartId: DART ID of the country to which this postal code
 10448  	// belongs.
 10449  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 10450  
 10451  	// Id: ID of this postal code.
 10452  	Id string `json:"id,omitempty"`
 10453  
 10454  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10455  	// string "dfareporting#postalCode".
 10456  	Kind string `json:"kind,omitempty"`
 10457  
 10458  	// ServerResponse contains the HTTP response code and headers from the
 10459  	// server.
 10460  	googleapi.ServerResponse `json:"-"`
 10461  
 10462  	// ForceSendFields is a list of field names (e.g. "Code") to
 10463  	// unconditionally include in API requests. By default, fields with
 10464  	// empty values are omitted from API requests. However, any non-pointer,
 10465  	// non-interface field appearing in ForceSendFields will be sent to the
 10466  	// server regardless of whether the field is empty or not. This may be
 10467  	// used to include empty fields in Patch requests.
 10468  	ForceSendFields []string `json:"-"`
 10469  
 10470  	// NullFields is a list of field names (e.g. "Code") to include in API
 10471  	// requests with the JSON null value. By default, fields with empty
 10472  	// values are omitted from API requests. However, any field with an
 10473  	// empty value appearing in NullFields will be sent to the server as
 10474  	// null. It is an error if a field in this list has a non-empty value.
 10475  	// This may be used to include null fields in Patch requests.
 10476  	NullFields []string `json:"-"`
 10477  }
 10478  
 10479  func (s *PostalCode) MarshalJSON() ([]byte, error) {
 10480  	type NoMethod PostalCode
 10481  	raw := NoMethod(*s)
 10482  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10483  }
 10484  
 10485  // PostalCodesListResponse: Postal Code List Response
 10486  type PostalCodesListResponse struct {
 10487  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10488  	// string "dfareporting#postalCodesListResponse".
 10489  	Kind string `json:"kind,omitempty"`
 10490  
 10491  	// PostalCodes: Postal code collection.
 10492  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
 10493  
 10494  	// ServerResponse contains the HTTP response code and headers from the
 10495  	// server.
 10496  	googleapi.ServerResponse `json:"-"`
 10497  
 10498  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10499  	// unconditionally include in API requests. By default, fields with
 10500  	// empty values are omitted from API requests. However, any non-pointer,
 10501  	// non-interface field appearing in ForceSendFields will be sent to the
 10502  	// server regardless of whether the field is empty or not. This may be
 10503  	// used to include empty fields in Patch requests.
 10504  	ForceSendFields []string `json:"-"`
 10505  
 10506  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10507  	// requests with the JSON null value. By default, fields with empty
 10508  	// values are omitted from API requests. However, any field with an
 10509  	// empty value appearing in NullFields will be sent to the server as
 10510  	// null. It is an error if a field in this list has a non-empty value.
 10511  	// This may be used to include null fields in Patch requests.
 10512  	NullFields []string `json:"-"`
 10513  }
 10514  
 10515  func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
 10516  	type NoMethod PostalCodesListResponse
 10517  	raw := NoMethod(*s)
 10518  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10519  }
 10520  
 10521  // Pricing: Pricing Information
 10522  type Pricing struct {
 10523  	// CapCostType: Cap cost type of this inventory item.
 10524  	//
 10525  	// Possible values:
 10526  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
 10527  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
 10528  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
 10529  	CapCostType string `json:"capCostType,omitempty"`
 10530  
 10531  	// EndDate: End date of this inventory item.
 10532  	EndDate string `json:"endDate,omitempty"`
 10533  
 10534  	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
 10535  	// period) represents the inventory item pricing information for a
 10536  	// specific period of time.
 10537  	Flights []*Flight `json:"flights,omitempty"`
 10538  
 10539  	// GroupType: Group type of this inventory item if it represents a
 10540  	// placement group. Is null otherwise. There are two type of placement
 10541  	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
 10542  	// inventory items that acts as a single pricing point for a group of
 10543  	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
 10544  	// items that not only acts as a single pricing point, but also assumes
 10545  	// that all the tags in it will be served at the same time. A roadblock
 10546  	// requires one of its assigned inventory items to be marked as primary.
 10547  	//
 10548  	// Possible values:
 10549  	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
 10550  	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
 10551  	GroupType string `json:"groupType,omitempty"`
 10552  
 10553  	// PricingType: Pricing type of this inventory item.
 10554  	//
 10555  	// Possible values:
 10556  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
 10557  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
 10558  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
 10559  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
 10560  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
 10561  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
 10562  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 10563  	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
 10564  	PricingType string `json:"pricingType,omitempty"`
 10565  
 10566  	// StartDate: Start date of this inventory item.
 10567  	StartDate string `json:"startDate,omitempty"`
 10568  
 10569  	// ForceSendFields is a list of field names (e.g. "CapCostType") to
 10570  	// unconditionally include in API requests. By default, fields with
 10571  	// empty values are omitted from API requests. However, any non-pointer,
 10572  	// non-interface field appearing in ForceSendFields will be sent to the
 10573  	// server regardless of whether the field is empty or not. This may be
 10574  	// used to include empty fields in Patch requests.
 10575  	ForceSendFields []string `json:"-"`
 10576  
 10577  	// NullFields is a list of field names (e.g. "CapCostType") to include
 10578  	// in API requests with the JSON null value. By default, fields with
 10579  	// empty values are omitted from API requests. However, any field with
 10580  	// an empty value appearing in NullFields will be sent to the server as
 10581  	// null. It is an error if a field in this list has a non-empty value.
 10582  	// This may be used to include null fields in Patch requests.
 10583  	NullFields []string `json:"-"`
 10584  }
 10585  
 10586  func (s *Pricing) MarshalJSON() ([]byte, error) {
 10587  	type NoMethod Pricing
 10588  	raw := NoMethod(*s)
 10589  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10590  }
 10591  
 10592  // PricingSchedule: Pricing Schedule
 10593  type PricingSchedule struct {
 10594  	// CapCostOption: Placement cap cost option.
 10595  	//
 10596  	// Possible values:
 10597  	//   "CAP_COST_CUMULATIVE"
 10598  	//   "CAP_COST_MONTHLY"
 10599  	//   "CAP_COST_NONE"
 10600  	CapCostOption string `json:"capCostOption,omitempty"`
 10601  
 10602  	// EndDate: Placement end date. This date must be later than, or the
 10603  	// same day as, the placement start date, but not later than the
 10604  	// campaign end date. If, for example, you set 6/25/2015 as both the
 10605  	// start and end dates, the effective placement date is just that day
 10606  	// only, 6/25/2015. The hours, minutes, and seconds of the end date
 10607  	// should not be set, as doing so will result in an error. This field is
 10608  	// required on insertion.
 10609  	EndDate string `json:"endDate,omitempty"`
 10610  
 10611  	// Flighted: Whether this placement is flighted. If true, pricing
 10612  	// periods will be computed automatically.
 10613  	Flighted bool `json:"flighted,omitempty"`
 10614  
 10615  	// FloodlightActivityId: Floodlight activity ID associated with this
 10616  	// placement. This field should be set when placement pricing type is
 10617  	// set to PRICING_TYPE_CPA.
 10618  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
 10619  
 10620  	// PricingPeriods: Pricing periods for this placement.
 10621  	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
 10622  
 10623  	// PricingType: Placement pricing type. This field is required on
 10624  	// insertion.
 10625  	//
 10626  	// Possible values:
 10627  	//   "PRICING_TYPE_CPA"
 10628  	//   "PRICING_TYPE_CPC"
 10629  	//   "PRICING_TYPE_CPM"
 10630  	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
 10631  	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
 10632  	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 10633  	PricingType string `json:"pricingType,omitempty"`
 10634  
 10635  	// StartDate: Placement start date. This date must be later than, or the
 10636  	// same day as, the campaign start date. The hours, minutes, and seconds
 10637  	// of the start date should not be set, as doing so will result in an
 10638  	// error. This field is required on insertion.
 10639  	StartDate string `json:"startDate,omitempty"`
 10640  
 10641  	// TestingStartDate: Testing start date of this placement. The hours,
 10642  	// minutes, and seconds of the start date should not be set, as doing so
 10643  	// will result in an error.
 10644  	TestingStartDate string `json:"testingStartDate,omitempty"`
 10645  
 10646  	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
 10647  	// unconditionally include in API requests. By default, fields with
 10648  	// empty values are omitted from API requests. However, any non-pointer,
 10649  	// non-interface field appearing in ForceSendFields will be sent to the
 10650  	// server regardless of whether the field is empty or not. This may be
 10651  	// used to include empty fields in Patch requests.
 10652  	ForceSendFields []string `json:"-"`
 10653  
 10654  	// NullFields is a list of field names (e.g. "CapCostOption") to include
 10655  	// in API requests with the JSON null value. By default, fields with
 10656  	// empty values are omitted from API requests. However, any field with
 10657  	// an empty value appearing in NullFields will be sent to the server as
 10658  	// null. It is an error if a field in this list has a non-empty value.
 10659  	// This may be used to include null fields in Patch requests.
 10660  	NullFields []string `json:"-"`
 10661  }
 10662  
 10663  func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
 10664  	type NoMethod PricingSchedule
 10665  	raw := NoMethod(*s)
 10666  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10667  }
 10668  
 10669  // PricingSchedulePricingPeriod: Pricing Period
 10670  type PricingSchedulePricingPeriod struct {
 10671  	// EndDate: Pricing period end date. This date must be later than, or
 10672  	// the same day as, the pricing period start date, but not later than
 10673  	// the placement end date. The period end date can be the same date as
 10674  	// the period start date. If, for example, you set 6/25/2015 as both the
 10675  	// start and end dates, the effective pricing period date is just that
 10676  	// day only, 6/25/2015. The hours, minutes, and seconds of the end date
 10677  	// should not be set, as doing so will result in an error.
 10678  	EndDate string `json:"endDate,omitempty"`
 10679  
 10680  	// PricingComment: Comments for this pricing period.
 10681  	PricingComment string `json:"pricingComment,omitempty"`
 10682  
 10683  	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
 10684  	// multipled by 1000000000). Acceptable values are 0 to
 10685  	// 1000000000000000000, inclusive.
 10686  	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
 10687  
 10688  	// StartDate: Pricing period start date. This date must be later than,
 10689  	// or the same day as, the placement start date. The hours, minutes, and
 10690  	// seconds of the start date should not be set, as doing so will result
 10691  	// in an error.
 10692  	StartDate string `json:"startDate,omitempty"`
 10693  
 10694  	// Units: Units of this pricing period. Acceptable values are 0 to
 10695  	// 10000000000, inclusive.
 10696  	Units int64 `json:"units,omitempty,string"`
 10697  
 10698  	// ForceSendFields is a list of field names (e.g. "EndDate") to
 10699  	// unconditionally include in API requests. By default, fields with
 10700  	// empty values are omitted from API requests. However, any non-pointer,
 10701  	// non-interface field appearing in ForceSendFields will be sent to the
 10702  	// server regardless of whether the field is empty or not. This may be
 10703  	// used to include empty fields in Patch requests.
 10704  	ForceSendFields []string `json:"-"`
 10705  
 10706  	// NullFields is a list of field names (e.g. "EndDate") to include in
 10707  	// API requests with the JSON null value. By default, fields with empty
 10708  	// values are omitted from API requests. However, any field with an
 10709  	// empty value appearing in NullFields will be sent to the server as
 10710  	// null. It is an error if a field in this list has a non-empty value.
 10711  	// This may be used to include null fields in Patch requests.
 10712  	NullFields []string `json:"-"`
 10713  }
 10714  
 10715  func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
 10716  	type NoMethod PricingSchedulePricingPeriod
 10717  	raw := NoMethod(*s)
 10718  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10719  }
 10720  
 10721  // Project: Contains properties of a Planning project.
 10722  type Project struct {
 10723  	// AccountId: Account ID of this project.
 10724  	AccountId int64 `json:"accountId,omitempty,string"`
 10725  
 10726  	// AdvertiserId: Advertiser ID of this project.
 10727  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10728  
 10729  	// AudienceAgeGroup: Audience age group of this project.
 10730  	//
 10731  	// Possible values:
 10732  	//   "PLANNING_AUDIENCE_AGE_18_24"
 10733  	//   "PLANNING_AUDIENCE_AGE_25_34"
 10734  	//   "PLANNING_AUDIENCE_AGE_35_44"
 10735  	//   "PLANNING_AUDIENCE_AGE_45_54"
 10736  	//   "PLANNING_AUDIENCE_AGE_55_64"
 10737  	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
 10738  	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
 10739  	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
 10740  
 10741  	// AudienceGender: Audience gender of this project.
 10742  	//
 10743  	// Possible values:
 10744  	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
 10745  	//   "PLANNING_AUDIENCE_GENDER_MALE"
 10746  	AudienceGender string `json:"audienceGender,omitempty"`
 10747  
 10748  	// Budget: Budget of this project in the currency specified by the
 10749  	// current account. The value stored in this field represents only the
 10750  	// non-fractional amount. For example, for USD, the smallest value that
 10751  	// can be represented by this field is 1 US dollar.
 10752  	Budget int64 `json:"budget,omitempty,string"`
 10753  
 10754  	// ClientBillingCode: Client billing code of this project.
 10755  	ClientBillingCode string `json:"clientBillingCode,omitempty"`
 10756  
 10757  	// ClientName: Name of the project client.
 10758  	ClientName string `json:"clientName,omitempty"`
 10759  
 10760  	// EndDate: End date of the project.
 10761  	EndDate string `json:"endDate,omitempty"`
 10762  
 10763  	// Id: ID of this project. This is a read-only, auto-generated field.
 10764  	Id int64 `json:"id,omitempty,string"`
 10765  
 10766  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10767  	// string "dfareporting#project".
 10768  	Kind string `json:"kind,omitempty"`
 10769  
 10770  	// LastModifiedInfo: Information about the most recent modification of
 10771  	// this project.
 10772  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
 10773  
 10774  	// Name: Name of this project.
 10775  	Name string `json:"name,omitempty"`
 10776  
 10777  	// Overview: Overview of this project.
 10778  	Overview string `json:"overview,omitempty"`
 10779  
 10780  	// StartDate: Start date of the project.
 10781  	StartDate string `json:"startDate,omitempty"`
 10782  
 10783  	// SubaccountId: Subaccount ID of this project.
 10784  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10785  
 10786  	// TargetClicks: Number of clicks that the advertiser is targeting.
 10787  	TargetClicks int64 `json:"targetClicks,omitempty,string"`
 10788  
 10789  	// TargetConversions: Number of conversions that the advertiser is
 10790  	// targeting.
 10791  	TargetConversions int64 `json:"targetConversions,omitempty,string"`
 10792  
 10793  	// TargetCpaNanos: CPA that the advertiser is targeting.
 10794  	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
 10795  
 10796  	// TargetCpcNanos: CPC that the advertiser is targeting.
 10797  	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
 10798  
 10799  	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
 10800  	// is targeting.
 10801  	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
 10802  
 10803  	// TargetCpmNanos: CPM that the advertiser is targeting.
 10804  	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
 10805  
 10806  	// TargetImpressions: Number of impressions that the advertiser is
 10807  	// targeting.
 10808  	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
 10809  
 10810  	// ServerResponse contains the HTTP response code and headers from the
 10811  	// server.
 10812  	googleapi.ServerResponse `json:"-"`
 10813  
 10814  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10815  	// unconditionally include in API requests. By default, fields with
 10816  	// empty values are omitted from API requests. However, any non-pointer,
 10817  	// non-interface field appearing in ForceSendFields will be sent to the
 10818  	// server regardless of whether the field is empty or not. This may be
 10819  	// used to include empty fields in Patch requests.
 10820  	ForceSendFields []string `json:"-"`
 10821  
 10822  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10823  	// API requests with the JSON null value. By default, fields with empty
 10824  	// values are omitted from API requests. However, any field with an
 10825  	// empty value appearing in NullFields will be sent to the server as
 10826  	// null. It is an error if a field in this list has a non-empty value.
 10827  	// This may be used to include null fields in Patch requests.
 10828  	NullFields []string `json:"-"`
 10829  }
 10830  
 10831  func (s *Project) MarshalJSON() ([]byte, error) {
 10832  	type NoMethod Project
 10833  	raw := NoMethod(*s)
 10834  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10835  }
 10836  
 10837  // ProjectsListResponse: Project List Response
 10838  type ProjectsListResponse struct {
 10839  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10840  	// string "dfareporting#projectsListResponse".
 10841  	Kind string `json:"kind,omitempty"`
 10842  
 10843  	// NextPageToken: Pagination token to be used for the next list
 10844  	// operation.
 10845  	NextPageToken string `json:"nextPageToken,omitempty"`
 10846  
 10847  	// Projects: Project collection.
 10848  	Projects []*Project `json:"projects,omitempty"`
 10849  
 10850  	// ServerResponse contains the HTTP response code and headers from the
 10851  	// server.
 10852  	googleapi.ServerResponse `json:"-"`
 10853  
 10854  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10855  	// unconditionally include in API requests. By default, fields with
 10856  	// empty values are omitted from API requests. However, any non-pointer,
 10857  	// non-interface field appearing in ForceSendFields will be sent to the
 10858  	// server regardless of whether the field is empty or not. This may be
 10859  	// used to include empty fields in Patch requests.
 10860  	ForceSendFields []string `json:"-"`
 10861  
 10862  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10863  	// requests with the JSON null value. By default, fields with empty
 10864  	// values are omitted from API requests. However, any field with an
 10865  	// empty value appearing in NullFields will be sent to the server as
 10866  	// null. It is an error if a field in this list has a non-empty value.
 10867  	// This may be used to include null fields in Patch requests.
 10868  	NullFields []string `json:"-"`
 10869  }
 10870  
 10871  func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
 10872  	type NoMethod ProjectsListResponse
 10873  	raw := NoMethod(*s)
 10874  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10875  }
 10876  
 10877  // ReachReportCompatibleFields: Represents fields that are compatible to
 10878  // be selected for a report of type "REACH".
 10879  type ReachReportCompatibleFields struct {
 10880  	// DimensionFilters: Dimensions which are compatible to be selected in
 10881  	// the "dimensionFilters" section of the report.
 10882  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 10883  
 10884  	// Dimensions: Dimensions which are compatible to be selected in the
 10885  	// "dimensions" section of the report.
 10886  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 10887  
 10888  	// Kind: The kind of resource this is, in this case
 10889  	// dfareporting#reachReportCompatibleFields.
 10890  	Kind string `json:"kind,omitempty"`
 10891  
 10892  	// Metrics: Metrics which are compatible to be selected in the
 10893  	// "metricNames" section of the report.
 10894  	Metrics []*Metric `json:"metrics,omitempty"`
 10895  
 10896  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 10897  	// as activity metrics to pivot on in the "activities" section of the
 10898  	// report.
 10899  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 10900  
 10901  	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
 10902  	// in the "reachByFrequencyMetricNames" section of the report.
 10903  	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
 10904  
 10905  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 10906  	// unconditionally include in API requests. By default, fields with
 10907  	// empty values are omitted from API requests. However, any non-pointer,
 10908  	// non-interface field appearing in ForceSendFields will be sent to the
 10909  	// server regardless of whether the field is empty or not. This may be
 10910  	// used to include empty fields in Patch requests.
 10911  	ForceSendFields []string `json:"-"`
 10912  
 10913  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 10914  	// include in API requests with the JSON null value. By default, fields
 10915  	// with empty values are omitted from API requests. However, any field
 10916  	// with an empty value appearing in NullFields will be sent to the
 10917  	// server as null. It is an error if a field in this list has a
 10918  	// non-empty value. This may be used to include null fields in Patch
 10919  	// requests.
 10920  	NullFields []string `json:"-"`
 10921  }
 10922  
 10923  func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
 10924  	type NoMethod ReachReportCompatibleFields
 10925  	raw := NoMethod(*s)
 10926  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10927  }
 10928  
 10929  // Recipient: Represents a recipient.
 10930  type Recipient struct {
 10931  	// DeliveryType: The delivery type for the recipient.
 10932  	//
 10933  	// Possible values:
 10934  	//   "ATTACHMENT"
 10935  	//   "LINK"
 10936  	DeliveryType string `json:"deliveryType,omitempty"`
 10937  
 10938  	// Email: The email address of the recipient.
 10939  	Email string `json:"email,omitempty"`
 10940  
 10941  	// Kind: The kind of resource this is, in this case
 10942  	// dfareporting#recipient.
 10943  	Kind string `json:"kind,omitempty"`
 10944  
 10945  	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
 10946  	// unconditionally include in API requests. By default, fields with
 10947  	// empty values are omitted from API requests. However, any non-pointer,
 10948  	// non-interface field appearing in ForceSendFields will be sent to the
 10949  	// server regardless of whether the field is empty or not. This may be
 10950  	// used to include empty fields in Patch requests.
 10951  	ForceSendFields []string `json:"-"`
 10952  
 10953  	// NullFields is a list of field names (e.g. "DeliveryType") to include
 10954  	// in API requests with the JSON null value. By default, fields with
 10955  	// empty values are omitted from API requests. However, any field with
 10956  	// an empty value appearing in NullFields will be sent to the server as
 10957  	// null. It is an error if a field in this list has a non-empty value.
 10958  	// This may be used to include null fields in Patch requests.
 10959  	NullFields []string `json:"-"`
 10960  }
 10961  
 10962  func (s *Recipient) MarshalJSON() ([]byte, error) {
 10963  	type NoMethod Recipient
 10964  	raw := NoMethod(*s)
 10965  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10966  }
 10967  
 10968  // Region: Contains information about a region that can be targeted by
 10969  // ads.
 10970  type Region struct {
 10971  	// CountryCode: Country code of the country to which this region
 10972  	// belongs.
 10973  	CountryCode string `json:"countryCode,omitempty"`
 10974  
 10975  	// CountryDartId: DART ID of the country to which this region belongs.
 10976  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 10977  
 10978  	// DartId: DART ID of this region.
 10979  	DartId int64 `json:"dartId,omitempty,string"`
 10980  
 10981  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10982  	// string "dfareporting#region".
 10983  	Kind string `json:"kind,omitempty"`
 10984  
 10985  	// Name: Name of this region.
 10986  	Name string `json:"name,omitempty"`
 10987  
 10988  	// RegionCode: Region code.
 10989  	RegionCode string `json:"regionCode,omitempty"`
 10990  
 10991  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
 10992  	// unconditionally include in API requests. By default, fields with
 10993  	// empty values are omitted from API requests. However, any non-pointer,
 10994  	// non-interface field appearing in ForceSendFields will be sent to the
 10995  	// server regardless of whether the field is empty or not. This may be
 10996  	// used to include empty fields in Patch requests.
 10997  	ForceSendFields []string `json:"-"`
 10998  
 10999  	// NullFields is a list of field names (e.g. "CountryCode") to include
 11000  	// in API requests with the JSON null value. By default, fields with
 11001  	// empty values are omitted from API requests. However, any field with
 11002  	// an empty value appearing in NullFields will be sent to the server as
 11003  	// null. It is an error if a field in this list has a non-empty value.
 11004  	// This may be used to include null fields in Patch requests.
 11005  	NullFields []string `json:"-"`
 11006  }
 11007  
 11008  func (s *Region) MarshalJSON() ([]byte, error) {
 11009  	type NoMethod Region
 11010  	raw := NoMethod(*s)
 11011  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11012  }
 11013  
 11014  // RegionsListResponse: Region List Response
 11015  type RegionsListResponse struct {
 11016  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11017  	// string "dfareporting#regionsListResponse".
 11018  	Kind string `json:"kind,omitempty"`
 11019  
 11020  	// Regions: Region collection.
 11021  	Regions []*Region `json:"regions,omitempty"`
 11022  
 11023  	// ServerResponse contains the HTTP response code and headers from the
 11024  	// server.
 11025  	googleapi.ServerResponse `json:"-"`
 11026  
 11027  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11028  	// unconditionally include in API requests. By default, fields with
 11029  	// empty values are omitted from API requests. However, any non-pointer,
 11030  	// non-interface field appearing in ForceSendFields will be sent to the
 11031  	// server regardless of whether the field is empty or not. This may be
 11032  	// used to include empty fields in Patch requests.
 11033  	ForceSendFields []string `json:"-"`
 11034  
 11035  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11036  	// requests with the JSON null value. By default, fields with empty
 11037  	// values are omitted from API requests. However, any field with an
 11038  	// empty value appearing in NullFields will be sent to the server as
 11039  	// null. It is an error if a field in this list has a non-empty value.
 11040  	// This may be used to include null fields in Patch requests.
 11041  	NullFields []string `json:"-"`
 11042  }
 11043  
 11044  func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
 11045  	type NoMethod RegionsListResponse
 11046  	raw := NoMethod(*s)
 11047  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11048  }
 11049  
 11050  // RemarketingList: Contains properties of a remarketing list.
 11051  // Remarketing enables you to create lists of users who have performed
 11052  // specific actions on a site, then target ads to members of those
 11053  // lists. This resource can be used to manage remarketing lists that are
 11054  // owned by your advertisers. To see all remarketing lists that are
 11055  // visible to your advertisers, including those that are shared to your
 11056  // advertiser or account, use the TargetableRemarketingLists resource.
 11057  type RemarketingList struct {
 11058  	// AccountId: Account ID of this remarketing list. This is a read-only,
 11059  	// auto-generated field that is only returned in GET requests.
 11060  	AccountId int64 `json:"accountId,omitempty,string"`
 11061  
 11062  	// Active: Whether this remarketing list is active.
 11063  	Active bool `json:"active,omitempty"`
 11064  
 11065  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 11066  	// remarketing list. This is a required field.
 11067  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 11068  
 11069  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 11070  	// advertiser. This is a read-only, auto-generated field.
 11071  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 11072  
 11073  	// Description: Remarketing list description.
 11074  	Description string `json:"description,omitempty"`
 11075  
 11076  	// Id: Remarketing list ID. This is a read-only, auto-generated field.
 11077  	Id int64 `json:"id,omitempty,string"`
 11078  
 11079  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11080  	// string "dfareporting#remarketingList".
 11081  	Kind string `json:"kind,omitempty"`
 11082  
 11083  	// LifeSpan: Number of days that a user should remain in the remarketing
 11084  	// list without an impression. Acceptable values are 1 to 540,
 11085  	// inclusive.
 11086  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 11087  
 11088  	// ListPopulationRule: Rule used to populate the remarketing list with
 11089  	// users.
 11090  	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
 11091  
 11092  	// ListSize: Number of users currently in the list. This is a read-only
 11093  	// field.
 11094  	ListSize int64 `json:"listSize,omitempty,string"`
 11095  
 11096  	// ListSource: Product from which this remarketing list was originated.
 11097  	//
 11098  	// Possible values:
 11099  	//   "REMARKETING_LIST_SOURCE_ADX"
 11100  	//   "REMARKETING_LIST_SOURCE_DBM"
 11101  	//   "REMARKETING_LIST_SOURCE_DFA"
 11102  	//   "REMARKETING_LIST_SOURCE_DFP"
 11103  	//   "REMARKETING_LIST_SOURCE_DMP"
 11104  	//   "REMARKETING_LIST_SOURCE_GA"
 11105  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 11106  	//   "REMARKETING_LIST_SOURCE_OTHER"
 11107  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 11108  	//   "REMARKETING_LIST_SOURCE_XFP"
 11109  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 11110  	ListSource string `json:"listSource,omitempty"`
 11111  
 11112  	// Name: Name of the remarketing list. This is a required field. Must be
 11113  	// no greater than 128 characters long.
 11114  	Name string `json:"name,omitempty"`
 11115  
 11116  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 11117  	// read-only, auto-generated field that is only returned in GET
 11118  	// requests.
 11119  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 11120  
 11121  	// ServerResponse contains the HTTP response code and headers from the
 11122  	// server.
 11123  	googleapi.ServerResponse `json:"-"`
 11124  
 11125  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11126  	// unconditionally include in API requests. By default, fields with
 11127  	// empty values are omitted from API requests. However, any non-pointer,
 11128  	// non-interface field appearing in ForceSendFields will be sent to the
 11129  	// server regardless of whether the field is empty or not. This may be
 11130  	// used to include empty fields in Patch requests.
 11131  	ForceSendFields []string `json:"-"`
 11132  
 11133  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11134  	// API requests with the JSON null value. By default, fields with empty
 11135  	// values are omitted from API requests. However, any field with an
 11136  	// empty value appearing in NullFields will be sent to the server as
 11137  	// null. It is an error if a field in this list has a non-empty value.
 11138  	// This may be used to include null fields in Patch requests.
 11139  	NullFields []string `json:"-"`
 11140  }
 11141  
 11142  func (s *RemarketingList) MarshalJSON() ([]byte, error) {
 11143  	type NoMethod RemarketingList
 11144  	raw := NoMethod(*s)
 11145  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11146  }
 11147  
 11148  // RemarketingListShare: Contains properties of a remarketing list's
 11149  // sharing information. Sharing allows other accounts or advertisers to
 11150  // target to your remarketing lists. This resource can be used to manage
 11151  // remarketing list sharing to other accounts and advertisers.
 11152  type RemarketingListShare struct {
 11153  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11154  	// string "dfareporting#remarketingListShare".
 11155  	Kind string `json:"kind,omitempty"`
 11156  
 11157  	// RemarketingListId: Remarketing list ID. This is a read-only,
 11158  	// auto-generated field.
 11159  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
 11160  
 11161  	// SharedAccountIds: Accounts that the remarketing list is shared with.
 11162  	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
 11163  
 11164  	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
 11165  	// with.
 11166  	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
 11167  
 11168  	// ServerResponse contains the HTTP response code and headers from the
 11169  	// server.
 11170  	googleapi.ServerResponse `json:"-"`
 11171  
 11172  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11173  	// unconditionally include in API requests. By default, fields with
 11174  	// empty values are omitted from API requests. However, any non-pointer,
 11175  	// non-interface field appearing in ForceSendFields will be sent to the
 11176  	// server regardless of whether the field is empty or not. This may be
 11177  	// used to include empty fields in Patch requests.
 11178  	ForceSendFields []string `json:"-"`
 11179  
 11180  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11181  	// requests with the JSON null value. By default, fields with empty
 11182  	// values are omitted from API requests. However, any field with an
 11183  	// empty value appearing in NullFields will be sent to the server as
 11184  	// null. It is an error if a field in this list has a non-empty value.
 11185  	// This may be used to include null fields in Patch requests.
 11186  	NullFields []string `json:"-"`
 11187  }
 11188  
 11189  func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
 11190  	type NoMethod RemarketingListShare
 11191  	raw := NoMethod(*s)
 11192  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11193  }
 11194  
 11195  // RemarketingListsListResponse: Remarketing list response
 11196  type RemarketingListsListResponse struct {
 11197  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11198  	// string "dfareporting#remarketingListsListResponse".
 11199  	Kind string `json:"kind,omitempty"`
 11200  
 11201  	// NextPageToken: Pagination token to be used for the next list
 11202  	// operation.
 11203  	NextPageToken string `json:"nextPageToken,omitempty"`
 11204  
 11205  	// RemarketingLists: Remarketing list collection.
 11206  	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
 11207  
 11208  	// ServerResponse contains the HTTP response code and headers from the
 11209  	// server.
 11210  	googleapi.ServerResponse `json:"-"`
 11211  
 11212  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11213  	// unconditionally include in API requests. By default, fields with
 11214  	// empty values are omitted from API requests. However, any non-pointer,
 11215  	// non-interface field appearing in ForceSendFields will be sent to the
 11216  	// server regardless of whether the field is empty or not. This may be
 11217  	// used to include empty fields in Patch requests.
 11218  	ForceSendFields []string `json:"-"`
 11219  
 11220  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11221  	// requests with the JSON null value. By default, fields with empty
 11222  	// values are omitted from API requests. However, any field with an
 11223  	// empty value appearing in NullFields will be sent to the server as
 11224  	// null. It is an error if a field in this list has a non-empty value.
 11225  	// This may be used to include null fields in Patch requests.
 11226  	NullFields []string `json:"-"`
 11227  }
 11228  
 11229  func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 11230  	type NoMethod RemarketingListsListResponse
 11231  	raw := NoMethod(*s)
 11232  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11233  }
 11234  
 11235  // Report: Represents a Report resource.
 11236  type Report struct {
 11237  	// AccountId: The account ID to which this report belongs.
 11238  	AccountId int64 `json:"accountId,omitempty,string"`
 11239  
 11240  	// Criteria: The report criteria for a report of type "STANDARD".
 11241  	Criteria *ReportCriteria `json:"criteria,omitempty"`
 11242  
 11243  	// CrossDimensionReachCriteria: The report criteria for a report of type
 11244  	// "CROSS_DIMENSION_REACH".
 11245  	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
 11246  
 11247  	// Delivery: The report's email delivery settings.
 11248  	Delivery *ReportDelivery `json:"delivery,omitempty"`
 11249  
 11250  	// Etag: The eTag of this response for caching purposes.
 11251  	Etag string `json:"etag,omitempty"`
 11252  
 11253  	// FileName: The filename used when generating report files for this
 11254  	// report.
 11255  	FileName string `json:"fileName,omitempty"`
 11256  
 11257  	// FloodlightCriteria: The report criteria for a report of type
 11258  	// "FLOODLIGHT".
 11259  	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
 11260  
 11261  	// Format: The output format of the report. If not specified, default
 11262  	// format is "CSV". Note that the actual format in the completed report
 11263  	// file might differ if for instance the report's size exceeds the
 11264  	// format's capabilities. "CSV" will then be the fallback format.
 11265  	//
 11266  	// Possible values:
 11267  	//   "CSV"
 11268  	//   "EXCEL"
 11269  	Format string `json:"format,omitempty"`
 11270  
 11271  	// Id: The unique ID identifying this report resource.
 11272  	Id int64 `json:"id,omitempty,string"`
 11273  
 11274  	// Kind: The kind of resource this is, in this case dfareporting#report.
 11275  	Kind string `json:"kind,omitempty"`
 11276  
 11277  	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
 11278  	// this report was last modified.
 11279  	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
 11280  
 11281  	// Name: The name of the report.
 11282  	Name string `json:"name,omitempty"`
 11283  
 11284  	// OwnerProfileId: The user profile id of the owner of this report.
 11285  	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
 11286  
 11287  	// PathToConversionCriteria: The report criteria for a report of type
 11288  	// "PATH_TO_CONVERSION".
 11289  	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
 11290  
 11291  	// ReachCriteria: The report criteria for a report of type "REACH".
 11292  	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
 11293  
 11294  	// Schedule: The report's schedule. Can only be set if the report's
 11295  	// 'dateRange' is a relative date range and the relative date range is
 11296  	// not "TODAY".
 11297  	Schedule *ReportSchedule `json:"schedule,omitempty"`
 11298  
 11299  	// SubAccountId: The subaccount ID to which this report belongs if
 11300  	// applicable.
 11301  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 11302  
 11303  	// Type: The type of the report.
 11304  	//
 11305  	// Possible values:
 11306  	//   "CROSS_DIMENSION_REACH"
 11307  	//   "FLOODLIGHT"
 11308  	//   "PATH_TO_CONVERSION"
 11309  	//   "REACH"
 11310  	//   "STANDARD"
 11311  	Type string `json:"type,omitempty"`
 11312  
 11313  	// ServerResponse contains the HTTP response code and headers from the
 11314  	// server.
 11315  	googleapi.ServerResponse `json:"-"`
 11316  
 11317  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11318  	// unconditionally include in API requests. By default, fields with
 11319  	// empty values are omitted from API requests. However, any non-pointer,
 11320  	// non-interface field appearing in ForceSendFields will be sent to the
 11321  	// server regardless of whether the field is empty or not. This may be
 11322  	// used to include empty fields in Patch requests.
 11323  	ForceSendFields []string `json:"-"`
 11324  
 11325  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11326  	// API requests with the JSON null value. By default, fields with empty
 11327  	// values are omitted from API requests. However, any field with an
 11328  	// empty value appearing in NullFields will be sent to the server as
 11329  	// null. It is an error if a field in this list has a non-empty value.
 11330  	// This may be used to include null fields in Patch requests.
 11331  	NullFields []string `json:"-"`
 11332  }
 11333  
 11334  func (s *Report) MarshalJSON() ([]byte, error) {
 11335  	type NoMethod Report
 11336  	raw := NoMethod(*s)
 11337  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11338  }
 11339  
 11340  // ReportCriteria: The report criteria for a report of type "STANDARD".
 11341  type ReportCriteria struct {
 11342  	// Activities: Activity group.
 11343  	Activities *Activities `json:"activities,omitempty"`
 11344  
 11345  	// CustomRichMediaEvents: Custom Rich Media Events group.
 11346  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 11347  
 11348  	// DateRange: The date range for which this report should be run.
 11349  	DateRange *DateRange `json:"dateRange,omitempty"`
 11350  
 11351  	// DimensionFilters: The list of filters on which dimensions are
 11352  	// filtered.
 11353  	// Filters for different dimensions are ANDed, filters for the same
 11354  	// dimension are grouped together and ORed.
 11355  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11356  
 11357  	// Dimensions: The list of standard dimensions the report should
 11358  	// include.
 11359  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11360  
 11361  	// MetricNames: The list of names of metrics the report should include.
 11362  	MetricNames []string `json:"metricNames,omitempty"`
 11363  
 11364  	// ForceSendFields is a list of field names (e.g. "Activities") to
 11365  	// unconditionally include in API requests. By default, fields with
 11366  	// empty values are omitted from API requests. However, any non-pointer,
 11367  	// non-interface field appearing in ForceSendFields will be sent to the
 11368  	// server regardless of whether the field is empty or not. This may be
 11369  	// used to include empty fields in Patch requests.
 11370  	ForceSendFields []string `json:"-"`
 11371  
 11372  	// NullFields is a list of field names (e.g. "Activities") to include in
 11373  	// API requests with the JSON null value. By default, fields with empty
 11374  	// values are omitted from API requests. However, any field with an
 11375  	// empty value appearing in NullFields will be sent to the server as
 11376  	// null. It is an error if a field in this list has a non-empty value.
 11377  	// This may be used to include null fields in Patch requests.
 11378  	NullFields []string `json:"-"`
 11379  }
 11380  
 11381  func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
 11382  	type NoMethod ReportCriteria
 11383  	raw := NoMethod(*s)
 11384  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11385  }
 11386  
 11387  // ReportCrossDimensionReachCriteria: The report criteria for a report
 11388  // of type "CROSS_DIMENSION_REACH".
 11389  type ReportCrossDimensionReachCriteria struct {
 11390  	// Breakdown: The list of dimensions the report should include.
 11391  	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
 11392  
 11393  	// DateRange: The date range this report should be run for.
 11394  	DateRange *DateRange `json:"dateRange,omitempty"`
 11395  
 11396  	// Dimension: The dimension option.
 11397  	//
 11398  	// Possible values:
 11399  	//   "ADVERTISER"
 11400  	//   "CAMPAIGN"
 11401  	//   "SITE_BY_ADVERTISER"
 11402  	//   "SITE_BY_CAMPAIGN"
 11403  	Dimension string `json:"dimension,omitempty"`
 11404  
 11405  	// DimensionFilters: The list of filters on which dimensions are
 11406  	// filtered.
 11407  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11408  
 11409  	// MetricNames: The list of names of metrics the report should include.
 11410  	MetricNames []string `json:"metricNames,omitempty"`
 11411  
 11412  	// OverlapMetricNames: The list of names of overlap metrics the report
 11413  	// should include.
 11414  	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
 11415  
 11416  	// Pivoted: Whether the report is pivoted or not. Defaults to true.
 11417  	Pivoted bool `json:"pivoted,omitempty"`
 11418  
 11419  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
 11420  	// unconditionally include in API requests. By default, fields with
 11421  	// empty values are omitted from API requests. However, any non-pointer,
 11422  	// non-interface field appearing in ForceSendFields will be sent to the
 11423  	// server regardless of whether the field is empty or not. This may be
 11424  	// used to include empty fields in Patch requests.
 11425  	ForceSendFields []string `json:"-"`
 11426  
 11427  	// NullFields is a list of field names (e.g. "Breakdown") to include in
 11428  	// API requests with the JSON null value. By default, fields with empty
 11429  	// values are omitted from API requests. However, any field with an
 11430  	// empty value appearing in NullFields will be sent to the server as
 11431  	// null. It is an error if a field in this list has a non-empty value.
 11432  	// This may be used to include null fields in Patch requests.
 11433  	NullFields []string `json:"-"`
 11434  }
 11435  
 11436  func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
 11437  	type NoMethod ReportCrossDimensionReachCriteria
 11438  	raw := NoMethod(*s)
 11439  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11440  }
 11441  
 11442  // ReportDelivery: The report's email delivery settings.
 11443  type ReportDelivery struct {
 11444  	// EmailOwner: Whether the report should be emailed to the report owner.
 11445  	EmailOwner bool `json:"emailOwner,omitempty"`
 11446  
 11447  	// EmailOwnerDeliveryType: The type of delivery for the owner to
 11448  	// receive, if enabled.
 11449  	//
 11450  	// Possible values:
 11451  	//   "ATTACHMENT"
 11452  	//   "LINK"
 11453  	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
 11454  
 11455  	// Message: The message to be sent with each email.
 11456  	Message string `json:"message,omitempty"`
 11457  
 11458  	// Recipients: The list of recipients to which to email the report.
 11459  	Recipients []*Recipient `json:"recipients,omitempty"`
 11460  
 11461  	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
 11462  	// unconditionally include in API requests. By default, fields with
 11463  	// empty values are omitted from API requests. However, any non-pointer,
 11464  	// non-interface field appearing in ForceSendFields will be sent to the
 11465  	// server regardless of whether the field is empty or not. This may be
 11466  	// used to include empty fields in Patch requests.
 11467  	ForceSendFields []string `json:"-"`
 11468  
 11469  	// NullFields is a list of field names (e.g. "EmailOwner") to include in
 11470  	// API requests with the JSON null value. By default, fields with empty
 11471  	// values are omitted from API requests. However, any field with an
 11472  	// empty value appearing in NullFields will be sent to the server as
 11473  	// null. It is an error if a field in this list has a non-empty value.
 11474  	// This may be used to include null fields in Patch requests.
 11475  	NullFields []string `json:"-"`
 11476  }
 11477  
 11478  func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
 11479  	type NoMethod ReportDelivery
 11480  	raw := NoMethod(*s)
 11481  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11482  }
 11483  
 11484  // ReportFloodlightCriteria: The report criteria for a report of type
 11485  // "FLOODLIGHT".
 11486  type ReportFloodlightCriteria struct {
 11487  	// CustomRichMediaEvents: The list of custom rich media events to
 11488  	// include.
 11489  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 11490  
 11491  	// DateRange: The date range this report should be run for.
 11492  	DateRange *DateRange `json:"dateRange,omitempty"`
 11493  
 11494  	// DimensionFilters: The list of filters on which dimensions are
 11495  	// filtered.
 11496  	// Filters for different dimensions are ANDed, filters for the same
 11497  	// dimension are grouped together and ORed.
 11498  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11499  
 11500  	// Dimensions: The list of dimensions the report should include.
 11501  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11502  
 11503  	// FloodlightConfigId: The floodlight ID for which to show data in this
 11504  	// report. All advertisers associated with that ID will automatically be
 11505  	// added. The dimension of the value needs to be
 11506  	// 'dfa:floodlightConfigId'.
 11507  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 11508  
 11509  	// MetricNames: The list of names of metrics the report should include.
 11510  	MetricNames []string `json:"metricNames,omitempty"`
 11511  
 11512  	// ReportProperties: The properties of the report.
 11513  	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
 11514  
 11515  	// ForceSendFields is a list of field names (e.g.
 11516  	// "CustomRichMediaEvents") to unconditionally include in API requests.
 11517  	// By default, fields with empty values are omitted from API requests.
 11518  	// However, any non-pointer, non-interface field appearing in
 11519  	// ForceSendFields will be sent to the server regardless of whether the
 11520  	// field is empty or not. This may be used to include empty fields in
 11521  	// Patch requests.
 11522  	ForceSendFields []string `json:"-"`
 11523  
 11524  	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
 11525  	// include in API requests with the JSON null value. By default, fields
 11526  	// with empty values are omitted from API requests. However, any field
 11527  	// with an empty value appearing in NullFields will be sent to the
 11528  	// server as null. It is an error if a field in this list has a
 11529  	// non-empty value. This may be used to include null fields in Patch
 11530  	// requests.
 11531  	NullFields []string `json:"-"`
 11532  }
 11533  
 11534  func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
 11535  	type NoMethod ReportFloodlightCriteria
 11536  	raw := NoMethod(*s)
 11537  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11538  }
 11539  
 11540  // ReportFloodlightCriteriaReportProperties: The properties of the
 11541  // report.
 11542  type ReportFloodlightCriteriaReportProperties struct {
 11543  	// IncludeAttributedIPConversions: Include conversions that have no
 11544  	// cookie, but do have an exposure path.
 11545  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 11546  
 11547  	// IncludeUnattributedCookieConversions: Include conversions of users
 11548  	// with a DoubleClick cookie but without an exposure. That means the
 11549  	// user did not click or see an ad from the advertiser within the
 11550  	// Floodlight group, or that the interaction happened outside the
 11551  	// lookback window.
 11552  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 11553  
 11554  	// IncludeUnattributedIPConversions: Include conversions that have no
 11555  	// associated cookies and no exposures. It’s therefore impossible to
 11556  	// know how the user was exposed to your ads during the lookback window
 11557  	// prior to a conversion.
 11558  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 11559  
 11560  	// ForceSendFields is a list of field names (e.g.
 11561  	// "IncludeAttributedIPConversions") to unconditionally include in API
 11562  	// requests. By default, fields with empty values are omitted from API
 11563  	// requests. However, any non-pointer, non-interface field appearing in
 11564  	// ForceSendFields will be sent to the server regardless of whether the
 11565  	// field is empty or not. This may be used to include empty fields in
 11566  	// Patch requests.
 11567  	ForceSendFields []string `json:"-"`
 11568  
 11569  	// NullFields is a list of field names (e.g.
 11570  	// "IncludeAttributedIPConversions") to include in API requests with the
 11571  	// JSON null value. By default, fields with empty values are omitted
 11572  	// from API requests. However, any field with an empty value appearing
 11573  	// in NullFields will be sent to the server as null. It is an error if a
 11574  	// field in this list has a non-empty value. This may be used to include
 11575  	// null fields in Patch requests.
 11576  	NullFields []string `json:"-"`
 11577  }
 11578  
 11579  func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 11580  	type NoMethod ReportFloodlightCriteriaReportProperties
 11581  	raw := NoMethod(*s)
 11582  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11583  }
 11584  
 11585  // ReportPathToConversionCriteria: The report criteria for a report of
 11586  // type "PATH_TO_CONVERSION".
 11587  type ReportPathToConversionCriteria struct {
 11588  	// ActivityFilters: The list of 'dfa:activity' values to filter on.
 11589  	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
 11590  
 11591  	// ConversionDimensions: The list of conversion dimensions the report
 11592  	// should include.
 11593  	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
 11594  
 11595  	// CustomFloodlightVariables: The list of custom floodlight variables
 11596  	// the report should include.
 11597  	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
 11598  
 11599  	// CustomRichMediaEvents: The list of custom rich media events to
 11600  	// include.
 11601  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 11602  
 11603  	// DateRange: The date range this report should be run for.
 11604  	DateRange *DateRange `json:"dateRange,omitempty"`
 11605  
 11606  	// FloodlightConfigId: The floodlight ID for which to show data in this
 11607  	// report. All advertisers associated with that ID will automatically be
 11608  	// added. The dimension of the value needs to be
 11609  	// 'dfa:floodlightConfigId'.
 11610  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 11611  
 11612  	// MetricNames: The list of names of metrics the report should include.
 11613  	MetricNames []string `json:"metricNames,omitempty"`
 11614  
 11615  	// PerInteractionDimensions: The list of per interaction dimensions the
 11616  	// report should include.
 11617  	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
 11618  
 11619  	// ReportProperties: The properties of the report.
 11620  	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
 11621  
 11622  	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
 11623  	// unconditionally include in API requests. By default, fields with
 11624  	// empty values are omitted from API requests. However, any non-pointer,
 11625  	// non-interface field appearing in ForceSendFields will be sent to the
 11626  	// server regardless of whether the field is empty or not. This may be
 11627  	// used to include empty fields in Patch requests.
 11628  	ForceSendFields []string `json:"-"`
 11629  
 11630  	// NullFields is a list of field names (e.g. "ActivityFilters") to
 11631  	// include in API requests with the JSON null value. By default, fields
 11632  	// with empty values are omitted from API requests. However, any field
 11633  	// with an empty value appearing in NullFields will be sent to the
 11634  	// server as null. It is an error if a field in this list has a
 11635  	// non-empty value. This may be used to include null fields in Patch
 11636  	// requests.
 11637  	NullFields []string `json:"-"`
 11638  }
 11639  
 11640  func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
 11641  	type NoMethod ReportPathToConversionCriteria
 11642  	raw := NoMethod(*s)
 11643  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11644  }
 11645  
 11646  // ReportPathToConversionCriteriaReportProperties: The properties of the
 11647  // report.
 11648  type ReportPathToConversionCriteriaReportProperties struct {
 11649  	// ClicksLookbackWindow: DFA checks to see if a click interaction
 11650  	// occurred within the specified period of time before a conversion. By
 11651  	// default the value is pulled from Floodlight or you can manually enter
 11652  	// a custom value. Valid values: 1-90.
 11653  	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
 11654  
 11655  	// ImpressionsLookbackWindow: DFA checks to see if an impression
 11656  	// interaction occurred within the specified period of time before a
 11657  	// conversion. By default the value is pulled from Floodlight or you can
 11658  	// manually enter a custom value. Valid values: 1-90.
 11659  	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
 11660  
 11661  	// IncludeAttributedIPConversions: Deprecated: has no effect.
 11662  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 11663  
 11664  	// IncludeUnattributedCookieConversions: Include conversions of users
 11665  	// with a DoubleClick cookie but without an exposure. That means the
 11666  	// user did not click or see an ad from the advertiser within the
 11667  	// Floodlight group, or that the interaction happened outside the
 11668  	// lookback window.
 11669  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 11670  
 11671  	// IncludeUnattributedIPConversions: Include conversions that have no
 11672  	// associated cookies and no exposures. It’s therefore impossible to
 11673  	// know how the user was exposed to your ads during the lookback window
 11674  	// prior to a conversion.
 11675  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 11676  
 11677  	// MaximumClickInteractions: The maximum number of click interactions to
 11678  	// include in the report. Advertisers currently paying for E2C reports
 11679  	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
 11680  	// your network is paying for E2C, you can have up to 5 total exposures
 11681  	// per report.
 11682  	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
 11683  
 11684  	// MaximumImpressionInteractions: The maximum number of click
 11685  	// interactions to include in the report. Advertisers currently paying
 11686  	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
 11687  	// another advertiser in your network is paying for E2C, you can have up
 11688  	// to 5 total exposures per report.
 11689  	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
 11690  
 11691  	// MaximumInteractionGap: The maximum amount of time that can take place
 11692  	// between interactions (clicks or impressions) by the same user. Valid
 11693  	// values: 1-90.
 11694  	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
 11695  
 11696  	// PivotOnInteractionPath: Enable pivoting on interaction path.
 11697  	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
 11698  
 11699  	// ForceSendFields is a list of field names (e.g.
 11700  	// "ClicksLookbackWindow") to unconditionally include in API requests.
 11701  	// By default, fields with empty values are omitted from API requests.
 11702  	// However, any non-pointer, non-interface field appearing in
 11703  	// ForceSendFields will be sent to the server regardless of whether the
 11704  	// field is empty or not. This may be used to include empty fields in
 11705  	// Patch requests.
 11706  	ForceSendFields []string `json:"-"`
 11707  
 11708  	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
 11709  	// include in API requests with the JSON null value. By default, fields
 11710  	// with empty values are omitted from API requests. However, any field
 11711  	// with an empty value appearing in NullFields will be sent to the
 11712  	// server as null. It is an error if a field in this list has a
 11713  	// non-empty value. This may be used to include null fields in Patch
 11714  	// requests.
 11715  	NullFields []string `json:"-"`
 11716  }
 11717  
 11718  func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 11719  	type NoMethod ReportPathToConversionCriteriaReportProperties
 11720  	raw := NoMethod(*s)
 11721  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11722  }
 11723  
 11724  // ReportReachCriteria: The report criteria for a report of type
 11725  // "REACH".
 11726  type ReportReachCriteria struct {
 11727  	// Activities: Activity group.
 11728  	Activities *Activities `json:"activities,omitempty"`
 11729  
 11730  	// CustomRichMediaEvents: Custom Rich Media Events group.
 11731  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 11732  
 11733  	// DateRange: The date range this report should be run for.
 11734  	DateRange *DateRange `json:"dateRange,omitempty"`
 11735  
 11736  	// DimensionFilters: The list of filters on which dimensions are
 11737  	// filtered.
 11738  	// Filters for different dimensions are ANDed, filters for the same
 11739  	// dimension are grouped together and ORed.
 11740  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11741  
 11742  	// Dimensions: The list of dimensions the report should include.
 11743  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11744  
 11745  	// EnableAllDimensionCombinations: Whether to enable all reach dimension
 11746  	// combinations in the report. Defaults to false. If enabled, the date
 11747  	// range of the report should be within the last 42 days.
 11748  	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
 11749  
 11750  	// MetricNames: The list of names of metrics the report should include.
 11751  	MetricNames []string `json:"metricNames,omitempty"`
 11752  
 11753  	// ReachByFrequencyMetricNames: The list of names of  Reach By Frequency
 11754  	// metrics the report should include.
 11755  	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
 11756  
 11757  	// ForceSendFields is a list of field names (e.g. "Activities") to
 11758  	// unconditionally include in API requests. By default, fields with
 11759  	// empty values are omitted from API requests. However, any non-pointer,
 11760  	// non-interface field appearing in ForceSendFields will be sent to the
 11761  	// server regardless of whether the field is empty or not. This may be
 11762  	// used to include empty fields in Patch requests.
 11763  	ForceSendFields []string `json:"-"`
 11764  
 11765  	// NullFields is a list of field names (e.g. "Activities") to include in
 11766  	// API requests with the JSON null value. By default, fields with empty
 11767  	// values are omitted from API requests. However, any field with an
 11768  	// empty value appearing in NullFields will be sent to the server as
 11769  	// null. It is an error if a field in this list has a non-empty value.
 11770  	// This may be used to include null fields in Patch requests.
 11771  	NullFields []string `json:"-"`
 11772  }
 11773  
 11774  func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
 11775  	type NoMethod ReportReachCriteria
 11776  	raw := NoMethod(*s)
 11777  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11778  }
 11779  
 11780  // ReportSchedule: The report's schedule. Can only be set if the
 11781  // report's 'dateRange' is a relative date range and the relative date
 11782  // range is not "TODAY".
 11783  type ReportSchedule struct {
 11784  	// Active: Whether the schedule is active or not. Must be set to either
 11785  	// true or false.
 11786  	Active bool `json:"active,omitempty"`
 11787  
 11788  	// Every: Defines every how many days, weeks or months the report should
 11789  	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
 11790  	// "MONTHLY".
 11791  	Every int64 `json:"every,omitempty"`
 11792  
 11793  	// ExpirationDate: The expiration date when the scheduled report stops
 11794  	// running.
 11795  	ExpirationDate string `json:"expirationDate,omitempty"`
 11796  
 11797  	// Repeats: The interval for which the report is repeated. Note:
 11798  	// - "DAILY" also requires field "every" to be set.
 11799  	// - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be
 11800  	// set.
 11801  	// - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
 11802  	// set.
 11803  	Repeats string `json:"repeats,omitempty"`
 11804  
 11805  	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
 11806  	// reports should run.
 11807  	//
 11808  	// Possible values:
 11809  	//   "FRIDAY"
 11810  	//   "MONDAY"
 11811  	//   "SATURDAY"
 11812  	//   "SUNDAY"
 11813  	//   "THURSDAY"
 11814  	//   "TUESDAY"
 11815  	//   "WEDNESDAY"
 11816  	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
 11817  
 11818  	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
 11819  	// whether reports should be repeated on the same day of the month as
 11820  	// "startDate" or the same day of the week of the month.
 11821  	// Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02),
 11822  	// "DAY_OF_MONTH" would run subsequent reports on the 2nd of every
 11823  	// Month, and "WEEK_OF_MONTH" would run subsequent reports on the first
 11824  	// Monday of the month.
 11825  	//
 11826  	// Possible values:
 11827  	//   "DAY_OF_MONTH"
 11828  	//   "WEEK_OF_MONTH"
 11829  	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
 11830  
 11831  	// StartDate: Start date of date range for which scheduled reports
 11832  	// should be run.
 11833  	StartDate string `json:"startDate,omitempty"`
 11834  
 11835  	// ForceSendFields is a list of field names (e.g. "Active") to
 11836  	// unconditionally include in API requests. By default, fields with
 11837  	// empty values are omitted from API requests. However, any non-pointer,
 11838  	// non-interface field appearing in ForceSendFields will be sent to the
 11839  	// server regardless of whether the field is empty or not. This may be
 11840  	// used to include empty fields in Patch requests.
 11841  	ForceSendFields []string `json:"-"`
 11842  
 11843  	// NullFields is a list of field names (e.g. "Active") to include in API
 11844  	// requests with the JSON null value. By default, fields with empty
 11845  	// values are omitted from API requests. However, any field with an
 11846  	// empty value appearing in NullFields will be sent to the server as
 11847  	// null. It is an error if a field in this list has a non-empty value.
 11848  	// This may be used to include null fields in Patch requests.
 11849  	NullFields []string `json:"-"`
 11850  }
 11851  
 11852  func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
 11853  	type NoMethod ReportSchedule
 11854  	raw := NoMethod(*s)
 11855  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11856  }
 11857  
 11858  // ReportCompatibleFields: Represents fields that are compatible to be
 11859  // selected for a report of type "STANDARD".
 11860  type ReportCompatibleFields struct {
 11861  	// DimensionFilters: Dimensions which are compatible to be selected in
 11862  	// the "dimensionFilters" section of the report.
 11863  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 11864  
 11865  	// Dimensions: Dimensions which are compatible to be selected in the
 11866  	// "dimensions" section of the report.
 11867  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 11868  
 11869  	// Kind: The kind of resource this is, in this case
 11870  	// dfareporting#reportCompatibleFields.
 11871  	Kind string `json:"kind,omitempty"`
 11872  
 11873  	// Metrics: Metrics which are compatible to be selected in the
 11874  	// "metricNames" section of the report.
 11875  	Metrics []*Metric `json:"metrics,omitempty"`
 11876  
 11877  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 11878  	// as activity metrics to pivot on in the "activities" section of the
 11879  	// report.
 11880  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 11881  
 11882  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 11883  	// unconditionally include in API requests. By default, fields with
 11884  	// empty values are omitted from API requests. However, any non-pointer,
 11885  	// non-interface field appearing in ForceSendFields will be sent to the
 11886  	// server regardless of whether the field is empty or not. This may be
 11887  	// used to include empty fields in Patch requests.
 11888  	ForceSendFields []string `json:"-"`
 11889  
 11890  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 11891  	// include in API requests with the JSON null value. By default, fields
 11892  	// with empty values are omitted from API requests. However, any field
 11893  	// with an empty value appearing in NullFields will be sent to the
 11894  	// server as null. It is an error if a field in this list has a
 11895  	// non-empty value. This may be used to include null fields in Patch
 11896  	// requests.
 11897  	NullFields []string `json:"-"`
 11898  }
 11899  
 11900  func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
 11901  	type NoMethod ReportCompatibleFields
 11902  	raw := NoMethod(*s)
 11903  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11904  }
 11905  
 11906  // ReportList: Represents the list of reports.
 11907  type ReportList struct {
 11908  	// Etag: The eTag of this response for caching purposes.
 11909  	Etag string `json:"etag,omitempty"`
 11910  
 11911  	// Items: The reports returned in this response.
 11912  	Items []*Report `json:"items,omitempty"`
 11913  
 11914  	// Kind: The kind of list this is, in this case dfareporting#reportList.
 11915  	Kind string `json:"kind,omitempty"`
 11916  
 11917  	// NextPageToken: Continuation token used to page through reports. To
 11918  	// retrieve the next page of results, set the next request's "pageToken"
 11919  	// to the value of this field. The page token is only valid for a
 11920  	// limited amount of time and should not be persisted.
 11921  	NextPageToken string `json:"nextPageToken,omitempty"`
 11922  
 11923  	// ServerResponse contains the HTTP response code and headers from the
 11924  	// server.
 11925  	googleapi.ServerResponse `json:"-"`
 11926  
 11927  	// ForceSendFields is a list of field names (e.g. "Etag") to
 11928  	// unconditionally include in API requests. By default, fields with
 11929  	// empty values are omitted from API requests. However, any non-pointer,
 11930  	// non-interface field appearing in ForceSendFields will be sent to the
 11931  	// server regardless of whether the field is empty or not. This may be
 11932  	// used to include empty fields in Patch requests.
 11933  	ForceSendFields []string `json:"-"`
 11934  
 11935  	// NullFields is a list of field names (e.g. "Etag") to include in API
 11936  	// requests with the JSON null value. By default, fields with empty
 11937  	// values are omitted from API requests. However, any field with an
 11938  	// empty value appearing in NullFields will be sent to the server as
 11939  	// null. It is an error if a field in this list has a non-empty value.
 11940  	// This may be used to include null fields in Patch requests.
 11941  	NullFields []string `json:"-"`
 11942  }
 11943  
 11944  func (s *ReportList) MarshalJSON() ([]byte, error) {
 11945  	type NoMethod ReportList
 11946  	raw := NoMethod(*s)
 11947  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11948  }
 11949  
 11950  // ReportsConfiguration: Reporting Configuration
 11951  type ReportsConfiguration struct {
 11952  	// ExposureToConversionEnabled: Whether the exposure to conversion
 11953  	// report is enabled. This report shows detailed pathway information on
 11954  	// up to 10 of the most recent ad exposures seen by a user before
 11955  	// converting.
 11956  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
 11957  
 11958  	// LookbackConfiguration: Default lookback windows for new advertisers
 11959  	// in this account.
 11960  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
 11961  
 11962  	// ReportGenerationTimeZoneId: Report generation time zone ID of this
 11963  	// account. This is a required field that can only be changed by a
 11964  	// superuser.
 11965  	// Acceptable values are:
 11966  	//
 11967  	// - "1" for "America/New_York"
 11968  	// - "2" for "Europe/London"
 11969  	// - "3" for "Europe/Paris"
 11970  	// - "4" for "Africa/Johannesburg"
 11971  	// - "5" for "Asia/Jerusalem"
 11972  	// - "6" for "Asia/Shanghai"
 11973  	// - "7" for "Asia/Hong_Kong"
 11974  	// - "8" for "Asia/Tokyo"
 11975  	// - "9" for "Australia/Sydney"
 11976  	// - "10" for "Asia/Dubai"
 11977  	// - "11" for "America/Los_Angeles"
 11978  	// - "12" for "Pacific/Auckland"
 11979  	// - "13" for "America/Sao_Paulo"
 11980  	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
 11981  
 11982  	// ForceSendFields is a list of field names (e.g.
 11983  	// "ExposureToConversionEnabled") to unconditionally include in API
 11984  	// requests. By default, fields with empty values are omitted from API
 11985  	// requests. However, any non-pointer, non-interface field appearing in
 11986  	// ForceSendFields will be sent to the server regardless of whether the
 11987  	// field is empty or not. This may be used to include empty fields in
 11988  	// Patch requests.
 11989  	ForceSendFields []string `json:"-"`
 11990  
 11991  	// NullFields is a list of field names (e.g.
 11992  	// "ExposureToConversionEnabled") to include in API requests with the
 11993  	// JSON null value. By default, fields with empty values are omitted
 11994  	// from API requests. However, any field with an empty value appearing
 11995  	// in NullFields will be sent to the server as null. It is an error if a
 11996  	// field in this list has a non-empty value. This may be used to include
 11997  	// null fields in Patch requests.
 11998  	NullFields []string `json:"-"`
 11999  }
 12000  
 12001  func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
 12002  	type NoMethod ReportsConfiguration
 12003  	raw := NoMethod(*s)
 12004  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12005  }
 12006  
 12007  // RichMediaExitOverride: Rich Media Exit Override.
 12008  type RichMediaExitOverride struct {
 12009  	// ClickThroughUrl: Click-through URL of this rich media exit override.
 12010  	// Applicable if the enabled field is set to true.
 12011  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
 12012  
 12013  	// Enabled: Whether to use the clickThroughUrl. If false, the
 12014  	// creative-level exit will be used.
 12015  	Enabled bool `json:"enabled,omitempty"`
 12016  
 12017  	// ExitId: ID for the override to refer to a specific exit in the
 12018  	// creative.
 12019  	ExitId int64 `json:"exitId,omitempty,string"`
 12020  
 12021  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
 12022  	// unconditionally include in API requests. By default, fields with
 12023  	// empty values are omitted from API requests. However, any non-pointer,
 12024  	// non-interface field appearing in ForceSendFields will be sent to the
 12025  	// server regardless of whether the field is empty or not. This may be
 12026  	// used to include empty fields in Patch requests.
 12027  	ForceSendFields []string `json:"-"`
 12028  
 12029  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
 12030  	// include in API requests with the JSON null value. By default, fields
 12031  	// with empty values are omitted from API requests. However, any field
 12032  	// with an empty value appearing in NullFields will be sent to the
 12033  	// server as null. It is an error if a field in this list has a
 12034  	// non-empty value. This may be used to include null fields in Patch
 12035  	// requests.
 12036  	NullFields []string `json:"-"`
 12037  }
 12038  
 12039  func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
 12040  	type NoMethod RichMediaExitOverride
 12041  	raw := NoMethod(*s)
 12042  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12043  }
 12044  
 12045  // Rule: A rule associates an asset with a targeting template for
 12046  // asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
 12047  type Rule struct {
 12048  	// AssetId: A creativeAssets[].id. This should refer to one of the
 12049  	// parent assets in this creative. This is a required field.
 12050  	AssetId int64 `json:"assetId,omitempty,string"`
 12051  
 12052  	// Name: A user-friendly name for this rule. This is a required field.
 12053  	Name string `json:"name,omitempty"`
 12054  
 12055  	// TargetingTemplateId: A targeting template ID. The targeting from the
 12056  	// targeting template will be used to determine whether this asset
 12057  	// should be served. This is a required field.
 12058  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
 12059  
 12060  	// ForceSendFields is a list of field names (e.g. "AssetId") to
 12061  	// unconditionally include in API requests. By default, fields with
 12062  	// empty values are omitted from API requests. However, any non-pointer,
 12063  	// non-interface field appearing in ForceSendFields will be sent to the
 12064  	// server regardless of whether the field is empty or not. This may be
 12065  	// used to include empty fields in Patch requests.
 12066  	ForceSendFields []string `json:"-"`
 12067  
 12068  	// NullFields is a list of field names (e.g. "AssetId") to include in
 12069  	// API requests with the JSON null value. By default, fields with empty
 12070  	// values are omitted from API requests. However, any field with an
 12071  	// empty value appearing in NullFields will be sent to the server as
 12072  	// null. It is an error if a field in this list has a non-empty value.
 12073  	// This may be used to include null fields in Patch requests.
 12074  	NullFields []string `json:"-"`
 12075  }
 12076  
 12077  func (s *Rule) MarshalJSON() ([]byte, error) {
 12078  	type NoMethod Rule
 12079  	raw := NoMethod(*s)
 12080  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12081  }
 12082  
 12083  // Site: Contains properties of a site.
 12084  type Site struct {
 12085  	// AccountId: Account ID of this site. This is a read-only field that
 12086  	// can be left blank.
 12087  	AccountId int64 `json:"accountId,omitempty,string"`
 12088  
 12089  	// Approved: Whether this site is approved.
 12090  	Approved bool `json:"approved,omitempty"`
 12091  
 12092  	// DirectorySiteId: Directory site associated with this site. This is a
 12093  	// required field that is read-only after insertion.
 12094  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
 12095  
 12096  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
 12097  	// directory site. This is a read-only, auto-generated field.
 12098  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
 12099  
 12100  	// Id: ID of this site. This is a read-only, auto-generated field.
 12101  	Id int64 `json:"id,omitempty,string"`
 12102  
 12103  	// IdDimensionValue: Dimension value for the ID of this site. This is a
 12104  	// read-only, auto-generated field.
 12105  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 12106  
 12107  	// KeyName: Key name of this site. This is a read-only, auto-generated
 12108  	// field.
 12109  	KeyName string `json:"keyName,omitempty"`
 12110  
 12111  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12112  	// string "dfareporting#site".
 12113  	Kind string `json:"kind,omitempty"`
 12114  
 12115  	// Name: Name of this site.This is a required field. Must be less than
 12116  	// 128 characters long. If this site is under a subaccount, the name
 12117  	// must be unique among sites of the same subaccount. Otherwise, this
 12118  	// site is a top-level site, and the name must be unique among top-level
 12119  	// sites of the same account.
 12120  	Name string `json:"name,omitempty"`
 12121  
 12122  	// SiteContacts: Site contacts.
 12123  	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
 12124  
 12125  	// SiteSettings: Site-wide settings.
 12126  	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
 12127  
 12128  	// SubaccountId: Subaccount ID of this site. This is a read-only field
 12129  	// that can be left blank.
 12130  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12131  
 12132  	// ServerResponse contains the HTTP response code and headers from the
 12133  	// server.
 12134  	googleapi.ServerResponse `json:"-"`
 12135  
 12136  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12137  	// unconditionally include in API requests. By default, fields with
 12138  	// empty values are omitted from API requests. However, any non-pointer,
 12139  	// non-interface field appearing in ForceSendFields will be sent to the
 12140  	// server regardless of whether the field is empty or not. This may be
 12141  	// used to include empty fields in Patch requests.
 12142  	ForceSendFields []string `json:"-"`
 12143  
 12144  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12145  	// API requests with the JSON null value. By default, fields with empty
 12146  	// values are omitted from API requests. However, any field with an
 12147  	// empty value appearing in NullFields will be sent to the server as
 12148  	// null. It is an error if a field in this list has a non-empty value.
 12149  	// This may be used to include null fields in Patch requests.
 12150  	NullFields []string `json:"-"`
 12151  }
 12152  
 12153  func (s *Site) MarshalJSON() ([]byte, error) {
 12154  	type NoMethod Site
 12155  	raw := NoMethod(*s)
 12156  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12157  }
 12158  
 12159  // SiteContact: Site Contact
 12160  type SiteContact struct {
 12161  	// Address: Address of this site contact.
 12162  	Address string `json:"address,omitempty"`
 12163  
 12164  	// ContactType: Site contact type.
 12165  	//
 12166  	// Possible values:
 12167  	//   "SALES_PERSON"
 12168  	//   "TRAFFICKER"
 12169  	ContactType string `json:"contactType,omitempty"`
 12170  
 12171  	// Email: Email address of this site contact. This is a required field.
 12172  	Email string `json:"email,omitempty"`
 12173  
 12174  	// FirstName: First name of this site contact.
 12175  	FirstName string `json:"firstName,omitempty"`
 12176  
 12177  	// Id: ID of this site contact. This is a read-only, auto-generated
 12178  	// field.
 12179  	Id int64 `json:"id,omitempty,string"`
 12180  
 12181  	// LastName: Last name of this site contact.
 12182  	LastName string `json:"lastName,omitempty"`
 12183  
 12184  	// Phone: Primary phone number of this site contact.
 12185  	Phone string `json:"phone,omitempty"`
 12186  
 12187  	// Title: Title or designation of this site contact.
 12188  	Title string `json:"title,omitempty"`
 12189  
 12190  	// ForceSendFields is a list of field names (e.g. "Address") to
 12191  	// unconditionally include in API requests. By default, fields with
 12192  	// empty values are omitted from API requests. However, any non-pointer,
 12193  	// non-interface field appearing in ForceSendFields will be sent to the
 12194  	// server regardless of whether the field is empty or not. This may be
 12195  	// used to include empty fields in Patch requests.
 12196  	ForceSendFields []string `json:"-"`
 12197  
 12198  	// NullFields is a list of field names (e.g. "Address") to include in
 12199  	// API requests with the JSON null value. By default, fields with empty
 12200  	// values are omitted from API requests. However, any field with an
 12201  	// empty value appearing in NullFields will be sent to the server as
 12202  	// null. It is an error if a field in this list has a non-empty value.
 12203  	// This may be used to include null fields in Patch requests.
 12204  	NullFields []string `json:"-"`
 12205  }
 12206  
 12207  func (s *SiteContact) MarshalJSON() ([]byte, error) {
 12208  	type NoMethod SiteContact
 12209  	raw := NoMethod(*s)
 12210  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12211  }
 12212  
 12213  // SiteSettings: Site Settings
 12214  type SiteSettings struct {
 12215  	// ActiveViewOptOut: Whether active view creatives are disabled for this
 12216  	// site.
 12217  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
 12218  
 12219  	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
 12220  	// true, ad blocking is disabled for all placements under the site,
 12221  	// regardless of the individual placement settings. When false, the
 12222  	// campaign and placement settings take effect.
 12223  	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
 12224  
 12225  	// DisableNewCookie: Whether new cookies are disabled for this site.
 12226  	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
 12227  
 12228  	// TagSetting: Configuration settings for dynamic and image floodlight
 12229  	// tags.
 12230  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
 12231  
 12232  	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
 12233  	// for in-stream video creatives are disabled by default for new
 12234  	// placements created under this site. This value will be used to
 12235  	// populate the placement.videoActiveViewOptOut field, when no value is
 12236  	// specified for the new placement.
 12237  	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
 12238  
 12239  	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
 12240  	// placements created under this site. This value will be used to
 12241  	// populate the placements.vpaidAdapterChoice field, when no value is
 12242  	// specified for the new placement. Controls which VPAID format the
 12243  	// measurement adapter will use for in-stream video creatives assigned
 12244  	// to the placement. The publisher's specifications will typically
 12245  	// determine this setting. For VPAID creatives, the adapter format will
 12246  	// match the VPAID format (HTML5 VPAID creatives use the HTML5
 12247  	// adapter).
 12248  	//
 12249  	// Note: Flash is no longer supported. This field now defaults to HTML5
 12250  	// when the following values are provided: FLASH, BOTH.
 12251  	//
 12252  	// Possible values:
 12253  	//   "BOTH"
 12254  	//   "DEFAULT"
 12255  	//   "FLASH"
 12256  	//   "HTML5"
 12257  	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
 12258  
 12259  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
 12260  	// unconditionally include in API requests. By default, fields with
 12261  	// empty values are omitted from API requests. However, any non-pointer,
 12262  	// non-interface field appearing in ForceSendFields will be sent to the
 12263  	// server regardless of whether the field is empty or not. This may be
 12264  	// used to include empty fields in Patch requests.
 12265  	ForceSendFields []string `json:"-"`
 12266  
 12267  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
 12268  	// include in API requests with the JSON null value. By default, fields
 12269  	// with empty values are omitted from API requests. However, any field
 12270  	// with an empty value appearing in NullFields will be sent to the
 12271  	// server as null. It is an error if a field in this list has a
 12272  	// non-empty value. This may be used to include null fields in Patch
 12273  	// requests.
 12274  	NullFields []string `json:"-"`
 12275  }
 12276  
 12277  func (s *SiteSettings) MarshalJSON() ([]byte, error) {
 12278  	type NoMethod SiteSettings
 12279  	raw := NoMethod(*s)
 12280  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12281  }
 12282  
 12283  // SitesListResponse: Site List Response
 12284  type SitesListResponse struct {
 12285  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12286  	// string "dfareporting#sitesListResponse".
 12287  	Kind string `json:"kind,omitempty"`
 12288  
 12289  	// NextPageToken: Pagination token to be used for the next list
 12290  	// operation.
 12291  	NextPageToken string `json:"nextPageToken,omitempty"`
 12292  
 12293  	// Sites: Site collection.
 12294  	Sites []*Site `json:"sites,omitempty"`
 12295  
 12296  	// ServerResponse contains the HTTP response code and headers from the
 12297  	// server.
 12298  	googleapi.ServerResponse `json:"-"`
 12299  
 12300  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12301  	// unconditionally include in API requests. By default, fields with
 12302  	// empty values are omitted from API requests. However, any non-pointer,
 12303  	// non-interface field appearing in ForceSendFields will be sent to the
 12304  	// server regardless of whether the field is empty or not. This may be
 12305  	// used to include empty fields in Patch requests.
 12306  	ForceSendFields []string `json:"-"`
 12307  
 12308  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12309  	// requests with the JSON null value. By default, fields with empty
 12310  	// values are omitted from API requests. However, any field with an
 12311  	// empty value appearing in NullFields will be sent to the server as
 12312  	// null. It is an error if a field in this list has a non-empty value.
 12313  	// This may be used to include null fields in Patch requests.
 12314  	NullFields []string `json:"-"`
 12315  }
 12316  
 12317  func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
 12318  	type NoMethod SitesListResponse
 12319  	raw := NoMethod(*s)
 12320  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12321  }
 12322  
 12323  // Size: Represents the dimensions of ads, placements, creatives, or
 12324  // creative assets.
 12325  type Size struct {
 12326  	// Height: Height of this size. Acceptable values are 0 to 32767,
 12327  	// inclusive.
 12328  	Height int64 `json:"height,omitempty"`
 12329  
 12330  	// Iab: IAB standard size. This is a read-only, auto-generated field.
 12331  	Iab bool `json:"iab,omitempty"`
 12332  
 12333  	// Id: ID of this size. This is a read-only, auto-generated field.
 12334  	Id int64 `json:"id,omitempty,string"`
 12335  
 12336  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12337  	// string "dfareporting#size".
 12338  	Kind string `json:"kind,omitempty"`
 12339  
 12340  	// Width: Width of this size. Acceptable values are 0 to 32767,
 12341  	// inclusive.
 12342  	Width int64 `json:"width,omitempty"`
 12343  
 12344  	// ServerResponse contains the HTTP response code and headers from the
 12345  	// server.
 12346  	googleapi.ServerResponse `json:"-"`
 12347  
 12348  	// ForceSendFields is a list of field names (e.g. "Height") to
 12349  	// unconditionally include in API requests. By default, fields with
 12350  	// empty values are omitted from API requests. However, any non-pointer,
 12351  	// non-interface field appearing in ForceSendFields will be sent to the
 12352  	// server regardless of whether the field is empty or not. This may be
 12353  	// used to include empty fields in Patch requests.
 12354  	ForceSendFields []string `json:"-"`
 12355  
 12356  	// NullFields is a list of field names (e.g. "Height") to include in API
 12357  	// requests with the JSON null value. By default, fields with empty
 12358  	// values are omitted from API requests. However, any field with an
 12359  	// empty value appearing in NullFields will be sent to the server as
 12360  	// null. It is an error if a field in this list has a non-empty value.
 12361  	// This may be used to include null fields in Patch requests.
 12362  	NullFields []string `json:"-"`
 12363  }
 12364  
 12365  func (s *Size) MarshalJSON() ([]byte, error) {
 12366  	type NoMethod Size
 12367  	raw := NoMethod(*s)
 12368  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12369  }
 12370  
 12371  // SizesListResponse: Size List Response
 12372  type SizesListResponse struct {
 12373  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12374  	// string "dfareporting#sizesListResponse".
 12375  	Kind string `json:"kind,omitempty"`
 12376  
 12377  	// Sizes: Size collection.
 12378  	Sizes []*Size `json:"sizes,omitempty"`
 12379  
 12380  	// ServerResponse contains the HTTP response code and headers from the
 12381  	// server.
 12382  	googleapi.ServerResponse `json:"-"`
 12383  
 12384  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12385  	// unconditionally include in API requests. By default, fields with
 12386  	// empty values are omitted from API requests. However, any non-pointer,
 12387  	// non-interface field appearing in ForceSendFields will be sent to the
 12388  	// server regardless of whether the field is empty or not. This may be
 12389  	// used to include empty fields in Patch requests.
 12390  	ForceSendFields []string `json:"-"`
 12391  
 12392  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12393  	// requests with the JSON null value. By default, fields with empty
 12394  	// values are omitted from API requests. However, any field with an
 12395  	// empty value appearing in NullFields will be sent to the server as
 12396  	// null. It is an error if a field in this list has a non-empty value.
 12397  	// This may be used to include null fields in Patch requests.
 12398  	NullFields []string `json:"-"`
 12399  }
 12400  
 12401  func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
 12402  	type NoMethod SizesListResponse
 12403  	raw := NoMethod(*s)
 12404  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12405  }
 12406  
 12407  // SkippableSetting: Skippable Settings
 12408  type SkippableSetting struct {
 12409  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12410  	// string "dfareporting#skippableSetting".
 12411  	Kind string `json:"kind,omitempty"`
 12412  
 12413  	// ProgressOffset: Amount of time to play videos served to this
 12414  	// placement before counting a view. Applicable when skippable is true.
 12415  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
 12416  
 12417  	// SkipOffset: Amount of time to play videos served to this placement
 12418  	// before the skip button should appear. Applicable when skippable is
 12419  	// true.
 12420  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
 12421  
 12422  	// Skippable: Whether the user can skip creatives served to this
 12423  	// placement.
 12424  	Skippable bool `json:"skippable,omitempty"`
 12425  
 12426  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12427  	// unconditionally include in API requests. By default, fields with
 12428  	// empty values are omitted from API requests. However, any non-pointer,
 12429  	// non-interface field appearing in ForceSendFields will be sent to the
 12430  	// server regardless of whether the field is empty or not. This may be
 12431  	// used to include empty fields in Patch requests.
 12432  	ForceSendFields []string `json:"-"`
 12433  
 12434  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12435  	// requests with the JSON null value. By default, fields with empty
 12436  	// values are omitted from API requests. However, any field with an
 12437  	// empty value appearing in NullFields will be sent to the server as
 12438  	// null. It is an error if a field in this list has a non-empty value.
 12439  	// This may be used to include null fields in Patch requests.
 12440  	NullFields []string `json:"-"`
 12441  }
 12442  
 12443  func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
 12444  	type NoMethod SkippableSetting
 12445  	raw := NoMethod(*s)
 12446  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12447  }
 12448  
 12449  // SortedDimension: Represents a sorted dimension.
 12450  type SortedDimension struct {
 12451  	// Kind: The kind of resource this is, in this case
 12452  	// dfareporting#sortedDimension.
 12453  	Kind string `json:"kind,omitempty"`
 12454  
 12455  	// Name: The name of the dimension.
 12456  	Name string `json:"name,omitempty"`
 12457  
 12458  	// SortOrder: An optional sort order for the dimension column.
 12459  	//
 12460  	// Possible values:
 12461  	//   "ASCENDING"
 12462  	//   "DESCENDING"
 12463  	SortOrder string `json:"sortOrder,omitempty"`
 12464  
 12465  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12466  	// unconditionally include in API requests. By default, fields with
 12467  	// empty values are omitted from API requests. However, any non-pointer,
 12468  	// non-interface field appearing in ForceSendFields will be sent to the
 12469  	// server regardless of whether the field is empty or not. This may be
 12470  	// used to include empty fields in Patch requests.
 12471  	ForceSendFields []string `json:"-"`
 12472  
 12473  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12474  	// requests with the JSON null value. By default, fields with empty
 12475  	// values are omitted from API requests. However, any field with an
 12476  	// empty value appearing in NullFields will be sent to the server as
 12477  	// null. It is an error if a field in this list has a non-empty value.
 12478  	// This may be used to include null fields in Patch requests.
 12479  	NullFields []string `json:"-"`
 12480  }
 12481  
 12482  func (s *SortedDimension) MarshalJSON() ([]byte, error) {
 12483  	type NoMethod SortedDimension
 12484  	raw := NoMethod(*s)
 12485  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12486  }
 12487  
 12488  // Subaccount: Contains properties of a Campaign Manager subaccount.
 12489  type Subaccount struct {
 12490  	// AccountId: ID of the account that contains this subaccount. This is a
 12491  	// read-only field that can be left blank.
 12492  	AccountId int64 `json:"accountId,omitempty,string"`
 12493  
 12494  	// AvailablePermissionIds: IDs of the available user role permissions
 12495  	// for this subaccount.
 12496  	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
 12497  
 12498  	// Id: ID of this subaccount. This is a read-only, auto-generated field.
 12499  	Id int64 `json:"id,omitempty,string"`
 12500  
 12501  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12502  	// string "dfareporting#subaccount".
 12503  	Kind string `json:"kind,omitempty"`
 12504  
 12505  	// Name: Name of this subaccount. This is a required field. Must be less
 12506  	// than 128 characters long and be unique among subaccounts of the same
 12507  	// account.
 12508  	Name string `json:"name,omitempty"`
 12509  
 12510  	// ServerResponse contains the HTTP response code and headers from the
 12511  	// server.
 12512  	googleapi.ServerResponse `json:"-"`
 12513  
 12514  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12515  	// unconditionally include in API requests. By default, fields with
 12516  	// empty values are omitted from API requests. However, any non-pointer,
 12517  	// non-interface field appearing in ForceSendFields will be sent to the
 12518  	// server regardless of whether the field is empty or not. This may be
 12519  	// used to include empty fields in Patch requests.
 12520  	ForceSendFields []string `json:"-"`
 12521  
 12522  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12523  	// API requests with the JSON null value. By default, fields with empty
 12524  	// values are omitted from API requests. However, any field with an
 12525  	// empty value appearing in NullFields will be sent to the server as
 12526  	// null. It is an error if a field in this list has a non-empty value.
 12527  	// This may be used to include null fields in Patch requests.
 12528  	NullFields []string `json:"-"`
 12529  }
 12530  
 12531  func (s *Subaccount) MarshalJSON() ([]byte, error) {
 12532  	type NoMethod Subaccount
 12533  	raw := NoMethod(*s)
 12534  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12535  }
 12536  
 12537  // SubaccountsListResponse: Subaccount List Response
 12538  type SubaccountsListResponse struct {
 12539  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12540  	// string "dfareporting#subaccountsListResponse".
 12541  	Kind string `json:"kind,omitempty"`
 12542  
 12543  	// NextPageToken: Pagination token to be used for the next list
 12544  	// operation.
 12545  	NextPageToken string `json:"nextPageToken,omitempty"`
 12546  
 12547  	// Subaccounts: Subaccount collection.
 12548  	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
 12549  
 12550  	// ServerResponse contains the HTTP response code and headers from the
 12551  	// server.
 12552  	googleapi.ServerResponse `json:"-"`
 12553  
 12554  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12555  	// unconditionally include in API requests. By default, fields with
 12556  	// empty values are omitted from API requests. However, any non-pointer,
 12557  	// non-interface field appearing in ForceSendFields will be sent to the
 12558  	// server regardless of whether the field is empty or not. This may be
 12559  	// used to include empty fields in Patch requests.
 12560  	ForceSendFields []string `json:"-"`
 12561  
 12562  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12563  	// requests with the JSON null value. By default, fields with empty
 12564  	// values are omitted from API requests. However, any field with an
 12565  	// empty value appearing in NullFields will be sent to the server as
 12566  	// null. It is an error if a field in this list has a non-empty value.
 12567  	// This may be used to include null fields in Patch requests.
 12568  	NullFields []string `json:"-"`
 12569  }
 12570  
 12571  func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
 12572  	type NoMethod SubaccountsListResponse
 12573  	raw := NoMethod(*s)
 12574  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12575  }
 12576  
 12577  // TagData: Placement Tag Data
 12578  type TagData struct {
 12579  	// AdId: Ad associated with this placement tag. Applicable only when
 12580  	// format is PLACEMENT_TAG_TRACKING.
 12581  	AdId int64 `json:"adId,omitempty,string"`
 12582  
 12583  	// ClickTag: Tag string to record a click.
 12584  	ClickTag string `json:"clickTag,omitempty"`
 12585  
 12586  	// CreativeId: Creative associated with this placement tag. Applicable
 12587  	// only when format is PLACEMENT_TAG_TRACKING.
 12588  	CreativeId int64 `json:"creativeId,omitempty,string"`
 12589  
 12590  	// Format: TagData tag format of this tag.
 12591  	//
 12592  	// Possible values:
 12593  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
 12594  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
 12595  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 12596  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 12597  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 12598  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 12599  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 12600  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
 12601  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 12602  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 12603  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 12604  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 12605  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 12606  	//   "PLACEMENT_TAG_JAVASCRIPT"
 12607  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 12608  	//   "PLACEMENT_TAG_STANDARD"
 12609  	//   "PLACEMENT_TAG_TRACKING"
 12610  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
 12611  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 12612  	Format string `json:"format,omitempty"`
 12613  
 12614  	// ImpressionTag: Tag string for serving an ad.
 12615  	ImpressionTag string `json:"impressionTag,omitempty"`
 12616  
 12617  	// ForceSendFields is a list of field names (e.g. "AdId") to
 12618  	// unconditionally include in API requests. By default, fields with
 12619  	// empty values are omitted from API requests. However, any non-pointer,
 12620  	// non-interface field appearing in ForceSendFields will be sent to the
 12621  	// server regardless of whether the field is empty or not. This may be
 12622  	// used to include empty fields in Patch requests.
 12623  	ForceSendFields []string `json:"-"`
 12624  
 12625  	// NullFields is a list of field names (e.g. "AdId") to include in API
 12626  	// requests with the JSON null value. By default, fields with empty
 12627  	// values are omitted from API requests. However, any field with an
 12628  	// empty value appearing in NullFields will be sent to the server as
 12629  	// null. It is an error if a field in this list has a non-empty value.
 12630  	// This may be used to include null fields in Patch requests.
 12631  	NullFields []string `json:"-"`
 12632  }
 12633  
 12634  func (s *TagData) MarshalJSON() ([]byte, error) {
 12635  	type NoMethod TagData
 12636  	raw := NoMethod(*s)
 12637  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12638  }
 12639  
 12640  // TagSetting: Tag Settings
 12641  type TagSetting struct {
 12642  	// AdditionalKeyValues: Additional key-values to be included in tags.
 12643  	// Each key-value pair must be of the form key=value, and pairs must be
 12644  	// separated by a semicolon (;). Keys and values must not contain
 12645  	// commas. For example, id=2;color=red is a valid value for this field.
 12646  	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
 12647  
 12648  	// IncludeClickThroughUrls: Whether static landing page URLs should be
 12649  	// included in the tags. This setting applies only to placements.
 12650  	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
 12651  
 12652  	// IncludeClickTracking: Whether click-tracking string should be
 12653  	// included in the tags.
 12654  	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
 12655  
 12656  	// KeywordOption: Option specifying how keywords are embedded in ad
 12657  	// tags. This setting can be used to specify whether keyword
 12658  	// placeholders are inserted in placement tags for this site. Publishers
 12659  	// can then add keywords to those placeholders.
 12660  	//
 12661  	// Possible values:
 12662  	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
 12663  	//   "IGNORE"
 12664  	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
 12665  	KeywordOption string `json:"keywordOption,omitempty"`
 12666  
 12667  	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
 12668  	// to unconditionally include in API requests. By default, fields with
 12669  	// empty values are omitted from API requests. However, any non-pointer,
 12670  	// non-interface field appearing in ForceSendFields will be sent to the
 12671  	// server regardless of whether the field is empty or not. This may be
 12672  	// used to include empty fields in Patch requests.
 12673  	ForceSendFields []string `json:"-"`
 12674  
 12675  	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
 12676  	// include in API requests with the JSON null value. By default, fields
 12677  	// with empty values are omitted from API requests. However, any field
 12678  	// with an empty value appearing in NullFields will be sent to the
 12679  	// server as null. It is an error if a field in this list has a
 12680  	// non-empty value. This may be used to include null fields in Patch
 12681  	// requests.
 12682  	NullFields []string `json:"-"`
 12683  }
 12684  
 12685  func (s *TagSetting) MarshalJSON() ([]byte, error) {
 12686  	type NoMethod TagSetting
 12687  	raw := NoMethod(*s)
 12688  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12689  }
 12690  
 12691  // TagSettings: Dynamic and Image Tag Settings.
 12692  type TagSettings struct {
 12693  	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
 12694  	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
 12695  
 12696  	// ImageTagEnabled: Whether image tags are enabled.
 12697  	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
 12698  
 12699  	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
 12700  	// to unconditionally include in API requests. By default, fields with
 12701  	// empty values are omitted from API requests. However, any non-pointer,
 12702  	// non-interface field appearing in ForceSendFields will be sent to the
 12703  	// server regardless of whether the field is empty or not. This may be
 12704  	// used to include empty fields in Patch requests.
 12705  	ForceSendFields []string `json:"-"`
 12706  
 12707  	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
 12708  	// include in API requests with the JSON null value. By default, fields
 12709  	// with empty values are omitted from API requests. However, any field
 12710  	// with an empty value appearing in NullFields will be sent to the
 12711  	// server as null. It is an error if a field in this list has a
 12712  	// non-empty value. This may be used to include null fields in Patch
 12713  	// requests.
 12714  	NullFields []string `json:"-"`
 12715  }
 12716  
 12717  func (s *TagSettings) MarshalJSON() ([]byte, error) {
 12718  	type NoMethod TagSettings
 12719  	raw := NoMethod(*s)
 12720  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12721  }
 12722  
 12723  // TargetWindow: Target Window.
 12724  type TargetWindow struct {
 12725  	// CustomHtml: User-entered value.
 12726  	CustomHtml string `json:"customHtml,omitempty"`
 12727  
 12728  	// TargetWindowOption: Type of browser window for which the backup image
 12729  	// of the flash creative can be displayed.
 12730  	//
 12731  	// Possible values:
 12732  	//   "CURRENT_WINDOW"
 12733  	//   "CUSTOM"
 12734  	//   "NEW_WINDOW"
 12735  	TargetWindowOption string `json:"targetWindowOption,omitempty"`
 12736  
 12737  	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
 12738  	// unconditionally include in API requests. By default, fields with
 12739  	// empty values are omitted from API requests. However, any non-pointer,
 12740  	// non-interface field appearing in ForceSendFields will be sent to the
 12741  	// server regardless of whether the field is empty or not. This may be
 12742  	// used to include empty fields in Patch requests.
 12743  	ForceSendFields []string `json:"-"`
 12744  
 12745  	// NullFields is a list of field names (e.g. "CustomHtml") to include in
 12746  	// API requests with the JSON null value. By default, fields with empty
 12747  	// values are omitted from API requests. However, any field with an
 12748  	// empty value appearing in NullFields will be sent to the server as
 12749  	// null. It is an error if a field in this list has a non-empty value.
 12750  	// This may be used to include null fields in Patch requests.
 12751  	NullFields []string `json:"-"`
 12752  }
 12753  
 12754  func (s *TargetWindow) MarshalJSON() ([]byte, error) {
 12755  	type NoMethod TargetWindow
 12756  	raw := NoMethod(*s)
 12757  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12758  }
 12759  
 12760  // TargetableRemarketingList: Contains properties of a targetable
 12761  // remarketing list. Remarketing enables you to create lists of users
 12762  // who have performed specific actions on a site, then target ads to
 12763  // members of those lists. This resource is a read-only view of a
 12764  // remarketing list to be used to faciliate targeting ads to specific
 12765  // lists. Remarketing lists that are owned by your advertisers and those
 12766  // that are shared to your advertisers or account are accessible via
 12767  // this resource. To manage remarketing lists that are owned by your
 12768  // advertisers, use the RemarketingLists resource.
 12769  type TargetableRemarketingList struct {
 12770  	// AccountId: Account ID of this remarketing list. This is a read-only,
 12771  	// auto-generated field that is only returned in GET requests.
 12772  	AccountId int64 `json:"accountId,omitempty,string"`
 12773  
 12774  	// Active: Whether this targetable remarketing list is active.
 12775  	Active bool `json:"active,omitempty"`
 12776  
 12777  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 12778  	// targetable remarketing list.
 12779  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 12780  
 12781  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 12782  	// advertiser.
 12783  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 12784  
 12785  	// Description: Targetable remarketing list description.
 12786  	Description string `json:"description,omitempty"`
 12787  
 12788  	// Id: Targetable remarketing list ID.
 12789  	Id int64 `json:"id,omitempty,string"`
 12790  
 12791  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12792  	// string "dfareporting#targetableRemarketingList".
 12793  	Kind string `json:"kind,omitempty"`
 12794  
 12795  	// LifeSpan: Number of days that a user should remain in the targetable
 12796  	// remarketing list without an impression.
 12797  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 12798  
 12799  	// ListSize: Number of users currently in the list. This is a read-only
 12800  	// field.
 12801  	ListSize int64 `json:"listSize,omitempty,string"`
 12802  
 12803  	// ListSource: Product from which this targetable remarketing list was
 12804  	// originated.
 12805  	//
 12806  	// Possible values:
 12807  	//   "REMARKETING_LIST_SOURCE_ADX"
 12808  	//   "REMARKETING_LIST_SOURCE_DBM"
 12809  	//   "REMARKETING_LIST_SOURCE_DFA"
 12810  	//   "REMARKETING_LIST_SOURCE_DFP"
 12811  	//   "REMARKETING_LIST_SOURCE_DMP"
 12812  	//   "REMARKETING_LIST_SOURCE_GA"
 12813  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 12814  	//   "REMARKETING_LIST_SOURCE_OTHER"
 12815  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 12816  	//   "REMARKETING_LIST_SOURCE_XFP"
 12817  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 12818  	ListSource string `json:"listSource,omitempty"`
 12819  
 12820  	// Name: Name of the targetable remarketing list. Is no greater than 128
 12821  	// characters long.
 12822  	Name string `json:"name,omitempty"`
 12823  
 12824  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 12825  	// read-only, auto-generated field that is only returned in GET
 12826  	// requests.
 12827  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12828  
 12829  	// ServerResponse contains the HTTP response code and headers from the
 12830  	// server.
 12831  	googleapi.ServerResponse `json:"-"`
 12832  
 12833  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12834  	// unconditionally include in API requests. By default, fields with
 12835  	// empty values are omitted from API requests. However, any non-pointer,
 12836  	// non-interface field appearing in ForceSendFields will be sent to the
 12837  	// server regardless of whether the field is empty or not. This may be
 12838  	// used to include empty fields in Patch requests.
 12839  	ForceSendFields []string `json:"-"`
 12840  
 12841  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12842  	// API requests with the JSON null value. By default, fields with empty
 12843  	// values are omitted from API requests. However, any field with an
 12844  	// empty value appearing in NullFields will be sent to the server as
 12845  	// null. It is an error if a field in this list has a non-empty value.
 12846  	// This may be used to include null fields in Patch requests.
 12847  	NullFields []string `json:"-"`
 12848  }
 12849  
 12850  func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
 12851  	type NoMethod TargetableRemarketingList
 12852  	raw := NoMethod(*s)
 12853  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12854  }
 12855  
 12856  // TargetableRemarketingListsListResponse: Targetable remarketing list
 12857  // response
 12858  type TargetableRemarketingListsListResponse struct {
 12859  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12860  	// string "dfareporting#targetableRemarketingListsListResponse".
 12861  	Kind string `json:"kind,omitempty"`
 12862  
 12863  	// NextPageToken: Pagination token to be used for the next list
 12864  	// operation.
 12865  	NextPageToken string `json:"nextPageToken,omitempty"`
 12866  
 12867  	// TargetableRemarketingLists: Targetable remarketing list collection.
 12868  	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
 12869  
 12870  	// ServerResponse contains the HTTP response code and headers from the
 12871  	// server.
 12872  	googleapi.ServerResponse `json:"-"`
 12873  
 12874  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12875  	// unconditionally include in API requests. By default, fields with
 12876  	// empty values are omitted from API requests. However, any non-pointer,
 12877  	// non-interface field appearing in ForceSendFields will be sent to the
 12878  	// server regardless of whether the field is empty or not. This may be
 12879  	// used to include empty fields in Patch requests.
 12880  	ForceSendFields []string `json:"-"`
 12881  
 12882  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12883  	// requests with the JSON null value. By default, fields with empty
 12884  	// values are omitted from API requests. However, any field with an
 12885  	// empty value appearing in NullFields will be sent to the server as
 12886  	// null. It is an error if a field in this list has a non-empty value.
 12887  	// This may be used to include null fields in Patch requests.
 12888  	NullFields []string `json:"-"`
 12889  }
 12890  
 12891  func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 12892  	type NoMethod TargetableRemarketingListsListResponse
 12893  	raw := NoMethod(*s)
 12894  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12895  }
 12896  
 12897  // TargetingTemplate: Contains properties of a targeting template. A
 12898  // targeting template encapsulates targeting information which can be
 12899  // reused across multiple ads.
 12900  type TargetingTemplate struct {
 12901  	// AccountId: Account ID of this targeting template. This field, if left
 12902  	// unset, will be auto-generated on insert and is read-only after
 12903  	// insert.
 12904  	AccountId int64 `json:"accountId,omitempty,string"`
 12905  
 12906  	// AdvertiserId: Advertiser ID of this targeting template. This is a
 12907  	// required field on insert and is read-only after insert.
 12908  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 12909  
 12910  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 12911  	// advertiser. This is a read-only, auto-generated field.
 12912  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 12913  
 12914  	// DayPartTargeting: Time and day targeting criteria.
 12915  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
 12916  
 12917  	// GeoTargeting: Geographical targeting criteria.
 12918  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
 12919  
 12920  	// Id: ID of this targeting template. This is a read-only,
 12921  	// auto-generated field.
 12922  	Id int64 `json:"id,omitempty,string"`
 12923  
 12924  	// KeyValueTargetingExpression: Key-value targeting criteria.
 12925  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
 12926  
 12927  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12928  	// string "dfareporting#targetingTemplate".
 12929  	Kind string `json:"kind,omitempty"`
 12930  
 12931  	// LanguageTargeting: Language targeting criteria.
 12932  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
 12933  
 12934  	// ListTargetingExpression: Remarketing list targeting criteria.
 12935  	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
 12936  
 12937  	// Name: Name of this targeting template. This field is required. It
 12938  	// must be less than 256 characters long and unique within an
 12939  	// advertiser.
 12940  	Name string `json:"name,omitempty"`
 12941  
 12942  	// SubaccountId: Subaccount ID of this targeting template. This field,
 12943  	// if left unset, will be auto-generated on insert and is read-only
 12944  	// after insert.
 12945  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12946  
 12947  	// TechnologyTargeting: Technology platform targeting criteria.
 12948  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
 12949  
 12950  	// ServerResponse contains the HTTP response code and headers from the
 12951  	// server.
 12952  	googleapi.ServerResponse `json:"-"`
 12953  
 12954  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12955  	// unconditionally include in API requests. By default, fields with
 12956  	// empty values are omitted from API requests. However, any non-pointer,
 12957  	// non-interface field appearing in ForceSendFields will be sent to the
 12958  	// server regardless of whether the field is empty or not. This may be
 12959  	// used to include empty fields in Patch requests.
 12960  	ForceSendFields []string `json:"-"`
 12961  
 12962  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12963  	// API requests with the JSON null value. By default, fields with empty
 12964  	// values are omitted from API requests. However, any field with an
 12965  	// empty value appearing in NullFields will be sent to the server as
 12966  	// null. It is an error if a field in this list has a non-empty value.
 12967  	// This may be used to include null fields in Patch requests.
 12968  	NullFields []string `json:"-"`
 12969  }
 12970  
 12971  func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
 12972  	type NoMethod TargetingTemplate
 12973  	raw := NoMethod(*s)
 12974  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12975  }
 12976  
 12977  // TargetingTemplatesListResponse: Targeting Template List Response
 12978  type TargetingTemplatesListResponse struct {
 12979  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12980  	// string "dfareporting#targetingTemplatesListResponse".
 12981  	Kind string `json:"kind,omitempty"`
 12982  
 12983  	// NextPageToken: Pagination token to be used for the next list
 12984  	// operation.
 12985  	NextPageToken string `json:"nextPageToken,omitempty"`
 12986  
 12987  	// TargetingTemplates: Targeting template collection.
 12988  	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
 12989  
 12990  	// ServerResponse contains the HTTP response code and headers from the
 12991  	// server.
 12992  	googleapi.ServerResponse `json:"-"`
 12993  
 12994  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12995  	// unconditionally include in API requests. By default, fields with
 12996  	// empty values are omitted from API requests. However, any non-pointer,
 12997  	// non-interface field appearing in ForceSendFields will be sent to the
 12998  	// server regardless of whether the field is empty or not. This may be
 12999  	// used to include empty fields in Patch requests.
 13000  	ForceSendFields []string `json:"-"`
 13001  
 13002  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13003  	// requests with the JSON null value. By default, fields with empty
 13004  	// values are omitted from API requests. However, any field with an
 13005  	// empty value appearing in NullFields will be sent to the server as
 13006  	// null. It is an error if a field in this list has a non-empty value.
 13007  	// This may be used to include null fields in Patch requests.
 13008  	NullFields []string `json:"-"`
 13009  }
 13010  
 13011  func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
 13012  	type NoMethod TargetingTemplatesListResponse
 13013  	raw := NoMethod(*s)
 13014  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13015  }
 13016  
 13017  // TechnologyTargeting: Technology Targeting.
 13018  type TechnologyTargeting struct {
 13019  	// Browsers: Browsers that this ad targets. For each browser either set
 13020  	// browserVersionId or dartId along with the version numbers. If both
 13021  	// are specified, only browserVersionId will be used. The other fields
 13022  	// are populated automatically when the ad is inserted or updated.
 13023  	Browsers []*Browser `json:"browsers,omitempty"`
 13024  
 13025  	// ConnectionTypes: Connection types that this ad targets. For each
 13026  	// connection type only id is required. The other fields are populated
 13027  	// automatically when the ad is inserted or updated.
 13028  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
 13029  
 13030  	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
 13031  	// carrier only id is required, and the other fields are populated
 13032  	// automatically when the ad is inserted or updated. If targeting a
 13033  	// mobile carrier, do not set targeting for any zip codes.
 13034  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
 13035  
 13036  	// OperatingSystemVersions: Operating system versions that this ad
 13037  	// targets. To target all versions, use operatingSystems. For each
 13038  	// operating system version, only id is required. The other fields are
 13039  	// populated automatically when the ad is inserted or updated. If
 13040  	// targeting an operating system version, do not set targeting for the
 13041  	// corresponding operating system in operatingSystems.
 13042  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
 13043  
 13044  	// OperatingSystems: Operating systems that this ad targets. To target
 13045  	// specific versions, use operatingSystemVersions. For each operating
 13046  	// system only dartId is required. The other fields are populated
 13047  	// automatically when the ad is inserted or updated. If targeting an
 13048  	// operating system, do not set targeting for operating system versions
 13049  	// for the same operating system.
 13050  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
 13051  
 13052  	// PlatformTypes: Platform types that this ad targets. For example,
 13053  	// desktop, mobile, or tablet. For each platform type, only id is
 13054  	// required, and the other fields are populated automatically when the
 13055  	// ad is inserted or updated.
 13056  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 13057  
 13058  	// ForceSendFields is a list of field names (e.g. "Browsers") to
 13059  	// unconditionally include in API requests. By default, fields with
 13060  	// empty values are omitted from API requests. However, any non-pointer,
 13061  	// non-interface field appearing in ForceSendFields will be sent to the
 13062  	// server regardless of whether the field is empty or not. This may be
 13063  	// used to include empty fields in Patch requests.
 13064  	ForceSendFields []string `json:"-"`
 13065  
 13066  	// NullFields is a list of field names (e.g. "Browsers") to include in
 13067  	// API requests with the JSON null value. By default, fields with empty
 13068  	// values are omitted from API requests. However, any field with an
 13069  	// empty value appearing in NullFields will be sent to the server as
 13070  	// null. It is an error if a field in this list has a non-empty value.
 13071  	// This may be used to include null fields in Patch requests.
 13072  	NullFields []string `json:"-"`
 13073  }
 13074  
 13075  func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
 13076  	type NoMethod TechnologyTargeting
 13077  	raw := NoMethod(*s)
 13078  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13079  }
 13080  
 13081  // ThirdPartyAuthenticationToken: Third Party Authentication Token
 13082  type ThirdPartyAuthenticationToken struct {
 13083  	// Name: Name of the third-party authentication token.
 13084  	Name string `json:"name,omitempty"`
 13085  
 13086  	// Value: Value of the third-party authentication token. This is a
 13087  	// read-only, auto-generated field.
 13088  	Value string `json:"value,omitempty"`
 13089  
 13090  	// ForceSendFields is a list of field names (e.g. "Name") to
 13091  	// unconditionally include in API requests. By default, fields with
 13092  	// empty values are omitted from API requests. However, any non-pointer,
 13093  	// non-interface field appearing in ForceSendFields will be sent to the
 13094  	// server regardless of whether the field is empty or not. This may be
 13095  	// used to include empty fields in Patch requests.
 13096  	ForceSendFields []string `json:"-"`
 13097  
 13098  	// NullFields is a list of field names (e.g. "Name") to include in API
 13099  	// requests with the JSON null value. By default, fields with empty
 13100  	// values are omitted from API requests. However, any field with an
 13101  	// empty value appearing in NullFields will be sent to the server as
 13102  	// null. It is an error if a field in this list has a non-empty value.
 13103  	// This may be used to include null fields in Patch requests.
 13104  	NullFields []string `json:"-"`
 13105  }
 13106  
 13107  func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
 13108  	type NoMethod ThirdPartyAuthenticationToken
 13109  	raw := NoMethod(*s)
 13110  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13111  }
 13112  
 13113  // ThirdPartyTrackingUrl: Third-party Tracking URL.
 13114  type ThirdPartyTrackingUrl struct {
 13115  	// ThirdPartyUrlType: Third-party URL type for in-stream video and
 13116  	// in-stream audio creatives.
 13117  	//
 13118  	// Possible values:
 13119  	//   "CLICK_TRACKING"
 13120  	//   "IMPRESSION"
 13121  	//   "RICH_MEDIA_BACKUP_IMPRESSION"
 13122  	//   "RICH_MEDIA_IMPRESSION"
 13123  	//   "RICH_MEDIA_RM_IMPRESSION"
 13124  	//   "SURVEY"
 13125  	//   "VIDEO_COMPLETE"
 13126  	//   "VIDEO_CUSTOM"
 13127  	//   "VIDEO_FIRST_QUARTILE"
 13128  	//   "VIDEO_FULLSCREEN"
 13129  	//   "VIDEO_MIDPOINT"
 13130  	//   "VIDEO_MUTE"
 13131  	//   "VIDEO_PAUSE"
 13132  	//   "VIDEO_PROGRESS"
 13133  	//   "VIDEO_REWIND"
 13134  	//   "VIDEO_SKIP"
 13135  	//   "VIDEO_START"
 13136  	//   "VIDEO_STOP"
 13137  	//   "VIDEO_THIRD_QUARTILE"
 13138  	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
 13139  
 13140  	// Url: URL for the specified third-party URL type.
 13141  	Url string `json:"url,omitempty"`
 13142  
 13143  	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
 13144  	// to unconditionally include in API requests. By default, fields with
 13145  	// empty values are omitted from API requests. However, any non-pointer,
 13146  	// non-interface field appearing in ForceSendFields will be sent to the
 13147  	// server regardless of whether the field is empty or not. This may be
 13148  	// used to include empty fields in Patch requests.
 13149  	ForceSendFields []string `json:"-"`
 13150  
 13151  	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
 13152  	// include in API requests with the JSON null value. By default, fields
 13153  	// with empty values are omitted from API requests. However, any field
 13154  	// with an empty value appearing in NullFields will be sent to the
 13155  	// server as null. It is an error if a field in this list has a
 13156  	// non-empty value. This may be used to include null fields in Patch
 13157  	// requests.
 13158  	NullFields []string `json:"-"`
 13159  }
 13160  
 13161  func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
 13162  	type NoMethod ThirdPartyTrackingUrl
 13163  	raw := NoMethod(*s)
 13164  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13165  }
 13166  
 13167  // TranscodeSetting: Transcode Settings
 13168  type TranscodeSetting struct {
 13169  	// EnabledVideoFormats: Whitelist of video formats to be served to this
 13170  	// placement. Set this list to null or empty to serve all video formats.
 13171  	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
 13172  
 13173  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13174  	// string "dfareporting#transcodeSetting".
 13175  	Kind string `json:"kind,omitempty"`
 13176  
 13177  	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
 13178  	// to unconditionally include in API requests. By default, fields with
 13179  	// empty values are omitted from API requests. However, any non-pointer,
 13180  	// non-interface field appearing in ForceSendFields will be sent to the
 13181  	// server regardless of whether the field is empty or not. This may be
 13182  	// used to include empty fields in Patch requests.
 13183  	ForceSendFields []string `json:"-"`
 13184  
 13185  	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
 13186  	// include in API requests with the JSON null value. By default, fields
 13187  	// with empty values are omitted from API requests. However, any field
 13188  	// with an empty value appearing in NullFields will be sent to the
 13189  	// server as null. It is an error if a field in this list has a
 13190  	// non-empty value. This may be used to include null fields in Patch
 13191  	// requests.
 13192  	NullFields []string `json:"-"`
 13193  }
 13194  
 13195  func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
 13196  	type NoMethod TranscodeSetting
 13197  	raw := NoMethod(*s)
 13198  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13199  }
 13200  
 13201  // UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
 13202  // to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and
 13203  // VPAID.
 13204  type UniversalAdId struct {
 13205  	// Registry: Registry used for the Ad ID value.
 13206  	//
 13207  	// Possible values:
 13208  	//   "AD_ID.ORG"
 13209  	//   "CLEARCAST"
 13210  	//   "DCM"
 13211  	//   "OTHER"
 13212  	Registry string `json:"registry,omitempty"`
 13213  
 13214  	// Value: ID value for this creative. Only alphanumeric characters and
 13215  	// the following symbols are valid: "_/\-". Maximum length is 64
 13216  	// characters. Read only when registry is DCM.
 13217  	Value string `json:"value,omitempty"`
 13218  
 13219  	// ForceSendFields is a list of field names (e.g. "Registry") to
 13220  	// unconditionally include in API requests. By default, fields with
 13221  	// empty values are omitted from API requests. However, any non-pointer,
 13222  	// non-interface field appearing in ForceSendFields will be sent to the
 13223  	// server regardless of whether the field is empty or not. This may be
 13224  	// used to include empty fields in Patch requests.
 13225  	ForceSendFields []string `json:"-"`
 13226  
 13227  	// NullFields is a list of field names (e.g. "Registry") to include in
 13228  	// API requests with the JSON null value. By default, fields with empty
 13229  	// values are omitted from API requests. However, any field with an
 13230  	// empty value appearing in NullFields will be sent to the server as
 13231  	// null. It is an error if a field in this list has a non-empty value.
 13232  	// This may be used to include null fields in Patch requests.
 13233  	NullFields []string `json:"-"`
 13234  }
 13235  
 13236  func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
 13237  	type NoMethod UniversalAdId
 13238  	raw := NoMethod(*s)
 13239  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13240  }
 13241  
 13242  // UserDefinedVariableConfiguration: User Defined Variable
 13243  // configuration.
 13244  type UserDefinedVariableConfiguration struct {
 13245  	// DataType: Data type for the variable. This is a required field.
 13246  	//
 13247  	// Possible values:
 13248  	//   "NUMBER"
 13249  	//   "STRING"
 13250  	DataType string `json:"dataType,omitempty"`
 13251  
 13252  	// ReportName: User-friendly name for the variable which will appear in
 13253  	// reports. This is a required field, must be less than 64 characters
 13254  	// long, and cannot contain the following characters: ""<>".
 13255  	ReportName string `json:"reportName,omitempty"`
 13256  
 13257  	// VariableType: Variable name in the tag. This is a required field.
 13258  	//
 13259  	// Possible values:
 13260  	//   "U1"
 13261  	//   "U10"
 13262  	//   "U100"
 13263  	//   "U11"
 13264  	//   "U12"
 13265  	//   "U13"
 13266  	//   "U14"
 13267  	//   "U15"
 13268  	//   "U16"
 13269  	//   "U17"
 13270  	//   "U18"
 13271  	//   "U19"
 13272  	//   "U2"
 13273  	//   "U20"
 13274  	//   "U21"
 13275  	//   "U22"
 13276  	//   "U23"
 13277  	//   "U24"
 13278  	//   "U25"
 13279  	//   "U26"
 13280  	//   "U27"
 13281  	//   "U28"
 13282  	//   "U29"
 13283  	//   "U3"
 13284  	//   "U30"
 13285  	//   "U31"
 13286  	//   "U32"
 13287  	//   "U33"
 13288  	//   "U34"
 13289  	//   "U35"
 13290  	//   "U36"
 13291  	//   "U37"
 13292  	//   "U38"
 13293  	//   "U39"
 13294  	//   "U4"
 13295  	//   "U40"
 13296  	//   "U41"
 13297  	//   "U42"
 13298  	//   "U43"
 13299  	//   "U44"
 13300  	//   "U45"
 13301  	//   "U46"
 13302  	//   "U47"
 13303  	//   "U48"
 13304  	//   "U49"
 13305  	//   "U5"
 13306  	//   "U50"
 13307  	//   "U51"
 13308  	//   "U52"
 13309  	//   "U53"
 13310  	//   "U54"
 13311  	//   "U55"
 13312  	//   "U56"
 13313  	//   "U57"
 13314  	//   "U58"
 13315  	//   "U59"
 13316  	//   "U6"
 13317  	//   "U60"
 13318  	//   "U61"
 13319  	//   "U62"
 13320  	//   "U63"
 13321  	//   "U64"
 13322  	//   "U65"
 13323  	//   "U66"
 13324  	//   "U67"
 13325  	//   "U68"
 13326  	//   "U69"
 13327  	//   "U7"
 13328  	//   "U70"
 13329  	//   "U71"
 13330  	//   "U72"
 13331  	//   "U73"
 13332  	//   "U74"
 13333  	//   "U75"
 13334  	//   "U76"
 13335  	//   "U77"
 13336  	//   "U78"
 13337  	//   "U79"
 13338  	//   "U8"
 13339  	//   "U80"
 13340  	//   "U81"
 13341  	//   "U82"
 13342  	//   "U83"
 13343  	//   "U84"
 13344  	//   "U85"
 13345  	//   "U86"
 13346  	//   "U87"
 13347  	//   "U88"
 13348  	//   "U89"
 13349  	//   "U9"
 13350  	//   "U90"
 13351  	//   "U91"
 13352  	//   "U92"
 13353  	//   "U93"
 13354  	//   "U94"
 13355  	//   "U95"
 13356  	//   "U96"
 13357  	//   "U97"
 13358  	//   "U98"
 13359  	//   "U99"
 13360  	VariableType string `json:"variableType,omitempty"`
 13361  
 13362  	// ForceSendFields is a list of field names (e.g. "DataType") to
 13363  	// unconditionally include in API requests. By default, fields with
 13364  	// empty values are omitted from API requests. However, any non-pointer,
 13365  	// non-interface field appearing in ForceSendFields will be sent to the
 13366  	// server regardless of whether the field is empty or not. This may be
 13367  	// used to include empty fields in Patch requests.
 13368  	ForceSendFields []string `json:"-"`
 13369  
 13370  	// NullFields is a list of field names (e.g. "DataType") to include in
 13371  	// API requests with the JSON null value. By default, fields with empty
 13372  	// values are omitted from API requests. However, any field with an
 13373  	// empty value appearing in NullFields will be sent to the server as
 13374  	// null. It is an error if a field in this list has a non-empty value.
 13375  	// This may be used to include null fields in Patch requests.
 13376  	NullFields []string `json:"-"`
 13377  }
 13378  
 13379  func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
 13380  	type NoMethod UserDefinedVariableConfiguration
 13381  	raw := NoMethod(*s)
 13382  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13383  }
 13384  
 13385  // UserProfile: Represents a UserProfile resource.
 13386  type UserProfile struct {
 13387  	// AccountId: The account ID to which this profile belongs.
 13388  	AccountId int64 `json:"accountId,omitempty,string"`
 13389  
 13390  	// AccountName: The account name this profile belongs to.
 13391  	AccountName string `json:"accountName,omitempty"`
 13392  
 13393  	// Etag: The eTag of this response for caching purposes.
 13394  	Etag string `json:"etag,omitempty"`
 13395  
 13396  	// Kind: The kind of resource this is, in this case
 13397  	// dfareporting#userProfile.
 13398  	Kind string `json:"kind,omitempty"`
 13399  
 13400  	// ProfileId: The unique ID of the user profile.
 13401  	ProfileId int64 `json:"profileId,omitempty,string"`
 13402  
 13403  	// SubAccountId: The sub account ID this profile belongs to if
 13404  	// applicable.
 13405  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 13406  
 13407  	// SubAccountName: The sub account name this profile belongs to if
 13408  	// applicable.
 13409  	SubAccountName string `json:"subAccountName,omitempty"`
 13410  
 13411  	// UserName: The user name.
 13412  	UserName string `json:"userName,omitempty"`
 13413  
 13414  	// ServerResponse contains the HTTP response code and headers from the
 13415  	// server.
 13416  	googleapi.ServerResponse `json:"-"`
 13417  
 13418  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13419  	// unconditionally include in API requests. By default, fields with
 13420  	// empty values are omitted from API requests. However, any non-pointer,
 13421  	// non-interface field appearing in ForceSendFields will be sent to the
 13422  	// server regardless of whether the field is empty or not. This may be
 13423  	// used to include empty fields in Patch requests.
 13424  	ForceSendFields []string `json:"-"`
 13425  
 13426  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13427  	// API requests with the JSON null value. By default, fields with empty
 13428  	// values are omitted from API requests. However, any field with an
 13429  	// empty value appearing in NullFields will be sent to the server as
 13430  	// null. It is an error if a field in this list has a non-empty value.
 13431  	// This may be used to include null fields in Patch requests.
 13432  	NullFields []string `json:"-"`
 13433  }
 13434  
 13435  func (s *UserProfile) MarshalJSON() ([]byte, error) {
 13436  	type NoMethod UserProfile
 13437  	raw := NoMethod(*s)
 13438  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13439  }
 13440  
 13441  // UserProfileList: Represents the list of user profiles.
 13442  type UserProfileList struct {
 13443  	// Etag: The eTag of this response for caching purposes.
 13444  	Etag string `json:"etag,omitempty"`
 13445  
 13446  	// Items: The user profiles returned in this response.
 13447  	Items []*UserProfile `json:"items,omitempty"`
 13448  
 13449  	// Kind: The kind of list this is, in this case
 13450  	// dfareporting#userProfileList.
 13451  	Kind string `json:"kind,omitempty"`
 13452  
 13453  	// ServerResponse contains the HTTP response code and headers from the
 13454  	// server.
 13455  	googleapi.ServerResponse `json:"-"`
 13456  
 13457  	// ForceSendFields is a list of field names (e.g. "Etag") to
 13458  	// unconditionally include in API requests. By default, fields with
 13459  	// empty values are omitted from API requests. However, any non-pointer,
 13460  	// non-interface field appearing in ForceSendFields will be sent to the
 13461  	// server regardless of whether the field is empty or not. This may be
 13462  	// used to include empty fields in Patch requests.
 13463  	ForceSendFields []string `json:"-"`
 13464  
 13465  	// NullFields is a list of field names (e.g. "Etag") to include in API
 13466  	// requests with the JSON null value. By default, fields with empty
 13467  	// values are omitted from API requests. However, any field with an
 13468  	// empty value appearing in NullFields will be sent to the server as
 13469  	// null. It is an error if a field in this list has a non-empty value.
 13470  	// This may be used to include null fields in Patch requests.
 13471  	NullFields []string `json:"-"`
 13472  }
 13473  
 13474  func (s *UserProfileList) MarshalJSON() ([]byte, error) {
 13475  	type NoMethod UserProfileList
 13476  	raw := NoMethod(*s)
 13477  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13478  }
 13479  
 13480  // UserRole: Contains properties of auser role, which is used to manage
 13481  // user access.
 13482  type UserRole struct {
 13483  	// AccountId: Account ID of this user role. This is a read-only field
 13484  	// that can be left blank.
 13485  	AccountId int64 `json:"accountId,omitempty,string"`
 13486  
 13487  	// DefaultUserRole: Whether this is a default user role. Default user
 13488  	// roles are created by the system for the account/subaccount and cannot
 13489  	// be modified or deleted. Each default user role comes with a basic set
 13490  	// of preassigned permissions.
 13491  	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
 13492  
 13493  	// Id: ID of this user role. This is a read-only, auto-generated field.
 13494  	Id int64 `json:"id,omitempty,string"`
 13495  
 13496  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13497  	// string "dfareporting#userRole".
 13498  	Kind string `json:"kind,omitempty"`
 13499  
 13500  	// Name: Name of this user role. This is a required field. Must be less
 13501  	// than 256 characters long. If this user role is under a subaccount,
 13502  	// the name must be unique among sites of the same subaccount.
 13503  	// Otherwise, this user role is a top-level user role, and the name must
 13504  	// be unique among top-level user roles of the same account.
 13505  	Name string `json:"name,omitempty"`
 13506  
 13507  	// ParentUserRoleId: ID of the user role that this user role is based on
 13508  	// or copied from. This is a required field.
 13509  	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
 13510  
 13511  	// Permissions: List of permissions associated with this user role.
 13512  	Permissions []*UserRolePermission `json:"permissions,omitempty"`
 13513  
 13514  	// SubaccountId: Subaccount ID of this user role. This is a read-only
 13515  	// field that can be left blank.
 13516  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13517  
 13518  	// ServerResponse contains the HTTP response code and headers from the
 13519  	// server.
 13520  	googleapi.ServerResponse `json:"-"`
 13521  
 13522  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13523  	// unconditionally include in API requests. By default, fields with
 13524  	// empty values are omitted from API requests. However, any non-pointer,
 13525  	// non-interface field appearing in ForceSendFields will be sent to the
 13526  	// server regardless of whether the field is empty or not. This may be
 13527  	// used to include empty fields in Patch requests.
 13528  	ForceSendFields []string `json:"-"`
 13529  
 13530  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13531  	// API requests with the JSON null value. By default, fields with empty
 13532  	// values are omitted from API requests. However, any field with an
 13533  	// empty value appearing in NullFields will be sent to the server as
 13534  	// null. It is an error if a field in this list has a non-empty value.
 13535  	// This may be used to include null fields in Patch requests.
 13536  	NullFields []string `json:"-"`
 13537  }
 13538  
 13539  func (s *UserRole) MarshalJSON() ([]byte, error) {
 13540  	type NoMethod UserRole
 13541  	raw := NoMethod(*s)
 13542  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13543  }
 13544  
 13545  // UserRolePermission: Contains properties of a user role permission.
 13546  type UserRolePermission struct {
 13547  	// Availability: Levels of availability for a user role permission.
 13548  	//
 13549  	// Possible values:
 13550  	//   "ACCOUNT_ALWAYS"
 13551  	//   "ACCOUNT_BY_DEFAULT"
 13552  	//   "NOT_AVAILABLE_BY_DEFAULT"
 13553  	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
 13554  	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
 13555  	Availability string `json:"availability,omitempty"`
 13556  
 13557  	// Id: ID of this user role permission.
 13558  	Id int64 `json:"id,omitempty,string"`
 13559  
 13560  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13561  	// string "dfareporting#userRolePermission".
 13562  	Kind string `json:"kind,omitempty"`
 13563  
 13564  	// Name: Name of this user role permission.
 13565  	Name string `json:"name,omitempty"`
 13566  
 13567  	// PermissionGroupId: ID of the permission group that this user role
 13568  	// permission belongs to.
 13569  	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
 13570  
 13571  	// ServerResponse contains the HTTP response code and headers from the
 13572  	// server.
 13573  	googleapi.ServerResponse `json:"-"`
 13574  
 13575  	// ForceSendFields is a list of field names (e.g. "Availability") to
 13576  	// unconditionally include in API requests. By default, fields with
 13577  	// empty values are omitted from API requests. However, any non-pointer,
 13578  	// non-interface field appearing in ForceSendFields will be sent to the
 13579  	// server regardless of whether the field is empty or not. This may be
 13580  	// used to include empty fields in Patch requests.
 13581  	ForceSendFields []string `json:"-"`
 13582  
 13583  	// NullFields is a list of field names (e.g. "Availability") to include
 13584  	// in API requests with the JSON null value. By default, fields with
 13585  	// empty values are omitted from API requests. However, any field with
 13586  	// an empty value appearing in NullFields will be sent to the server as
 13587  	// null. It is an error if a field in this list has a non-empty value.
 13588  	// This may be used to include null fields in Patch requests.
 13589  	NullFields []string `json:"-"`
 13590  }
 13591  
 13592  func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
 13593  	type NoMethod UserRolePermission
 13594  	raw := NoMethod(*s)
 13595  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13596  }
 13597  
 13598  // UserRolePermissionGroup: Represents a grouping of related user role
 13599  // permissions.
 13600  type UserRolePermissionGroup struct {
 13601  	// Id: ID of this user role permission.
 13602  	Id int64 `json:"id,omitempty,string"`
 13603  
 13604  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13605  	// string "dfareporting#userRolePermissionGroup".
 13606  	Kind string `json:"kind,omitempty"`
 13607  
 13608  	// Name: Name of this user role permission group.
 13609  	Name string `json:"name,omitempty"`
 13610  
 13611  	// ServerResponse contains the HTTP response code and headers from the
 13612  	// server.
 13613  	googleapi.ServerResponse `json:"-"`
 13614  
 13615  	// ForceSendFields is a list of field names (e.g. "Id") to
 13616  	// unconditionally include in API requests. By default, fields with
 13617  	// empty values are omitted from API requests. However, any non-pointer,
 13618  	// non-interface field appearing in ForceSendFields will be sent to the
 13619  	// server regardless of whether the field is empty or not. This may be
 13620  	// used to include empty fields in Patch requests.
 13621  	ForceSendFields []string `json:"-"`
 13622  
 13623  	// NullFields is a list of field names (e.g. "Id") to include in API
 13624  	// requests with the JSON null value. By default, fields with empty
 13625  	// values are omitted from API requests. However, any field with an
 13626  	// empty value appearing in NullFields will be sent to the server as
 13627  	// null. It is an error if a field in this list has a non-empty value.
 13628  	// This may be used to include null fields in Patch requests.
 13629  	NullFields []string `json:"-"`
 13630  }
 13631  
 13632  func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
 13633  	type NoMethod UserRolePermissionGroup
 13634  	raw := NoMethod(*s)
 13635  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13636  }
 13637  
 13638  // UserRolePermissionGroupsListResponse: User Role Permission Group List
 13639  // Response
 13640  type UserRolePermissionGroupsListResponse struct {
 13641  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13642  	// string "dfareporting#userRolePermissionGroupsListResponse".
 13643  	Kind string `json:"kind,omitempty"`
 13644  
 13645  	// UserRolePermissionGroups: User role permission group collection.
 13646  	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
 13647  
 13648  	// ServerResponse contains the HTTP response code and headers from the
 13649  	// server.
 13650  	googleapi.ServerResponse `json:"-"`
 13651  
 13652  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13653  	// unconditionally include in API requests. By default, fields with
 13654  	// empty values are omitted from API requests. However, any non-pointer,
 13655  	// non-interface field appearing in ForceSendFields will be sent to the
 13656  	// server regardless of whether the field is empty or not. This may be
 13657  	// used to include empty fields in Patch requests.
 13658  	ForceSendFields []string `json:"-"`
 13659  
 13660  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13661  	// requests with the JSON null value. By default, fields with empty
 13662  	// values are omitted from API requests. However, any field with an
 13663  	// empty value appearing in NullFields will be sent to the server as
 13664  	// null. It is an error if a field in this list has a non-empty value.
 13665  	// This may be used to include null fields in Patch requests.
 13666  	NullFields []string `json:"-"`
 13667  }
 13668  
 13669  func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
 13670  	type NoMethod UserRolePermissionGroupsListResponse
 13671  	raw := NoMethod(*s)
 13672  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13673  }
 13674  
 13675  // UserRolePermissionsListResponse: User Role Permission List Response
 13676  type UserRolePermissionsListResponse struct {
 13677  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13678  	// string "dfareporting#userRolePermissionsListResponse".
 13679  	Kind string `json:"kind,omitempty"`
 13680  
 13681  	// UserRolePermissions: User role permission collection.
 13682  	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
 13683  
 13684  	// ServerResponse contains the HTTP response code and headers from the
 13685  	// server.
 13686  	googleapi.ServerResponse `json:"-"`
 13687  
 13688  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13689  	// unconditionally include in API requests. By default, fields with
 13690  	// empty values are omitted from API requests. However, any non-pointer,
 13691  	// non-interface field appearing in ForceSendFields will be sent to the
 13692  	// server regardless of whether the field is empty or not. This may be
 13693  	// used to include empty fields in Patch requests.
 13694  	ForceSendFields []string `json:"-"`
 13695  
 13696  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13697  	// requests with the JSON null value. By default, fields with empty
 13698  	// values are omitted from API requests. However, any field with an
 13699  	// empty value appearing in NullFields will be sent to the server as
 13700  	// null. It is an error if a field in this list has a non-empty value.
 13701  	// This may be used to include null fields in Patch requests.
 13702  	NullFields []string `json:"-"`
 13703  }
 13704  
 13705  func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
 13706  	type NoMethod UserRolePermissionsListResponse
 13707  	raw := NoMethod(*s)
 13708  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13709  }
 13710  
 13711  // UserRolesListResponse: User Role List Response
 13712  type UserRolesListResponse struct {
 13713  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13714  	// string "dfareporting#userRolesListResponse".
 13715  	Kind string `json:"kind,omitempty"`
 13716  
 13717  	// NextPageToken: Pagination token to be used for the next list
 13718  	// operation.
 13719  	NextPageToken string `json:"nextPageToken,omitempty"`
 13720  
 13721  	// UserRoles: User role collection.
 13722  	UserRoles []*UserRole `json:"userRoles,omitempty"`
 13723  
 13724  	// ServerResponse contains the HTTP response code and headers from the
 13725  	// server.
 13726  	googleapi.ServerResponse `json:"-"`
 13727  
 13728  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13729  	// unconditionally include in API requests. By default, fields with
 13730  	// empty values are omitted from API requests. However, any non-pointer,
 13731  	// non-interface field appearing in ForceSendFields will be sent to the
 13732  	// server regardless of whether the field is empty or not. This may be
 13733  	// used to include empty fields in Patch requests.
 13734  	ForceSendFields []string `json:"-"`
 13735  
 13736  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13737  	// requests with the JSON null value. By default, fields with empty
 13738  	// values are omitted from API requests. However, any field with an
 13739  	// empty value appearing in NullFields will be sent to the server as
 13740  	// null. It is an error if a field in this list has a non-empty value.
 13741  	// This may be used to include null fields in Patch requests.
 13742  	NullFields []string `json:"-"`
 13743  }
 13744  
 13745  func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
 13746  	type NoMethod UserRolesListResponse
 13747  	raw := NoMethod(*s)
 13748  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13749  }
 13750  
 13751  // VideoFormat: Contains information about supported video formats.
 13752  type VideoFormat struct {
 13753  	// FileType: File type of the video format.
 13754  	//
 13755  	// Possible values:
 13756  	//   "FLV"
 13757  	//   "M3U8"
 13758  	//   "MP4"
 13759  	//   "THREEGPP"
 13760  	//   "WEBM"
 13761  	FileType string `json:"fileType,omitempty"`
 13762  
 13763  	// Id: ID of the video format.
 13764  	Id int64 `json:"id,omitempty"`
 13765  
 13766  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13767  	// string "dfareporting#videoFormat".
 13768  	Kind string `json:"kind,omitempty"`
 13769  
 13770  	// Resolution: The resolution of this video format.
 13771  	Resolution *Size `json:"resolution,omitempty"`
 13772  
 13773  	// TargetBitRate: The target bit rate of this video format.
 13774  	TargetBitRate int64 `json:"targetBitRate,omitempty"`
 13775  
 13776  	// ServerResponse contains the HTTP response code and headers from the
 13777  	// server.
 13778  	googleapi.ServerResponse `json:"-"`
 13779  
 13780  	// ForceSendFields is a list of field names (e.g. "FileType") to
 13781  	// unconditionally include in API requests. By default, fields with
 13782  	// empty values are omitted from API requests. However, any non-pointer,
 13783  	// non-interface field appearing in ForceSendFields will be sent to the
 13784  	// server regardless of whether the field is empty or not. This may be
 13785  	// used to include empty fields in Patch requests.
 13786  	ForceSendFields []string `json:"-"`
 13787  
 13788  	// NullFields is a list of field names (e.g. "FileType") to include in
 13789  	// API requests with the JSON null value. By default, fields with empty
 13790  	// values are omitted from API requests. However, any field with an
 13791  	// empty value appearing in NullFields will be sent to the server as
 13792  	// null. It is an error if a field in this list has a non-empty value.
 13793  	// This may be used to include null fields in Patch requests.
 13794  	NullFields []string `json:"-"`
 13795  }
 13796  
 13797  func (s *VideoFormat) MarshalJSON() ([]byte, error) {
 13798  	type NoMethod VideoFormat
 13799  	raw := NoMethod(*s)
 13800  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13801  }
 13802  
 13803  // VideoFormatsListResponse: Video Format List Response
 13804  type VideoFormatsListResponse struct {
 13805  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13806  	// string "dfareporting#videoFormatsListResponse".
 13807  	Kind string `json:"kind,omitempty"`
 13808  
 13809  	// VideoFormats: Video format collection.
 13810  	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
 13811  
 13812  	// ServerResponse contains the HTTP response code and headers from the
 13813  	// server.
 13814  	googleapi.ServerResponse `json:"-"`
 13815  
 13816  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13817  	// unconditionally include in API requests. By default, fields with
 13818  	// empty values are omitted from API requests. However, any non-pointer,
 13819  	// non-interface field appearing in ForceSendFields will be sent to the
 13820  	// server regardless of whether the field is empty or not. This may be
 13821  	// used to include empty fields in Patch requests.
 13822  	ForceSendFields []string `json:"-"`
 13823  
 13824  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13825  	// requests with the JSON null value. By default, fields with empty
 13826  	// values are omitted from API requests. However, any field with an
 13827  	// empty value appearing in NullFields will be sent to the server as
 13828  	// null. It is an error if a field in this list has a non-empty value.
 13829  	// This may be used to include null fields in Patch requests.
 13830  	NullFields []string `json:"-"`
 13831  }
 13832  
 13833  func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
 13834  	type NoMethod VideoFormatsListResponse
 13835  	raw := NoMethod(*s)
 13836  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13837  }
 13838  
 13839  // VideoOffset: Video Offset
 13840  type VideoOffset struct {
 13841  	// OffsetPercentage: Duration, as a percentage of video duration. Do not
 13842  	// set when offsetSeconds is set. Acceptable values are 0 to 100,
 13843  	// inclusive.
 13844  	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
 13845  
 13846  	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
 13847  	// is set. Acceptable values are 0 to 86399, inclusive.
 13848  	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
 13849  
 13850  	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
 13851  	// unconditionally include in API requests. By default, fields with
 13852  	// empty values are omitted from API requests. However, any non-pointer,
 13853  	// non-interface field appearing in ForceSendFields will be sent to the
 13854  	// server regardless of whether the field is empty or not. This may be
 13855  	// used to include empty fields in Patch requests.
 13856  	ForceSendFields []string `json:"-"`
 13857  
 13858  	// NullFields is a list of field names (e.g. "OffsetPercentage") to
 13859  	// include in API requests with the JSON null value. By default, fields
 13860  	// with empty values are omitted from API requests. However, any field
 13861  	// with an empty value appearing in NullFields will be sent to the
 13862  	// server as null. It is an error if a field in this list has a
 13863  	// non-empty value. This may be used to include null fields in Patch
 13864  	// requests.
 13865  	NullFields []string `json:"-"`
 13866  }
 13867  
 13868  func (s *VideoOffset) MarshalJSON() ([]byte, error) {
 13869  	type NoMethod VideoOffset
 13870  	raw := NoMethod(*s)
 13871  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13872  }
 13873  
 13874  // VideoSettings: Video Settings
 13875  type VideoSettings struct {
 13876  	// CompanionSettings: Settings for the companion creatives of video
 13877  	// creatives served to this placement.
 13878  	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
 13879  
 13880  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13881  	// string "dfareporting#videoSettings".
 13882  	Kind string `json:"kind,omitempty"`
 13883  
 13884  	// Orientation: Orientation of a video placement. If this value is set,
 13885  	// placement will return assets matching the specified orientation.
 13886  	//
 13887  	// Possible values:
 13888  	//   "ANY"
 13889  	//   "LANDSCAPE"
 13890  	//   "PORTRAIT"
 13891  	Orientation string `json:"orientation,omitempty"`
 13892  
 13893  	// SkippableSettings: Settings for the skippability of video creatives
 13894  	// served to this placement. If this object is provided, the
 13895  	// creative-level skippable settings will be overridden.
 13896  	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
 13897  
 13898  	// TranscodeSettings: Settings for the transcodes of video creatives
 13899  	// served to this placement. If this object is provided, the
 13900  	// creative-level transcode settings will be overridden.
 13901  	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
 13902  
 13903  	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
 13904  	// to unconditionally include in API requests. By default, fields with
 13905  	// empty values are omitted from API requests. However, any non-pointer,
 13906  	// non-interface field appearing in ForceSendFields will be sent to the
 13907  	// server regardless of whether the field is empty or not. This may be
 13908  	// used to include empty fields in Patch requests.
 13909  	ForceSendFields []string `json:"-"`
 13910  
 13911  	// NullFields is a list of field names (e.g. "CompanionSettings") to
 13912  	// include in API requests with the JSON null value. By default, fields
 13913  	// with empty values are omitted from API requests. However, any field
 13914  	// with an empty value appearing in NullFields will be sent to the
 13915  	// server as null. It is an error if a field in this list has a
 13916  	// non-empty value. This may be used to include null fields in Patch
 13917  	// requests.
 13918  	NullFields []string `json:"-"`
 13919  }
 13920  
 13921  func (s *VideoSettings) MarshalJSON() ([]byte, error) {
 13922  	type NoMethod VideoSettings
 13923  	raw := NoMethod(*s)
 13924  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13925  }
 13926  
 13927  // method id "dfareporting.accountActiveAdSummaries.get":
 13928  
 13929  type AccountActiveAdSummariesGetCall struct {
 13930  	s                *Service
 13931  	profileId        int64
 13932  	summaryAccountId int64
 13933  	urlParams_       gensupport.URLParams
 13934  	ifNoneMatch_     string
 13935  	ctx_             context.Context
 13936  	header_          http.Header
 13937  }
 13938  
 13939  // Get: Gets the account's active ad summary by account ID.
 13940  func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
 13941  	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 13942  	c.profileId = profileId
 13943  	c.summaryAccountId = summaryAccountId
 13944  	return c
 13945  }
 13946  
 13947  // Fields allows partial responses to be retrieved. See
 13948  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 13949  // for more information.
 13950  func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
 13951  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 13952  	return c
 13953  }
 13954  
 13955  // IfNoneMatch sets the optional parameter which makes the operation
 13956  // fail if the object's ETag matches the given value. This is useful for
 13957  // getting updates only after the object has changed since the last
 13958  // request. Use googleapi.IsNotModified to check whether the response
 13959  // error from Do is the result of In-None-Match.
 13960  func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
 13961  	c.ifNoneMatch_ = entityTag
 13962  	return c
 13963  }
 13964  
 13965  // Context sets the context to be used in this call's Do method. Any
 13966  // pending HTTP request will be aborted if the provided context is
 13967  // canceled.
 13968  func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
 13969  	c.ctx_ = ctx
 13970  	return c
 13971  }
 13972  
 13973  // Header returns an http.Header that can be modified by the caller to
 13974  // add HTTP headers to the request.
 13975  func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
 13976  	if c.header_ == nil {
 13977  		c.header_ = make(http.Header)
 13978  	}
 13979  	return c.header_
 13980  }
 13981  
 13982  func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 13983  	reqHeaders := make(http.Header)
 13984  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 13985  	for k, v := range c.header_ {
 13986  		reqHeaders[k] = v
 13987  	}
 13988  	reqHeaders.Set("User-Agent", c.s.userAgent())
 13989  	if c.ifNoneMatch_ != "" {
 13990  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 13991  	}
 13992  	var body io.Reader = nil
 13993  	c.urlParams_.Set("alt", alt)
 13994  	c.urlParams_.Set("prettyPrint", "false")
 13995  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
 13996  	urls += "?" + c.urlParams_.Encode()
 13997  	req, err := http.NewRequest("GET", urls, body)
 13998  	if err != nil {
 13999  		return nil, err
 14000  	}
 14001  	req.Header = reqHeaders
 14002  	googleapi.Expand(req.URL, map[string]string{
 14003  		"profileId":        strconv.FormatInt(c.profileId, 10),
 14004  		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
 14005  	})
 14006  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14007  }
 14008  
 14009  // Do executes the "dfareporting.accountActiveAdSummaries.get" call.
 14010  // Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
 14011  // non-2xx status code is an error. Response headers are in either
 14012  // *AccountActiveAdSummary.ServerResponse.Header or (if a response was
 14013  // returned at all) in error.(*googleapi.Error).Header. Use
 14014  // googleapi.IsNotModified to check whether the returned error was
 14015  // because http.StatusNotModified was returned.
 14016  func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
 14017  	gensupport.SetOptions(c.urlParams_, opts...)
 14018  	res, err := c.doRequest("json")
 14019  	if res != nil && res.StatusCode == http.StatusNotModified {
 14020  		if res.Body != nil {
 14021  			res.Body.Close()
 14022  		}
 14023  		return nil, &googleapi.Error{
 14024  			Code:   res.StatusCode,
 14025  			Header: res.Header,
 14026  		}
 14027  	}
 14028  	if err != nil {
 14029  		return nil, err
 14030  	}
 14031  	defer googleapi.CloseBody(res)
 14032  	if err := googleapi.CheckResponse(res); err != nil {
 14033  		return nil, err
 14034  	}
 14035  	ret := &AccountActiveAdSummary{
 14036  		ServerResponse: googleapi.ServerResponse{
 14037  			Header:         res.Header,
 14038  			HTTPStatusCode: res.StatusCode,
 14039  		},
 14040  	}
 14041  	target := &ret
 14042  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14043  		return nil, err
 14044  	}
 14045  	return ret, nil
 14046  	// {
 14047  	//   "description": "Gets the account's active ad summary by account ID.",
 14048  	//   "httpMethod": "GET",
 14049  	//   "id": "dfareporting.accountActiveAdSummaries.get",
 14050  	//   "parameterOrder": [
 14051  	//     "profileId",
 14052  	//     "summaryAccountId"
 14053  	//   ],
 14054  	//   "parameters": {
 14055  	//     "profileId": {
 14056  	//       "description": "User profile ID associated with this request.",
 14057  	//       "format": "int64",
 14058  	//       "location": "path",
 14059  	//       "required": true,
 14060  	//       "type": "string"
 14061  	//     },
 14062  	//     "summaryAccountId": {
 14063  	//       "description": "Account ID.",
 14064  	//       "format": "int64",
 14065  	//       "location": "path",
 14066  	//       "required": true,
 14067  	//       "type": "string"
 14068  	//     }
 14069  	//   },
 14070  	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
 14071  	//   "response": {
 14072  	//     "$ref": "AccountActiveAdSummary"
 14073  	//   },
 14074  	//   "scopes": [
 14075  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14076  	//   ]
 14077  	// }
 14078  
 14079  }
 14080  
 14081  // method id "dfareporting.accountPermissionGroups.get":
 14082  
 14083  type AccountPermissionGroupsGetCall struct {
 14084  	s            *Service
 14085  	profileId    int64
 14086  	id           int64
 14087  	urlParams_   gensupport.URLParams
 14088  	ifNoneMatch_ string
 14089  	ctx_         context.Context
 14090  	header_      http.Header
 14091  }
 14092  
 14093  // Get: Gets one account permission group by ID.
 14094  func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
 14095  	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14096  	c.profileId = profileId
 14097  	c.id = id
 14098  	return c
 14099  }
 14100  
 14101  // Fields allows partial responses to be retrieved. See
 14102  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14103  // for more information.
 14104  func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
 14105  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14106  	return c
 14107  }
 14108  
 14109  // IfNoneMatch sets the optional parameter which makes the operation
 14110  // fail if the object's ETag matches the given value. This is useful for
 14111  // getting updates only after the object has changed since the last
 14112  // request. Use googleapi.IsNotModified to check whether the response
 14113  // error from Do is the result of In-None-Match.
 14114  func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
 14115  	c.ifNoneMatch_ = entityTag
 14116  	return c
 14117  }
 14118  
 14119  // Context sets the context to be used in this call's Do method. Any
 14120  // pending HTTP request will be aborted if the provided context is
 14121  // canceled.
 14122  func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
 14123  	c.ctx_ = ctx
 14124  	return c
 14125  }
 14126  
 14127  // Header returns an http.Header that can be modified by the caller to
 14128  // add HTTP headers to the request.
 14129  func (c *AccountPermissionGroupsGetCall) Header() http.Header {
 14130  	if c.header_ == nil {
 14131  		c.header_ = make(http.Header)
 14132  	}
 14133  	return c.header_
 14134  }
 14135  
 14136  func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 14137  	reqHeaders := make(http.Header)
 14138  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14139  	for k, v := range c.header_ {
 14140  		reqHeaders[k] = v
 14141  	}
 14142  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14143  	if c.ifNoneMatch_ != "" {
 14144  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14145  	}
 14146  	var body io.Reader = nil
 14147  	c.urlParams_.Set("alt", alt)
 14148  	c.urlParams_.Set("prettyPrint", "false")
 14149  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
 14150  	urls += "?" + c.urlParams_.Encode()
 14151  	req, err := http.NewRequest("GET", urls, body)
 14152  	if err != nil {
 14153  		return nil, err
 14154  	}
 14155  	req.Header = reqHeaders
 14156  	googleapi.Expand(req.URL, map[string]string{
 14157  		"profileId": strconv.FormatInt(c.profileId, 10),
 14158  		"id":        strconv.FormatInt(c.id, 10),
 14159  	})
 14160  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14161  }
 14162  
 14163  // Do executes the "dfareporting.accountPermissionGroups.get" call.
 14164  // Exactly one of *AccountPermissionGroup or error will be non-nil. Any
 14165  // non-2xx status code is an error. Response headers are in either
 14166  // *AccountPermissionGroup.ServerResponse.Header or (if a response was
 14167  // returned at all) in error.(*googleapi.Error).Header. Use
 14168  // googleapi.IsNotModified to check whether the returned error was
 14169  // because http.StatusNotModified was returned.
 14170  func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
 14171  	gensupport.SetOptions(c.urlParams_, opts...)
 14172  	res, err := c.doRequest("json")
 14173  	if res != nil && res.StatusCode == http.StatusNotModified {
 14174  		if res.Body != nil {
 14175  			res.Body.Close()
 14176  		}
 14177  		return nil, &googleapi.Error{
 14178  			Code:   res.StatusCode,
 14179  			Header: res.Header,
 14180  		}
 14181  	}
 14182  	if err != nil {
 14183  		return nil, err
 14184  	}
 14185  	defer googleapi.CloseBody(res)
 14186  	if err := googleapi.CheckResponse(res); err != nil {
 14187  		return nil, err
 14188  	}
 14189  	ret := &AccountPermissionGroup{
 14190  		ServerResponse: googleapi.ServerResponse{
 14191  			Header:         res.Header,
 14192  			HTTPStatusCode: res.StatusCode,
 14193  		},
 14194  	}
 14195  	target := &ret
 14196  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14197  		return nil, err
 14198  	}
 14199  	return ret, nil
 14200  	// {
 14201  	//   "description": "Gets one account permission group by ID.",
 14202  	//   "httpMethod": "GET",
 14203  	//   "id": "dfareporting.accountPermissionGroups.get",
 14204  	//   "parameterOrder": [
 14205  	//     "profileId",
 14206  	//     "id"
 14207  	//   ],
 14208  	//   "parameters": {
 14209  	//     "id": {
 14210  	//       "description": "Account permission group ID.",
 14211  	//       "format": "int64",
 14212  	//       "location": "path",
 14213  	//       "required": true,
 14214  	//       "type": "string"
 14215  	//     },
 14216  	//     "profileId": {
 14217  	//       "description": "User profile ID associated with this request.",
 14218  	//       "format": "int64",
 14219  	//       "location": "path",
 14220  	//       "required": true,
 14221  	//       "type": "string"
 14222  	//     }
 14223  	//   },
 14224  	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
 14225  	//   "response": {
 14226  	//     "$ref": "AccountPermissionGroup"
 14227  	//   },
 14228  	//   "scopes": [
 14229  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14230  	//   ]
 14231  	// }
 14232  
 14233  }
 14234  
 14235  // method id "dfareporting.accountPermissionGroups.list":
 14236  
 14237  type AccountPermissionGroupsListCall struct {
 14238  	s            *Service
 14239  	profileId    int64
 14240  	urlParams_   gensupport.URLParams
 14241  	ifNoneMatch_ string
 14242  	ctx_         context.Context
 14243  	header_      http.Header
 14244  }
 14245  
 14246  // List: Retrieves the list of account permission groups.
 14247  func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
 14248  	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14249  	c.profileId = profileId
 14250  	return c
 14251  }
 14252  
 14253  // Fields allows partial responses to be retrieved. See
 14254  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14255  // for more information.
 14256  func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
 14257  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14258  	return c
 14259  }
 14260  
 14261  // IfNoneMatch sets the optional parameter which makes the operation
 14262  // fail if the object's ETag matches the given value. This is useful for
 14263  // getting updates only after the object has changed since the last
 14264  // request. Use googleapi.IsNotModified to check whether the response
 14265  // error from Do is the result of In-None-Match.
 14266  func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
 14267  	c.ifNoneMatch_ = entityTag
 14268  	return c
 14269  }
 14270  
 14271  // Context sets the context to be used in this call's Do method. Any
 14272  // pending HTTP request will be aborted if the provided context is
 14273  // canceled.
 14274  func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
 14275  	c.ctx_ = ctx
 14276  	return c
 14277  }
 14278  
 14279  // Header returns an http.Header that can be modified by the caller to
 14280  // add HTTP headers to the request.
 14281  func (c *AccountPermissionGroupsListCall) Header() http.Header {
 14282  	if c.header_ == nil {
 14283  		c.header_ = make(http.Header)
 14284  	}
 14285  	return c.header_
 14286  }
 14287  
 14288  func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 14289  	reqHeaders := make(http.Header)
 14290  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14291  	for k, v := range c.header_ {
 14292  		reqHeaders[k] = v
 14293  	}
 14294  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14295  	if c.ifNoneMatch_ != "" {
 14296  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14297  	}
 14298  	var body io.Reader = nil
 14299  	c.urlParams_.Set("alt", alt)
 14300  	c.urlParams_.Set("prettyPrint", "false")
 14301  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
 14302  	urls += "?" + c.urlParams_.Encode()
 14303  	req, err := http.NewRequest("GET", urls, body)
 14304  	if err != nil {
 14305  		return nil, err
 14306  	}
 14307  	req.Header = reqHeaders
 14308  	googleapi.Expand(req.URL, map[string]string{
 14309  		"profileId": strconv.FormatInt(c.profileId, 10),
 14310  	})
 14311  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14312  }
 14313  
 14314  // Do executes the "dfareporting.accountPermissionGroups.list" call.
 14315  // Exactly one of *AccountPermissionGroupsListResponse or error will be
 14316  // non-nil. Any non-2xx status code is an error. Response headers are in
 14317  // either *AccountPermissionGroupsListResponse.ServerResponse.Header or
 14318  // (if a response was returned at all) in
 14319  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14320  // whether the returned error was because http.StatusNotModified was
 14321  // returned.
 14322  func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
 14323  	gensupport.SetOptions(c.urlParams_, opts...)
 14324  	res, err := c.doRequest("json")
 14325  	if res != nil && res.StatusCode == http.StatusNotModified {
 14326  		if res.Body != nil {
 14327  			res.Body.Close()
 14328  		}
 14329  		return nil, &googleapi.Error{
 14330  			Code:   res.StatusCode,
 14331  			Header: res.Header,
 14332  		}
 14333  	}
 14334  	if err != nil {
 14335  		return nil, err
 14336  	}
 14337  	defer googleapi.CloseBody(res)
 14338  	if err := googleapi.CheckResponse(res); err != nil {
 14339  		return nil, err
 14340  	}
 14341  	ret := &AccountPermissionGroupsListResponse{
 14342  		ServerResponse: googleapi.ServerResponse{
 14343  			Header:         res.Header,
 14344  			HTTPStatusCode: res.StatusCode,
 14345  		},
 14346  	}
 14347  	target := &ret
 14348  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14349  		return nil, err
 14350  	}
 14351  	return ret, nil
 14352  	// {
 14353  	//   "description": "Retrieves the list of account permission groups.",
 14354  	//   "httpMethod": "GET",
 14355  	//   "id": "dfareporting.accountPermissionGroups.list",
 14356  	//   "parameterOrder": [
 14357  	//     "profileId"
 14358  	//   ],
 14359  	//   "parameters": {
 14360  	//     "profileId": {
 14361  	//       "description": "User profile ID associated with this request.",
 14362  	//       "format": "int64",
 14363  	//       "location": "path",
 14364  	//       "required": true,
 14365  	//       "type": "string"
 14366  	//     }
 14367  	//   },
 14368  	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
 14369  	//   "response": {
 14370  	//     "$ref": "AccountPermissionGroupsListResponse"
 14371  	//   },
 14372  	//   "scopes": [
 14373  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14374  	//   ]
 14375  	// }
 14376  
 14377  }
 14378  
 14379  // method id "dfareporting.accountPermissions.get":
 14380  
 14381  type AccountPermissionsGetCall struct {
 14382  	s            *Service
 14383  	profileId    int64
 14384  	id           int64
 14385  	urlParams_   gensupport.URLParams
 14386  	ifNoneMatch_ string
 14387  	ctx_         context.Context
 14388  	header_      http.Header
 14389  }
 14390  
 14391  // Get: Gets one account permission by ID.
 14392  func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
 14393  	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14394  	c.profileId = profileId
 14395  	c.id = id
 14396  	return c
 14397  }
 14398  
 14399  // Fields allows partial responses to be retrieved. See
 14400  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14401  // for more information.
 14402  func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
 14403  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14404  	return c
 14405  }
 14406  
 14407  // IfNoneMatch sets the optional parameter which makes the operation
 14408  // fail if the object's ETag matches the given value. This is useful for
 14409  // getting updates only after the object has changed since the last
 14410  // request. Use googleapi.IsNotModified to check whether the response
 14411  // error from Do is the result of In-None-Match.
 14412  func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
 14413  	c.ifNoneMatch_ = entityTag
 14414  	return c
 14415  }
 14416  
 14417  // Context sets the context to be used in this call's Do method. Any
 14418  // pending HTTP request will be aborted if the provided context is
 14419  // canceled.
 14420  func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
 14421  	c.ctx_ = ctx
 14422  	return c
 14423  }
 14424  
 14425  // Header returns an http.Header that can be modified by the caller to
 14426  // add HTTP headers to the request.
 14427  func (c *AccountPermissionsGetCall) Header() http.Header {
 14428  	if c.header_ == nil {
 14429  		c.header_ = make(http.Header)
 14430  	}
 14431  	return c.header_
 14432  }
 14433  
 14434  func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 14435  	reqHeaders := make(http.Header)
 14436  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14437  	for k, v := range c.header_ {
 14438  		reqHeaders[k] = v
 14439  	}
 14440  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14441  	if c.ifNoneMatch_ != "" {
 14442  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14443  	}
 14444  	var body io.Reader = nil
 14445  	c.urlParams_.Set("alt", alt)
 14446  	c.urlParams_.Set("prettyPrint", "false")
 14447  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
 14448  	urls += "?" + c.urlParams_.Encode()
 14449  	req, err := http.NewRequest("GET", urls, body)
 14450  	if err != nil {
 14451  		return nil, err
 14452  	}
 14453  	req.Header = reqHeaders
 14454  	googleapi.Expand(req.URL, map[string]string{
 14455  		"profileId": strconv.FormatInt(c.profileId, 10),
 14456  		"id":        strconv.FormatInt(c.id, 10),
 14457  	})
 14458  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14459  }
 14460  
 14461  // Do executes the "dfareporting.accountPermissions.get" call.
 14462  // Exactly one of *AccountPermission or error will be non-nil. Any
 14463  // non-2xx status code is an error. Response headers are in either
 14464  // *AccountPermission.ServerResponse.Header or (if a response was
 14465  // returned at all) in error.(*googleapi.Error).Header. Use
 14466  // googleapi.IsNotModified to check whether the returned error was
 14467  // because http.StatusNotModified was returned.
 14468  func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
 14469  	gensupport.SetOptions(c.urlParams_, opts...)
 14470  	res, err := c.doRequest("json")
 14471  	if res != nil && res.StatusCode == http.StatusNotModified {
 14472  		if res.Body != nil {
 14473  			res.Body.Close()
 14474  		}
 14475  		return nil, &googleapi.Error{
 14476  			Code:   res.StatusCode,
 14477  			Header: res.Header,
 14478  		}
 14479  	}
 14480  	if err != nil {
 14481  		return nil, err
 14482  	}
 14483  	defer googleapi.CloseBody(res)
 14484  	if err := googleapi.CheckResponse(res); err != nil {
 14485  		return nil, err
 14486  	}
 14487  	ret := &AccountPermission{
 14488  		ServerResponse: googleapi.ServerResponse{
 14489  			Header:         res.Header,
 14490  			HTTPStatusCode: res.StatusCode,
 14491  		},
 14492  	}
 14493  	target := &ret
 14494  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14495  		return nil, err
 14496  	}
 14497  	return ret, nil
 14498  	// {
 14499  	//   "description": "Gets one account permission by ID.",
 14500  	//   "httpMethod": "GET",
 14501  	//   "id": "dfareporting.accountPermissions.get",
 14502  	//   "parameterOrder": [
 14503  	//     "profileId",
 14504  	//     "id"
 14505  	//   ],
 14506  	//   "parameters": {
 14507  	//     "id": {
 14508  	//       "description": "Account permission ID.",
 14509  	//       "format": "int64",
 14510  	//       "location": "path",
 14511  	//       "required": true,
 14512  	//       "type": "string"
 14513  	//     },
 14514  	//     "profileId": {
 14515  	//       "description": "User profile ID associated with this request.",
 14516  	//       "format": "int64",
 14517  	//       "location": "path",
 14518  	//       "required": true,
 14519  	//       "type": "string"
 14520  	//     }
 14521  	//   },
 14522  	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
 14523  	//   "response": {
 14524  	//     "$ref": "AccountPermission"
 14525  	//   },
 14526  	//   "scopes": [
 14527  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14528  	//   ]
 14529  	// }
 14530  
 14531  }
 14532  
 14533  // method id "dfareporting.accountPermissions.list":
 14534  
 14535  type AccountPermissionsListCall struct {
 14536  	s            *Service
 14537  	profileId    int64
 14538  	urlParams_   gensupport.URLParams
 14539  	ifNoneMatch_ string
 14540  	ctx_         context.Context
 14541  	header_      http.Header
 14542  }
 14543  
 14544  // List: Retrieves the list of account permissions.
 14545  func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
 14546  	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14547  	c.profileId = profileId
 14548  	return c
 14549  }
 14550  
 14551  // Fields allows partial responses to be retrieved. See
 14552  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14553  // for more information.
 14554  func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
 14555  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14556  	return c
 14557  }
 14558  
 14559  // IfNoneMatch sets the optional parameter which makes the operation
 14560  // fail if the object's ETag matches the given value. This is useful for
 14561  // getting updates only after the object has changed since the last
 14562  // request. Use googleapi.IsNotModified to check whether the response
 14563  // error from Do is the result of In-None-Match.
 14564  func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
 14565  	c.ifNoneMatch_ = entityTag
 14566  	return c
 14567  }
 14568  
 14569  // Context sets the context to be used in this call's Do method. Any
 14570  // pending HTTP request will be aborted if the provided context is
 14571  // canceled.
 14572  func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
 14573  	c.ctx_ = ctx
 14574  	return c
 14575  }
 14576  
 14577  // Header returns an http.Header that can be modified by the caller to
 14578  // add HTTP headers to the request.
 14579  func (c *AccountPermissionsListCall) Header() http.Header {
 14580  	if c.header_ == nil {
 14581  		c.header_ = make(http.Header)
 14582  	}
 14583  	return c.header_
 14584  }
 14585  
 14586  func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 14587  	reqHeaders := make(http.Header)
 14588  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14589  	for k, v := range c.header_ {
 14590  		reqHeaders[k] = v
 14591  	}
 14592  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14593  	if c.ifNoneMatch_ != "" {
 14594  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14595  	}
 14596  	var body io.Reader = nil
 14597  	c.urlParams_.Set("alt", alt)
 14598  	c.urlParams_.Set("prettyPrint", "false")
 14599  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
 14600  	urls += "?" + c.urlParams_.Encode()
 14601  	req, err := http.NewRequest("GET", urls, body)
 14602  	if err != nil {
 14603  		return nil, err
 14604  	}
 14605  	req.Header = reqHeaders
 14606  	googleapi.Expand(req.URL, map[string]string{
 14607  		"profileId": strconv.FormatInt(c.profileId, 10),
 14608  	})
 14609  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14610  }
 14611  
 14612  // Do executes the "dfareporting.accountPermissions.list" call.
 14613  // Exactly one of *AccountPermissionsListResponse or error will be
 14614  // non-nil. Any non-2xx status code is an error. Response headers are in
 14615  // either *AccountPermissionsListResponse.ServerResponse.Header or (if a
 14616  // response was returned at all) in error.(*googleapi.Error).Header. Use
 14617  // googleapi.IsNotModified to check whether the returned error was
 14618  // because http.StatusNotModified was returned.
 14619  func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
 14620  	gensupport.SetOptions(c.urlParams_, opts...)
 14621  	res, err := c.doRequest("json")
 14622  	if res != nil && res.StatusCode == http.StatusNotModified {
 14623  		if res.Body != nil {
 14624  			res.Body.Close()
 14625  		}
 14626  		return nil, &googleapi.Error{
 14627  			Code:   res.StatusCode,
 14628  			Header: res.Header,
 14629  		}
 14630  	}
 14631  	if err != nil {
 14632  		return nil, err
 14633  	}
 14634  	defer googleapi.CloseBody(res)
 14635  	if err := googleapi.CheckResponse(res); err != nil {
 14636  		return nil, err
 14637  	}
 14638  	ret := &AccountPermissionsListResponse{
 14639  		ServerResponse: googleapi.ServerResponse{
 14640  			Header:         res.Header,
 14641  			HTTPStatusCode: res.StatusCode,
 14642  		},
 14643  	}
 14644  	target := &ret
 14645  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14646  		return nil, err
 14647  	}
 14648  	return ret, nil
 14649  	// {
 14650  	//   "description": "Retrieves the list of account permissions.",
 14651  	//   "httpMethod": "GET",
 14652  	//   "id": "dfareporting.accountPermissions.list",
 14653  	//   "parameterOrder": [
 14654  	//     "profileId"
 14655  	//   ],
 14656  	//   "parameters": {
 14657  	//     "profileId": {
 14658  	//       "description": "User profile ID associated with this request.",
 14659  	//       "format": "int64",
 14660  	//       "location": "path",
 14661  	//       "required": true,
 14662  	//       "type": "string"
 14663  	//     }
 14664  	//   },
 14665  	//   "path": "userprofiles/{profileId}/accountPermissions",
 14666  	//   "response": {
 14667  	//     "$ref": "AccountPermissionsListResponse"
 14668  	//   },
 14669  	//   "scopes": [
 14670  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14671  	//   ]
 14672  	// }
 14673  
 14674  }
 14675  
 14676  // method id "dfareporting.accountUserProfiles.get":
 14677  
 14678  type AccountUserProfilesGetCall struct {
 14679  	s            *Service
 14680  	profileId    int64
 14681  	id           int64
 14682  	urlParams_   gensupport.URLParams
 14683  	ifNoneMatch_ string
 14684  	ctx_         context.Context
 14685  	header_      http.Header
 14686  }
 14687  
 14688  // Get: Gets one account user profile by ID.
 14689  func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
 14690  	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14691  	c.profileId = profileId
 14692  	c.id = id
 14693  	return c
 14694  }
 14695  
 14696  // Fields allows partial responses to be retrieved. See
 14697  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14698  // for more information.
 14699  func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
 14700  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14701  	return c
 14702  }
 14703  
 14704  // IfNoneMatch sets the optional parameter which makes the operation
 14705  // fail if the object's ETag matches the given value. This is useful for
 14706  // getting updates only after the object has changed since the last
 14707  // request. Use googleapi.IsNotModified to check whether the response
 14708  // error from Do is the result of In-None-Match.
 14709  func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
 14710  	c.ifNoneMatch_ = entityTag
 14711  	return c
 14712  }
 14713  
 14714  // Context sets the context to be used in this call's Do method. Any
 14715  // pending HTTP request will be aborted if the provided context is
 14716  // canceled.
 14717  func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
 14718  	c.ctx_ = ctx
 14719  	return c
 14720  }
 14721  
 14722  // Header returns an http.Header that can be modified by the caller to
 14723  // add HTTP headers to the request.
 14724  func (c *AccountUserProfilesGetCall) Header() http.Header {
 14725  	if c.header_ == nil {
 14726  		c.header_ = make(http.Header)
 14727  	}
 14728  	return c.header_
 14729  }
 14730  
 14731  func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 14732  	reqHeaders := make(http.Header)
 14733  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14734  	for k, v := range c.header_ {
 14735  		reqHeaders[k] = v
 14736  	}
 14737  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14738  	if c.ifNoneMatch_ != "" {
 14739  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14740  	}
 14741  	var body io.Reader = nil
 14742  	c.urlParams_.Set("alt", alt)
 14743  	c.urlParams_.Set("prettyPrint", "false")
 14744  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
 14745  	urls += "?" + c.urlParams_.Encode()
 14746  	req, err := http.NewRequest("GET", urls, body)
 14747  	if err != nil {
 14748  		return nil, err
 14749  	}
 14750  	req.Header = reqHeaders
 14751  	googleapi.Expand(req.URL, map[string]string{
 14752  		"profileId": strconv.FormatInt(c.profileId, 10),
 14753  		"id":        strconv.FormatInt(c.id, 10),
 14754  	})
 14755  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14756  }
 14757  
 14758  // Do executes the "dfareporting.accountUserProfiles.get" call.
 14759  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 14760  // non-2xx status code is an error. Response headers are in either
 14761  // *AccountUserProfile.ServerResponse.Header or (if a response was
 14762  // returned at all) in error.(*googleapi.Error).Header. Use
 14763  // googleapi.IsNotModified to check whether the returned error was
 14764  // because http.StatusNotModified was returned.
 14765  func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 14766  	gensupport.SetOptions(c.urlParams_, opts...)
 14767  	res, err := c.doRequest("json")
 14768  	if res != nil && res.StatusCode == http.StatusNotModified {
 14769  		if res.Body != nil {
 14770  			res.Body.Close()
 14771  		}
 14772  		return nil, &googleapi.Error{
 14773  			Code:   res.StatusCode,
 14774  			Header: res.Header,
 14775  		}
 14776  	}
 14777  	if err != nil {
 14778  		return nil, err
 14779  	}
 14780  	defer googleapi.CloseBody(res)
 14781  	if err := googleapi.CheckResponse(res); err != nil {
 14782  		return nil, err
 14783  	}
 14784  	ret := &AccountUserProfile{
 14785  		ServerResponse: googleapi.ServerResponse{
 14786  			Header:         res.Header,
 14787  			HTTPStatusCode: res.StatusCode,
 14788  		},
 14789  	}
 14790  	target := &ret
 14791  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14792  		return nil, err
 14793  	}
 14794  	return ret, nil
 14795  	// {
 14796  	//   "description": "Gets one account user profile by ID.",
 14797  	//   "httpMethod": "GET",
 14798  	//   "id": "dfareporting.accountUserProfiles.get",
 14799  	//   "parameterOrder": [
 14800  	//     "profileId",
 14801  	//     "id"
 14802  	//   ],
 14803  	//   "parameters": {
 14804  	//     "id": {
 14805  	//       "description": "User profile ID.",
 14806  	//       "format": "int64",
 14807  	//       "location": "path",
 14808  	//       "required": true,
 14809  	//       "type": "string"
 14810  	//     },
 14811  	//     "profileId": {
 14812  	//       "description": "User profile ID associated with this request.",
 14813  	//       "format": "int64",
 14814  	//       "location": "path",
 14815  	//       "required": true,
 14816  	//       "type": "string"
 14817  	//     }
 14818  	//   },
 14819  	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
 14820  	//   "response": {
 14821  	//     "$ref": "AccountUserProfile"
 14822  	//   },
 14823  	//   "scopes": [
 14824  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14825  	//   ]
 14826  	// }
 14827  
 14828  }
 14829  
 14830  // method id "dfareporting.accountUserProfiles.insert":
 14831  
 14832  type AccountUserProfilesInsertCall struct {
 14833  	s                  *Service
 14834  	profileId          int64
 14835  	accountuserprofile *AccountUserProfile
 14836  	urlParams_         gensupport.URLParams
 14837  	ctx_               context.Context
 14838  	header_            http.Header
 14839  }
 14840  
 14841  // Insert: Inserts a new account user profile.
 14842  func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
 14843  	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14844  	c.profileId = profileId
 14845  	c.accountuserprofile = accountuserprofile
 14846  	return c
 14847  }
 14848  
 14849  // Fields allows partial responses to be retrieved. See
 14850  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14851  // for more information.
 14852  func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
 14853  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14854  	return c
 14855  }
 14856  
 14857  // Context sets the context to be used in this call's Do method. Any
 14858  // pending HTTP request will be aborted if the provided context is
 14859  // canceled.
 14860  func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
 14861  	c.ctx_ = ctx
 14862  	return c
 14863  }
 14864  
 14865  // Header returns an http.Header that can be modified by the caller to
 14866  // add HTTP headers to the request.
 14867  func (c *AccountUserProfilesInsertCall) Header() http.Header {
 14868  	if c.header_ == nil {
 14869  		c.header_ = make(http.Header)
 14870  	}
 14871  	return c.header_
 14872  }
 14873  
 14874  func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
 14875  	reqHeaders := make(http.Header)
 14876  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14877  	for k, v := range c.header_ {
 14878  		reqHeaders[k] = v
 14879  	}
 14880  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14881  	var body io.Reader = nil
 14882  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 14883  	if err != nil {
 14884  		return nil, err
 14885  	}
 14886  	reqHeaders.Set("Content-Type", "application/json")
 14887  	c.urlParams_.Set("alt", alt)
 14888  	c.urlParams_.Set("prettyPrint", "false")
 14889  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 14890  	urls += "?" + c.urlParams_.Encode()
 14891  	req, err := http.NewRequest("POST", urls, body)
 14892  	if err != nil {
 14893  		return nil, err
 14894  	}
 14895  	req.Header = reqHeaders
 14896  	googleapi.Expand(req.URL, map[string]string{
 14897  		"profileId": strconv.FormatInt(c.profileId, 10),
 14898  	})
 14899  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14900  }
 14901  
 14902  // Do executes the "dfareporting.accountUserProfiles.insert" call.
 14903  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 14904  // non-2xx status code is an error. Response headers are in either
 14905  // *AccountUserProfile.ServerResponse.Header or (if a response was
 14906  // returned at all) in error.(*googleapi.Error).Header. Use
 14907  // googleapi.IsNotModified to check whether the returned error was
 14908  // because http.StatusNotModified was returned.
 14909  func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 14910  	gensupport.SetOptions(c.urlParams_, opts...)
 14911  	res, err := c.doRequest("json")
 14912  	if res != nil && res.StatusCode == http.StatusNotModified {
 14913  		if res.Body != nil {
 14914  			res.Body.Close()
 14915  		}
 14916  		return nil, &googleapi.Error{
 14917  			Code:   res.StatusCode,
 14918  			Header: res.Header,
 14919  		}
 14920  	}
 14921  	if err != nil {
 14922  		return nil, err
 14923  	}
 14924  	defer googleapi.CloseBody(res)
 14925  	if err := googleapi.CheckResponse(res); err != nil {
 14926  		return nil, err
 14927  	}
 14928  	ret := &AccountUserProfile{
 14929  		ServerResponse: googleapi.ServerResponse{
 14930  			Header:         res.Header,
 14931  			HTTPStatusCode: res.StatusCode,
 14932  		},
 14933  	}
 14934  	target := &ret
 14935  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14936  		return nil, err
 14937  	}
 14938  	return ret, nil
 14939  	// {
 14940  	//   "description": "Inserts a new account user profile.",
 14941  	//   "httpMethod": "POST",
 14942  	//   "id": "dfareporting.accountUserProfiles.insert",
 14943  	//   "parameterOrder": [
 14944  	//     "profileId"
 14945  	//   ],
 14946  	//   "parameters": {
 14947  	//     "profileId": {
 14948  	//       "description": "User profile ID associated with this request.",
 14949  	//       "format": "int64",
 14950  	//       "location": "path",
 14951  	//       "required": true,
 14952  	//       "type": "string"
 14953  	//     }
 14954  	//   },
 14955  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 14956  	//   "request": {
 14957  	//     "$ref": "AccountUserProfile"
 14958  	//   },
 14959  	//   "response": {
 14960  	//     "$ref": "AccountUserProfile"
 14961  	//   },
 14962  	//   "scopes": [
 14963  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14964  	//   ]
 14965  	// }
 14966  
 14967  }
 14968  
 14969  // method id "dfareporting.accountUserProfiles.list":
 14970  
 14971  type AccountUserProfilesListCall struct {
 14972  	s            *Service
 14973  	profileId    int64
 14974  	urlParams_   gensupport.URLParams
 14975  	ifNoneMatch_ string
 14976  	ctx_         context.Context
 14977  	header_      http.Header
 14978  }
 14979  
 14980  // List: Retrieves a list of account user profiles, possibly filtered.
 14981  // This method supports paging.
 14982  func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
 14983  	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14984  	c.profileId = profileId
 14985  	return c
 14986  }
 14987  
 14988  // Active sets the optional parameter "active": Select only active user
 14989  // profiles.
 14990  func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
 14991  	c.urlParams_.Set("active", fmt.Sprint(active))
 14992  	return c
 14993  }
 14994  
 14995  // Ids sets the optional parameter "ids": Select only user profiles with
 14996  // these IDs.
 14997  func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
 14998  	var ids_ []string
 14999  	for _, v := range ids {
 15000  		ids_ = append(ids_, fmt.Sprint(v))
 15001  	}
 15002  	c.urlParams_.SetMulti("ids", ids_)
 15003  	return c
 15004  }
 15005  
 15006  // MaxResults sets the optional parameter "maxResults": Maximum number
 15007  // of results to return.
 15008  func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
 15009  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 15010  	return c
 15011  }
 15012  
 15013  // PageToken sets the optional parameter "pageToken": Value of the
 15014  // nextPageToken from the previous result page.
 15015  func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
 15016  	c.urlParams_.Set("pageToken", pageToken)
 15017  	return c
 15018  }
 15019  
 15020  // SearchString sets the optional parameter "searchString": Allows
 15021  // searching for objects by name, ID or email. Wildcards (*) are
 15022  // allowed. For example, "user profile*2015" will return objects with
 15023  // names like "user profile June 2015", "user profile April 2015", or
 15024  // simply "user profile 2015". Most of the searches also add wildcards
 15025  // implicitly at the start and the end of the search string. For
 15026  // example, a search string of "user profile" will match objects with
 15027  // name "my user profile", "user profile 2015", or simply "user
 15028  // profile".
 15029  func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
 15030  	c.urlParams_.Set("searchString", searchString)
 15031  	return c
 15032  }
 15033  
 15034  // SortField sets the optional parameter "sortField": Field by which to
 15035  // sort the list.
 15036  //
 15037  // Possible values:
 15038  //
 15039  //	"ID" (default)
 15040  //	"NAME"
 15041  func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
 15042  	c.urlParams_.Set("sortField", sortField)
 15043  	return c
 15044  }
 15045  
 15046  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 15047  // results.
 15048  //
 15049  // Possible values:
 15050  //
 15051  //	"ASCENDING" (default)
 15052  //	"DESCENDING"
 15053  func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
 15054  	c.urlParams_.Set("sortOrder", sortOrder)
 15055  	return c
 15056  }
 15057  
 15058  // SubaccountId sets the optional parameter "subaccountId": Select only
 15059  // user profiles with the specified subaccount ID.
 15060  func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
 15061  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 15062  	return c
 15063  }
 15064  
 15065  // UserRoleId sets the optional parameter "userRoleId": Select only user
 15066  // profiles with the specified user role ID.
 15067  func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
 15068  	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
 15069  	return c
 15070  }
 15071  
 15072  // Fields allows partial responses to be retrieved. See
 15073  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15074  // for more information.
 15075  func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
 15076  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15077  	return c
 15078  }
 15079  
 15080  // IfNoneMatch sets the optional parameter which makes the operation
 15081  // fail if the object's ETag matches the given value. This is useful for
 15082  // getting updates only after the object has changed since the last
 15083  // request. Use googleapi.IsNotModified to check whether the response
 15084  // error from Do is the result of In-None-Match.
 15085  func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
 15086  	c.ifNoneMatch_ = entityTag
 15087  	return c
 15088  }
 15089  
 15090  // Context sets the context to be used in this call's Do method. Any
 15091  // pending HTTP request will be aborted if the provided context is
 15092  // canceled.
 15093  func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
 15094  	c.ctx_ = ctx
 15095  	return c
 15096  }
 15097  
 15098  // Header returns an http.Header that can be modified by the caller to
 15099  // add HTTP headers to the request.
 15100  func (c *AccountUserProfilesListCall) Header() http.Header {
 15101  	if c.header_ == nil {
 15102  		c.header_ = make(http.Header)
 15103  	}
 15104  	return c.header_
 15105  }
 15106  
 15107  func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 15108  	reqHeaders := make(http.Header)
 15109  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15110  	for k, v := range c.header_ {
 15111  		reqHeaders[k] = v
 15112  	}
 15113  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15114  	if c.ifNoneMatch_ != "" {
 15115  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15116  	}
 15117  	var body io.Reader = nil
 15118  	c.urlParams_.Set("alt", alt)
 15119  	c.urlParams_.Set("prettyPrint", "false")
 15120  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15121  	urls += "?" + c.urlParams_.Encode()
 15122  	req, err := http.NewRequest("GET", urls, body)
 15123  	if err != nil {
 15124  		return nil, err
 15125  	}
 15126  	req.Header = reqHeaders
 15127  	googleapi.Expand(req.URL, map[string]string{
 15128  		"profileId": strconv.FormatInt(c.profileId, 10),
 15129  	})
 15130  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15131  }
 15132  
 15133  // Do executes the "dfareporting.accountUserProfiles.list" call.
 15134  // Exactly one of *AccountUserProfilesListResponse or error will be
 15135  // non-nil. Any non-2xx status code is an error. Response headers are in
 15136  // either *AccountUserProfilesListResponse.ServerResponse.Header or (if
 15137  // a response was returned at all) in error.(*googleapi.Error).Header.
 15138  // Use googleapi.IsNotModified to check whether the returned error was
 15139  // because http.StatusNotModified was returned.
 15140  func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
 15141  	gensupport.SetOptions(c.urlParams_, opts...)
 15142  	res, err := c.doRequest("json")
 15143  	if res != nil && res.StatusCode == http.StatusNotModified {
 15144  		if res.Body != nil {
 15145  			res.Body.Close()
 15146  		}
 15147  		return nil, &googleapi.Error{
 15148  			Code:   res.StatusCode,
 15149  			Header: res.Header,
 15150  		}
 15151  	}
 15152  	if err != nil {
 15153  		return nil, err
 15154  	}
 15155  	defer googleapi.CloseBody(res)
 15156  	if err := googleapi.CheckResponse(res); err != nil {
 15157  		return nil, err
 15158  	}
 15159  	ret := &AccountUserProfilesListResponse{
 15160  		ServerResponse: googleapi.ServerResponse{
 15161  			Header:         res.Header,
 15162  			HTTPStatusCode: res.StatusCode,
 15163  		},
 15164  	}
 15165  	target := &ret
 15166  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15167  		return nil, err
 15168  	}
 15169  	return ret, nil
 15170  	// {
 15171  	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
 15172  	//   "httpMethod": "GET",
 15173  	//   "id": "dfareporting.accountUserProfiles.list",
 15174  	//   "parameterOrder": [
 15175  	//     "profileId"
 15176  	//   ],
 15177  	//   "parameters": {
 15178  	//     "active": {
 15179  	//       "description": "Select only active user profiles.",
 15180  	//       "location": "query",
 15181  	//       "type": "boolean"
 15182  	//     },
 15183  	//     "ids": {
 15184  	//       "description": "Select only user profiles with these IDs.",
 15185  	//       "format": "int64",
 15186  	//       "location": "query",
 15187  	//       "repeated": true,
 15188  	//       "type": "string"
 15189  	//     },
 15190  	//     "maxResults": {
 15191  	//       "default": "1000",
 15192  	//       "description": "Maximum number of results to return.",
 15193  	//       "format": "int32",
 15194  	//       "location": "query",
 15195  	//       "maximum": "1000",
 15196  	//       "minimum": "0",
 15197  	//       "type": "integer"
 15198  	//     },
 15199  	//     "pageToken": {
 15200  	//       "description": "Value of the nextPageToken from the previous result page.",
 15201  	//       "location": "query",
 15202  	//       "type": "string"
 15203  	//     },
 15204  	//     "profileId": {
 15205  	//       "description": "User profile ID associated with this request.",
 15206  	//       "format": "int64",
 15207  	//       "location": "path",
 15208  	//       "required": true,
 15209  	//       "type": "string"
 15210  	//     },
 15211  	//     "searchString": {
 15212  	//       "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\".",
 15213  	//       "location": "query",
 15214  	//       "type": "string"
 15215  	//     },
 15216  	//     "sortField": {
 15217  	//       "default": "ID",
 15218  	//       "description": "Field by which to sort the list.",
 15219  	//       "enum": [
 15220  	//         "ID",
 15221  	//         "NAME"
 15222  	//       ],
 15223  	//       "enumDescriptions": [
 15224  	//         "",
 15225  	//         ""
 15226  	//       ],
 15227  	//       "location": "query",
 15228  	//       "type": "string"
 15229  	//     },
 15230  	//     "sortOrder": {
 15231  	//       "default": "ASCENDING",
 15232  	//       "description": "Order of sorted results.",
 15233  	//       "enum": [
 15234  	//         "ASCENDING",
 15235  	//         "DESCENDING"
 15236  	//       ],
 15237  	//       "enumDescriptions": [
 15238  	//         "",
 15239  	//         ""
 15240  	//       ],
 15241  	//       "location": "query",
 15242  	//       "type": "string"
 15243  	//     },
 15244  	//     "subaccountId": {
 15245  	//       "description": "Select only user profiles with the specified subaccount ID.",
 15246  	//       "format": "int64",
 15247  	//       "location": "query",
 15248  	//       "type": "string"
 15249  	//     },
 15250  	//     "userRoleId": {
 15251  	//       "description": "Select only user profiles with the specified user role ID.",
 15252  	//       "format": "int64",
 15253  	//       "location": "query",
 15254  	//       "type": "string"
 15255  	//     }
 15256  	//   },
 15257  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15258  	//   "response": {
 15259  	//     "$ref": "AccountUserProfilesListResponse"
 15260  	//   },
 15261  	//   "scopes": [
 15262  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15263  	//   ]
 15264  	// }
 15265  
 15266  }
 15267  
 15268  // Pages invokes f for each page of results.
 15269  // A non-nil error returned from f will halt the iteration.
 15270  // The provided context supersedes any context provided to the Context method.
 15271  func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
 15272  	c.ctx_ = ctx
 15273  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 15274  	for {
 15275  		x, err := c.Do()
 15276  		if err != nil {
 15277  			return err
 15278  		}
 15279  		if err := f(x); err != nil {
 15280  			return err
 15281  		}
 15282  		if x.NextPageToken == "" {
 15283  			return nil
 15284  		}
 15285  		c.PageToken(x.NextPageToken)
 15286  	}
 15287  }
 15288  
 15289  // method id "dfareporting.accountUserProfiles.patch":
 15290  
 15291  type AccountUserProfilesPatchCall struct {
 15292  	s                  *Service
 15293  	profileId          int64
 15294  	accountuserprofile *AccountUserProfile
 15295  	urlParams_         gensupport.URLParams
 15296  	ctx_               context.Context
 15297  	header_            http.Header
 15298  }
 15299  
 15300  // Patch: Updates an existing account user profile. This method supports
 15301  // patch semantics.
 15302  func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
 15303  	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15304  	c.profileId = profileId
 15305  	c.urlParams_.Set("id", fmt.Sprint(id))
 15306  	c.accountuserprofile = accountuserprofile
 15307  	return c
 15308  }
 15309  
 15310  // Fields allows partial responses to be retrieved. See
 15311  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15312  // for more information.
 15313  func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
 15314  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15315  	return c
 15316  }
 15317  
 15318  // Context sets the context to be used in this call's Do method. Any
 15319  // pending HTTP request will be aborted if the provided context is
 15320  // canceled.
 15321  func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
 15322  	c.ctx_ = ctx
 15323  	return c
 15324  }
 15325  
 15326  // Header returns an http.Header that can be modified by the caller to
 15327  // add HTTP headers to the request.
 15328  func (c *AccountUserProfilesPatchCall) Header() http.Header {
 15329  	if c.header_ == nil {
 15330  		c.header_ = make(http.Header)
 15331  	}
 15332  	return c.header_
 15333  }
 15334  
 15335  func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 15336  	reqHeaders := make(http.Header)
 15337  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15338  	for k, v := range c.header_ {
 15339  		reqHeaders[k] = v
 15340  	}
 15341  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15342  	var body io.Reader = nil
 15343  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15344  	if err != nil {
 15345  		return nil, err
 15346  	}
 15347  	reqHeaders.Set("Content-Type", "application/json")
 15348  	c.urlParams_.Set("alt", alt)
 15349  	c.urlParams_.Set("prettyPrint", "false")
 15350  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15351  	urls += "?" + c.urlParams_.Encode()
 15352  	req, err := http.NewRequest("PATCH", urls, body)
 15353  	if err != nil {
 15354  		return nil, err
 15355  	}
 15356  	req.Header = reqHeaders
 15357  	googleapi.Expand(req.URL, map[string]string{
 15358  		"profileId": strconv.FormatInt(c.profileId, 10),
 15359  	})
 15360  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15361  }
 15362  
 15363  // Do executes the "dfareporting.accountUserProfiles.patch" call.
 15364  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15365  // non-2xx status code is an error. Response headers are in either
 15366  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15367  // returned at all) in error.(*googleapi.Error).Header. Use
 15368  // googleapi.IsNotModified to check whether the returned error was
 15369  // because http.StatusNotModified was returned.
 15370  func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15371  	gensupport.SetOptions(c.urlParams_, opts...)
 15372  	res, err := c.doRequest("json")
 15373  	if res != nil && res.StatusCode == http.StatusNotModified {
 15374  		if res.Body != nil {
 15375  			res.Body.Close()
 15376  		}
 15377  		return nil, &googleapi.Error{
 15378  			Code:   res.StatusCode,
 15379  			Header: res.Header,
 15380  		}
 15381  	}
 15382  	if err != nil {
 15383  		return nil, err
 15384  	}
 15385  	defer googleapi.CloseBody(res)
 15386  	if err := googleapi.CheckResponse(res); err != nil {
 15387  		return nil, err
 15388  	}
 15389  	ret := &AccountUserProfile{
 15390  		ServerResponse: googleapi.ServerResponse{
 15391  			Header:         res.Header,
 15392  			HTTPStatusCode: res.StatusCode,
 15393  		},
 15394  	}
 15395  	target := &ret
 15396  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15397  		return nil, err
 15398  	}
 15399  	return ret, nil
 15400  	// {
 15401  	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
 15402  	//   "httpMethod": "PATCH",
 15403  	//   "id": "dfareporting.accountUserProfiles.patch",
 15404  	//   "parameterOrder": [
 15405  	//     "profileId",
 15406  	//     "id"
 15407  	//   ],
 15408  	//   "parameters": {
 15409  	//     "id": {
 15410  	//       "description": "User profile ID.",
 15411  	//       "format": "int64",
 15412  	//       "location": "query",
 15413  	//       "required": true,
 15414  	//       "type": "string"
 15415  	//     },
 15416  	//     "profileId": {
 15417  	//       "description": "User profile ID associated with this request.",
 15418  	//       "format": "int64",
 15419  	//       "location": "path",
 15420  	//       "required": true,
 15421  	//       "type": "string"
 15422  	//     }
 15423  	//   },
 15424  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15425  	//   "request": {
 15426  	//     "$ref": "AccountUserProfile"
 15427  	//   },
 15428  	//   "response": {
 15429  	//     "$ref": "AccountUserProfile"
 15430  	//   },
 15431  	//   "scopes": [
 15432  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15433  	//   ]
 15434  	// }
 15435  
 15436  }
 15437  
 15438  // method id "dfareporting.accountUserProfiles.update":
 15439  
 15440  type AccountUserProfilesUpdateCall struct {
 15441  	s                  *Service
 15442  	profileId          int64
 15443  	accountuserprofile *AccountUserProfile
 15444  	urlParams_         gensupport.URLParams
 15445  	ctx_               context.Context
 15446  	header_            http.Header
 15447  }
 15448  
 15449  // Update: Updates an existing account user profile.
 15450  func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
 15451  	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15452  	c.profileId = profileId
 15453  	c.accountuserprofile = accountuserprofile
 15454  	return c
 15455  }
 15456  
 15457  // Fields allows partial responses to be retrieved. See
 15458  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15459  // for more information.
 15460  func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
 15461  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15462  	return c
 15463  }
 15464  
 15465  // Context sets the context to be used in this call's Do method. Any
 15466  // pending HTTP request will be aborted if the provided context is
 15467  // canceled.
 15468  func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
 15469  	c.ctx_ = ctx
 15470  	return c
 15471  }
 15472  
 15473  // Header returns an http.Header that can be modified by the caller to
 15474  // add HTTP headers to the request.
 15475  func (c *AccountUserProfilesUpdateCall) Header() http.Header {
 15476  	if c.header_ == nil {
 15477  		c.header_ = make(http.Header)
 15478  	}
 15479  	return c.header_
 15480  }
 15481  
 15482  func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 15483  	reqHeaders := make(http.Header)
 15484  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15485  	for k, v := range c.header_ {
 15486  		reqHeaders[k] = v
 15487  	}
 15488  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15489  	var body io.Reader = nil
 15490  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15491  	if err != nil {
 15492  		return nil, err
 15493  	}
 15494  	reqHeaders.Set("Content-Type", "application/json")
 15495  	c.urlParams_.Set("alt", alt)
 15496  	c.urlParams_.Set("prettyPrint", "false")
 15497  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15498  	urls += "?" + c.urlParams_.Encode()
 15499  	req, err := http.NewRequest("PUT", urls, body)
 15500  	if err != nil {
 15501  		return nil, err
 15502  	}
 15503  	req.Header = reqHeaders
 15504  	googleapi.Expand(req.URL, map[string]string{
 15505  		"profileId": strconv.FormatInt(c.profileId, 10),
 15506  	})
 15507  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15508  }
 15509  
 15510  // Do executes the "dfareporting.accountUserProfiles.update" call.
 15511  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15512  // non-2xx status code is an error. Response headers are in either
 15513  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15514  // returned at all) in error.(*googleapi.Error).Header. Use
 15515  // googleapi.IsNotModified to check whether the returned error was
 15516  // because http.StatusNotModified was returned.
 15517  func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15518  	gensupport.SetOptions(c.urlParams_, opts...)
 15519  	res, err := c.doRequest("json")
 15520  	if res != nil && res.StatusCode == http.StatusNotModified {
 15521  		if res.Body != nil {
 15522  			res.Body.Close()
 15523  		}
 15524  		return nil, &googleapi.Error{
 15525  			Code:   res.StatusCode,
 15526  			Header: res.Header,
 15527  		}
 15528  	}
 15529  	if err != nil {
 15530  		return nil, err
 15531  	}
 15532  	defer googleapi.CloseBody(res)
 15533  	if err := googleapi.CheckResponse(res); err != nil {
 15534  		return nil, err
 15535  	}
 15536  	ret := &AccountUserProfile{
 15537  		ServerResponse: googleapi.ServerResponse{
 15538  			Header:         res.Header,
 15539  			HTTPStatusCode: res.StatusCode,
 15540  		},
 15541  	}
 15542  	target := &ret
 15543  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15544  		return nil, err
 15545  	}
 15546  	return ret, nil
 15547  	// {
 15548  	//   "description": "Updates an existing account user profile.",
 15549  	//   "httpMethod": "PUT",
 15550  	//   "id": "dfareporting.accountUserProfiles.update",
 15551  	//   "parameterOrder": [
 15552  	//     "profileId"
 15553  	//   ],
 15554  	//   "parameters": {
 15555  	//     "profileId": {
 15556  	//       "description": "User profile ID associated with this request.",
 15557  	//       "format": "int64",
 15558  	//       "location": "path",
 15559  	//       "required": true,
 15560  	//       "type": "string"
 15561  	//     }
 15562  	//   },
 15563  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15564  	//   "request": {
 15565  	//     "$ref": "AccountUserProfile"
 15566  	//   },
 15567  	//   "response": {
 15568  	//     "$ref": "AccountUserProfile"
 15569  	//   },
 15570  	//   "scopes": [
 15571  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15572  	//   ]
 15573  	// }
 15574  
 15575  }
 15576  
 15577  // method id "dfareporting.accounts.get":
 15578  
 15579  type AccountsGetCall struct {
 15580  	s            *Service
 15581  	profileId    int64
 15582  	id           int64
 15583  	urlParams_   gensupport.URLParams
 15584  	ifNoneMatch_ string
 15585  	ctx_         context.Context
 15586  	header_      http.Header
 15587  }
 15588  
 15589  // Get: Gets one account by ID.
 15590  func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
 15591  	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15592  	c.profileId = profileId
 15593  	c.id = id
 15594  	return c
 15595  }
 15596  
 15597  // Fields allows partial responses to be retrieved. See
 15598  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15599  // for more information.
 15600  func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
 15601  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15602  	return c
 15603  }
 15604  
 15605  // IfNoneMatch sets the optional parameter which makes the operation
 15606  // fail if the object's ETag matches the given value. This is useful for
 15607  // getting updates only after the object has changed since the last
 15608  // request. Use googleapi.IsNotModified to check whether the response
 15609  // error from Do is the result of In-None-Match.
 15610  func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
 15611  	c.ifNoneMatch_ = entityTag
 15612  	return c
 15613  }
 15614  
 15615  // Context sets the context to be used in this call's Do method. Any
 15616  // pending HTTP request will be aborted if the provided context is
 15617  // canceled.
 15618  func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 15619  	c.ctx_ = ctx
 15620  	return c
 15621  }
 15622  
 15623  // Header returns an http.Header that can be modified by the caller to
 15624  // add HTTP headers to the request.
 15625  func (c *AccountsGetCall) Header() http.Header {
 15626  	if c.header_ == nil {
 15627  		c.header_ = make(http.Header)
 15628  	}
 15629  	return c.header_
 15630  }
 15631  
 15632  func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 15633  	reqHeaders := make(http.Header)
 15634  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15635  	for k, v := range c.header_ {
 15636  		reqHeaders[k] = v
 15637  	}
 15638  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15639  	if c.ifNoneMatch_ != "" {
 15640  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15641  	}
 15642  	var body io.Reader = nil
 15643  	c.urlParams_.Set("alt", alt)
 15644  	c.urlParams_.Set("prettyPrint", "false")
 15645  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
 15646  	urls += "?" + c.urlParams_.Encode()
 15647  	req, err := http.NewRequest("GET", urls, body)
 15648  	if err != nil {
 15649  		return nil, err
 15650  	}
 15651  	req.Header = reqHeaders
 15652  	googleapi.Expand(req.URL, map[string]string{
 15653  		"profileId": strconv.FormatInt(c.profileId, 10),
 15654  		"id":        strconv.FormatInt(c.id, 10),
 15655  	})
 15656  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15657  }
 15658  
 15659  // Do executes the "dfareporting.accounts.get" call.
 15660  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 15661  // code is an error. Response headers are in either
 15662  // *Account.ServerResponse.Header or (if a response was returned at all)
 15663  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 15664  // check whether the returned error was because http.StatusNotModified
 15665  // was returned.
 15666  func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 15667  	gensupport.SetOptions(c.urlParams_, opts...)
 15668  	res, err := c.doRequest("json")
 15669  	if res != nil && res.StatusCode == http.StatusNotModified {
 15670  		if res.Body != nil {
 15671  			res.Body.Close()
 15672  		}
 15673  		return nil, &googleapi.Error{
 15674  			Code:   res.StatusCode,
 15675  			Header: res.Header,
 15676  		}
 15677  	}
 15678  	if err != nil {
 15679  		return nil, err
 15680  	}
 15681  	defer googleapi.CloseBody(res)
 15682  	if err := googleapi.CheckResponse(res); err != nil {
 15683  		return nil, err
 15684  	}
 15685  	ret := &Account{
 15686  		ServerResponse: googleapi.ServerResponse{
 15687  			Header:         res.Header,
 15688  			HTTPStatusCode: res.StatusCode,
 15689  		},
 15690  	}
 15691  	target := &ret
 15692  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15693  		return nil, err
 15694  	}
 15695  	return ret, nil
 15696  	// {
 15697  	//   "description": "Gets one account by ID.",
 15698  	//   "httpMethod": "GET",
 15699  	//   "id": "dfareporting.accounts.get",
 15700  	//   "parameterOrder": [
 15701  	//     "profileId",
 15702  	//     "id"
 15703  	//   ],
 15704  	//   "parameters": {
 15705  	//     "id": {
 15706  	//       "description": "Account ID.",
 15707  	//       "format": "int64",
 15708  	//       "location": "path",
 15709  	//       "required": true,
 15710  	//       "type": "string"
 15711  	//     },
 15712  	//     "profileId": {
 15713  	//       "description": "User profile ID associated with this request.",
 15714  	//       "format": "int64",
 15715  	//       "location": "path",
 15716  	//       "required": true,
 15717  	//       "type": "string"
 15718  	//     }
 15719  	//   },
 15720  	//   "path": "userprofiles/{profileId}/accounts/{id}",
 15721  	//   "response": {
 15722  	//     "$ref": "Account"
 15723  	//   },
 15724  	//   "scopes": [
 15725  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15726  	//   ]
 15727  	// }
 15728  
 15729  }
 15730  
 15731  // method id "dfareporting.accounts.list":
 15732  
 15733  type AccountsListCall struct {
 15734  	s            *Service
 15735  	profileId    int64
 15736  	urlParams_   gensupport.URLParams
 15737  	ifNoneMatch_ string
 15738  	ctx_         context.Context
 15739  	header_      http.Header
 15740  }
 15741  
 15742  // List: Retrieves the list of accounts, possibly filtered. This method
 15743  // supports paging.
 15744  func (r *AccountsService) List(profileId int64) *AccountsListCall {
 15745  	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15746  	c.profileId = profileId
 15747  	return c
 15748  }
 15749  
 15750  // Active sets the optional parameter "active": Select only active
 15751  // accounts. Don't set this field to select both active and non-active
 15752  // accounts.
 15753  func (c *AccountsListCall) Active(active bool) *AccountsListCall {
 15754  	c.urlParams_.Set("active", fmt.Sprint(active))
 15755  	return c
 15756  }
 15757  
 15758  // Ids sets the optional parameter "ids": Select only accounts with
 15759  // these IDs.
 15760  func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
 15761  	var ids_ []string
 15762  	for _, v := range ids {
 15763  		ids_ = append(ids_, fmt.Sprint(v))
 15764  	}
 15765  	c.urlParams_.SetMulti("ids", ids_)
 15766  	return c
 15767  }
 15768  
 15769  // MaxResults sets the optional parameter "maxResults": Maximum number
 15770  // of results to return.
 15771  func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
 15772  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 15773  	return c
 15774  }
 15775  
 15776  // PageToken sets the optional parameter "pageToken": Value of the
 15777  // nextPageToken from the previous result page.
 15778  func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
 15779  	c.urlParams_.Set("pageToken", pageToken)
 15780  	return c
 15781  }
 15782  
 15783  // SearchString sets the optional parameter "searchString": Allows
 15784  // searching for objects by name or ID. Wildcards (*) are allowed. For
 15785  // example, "account*2015" will return objects with names like "account
 15786  // June 2015", "account April 2015", or simply "account 2015". Most of
 15787  // the searches also add wildcards implicitly at the start and the end
 15788  // of the search string. For example, a search string of "account" will
 15789  // match objects with name "my account", "account 2015", or simply
 15790  // "account".
 15791  func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
 15792  	c.urlParams_.Set("searchString", searchString)
 15793  	return c
 15794  }
 15795  
 15796  // SortField sets the optional parameter "sortField": Field by which to
 15797  // sort the list.
 15798  //
 15799  // Possible values:
 15800  //
 15801  //	"ID" (default)
 15802  //	"NAME"
 15803  func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
 15804  	c.urlParams_.Set("sortField", sortField)
 15805  	return c
 15806  }
 15807  
 15808  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 15809  // results.
 15810  //
 15811  // Possible values:
 15812  //
 15813  //	"ASCENDING" (default)
 15814  //	"DESCENDING"
 15815  func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
 15816  	c.urlParams_.Set("sortOrder", sortOrder)
 15817  	return c
 15818  }
 15819  
 15820  // Fields allows partial responses to be retrieved. See
 15821  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15822  // for more information.
 15823  func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
 15824  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15825  	return c
 15826  }
 15827  
 15828  // IfNoneMatch sets the optional parameter which makes the operation
 15829  // fail if the object's ETag matches the given value. This is useful for
 15830  // getting updates only after the object has changed since the last
 15831  // request. Use googleapi.IsNotModified to check whether the response
 15832  // error from Do is the result of In-None-Match.
 15833  func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
 15834  	c.ifNoneMatch_ = entityTag
 15835  	return c
 15836  }
 15837  
 15838  // Context sets the context to be used in this call's Do method. Any
 15839  // pending HTTP request will be aborted if the provided context is
 15840  // canceled.
 15841  func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 15842  	c.ctx_ = ctx
 15843  	return c
 15844  }
 15845  
 15846  // Header returns an http.Header that can be modified by the caller to
 15847  // add HTTP headers to the request.
 15848  func (c *AccountsListCall) Header() http.Header {
 15849  	if c.header_ == nil {
 15850  		c.header_ = make(http.Header)
 15851  	}
 15852  	return c.header_
 15853  }
 15854  
 15855  func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 15856  	reqHeaders := make(http.Header)
 15857  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15858  	for k, v := range c.header_ {
 15859  		reqHeaders[k] = v
 15860  	}
 15861  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15862  	if c.ifNoneMatch_ != "" {
 15863  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15864  	}
 15865  	var body io.Reader = nil
 15866  	c.urlParams_.Set("alt", alt)
 15867  	c.urlParams_.Set("prettyPrint", "false")
 15868  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 15869  	urls += "?" + c.urlParams_.Encode()
 15870  	req, err := http.NewRequest("GET", urls, body)
 15871  	if err != nil {
 15872  		return nil, err
 15873  	}
 15874  	req.Header = reqHeaders
 15875  	googleapi.Expand(req.URL, map[string]string{
 15876  		"profileId": strconv.FormatInt(c.profileId, 10),
 15877  	})
 15878  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15879  }
 15880  
 15881  // Do executes the "dfareporting.accounts.list" call.
 15882  // Exactly one of *AccountsListResponse or error will be non-nil. Any
 15883  // non-2xx status code is an error. Response headers are in either
 15884  // *AccountsListResponse.ServerResponse.Header or (if a response was
 15885  // returned at all) in error.(*googleapi.Error).Header. Use
 15886  // googleapi.IsNotModified to check whether the returned error was
 15887  // because http.StatusNotModified was returned.
 15888  func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
 15889  	gensupport.SetOptions(c.urlParams_, opts...)
 15890  	res, err := c.doRequest("json")
 15891  	if res != nil && res.StatusCode == http.StatusNotModified {
 15892  		if res.Body != nil {
 15893  			res.Body.Close()
 15894  		}
 15895  		return nil, &googleapi.Error{
 15896  			Code:   res.StatusCode,
 15897  			Header: res.Header,
 15898  		}
 15899  	}
 15900  	if err != nil {
 15901  		return nil, err
 15902  	}
 15903  	defer googleapi.CloseBody(res)
 15904  	if err := googleapi.CheckResponse(res); err != nil {
 15905  		return nil, err
 15906  	}
 15907  	ret := &AccountsListResponse{
 15908  		ServerResponse: googleapi.ServerResponse{
 15909  			Header:         res.Header,
 15910  			HTTPStatusCode: res.StatusCode,
 15911  		},
 15912  	}
 15913  	target := &ret
 15914  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15915  		return nil, err
 15916  	}
 15917  	return ret, nil
 15918  	// {
 15919  	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
 15920  	//   "httpMethod": "GET",
 15921  	//   "id": "dfareporting.accounts.list",
 15922  	//   "parameterOrder": [
 15923  	//     "profileId"
 15924  	//   ],
 15925  	//   "parameters": {
 15926  	//     "active": {
 15927  	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
 15928  	//       "location": "query",
 15929  	//       "type": "boolean"
 15930  	//     },
 15931  	//     "ids": {
 15932  	//       "description": "Select only accounts with these IDs.",
 15933  	//       "format": "int64",
 15934  	//       "location": "query",
 15935  	//       "repeated": true,
 15936  	//       "type": "string"
 15937  	//     },
 15938  	//     "maxResults": {
 15939  	//       "default": "1000",
 15940  	//       "description": "Maximum number of results to return.",
 15941  	//       "format": "int32",
 15942  	//       "location": "query",
 15943  	//       "maximum": "1000",
 15944  	//       "minimum": "0",
 15945  	//       "type": "integer"
 15946  	//     },
 15947  	//     "pageToken": {
 15948  	//       "description": "Value of the nextPageToken from the previous result page.",
 15949  	//       "location": "query",
 15950  	//       "type": "string"
 15951  	//     },
 15952  	//     "profileId": {
 15953  	//       "description": "User profile ID associated with this request.",
 15954  	//       "format": "int64",
 15955  	//       "location": "path",
 15956  	//       "required": true,
 15957  	//       "type": "string"
 15958  	//     },
 15959  	//     "searchString": {
 15960  	//       "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\".",
 15961  	//       "location": "query",
 15962  	//       "type": "string"
 15963  	//     },
 15964  	//     "sortField": {
 15965  	//       "default": "ID",
 15966  	//       "description": "Field by which to sort the list.",
 15967  	//       "enum": [
 15968  	//         "ID",
 15969  	//         "NAME"
 15970  	//       ],
 15971  	//       "enumDescriptions": [
 15972  	//         "",
 15973  	//         ""
 15974  	//       ],
 15975  	//       "location": "query",
 15976  	//       "type": "string"
 15977  	//     },
 15978  	//     "sortOrder": {
 15979  	//       "default": "ASCENDING",
 15980  	//       "description": "Order of sorted results.",
 15981  	//       "enum": [
 15982  	//         "ASCENDING",
 15983  	//         "DESCENDING"
 15984  	//       ],
 15985  	//       "enumDescriptions": [
 15986  	//         "",
 15987  	//         ""
 15988  	//       ],
 15989  	//       "location": "query",
 15990  	//       "type": "string"
 15991  	//     }
 15992  	//   },
 15993  	//   "path": "userprofiles/{profileId}/accounts",
 15994  	//   "response": {
 15995  	//     "$ref": "AccountsListResponse"
 15996  	//   },
 15997  	//   "scopes": [
 15998  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15999  	//   ]
 16000  	// }
 16001  
 16002  }
 16003  
 16004  // Pages invokes f for each page of results.
 16005  // A non-nil error returned from f will halt the iteration.
 16006  // The provided context supersedes any context provided to the Context method.
 16007  func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
 16008  	c.ctx_ = ctx
 16009  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 16010  	for {
 16011  		x, err := c.Do()
 16012  		if err != nil {
 16013  			return err
 16014  		}
 16015  		if err := f(x); err != nil {
 16016  			return err
 16017  		}
 16018  		if x.NextPageToken == "" {
 16019  			return nil
 16020  		}
 16021  		c.PageToken(x.NextPageToken)
 16022  	}
 16023  }
 16024  
 16025  // method id "dfareporting.accounts.patch":
 16026  
 16027  type AccountsPatchCall struct {
 16028  	s          *Service
 16029  	profileId  int64
 16030  	account    *Account
 16031  	urlParams_ gensupport.URLParams
 16032  	ctx_       context.Context
 16033  	header_    http.Header
 16034  }
 16035  
 16036  // Patch: Updates an existing account. This method supports patch
 16037  // semantics.
 16038  func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
 16039  	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16040  	c.profileId = profileId
 16041  	c.urlParams_.Set("id", fmt.Sprint(id))
 16042  	c.account = account
 16043  	return c
 16044  }
 16045  
 16046  // Fields allows partial responses to be retrieved. See
 16047  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16048  // for more information.
 16049  func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
 16050  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16051  	return c
 16052  }
 16053  
 16054  // Context sets the context to be used in this call's Do method. Any
 16055  // pending HTTP request will be aborted if the provided context is
 16056  // canceled.
 16057  func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 16058  	c.ctx_ = ctx
 16059  	return c
 16060  }
 16061  
 16062  // Header returns an http.Header that can be modified by the caller to
 16063  // add HTTP headers to the request.
 16064  func (c *AccountsPatchCall) Header() http.Header {
 16065  	if c.header_ == nil {
 16066  		c.header_ = make(http.Header)
 16067  	}
 16068  	return c.header_
 16069  }
 16070  
 16071  func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 16072  	reqHeaders := make(http.Header)
 16073  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16074  	for k, v := range c.header_ {
 16075  		reqHeaders[k] = v
 16076  	}
 16077  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16078  	var body io.Reader = nil
 16079  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 16080  	if err != nil {
 16081  		return nil, err
 16082  	}
 16083  	reqHeaders.Set("Content-Type", "application/json")
 16084  	c.urlParams_.Set("alt", alt)
 16085  	c.urlParams_.Set("prettyPrint", "false")
 16086  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16087  	urls += "?" + c.urlParams_.Encode()
 16088  	req, err := http.NewRequest("PATCH", urls, body)
 16089  	if err != nil {
 16090  		return nil, err
 16091  	}
 16092  	req.Header = reqHeaders
 16093  	googleapi.Expand(req.URL, map[string]string{
 16094  		"profileId": strconv.FormatInt(c.profileId, 10),
 16095  	})
 16096  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16097  }
 16098  
 16099  // Do executes the "dfareporting.accounts.patch" call.
 16100  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 16101  // code is an error. Response headers are in either
 16102  // *Account.ServerResponse.Header or (if a response was returned at all)
 16103  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16104  // check whether the returned error was because http.StatusNotModified
 16105  // was returned.
 16106  func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 16107  	gensupport.SetOptions(c.urlParams_, opts...)
 16108  	res, err := c.doRequest("json")
 16109  	if res != nil && res.StatusCode == http.StatusNotModified {
 16110  		if res.Body != nil {
 16111  			res.Body.Close()
 16112  		}
 16113  		return nil, &googleapi.Error{
 16114  			Code:   res.StatusCode,
 16115  			Header: res.Header,
 16116  		}
 16117  	}
 16118  	if err != nil {
 16119  		return nil, err
 16120  	}
 16121  	defer googleapi.CloseBody(res)
 16122  	if err := googleapi.CheckResponse(res); err != nil {
 16123  		return nil, err
 16124  	}
 16125  	ret := &Account{
 16126  		ServerResponse: googleapi.ServerResponse{
 16127  			Header:         res.Header,
 16128  			HTTPStatusCode: res.StatusCode,
 16129  		},
 16130  	}
 16131  	target := &ret
 16132  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16133  		return nil, err
 16134  	}
 16135  	return ret, nil
 16136  	// {
 16137  	//   "description": "Updates an existing account. This method supports patch semantics.",
 16138  	//   "httpMethod": "PATCH",
 16139  	//   "id": "dfareporting.accounts.patch",
 16140  	//   "parameterOrder": [
 16141  	//     "profileId",
 16142  	//     "id"
 16143  	//   ],
 16144  	//   "parameters": {
 16145  	//     "id": {
 16146  	//       "description": "Account ID.",
 16147  	//       "format": "int64",
 16148  	//       "location": "query",
 16149  	//       "required": true,
 16150  	//       "type": "string"
 16151  	//     },
 16152  	//     "profileId": {
 16153  	//       "description": "User profile ID associated with this request.",
 16154  	//       "format": "int64",
 16155  	//       "location": "path",
 16156  	//       "required": true,
 16157  	//       "type": "string"
 16158  	//     }
 16159  	//   },
 16160  	//   "path": "userprofiles/{profileId}/accounts",
 16161  	//   "request": {
 16162  	//     "$ref": "Account"
 16163  	//   },
 16164  	//   "response": {
 16165  	//     "$ref": "Account"
 16166  	//   },
 16167  	//   "scopes": [
 16168  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16169  	//   ]
 16170  	// }
 16171  
 16172  }
 16173  
 16174  // method id "dfareporting.accounts.update":
 16175  
 16176  type AccountsUpdateCall struct {
 16177  	s          *Service
 16178  	profileId  int64
 16179  	account    *Account
 16180  	urlParams_ gensupport.URLParams
 16181  	ctx_       context.Context
 16182  	header_    http.Header
 16183  }
 16184  
 16185  // Update: Updates an existing account.
 16186  func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
 16187  	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16188  	c.profileId = profileId
 16189  	c.account = account
 16190  	return c
 16191  }
 16192  
 16193  // Fields allows partial responses to be retrieved. See
 16194  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16195  // for more information.
 16196  func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
 16197  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16198  	return c
 16199  }
 16200  
 16201  // Context sets the context to be used in this call's Do method. Any
 16202  // pending HTTP request will be aborted if the provided context is
 16203  // canceled.
 16204  func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 16205  	c.ctx_ = ctx
 16206  	return c
 16207  }
 16208  
 16209  // Header returns an http.Header that can be modified by the caller to
 16210  // add HTTP headers to the request.
 16211  func (c *AccountsUpdateCall) Header() http.Header {
 16212  	if c.header_ == nil {
 16213  		c.header_ = make(http.Header)
 16214  	}
 16215  	return c.header_
 16216  }
 16217  
 16218  func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 16219  	reqHeaders := make(http.Header)
 16220  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16221  	for k, v := range c.header_ {
 16222  		reqHeaders[k] = v
 16223  	}
 16224  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16225  	var body io.Reader = nil
 16226  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 16227  	if err != nil {
 16228  		return nil, err
 16229  	}
 16230  	reqHeaders.Set("Content-Type", "application/json")
 16231  	c.urlParams_.Set("alt", alt)
 16232  	c.urlParams_.Set("prettyPrint", "false")
 16233  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16234  	urls += "?" + c.urlParams_.Encode()
 16235  	req, err := http.NewRequest("PUT", urls, body)
 16236  	if err != nil {
 16237  		return nil, err
 16238  	}
 16239  	req.Header = reqHeaders
 16240  	googleapi.Expand(req.URL, map[string]string{
 16241  		"profileId": strconv.FormatInt(c.profileId, 10),
 16242  	})
 16243  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16244  }
 16245  
 16246  // Do executes the "dfareporting.accounts.update" call.
 16247  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 16248  // code is an error. Response headers are in either
 16249  // *Account.ServerResponse.Header or (if a response was returned at all)
 16250  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16251  // check whether the returned error was because http.StatusNotModified
 16252  // was returned.
 16253  func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 16254  	gensupport.SetOptions(c.urlParams_, opts...)
 16255  	res, err := c.doRequest("json")
 16256  	if res != nil && res.StatusCode == http.StatusNotModified {
 16257  		if res.Body != nil {
 16258  			res.Body.Close()
 16259  		}
 16260  		return nil, &googleapi.Error{
 16261  			Code:   res.StatusCode,
 16262  			Header: res.Header,
 16263  		}
 16264  	}
 16265  	if err != nil {
 16266  		return nil, err
 16267  	}
 16268  	defer googleapi.CloseBody(res)
 16269  	if err := googleapi.CheckResponse(res); err != nil {
 16270  		return nil, err
 16271  	}
 16272  	ret := &Account{
 16273  		ServerResponse: googleapi.ServerResponse{
 16274  			Header:         res.Header,
 16275  			HTTPStatusCode: res.StatusCode,
 16276  		},
 16277  	}
 16278  	target := &ret
 16279  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16280  		return nil, err
 16281  	}
 16282  	return ret, nil
 16283  	// {
 16284  	//   "description": "Updates an existing account.",
 16285  	//   "httpMethod": "PUT",
 16286  	//   "id": "dfareporting.accounts.update",
 16287  	//   "parameterOrder": [
 16288  	//     "profileId"
 16289  	//   ],
 16290  	//   "parameters": {
 16291  	//     "profileId": {
 16292  	//       "description": "User profile ID associated with this request.",
 16293  	//       "format": "int64",
 16294  	//       "location": "path",
 16295  	//       "required": true,
 16296  	//       "type": "string"
 16297  	//     }
 16298  	//   },
 16299  	//   "path": "userprofiles/{profileId}/accounts",
 16300  	//   "request": {
 16301  	//     "$ref": "Account"
 16302  	//   },
 16303  	//   "response": {
 16304  	//     "$ref": "Account"
 16305  	//   },
 16306  	//   "scopes": [
 16307  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16308  	//   ]
 16309  	// }
 16310  
 16311  }
 16312  
 16313  // method id "dfareporting.ads.get":
 16314  
 16315  type AdsGetCall struct {
 16316  	s            *Service
 16317  	profileId    int64
 16318  	id           int64
 16319  	urlParams_   gensupport.URLParams
 16320  	ifNoneMatch_ string
 16321  	ctx_         context.Context
 16322  	header_      http.Header
 16323  }
 16324  
 16325  // Get: Gets one ad by ID.
 16326  func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
 16327  	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16328  	c.profileId = profileId
 16329  	c.id = id
 16330  	return c
 16331  }
 16332  
 16333  // Fields allows partial responses to be retrieved. See
 16334  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16335  // for more information.
 16336  func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
 16337  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16338  	return c
 16339  }
 16340  
 16341  // IfNoneMatch sets the optional parameter which makes the operation
 16342  // fail if the object's ETag matches the given value. This is useful for
 16343  // getting updates only after the object has changed since the last
 16344  // request. Use googleapi.IsNotModified to check whether the response
 16345  // error from Do is the result of In-None-Match.
 16346  func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
 16347  	c.ifNoneMatch_ = entityTag
 16348  	return c
 16349  }
 16350  
 16351  // Context sets the context to be used in this call's Do method. Any
 16352  // pending HTTP request will be aborted if the provided context is
 16353  // canceled.
 16354  func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
 16355  	c.ctx_ = ctx
 16356  	return c
 16357  }
 16358  
 16359  // Header returns an http.Header that can be modified by the caller to
 16360  // add HTTP headers to the request.
 16361  func (c *AdsGetCall) Header() http.Header {
 16362  	if c.header_ == nil {
 16363  		c.header_ = make(http.Header)
 16364  	}
 16365  	return c.header_
 16366  }
 16367  
 16368  func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 16369  	reqHeaders := make(http.Header)
 16370  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16371  	for k, v := range c.header_ {
 16372  		reqHeaders[k] = v
 16373  	}
 16374  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16375  	if c.ifNoneMatch_ != "" {
 16376  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16377  	}
 16378  	var body io.Reader = nil
 16379  	c.urlParams_.Set("alt", alt)
 16380  	c.urlParams_.Set("prettyPrint", "false")
 16381  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
 16382  	urls += "?" + c.urlParams_.Encode()
 16383  	req, err := http.NewRequest("GET", urls, body)
 16384  	if err != nil {
 16385  		return nil, err
 16386  	}
 16387  	req.Header = reqHeaders
 16388  	googleapi.Expand(req.URL, map[string]string{
 16389  		"profileId": strconv.FormatInt(c.profileId, 10),
 16390  		"id":        strconv.FormatInt(c.id, 10),
 16391  	})
 16392  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16393  }
 16394  
 16395  // Do executes the "dfareporting.ads.get" call.
 16396  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 16397  // is an error. Response headers are in either *Ad.ServerResponse.Header
 16398  // or (if a response was returned at all) in
 16399  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16400  // whether the returned error was because http.StatusNotModified was
 16401  // returned.
 16402  func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 16403  	gensupport.SetOptions(c.urlParams_, opts...)
 16404  	res, err := c.doRequest("json")
 16405  	if res != nil && res.StatusCode == http.StatusNotModified {
 16406  		if res.Body != nil {
 16407  			res.Body.Close()
 16408  		}
 16409  		return nil, &googleapi.Error{
 16410  			Code:   res.StatusCode,
 16411  			Header: res.Header,
 16412  		}
 16413  	}
 16414  	if err != nil {
 16415  		return nil, err
 16416  	}
 16417  	defer googleapi.CloseBody(res)
 16418  	if err := googleapi.CheckResponse(res); err != nil {
 16419  		return nil, err
 16420  	}
 16421  	ret := &Ad{
 16422  		ServerResponse: googleapi.ServerResponse{
 16423  			Header:         res.Header,
 16424  			HTTPStatusCode: res.StatusCode,
 16425  		},
 16426  	}
 16427  	target := &ret
 16428  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16429  		return nil, err
 16430  	}
 16431  	return ret, nil
 16432  	// {
 16433  	//   "description": "Gets one ad by ID.",
 16434  	//   "httpMethod": "GET",
 16435  	//   "id": "dfareporting.ads.get",
 16436  	//   "parameterOrder": [
 16437  	//     "profileId",
 16438  	//     "id"
 16439  	//   ],
 16440  	//   "parameters": {
 16441  	//     "id": {
 16442  	//       "description": "Ad ID.",
 16443  	//       "format": "int64",
 16444  	//       "location": "path",
 16445  	//       "required": true,
 16446  	//       "type": "string"
 16447  	//     },
 16448  	//     "profileId": {
 16449  	//       "description": "User profile ID associated with this request.",
 16450  	//       "format": "int64",
 16451  	//       "location": "path",
 16452  	//       "required": true,
 16453  	//       "type": "string"
 16454  	//     }
 16455  	//   },
 16456  	//   "path": "userprofiles/{profileId}/ads/{id}",
 16457  	//   "response": {
 16458  	//     "$ref": "Ad"
 16459  	//   },
 16460  	//   "scopes": [
 16461  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16462  	//   ]
 16463  	// }
 16464  
 16465  }
 16466  
 16467  // method id "dfareporting.ads.insert":
 16468  
 16469  type AdsInsertCall struct {
 16470  	s          *Service
 16471  	profileId  int64
 16472  	ad         *Ad
 16473  	urlParams_ gensupport.URLParams
 16474  	ctx_       context.Context
 16475  	header_    http.Header
 16476  }
 16477  
 16478  // Insert: Inserts a new ad.
 16479  func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
 16480  	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16481  	c.profileId = profileId
 16482  	c.ad = ad
 16483  	return c
 16484  }
 16485  
 16486  // Fields allows partial responses to be retrieved. See
 16487  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16488  // for more information.
 16489  func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
 16490  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16491  	return c
 16492  }
 16493  
 16494  // Context sets the context to be used in this call's Do method. Any
 16495  // pending HTTP request will be aborted if the provided context is
 16496  // canceled.
 16497  func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
 16498  	c.ctx_ = ctx
 16499  	return c
 16500  }
 16501  
 16502  // Header returns an http.Header that can be modified by the caller to
 16503  // add HTTP headers to the request.
 16504  func (c *AdsInsertCall) Header() http.Header {
 16505  	if c.header_ == nil {
 16506  		c.header_ = make(http.Header)
 16507  	}
 16508  	return c.header_
 16509  }
 16510  
 16511  func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
 16512  	reqHeaders := make(http.Header)
 16513  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16514  	for k, v := range c.header_ {
 16515  		reqHeaders[k] = v
 16516  	}
 16517  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16518  	var body io.Reader = nil
 16519  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 16520  	if err != nil {
 16521  		return nil, err
 16522  	}
 16523  	reqHeaders.Set("Content-Type", "application/json")
 16524  	c.urlParams_.Set("alt", alt)
 16525  	c.urlParams_.Set("prettyPrint", "false")
 16526  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 16527  	urls += "?" + c.urlParams_.Encode()
 16528  	req, err := http.NewRequest("POST", urls, body)
 16529  	if err != nil {
 16530  		return nil, err
 16531  	}
 16532  	req.Header = reqHeaders
 16533  	googleapi.Expand(req.URL, map[string]string{
 16534  		"profileId": strconv.FormatInt(c.profileId, 10),
 16535  	})
 16536  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16537  }
 16538  
 16539  // Do executes the "dfareporting.ads.insert" call.
 16540  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 16541  // is an error. Response headers are in either *Ad.ServerResponse.Header
 16542  // or (if a response was returned at all) in
 16543  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16544  // whether the returned error was because http.StatusNotModified was
 16545  // returned.
 16546  func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 16547  	gensupport.SetOptions(c.urlParams_, opts...)
 16548  	res, err := c.doRequest("json")
 16549  	if res != nil && res.StatusCode == http.StatusNotModified {
 16550  		if res.Body != nil {
 16551  			res.Body.Close()
 16552  		}
 16553  		return nil, &googleapi.Error{
 16554  			Code:   res.StatusCode,
 16555  			Header: res.Header,
 16556  		}
 16557  	}
 16558  	if err != nil {
 16559  		return nil, err
 16560  	}
 16561  	defer googleapi.CloseBody(res)
 16562  	if err := googleapi.CheckResponse(res); err != nil {
 16563  		return nil, err
 16564  	}
 16565  	ret := &Ad{
 16566  		ServerResponse: googleapi.ServerResponse{
 16567  			Header:         res.Header,
 16568  			HTTPStatusCode: res.StatusCode,
 16569  		},
 16570  	}
 16571  	target := &ret
 16572  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16573  		return nil, err
 16574  	}
 16575  	return ret, nil
 16576  	// {
 16577  	//   "description": "Inserts a new ad.",
 16578  	//   "httpMethod": "POST",
 16579  	//   "id": "dfareporting.ads.insert",
 16580  	//   "parameterOrder": [
 16581  	//     "profileId"
 16582  	//   ],
 16583  	//   "parameters": {
 16584  	//     "profileId": {
 16585  	//       "description": "User profile ID associated with this request.",
 16586  	//       "format": "int64",
 16587  	//       "location": "path",
 16588  	//       "required": true,
 16589  	//       "type": "string"
 16590  	//     }
 16591  	//   },
 16592  	//   "path": "userprofiles/{profileId}/ads",
 16593  	//   "request": {
 16594  	//     "$ref": "Ad"
 16595  	//   },
 16596  	//   "response": {
 16597  	//     "$ref": "Ad"
 16598  	//   },
 16599  	//   "scopes": [
 16600  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16601  	//   ]
 16602  	// }
 16603  
 16604  }
 16605  
 16606  // method id "dfareporting.ads.list":
 16607  
 16608  type AdsListCall struct {
 16609  	s            *Service
 16610  	profileId    int64
 16611  	urlParams_   gensupport.URLParams
 16612  	ifNoneMatch_ string
 16613  	ctx_         context.Context
 16614  	header_      http.Header
 16615  }
 16616  
 16617  // List: Retrieves a list of ads, possibly filtered. This method
 16618  // supports paging.
 16619  func (r *AdsService) List(profileId int64) *AdsListCall {
 16620  	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16621  	c.profileId = profileId
 16622  	return c
 16623  }
 16624  
 16625  // Active sets the optional parameter "active": Select only active ads.
 16626  func (c *AdsListCall) Active(active bool) *AdsListCall {
 16627  	c.urlParams_.Set("active", fmt.Sprint(active))
 16628  	return c
 16629  }
 16630  
 16631  // AdvertiserId sets the optional parameter "advertiserId": Select only
 16632  // ads with this advertiser ID.
 16633  func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
 16634  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 16635  	return c
 16636  }
 16637  
 16638  // Archived sets the optional parameter "archived": Select only archived
 16639  // ads.
 16640  func (c *AdsListCall) Archived(archived bool) *AdsListCall {
 16641  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 16642  	return c
 16643  }
 16644  
 16645  // AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
 16646  // Select only ads with these audience segment IDs.
 16647  func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
 16648  	var audienceSegmentIds_ []string
 16649  	for _, v := range audienceSegmentIds {
 16650  		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
 16651  	}
 16652  	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
 16653  	return c
 16654  }
 16655  
 16656  // CampaignIds sets the optional parameter "campaignIds": Select only
 16657  // ads with these campaign IDs.
 16658  func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
 16659  	var campaignIds_ []string
 16660  	for _, v := range campaignIds {
 16661  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 16662  	}
 16663  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 16664  	return c
 16665  }
 16666  
 16667  // Compatibility sets the optional parameter "compatibility": Select
 16668  // default ads with the specified compatibility. Applicable when type is
 16669  // AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
 16670  // rendering either on desktop or on mobile devices for regular or
 16671  // interstitial ads, respectively. APP and APP_INTERSTITIAL are for
 16672  // rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
 16673  // in-stream video ads developed with the VAST standard.
 16674  //
 16675  // Possible values:
 16676  //
 16677  //	"APP"
 16678  //	"APP_INTERSTITIAL"
 16679  //	"DISPLAY"
 16680  //	"DISPLAY_INTERSTITIAL"
 16681  //	"IN_STREAM_AUDIO"
 16682  //	"IN_STREAM_VIDEO"
 16683  func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
 16684  	c.urlParams_.Set("compatibility", compatibility)
 16685  	return c
 16686  }
 16687  
 16688  // CreativeIds sets the optional parameter "creativeIds": Select only
 16689  // ads with these creative IDs assigned.
 16690  func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
 16691  	var creativeIds_ []string
 16692  	for _, v := range creativeIds {
 16693  		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
 16694  	}
 16695  	c.urlParams_.SetMulti("creativeIds", creativeIds_)
 16696  	return c
 16697  }
 16698  
 16699  // CreativeOptimizationConfigurationIds sets the optional parameter
 16700  // "creativeOptimizationConfigurationIds": Select only ads with these
 16701  // creative optimization configuration IDs.
 16702  func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
 16703  	var creativeOptimizationConfigurationIds_ []string
 16704  	for _, v := range creativeOptimizationConfigurationIds {
 16705  		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
 16706  	}
 16707  	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
 16708  	return c
 16709  }
 16710  
 16711  // DynamicClickTracker sets the optional parameter
 16712  // "dynamicClickTracker": Select only dynamic click trackers. Applicable
 16713  // when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
 16714  // trackers. If false, select static click trackers. Leave unset to
 16715  // select both.
 16716  func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
 16717  	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
 16718  	return c
 16719  }
 16720  
 16721  // Ids sets the optional parameter "ids": Select only ads with these
 16722  // IDs.
 16723  func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
 16724  	var ids_ []string
 16725  	for _, v := range ids {
 16726  		ids_ = append(ids_, fmt.Sprint(v))
 16727  	}
 16728  	c.urlParams_.SetMulti("ids", ids_)
 16729  	return c
 16730  }
 16731  
 16732  // LandingPageIds sets the optional parameter "landingPageIds": Select
 16733  // only ads with these landing page IDs.
 16734  func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
 16735  	var landingPageIds_ []string
 16736  	for _, v := range landingPageIds {
 16737  		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
 16738  	}
 16739  	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
 16740  	return c
 16741  }
 16742  
 16743  // MaxResults sets the optional parameter "maxResults": Maximum number
 16744  // of results to return.
 16745  func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
 16746  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 16747  	return c
 16748  }
 16749  
 16750  // OverriddenEventTagId sets the optional parameter
 16751  // "overriddenEventTagId": Select only ads with this event tag override
 16752  // ID.
 16753  func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
 16754  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 16755  	return c
 16756  }
 16757  
 16758  // PageToken sets the optional parameter "pageToken": Value of the
 16759  // nextPageToken from the previous result page.
 16760  func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
 16761  	c.urlParams_.Set("pageToken", pageToken)
 16762  	return c
 16763  }
 16764  
 16765  // PlacementIds sets the optional parameter "placementIds": Select only
 16766  // ads with these placement IDs assigned.
 16767  func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
 16768  	var placementIds_ []string
 16769  	for _, v := range placementIds {
 16770  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 16771  	}
 16772  	c.urlParams_.SetMulti("placementIds", placementIds_)
 16773  	return c
 16774  }
 16775  
 16776  // RemarketingListIds sets the optional parameter "remarketingListIds":
 16777  // Select only ads whose list targeting expression use these remarketing
 16778  // list IDs.
 16779  func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
 16780  	var remarketingListIds_ []string
 16781  	for _, v := range remarketingListIds {
 16782  		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
 16783  	}
 16784  	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
 16785  	return c
 16786  }
 16787  
 16788  // SearchString sets the optional parameter "searchString": Allows
 16789  // searching for objects by name or ID. Wildcards (*) are allowed. For
 16790  // example, "ad*2015" will return objects with names like "ad June
 16791  // 2015", "ad April 2015", or simply "ad 2015". Most of the searches
 16792  // also add wildcards implicitly at the start and the end of the search
 16793  // string. For example, a search string of "ad" will match objects with
 16794  // name "my ad", "ad 2015", or simply "ad".
 16795  func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
 16796  	c.urlParams_.Set("searchString", searchString)
 16797  	return c
 16798  }
 16799  
 16800  // SizeIds sets the optional parameter "sizeIds": Select only ads with
 16801  // these size IDs.
 16802  func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
 16803  	var sizeIds_ []string
 16804  	for _, v := range sizeIds {
 16805  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 16806  	}
 16807  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 16808  	return c
 16809  }
 16810  
 16811  // SortField sets the optional parameter "sortField": Field by which to
 16812  // sort the list.
 16813  //
 16814  // Possible values:
 16815  //
 16816  //	"ID" (default)
 16817  //	"NAME"
 16818  func (c *AdsListCall) SortField(sortField string) *AdsListCall {
 16819  	c.urlParams_.Set("sortField", sortField)
 16820  	return c
 16821  }
 16822  
 16823  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 16824  // results.
 16825  //
 16826  // Possible values:
 16827  //
 16828  //	"ASCENDING" (default)
 16829  //	"DESCENDING"
 16830  func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
 16831  	c.urlParams_.Set("sortOrder", sortOrder)
 16832  	return c
 16833  }
 16834  
 16835  // SslCompliant sets the optional parameter "sslCompliant": Select only
 16836  // ads that are SSL-compliant.
 16837  func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
 16838  	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
 16839  	return c
 16840  }
 16841  
 16842  // SslRequired sets the optional parameter "sslRequired": Select only
 16843  // ads that require SSL.
 16844  func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
 16845  	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
 16846  	return c
 16847  }
 16848  
 16849  // Type sets the optional parameter "type": Select only ads with these
 16850  // types.
 16851  //
 16852  // Possible values:
 16853  //
 16854  //	"AD_SERVING_CLICK_TRACKER"
 16855  //	"AD_SERVING_DEFAULT_AD"
 16856  //	"AD_SERVING_STANDARD_AD"
 16857  //	"AD_SERVING_TRACKING"
 16858  func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
 16859  	c.urlParams_.SetMulti("type", append([]string{}, type_...))
 16860  	return c
 16861  }
 16862  
 16863  // Fields allows partial responses to be retrieved. See
 16864  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16865  // for more information.
 16866  func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
 16867  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16868  	return c
 16869  }
 16870  
 16871  // IfNoneMatch sets the optional parameter which makes the operation
 16872  // fail if the object's ETag matches the given value. This is useful for
 16873  // getting updates only after the object has changed since the last
 16874  // request. Use googleapi.IsNotModified to check whether the response
 16875  // error from Do is the result of In-None-Match.
 16876  func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
 16877  	c.ifNoneMatch_ = entityTag
 16878  	return c
 16879  }
 16880  
 16881  // Context sets the context to be used in this call's Do method. Any
 16882  // pending HTTP request will be aborted if the provided context is
 16883  // canceled.
 16884  func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
 16885  	c.ctx_ = ctx
 16886  	return c
 16887  }
 16888  
 16889  // Header returns an http.Header that can be modified by the caller to
 16890  // add HTTP headers to the request.
 16891  func (c *AdsListCall) Header() http.Header {
 16892  	if c.header_ == nil {
 16893  		c.header_ = make(http.Header)
 16894  	}
 16895  	return c.header_
 16896  }
 16897  
 16898  func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 16899  	reqHeaders := make(http.Header)
 16900  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16901  	for k, v := range c.header_ {
 16902  		reqHeaders[k] = v
 16903  	}
 16904  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16905  	if c.ifNoneMatch_ != "" {
 16906  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16907  	}
 16908  	var body io.Reader = nil
 16909  	c.urlParams_.Set("alt", alt)
 16910  	c.urlParams_.Set("prettyPrint", "false")
 16911  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 16912  	urls += "?" + c.urlParams_.Encode()
 16913  	req, err := http.NewRequest("GET", urls, body)
 16914  	if err != nil {
 16915  		return nil, err
 16916  	}
 16917  	req.Header = reqHeaders
 16918  	googleapi.Expand(req.URL, map[string]string{
 16919  		"profileId": strconv.FormatInt(c.profileId, 10),
 16920  	})
 16921  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16922  }
 16923  
 16924  // Do executes the "dfareporting.ads.list" call.
 16925  // Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
 16926  // status code is an error. Response headers are in either
 16927  // *AdsListResponse.ServerResponse.Header or (if a response was returned
 16928  // at all) in error.(*googleapi.Error).Header. Use
 16929  // googleapi.IsNotModified to check whether the returned error was
 16930  // because http.StatusNotModified was returned.
 16931  func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
 16932  	gensupport.SetOptions(c.urlParams_, opts...)
 16933  	res, err := c.doRequest("json")
 16934  	if res != nil && res.StatusCode == http.StatusNotModified {
 16935  		if res.Body != nil {
 16936  			res.Body.Close()
 16937  		}
 16938  		return nil, &googleapi.Error{
 16939  			Code:   res.StatusCode,
 16940  			Header: res.Header,
 16941  		}
 16942  	}
 16943  	if err != nil {
 16944  		return nil, err
 16945  	}
 16946  	defer googleapi.CloseBody(res)
 16947  	if err := googleapi.CheckResponse(res); err != nil {
 16948  		return nil, err
 16949  	}
 16950  	ret := &AdsListResponse{
 16951  		ServerResponse: googleapi.ServerResponse{
 16952  			Header:         res.Header,
 16953  			HTTPStatusCode: res.StatusCode,
 16954  		},
 16955  	}
 16956  	target := &ret
 16957  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16958  		return nil, err
 16959  	}
 16960  	return ret, nil
 16961  	// {
 16962  	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
 16963  	//   "httpMethod": "GET",
 16964  	//   "id": "dfareporting.ads.list",
 16965  	//   "parameterOrder": [
 16966  	//     "profileId"
 16967  	//   ],
 16968  	//   "parameters": {
 16969  	//     "active": {
 16970  	//       "description": "Select only active ads.",
 16971  	//       "location": "query",
 16972  	//       "type": "boolean"
 16973  	//     },
 16974  	//     "advertiserId": {
 16975  	//       "description": "Select only ads with this advertiser ID.",
 16976  	//       "format": "int64",
 16977  	//       "location": "query",
 16978  	//       "type": "string"
 16979  	//     },
 16980  	//     "archived": {
 16981  	//       "description": "Select only archived ads.",
 16982  	//       "location": "query",
 16983  	//       "type": "boolean"
 16984  	//     },
 16985  	//     "audienceSegmentIds": {
 16986  	//       "description": "Select only ads with these audience segment IDs.",
 16987  	//       "format": "int64",
 16988  	//       "location": "query",
 16989  	//       "repeated": true,
 16990  	//       "type": "string"
 16991  	//     },
 16992  	//     "campaignIds": {
 16993  	//       "description": "Select only ads with these campaign IDs.",
 16994  	//       "format": "int64",
 16995  	//       "location": "query",
 16996  	//       "repeated": true,
 16997  	//       "type": "string"
 16998  	//     },
 16999  	//     "compatibility": {
 17000  	//       "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.",
 17001  	//       "enum": [
 17002  	//         "APP",
 17003  	//         "APP_INTERSTITIAL",
 17004  	//         "DISPLAY",
 17005  	//         "DISPLAY_INTERSTITIAL",
 17006  	//         "IN_STREAM_AUDIO",
 17007  	//         "IN_STREAM_VIDEO"
 17008  	//       ],
 17009  	//       "enumDescriptions": [
 17010  	//         "",
 17011  	//         "",
 17012  	//         "",
 17013  	//         "",
 17014  	//         "",
 17015  	//         ""
 17016  	//       ],
 17017  	//       "location": "query",
 17018  	//       "type": "string"
 17019  	//     },
 17020  	//     "creativeIds": {
 17021  	//       "description": "Select only ads with these creative IDs assigned.",
 17022  	//       "format": "int64",
 17023  	//       "location": "query",
 17024  	//       "repeated": true,
 17025  	//       "type": "string"
 17026  	//     },
 17027  	//     "creativeOptimizationConfigurationIds": {
 17028  	//       "description": "Select only ads with these creative optimization configuration IDs.",
 17029  	//       "format": "int64",
 17030  	//       "location": "query",
 17031  	//       "repeated": true,
 17032  	//       "type": "string"
 17033  	//     },
 17034  	//     "dynamicClickTracker": {
 17035  	//       "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.",
 17036  	//       "location": "query",
 17037  	//       "type": "boolean"
 17038  	//     },
 17039  	//     "ids": {
 17040  	//       "description": "Select only ads with these IDs.",
 17041  	//       "format": "int64",
 17042  	//       "location": "query",
 17043  	//       "repeated": true,
 17044  	//       "type": "string"
 17045  	//     },
 17046  	//     "landingPageIds": {
 17047  	//       "description": "Select only ads with these landing page IDs.",
 17048  	//       "format": "int64",
 17049  	//       "location": "query",
 17050  	//       "repeated": true,
 17051  	//       "type": "string"
 17052  	//     },
 17053  	//     "maxResults": {
 17054  	//       "default": "1000",
 17055  	//       "description": "Maximum number of results to return.",
 17056  	//       "format": "int32",
 17057  	//       "location": "query",
 17058  	//       "maximum": "1000",
 17059  	//       "minimum": "0",
 17060  	//       "type": "integer"
 17061  	//     },
 17062  	//     "overriddenEventTagId": {
 17063  	//       "description": "Select only ads with this event tag override ID.",
 17064  	//       "format": "int64",
 17065  	//       "location": "query",
 17066  	//       "type": "string"
 17067  	//     },
 17068  	//     "pageToken": {
 17069  	//       "description": "Value of the nextPageToken from the previous result page.",
 17070  	//       "location": "query",
 17071  	//       "type": "string"
 17072  	//     },
 17073  	//     "placementIds": {
 17074  	//       "description": "Select only ads with these placement IDs assigned.",
 17075  	//       "format": "int64",
 17076  	//       "location": "query",
 17077  	//       "repeated": true,
 17078  	//       "type": "string"
 17079  	//     },
 17080  	//     "profileId": {
 17081  	//       "description": "User profile ID associated with this request.",
 17082  	//       "format": "int64",
 17083  	//       "location": "path",
 17084  	//       "required": true,
 17085  	//       "type": "string"
 17086  	//     },
 17087  	//     "remarketingListIds": {
 17088  	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
 17089  	//       "format": "int64",
 17090  	//       "location": "query",
 17091  	//       "repeated": true,
 17092  	//       "type": "string"
 17093  	//     },
 17094  	//     "searchString": {
 17095  	//       "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\".",
 17096  	//       "location": "query",
 17097  	//       "type": "string"
 17098  	//     },
 17099  	//     "sizeIds": {
 17100  	//       "description": "Select only ads with these size IDs.",
 17101  	//       "format": "int64",
 17102  	//       "location": "query",
 17103  	//       "repeated": true,
 17104  	//       "type": "string"
 17105  	//     },
 17106  	//     "sortField": {
 17107  	//       "default": "ID",
 17108  	//       "description": "Field by which to sort the list.",
 17109  	//       "enum": [
 17110  	//         "ID",
 17111  	//         "NAME"
 17112  	//       ],
 17113  	//       "enumDescriptions": [
 17114  	//         "",
 17115  	//         ""
 17116  	//       ],
 17117  	//       "location": "query",
 17118  	//       "type": "string"
 17119  	//     },
 17120  	//     "sortOrder": {
 17121  	//       "default": "ASCENDING",
 17122  	//       "description": "Order of sorted results.",
 17123  	//       "enum": [
 17124  	//         "ASCENDING",
 17125  	//         "DESCENDING"
 17126  	//       ],
 17127  	//       "enumDescriptions": [
 17128  	//         "",
 17129  	//         ""
 17130  	//       ],
 17131  	//       "location": "query",
 17132  	//       "type": "string"
 17133  	//     },
 17134  	//     "sslCompliant": {
 17135  	//       "description": "Select only ads that are SSL-compliant.",
 17136  	//       "location": "query",
 17137  	//       "type": "boolean"
 17138  	//     },
 17139  	//     "sslRequired": {
 17140  	//       "description": "Select only ads that require SSL.",
 17141  	//       "location": "query",
 17142  	//       "type": "boolean"
 17143  	//     },
 17144  	//     "type": {
 17145  	//       "description": "Select only ads with these types.",
 17146  	//       "enum": [
 17147  	//         "AD_SERVING_CLICK_TRACKER",
 17148  	//         "AD_SERVING_DEFAULT_AD",
 17149  	//         "AD_SERVING_STANDARD_AD",
 17150  	//         "AD_SERVING_TRACKING"
 17151  	//       ],
 17152  	//       "enumDescriptions": [
 17153  	//         "",
 17154  	//         "",
 17155  	//         "",
 17156  	//         ""
 17157  	//       ],
 17158  	//       "location": "query",
 17159  	//       "repeated": true,
 17160  	//       "type": "string"
 17161  	//     }
 17162  	//   },
 17163  	//   "path": "userprofiles/{profileId}/ads",
 17164  	//   "response": {
 17165  	//     "$ref": "AdsListResponse"
 17166  	//   },
 17167  	//   "scopes": [
 17168  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17169  	//   ]
 17170  	// }
 17171  
 17172  }
 17173  
 17174  // Pages invokes f for each page of results.
 17175  // A non-nil error returned from f will halt the iteration.
 17176  // The provided context supersedes any context provided to the Context method.
 17177  func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
 17178  	c.ctx_ = ctx
 17179  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 17180  	for {
 17181  		x, err := c.Do()
 17182  		if err != nil {
 17183  			return err
 17184  		}
 17185  		if err := f(x); err != nil {
 17186  			return err
 17187  		}
 17188  		if x.NextPageToken == "" {
 17189  			return nil
 17190  		}
 17191  		c.PageToken(x.NextPageToken)
 17192  	}
 17193  }
 17194  
 17195  // method id "dfareporting.ads.patch":
 17196  
 17197  type AdsPatchCall struct {
 17198  	s          *Service
 17199  	profileId  int64
 17200  	ad         *Ad
 17201  	urlParams_ gensupport.URLParams
 17202  	ctx_       context.Context
 17203  	header_    http.Header
 17204  }
 17205  
 17206  // Patch: Updates an existing ad. This method supports patch semantics.
 17207  func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
 17208  	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17209  	c.profileId = profileId
 17210  	c.urlParams_.Set("id", fmt.Sprint(id))
 17211  	c.ad = ad
 17212  	return c
 17213  }
 17214  
 17215  // Fields allows partial responses to be retrieved. See
 17216  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17217  // for more information.
 17218  func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
 17219  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17220  	return c
 17221  }
 17222  
 17223  // Context sets the context to be used in this call's Do method. Any
 17224  // pending HTTP request will be aborted if the provided context is
 17225  // canceled.
 17226  func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
 17227  	c.ctx_ = ctx
 17228  	return c
 17229  }
 17230  
 17231  // Header returns an http.Header that can be modified by the caller to
 17232  // add HTTP headers to the request.
 17233  func (c *AdsPatchCall) Header() http.Header {
 17234  	if c.header_ == nil {
 17235  		c.header_ = make(http.Header)
 17236  	}
 17237  	return c.header_
 17238  }
 17239  
 17240  func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
 17241  	reqHeaders := make(http.Header)
 17242  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17243  	for k, v := range c.header_ {
 17244  		reqHeaders[k] = v
 17245  	}
 17246  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17247  	var body io.Reader = nil
 17248  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17249  	if err != nil {
 17250  		return nil, err
 17251  	}
 17252  	reqHeaders.Set("Content-Type", "application/json")
 17253  	c.urlParams_.Set("alt", alt)
 17254  	c.urlParams_.Set("prettyPrint", "false")
 17255  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17256  	urls += "?" + c.urlParams_.Encode()
 17257  	req, err := http.NewRequest("PATCH", urls, body)
 17258  	if err != nil {
 17259  		return nil, err
 17260  	}
 17261  	req.Header = reqHeaders
 17262  	googleapi.Expand(req.URL, map[string]string{
 17263  		"profileId": strconv.FormatInt(c.profileId, 10),
 17264  	})
 17265  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17266  }
 17267  
 17268  // Do executes the "dfareporting.ads.patch" call.
 17269  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17270  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17271  // or (if a response was returned at all) in
 17272  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17273  // whether the returned error was because http.StatusNotModified was
 17274  // returned.
 17275  func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17276  	gensupport.SetOptions(c.urlParams_, opts...)
 17277  	res, err := c.doRequest("json")
 17278  	if res != nil && res.StatusCode == http.StatusNotModified {
 17279  		if res.Body != nil {
 17280  			res.Body.Close()
 17281  		}
 17282  		return nil, &googleapi.Error{
 17283  			Code:   res.StatusCode,
 17284  			Header: res.Header,
 17285  		}
 17286  	}
 17287  	if err != nil {
 17288  		return nil, err
 17289  	}
 17290  	defer googleapi.CloseBody(res)
 17291  	if err := googleapi.CheckResponse(res); err != nil {
 17292  		return nil, err
 17293  	}
 17294  	ret := &Ad{
 17295  		ServerResponse: googleapi.ServerResponse{
 17296  			Header:         res.Header,
 17297  			HTTPStatusCode: res.StatusCode,
 17298  		},
 17299  	}
 17300  	target := &ret
 17301  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17302  		return nil, err
 17303  	}
 17304  	return ret, nil
 17305  	// {
 17306  	//   "description": "Updates an existing ad. This method supports patch semantics.",
 17307  	//   "httpMethod": "PATCH",
 17308  	//   "id": "dfareporting.ads.patch",
 17309  	//   "parameterOrder": [
 17310  	//     "profileId",
 17311  	//     "id"
 17312  	//   ],
 17313  	//   "parameters": {
 17314  	//     "id": {
 17315  	//       "description": "Ad ID.",
 17316  	//       "format": "int64",
 17317  	//       "location": "query",
 17318  	//       "required": true,
 17319  	//       "type": "string"
 17320  	//     },
 17321  	//     "profileId": {
 17322  	//       "description": "User profile ID associated with this request.",
 17323  	//       "format": "int64",
 17324  	//       "location": "path",
 17325  	//       "required": true,
 17326  	//       "type": "string"
 17327  	//     }
 17328  	//   },
 17329  	//   "path": "userprofiles/{profileId}/ads",
 17330  	//   "request": {
 17331  	//     "$ref": "Ad"
 17332  	//   },
 17333  	//   "response": {
 17334  	//     "$ref": "Ad"
 17335  	//   },
 17336  	//   "scopes": [
 17337  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17338  	//   ]
 17339  	// }
 17340  
 17341  }
 17342  
 17343  // method id "dfareporting.ads.update":
 17344  
 17345  type AdsUpdateCall struct {
 17346  	s          *Service
 17347  	profileId  int64
 17348  	ad         *Ad
 17349  	urlParams_ gensupport.URLParams
 17350  	ctx_       context.Context
 17351  	header_    http.Header
 17352  }
 17353  
 17354  // Update: Updates an existing ad.
 17355  func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
 17356  	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17357  	c.profileId = profileId
 17358  	c.ad = ad
 17359  	return c
 17360  }
 17361  
 17362  // Fields allows partial responses to be retrieved. See
 17363  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17364  // for more information.
 17365  func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
 17366  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17367  	return c
 17368  }
 17369  
 17370  // Context sets the context to be used in this call's Do method. Any
 17371  // pending HTTP request will be aborted if the provided context is
 17372  // canceled.
 17373  func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
 17374  	c.ctx_ = ctx
 17375  	return c
 17376  }
 17377  
 17378  // Header returns an http.Header that can be modified by the caller to
 17379  // add HTTP headers to the request.
 17380  func (c *AdsUpdateCall) Header() http.Header {
 17381  	if c.header_ == nil {
 17382  		c.header_ = make(http.Header)
 17383  	}
 17384  	return c.header_
 17385  }
 17386  
 17387  func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
 17388  	reqHeaders := make(http.Header)
 17389  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17390  	for k, v := range c.header_ {
 17391  		reqHeaders[k] = v
 17392  	}
 17393  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17394  	var body io.Reader = nil
 17395  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17396  	if err != nil {
 17397  		return nil, err
 17398  	}
 17399  	reqHeaders.Set("Content-Type", "application/json")
 17400  	c.urlParams_.Set("alt", alt)
 17401  	c.urlParams_.Set("prettyPrint", "false")
 17402  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17403  	urls += "?" + c.urlParams_.Encode()
 17404  	req, err := http.NewRequest("PUT", urls, body)
 17405  	if err != nil {
 17406  		return nil, err
 17407  	}
 17408  	req.Header = reqHeaders
 17409  	googleapi.Expand(req.URL, map[string]string{
 17410  		"profileId": strconv.FormatInt(c.profileId, 10),
 17411  	})
 17412  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17413  }
 17414  
 17415  // Do executes the "dfareporting.ads.update" call.
 17416  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17417  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17418  // or (if a response was returned at all) in
 17419  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17420  // whether the returned error was because http.StatusNotModified was
 17421  // returned.
 17422  func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17423  	gensupport.SetOptions(c.urlParams_, opts...)
 17424  	res, err := c.doRequest("json")
 17425  	if res != nil && res.StatusCode == http.StatusNotModified {
 17426  		if res.Body != nil {
 17427  			res.Body.Close()
 17428  		}
 17429  		return nil, &googleapi.Error{
 17430  			Code:   res.StatusCode,
 17431  			Header: res.Header,
 17432  		}
 17433  	}
 17434  	if err != nil {
 17435  		return nil, err
 17436  	}
 17437  	defer googleapi.CloseBody(res)
 17438  	if err := googleapi.CheckResponse(res); err != nil {
 17439  		return nil, err
 17440  	}
 17441  	ret := &Ad{
 17442  		ServerResponse: googleapi.ServerResponse{
 17443  			Header:         res.Header,
 17444  			HTTPStatusCode: res.StatusCode,
 17445  		},
 17446  	}
 17447  	target := &ret
 17448  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17449  		return nil, err
 17450  	}
 17451  	return ret, nil
 17452  	// {
 17453  	//   "description": "Updates an existing ad.",
 17454  	//   "httpMethod": "PUT",
 17455  	//   "id": "dfareporting.ads.update",
 17456  	//   "parameterOrder": [
 17457  	//     "profileId"
 17458  	//   ],
 17459  	//   "parameters": {
 17460  	//     "profileId": {
 17461  	//       "description": "User profile ID associated with this request.",
 17462  	//       "format": "int64",
 17463  	//       "location": "path",
 17464  	//       "required": true,
 17465  	//       "type": "string"
 17466  	//     }
 17467  	//   },
 17468  	//   "path": "userprofiles/{profileId}/ads",
 17469  	//   "request": {
 17470  	//     "$ref": "Ad"
 17471  	//   },
 17472  	//   "response": {
 17473  	//     "$ref": "Ad"
 17474  	//   },
 17475  	//   "scopes": [
 17476  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17477  	//   ]
 17478  	// }
 17479  
 17480  }
 17481  
 17482  // method id "dfareporting.advertiserGroups.delete":
 17483  
 17484  type AdvertiserGroupsDeleteCall struct {
 17485  	s          *Service
 17486  	profileId  int64
 17487  	id         int64
 17488  	urlParams_ gensupport.URLParams
 17489  	ctx_       context.Context
 17490  	header_    http.Header
 17491  }
 17492  
 17493  // Delete: Deletes an existing advertiser group.
 17494  func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
 17495  	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17496  	c.profileId = profileId
 17497  	c.id = id
 17498  	return c
 17499  }
 17500  
 17501  // Fields allows partial responses to be retrieved. See
 17502  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17503  // for more information.
 17504  func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
 17505  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17506  	return c
 17507  }
 17508  
 17509  // Context sets the context to be used in this call's Do method. Any
 17510  // pending HTTP request will be aborted if the provided context is
 17511  // canceled.
 17512  func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
 17513  	c.ctx_ = ctx
 17514  	return c
 17515  }
 17516  
 17517  // Header returns an http.Header that can be modified by the caller to
 17518  // add HTTP headers to the request.
 17519  func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
 17520  	if c.header_ == nil {
 17521  		c.header_ = make(http.Header)
 17522  	}
 17523  	return c.header_
 17524  }
 17525  
 17526  func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 17527  	reqHeaders := make(http.Header)
 17528  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17529  	for k, v := range c.header_ {
 17530  		reqHeaders[k] = v
 17531  	}
 17532  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17533  	var body io.Reader = nil
 17534  	c.urlParams_.Set("alt", alt)
 17535  	c.urlParams_.Set("prettyPrint", "false")
 17536  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 17537  	urls += "?" + c.urlParams_.Encode()
 17538  	req, err := http.NewRequest("DELETE", urls, body)
 17539  	if err != nil {
 17540  		return nil, err
 17541  	}
 17542  	req.Header = reqHeaders
 17543  	googleapi.Expand(req.URL, map[string]string{
 17544  		"profileId": strconv.FormatInt(c.profileId, 10),
 17545  		"id":        strconv.FormatInt(c.id, 10),
 17546  	})
 17547  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17548  }
 17549  
 17550  // Do executes the "dfareporting.advertiserGroups.delete" call.
 17551  func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
 17552  	gensupport.SetOptions(c.urlParams_, opts...)
 17553  	res, err := c.doRequest("json")
 17554  	if err != nil {
 17555  		return err
 17556  	}
 17557  	defer googleapi.CloseBody(res)
 17558  	if err := googleapi.CheckResponse(res); err != nil {
 17559  		return err
 17560  	}
 17561  	return nil
 17562  	// {
 17563  	//   "description": "Deletes an existing advertiser group.",
 17564  	//   "httpMethod": "DELETE",
 17565  	//   "id": "dfareporting.advertiserGroups.delete",
 17566  	//   "parameterOrder": [
 17567  	//     "profileId",
 17568  	//     "id"
 17569  	//   ],
 17570  	//   "parameters": {
 17571  	//     "id": {
 17572  	//       "description": "Advertiser group ID.",
 17573  	//       "format": "int64",
 17574  	//       "location": "path",
 17575  	//       "required": true,
 17576  	//       "type": "string"
 17577  	//     },
 17578  	//     "profileId": {
 17579  	//       "description": "User profile ID associated with this request.",
 17580  	//       "format": "int64",
 17581  	//       "location": "path",
 17582  	//       "required": true,
 17583  	//       "type": "string"
 17584  	//     }
 17585  	//   },
 17586  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 17587  	//   "scopes": [
 17588  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17589  	//   ]
 17590  	// }
 17591  
 17592  }
 17593  
 17594  // method id "dfareporting.advertiserGroups.get":
 17595  
 17596  type AdvertiserGroupsGetCall struct {
 17597  	s            *Service
 17598  	profileId    int64
 17599  	id           int64
 17600  	urlParams_   gensupport.URLParams
 17601  	ifNoneMatch_ string
 17602  	ctx_         context.Context
 17603  	header_      http.Header
 17604  }
 17605  
 17606  // Get: Gets one advertiser group by ID.
 17607  func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
 17608  	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17609  	c.profileId = profileId
 17610  	c.id = id
 17611  	return c
 17612  }
 17613  
 17614  // Fields allows partial responses to be retrieved. See
 17615  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17616  // for more information.
 17617  func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
 17618  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17619  	return c
 17620  }
 17621  
 17622  // IfNoneMatch sets the optional parameter which makes the operation
 17623  // fail if the object's ETag matches the given value. This is useful for
 17624  // getting updates only after the object has changed since the last
 17625  // request. Use googleapi.IsNotModified to check whether the response
 17626  // error from Do is the result of In-None-Match.
 17627  func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
 17628  	c.ifNoneMatch_ = entityTag
 17629  	return c
 17630  }
 17631  
 17632  // Context sets the context to be used in this call's Do method. Any
 17633  // pending HTTP request will be aborted if the provided context is
 17634  // canceled.
 17635  func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
 17636  	c.ctx_ = ctx
 17637  	return c
 17638  }
 17639  
 17640  // Header returns an http.Header that can be modified by the caller to
 17641  // add HTTP headers to the request.
 17642  func (c *AdvertiserGroupsGetCall) Header() http.Header {
 17643  	if c.header_ == nil {
 17644  		c.header_ = make(http.Header)
 17645  	}
 17646  	return c.header_
 17647  }
 17648  
 17649  func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 17650  	reqHeaders := make(http.Header)
 17651  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17652  	for k, v := range c.header_ {
 17653  		reqHeaders[k] = v
 17654  	}
 17655  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17656  	if c.ifNoneMatch_ != "" {
 17657  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17658  	}
 17659  	var body io.Reader = nil
 17660  	c.urlParams_.Set("alt", alt)
 17661  	c.urlParams_.Set("prettyPrint", "false")
 17662  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 17663  	urls += "?" + c.urlParams_.Encode()
 17664  	req, err := http.NewRequest("GET", urls, body)
 17665  	if err != nil {
 17666  		return nil, err
 17667  	}
 17668  	req.Header = reqHeaders
 17669  	googleapi.Expand(req.URL, map[string]string{
 17670  		"profileId": strconv.FormatInt(c.profileId, 10),
 17671  		"id":        strconv.FormatInt(c.id, 10),
 17672  	})
 17673  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17674  }
 17675  
 17676  // Do executes the "dfareporting.advertiserGroups.get" call.
 17677  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 17678  // status code is an error. Response headers are in either
 17679  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 17680  // at all) in error.(*googleapi.Error).Header. Use
 17681  // googleapi.IsNotModified to check whether the returned error was
 17682  // because http.StatusNotModified was returned.
 17683  func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 17684  	gensupport.SetOptions(c.urlParams_, opts...)
 17685  	res, err := c.doRequest("json")
 17686  	if res != nil && res.StatusCode == http.StatusNotModified {
 17687  		if res.Body != nil {
 17688  			res.Body.Close()
 17689  		}
 17690  		return nil, &googleapi.Error{
 17691  			Code:   res.StatusCode,
 17692  			Header: res.Header,
 17693  		}
 17694  	}
 17695  	if err != nil {
 17696  		return nil, err
 17697  	}
 17698  	defer googleapi.CloseBody(res)
 17699  	if err := googleapi.CheckResponse(res); err != nil {
 17700  		return nil, err
 17701  	}
 17702  	ret := &AdvertiserGroup{
 17703  		ServerResponse: googleapi.ServerResponse{
 17704  			Header:         res.Header,
 17705  			HTTPStatusCode: res.StatusCode,
 17706  		},
 17707  	}
 17708  	target := &ret
 17709  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17710  		return nil, err
 17711  	}
 17712  	return ret, nil
 17713  	// {
 17714  	//   "description": "Gets one advertiser group by ID.",
 17715  	//   "httpMethod": "GET",
 17716  	//   "id": "dfareporting.advertiserGroups.get",
 17717  	//   "parameterOrder": [
 17718  	//     "profileId",
 17719  	//     "id"
 17720  	//   ],
 17721  	//   "parameters": {
 17722  	//     "id": {
 17723  	//       "description": "Advertiser group ID.",
 17724  	//       "format": "int64",
 17725  	//       "location": "path",
 17726  	//       "required": true,
 17727  	//       "type": "string"
 17728  	//     },
 17729  	//     "profileId": {
 17730  	//       "description": "User profile ID associated with this request.",
 17731  	//       "format": "int64",
 17732  	//       "location": "path",
 17733  	//       "required": true,
 17734  	//       "type": "string"
 17735  	//     }
 17736  	//   },
 17737  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 17738  	//   "response": {
 17739  	//     "$ref": "AdvertiserGroup"
 17740  	//   },
 17741  	//   "scopes": [
 17742  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17743  	//   ]
 17744  	// }
 17745  
 17746  }
 17747  
 17748  // method id "dfareporting.advertiserGroups.insert":
 17749  
 17750  type AdvertiserGroupsInsertCall struct {
 17751  	s               *Service
 17752  	profileId       int64
 17753  	advertisergroup *AdvertiserGroup
 17754  	urlParams_      gensupport.URLParams
 17755  	ctx_            context.Context
 17756  	header_         http.Header
 17757  }
 17758  
 17759  // Insert: Inserts a new advertiser group.
 17760  func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
 17761  	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17762  	c.profileId = profileId
 17763  	c.advertisergroup = advertisergroup
 17764  	return c
 17765  }
 17766  
 17767  // Fields allows partial responses to be retrieved. See
 17768  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17769  // for more information.
 17770  func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
 17771  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17772  	return c
 17773  }
 17774  
 17775  // Context sets the context to be used in this call's Do method. Any
 17776  // pending HTTP request will be aborted if the provided context is
 17777  // canceled.
 17778  func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
 17779  	c.ctx_ = ctx
 17780  	return c
 17781  }
 17782  
 17783  // Header returns an http.Header that can be modified by the caller to
 17784  // add HTTP headers to the request.
 17785  func (c *AdvertiserGroupsInsertCall) Header() http.Header {
 17786  	if c.header_ == nil {
 17787  		c.header_ = make(http.Header)
 17788  	}
 17789  	return c.header_
 17790  }
 17791  
 17792  func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 17793  	reqHeaders := make(http.Header)
 17794  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17795  	for k, v := range c.header_ {
 17796  		reqHeaders[k] = v
 17797  	}
 17798  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17799  	var body io.Reader = nil
 17800  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 17801  	if err != nil {
 17802  		return nil, err
 17803  	}
 17804  	reqHeaders.Set("Content-Type", "application/json")
 17805  	c.urlParams_.Set("alt", alt)
 17806  	c.urlParams_.Set("prettyPrint", "false")
 17807  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 17808  	urls += "?" + c.urlParams_.Encode()
 17809  	req, err := http.NewRequest("POST", urls, body)
 17810  	if err != nil {
 17811  		return nil, err
 17812  	}
 17813  	req.Header = reqHeaders
 17814  	googleapi.Expand(req.URL, map[string]string{
 17815  		"profileId": strconv.FormatInt(c.profileId, 10),
 17816  	})
 17817  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17818  }
 17819  
 17820  // Do executes the "dfareporting.advertiserGroups.insert" call.
 17821  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 17822  // status code is an error. Response headers are in either
 17823  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 17824  // at all) in error.(*googleapi.Error).Header. Use
 17825  // googleapi.IsNotModified to check whether the returned error was
 17826  // because http.StatusNotModified was returned.
 17827  func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 17828  	gensupport.SetOptions(c.urlParams_, opts...)
 17829  	res, err := c.doRequest("json")
 17830  	if res != nil && res.StatusCode == http.StatusNotModified {
 17831  		if res.Body != nil {
 17832  			res.Body.Close()
 17833  		}
 17834  		return nil, &googleapi.Error{
 17835  			Code:   res.StatusCode,
 17836  			Header: res.Header,
 17837  		}
 17838  	}
 17839  	if err != nil {
 17840  		return nil, err
 17841  	}
 17842  	defer googleapi.CloseBody(res)
 17843  	if err := googleapi.CheckResponse(res); err != nil {
 17844  		return nil, err
 17845  	}
 17846  	ret := &AdvertiserGroup{
 17847  		ServerResponse: googleapi.ServerResponse{
 17848  			Header:         res.Header,
 17849  			HTTPStatusCode: res.StatusCode,
 17850  		},
 17851  	}
 17852  	target := &ret
 17853  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17854  		return nil, err
 17855  	}
 17856  	return ret, nil
 17857  	// {
 17858  	//   "description": "Inserts a new advertiser group.",
 17859  	//   "httpMethod": "POST",
 17860  	//   "id": "dfareporting.advertiserGroups.insert",
 17861  	//   "parameterOrder": [
 17862  	//     "profileId"
 17863  	//   ],
 17864  	//   "parameters": {
 17865  	//     "profileId": {
 17866  	//       "description": "User profile ID associated with this request.",
 17867  	//       "format": "int64",
 17868  	//       "location": "path",
 17869  	//       "required": true,
 17870  	//       "type": "string"
 17871  	//     }
 17872  	//   },
 17873  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 17874  	//   "request": {
 17875  	//     "$ref": "AdvertiserGroup"
 17876  	//   },
 17877  	//   "response": {
 17878  	//     "$ref": "AdvertiserGroup"
 17879  	//   },
 17880  	//   "scopes": [
 17881  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17882  	//   ]
 17883  	// }
 17884  
 17885  }
 17886  
 17887  // method id "dfareporting.advertiserGroups.list":
 17888  
 17889  type AdvertiserGroupsListCall struct {
 17890  	s            *Service
 17891  	profileId    int64
 17892  	urlParams_   gensupport.URLParams
 17893  	ifNoneMatch_ string
 17894  	ctx_         context.Context
 17895  	header_      http.Header
 17896  }
 17897  
 17898  // List: Retrieves a list of advertiser groups, possibly filtered. This
 17899  // method supports paging.
 17900  func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
 17901  	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17902  	c.profileId = profileId
 17903  	return c
 17904  }
 17905  
 17906  // Ids sets the optional parameter "ids": Select only advertiser groups
 17907  // with these IDs.
 17908  func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
 17909  	var ids_ []string
 17910  	for _, v := range ids {
 17911  		ids_ = append(ids_, fmt.Sprint(v))
 17912  	}
 17913  	c.urlParams_.SetMulti("ids", ids_)
 17914  	return c
 17915  }
 17916  
 17917  // MaxResults sets the optional parameter "maxResults": Maximum number
 17918  // of results to return.
 17919  func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
 17920  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 17921  	return c
 17922  }
 17923  
 17924  // PageToken sets the optional parameter "pageToken": Value of the
 17925  // nextPageToken from the previous result page.
 17926  func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
 17927  	c.urlParams_.Set("pageToken", pageToken)
 17928  	return c
 17929  }
 17930  
 17931  // SearchString sets the optional parameter "searchString": Allows
 17932  // searching for objects by name or ID. Wildcards (*) are allowed. For
 17933  // example, "advertiser*2015" will return objects with names like
 17934  // "advertiser group June 2015", "advertiser group April 2015", or
 17935  // simply "advertiser group 2015". Most of the searches also add
 17936  // wildcards implicitly at the start and the end of the search string.
 17937  // For example, a search string of "advertisergroup" will match objects
 17938  // with name "my advertisergroup", "advertisergroup 2015", or simply
 17939  // "advertisergroup".
 17940  func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
 17941  	c.urlParams_.Set("searchString", searchString)
 17942  	return c
 17943  }
 17944  
 17945  // SortField sets the optional parameter "sortField": Field by which to
 17946  // sort the list.
 17947  //
 17948  // Possible values:
 17949  //
 17950  //	"ID" (default)
 17951  //	"NAME"
 17952  func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
 17953  	c.urlParams_.Set("sortField", sortField)
 17954  	return c
 17955  }
 17956  
 17957  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 17958  // results.
 17959  //
 17960  // Possible values:
 17961  //
 17962  //	"ASCENDING" (default)
 17963  //	"DESCENDING"
 17964  func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
 17965  	c.urlParams_.Set("sortOrder", sortOrder)
 17966  	return c
 17967  }
 17968  
 17969  // Fields allows partial responses to be retrieved. See
 17970  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17971  // for more information.
 17972  func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
 17973  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17974  	return c
 17975  }
 17976  
 17977  // IfNoneMatch sets the optional parameter which makes the operation
 17978  // fail if the object's ETag matches the given value. This is useful for
 17979  // getting updates only after the object has changed since the last
 17980  // request. Use googleapi.IsNotModified to check whether the response
 17981  // error from Do is the result of In-None-Match.
 17982  func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
 17983  	c.ifNoneMatch_ = entityTag
 17984  	return c
 17985  }
 17986  
 17987  // Context sets the context to be used in this call's Do method. Any
 17988  // pending HTTP request will be aborted if the provided context is
 17989  // canceled.
 17990  func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
 17991  	c.ctx_ = ctx
 17992  	return c
 17993  }
 17994  
 17995  // Header returns an http.Header that can be modified by the caller to
 17996  // add HTTP headers to the request.
 17997  func (c *AdvertiserGroupsListCall) Header() http.Header {
 17998  	if c.header_ == nil {
 17999  		c.header_ = make(http.Header)
 18000  	}
 18001  	return c.header_
 18002  }
 18003  
 18004  func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 18005  	reqHeaders := make(http.Header)
 18006  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18007  	for k, v := range c.header_ {
 18008  		reqHeaders[k] = v
 18009  	}
 18010  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18011  	if c.ifNoneMatch_ != "" {
 18012  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18013  	}
 18014  	var body io.Reader = nil
 18015  	c.urlParams_.Set("alt", alt)
 18016  	c.urlParams_.Set("prettyPrint", "false")
 18017  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18018  	urls += "?" + c.urlParams_.Encode()
 18019  	req, err := http.NewRequest("GET", urls, body)
 18020  	if err != nil {
 18021  		return nil, err
 18022  	}
 18023  	req.Header = reqHeaders
 18024  	googleapi.Expand(req.URL, map[string]string{
 18025  		"profileId": strconv.FormatInt(c.profileId, 10),
 18026  	})
 18027  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18028  }
 18029  
 18030  // Do executes the "dfareporting.advertiserGroups.list" call.
 18031  // Exactly one of *AdvertiserGroupsListResponse or error will be
 18032  // non-nil. Any non-2xx status code is an error. Response headers are in
 18033  // either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
 18034  // response was returned at all) in error.(*googleapi.Error).Header. Use
 18035  // googleapi.IsNotModified to check whether the returned error was
 18036  // because http.StatusNotModified was returned.
 18037  func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
 18038  	gensupport.SetOptions(c.urlParams_, opts...)
 18039  	res, err := c.doRequest("json")
 18040  	if res != nil && res.StatusCode == http.StatusNotModified {
 18041  		if res.Body != nil {
 18042  			res.Body.Close()
 18043  		}
 18044  		return nil, &googleapi.Error{
 18045  			Code:   res.StatusCode,
 18046  			Header: res.Header,
 18047  		}
 18048  	}
 18049  	if err != nil {
 18050  		return nil, err
 18051  	}
 18052  	defer googleapi.CloseBody(res)
 18053  	if err := googleapi.CheckResponse(res); err != nil {
 18054  		return nil, err
 18055  	}
 18056  	ret := &AdvertiserGroupsListResponse{
 18057  		ServerResponse: googleapi.ServerResponse{
 18058  			Header:         res.Header,
 18059  			HTTPStatusCode: res.StatusCode,
 18060  		},
 18061  	}
 18062  	target := &ret
 18063  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18064  		return nil, err
 18065  	}
 18066  	return ret, nil
 18067  	// {
 18068  	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
 18069  	//   "httpMethod": "GET",
 18070  	//   "id": "dfareporting.advertiserGroups.list",
 18071  	//   "parameterOrder": [
 18072  	//     "profileId"
 18073  	//   ],
 18074  	//   "parameters": {
 18075  	//     "ids": {
 18076  	//       "description": "Select only advertiser groups with these IDs.",
 18077  	//       "format": "int64",
 18078  	//       "location": "query",
 18079  	//       "repeated": true,
 18080  	//       "type": "string"
 18081  	//     },
 18082  	//     "maxResults": {
 18083  	//       "default": "1000",
 18084  	//       "description": "Maximum number of results to return.",
 18085  	//       "format": "int32",
 18086  	//       "location": "query",
 18087  	//       "maximum": "1000",
 18088  	//       "minimum": "0",
 18089  	//       "type": "integer"
 18090  	//     },
 18091  	//     "pageToken": {
 18092  	//       "description": "Value of the nextPageToken from the previous result page.",
 18093  	//       "location": "query",
 18094  	//       "type": "string"
 18095  	//     },
 18096  	//     "profileId": {
 18097  	//       "description": "User profile ID associated with this request.",
 18098  	//       "format": "int64",
 18099  	//       "location": "path",
 18100  	//       "required": true,
 18101  	//       "type": "string"
 18102  	//     },
 18103  	//     "searchString": {
 18104  	//       "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\".",
 18105  	//       "location": "query",
 18106  	//       "type": "string"
 18107  	//     },
 18108  	//     "sortField": {
 18109  	//       "default": "ID",
 18110  	//       "description": "Field by which to sort the list.",
 18111  	//       "enum": [
 18112  	//         "ID",
 18113  	//         "NAME"
 18114  	//       ],
 18115  	//       "enumDescriptions": [
 18116  	//         "",
 18117  	//         ""
 18118  	//       ],
 18119  	//       "location": "query",
 18120  	//       "type": "string"
 18121  	//     },
 18122  	//     "sortOrder": {
 18123  	//       "default": "ASCENDING",
 18124  	//       "description": "Order of sorted results.",
 18125  	//       "enum": [
 18126  	//         "ASCENDING",
 18127  	//         "DESCENDING"
 18128  	//       ],
 18129  	//       "enumDescriptions": [
 18130  	//         "",
 18131  	//         ""
 18132  	//       ],
 18133  	//       "location": "query",
 18134  	//       "type": "string"
 18135  	//     }
 18136  	//   },
 18137  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18138  	//   "response": {
 18139  	//     "$ref": "AdvertiserGroupsListResponse"
 18140  	//   },
 18141  	//   "scopes": [
 18142  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18143  	//   ]
 18144  	// }
 18145  
 18146  }
 18147  
 18148  // Pages invokes f for each page of results.
 18149  // A non-nil error returned from f will halt the iteration.
 18150  // The provided context supersedes any context provided to the Context method.
 18151  func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
 18152  	c.ctx_ = ctx
 18153  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 18154  	for {
 18155  		x, err := c.Do()
 18156  		if err != nil {
 18157  			return err
 18158  		}
 18159  		if err := f(x); err != nil {
 18160  			return err
 18161  		}
 18162  		if x.NextPageToken == "" {
 18163  			return nil
 18164  		}
 18165  		c.PageToken(x.NextPageToken)
 18166  	}
 18167  }
 18168  
 18169  // method id "dfareporting.advertiserGroups.patch":
 18170  
 18171  type AdvertiserGroupsPatchCall struct {
 18172  	s               *Service
 18173  	profileId       int64
 18174  	advertisergroup *AdvertiserGroup
 18175  	urlParams_      gensupport.URLParams
 18176  	ctx_            context.Context
 18177  	header_         http.Header
 18178  }
 18179  
 18180  // Patch: Updates an existing advertiser group. This method supports
 18181  // patch semantics.
 18182  func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
 18183  	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18184  	c.profileId = profileId
 18185  	c.urlParams_.Set("id", fmt.Sprint(id))
 18186  	c.advertisergroup = advertisergroup
 18187  	return c
 18188  }
 18189  
 18190  // Fields allows partial responses to be retrieved. See
 18191  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18192  // for more information.
 18193  func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
 18194  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18195  	return c
 18196  }
 18197  
 18198  // Context sets the context to be used in this call's Do method. Any
 18199  // pending HTTP request will be aborted if the provided context is
 18200  // canceled.
 18201  func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
 18202  	c.ctx_ = ctx
 18203  	return c
 18204  }
 18205  
 18206  // Header returns an http.Header that can be modified by the caller to
 18207  // add HTTP headers to the request.
 18208  func (c *AdvertiserGroupsPatchCall) Header() http.Header {
 18209  	if c.header_ == nil {
 18210  		c.header_ = make(http.Header)
 18211  	}
 18212  	return c.header_
 18213  }
 18214  
 18215  func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 18216  	reqHeaders := make(http.Header)
 18217  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18218  	for k, v := range c.header_ {
 18219  		reqHeaders[k] = v
 18220  	}
 18221  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18222  	var body io.Reader = nil
 18223  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18224  	if err != nil {
 18225  		return nil, err
 18226  	}
 18227  	reqHeaders.Set("Content-Type", "application/json")
 18228  	c.urlParams_.Set("alt", alt)
 18229  	c.urlParams_.Set("prettyPrint", "false")
 18230  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18231  	urls += "?" + c.urlParams_.Encode()
 18232  	req, err := http.NewRequest("PATCH", urls, body)
 18233  	if err != nil {
 18234  		return nil, err
 18235  	}
 18236  	req.Header = reqHeaders
 18237  	googleapi.Expand(req.URL, map[string]string{
 18238  		"profileId": strconv.FormatInt(c.profileId, 10),
 18239  	})
 18240  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18241  }
 18242  
 18243  // Do executes the "dfareporting.advertiserGroups.patch" call.
 18244  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18245  // status code is an error. Response headers are in either
 18246  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18247  // at all) in error.(*googleapi.Error).Header. Use
 18248  // googleapi.IsNotModified to check whether the returned error was
 18249  // because http.StatusNotModified was returned.
 18250  func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18251  	gensupport.SetOptions(c.urlParams_, opts...)
 18252  	res, err := c.doRequest("json")
 18253  	if res != nil && res.StatusCode == http.StatusNotModified {
 18254  		if res.Body != nil {
 18255  			res.Body.Close()
 18256  		}
 18257  		return nil, &googleapi.Error{
 18258  			Code:   res.StatusCode,
 18259  			Header: res.Header,
 18260  		}
 18261  	}
 18262  	if err != nil {
 18263  		return nil, err
 18264  	}
 18265  	defer googleapi.CloseBody(res)
 18266  	if err := googleapi.CheckResponse(res); err != nil {
 18267  		return nil, err
 18268  	}
 18269  	ret := &AdvertiserGroup{
 18270  		ServerResponse: googleapi.ServerResponse{
 18271  			Header:         res.Header,
 18272  			HTTPStatusCode: res.StatusCode,
 18273  		},
 18274  	}
 18275  	target := &ret
 18276  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18277  		return nil, err
 18278  	}
 18279  	return ret, nil
 18280  	// {
 18281  	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
 18282  	//   "httpMethod": "PATCH",
 18283  	//   "id": "dfareporting.advertiserGroups.patch",
 18284  	//   "parameterOrder": [
 18285  	//     "profileId",
 18286  	//     "id"
 18287  	//   ],
 18288  	//   "parameters": {
 18289  	//     "id": {
 18290  	//       "description": "Advertiser group ID.",
 18291  	//       "format": "int64",
 18292  	//       "location": "query",
 18293  	//       "required": true,
 18294  	//       "type": "string"
 18295  	//     },
 18296  	//     "profileId": {
 18297  	//       "description": "User profile ID associated with this request.",
 18298  	//       "format": "int64",
 18299  	//       "location": "path",
 18300  	//       "required": true,
 18301  	//       "type": "string"
 18302  	//     }
 18303  	//   },
 18304  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18305  	//   "request": {
 18306  	//     "$ref": "AdvertiserGroup"
 18307  	//   },
 18308  	//   "response": {
 18309  	//     "$ref": "AdvertiserGroup"
 18310  	//   },
 18311  	//   "scopes": [
 18312  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18313  	//   ]
 18314  	// }
 18315  
 18316  }
 18317  
 18318  // method id "dfareporting.advertiserGroups.update":
 18319  
 18320  type AdvertiserGroupsUpdateCall struct {
 18321  	s               *Service
 18322  	profileId       int64
 18323  	advertisergroup *AdvertiserGroup
 18324  	urlParams_      gensupport.URLParams
 18325  	ctx_            context.Context
 18326  	header_         http.Header
 18327  }
 18328  
 18329  // Update: Updates an existing advertiser group.
 18330  func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
 18331  	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18332  	c.profileId = profileId
 18333  	c.advertisergroup = advertisergroup
 18334  	return c
 18335  }
 18336  
 18337  // Fields allows partial responses to be retrieved. See
 18338  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18339  // for more information.
 18340  func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
 18341  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18342  	return c
 18343  }
 18344  
 18345  // Context sets the context to be used in this call's Do method. Any
 18346  // pending HTTP request will be aborted if the provided context is
 18347  // canceled.
 18348  func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
 18349  	c.ctx_ = ctx
 18350  	return c
 18351  }
 18352  
 18353  // Header returns an http.Header that can be modified by the caller to
 18354  // add HTTP headers to the request.
 18355  func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
 18356  	if c.header_ == nil {
 18357  		c.header_ = make(http.Header)
 18358  	}
 18359  	return c.header_
 18360  }
 18361  
 18362  func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 18363  	reqHeaders := make(http.Header)
 18364  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18365  	for k, v := range c.header_ {
 18366  		reqHeaders[k] = v
 18367  	}
 18368  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18369  	var body io.Reader = nil
 18370  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18371  	if err != nil {
 18372  		return nil, err
 18373  	}
 18374  	reqHeaders.Set("Content-Type", "application/json")
 18375  	c.urlParams_.Set("alt", alt)
 18376  	c.urlParams_.Set("prettyPrint", "false")
 18377  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18378  	urls += "?" + c.urlParams_.Encode()
 18379  	req, err := http.NewRequest("PUT", urls, body)
 18380  	if err != nil {
 18381  		return nil, err
 18382  	}
 18383  	req.Header = reqHeaders
 18384  	googleapi.Expand(req.URL, map[string]string{
 18385  		"profileId": strconv.FormatInt(c.profileId, 10),
 18386  	})
 18387  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18388  }
 18389  
 18390  // Do executes the "dfareporting.advertiserGroups.update" call.
 18391  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18392  // status code is an error. Response headers are in either
 18393  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18394  // at all) in error.(*googleapi.Error).Header. Use
 18395  // googleapi.IsNotModified to check whether the returned error was
 18396  // because http.StatusNotModified was returned.
 18397  func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18398  	gensupport.SetOptions(c.urlParams_, opts...)
 18399  	res, err := c.doRequest("json")
 18400  	if res != nil && res.StatusCode == http.StatusNotModified {
 18401  		if res.Body != nil {
 18402  			res.Body.Close()
 18403  		}
 18404  		return nil, &googleapi.Error{
 18405  			Code:   res.StatusCode,
 18406  			Header: res.Header,
 18407  		}
 18408  	}
 18409  	if err != nil {
 18410  		return nil, err
 18411  	}
 18412  	defer googleapi.CloseBody(res)
 18413  	if err := googleapi.CheckResponse(res); err != nil {
 18414  		return nil, err
 18415  	}
 18416  	ret := &AdvertiserGroup{
 18417  		ServerResponse: googleapi.ServerResponse{
 18418  			Header:         res.Header,
 18419  			HTTPStatusCode: res.StatusCode,
 18420  		},
 18421  	}
 18422  	target := &ret
 18423  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18424  		return nil, err
 18425  	}
 18426  	return ret, nil
 18427  	// {
 18428  	//   "description": "Updates an existing advertiser group.",
 18429  	//   "httpMethod": "PUT",
 18430  	//   "id": "dfareporting.advertiserGroups.update",
 18431  	//   "parameterOrder": [
 18432  	//     "profileId"
 18433  	//   ],
 18434  	//   "parameters": {
 18435  	//     "profileId": {
 18436  	//       "description": "User profile ID associated with this request.",
 18437  	//       "format": "int64",
 18438  	//       "location": "path",
 18439  	//       "required": true,
 18440  	//       "type": "string"
 18441  	//     }
 18442  	//   },
 18443  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18444  	//   "request": {
 18445  	//     "$ref": "AdvertiserGroup"
 18446  	//   },
 18447  	//   "response": {
 18448  	//     "$ref": "AdvertiserGroup"
 18449  	//   },
 18450  	//   "scopes": [
 18451  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18452  	//   ]
 18453  	// }
 18454  
 18455  }
 18456  
 18457  // method id "dfareporting.advertiserLandingPages.get":
 18458  
 18459  type AdvertiserLandingPagesGetCall struct {
 18460  	s            *Service
 18461  	profileId    int64
 18462  	id           int64
 18463  	urlParams_   gensupport.URLParams
 18464  	ifNoneMatch_ string
 18465  	ctx_         context.Context
 18466  	header_      http.Header
 18467  }
 18468  
 18469  // Get: Gets one landing page by ID.
 18470  func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
 18471  	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18472  	c.profileId = profileId
 18473  	c.id = id
 18474  	return c
 18475  }
 18476  
 18477  // Fields allows partial responses to be retrieved. See
 18478  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18479  // for more information.
 18480  func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
 18481  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18482  	return c
 18483  }
 18484  
 18485  // IfNoneMatch sets the optional parameter which makes the operation
 18486  // fail if the object's ETag matches the given value. This is useful for
 18487  // getting updates only after the object has changed since the last
 18488  // request. Use googleapi.IsNotModified to check whether the response
 18489  // error from Do is the result of In-None-Match.
 18490  func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
 18491  	c.ifNoneMatch_ = entityTag
 18492  	return c
 18493  }
 18494  
 18495  // Context sets the context to be used in this call's Do method. Any
 18496  // pending HTTP request will be aborted if the provided context is
 18497  // canceled.
 18498  func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
 18499  	c.ctx_ = ctx
 18500  	return c
 18501  }
 18502  
 18503  // Header returns an http.Header that can be modified by the caller to
 18504  // add HTTP headers to the request.
 18505  func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
 18506  	if c.header_ == nil {
 18507  		c.header_ = make(http.Header)
 18508  	}
 18509  	return c.header_
 18510  }
 18511  
 18512  func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 18513  	reqHeaders := make(http.Header)
 18514  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18515  	for k, v := range c.header_ {
 18516  		reqHeaders[k] = v
 18517  	}
 18518  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18519  	if c.ifNoneMatch_ != "" {
 18520  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18521  	}
 18522  	var body io.Reader = nil
 18523  	c.urlParams_.Set("alt", alt)
 18524  	c.urlParams_.Set("prettyPrint", "false")
 18525  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
 18526  	urls += "?" + c.urlParams_.Encode()
 18527  	req, err := http.NewRequest("GET", urls, body)
 18528  	if err != nil {
 18529  		return nil, err
 18530  	}
 18531  	req.Header = reqHeaders
 18532  	googleapi.Expand(req.URL, map[string]string{
 18533  		"profileId": strconv.FormatInt(c.profileId, 10),
 18534  		"id":        strconv.FormatInt(c.id, 10),
 18535  	})
 18536  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18537  }
 18538  
 18539  // Do executes the "dfareporting.advertiserLandingPages.get" call.
 18540  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 18541  // status code is an error. Response headers are in either
 18542  // *LandingPage.ServerResponse.Header or (if a response was returned at
 18543  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 18544  // to check whether the returned error was because
 18545  // http.StatusNotModified was returned.
 18546  func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 18547  	gensupport.SetOptions(c.urlParams_, opts...)
 18548  	res, err := c.doRequest("json")
 18549  	if res != nil && res.StatusCode == http.StatusNotModified {
 18550  		if res.Body != nil {
 18551  			res.Body.Close()
 18552  		}
 18553  		return nil, &googleapi.Error{
 18554  			Code:   res.StatusCode,
 18555  			Header: res.Header,
 18556  		}
 18557  	}
 18558  	if err != nil {
 18559  		return nil, err
 18560  	}
 18561  	defer googleapi.CloseBody(res)
 18562  	if err := googleapi.CheckResponse(res); err != nil {
 18563  		return nil, err
 18564  	}
 18565  	ret := &LandingPage{
 18566  		ServerResponse: googleapi.ServerResponse{
 18567  			Header:         res.Header,
 18568  			HTTPStatusCode: res.StatusCode,
 18569  		},
 18570  	}
 18571  	target := &ret
 18572  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18573  		return nil, err
 18574  	}
 18575  	return ret, nil
 18576  	// {
 18577  	//   "description": "Gets one landing page by ID.",
 18578  	//   "httpMethod": "GET",
 18579  	//   "id": "dfareporting.advertiserLandingPages.get",
 18580  	//   "parameterOrder": [
 18581  	//     "profileId",
 18582  	//     "id"
 18583  	//   ],
 18584  	//   "parameters": {
 18585  	//     "id": {
 18586  	//       "description": "Landing page ID.",
 18587  	//       "format": "int64",
 18588  	//       "location": "path",
 18589  	//       "required": true,
 18590  	//       "type": "string"
 18591  	//     },
 18592  	//     "profileId": {
 18593  	//       "description": "User profile ID associated with this request.",
 18594  	//       "format": "int64",
 18595  	//       "location": "path",
 18596  	//       "required": true,
 18597  	//       "type": "string"
 18598  	//     }
 18599  	//   },
 18600  	//   "path": "userprofiles/{profileId}/advertiserLandingPages/{id}",
 18601  	//   "response": {
 18602  	//     "$ref": "LandingPage"
 18603  	//   },
 18604  	//   "scopes": [
 18605  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18606  	//   ]
 18607  	// }
 18608  
 18609  }
 18610  
 18611  // method id "dfareporting.advertiserLandingPages.insert":
 18612  
 18613  type AdvertiserLandingPagesInsertCall struct {
 18614  	s           *Service
 18615  	profileId   int64
 18616  	landingpage *LandingPage
 18617  	urlParams_  gensupport.URLParams
 18618  	ctx_        context.Context
 18619  	header_     http.Header
 18620  }
 18621  
 18622  // Insert: Inserts a new landing page.
 18623  func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
 18624  	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18625  	c.profileId = profileId
 18626  	c.landingpage = landingpage
 18627  	return c
 18628  }
 18629  
 18630  // Fields allows partial responses to be retrieved. See
 18631  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18632  // for more information.
 18633  func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
 18634  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18635  	return c
 18636  }
 18637  
 18638  // Context sets the context to be used in this call's Do method. Any
 18639  // pending HTTP request will be aborted if the provided context is
 18640  // canceled.
 18641  func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
 18642  	c.ctx_ = ctx
 18643  	return c
 18644  }
 18645  
 18646  // Header returns an http.Header that can be modified by the caller to
 18647  // add HTTP headers to the request.
 18648  func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
 18649  	if c.header_ == nil {
 18650  		c.header_ = make(http.Header)
 18651  	}
 18652  	return c.header_
 18653  }
 18654  
 18655  func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
 18656  	reqHeaders := make(http.Header)
 18657  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18658  	for k, v := range c.header_ {
 18659  		reqHeaders[k] = v
 18660  	}
 18661  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18662  	var body io.Reader = nil
 18663  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 18664  	if err != nil {
 18665  		return nil, err
 18666  	}
 18667  	reqHeaders.Set("Content-Type", "application/json")
 18668  	c.urlParams_.Set("alt", alt)
 18669  	c.urlParams_.Set("prettyPrint", "false")
 18670  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 18671  	urls += "?" + c.urlParams_.Encode()
 18672  	req, err := http.NewRequest("POST", urls, body)
 18673  	if err != nil {
 18674  		return nil, err
 18675  	}
 18676  	req.Header = reqHeaders
 18677  	googleapi.Expand(req.URL, map[string]string{
 18678  		"profileId": strconv.FormatInt(c.profileId, 10),
 18679  	})
 18680  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18681  }
 18682  
 18683  // Do executes the "dfareporting.advertiserLandingPages.insert" call.
 18684  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 18685  // status code is an error. Response headers are in either
 18686  // *LandingPage.ServerResponse.Header or (if a response was returned at
 18687  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 18688  // to check whether the returned error was because
 18689  // http.StatusNotModified was returned.
 18690  func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 18691  	gensupport.SetOptions(c.urlParams_, opts...)
 18692  	res, err := c.doRequest("json")
 18693  	if res != nil && res.StatusCode == http.StatusNotModified {
 18694  		if res.Body != nil {
 18695  			res.Body.Close()
 18696  		}
 18697  		return nil, &googleapi.Error{
 18698  			Code:   res.StatusCode,
 18699  			Header: res.Header,
 18700  		}
 18701  	}
 18702  	if err != nil {
 18703  		return nil, err
 18704  	}
 18705  	defer googleapi.CloseBody(res)
 18706  	if err := googleapi.CheckResponse(res); err != nil {
 18707  		return nil, err
 18708  	}
 18709  	ret := &LandingPage{
 18710  		ServerResponse: googleapi.ServerResponse{
 18711  			Header:         res.Header,
 18712  			HTTPStatusCode: res.StatusCode,
 18713  		},
 18714  	}
 18715  	target := &ret
 18716  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18717  		return nil, err
 18718  	}
 18719  	return ret, nil
 18720  	// {
 18721  	//   "description": "Inserts a new landing page.",
 18722  	//   "httpMethod": "POST",
 18723  	//   "id": "dfareporting.advertiserLandingPages.insert",
 18724  	//   "parameterOrder": [
 18725  	//     "profileId"
 18726  	//   ],
 18727  	//   "parameters": {
 18728  	//     "profileId": {
 18729  	//       "description": "User profile ID associated with this request.",
 18730  	//       "format": "int64",
 18731  	//       "location": "path",
 18732  	//       "required": true,
 18733  	//       "type": "string"
 18734  	//     }
 18735  	//   },
 18736  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 18737  	//   "request": {
 18738  	//     "$ref": "LandingPage"
 18739  	//   },
 18740  	//   "response": {
 18741  	//     "$ref": "LandingPage"
 18742  	//   },
 18743  	//   "scopes": [
 18744  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18745  	//   ]
 18746  	// }
 18747  
 18748  }
 18749  
 18750  // method id "dfareporting.advertiserLandingPages.list":
 18751  
 18752  type AdvertiserLandingPagesListCall struct {
 18753  	s            *Service
 18754  	profileId    int64
 18755  	urlParams_   gensupport.URLParams
 18756  	ifNoneMatch_ string
 18757  	ctx_         context.Context
 18758  	header_      http.Header
 18759  }
 18760  
 18761  // List: Retrieves a list of landing pages.
 18762  func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
 18763  	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18764  	c.profileId = profileId
 18765  	return c
 18766  }
 18767  
 18768  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 18769  // only landing pages that belong to these advertisers.
 18770  func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
 18771  	var advertiserIds_ []string
 18772  	for _, v := range advertiserIds {
 18773  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 18774  	}
 18775  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 18776  	return c
 18777  }
 18778  
 18779  // Archived sets the optional parameter "archived": Select only archived
 18780  // landing pages. Don't set this field to select both archived and
 18781  // non-archived landing pages.
 18782  func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
 18783  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 18784  	return c
 18785  }
 18786  
 18787  // CampaignIds sets the optional parameter "campaignIds": Select only
 18788  // landing pages that are associated with these campaigns.
 18789  func (c *AdvertiserLandingPagesListCall) CampaignIds(campaignIds ...int64) *AdvertiserLandingPagesListCall {
 18790  	var campaignIds_ []string
 18791  	for _, v := range campaignIds {
 18792  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 18793  	}
 18794  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 18795  	return c
 18796  }
 18797  
 18798  // Ids sets the optional parameter "ids": Select only landing pages with
 18799  // these IDs.
 18800  func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
 18801  	var ids_ []string
 18802  	for _, v := range ids {
 18803  		ids_ = append(ids_, fmt.Sprint(v))
 18804  	}
 18805  	c.urlParams_.SetMulti("ids", ids_)
 18806  	return c
 18807  }
 18808  
 18809  // MaxResults sets the optional parameter "maxResults": Maximum number
 18810  // of results to return.
 18811  func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
 18812  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 18813  	return c
 18814  }
 18815  
 18816  // PageToken sets the optional parameter "pageToken": Value of the
 18817  // nextPageToken from the previous result page.
 18818  func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
 18819  	c.urlParams_.Set("pageToken", pageToken)
 18820  	return c
 18821  }
 18822  
 18823  // SearchString sets the optional parameter "searchString": Allows
 18824  // searching for landing pages by name or ID. Wildcards (*) are allowed.
 18825  // For example, "landingpage*2017" will return landing pages with names
 18826  // like "landingpage July 2017", "landingpage March 2017", or simply
 18827  // "landingpage 2017". Most of the searches also add wildcards
 18828  // implicitly at the start and the end of the search string. For
 18829  // example, a search string of "landingpage" will match campaigns with
 18830  // name "my landingpage", "landingpage 2015", or simply "landingpage".
 18831  func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
 18832  	c.urlParams_.Set("searchString", searchString)
 18833  	return c
 18834  }
 18835  
 18836  // SortField sets the optional parameter "sortField": Field by which to
 18837  // sort the list.
 18838  //
 18839  // Possible values:
 18840  //
 18841  //	"ID" (default)
 18842  //	"NAME"
 18843  func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
 18844  	c.urlParams_.Set("sortField", sortField)
 18845  	return c
 18846  }
 18847  
 18848  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 18849  // results.
 18850  //
 18851  // Possible values:
 18852  //
 18853  //	"ASCENDING" (default)
 18854  //	"DESCENDING"
 18855  func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
 18856  	c.urlParams_.Set("sortOrder", sortOrder)
 18857  	return c
 18858  }
 18859  
 18860  // SubaccountId sets the optional parameter "subaccountId": Select only
 18861  // landing pages that belong to this subaccount.
 18862  func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
 18863  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 18864  	return c
 18865  }
 18866  
 18867  // Fields allows partial responses to be retrieved. See
 18868  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18869  // for more information.
 18870  func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
 18871  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18872  	return c
 18873  }
 18874  
 18875  // IfNoneMatch sets the optional parameter which makes the operation
 18876  // fail if the object's ETag matches the given value. This is useful for
 18877  // getting updates only after the object has changed since the last
 18878  // request. Use googleapi.IsNotModified to check whether the response
 18879  // error from Do is the result of In-None-Match.
 18880  func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
 18881  	c.ifNoneMatch_ = entityTag
 18882  	return c
 18883  }
 18884  
 18885  // Context sets the context to be used in this call's Do method. Any
 18886  // pending HTTP request will be aborted if the provided context is
 18887  // canceled.
 18888  func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
 18889  	c.ctx_ = ctx
 18890  	return c
 18891  }
 18892  
 18893  // Header returns an http.Header that can be modified by the caller to
 18894  // add HTTP headers to the request.
 18895  func (c *AdvertiserLandingPagesListCall) Header() http.Header {
 18896  	if c.header_ == nil {
 18897  		c.header_ = make(http.Header)
 18898  	}
 18899  	return c.header_
 18900  }
 18901  
 18902  func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 18903  	reqHeaders := make(http.Header)
 18904  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18905  	for k, v := range c.header_ {
 18906  		reqHeaders[k] = v
 18907  	}
 18908  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18909  	if c.ifNoneMatch_ != "" {
 18910  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18911  	}
 18912  	var body io.Reader = nil
 18913  	c.urlParams_.Set("alt", alt)
 18914  	c.urlParams_.Set("prettyPrint", "false")
 18915  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 18916  	urls += "?" + c.urlParams_.Encode()
 18917  	req, err := http.NewRequest("GET", urls, body)
 18918  	if err != nil {
 18919  		return nil, err
 18920  	}
 18921  	req.Header = reqHeaders
 18922  	googleapi.Expand(req.URL, map[string]string{
 18923  		"profileId": strconv.FormatInt(c.profileId, 10),
 18924  	})
 18925  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18926  }
 18927  
 18928  // Do executes the "dfareporting.advertiserLandingPages.list" call.
 18929  // Exactly one of *AdvertiserLandingPagesListResponse or error will be
 18930  // non-nil. Any non-2xx status code is an error. Response headers are in
 18931  // either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
 18932  // (if a response was returned at all) in
 18933  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 18934  // whether the returned error was because http.StatusNotModified was
 18935  // returned.
 18936  func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
 18937  	gensupport.SetOptions(c.urlParams_, opts...)
 18938  	res, err := c.doRequest("json")
 18939  	if res != nil && res.StatusCode == http.StatusNotModified {
 18940  		if res.Body != nil {
 18941  			res.Body.Close()
 18942  		}
 18943  		return nil, &googleapi.Error{
 18944  			Code:   res.StatusCode,
 18945  			Header: res.Header,
 18946  		}
 18947  	}
 18948  	if err != nil {
 18949  		return nil, err
 18950  	}
 18951  	defer googleapi.CloseBody(res)
 18952  	if err := googleapi.CheckResponse(res); err != nil {
 18953  		return nil, err
 18954  	}
 18955  	ret := &AdvertiserLandingPagesListResponse{
 18956  		ServerResponse: googleapi.ServerResponse{
 18957  			Header:         res.Header,
 18958  			HTTPStatusCode: res.StatusCode,
 18959  		},
 18960  	}
 18961  	target := &ret
 18962  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18963  		return nil, err
 18964  	}
 18965  	return ret, nil
 18966  	// {
 18967  	//   "description": "Retrieves a list of landing pages.",
 18968  	//   "httpMethod": "GET",
 18969  	//   "id": "dfareporting.advertiserLandingPages.list",
 18970  	//   "parameterOrder": [
 18971  	//     "profileId"
 18972  	//   ],
 18973  	//   "parameters": {
 18974  	//     "advertiserIds": {
 18975  	//       "description": "Select only landing pages that belong to these advertisers.",
 18976  	//       "format": "int64",
 18977  	//       "location": "query",
 18978  	//       "repeated": true,
 18979  	//       "type": "string"
 18980  	//     },
 18981  	//     "archived": {
 18982  	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
 18983  	//       "location": "query",
 18984  	//       "type": "boolean"
 18985  	//     },
 18986  	//     "campaignIds": {
 18987  	//       "description": "Select only landing pages that are associated with these campaigns.",
 18988  	//       "format": "int64",
 18989  	//       "location": "query",
 18990  	//       "repeated": true,
 18991  	//       "type": "string"
 18992  	//     },
 18993  	//     "ids": {
 18994  	//       "description": "Select only landing pages with these IDs.",
 18995  	//       "format": "int64",
 18996  	//       "location": "query",
 18997  	//       "repeated": true,
 18998  	//       "type": "string"
 18999  	//     },
 19000  	//     "maxResults": {
 19001  	//       "default": "1000",
 19002  	//       "description": "Maximum number of results to return.",
 19003  	//       "format": "int32",
 19004  	//       "location": "query",
 19005  	//       "maximum": "1000",
 19006  	//       "minimum": "0",
 19007  	//       "type": "integer"
 19008  	//     },
 19009  	//     "pageToken": {
 19010  	//       "description": "Value of the nextPageToken from the previous result page.",
 19011  	//       "location": "query",
 19012  	//       "type": "string"
 19013  	//     },
 19014  	//     "profileId": {
 19015  	//       "description": "User profile ID associated with this request.",
 19016  	//       "format": "int64",
 19017  	//       "location": "path",
 19018  	//       "required": true,
 19019  	//       "type": "string"
 19020  	//     },
 19021  	//     "searchString": {
 19022  	//       "description": "Allows searching for landing pages by name or ID. Wildcards (*) are allowed. For example, \"landingpage*2017\" will return landing pages with names like \"landingpage July 2017\", \"landingpage March 2017\", or simply \"landingpage 2017\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"landingpage\" will match campaigns with name \"my landingpage\", \"landingpage 2015\", or simply \"landingpage\".",
 19023  	//       "location": "query",
 19024  	//       "type": "string"
 19025  	//     },
 19026  	//     "sortField": {
 19027  	//       "default": "ID",
 19028  	//       "description": "Field by which to sort the list.",
 19029  	//       "enum": [
 19030  	//         "ID",
 19031  	//         "NAME"
 19032  	//       ],
 19033  	//       "enumDescriptions": [
 19034  	//         "",
 19035  	//         ""
 19036  	//       ],
 19037  	//       "location": "query",
 19038  	//       "type": "string"
 19039  	//     },
 19040  	//     "sortOrder": {
 19041  	//       "default": "ASCENDING",
 19042  	//       "description": "Order of sorted results.",
 19043  	//       "enum": [
 19044  	//         "ASCENDING",
 19045  	//         "DESCENDING"
 19046  	//       ],
 19047  	//       "enumDescriptions": [
 19048  	//         "",
 19049  	//         ""
 19050  	//       ],
 19051  	//       "location": "query",
 19052  	//       "type": "string"
 19053  	//     },
 19054  	//     "subaccountId": {
 19055  	//       "description": "Select only landing pages that belong to this subaccount.",
 19056  	//       "format": "int64",
 19057  	//       "location": "query",
 19058  	//       "type": "string"
 19059  	//     }
 19060  	//   },
 19061  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19062  	//   "response": {
 19063  	//     "$ref": "AdvertiserLandingPagesListResponse"
 19064  	//   },
 19065  	//   "scopes": [
 19066  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19067  	//   ]
 19068  	// }
 19069  
 19070  }
 19071  
 19072  // Pages invokes f for each page of results.
 19073  // A non-nil error returned from f will halt the iteration.
 19074  // The provided context supersedes any context provided to the Context method.
 19075  func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
 19076  	c.ctx_ = ctx
 19077  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 19078  	for {
 19079  		x, err := c.Do()
 19080  		if err != nil {
 19081  			return err
 19082  		}
 19083  		if err := f(x); err != nil {
 19084  			return err
 19085  		}
 19086  		if x.NextPageToken == "" {
 19087  			return nil
 19088  		}
 19089  		c.PageToken(x.NextPageToken)
 19090  	}
 19091  }
 19092  
 19093  // method id "dfareporting.advertiserLandingPages.patch":
 19094  
 19095  type AdvertiserLandingPagesPatchCall struct {
 19096  	s           *Service
 19097  	profileId   int64
 19098  	landingpage *LandingPage
 19099  	urlParams_  gensupport.URLParams
 19100  	ctx_        context.Context
 19101  	header_     http.Header
 19102  }
 19103  
 19104  // Patch: Updates an existing landing page. This method supports patch
 19105  // semantics.
 19106  func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
 19107  	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19108  	c.profileId = profileId
 19109  	c.urlParams_.Set("id", fmt.Sprint(id))
 19110  	c.landingpage = landingpage
 19111  	return c
 19112  }
 19113  
 19114  // Fields allows partial responses to be retrieved. See
 19115  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19116  // for more information.
 19117  func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
 19118  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19119  	return c
 19120  }
 19121  
 19122  // Context sets the context to be used in this call's Do method. Any
 19123  // pending HTTP request will be aborted if the provided context is
 19124  // canceled.
 19125  func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
 19126  	c.ctx_ = ctx
 19127  	return c
 19128  }
 19129  
 19130  // Header returns an http.Header that can be modified by the caller to
 19131  // add HTTP headers to the request.
 19132  func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
 19133  	if c.header_ == nil {
 19134  		c.header_ = make(http.Header)
 19135  	}
 19136  	return c.header_
 19137  }
 19138  
 19139  func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
 19140  	reqHeaders := make(http.Header)
 19141  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19142  	for k, v := range c.header_ {
 19143  		reqHeaders[k] = v
 19144  	}
 19145  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19146  	var body io.Reader = nil
 19147  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 19148  	if err != nil {
 19149  		return nil, err
 19150  	}
 19151  	reqHeaders.Set("Content-Type", "application/json")
 19152  	c.urlParams_.Set("alt", alt)
 19153  	c.urlParams_.Set("prettyPrint", "false")
 19154  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19155  	urls += "?" + c.urlParams_.Encode()
 19156  	req, err := http.NewRequest("PATCH", urls, body)
 19157  	if err != nil {
 19158  		return nil, err
 19159  	}
 19160  	req.Header = reqHeaders
 19161  	googleapi.Expand(req.URL, map[string]string{
 19162  		"profileId": strconv.FormatInt(c.profileId, 10),
 19163  	})
 19164  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19165  }
 19166  
 19167  // Do executes the "dfareporting.advertiserLandingPages.patch" call.
 19168  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 19169  // status code is an error. Response headers are in either
 19170  // *LandingPage.ServerResponse.Header or (if a response was returned at
 19171  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19172  // to check whether the returned error was because
 19173  // http.StatusNotModified was returned.
 19174  func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 19175  	gensupport.SetOptions(c.urlParams_, opts...)
 19176  	res, err := c.doRequest("json")
 19177  	if res != nil && res.StatusCode == http.StatusNotModified {
 19178  		if res.Body != nil {
 19179  			res.Body.Close()
 19180  		}
 19181  		return nil, &googleapi.Error{
 19182  			Code:   res.StatusCode,
 19183  			Header: res.Header,
 19184  		}
 19185  	}
 19186  	if err != nil {
 19187  		return nil, err
 19188  	}
 19189  	defer googleapi.CloseBody(res)
 19190  	if err := googleapi.CheckResponse(res); err != nil {
 19191  		return nil, err
 19192  	}
 19193  	ret := &LandingPage{
 19194  		ServerResponse: googleapi.ServerResponse{
 19195  			Header:         res.Header,
 19196  			HTTPStatusCode: res.StatusCode,
 19197  		},
 19198  	}
 19199  	target := &ret
 19200  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19201  		return nil, err
 19202  	}
 19203  	return ret, nil
 19204  	// {
 19205  	//   "description": "Updates an existing landing page. This method supports patch semantics.",
 19206  	//   "httpMethod": "PATCH",
 19207  	//   "id": "dfareporting.advertiserLandingPages.patch",
 19208  	//   "parameterOrder": [
 19209  	//     "profileId",
 19210  	//     "id"
 19211  	//   ],
 19212  	//   "parameters": {
 19213  	//     "id": {
 19214  	//       "description": "Landing page ID.",
 19215  	//       "format": "int64",
 19216  	//       "location": "query",
 19217  	//       "required": true,
 19218  	//       "type": "string"
 19219  	//     },
 19220  	//     "profileId": {
 19221  	//       "description": "User profile ID associated with this request.",
 19222  	//       "format": "int64",
 19223  	//       "location": "path",
 19224  	//       "required": true,
 19225  	//       "type": "string"
 19226  	//     }
 19227  	//   },
 19228  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19229  	//   "request": {
 19230  	//     "$ref": "LandingPage"
 19231  	//   },
 19232  	//   "response": {
 19233  	//     "$ref": "LandingPage"
 19234  	//   },
 19235  	//   "scopes": [
 19236  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19237  	//   ]
 19238  	// }
 19239  
 19240  }
 19241  
 19242  // method id "dfareporting.advertiserLandingPages.update":
 19243  
 19244  type AdvertiserLandingPagesUpdateCall struct {
 19245  	s           *Service
 19246  	profileId   int64
 19247  	landingpage *LandingPage
 19248  	urlParams_  gensupport.URLParams
 19249  	ctx_        context.Context
 19250  	header_     http.Header
 19251  }
 19252  
 19253  // Update: Updates an existing landing page.
 19254  func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
 19255  	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19256  	c.profileId = profileId
 19257  	c.landingpage = landingpage
 19258  	return c
 19259  }
 19260  
 19261  // Fields allows partial responses to be retrieved. See
 19262  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19263  // for more information.
 19264  func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
 19265  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19266  	return c
 19267  }
 19268  
 19269  // Context sets the context to be used in this call's Do method. Any
 19270  // pending HTTP request will be aborted if the provided context is
 19271  // canceled.
 19272  func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
 19273  	c.ctx_ = ctx
 19274  	return c
 19275  }
 19276  
 19277  // Header returns an http.Header that can be modified by the caller to
 19278  // add HTTP headers to the request.
 19279  func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
 19280  	if c.header_ == nil {
 19281  		c.header_ = make(http.Header)
 19282  	}
 19283  	return c.header_
 19284  }
 19285  
 19286  func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 19287  	reqHeaders := make(http.Header)
 19288  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19289  	for k, v := range c.header_ {
 19290  		reqHeaders[k] = v
 19291  	}
 19292  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19293  	var body io.Reader = nil
 19294  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 19295  	if err != nil {
 19296  		return nil, err
 19297  	}
 19298  	reqHeaders.Set("Content-Type", "application/json")
 19299  	c.urlParams_.Set("alt", alt)
 19300  	c.urlParams_.Set("prettyPrint", "false")
 19301  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19302  	urls += "?" + c.urlParams_.Encode()
 19303  	req, err := http.NewRequest("PUT", urls, body)
 19304  	if err != nil {
 19305  		return nil, err
 19306  	}
 19307  	req.Header = reqHeaders
 19308  	googleapi.Expand(req.URL, map[string]string{
 19309  		"profileId": strconv.FormatInt(c.profileId, 10),
 19310  	})
 19311  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19312  }
 19313  
 19314  // Do executes the "dfareporting.advertiserLandingPages.update" call.
 19315  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 19316  // status code is an error. Response headers are in either
 19317  // *LandingPage.ServerResponse.Header or (if a response was returned at
 19318  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19319  // to check whether the returned error was because
 19320  // http.StatusNotModified was returned.
 19321  func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 19322  	gensupport.SetOptions(c.urlParams_, opts...)
 19323  	res, err := c.doRequest("json")
 19324  	if res != nil && res.StatusCode == http.StatusNotModified {
 19325  		if res.Body != nil {
 19326  			res.Body.Close()
 19327  		}
 19328  		return nil, &googleapi.Error{
 19329  			Code:   res.StatusCode,
 19330  			Header: res.Header,
 19331  		}
 19332  	}
 19333  	if err != nil {
 19334  		return nil, err
 19335  	}
 19336  	defer googleapi.CloseBody(res)
 19337  	if err := googleapi.CheckResponse(res); err != nil {
 19338  		return nil, err
 19339  	}
 19340  	ret := &LandingPage{
 19341  		ServerResponse: googleapi.ServerResponse{
 19342  			Header:         res.Header,
 19343  			HTTPStatusCode: res.StatusCode,
 19344  		},
 19345  	}
 19346  	target := &ret
 19347  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19348  		return nil, err
 19349  	}
 19350  	return ret, nil
 19351  	// {
 19352  	//   "description": "Updates an existing landing page.",
 19353  	//   "httpMethod": "PUT",
 19354  	//   "id": "dfareporting.advertiserLandingPages.update",
 19355  	//   "parameterOrder": [
 19356  	//     "profileId"
 19357  	//   ],
 19358  	//   "parameters": {
 19359  	//     "profileId": {
 19360  	//       "description": "User profile ID associated with this request.",
 19361  	//       "format": "int64",
 19362  	//       "location": "path",
 19363  	//       "required": true,
 19364  	//       "type": "string"
 19365  	//     }
 19366  	//   },
 19367  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19368  	//   "request": {
 19369  	//     "$ref": "LandingPage"
 19370  	//   },
 19371  	//   "response": {
 19372  	//     "$ref": "LandingPage"
 19373  	//   },
 19374  	//   "scopes": [
 19375  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19376  	//   ]
 19377  	// }
 19378  
 19379  }
 19380  
 19381  // method id "dfareporting.advertisers.get":
 19382  
 19383  type AdvertisersGetCall struct {
 19384  	s            *Service
 19385  	profileId    int64
 19386  	id           int64
 19387  	urlParams_   gensupport.URLParams
 19388  	ifNoneMatch_ string
 19389  	ctx_         context.Context
 19390  	header_      http.Header
 19391  }
 19392  
 19393  // Get: Gets one advertiser by ID.
 19394  func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
 19395  	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19396  	c.profileId = profileId
 19397  	c.id = id
 19398  	return c
 19399  }
 19400  
 19401  // Fields allows partial responses to be retrieved. See
 19402  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19403  // for more information.
 19404  func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
 19405  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19406  	return c
 19407  }
 19408  
 19409  // IfNoneMatch sets the optional parameter which makes the operation
 19410  // fail if the object's ETag matches the given value. This is useful for
 19411  // getting updates only after the object has changed since the last
 19412  // request. Use googleapi.IsNotModified to check whether the response
 19413  // error from Do is the result of In-None-Match.
 19414  func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
 19415  	c.ifNoneMatch_ = entityTag
 19416  	return c
 19417  }
 19418  
 19419  // Context sets the context to be used in this call's Do method. Any
 19420  // pending HTTP request will be aborted if the provided context is
 19421  // canceled.
 19422  func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 19423  	c.ctx_ = ctx
 19424  	return c
 19425  }
 19426  
 19427  // Header returns an http.Header that can be modified by the caller to
 19428  // add HTTP headers to the request.
 19429  func (c *AdvertisersGetCall) Header() http.Header {
 19430  	if c.header_ == nil {
 19431  		c.header_ = make(http.Header)
 19432  	}
 19433  	return c.header_
 19434  }
 19435  
 19436  func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 19437  	reqHeaders := make(http.Header)
 19438  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19439  	for k, v := range c.header_ {
 19440  		reqHeaders[k] = v
 19441  	}
 19442  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19443  	if c.ifNoneMatch_ != "" {
 19444  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19445  	}
 19446  	var body io.Reader = nil
 19447  	c.urlParams_.Set("alt", alt)
 19448  	c.urlParams_.Set("prettyPrint", "false")
 19449  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
 19450  	urls += "?" + c.urlParams_.Encode()
 19451  	req, err := http.NewRequest("GET", urls, body)
 19452  	if err != nil {
 19453  		return nil, err
 19454  	}
 19455  	req.Header = reqHeaders
 19456  	googleapi.Expand(req.URL, map[string]string{
 19457  		"profileId": strconv.FormatInt(c.profileId, 10),
 19458  		"id":        strconv.FormatInt(c.id, 10),
 19459  	})
 19460  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19461  }
 19462  
 19463  // Do executes the "dfareporting.advertisers.get" call.
 19464  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 19465  // status code is an error. Response headers are in either
 19466  // *Advertiser.ServerResponse.Header or (if a response was returned at
 19467  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19468  // to check whether the returned error was because
 19469  // http.StatusNotModified was returned.
 19470  func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 19471  	gensupport.SetOptions(c.urlParams_, opts...)
 19472  	res, err := c.doRequest("json")
 19473  	if res != nil && res.StatusCode == http.StatusNotModified {
 19474  		if res.Body != nil {
 19475  			res.Body.Close()
 19476  		}
 19477  		return nil, &googleapi.Error{
 19478  			Code:   res.StatusCode,
 19479  			Header: res.Header,
 19480  		}
 19481  	}
 19482  	if err != nil {
 19483  		return nil, err
 19484  	}
 19485  	defer googleapi.CloseBody(res)
 19486  	if err := googleapi.CheckResponse(res); err != nil {
 19487  		return nil, err
 19488  	}
 19489  	ret := &Advertiser{
 19490  		ServerResponse: googleapi.ServerResponse{
 19491  			Header:         res.Header,
 19492  			HTTPStatusCode: res.StatusCode,
 19493  		},
 19494  	}
 19495  	target := &ret
 19496  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19497  		return nil, err
 19498  	}
 19499  	return ret, nil
 19500  	// {
 19501  	//   "description": "Gets one advertiser by ID.",
 19502  	//   "httpMethod": "GET",
 19503  	//   "id": "dfareporting.advertisers.get",
 19504  	//   "parameterOrder": [
 19505  	//     "profileId",
 19506  	//     "id"
 19507  	//   ],
 19508  	//   "parameters": {
 19509  	//     "id": {
 19510  	//       "description": "Advertiser ID.",
 19511  	//       "format": "int64",
 19512  	//       "location": "path",
 19513  	//       "required": true,
 19514  	//       "type": "string"
 19515  	//     },
 19516  	//     "profileId": {
 19517  	//       "description": "User profile ID associated with this request.",
 19518  	//       "format": "int64",
 19519  	//       "location": "path",
 19520  	//       "required": true,
 19521  	//       "type": "string"
 19522  	//     }
 19523  	//   },
 19524  	//   "path": "userprofiles/{profileId}/advertisers/{id}",
 19525  	//   "response": {
 19526  	//     "$ref": "Advertiser"
 19527  	//   },
 19528  	//   "scopes": [
 19529  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19530  	//   ]
 19531  	// }
 19532  
 19533  }
 19534  
 19535  // method id "dfareporting.advertisers.insert":
 19536  
 19537  type AdvertisersInsertCall struct {
 19538  	s          *Service
 19539  	profileId  int64
 19540  	advertiser *Advertiser
 19541  	urlParams_ gensupport.URLParams
 19542  	ctx_       context.Context
 19543  	header_    http.Header
 19544  }
 19545  
 19546  // Insert: Inserts a new advertiser.
 19547  func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
 19548  	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19549  	c.profileId = profileId
 19550  	c.advertiser = advertiser
 19551  	return c
 19552  }
 19553  
 19554  // Fields allows partial responses to be retrieved. See
 19555  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19556  // for more information.
 19557  func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
 19558  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19559  	return c
 19560  }
 19561  
 19562  // Context sets the context to be used in this call's Do method. Any
 19563  // pending HTTP request will be aborted if the provided context is
 19564  // canceled.
 19565  func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
 19566  	c.ctx_ = ctx
 19567  	return c
 19568  }
 19569  
 19570  // Header returns an http.Header that can be modified by the caller to
 19571  // add HTTP headers to the request.
 19572  func (c *AdvertisersInsertCall) Header() http.Header {
 19573  	if c.header_ == nil {
 19574  		c.header_ = make(http.Header)
 19575  	}
 19576  	return c.header_
 19577  }
 19578  
 19579  func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
 19580  	reqHeaders := make(http.Header)
 19581  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19582  	for k, v := range c.header_ {
 19583  		reqHeaders[k] = v
 19584  	}
 19585  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19586  	var body io.Reader = nil
 19587  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 19588  	if err != nil {
 19589  		return nil, err
 19590  	}
 19591  	reqHeaders.Set("Content-Type", "application/json")
 19592  	c.urlParams_.Set("alt", alt)
 19593  	c.urlParams_.Set("prettyPrint", "false")
 19594  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 19595  	urls += "?" + c.urlParams_.Encode()
 19596  	req, err := http.NewRequest("POST", urls, body)
 19597  	if err != nil {
 19598  		return nil, err
 19599  	}
 19600  	req.Header = reqHeaders
 19601  	googleapi.Expand(req.URL, map[string]string{
 19602  		"profileId": strconv.FormatInt(c.profileId, 10),
 19603  	})
 19604  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19605  }
 19606  
 19607  // Do executes the "dfareporting.advertisers.insert" call.
 19608  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 19609  // status code is an error. Response headers are in either
 19610  // *Advertiser.ServerResponse.Header or (if a response was returned at
 19611  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19612  // to check whether the returned error was because
 19613  // http.StatusNotModified was returned.
 19614  func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 19615  	gensupport.SetOptions(c.urlParams_, opts...)
 19616  	res, err := c.doRequest("json")
 19617  	if res != nil && res.StatusCode == http.StatusNotModified {
 19618  		if res.Body != nil {
 19619  			res.Body.Close()
 19620  		}
 19621  		return nil, &googleapi.Error{
 19622  			Code:   res.StatusCode,
 19623  			Header: res.Header,
 19624  		}
 19625  	}
 19626  	if err != nil {
 19627  		return nil, err
 19628  	}
 19629  	defer googleapi.CloseBody(res)
 19630  	if err := googleapi.CheckResponse(res); err != nil {
 19631  		return nil, err
 19632  	}
 19633  	ret := &Advertiser{
 19634  		ServerResponse: googleapi.ServerResponse{
 19635  			Header:         res.Header,
 19636  			HTTPStatusCode: res.StatusCode,
 19637  		},
 19638  	}
 19639  	target := &ret
 19640  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19641  		return nil, err
 19642  	}
 19643  	return ret, nil
 19644  	// {
 19645  	//   "description": "Inserts a new advertiser.",
 19646  	//   "httpMethod": "POST",
 19647  	//   "id": "dfareporting.advertisers.insert",
 19648  	//   "parameterOrder": [
 19649  	//     "profileId"
 19650  	//   ],
 19651  	//   "parameters": {
 19652  	//     "profileId": {
 19653  	//       "description": "User profile ID associated with this request.",
 19654  	//       "format": "int64",
 19655  	//       "location": "path",
 19656  	//       "required": true,
 19657  	//       "type": "string"
 19658  	//     }
 19659  	//   },
 19660  	//   "path": "userprofiles/{profileId}/advertisers",
 19661  	//   "request": {
 19662  	//     "$ref": "Advertiser"
 19663  	//   },
 19664  	//   "response": {
 19665  	//     "$ref": "Advertiser"
 19666  	//   },
 19667  	//   "scopes": [
 19668  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19669  	//   ]
 19670  	// }
 19671  
 19672  }
 19673  
 19674  // method id "dfareporting.advertisers.list":
 19675  
 19676  type AdvertisersListCall struct {
 19677  	s            *Service
 19678  	profileId    int64
 19679  	urlParams_   gensupport.URLParams
 19680  	ifNoneMatch_ string
 19681  	ctx_         context.Context
 19682  	header_      http.Header
 19683  }
 19684  
 19685  // List: Retrieves a list of advertisers, possibly filtered. This method
 19686  // supports paging.
 19687  func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
 19688  	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19689  	c.profileId = profileId
 19690  	return c
 19691  }
 19692  
 19693  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 19694  // Select only advertisers with these advertiser group IDs.
 19695  func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
 19696  	var advertiserGroupIds_ []string
 19697  	for _, v := range advertiserGroupIds {
 19698  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 19699  	}
 19700  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 19701  	return c
 19702  }
 19703  
 19704  // FloodlightConfigurationIds sets the optional parameter
 19705  // "floodlightConfigurationIds": Select only advertisers with these
 19706  // floodlight configuration IDs.
 19707  func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
 19708  	var floodlightConfigurationIds_ []string
 19709  	for _, v := range floodlightConfigurationIds {
 19710  		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
 19711  	}
 19712  	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
 19713  	return c
 19714  }
 19715  
 19716  // Ids sets the optional parameter "ids": Select only advertisers with
 19717  // these IDs.
 19718  func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
 19719  	var ids_ []string
 19720  	for _, v := range ids {
 19721  		ids_ = append(ids_, fmt.Sprint(v))
 19722  	}
 19723  	c.urlParams_.SetMulti("ids", ids_)
 19724  	return c
 19725  }
 19726  
 19727  // IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
 19728  // "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
 19729  // do not belong to any advertiser group.
 19730  func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
 19731  	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
 19732  	return c
 19733  }
 19734  
 19735  // MaxResults sets the optional parameter "maxResults": Maximum number
 19736  // of results to return.
 19737  func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
 19738  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 19739  	return c
 19740  }
 19741  
 19742  // OnlyParent sets the optional parameter "onlyParent": Select only
 19743  // advertisers which use another advertiser's floodlight configuration.
 19744  func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
 19745  	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
 19746  	return c
 19747  }
 19748  
 19749  // PageToken sets the optional parameter "pageToken": Value of the
 19750  // nextPageToken from the previous result page.
 19751  func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
 19752  	c.urlParams_.Set("pageToken", pageToken)
 19753  	return c
 19754  }
 19755  
 19756  // SearchString sets the optional parameter "searchString": Allows
 19757  // searching for objects by name or ID. Wildcards (*) are allowed. For
 19758  // example, "advertiser*2015" will return objects with names like
 19759  // "advertiser June 2015", "advertiser April 2015", or simply
 19760  // "advertiser 2015". Most of the searches also add wildcards implicitly
 19761  // at the start and the end of the search string. For example, a search
 19762  // string of "advertiser" will match objects with name "my advertiser",
 19763  // "advertiser 2015", or simply "advertiser".
 19764  func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
 19765  	c.urlParams_.Set("searchString", searchString)
 19766  	return c
 19767  }
 19768  
 19769  // SortField sets the optional parameter "sortField": Field by which to
 19770  // sort the list.
 19771  //
 19772  // Possible values:
 19773  //
 19774  //	"ID" (default)
 19775  //	"NAME"
 19776  func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
 19777  	c.urlParams_.Set("sortField", sortField)
 19778  	return c
 19779  }
 19780  
 19781  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 19782  // results.
 19783  //
 19784  // Possible values:
 19785  //
 19786  //	"ASCENDING" (default)
 19787  //	"DESCENDING"
 19788  func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
 19789  	c.urlParams_.Set("sortOrder", sortOrder)
 19790  	return c
 19791  }
 19792  
 19793  // Status sets the optional parameter "status": Select only advertisers
 19794  // with the specified status.
 19795  //
 19796  // Possible values:
 19797  //
 19798  //	"APPROVED"
 19799  //	"ON_HOLD"
 19800  func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
 19801  	c.urlParams_.Set("status", status)
 19802  	return c
 19803  }
 19804  
 19805  // SubaccountId sets the optional parameter "subaccountId": Select only
 19806  // advertisers with these subaccount IDs.
 19807  func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
 19808  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 19809  	return c
 19810  }
 19811  
 19812  // Fields allows partial responses to be retrieved. See
 19813  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19814  // for more information.
 19815  func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
 19816  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19817  	return c
 19818  }
 19819  
 19820  // IfNoneMatch sets the optional parameter which makes the operation
 19821  // fail if the object's ETag matches the given value. This is useful for
 19822  // getting updates only after the object has changed since the last
 19823  // request. Use googleapi.IsNotModified to check whether the response
 19824  // error from Do is the result of In-None-Match.
 19825  func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
 19826  	c.ifNoneMatch_ = entityTag
 19827  	return c
 19828  }
 19829  
 19830  // Context sets the context to be used in this call's Do method. Any
 19831  // pending HTTP request will be aborted if the provided context is
 19832  // canceled.
 19833  func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 19834  	c.ctx_ = ctx
 19835  	return c
 19836  }
 19837  
 19838  // Header returns an http.Header that can be modified by the caller to
 19839  // add HTTP headers to the request.
 19840  func (c *AdvertisersListCall) Header() http.Header {
 19841  	if c.header_ == nil {
 19842  		c.header_ = make(http.Header)
 19843  	}
 19844  	return c.header_
 19845  }
 19846  
 19847  func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 19848  	reqHeaders := make(http.Header)
 19849  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19850  	for k, v := range c.header_ {
 19851  		reqHeaders[k] = v
 19852  	}
 19853  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19854  	if c.ifNoneMatch_ != "" {
 19855  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19856  	}
 19857  	var body io.Reader = nil
 19858  	c.urlParams_.Set("alt", alt)
 19859  	c.urlParams_.Set("prettyPrint", "false")
 19860  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 19861  	urls += "?" + c.urlParams_.Encode()
 19862  	req, err := http.NewRequest("GET", urls, body)
 19863  	if err != nil {
 19864  		return nil, err
 19865  	}
 19866  	req.Header = reqHeaders
 19867  	googleapi.Expand(req.URL, map[string]string{
 19868  		"profileId": strconv.FormatInt(c.profileId, 10),
 19869  	})
 19870  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19871  }
 19872  
 19873  // Do executes the "dfareporting.advertisers.list" call.
 19874  // Exactly one of *AdvertisersListResponse or error will be non-nil. Any
 19875  // non-2xx status code is an error. Response headers are in either
 19876  // *AdvertisersListResponse.ServerResponse.Header or (if a response was
 19877  // returned at all) in error.(*googleapi.Error).Header. Use
 19878  // googleapi.IsNotModified to check whether the returned error was
 19879  // because http.StatusNotModified was returned.
 19880  func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
 19881  	gensupport.SetOptions(c.urlParams_, opts...)
 19882  	res, err := c.doRequest("json")
 19883  	if res != nil && res.StatusCode == http.StatusNotModified {
 19884  		if res.Body != nil {
 19885  			res.Body.Close()
 19886  		}
 19887  		return nil, &googleapi.Error{
 19888  			Code:   res.StatusCode,
 19889  			Header: res.Header,
 19890  		}
 19891  	}
 19892  	if err != nil {
 19893  		return nil, err
 19894  	}
 19895  	defer googleapi.CloseBody(res)
 19896  	if err := googleapi.CheckResponse(res); err != nil {
 19897  		return nil, err
 19898  	}
 19899  	ret := &AdvertisersListResponse{
 19900  		ServerResponse: googleapi.ServerResponse{
 19901  			Header:         res.Header,
 19902  			HTTPStatusCode: res.StatusCode,
 19903  		},
 19904  	}
 19905  	target := &ret
 19906  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19907  		return nil, err
 19908  	}
 19909  	return ret, nil
 19910  	// {
 19911  	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
 19912  	//   "httpMethod": "GET",
 19913  	//   "id": "dfareporting.advertisers.list",
 19914  	//   "parameterOrder": [
 19915  	//     "profileId"
 19916  	//   ],
 19917  	//   "parameters": {
 19918  	//     "advertiserGroupIds": {
 19919  	//       "description": "Select only advertisers with these advertiser group IDs.",
 19920  	//       "format": "int64",
 19921  	//       "location": "query",
 19922  	//       "repeated": true,
 19923  	//       "type": "string"
 19924  	//     },
 19925  	//     "floodlightConfigurationIds": {
 19926  	//       "description": "Select only advertisers with these floodlight configuration IDs.",
 19927  	//       "format": "int64",
 19928  	//       "location": "query",
 19929  	//       "repeated": true,
 19930  	//       "type": "string"
 19931  	//     },
 19932  	//     "ids": {
 19933  	//       "description": "Select only advertisers with these IDs.",
 19934  	//       "format": "int64",
 19935  	//       "location": "query",
 19936  	//       "repeated": true,
 19937  	//       "type": "string"
 19938  	//     },
 19939  	//     "includeAdvertisersWithoutGroupsOnly": {
 19940  	//       "description": "Select only advertisers which do not belong to any advertiser group.",
 19941  	//       "location": "query",
 19942  	//       "type": "boolean"
 19943  	//     },
 19944  	//     "maxResults": {
 19945  	//       "default": "1000",
 19946  	//       "description": "Maximum number of results to return.",
 19947  	//       "format": "int32",
 19948  	//       "location": "query",
 19949  	//       "maximum": "1000",
 19950  	//       "minimum": "0",
 19951  	//       "type": "integer"
 19952  	//     },
 19953  	//     "onlyParent": {
 19954  	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
 19955  	//       "location": "query",
 19956  	//       "type": "boolean"
 19957  	//     },
 19958  	//     "pageToken": {
 19959  	//       "description": "Value of the nextPageToken from the previous result page.",
 19960  	//       "location": "query",
 19961  	//       "type": "string"
 19962  	//     },
 19963  	//     "profileId": {
 19964  	//       "description": "User profile ID associated with this request.",
 19965  	//       "format": "int64",
 19966  	//       "location": "path",
 19967  	//       "required": true,
 19968  	//       "type": "string"
 19969  	//     },
 19970  	//     "searchString": {
 19971  	//       "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\".",
 19972  	//       "location": "query",
 19973  	//       "type": "string"
 19974  	//     },
 19975  	//     "sortField": {
 19976  	//       "default": "ID",
 19977  	//       "description": "Field by which to sort the list.",
 19978  	//       "enum": [
 19979  	//         "ID",
 19980  	//         "NAME"
 19981  	//       ],
 19982  	//       "enumDescriptions": [
 19983  	//         "",
 19984  	//         ""
 19985  	//       ],
 19986  	//       "location": "query",
 19987  	//       "type": "string"
 19988  	//     },
 19989  	//     "sortOrder": {
 19990  	//       "default": "ASCENDING",
 19991  	//       "description": "Order of sorted results.",
 19992  	//       "enum": [
 19993  	//         "ASCENDING",
 19994  	//         "DESCENDING"
 19995  	//       ],
 19996  	//       "enumDescriptions": [
 19997  	//         "",
 19998  	//         ""
 19999  	//       ],
 20000  	//       "location": "query",
 20001  	//       "type": "string"
 20002  	//     },
 20003  	//     "status": {
 20004  	//       "description": "Select only advertisers with the specified status.",
 20005  	//       "enum": [
 20006  	//         "APPROVED",
 20007  	//         "ON_HOLD"
 20008  	//       ],
 20009  	//       "enumDescriptions": [
 20010  	//         "",
 20011  	//         ""
 20012  	//       ],
 20013  	//       "location": "query",
 20014  	//       "type": "string"
 20015  	//     },
 20016  	//     "subaccountId": {
 20017  	//       "description": "Select only advertisers with these subaccount IDs.",
 20018  	//       "format": "int64",
 20019  	//       "location": "query",
 20020  	//       "type": "string"
 20021  	//     }
 20022  	//   },
 20023  	//   "path": "userprofiles/{profileId}/advertisers",
 20024  	//   "response": {
 20025  	//     "$ref": "AdvertisersListResponse"
 20026  	//   },
 20027  	//   "scopes": [
 20028  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20029  	//   ]
 20030  	// }
 20031  
 20032  }
 20033  
 20034  // Pages invokes f for each page of results.
 20035  // A non-nil error returned from f will halt the iteration.
 20036  // The provided context supersedes any context provided to the Context method.
 20037  func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
 20038  	c.ctx_ = ctx
 20039  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 20040  	for {
 20041  		x, err := c.Do()
 20042  		if err != nil {
 20043  			return err
 20044  		}
 20045  		if err := f(x); err != nil {
 20046  			return err
 20047  		}
 20048  		if x.NextPageToken == "" {
 20049  			return nil
 20050  		}
 20051  		c.PageToken(x.NextPageToken)
 20052  	}
 20053  }
 20054  
 20055  // method id "dfareporting.advertisers.patch":
 20056  
 20057  type AdvertisersPatchCall struct {
 20058  	s          *Service
 20059  	profileId  int64
 20060  	advertiser *Advertiser
 20061  	urlParams_ gensupport.URLParams
 20062  	ctx_       context.Context
 20063  	header_    http.Header
 20064  }
 20065  
 20066  // Patch: Updates an existing advertiser. This method supports patch
 20067  // semantics.
 20068  func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
 20069  	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20070  	c.profileId = profileId
 20071  	c.urlParams_.Set("id", fmt.Sprint(id))
 20072  	c.advertiser = advertiser
 20073  	return c
 20074  }
 20075  
 20076  // Fields allows partial responses to be retrieved. See
 20077  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20078  // for more information.
 20079  func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
 20080  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20081  	return c
 20082  }
 20083  
 20084  // Context sets the context to be used in this call's Do method. Any
 20085  // pending HTTP request will be aborted if the provided context is
 20086  // canceled.
 20087  func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 20088  	c.ctx_ = ctx
 20089  	return c
 20090  }
 20091  
 20092  // Header returns an http.Header that can be modified by the caller to
 20093  // add HTTP headers to the request.
 20094  func (c *AdvertisersPatchCall) Header() http.Header {
 20095  	if c.header_ == nil {
 20096  		c.header_ = make(http.Header)
 20097  	}
 20098  	return c.header_
 20099  }
 20100  
 20101  func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 20102  	reqHeaders := make(http.Header)
 20103  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20104  	for k, v := range c.header_ {
 20105  		reqHeaders[k] = v
 20106  	}
 20107  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20108  	var body io.Reader = nil
 20109  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 20110  	if err != nil {
 20111  		return nil, err
 20112  	}
 20113  	reqHeaders.Set("Content-Type", "application/json")
 20114  	c.urlParams_.Set("alt", alt)
 20115  	c.urlParams_.Set("prettyPrint", "false")
 20116  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20117  	urls += "?" + c.urlParams_.Encode()
 20118  	req, err := http.NewRequest("PATCH", urls, body)
 20119  	if err != nil {
 20120  		return nil, err
 20121  	}
 20122  	req.Header = reqHeaders
 20123  	googleapi.Expand(req.URL, map[string]string{
 20124  		"profileId": strconv.FormatInt(c.profileId, 10),
 20125  	})
 20126  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20127  }
 20128  
 20129  // Do executes the "dfareporting.advertisers.patch" call.
 20130  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 20131  // status code is an error. Response headers are in either
 20132  // *Advertiser.ServerResponse.Header or (if a response was returned at
 20133  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20134  // to check whether the returned error was because
 20135  // http.StatusNotModified was returned.
 20136  func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 20137  	gensupport.SetOptions(c.urlParams_, opts...)
 20138  	res, err := c.doRequest("json")
 20139  	if res != nil && res.StatusCode == http.StatusNotModified {
 20140  		if res.Body != nil {
 20141  			res.Body.Close()
 20142  		}
 20143  		return nil, &googleapi.Error{
 20144  			Code:   res.StatusCode,
 20145  			Header: res.Header,
 20146  		}
 20147  	}
 20148  	if err != nil {
 20149  		return nil, err
 20150  	}
 20151  	defer googleapi.CloseBody(res)
 20152  	if err := googleapi.CheckResponse(res); err != nil {
 20153  		return nil, err
 20154  	}
 20155  	ret := &Advertiser{
 20156  		ServerResponse: googleapi.ServerResponse{
 20157  			Header:         res.Header,
 20158  			HTTPStatusCode: res.StatusCode,
 20159  		},
 20160  	}
 20161  	target := &ret
 20162  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20163  		return nil, err
 20164  	}
 20165  	return ret, nil
 20166  	// {
 20167  	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
 20168  	//   "httpMethod": "PATCH",
 20169  	//   "id": "dfareporting.advertisers.patch",
 20170  	//   "parameterOrder": [
 20171  	//     "profileId",
 20172  	//     "id"
 20173  	//   ],
 20174  	//   "parameters": {
 20175  	//     "id": {
 20176  	//       "description": "Advertiser ID.",
 20177  	//       "format": "int64",
 20178  	//       "location": "query",
 20179  	//       "required": true,
 20180  	//       "type": "string"
 20181  	//     },
 20182  	//     "profileId": {
 20183  	//       "description": "User profile ID associated with this request.",
 20184  	//       "format": "int64",
 20185  	//       "location": "path",
 20186  	//       "required": true,
 20187  	//       "type": "string"
 20188  	//     }
 20189  	//   },
 20190  	//   "path": "userprofiles/{profileId}/advertisers",
 20191  	//   "request": {
 20192  	//     "$ref": "Advertiser"
 20193  	//   },
 20194  	//   "response": {
 20195  	//     "$ref": "Advertiser"
 20196  	//   },
 20197  	//   "scopes": [
 20198  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20199  	//   ]
 20200  	// }
 20201  
 20202  }
 20203  
 20204  // method id "dfareporting.advertisers.update":
 20205  
 20206  type AdvertisersUpdateCall struct {
 20207  	s          *Service
 20208  	profileId  int64
 20209  	advertiser *Advertiser
 20210  	urlParams_ gensupport.URLParams
 20211  	ctx_       context.Context
 20212  	header_    http.Header
 20213  }
 20214  
 20215  // Update: Updates an existing advertiser.
 20216  func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
 20217  	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20218  	c.profileId = profileId
 20219  	c.advertiser = advertiser
 20220  	return c
 20221  }
 20222  
 20223  // Fields allows partial responses to be retrieved. See
 20224  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20225  // for more information.
 20226  func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
 20227  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20228  	return c
 20229  }
 20230  
 20231  // Context sets the context to be used in this call's Do method. Any
 20232  // pending HTTP request will be aborted if the provided context is
 20233  // canceled.
 20234  func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
 20235  	c.ctx_ = ctx
 20236  	return c
 20237  }
 20238  
 20239  // Header returns an http.Header that can be modified by the caller to
 20240  // add HTTP headers to the request.
 20241  func (c *AdvertisersUpdateCall) Header() http.Header {
 20242  	if c.header_ == nil {
 20243  		c.header_ = make(http.Header)
 20244  	}
 20245  	return c.header_
 20246  }
 20247  
 20248  func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
 20249  	reqHeaders := make(http.Header)
 20250  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20251  	for k, v := range c.header_ {
 20252  		reqHeaders[k] = v
 20253  	}
 20254  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20255  	var body io.Reader = nil
 20256  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 20257  	if err != nil {
 20258  		return nil, err
 20259  	}
 20260  	reqHeaders.Set("Content-Type", "application/json")
 20261  	c.urlParams_.Set("alt", alt)
 20262  	c.urlParams_.Set("prettyPrint", "false")
 20263  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20264  	urls += "?" + c.urlParams_.Encode()
 20265  	req, err := http.NewRequest("PUT", urls, body)
 20266  	if err != nil {
 20267  		return nil, err
 20268  	}
 20269  	req.Header = reqHeaders
 20270  	googleapi.Expand(req.URL, map[string]string{
 20271  		"profileId": strconv.FormatInt(c.profileId, 10),
 20272  	})
 20273  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20274  }
 20275  
 20276  // Do executes the "dfareporting.advertisers.update" call.
 20277  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 20278  // status code is an error. Response headers are in either
 20279  // *Advertiser.ServerResponse.Header or (if a response was returned at
 20280  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20281  // to check whether the returned error was because
 20282  // http.StatusNotModified was returned.
 20283  func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 20284  	gensupport.SetOptions(c.urlParams_, opts...)
 20285  	res, err := c.doRequest("json")
 20286  	if res != nil && res.StatusCode == http.StatusNotModified {
 20287  		if res.Body != nil {
 20288  			res.Body.Close()
 20289  		}
 20290  		return nil, &googleapi.Error{
 20291  			Code:   res.StatusCode,
 20292  			Header: res.Header,
 20293  		}
 20294  	}
 20295  	if err != nil {
 20296  		return nil, err
 20297  	}
 20298  	defer googleapi.CloseBody(res)
 20299  	if err := googleapi.CheckResponse(res); err != nil {
 20300  		return nil, err
 20301  	}
 20302  	ret := &Advertiser{
 20303  		ServerResponse: googleapi.ServerResponse{
 20304  			Header:         res.Header,
 20305  			HTTPStatusCode: res.StatusCode,
 20306  		},
 20307  	}
 20308  	target := &ret
 20309  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20310  		return nil, err
 20311  	}
 20312  	return ret, nil
 20313  	// {
 20314  	//   "description": "Updates an existing advertiser.",
 20315  	//   "httpMethod": "PUT",
 20316  	//   "id": "dfareporting.advertisers.update",
 20317  	//   "parameterOrder": [
 20318  	//     "profileId"
 20319  	//   ],
 20320  	//   "parameters": {
 20321  	//     "profileId": {
 20322  	//       "description": "User profile ID associated with this request.",
 20323  	//       "format": "int64",
 20324  	//       "location": "path",
 20325  	//       "required": true,
 20326  	//       "type": "string"
 20327  	//     }
 20328  	//   },
 20329  	//   "path": "userprofiles/{profileId}/advertisers",
 20330  	//   "request": {
 20331  	//     "$ref": "Advertiser"
 20332  	//   },
 20333  	//   "response": {
 20334  	//     "$ref": "Advertiser"
 20335  	//   },
 20336  	//   "scopes": [
 20337  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20338  	//   ]
 20339  	// }
 20340  
 20341  }
 20342  
 20343  // method id "dfareporting.browsers.list":
 20344  
 20345  type BrowsersListCall struct {
 20346  	s            *Service
 20347  	profileId    int64
 20348  	urlParams_   gensupport.URLParams
 20349  	ifNoneMatch_ string
 20350  	ctx_         context.Context
 20351  	header_      http.Header
 20352  }
 20353  
 20354  // List: Retrieves a list of browsers.
 20355  func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
 20356  	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20357  	c.profileId = profileId
 20358  	return c
 20359  }
 20360  
 20361  // Fields allows partial responses to be retrieved. See
 20362  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20363  // for more information.
 20364  func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
 20365  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20366  	return c
 20367  }
 20368  
 20369  // IfNoneMatch sets the optional parameter which makes the operation
 20370  // fail if the object's ETag matches the given value. This is useful for
 20371  // getting updates only after the object has changed since the last
 20372  // request. Use googleapi.IsNotModified to check whether the response
 20373  // error from Do is the result of In-None-Match.
 20374  func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
 20375  	c.ifNoneMatch_ = entityTag
 20376  	return c
 20377  }
 20378  
 20379  // Context sets the context to be used in this call's Do method. Any
 20380  // pending HTTP request will be aborted if the provided context is
 20381  // canceled.
 20382  func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
 20383  	c.ctx_ = ctx
 20384  	return c
 20385  }
 20386  
 20387  // Header returns an http.Header that can be modified by the caller to
 20388  // add HTTP headers to the request.
 20389  func (c *BrowsersListCall) Header() http.Header {
 20390  	if c.header_ == nil {
 20391  		c.header_ = make(http.Header)
 20392  	}
 20393  	return c.header_
 20394  }
 20395  
 20396  func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 20397  	reqHeaders := make(http.Header)
 20398  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20399  	for k, v := range c.header_ {
 20400  		reqHeaders[k] = v
 20401  	}
 20402  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20403  	if c.ifNoneMatch_ != "" {
 20404  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20405  	}
 20406  	var body io.Reader = nil
 20407  	c.urlParams_.Set("alt", alt)
 20408  	c.urlParams_.Set("prettyPrint", "false")
 20409  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
 20410  	urls += "?" + c.urlParams_.Encode()
 20411  	req, err := http.NewRequest("GET", urls, body)
 20412  	if err != nil {
 20413  		return nil, err
 20414  	}
 20415  	req.Header = reqHeaders
 20416  	googleapi.Expand(req.URL, map[string]string{
 20417  		"profileId": strconv.FormatInt(c.profileId, 10),
 20418  	})
 20419  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20420  }
 20421  
 20422  // Do executes the "dfareporting.browsers.list" call.
 20423  // Exactly one of *BrowsersListResponse or error will be non-nil. Any
 20424  // non-2xx status code is an error. Response headers are in either
 20425  // *BrowsersListResponse.ServerResponse.Header or (if a response was
 20426  // returned at all) in error.(*googleapi.Error).Header. Use
 20427  // googleapi.IsNotModified to check whether the returned error was
 20428  // because http.StatusNotModified was returned.
 20429  func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
 20430  	gensupport.SetOptions(c.urlParams_, opts...)
 20431  	res, err := c.doRequest("json")
 20432  	if res != nil && res.StatusCode == http.StatusNotModified {
 20433  		if res.Body != nil {
 20434  			res.Body.Close()
 20435  		}
 20436  		return nil, &googleapi.Error{
 20437  			Code:   res.StatusCode,
 20438  			Header: res.Header,
 20439  		}
 20440  	}
 20441  	if err != nil {
 20442  		return nil, err
 20443  	}
 20444  	defer googleapi.CloseBody(res)
 20445  	if err := googleapi.CheckResponse(res); err != nil {
 20446  		return nil, err
 20447  	}
 20448  	ret := &BrowsersListResponse{
 20449  		ServerResponse: googleapi.ServerResponse{
 20450  			Header:         res.Header,
 20451  			HTTPStatusCode: res.StatusCode,
 20452  		},
 20453  	}
 20454  	target := &ret
 20455  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20456  		return nil, err
 20457  	}
 20458  	return ret, nil
 20459  	// {
 20460  	//   "description": "Retrieves a list of browsers.",
 20461  	//   "httpMethod": "GET",
 20462  	//   "id": "dfareporting.browsers.list",
 20463  	//   "parameterOrder": [
 20464  	//     "profileId"
 20465  	//   ],
 20466  	//   "parameters": {
 20467  	//     "profileId": {
 20468  	//       "description": "User profile ID associated with this request.",
 20469  	//       "format": "int64",
 20470  	//       "location": "path",
 20471  	//       "required": true,
 20472  	//       "type": "string"
 20473  	//     }
 20474  	//   },
 20475  	//   "path": "userprofiles/{profileId}/browsers",
 20476  	//   "response": {
 20477  	//     "$ref": "BrowsersListResponse"
 20478  	//   },
 20479  	//   "scopes": [
 20480  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20481  	//   ]
 20482  	// }
 20483  
 20484  }
 20485  
 20486  // method id "dfareporting.campaignCreativeAssociations.insert":
 20487  
 20488  type CampaignCreativeAssociationsInsertCall struct {
 20489  	s                           *Service
 20490  	profileId                   int64
 20491  	campaignId                  int64
 20492  	campaigncreativeassociation *CampaignCreativeAssociation
 20493  	urlParams_                  gensupport.URLParams
 20494  	ctx_                        context.Context
 20495  	header_                     http.Header
 20496  }
 20497  
 20498  // Insert: Associates a creative with the specified campaign. This
 20499  // method creates a default ad with dimensions matching the creative in
 20500  // the campaign if such a default ad does not exist already.
 20501  func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
 20502  	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20503  	c.profileId = profileId
 20504  	c.campaignId = campaignId
 20505  	c.campaigncreativeassociation = campaigncreativeassociation
 20506  	return c
 20507  }
 20508  
 20509  // Fields allows partial responses to be retrieved. See
 20510  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20511  // for more information.
 20512  func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
 20513  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20514  	return c
 20515  }
 20516  
 20517  // Context sets the context to be used in this call's Do method. Any
 20518  // pending HTTP request will be aborted if the provided context is
 20519  // canceled.
 20520  func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
 20521  	c.ctx_ = ctx
 20522  	return c
 20523  }
 20524  
 20525  // Header returns an http.Header that can be modified by the caller to
 20526  // add HTTP headers to the request.
 20527  func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
 20528  	if c.header_ == nil {
 20529  		c.header_ = make(http.Header)
 20530  	}
 20531  	return c.header_
 20532  }
 20533  
 20534  func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
 20535  	reqHeaders := make(http.Header)
 20536  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20537  	for k, v := range c.header_ {
 20538  		reqHeaders[k] = v
 20539  	}
 20540  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20541  	var body io.Reader = nil
 20542  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
 20543  	if err != nil {
 20544  		return nil, err
 20545  	}
 20546  	reqHeaders.Set("Content-Type", "application/json")
 20547  	c.urlParams_.Set("alt", alt)
 20548  	c.urlParams_.Set("prettyPrint", "false")
 20549  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 20550  	urls += "?" + c.urlParams_.Encode()
 20551  	req, err := http.NewRequest("POST", urls, body)
 20552  	if err != nil {
 20553  		return nil, err
 20554  	}
 20555  	req.Header = reqHeaders
 20556  	googleapi.Expand(req.URL, map[string]string{
 20557  		"profileId":  strconv.FormatInt(c.profileId, 10),
 20558  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 20559  	})
 20560  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20561  }
 20562  
 20563  // Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
 20564  // Exactly one of *CampaignCreativeAssociation or error will be non-nil.
 20565  // Any non-2xx status code is an error. Response headers are in either
 20566  // *CampaignCreativeAssociation.ServerResponse.Header or (if a response
 20567  // was returned at all) in error.(*googleapi.Error).Header. Use
 20568  // googleapi.IsNotModified to check whether the returned error was
 20569  // because http.StatusNotModified was returned.
 20570  func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
 20571  	gensupport.SetOptions(c.urlParams_, opts...)
 20572  	res, err := c.doRequest("json")
 20573  	if res != nil && res.StatusCode == http.StatusNotModified {
 20574  		if res.Body != nil {
 20575  			res.Body.Close()
 20576  		}
 20577  		return nil, &googleapi.Error{
 20578  			Code:   res.StatusCode,
 20579  			Header: res.Header,
 20580  		}
 20581  	}
 20582  	if err != nil {
 20583  		return nil, err
 20584  	}
 20585  	defer googleapi.CloseBody(res)
 20586  	if err := googleapi.CheckResponse(res); err != nil {
 20587  		return nil, err
 20588  	}
 20589  	ret := &CampaignCreativeAssociation{
 20590  		ServerResponse: googleapi.ServerResponse{
 20591  			Header:         res.Header,
 20592  			HTTPStatusCode: res.StatusCode,
 20593  		},
 20594  	}
 20595  	target := &ret
 20596  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20597  		return nil, err
 20598  	}
 20599  	return ret, nil
 20600  	// {
 20601  	//   "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.",
 20602  	//   "httpMethod": "POST",
 20603  	//   "id": "dfareporting.campaignCreativeAssociations.insert",
 20604  	//   "parameterOrder": [
 20605  	//     "profileId",
 20606  	//     "campaignId"
 20607  	//   ],
 20608  	//   "parameters": {
 20609  	//     "campaignId": {
 20610  	//       "description": "Campaign ID in this association.",
 20611  	//       "format": "int64",
 20612  	//       "location": "path",
 20613  	//       "required": true,
 20614  	//       "type": "string"
 20615  	//     },
 20616  	//     "profileId": {
 20617  	//       "description": "User profile ID associated with this request.",
 20618  	//       "format": "int64",
 20619  	//       "location": "path",
 20620  	//       "required": true,
 20621  	//       "type": "string"
 20622  	//     }
 20623  	//   },
 20624  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 20625  	//   "request": {
 20626  	//     "$ref": "CampaignCreativeAssociation"
 20627  	//   },
 20628  	//   "response": {
 20629  	//     "$ref": "CampaignCreativeAssociation"
 20630  	//   },
 20631  	//   "scopes": [
 20632  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20633  	//   ]
 20634  	// }
 20635  
 20636  }
 20637  
 20638  // method id "dfareporting.campaignCreativeAssociations.list":
 20639  
 20640  type CampaignCreativeAssociationsListCall struct {
 20641  	s            *Service
 20642  	profileId    int64
 20643  	campaignId   int64
 20644  	urlParams_   gensupport.URLParams
 20645  	ifNoneMatch_ string
 20646  	ctx_         context.Context
 20647  	header_      http.Header
 20648  }
 20649  
 20650  // List: Retrieves the list of creative IDs associated with the
 20651  // specified campaign. This method supports paging.
 20652  func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
 20653  	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20654  	c.profileId = profileId
 20655  	c.campaignId = campaignId
 20656  	return c
 20657  }
 20658  
 20659  // MaxResults sets the optional parameter "maxResults": Maximum number
 20660  // of results to return.
 20661  func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
 20662  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 20663  	return c
 20664  }
 20665  
 20666  // PageToken sets the optional parameter "pageToken": Value of the
 20667  // nextPageToken from the previous result page.
 20668  func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
 20669  	c.urlParams_.Set("pageToken", pageToken)
 20670  	return c
 20671  }
 20672  
 20673  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 20674  // results.
 20675  //
 20676  // Possible values:
 20677  //
 20678  //	"ASCENDING" (default)
 20679  //	"DESCENDING"
 20680  func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
 20681  	c.urlParams_.Set("sortOrder", sortOrder)
 20682  	return c
 20683  }
 20684  
 20685  // Fields allows partial responses to be retrieved. See
 20686  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20687  // for more information.
 20688  func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
 20689  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20690  	return c
 20691  }
 20692  
 20693  // IfNoneMatch sets the optional parameter which makes the operation
 20694  // fail if the object's ETag matches the given value. This is useful for
 20695  // getting updates only after the object has changed since the last
 20696  // request. Use googleapi.IsNotModified to check whether the response
 20697  // error from Do is the result of In-None-Match.
 20698  func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
 20699  	c.ifNoneMatch_ = entityTag
 20700  	return c
 20701  }
 20702  
 20703  // Context sets the context to be used in this call's Do method. Any
 20704  // pending HTTP request will be aborted if the provided context is
 20705  // canceled.
 20706  func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
 20707  	c.ctx_ = ctx
 20708  	return c
 20709  }
 20710  
 20711  // Header returns an http.Header that can be modified by the caller to
 20712  // add HTTP headers to the request.
 20713  func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
 20714  	if c.header_ == nil {
 20715  		c.header_ = make(http.Header)
 20716  	}
 20717  	return c.header_
 20718  }
 20719  
 20720  func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 20721  	reqHeaders := make(http.Header)
 20722  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20723  	for k, v := range c.header_ {
 20724  		reqHeaders[k] = v
 20725  	}
 20726  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20727  	if c.ifNoneMatch_ != "" {
 20728  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20729  	}
 20730  	var body io.Reader = nil
 20731  	c.urlParams_.Set("alt", alt)
 20732  	c.urlParams_.Set("prettyPrint", "false")
 20733  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 20734  	urls += "?" + c.urlParams_.Encode()
 20735  	req, err := http.NewRequest("GET", urls, body)
 20736  	if err != nil {
 20737  		return nil, err
 20738  	}
 20739  	req.Header = reqHeaders
 20740  	googleapi.Expand(req.URL, map[string]string{
 20741  		"profileId":  strconv.FormatInt(c.profileId, 10),
 20742  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 20743  	})
 20744  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20745  }
 20746  
 20747  // Do executes the "dfareporting.campaignCreativeAssociations.list" call.
 20748  // Exactly one of *CampaignCreativeAssociationsListResponse or error
 20749  // will be non-nil. Any non-2xx status code is an error. Response
 20750  // headers are in either
 20751  // *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
 20752  // (if a response was returned at all) in
 20753  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20754  // whether the returned error was because http.StatusNotModified was
 20755  // returned.
 20756  func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
 20757  	gensupport.SetOptions(c.urlParams_, opts...)
 20758  	res, err := c.doRequest("json")
 20759  	if res != nil && res.StatusCode == http.StatusNotModified {
 20760  		if res.Body != nil {
 20761  			res.Body.Close()
 20762  		}
 20763  		return nil, &googleapi.Error{
 20764  			Code:   res.StatusCode,
 20765  			Header: res.Header,
 20766  		}
 20767  	}
 20768  	if err != nil {
 20769  		return nil, err
 20770  	}
 20771  	defer googleapi.CloseBody(res)
 20772  	if err := googleapi.CheckResponse(res); err != nil {
 20773  		return nil, err
 20774  	}
 20775  	ret := &CampaignCreativeAssociationsListResponse{
 20776  		ServerResponse: googleapi.ServerResponse{
 20777  			Header:         res.Header,
 20778  			HTTPStatusCode: res.StatusCode,
 20779  		},
 20780  	}
 20781  	target := &ret
 20782  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20783  		return nil, err
 20784  	}
 20785  	return ret, nil
 20786  	// {
 20787  	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
 20788  	//   "httpMethod": "GET",
 20789  	//   "id": "dfareporting.campaignCreativeAssociations.list",
 20790  	//   "parameterOrder": [
 20791  	//     "profileId",
 20792  	//     "campaignId"
 20793  	//   ],
 20794  	//   "parameters": {
 20795  	//     "campaignId": {
 20796  	//       "description": "Campaign ID in this association.",
 20797  	//       "format": "int64",
 20798  	//       "location": "path",
 20799  	//       "required": true,
 20800  	//       "type": "string"
 20801  	//     },
 20802  	//     "maxResults": {
 20803  	//       "default": "1000",
 20804  	//       "description": "Maximum number of results to return.",
 20805  	//       "format": "int32",
 20806  	//       "location": "query",
 20807  	//       "maximum": "1000",
 20808  	//       "minimum": "0",
 20809  	//       "type": "integer"
 20810  	//     },
 20811  	//     "pageToken": {
 20812  	//       "description": "Value of the nextPageToken from the previous result page.",
 20813  	//       "location": "query",
 20814  	//       "type": "string"
 20815  	//     },
 20816  	//     "profileId": {
 20817  	//       "description": "User profile ID associated with this request.",
 20818  	//       "format": "int64",
 20819  	//       "location": "path",
 20820  	//       "required": true,
 20821  	//       "type": "string"
 20822  	//     },
 20823  	//     "sortOrder": {
 20824  	//       "default": "ASCENDING",
 20825  	//       "description": "Order of sorted results.",
 20826  	//       "enum": [
 20827  	//         "ASCENDING",
 20828  	//         "DESCENDING"
 20829  	//       ],
 20830  	//       "enumDescriptions": [
 20831  	//         "",
 20832  	//         ""
 20833  	//       ],
 20834  	//       "location": "query",
 20835  	//       "type": "string"
 20836  	//     }
 20837  	//   },
 20838  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 20839  	//   "response": {
 20840  	//     "$ref": "CampaignCreativeAssociationsListResponse"
 20841  	//   },
 20842  	//   "scopes": [
 20843  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20844  	//   ]
 20845  	// }
 20846  
 20847  }
 20848  
 20849  // Pages invokes f for each page of results.
 20850  // A non-nil error returned from f will halt the iteration.
 20851  // The provided context supersedes any context provided to the Context method.
 20852  func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
 20853  	c.ctx_ = ctx
 20854  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 20855  	for {
 20856  		x, err := c.Do()
 20857  		if err != nil {
 20858  			return err
 20859  		}
 20860  		if err := f(x); err != nil {
 20861  			return err
 20862  		}
 20863  		if x.NextPageToken == "" {
 20864  			return nil
 20865  		}
 20866  		c.PageToken(x.NextPageToken)
 20867  	}
 20868  }
 20869  
 20870  // method id "dfareporting.campaigns.get":
 20871  
 20872  type CampaignsGetCall struct {
 20873  	s            *Service
 20874  	profileId    int64
 20875  	id           int64
 20876  	urlParams_   gensupport.URLParams
 20877  	ifNoneMatch_ string
 20878  	ctx_         context.Context
 20879  	header_      http.Header
 20880  }
 20881  
 20882  // Get: Gets one campaign by ID.
 20883  func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
 20884  	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20885  	c.profileId = profileId
 20886  	c.id = id
 20887  	return c
 20888  }
 20889  
 20890  // Fields allows partial responses to be retrieved. See
 20891  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20892  // for more information.
 20893  func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
 20894  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20895  	return c
 20896  }
 20897  
 20898  // IfNoneMatch sets the optional parameter which makes the operation
 20899  // fail if the object's ETag matches the given value. This is useful for
 20900  // getting updates only after the object has changed since the last
 20901  // request. Use googleapi.IsNotModified to check whether the response
 20902  // error from Do is the result of In-None-Match.
 20903  func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
 20904  	c.ifNoneMatch_ = entityTag
 20905  	return c
 20906  }
 20907  
 20908  // Context sets the context to be used in this call's Do method. Any
 20909  // pending HTTP request will be aborted if the provided context is
 20910  // canceled.
 20911  func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
 20912  	c.ctx_ = ctx
 20913  	return c
 20914  }
 20915  
 20916  // Header returns an http.Header that can be modified by the caller to
 20917  // add HTTP headers to the request.
 20918  func (c *CampaignsGetCall) Header() http.Header {
 20919  	if c.header_ == nil {
 20920  		c.header_ = make(http.Header)
 20921  	}
 20922  	return c.header_
 20923  }
 20924  
 20925  func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 20926  	reqHeaders := make(http.Header)
 20927  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20928  	for k, v := range c.header_ {
 20929  		reqHeaders[k] = v
 20930  	}
 20931  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20932  	if c.ifNoneMatch_ != "" {
 20933  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20934  	}
 20935  	var body io.Reader = nil
 20936  	c.urlParams_.Set("alt", alt)
 20937  	c.urlParams_.Set("prettyPrint", "false")
 20938  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
 20939  	urls += "?" + c.urlParams_.Encode()
 20940  	req, err := http.NewRequest("GET", urls, body)
 20941  	if err != nil {
 20942  		return nil, err
 20943  	}
 20944  	req.Header = reqHeaders
 20945  	googleapi.Expand(req.URL, map[string]string{
 20946  		"profileId": strconv.FormatInt(c.profileId, 10),
 20947  		"id":        strconv.FormatInt(c.id, 10),
 20948  	})
 20949  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20950  }
 20951  
 20952  // Do executes the "dfareporting.campaigns.get" call.
 20953  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 20954  // code is an error. Response headers are in either
 20955  // *Campaign.ServerResponse.Header or (if a response was returned at
 20956  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20957  // to check whether the returned error was because
 20958  // http.StatusNotModified was returned.
 20959  func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 20960  	gensupport.SetOptions(c.urlParams_, opts...)
 20961  	res, err := c.doRequest("json")
 20962  	if res != nil && res.StatusCode == http.StatusNotModified {
 20963  		if res.Body != nil {
 20964  			res.Body.Close()
 20965  		}
 20966  		return nil, &googleapi.Error{
 20967  			Code:   res.StatusCode,
 20968  			Header: res.Header,
 20969  		}
 20970  	}
 20971  	if err != nil {
 20972  		return nil, err
 20973  	}
 20974  	defer googleapi.CloseBody(res)
 20975  	if err := googleapi.CheckResponse(res); err != nil {
 20976  		return nil, err
 20977  	}
 20978  	ret := &Campaign{
 20979  		ServerResponse: googleapi.ServerResponse{
 20980  			Header:         res.Header,
 20981  			HTTPStatusCode: res.StatusCode,
 20982  		},
 20983  	}
 20984  	target := &ret
 20985  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20986  		return nil, err
 20987  	}
 20988  	return ret, nil
 20989  	// {
 20990  	//   "description": "Gets one campaign by ID.",
 20991  	//   "httpMethod": "GET",
 20992  	//   "id": "dfareporting.campaigns.get",
 20993  	//   "parameterOrder": [
 20994  	//     "profileId",
 20995  	//     "id"
 20996  	//   ],
 20997  	//   "parameters": {
 20998  	//     "id": {
 20999  	//       "description": "Campaign ID.",
 21000  	//       "format": "int64",
 21001  	//       "location": "path",
 21002  	//       "required": true,
 21003  	//       "type": "string"
 21004  	//     },
 21005  	//     "profileId": {
 21006  	//       "description": "User profile ID associated with this request.",
 21007  	//       "format": "int64",
 21008  	//       "location": "path",
 21009  	//       "required": true,
 21010  	//       "type": "string"
 21011  	//     }
 21012  	//   },
 21013  	//   "path": "userprofiles/{profileId}/campaigns/{id}",
 21014  	//   "response": {
 21015  	//     "$ref": "Campaign"
 21016  	//   },
 21017  	//   "scopes": [
 21018  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21019  	//   ]
 21020  	// }
 21021  
 21022  }
 21023  
 21024  // method id "dfareporting.campaigns.insert":
 21025  
 21026  type CampaignsInsertCall struct {
 21027  	s          *Service
 21028  	profileId  int64
 21029  	campaign   *Campaign
 21030  	urlParams_ gensupport.URLParams
 21031  	ctx_       context.Context
 21032  	header_    http.Header
 21033  }
 21034  
 21035  // Insert: Inserts a new campaign.
 21036  func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
 21037  	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21038  	c.profileId = profileId
 21039  	c.campaign = campaign
 21040  	return c
 21041  }
 21042  
 21043  // Fields allows partial responses to be retrieved. See
 21044  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21045  // for more information.
 21046  func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
 21047  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21048  	return c
 21049  }
 21050  
 21051  // Context sets the context to be used in this call's Do method. Any
 21052  // pending HTTP request will be aborted if the provided context is
 21053  // canceled.
 21054  func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
 21055  	c.ctx_ = ctx
 21056  	return c
 21057  }
 21058  
 21059  // Header returns an http.Header that can be modified by the caller to
 21060  // add HTTP headers to the request.
 21061  func (c *CampaignsInsertCall) Header() http.Header {
 21062  	if c.header_ == nil {
 21063  		c.header_ = make(http.Header)
 21064  	}
 21065  	return c.header_
 21066  }
 21067  
 21068  func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
 21069  	reqHeaders := make(http.Header)
 21070  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21071  	for k, v := range c.header_ {
 21072  		reqHeaders[k] = v
 21073  	}
 21074  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21075  	var body io.Reader = nil
 21076  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 21077  	if err != nil {
 21078  		return nil, err
 21079  	}
 21080  	reqHeaders.Set("Content-Type", "application/json")
 21081  	c.urlParams_.Set("alt", alt)
 21082  	c.urlParams_.Set("prettyPrint", "false")
 21083  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21084  	urls += "?" + c.urlParams_.Encode()
 21085  	req, err := http.NewRequest("POST", urls, body)
 21086  	if err != nil {
 21087  		return nil, err
 21088  	}
 21089  	req.Header = reqHeaders
 21090  	googleapi.Expand(req.URL, map[string]string{
 21091  		"profileId": strconv.FormatInt(c.profileId, 10),
 21092  	})
 21093  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21094  }
 21095  
 21096  // Do executes the "dfareporting.campaigns.insert" call.
 21097  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21098  // code is an error. Response headers are in either
 21099  // *Campaign.ServerResponse.Header or (if a response was returned at
 21100  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21101  // to check whether the returned error was because
 21102  // http.StatusNotModified was returned.
 21103  func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21104  	gensupport.SetOptions(c.urlParams_, opts...)
 21105  	res, err := c.doRequest("json")
 21106  	if res != nil && res.StatusCode == http.StatusNotModified {
 21107  		if res.Body != nil {
 21108  			res.Body.Close()
 21109  		}
 21110  		return nil, &googleapi.Error{
 21111  			Code:   res.StatusCode,
 21112  			Header: res.Header,
 21113  		}
 21114  	}
 21115  	if err != nil {
 21116  		return nil, err
 21117  	}
 21118  	defer googleapi.CloseBody(res)
 21119  	if err := googleapi.CheckResponse(res); err != nil {
 21120  		return nil, err
 21121  	}
 21122  	ret := &Campaign{
 21123  		ServerResponse: googleapi.ServerResponse{
 21124  			Header:         res.Header,
 21125  			HTTPStatusCode: res.StatusCode,
 21126  		},
 21127  	}
 21128  	target := &ret
 21129  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21130  		return nil, err
 21131  	}
 21132  	return ret, nil
 21133  	// {
 21134  	//   "description": "Inserts a new campaign.",
 21135  	//   "httpMethod": "POST",
 21136  	//   "id": "dfareporting.campaigns.insert",
 21137  	//   "parameterOrder": [
 21138  	//     "profileId"
 21139  	//   ],
 21140  	//   "parameters": {
 21141  	//     "profileId": {
 21142  	//       "description": "User profile ID associated with this request.",
 21143  	//       "format": "int64",
 21144  	//       "location": "path",
 21145  	//       "required": true,
 21146  	//       "type": "string"
 21147  	//     }
 21148  	//   },
 21149  	//   "path": "userprofiles/{profileId}/campaigns",
 21150  	//   "request": {
 21151  	//     "$ref": "Campaign"
 21152  	//   },
 21153  	//   "response": {
 21154  	//     "$ref": "Campaign"
 21155  	//   },
 21156  	//   "scopes": [
 21157  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21158  	//   ]
 21159  	// }
 21160  
 21161  }
 21162  
 21163  // method id "dfareporting.campaigns.list":
 21164  
 21165  type CampaignsListCall struct {
 21166  	s            *Service
 21167  	profileId    int64
 21168  	urlParams_   gensupport.URLParams
 21169  	ifNoneMatch_ string
 21170  	ctx_         context.Context
 21171  	header_      http.Header
 21172  }
 21173  
 21174  // List: Retrieves a list of campaigns, possibly filtered. This method
 21175  // supports paging.
 21176  func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
 21177  	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21178  	c.profileId = profileId
 21179  	return c
 21180  }
 21181  
 21182  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 21183  // Select only campaigns whose advertisers belong to these advertiser
 21184  // groups.
 21185  func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
 21186  	var advertiserGroupIds_ []string
 21187  	for _, v := range advertiserGroupIds {
 21188  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 21189  	}
 21190  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 21191  	return c
 21192  }
 21193  
 21194  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 21195  // only campaigns that belong to these advertisers.
 21196  func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
 21197  	var advertiserIds_ []string
 21198  	for _, v := range advertiserIds {
 21199  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 21200  	}
 21201  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 21202  	return c
 21203  }
 21204  
 21205  // Archived sets the optional parameter "archived": Select only archived
 21206  // campaigns. Don't set this field to select both archived and
 21207  // non-archived campaigns.
 21208  func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
 21209  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 21210  	return c
 21211  }
 21212  
 21213  // AtLeastOneOptimizationActivity sets the optional parameter
 21214  // "atLeastOneOptimizationActivity": Select only campaigns that have at
 21215  // least one optimization activity.
 21216  func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
 21217  	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
 21218  	return c
 21219  }
 21220  
 21221  // ExcludedIds sets the optional parameter "excludedIds": Exclude
 21222  // campaigns with these IDs.
 21223  func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
 21224  	var excludedIds_ []string
 21225  	for _, v := range excludedIds {
 21226  		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
 21227  	}
 21228  	c.urlParams_.SetMulti("excludedIds", excludedIds_)
 21229  	return c
 21230  }
 21231  
 21232  // Ids sets the optional parameter "ids": Select only campaigns with
 21233  // these IDs.
 21234  func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
 21235  	var ids_ []string
 21236  	for _, v := range ids {
 21237  		ids_ = append(ids_, fmt.Sprint(v))
 21238  	}
 21239  	c.urlParams_.SetMulti("ids", ids_)
 21240  	return c
 21241  }
 21242  
 21243  // MaxResults sets the optional parameter "maxResults": Maximum number
 21244  // of results to return.
 21245  func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
 21246  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 21247  	return c
 21248  }
 21249  
 21250  // OverriddenEventTagId sets the optional parameter
 21251  // "overriddenEventTagId": Select only campaigns that have overridden
 21252  // this event tag ID.
 21253  func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
 21254  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 21255  	return c
 21256  }
 21257  
 21258  // PageToken sets the optional parameter "pageToken": Value of the
 21259  // nextPageToken from the previous result page.
 21260  func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
 21261  	c.urlParams_.Set("pageToken", pageToken)
 21262  	return c
 21263  }
 21264  
 21265  // SearchString sets the optional parameter "searchString": Allows
 21266  // searching for campaigns by name or ID. Wildcards (*) are allowed. For
 21267  // example, "campaign*2015" will return campaigns with names like
 21268  // "campaign June 2015", "campaign April 2015", or simply "campaign
 21269  // 2015". Most of the searches also add wildcards implicitly at the
 21270  // start and the end of the search string. For example, a search string
 21271  // of "campaign" will match campaigns with name "my campaign", "campaign
 21272  // 2015", or simply "campaign".
 21273  func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
 21274  	c.urlParams_.Set("searchString", searchString)
 21275  	return c
 21276  }
 21277  
 21278  // SortField sets the optional parameter "sortField": Field by which to
 21279  // sort the list.
 21280  //
 21281  // Possible values:
 21282  //
 21283  //	"ID" (default)
 21284  //	"NAME"
 21285  func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
 21286  	c.urlParams_.Set("sortField", sortField)
 21287  	return c
 21288  }
 21289  
 21290  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 21291  // results.
 21292  //
 21293  // Possible values:
 21294  //
 21295  //	"ASCENDING" (default)
 21296  //	"DESCENDING"
 21297  func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
 21298  	c.urlParams_.Set("sortOrder", sortOrder)
 21299  	return c
 21300  }
 21301  
 21302  // SubaccountId sets the optional parameter "subaccountId": Select only
 21303  // campaigns that belong to this subaccount.
 21304  func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
 21305  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 21306  	return c
 21307  }
 21308  
 21309  // Fields allows partial responses to be retrieved. See
 21310  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21311  // for more information.
 21312  func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
 21313  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21314  	return c
 21315  }
 21316  
 21317  // IfNoneMatch sets the optional parameter which makes the operation
 21318  // fail if the object's ETag matches the given value. This is useful for
 21319  // getting updates only after the object has changed since the last
 21320  // request. Use googleapi.IsNotModified to check whether the response
 21321  // error from Do is the result of In-None-Match.
 21322  func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
 21323  	c.ifNoneMatch_ = entityTag
 21324  	return c
 21325  }
 21326  
 21327  // Context sets the context to be used in this call's Do method. Any
 21328  // pending HTTP request will be aborted if the provided context is
 21329  // canceled.
 21330  func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
 21331  	c.ctx_ = ctx
 21332  	return c
 21333  }
 21334  
 21335  // Header returns an http.Header that can be modified by the caller to
 21336  // add HTTP headers to the request.
 21337  func (c *CampaignsListCall) Header() http.Header {
 21338  	if c.header_ == nil {
 21339  		c.header_ = make(http.Header)
 21340  	}
 21341  	return c.header_
 21342  }
 21343  
 21344  func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 21345  	reqHeaders := make(http.Header)
 21346  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21347  	for k, v := range c.header_ {
 21348  		reqHeaders[k] = v
 21349  	}
 21350  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21351  	if c.ifNoneMatch_ != "" {
 21352  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21353  	}
 21354  	var body io.Reader = nil
 21355  	c.urlParams_.Set("alt", alt)
 21356  	c.urlParams_.Set("prettyPrint", "false")
 21357  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21358  	urls += "?" + c.urlParams_.Encode()
 21359  	req, err := http.NewRequest("GET", urls, body)
 21360  	if err != nil {
 21361  		return nil, err
 21362  	}
 21363  	req.Header = reqHeaders
 21364  	googleapi.Expand(req.URL, map[string]string{
 21365  		"profileId": strconv.FormatInt(c.profileId, 10),
 21366  	})
 21367  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21368  }
 21369  
 21370  // Do executes the "dfareporting.campaigns.list" call.
 21371  // Exactly one of *CampaignsListResponse or error will be non-nil. Any
 21372  // non-2xx status code is an error. Response headers are in either
 21373  // *CampaignsListResponse.ServerResponse.Header or (if a response was
 21374  // returned at all) in error.(*googleapi.Error).Header. Use
 21375  // googleapi.IsNotModified to check whether the returned error was
 21376  // because http.StatusNotModified was returned.
 21377  func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
 21378  	gensupport.SetOptions(c.urlParams_, opts...)
 21379  	res, err := c.doRequest("json")
 21380  	if res != nil && res.StatusCode == http.StatusNotModified {
 21381  		if res.Body != nil {
 21382  			res.Body.Close()
 21383  		}
 21384  		return nil, &googleapi.Error{
 21385  			Code:   res.StatusCode,
 21386  			Header: res.Header,
 21387  		}
 21388  	}
 21389  	if err != nil {
 21390  		return nil, err
 21391  	}
 21392  	defer googleapi.CloseBody(res)
 21393  	if err := googleapi.CheckResponse(res); err != nil {
 21394  		return nil, err
 21395  	}
 21396  	ret := &CampaignsListResponse{
 21397  		ServerResponse: googleapi.ServerResponse{
 21398  			Header:         res.Header,
 21399  			HTTPStatusCode: res.StatusCode,
 21400  		},
 21401  	}
 21402  	target := &ret
 21403  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21404  		return nil, err
 21405  	}
 21406  	return ret, nil
 21407  	// {
 21408  	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
 21409  	//   "httpMethod": "GET",
 21410  	//   "id": "dfareporting.campaigns.list",
 21411  	//   "parameterOrder": [
 21412  	//     "profileId"
 21413  	//   ],
 21414  	//   "parameters": {
 21415  	//     "advertiserGroupIds": {
 21416  	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
 21417  	//       "format": "int64",
 21418  	//       "location": "query",
 21419  	//       "repeated": true,
 21420  	//       "type": "string"
 21421  	//     },
 21422  	//     "advertiserIds": {
 21423  	//       "description": "Select only campaigns that belong to these advertisers.",
 21424  	//       "format": "int64",
 21425  	//       "location": "query",
 21426  	//       "repeated": true,
 21427  	//       "type": "string"
 21428  	//     },
 21429  	//     "archived": {
 21430  	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
 21431  	//       "location": "query",
 21432  	//       "type": "boolean"
 21433  	//     },
 21434  	//     "atLeastOneOptimizationActivity": {
 21435  	//       "description": "Select only campaigns that have at least one optimization activity.",
 21436  	//       "location": "query",
 21437  	//       "type": "boolean"
 21438  	//     },
 21439  	//     "excludedIds": {
 21440  	//       "description": "Exclude campaigns with these IDs.",
 21441  	//       "format": "int64",
 21442  	//       "location": "query",
 21443  	//       "repeated": true,
 21444  	//       "type": "string"
 21445  	//     },
 21446  	//     "ids": {
 21447  	//       "description": "Select only campaigns with these IDs.",
 21448  	//       "format": "int64",
 21449  	//       "location": "query",
 21450  	//       "repeated": true,
 21451  	//       "type": "string"
 21452  	//     },
 21453  	//     "maxResults": {
 21454  	//       "default": "1000",
 21455  	//       "description": "Maximum number of results to return.",
 21456  	//       "format": "int32",
 21457  	//       "location": "query",
 21458  	//       "maximum": "1000",
 21459  	//       "minimum": "0",
 21460  	//       "type": "integer"
 21461  	//     },
 21462  	//     "overriddenEventTagId": {
 21463  	//       "description": "Select only campaigns that have overridden this event tag ID.",
 21464  	//       "format": "int64",
 21465  	//       "location": "query",
 21466  	//       "type": "string"
 21467  	//     },
 21468  	//     "pageToken": {
 21469  	//       "description": "Value of the nextPageToken from the previous result page.",
 21470  	//       "location": "query",
 21471  	//       "type": "string"
 21472  	//     },
 21473  	//     "profileId": {
 21474  	//       "description": "User profile ID associated with this request.",
 21475  	//       "format": "int64",
 21476  	//       "location": "path",
 21477  	//       "required": true,
 21478  	//       "type": "string"
 21479  	//     },
 21480  	//     "searchString": {
 21481  	//       "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\".",
 21482  	//       "location": "query",
 21483  	//       "type": "string"
 21484  	//     },
 21485  	//     "sortField": {
 21486  	//       "default": "ID",
 21487  	//       "description": "Field by which to sort the list.",
 21488  	//       "enum": [
 21489  	//         "ID",
 21490  	//         "NAME"
 21491  	//       ],
 21492  	//       "enumDescriptions": [
 21493  	//         "",
 21494  	//         ""
 21495  	//       ],
 21496  	//       "location": "query",
 21497  	//       "type": "string"
 21498  	//     },
 21499  	//     "sortOrder": {
 21500  	//       "default": "ASCENDING",
 21501  	//       "description": "Order of sorted results.",
 21502  	//       "enum": [
 21503  	//         "ASCENDING",
 21504  	//         "DESCENDING"
 21505  	//       ],
 21506  	//       "enumDescriptions": [
 21507  	//         "",
 21508  	//         ""
 21509  	//       ],
 21510  	//       "location": "query",
 21511  	//       "type": "string"
 21512  	//     },
 21513  	//     "subaccountId": {
 21514  	//       "description": "Select only campaigns that belong to this subaccount.",
 21515  	//       "format": "int64",
 21516  	//       "location": "query",
 21517  	//       "type": "string"
 21518  	//     }
 21519  	//   },
 21520  	//   "path": "userprofiles/{profileId}/campaigns",
 21521  	//   "response": {
 21522  	//     "$ref": "CampaignsListResponse"
 21523  	//   },
 21524  	//   "scopes": [
 21525  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21526  	//   ]
 21527  	// }
 21528  
 21529  }
 21530  
 21531  // Pages invokes f for each page of results.
 21532  // A non-nil error returned from f will halt the iteration.
 21533  // The provided context supersedes any context provided to the Context method.
 21534  func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
 21535  	c.ctx_ = ctx
 21536  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 21537  	for {
 21538  		x, err := c.Do()
 21539  		if err != nil {
 21540  			return err
 21541  		}
 21542  		if err := f(x); err != nil {
 21543  			return err
 21544  		}
 21545  		if x.NextPageToken == "" {
 21546  			return nil
 21547  		}
 21548  		c.PageToken(x.NextPageToken)
 21549  	}
 21550  }
 21551  
 21552  // method id "dfareporting.campaigns.patch":
 21553  
 21554  type CampaignsPatchCall struct {
 21555  	s          *Service
 21556  	profileId  int64
 21557  	campaign   *Campaign
 21558  	urlParams_ gensupport.URLParams
 21559  	ctx_       context.Context
 21560  	header_    http.Header
 21561  }
 21562  
 21563  // Patch: Updates an existing campaign. This method supports patch
 21564  // semantics.
 21565  func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
 21566  	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21567  	c.profileId = profileId
 21568  	c.urlParams_.Set("id", fmt.Sprint(id))
 21569  	c.campaign = campaign
 21570  	return c
 21571  }
 21572  
 21573  // Fields allows partial responses to be retrieved. See
 21574  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21575  // for more information.
 21576  func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
 21577  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21578  	return c
 21579  }
 21580  
 21581  // Context sets the context to be used in this call's Do method. Any
 21582  // pending HTTP request will be aborted if the provided context is
 21583  // canceled.
 21584  func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
 21585  	c.ctx_ = ctx
 21586  	return c
 21587  }
 21588  
 21589  // Header returns an http.Header that can be modified by the caller to
 21590  // add HTTP headers to the request.
 21591  func (c *CampaignsPatchCall) Header() http.Header {
 21592  	if c.header_ == nil {
 21593  		c.header_ = make(http.Header)
 21594  	}
 21595  	return c.header_
 21596  }
 21597  
 21598  func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 21599  	reqHeaders := make(http.Header)
 21600  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21601  	for k, v := range c.header_ {
 21602  		reqHeaders[k] = v
 21603  	}
 21604  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21605  	var body io.Reader = nil
 21606  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 21607  	if err != nil {
 21608  		return nil, err
 21609  	}
 21610  	reqHeaders.Set("Content-Type", "application/json")
 21611  	c.urlParams_.Set("alt", alt)
 21612  	c.urlParams_.Set("prettyPrint", "false")
 21613  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21614  	urls += "?" + c.urlParams_.Encode()
 21615  	req, err := http.NewRequest("PATCH", urls, body)
 21616  	if err != nil {
 21617  		return nil, err
 21618  	}
 21619  	req.Header = reqHeaders
 21620  	googleapi.Expand(req.URL, map[string]string{
 21621  		"profileId": strconv.FormatInt(c.profileId, 10),
 21622  	})
 21623  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21624  }
 21625  
 21626  // Do executes the "dfareporting.campaigns.patch" call.
 21627  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21628  // code is an error. Response headers are in either
 21629  // *Campaign.ServerResponse.Header or (if a response was returned at
 21630  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21631  // to check whether the returned error was because
 21632  // http.StatusNotModified was returned.
 21633  func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21634  	gensupport.SetOptions(c.urlParams_, opts...)
 21635  	res, err := c.doRequest("json")
 21636  	if res != nil && res.StatusCode == http.StatusNotModified {
 21637  		if res.Body != nil {
 21638  			res.Body.Close()
 21639  		}
 21640  		return nil, &googleapi.Error{
 21641  			Code:   res.StatusCode,
 21642  			Header: res.Header,
 21643  		}
 21644  	}
 21645  	if err != nil {
 21646  		return nil, err
 21647  	}
 21648  	defer googleapi.CloseBody(res)
 21649  	if err := googleapi.CheckResponse(res); err != nil {
 21650  		return nil, err
 21651  	}
 21652  	ret := &Campaign{
 21653  		ServerResponse: googleapi.ServerResponse{
 21654  			Header:         res.Header,
 21655  			HTTPStatusCode: res.StatusCode,
 21656  		},
 21657  	}
 21658  	target := &ret
 21659  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21660  		return nil, err
 21661  	}
 21662  	return ret, nil
 21663  	// {
 21664  	//   "description": "Updates an existing campaign. This method supports patch semantics.",
 21665  	//   "httpMethod": "PATCH",
 21666  	//   "id": "dfareporting.campaigns.patch",
 21667  	//   "parameterOrder": [
 21668  	//     "profileId",
 21669  	//     "id"
 21670  	//   ],
 21671  	//   "parameters": {
 21672  	//     "id": {
 21673  	//       "description": "Campaign ID.",
 21674  	//       "format": "int64",
 21675  	//       "location": "query",
 21676  	//       "required": true,
 21677  	//       "type": "string"
 21678  	//     },
 21679  	//     "profileId": {
 21680  	//       "description": "User profile ID associated with this request.",
 21681  	//       "format": "int64",
 21682  	//       "location": "path",
 21683  	//       "required": true,
 21684  	//       "type": "string"
 21685  	//     }
 21686  	//   },
 21687  	//   "path": "userprofiles/{profileId}/campaigns",
 21688  	//   "request": {
 21689  	//     "$ref": "Campaign"
 21690  	//   },
 21691  	//   "response": {
 21692  	//     "$ref": "Campaign"
 21693  	//   },
 21694  	//   "scopes": [
 21695  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21696  	//   ]
 21697  	// }
 21698  
 21699  }
 21700  
 21701  // method id "dfareporting.campaigns.update":
 21702  
 21703  type CampaignsUpdateCall struct {
 21704  	s          *Service
 21705  	profileId  int64
 21706  	campaign   *Campaign
 21707  	urlParams_ gensupport.URLParams
 21708  	ctx_       context.Context
 21709  	header_    http.Header
 21710  }
 21711  
 21712  // Update: Updates an existing campaign.
 21713  func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
 21714  	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21715  	c.profileId = profileId
 21716  	c.campaign = campaign
 21717  	return c
 21718  }
 21719  
 21720  // Fields allows partial responses to be retrieved. See
 21721  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21722  // for more information.
 21723  func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
 21724  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21725  	return c
 21726  }
 21727  
 21728  // Context sets the context to be used in this call's Do method. Any
 21729  // pending HTTP request will be aborted if the provided context is
 21730  // canceled.
 21731  func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
 21732  	c.ctx_ = ctx
 21733  	return c
 21734  }
 21735  
 21736  // Header returns an http.Header that can be modified by the caller to
 21737  // add HTTP headers to the request.
 21738  func (c *CampaignsUpdateCall) Header() http.Header {
 21739  	if c.header_ == nil {
 21740  		c.header_ = make(http.Header)
 21741  	}
 21742  	return c.header_
 21743  }
 21744  
 21745  func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
 21746  	reqHeaders := make(http.Header)
 21747  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21748  	for k, v := range c.header_ {
 21749  		reqHeaders[k] = v
 21750  	}
 21751  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21752  	var body io.Reader = nil
 21753  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 21754  	if err != nil {
 21755  		return nil, err
 21756  	}
 21757  	reqHeaders.Set("Content-Type", "application/json")
 21758  	c.urlParams_.Set("alt", alt)
 21759  	c.urlParams_.Set("prettyPrint", "false")
 21760  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21761  	urls += "?" + c.urlParams_.Encode()
 21762  	req, err := http.NewRequest("PUT", urls, body)
 21763  	if err != nil {
 21764  		return nil, err
 21765  	}
 21766  	req.Header = reqHeaders
 21767  	googleapi.Expand(req.URL, map[string]string{
 21768  		"profileId": strconv.FormatInt(c.profileId, 10),
 21769  	})
 21770  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21771  }
 21772  
 21773  // Do executes the "dfareporting.campaigns.update" call.
 21774  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21775  // code is an error. Response headers are in either
 21776  // *Campaign.ServerResponse.Header or (if a response was returned at
 21777  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21778  // to check whether the returned error was because
 21779  // http.StatusNotModified was returned.
 21780  func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21781  	gensupport.SetOptions(c.urlParams_, opts...)
 21782  	res, err := c.doRequest("json")
 21783  	if res != nil && res.StatusCode == http.StatusNotModified {
 21784  		if res.Body != nil {
 21785  			res.Body.Close()
 21786  		}
 21787  		return nil, &googleapi.Error{
 21788  			Code:   res.StatusCode,
 21789  			Header: res.Header,
 21790  		}
 21791  	}
 21792  	if err != nil {
 21793  		return nil, err
 21794  	}
 21795  	defer googleapi.CloseBody(res)
 21796  	if err := googleapi.CheckResponse(res); err != nil {
 21797  		return nil, err
 21798  	}
 21799  	ret := &Campaign{
 21800  		ServerResponse: googleapi.ServerResponse{
 21801  			Header:         res.Header,
 21802  			HTTPStatusCode: res.StatusCode,
 21803  		},
 21804  	}
 21805  	target := &ret
 21806  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21807  		return nil, err
 21808  	}
 21809  	return ret, nil
 21810  	// {
 21811  	//   "description": "Updates an existing campaign.",
 21812  	//   "httpMethod": "PUT",
 21813  	//   "id": "dfareporting.campaigns.update",
 21814  	//   "parameterOrder": [
 21815  	//     "profileId"
 21816  	//   ],
 21817  	//   "parameters": {
 21818  	//     "profileId": {
 21819  	//       "description": "User profile ID associated with this request.",
 21820  	//       "format": "int64",
 21821  	//       "location": "path",
 21822  	//       "required": true,
 21823  	//       "type": "string"
 21824  	//     }
 21825  	//   },
 21826  	//   "path": "userprofiles/{profileId}/campaigns",
 21827  	//   "request": {
 21828  	//     "$ref": "Campaign"
 21829  	//   },
 21830  	//   "response": {
 21831  	//     "$ref": "Campaign"
 21832  	//   },
 21833  	//   "scopes": [
 21834  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21835  	//   ]
 21836  	// }
 21837  
 21838  }
 21839  
 21840  // method id "dfareporting.changeLogs.get":
 21841  
 21842  type ChangeLogsGetCall struct {
 21843  	s            *Service
 21844  	profileId    int64
 21845  	id           int64
 21846  	urlParams_   gensupport.URLParams
 21847  	ifNoneMatch_ string
 21848  	ctx_         context.Context
 21849  	header_      http.Header
 21850  }
 21851  
 21852  // Get: Gets one change log by ID.
 21853  func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
 21854  	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21855  	c.profileId = profileId
 21856  	c.id = id
 21857  	return c
 21858  }
 21859  
 21860  // Fields allows partial responses to be retrieved. See
 21861  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21862  // for more information.
 21863  func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
 21864  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21865  	return c
 21866  }
 21867  
 21868  // IfNoneMatch sets the optional parameter which makes the operation
 21869  // fail if the object's ETag matches the given value. This is useful for
 21870  // getting updates only after the object has changed since the last
 21871  // request. Use googleapi.IsNotModified to check whether the response
 21872  // error from Do is the result of In-None-Match.
 21873  func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
 21874  	c.ifNoneMatch_ = entityTag
 21875  	return c
 21876  }
 21877  
 21878  // Context sets the context to be used in this call's Do method. Any
 21879  // pending HTTP request will be aborted if the provided context is
 21880  // canceled.
 21881  func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
 21882  	c.ctx_ = ctx
 21883  	return c
 21884  }
 21885  
 21886  // Header returns an http.Header that can be modified by the caller to
 21887  // add HTTP headers to the request.
 21888  func (c *ChangeLogsGetCall) Header() http.Header {
 21889  	if c.header_ == nil {
 21890  		c.header_ = make(http.Header)
 21891  	}
 21892  	return c.header_
 21893  }
 21894  
 21895  func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 21896  	reqHeaders := make(http.Header)
 21897  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21898  	for k, v := range c.header_ {
 21899  		reqHeaders[k] = v
 21900  	}
 21901  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21902  	if c.ifNoneMatch_ != "" {
 21903  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21904  	}
 21905  	var body io.Reader = nil
 21906  	c.urlParams_.Set("alt", alt)
 21907  	c.urlParams_.Set("prettyPrint", "false")
 21908  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
 21909  	urls += "?" + c.urlParams_.Encode()
 21910  	req, err := http.NewRequest("GET", urls, body)
 21911  	if err != nil {
 21912  		return nil, err
 21913  	}
 21914  	req.Header = reqHeaders
 21915  	googleapi.Expand(req.URL, map[string]string{
 21916  		"profileId": strconv.FormatInt(c.profileId, 10),
 21917  		"id":        strconv.FormatInt(c.id, 10),
 21918  	})
 21919  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21920  }
 21921  
 21922  // Do executes the "dfareporting.changeLogs.get" call.
 21923  // Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
 21924  // status code is an error. Response headers are in either
 21925  // *ChangeLog.ServerResponse.Header or (if a response was returned at
 21926  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21927  // to check whether the returned error was because
 21928  // http.StatusNotModified was returned.
 21929  func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
 21930  	gensupport.SetOptions(c.urlParams_, opts...)
 21931  	res, err := c.doRequest("json")
 21932  	if res != nil && res.StatusCode == http.StatusNotModified {
 21933  		if res.Body != nil {
 21934  			res.Body.Close()
 21935  		}
 21936  		return nil, &googleapi.Error{
 21937  			Code:   res.StatusCode,
 21938  			Header: res.Header,
 21939  		}
 21940  	}
 21941  	if err != nil {
 21942  		return nil, err
 21943  	}
 21944  	defer googleapi.CloseBody(res)
 21945  	if err := googleapi.CheckResponse(res); err != nil {
 21946  		return nil, err
 21947  	}
 21948  	ret := &ChangeLog{
 21949  		ServerResponse: googleapi.ServerResponse{
 21950  			Header:         res.Header,
 21951  			HTTPStatusCode: res.StatusCode,
 21952  		},
 21953  	}
 21954  	target := &ret
 21955  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21956  		return nil, err
 21957  	}
 21958  	return ret, nil
 21959  	// {
 21960  	//   "description": "Gets one change log by ID.",
 21961  	//   "httpMethod": "GET",
 21962  	//   "id": "dfareporting.changeLogs.get",
 21963  	//   "parameterOrder": [
 21964  	//     "profileId",
 21965  	//     "id"
 21966  	//   ],
 21967  	//   "parameters": {
 21968  	//     "id": {
 21969  	//       "description": "Change log ID.",
 21970  	//       "format": "int64",
 21971  	//       "location": "path",
 21972  	//       "required": true,
 21973  	//       "type": "string"
 21974  	//     },
 21975  	//     "profileId": {
 21976  	//       "description": "User profile ID associated with this request.",
 21977  	//       "format": "int64",
 21978  	//       "location": "path",
 21979  	//       "required": true,
 21980  	//       "type": "string"
 21981  	//     }
 21982  	//   },
 21983  	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
 21984  	//   "response": {
 21985  	//     "$ref": "ChangeLog"
 21986  	//   },
 21987  	//   "scopes": [
 21988  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21989  	//   ]
 21990  	// }
 21991  
 21992  }
 21993  
 21994  // method id "dfareporting.changeLogs.list":
 21995  
 21996  type ChangeLogsListCall struct {
 21997  	s            *Service
 21998  	profileId    int64
 21999  	urlParams_   gensupport.URLParams
 22000  	ifNoneMatch_ string
 22001  	ctx_         context.Context
 22002  	header_      http.Header
 22003  }
 22004  
 22005  // List: Retrieves a list of change logs. This method supports paging.
 22006  func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
 22007  	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22008  	c.profileId = profileId
 22009  	return c
 22010  }
 22011  
 22012  // Action sets the optional parameter "action": Select only change logs
 22013  // with the specified action.
 22014  //
 22015  // Possible values:
 22016  //
 22017  //	"ACTION_ADD"
 22018  //	"ACTION_ASSIGN"
 22019  //	"ACTION_ASSOCIATE"
 22020  //	"ACTION_CREATE"
 22021  //	"ACTION_DELETE"
 22022  //	"ACTION_DISABLE"
 22023  //	"ACTION_EMAIL_TAGS"
 22024  //	"ACTION_ENABLE"
 22025  //	"ACTION_LINK"
 22026  //	"ACTION_MARK_AS_DEFAULT"
 22027  //	"ACTION_PUSH"
 22028  //	"ACTION_REMOVE"
 22029  //	"ACTION_SEND"
 22030  //	"ACTION_SHARE"
 22031  //	"ACTION_UNASSIGN"
 22032  //	"ACTION_UNLINK"
 22033  //	"ACTION_UPDATE"
 22034  func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
 22035  	c.urlParams_.Set("action", action)
 22036  	return c
 22037  }
 22038  
 22039  // Ids sets the optional parameter "ids": Select only change logs with
 22040  // these IDs.
 22041  func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
 22042  	var ids_ []string
 22043  	for _, v := range ids {
 22044  		ids_ = append(ids_, fmt.Sprint(v))
 22045  	}
 22046  	c.urlParams_.SetMulti("ids", ids_)
 22047  	return c
 22048  }
 22049  
 22050  // MaxChangeTime sets the optional parameter "maxChangeTime": Select
 22051  // only change logs whose change time is before the specified
 22052  // maxChangeTime.The time should be formatted as an RFC3339 date/time
 22053  // string. For example, for 10:54 PM on July 18th, 2015, in the
 22054  // America/New York time zone, the format is
 22055  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 22056  // the letter T, the hour (24-hour clock system), minute, second, and
 22057  // then the time zone offset.
 22058  func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
 22059  	c.urlParams_.Set("maxChangeTime", maxChangeTime)
 22060  	return c
 22061  }
 22062  
 22063  // MaxResults sets the optional parameter "maxResults": Maximum number
 22064  // of results to return.
 22065  func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
 22066  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 22067  	return c
 22068  }
 22069  
 22070  // MinChangeTime sets the optional parameter "minChangeTime": Select
 22071  // only change logs whose change time is before the specified
 22072  // minChangeTime.The time should be formatted as an RFC3339 date/time
 22073  // string. For example, for 10:54 PM on July 18th, 2015, in the
 22074  // America/New York time zone, the format is
 22075  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 22076  // the letter T, the hour (24-hour clock system), minute, second, and
 22077  // then the time zone offset.
 22078  func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
 22079  	c.urlParams_.Set("minChangeTime", minChangeTime)
 22080  	return c
 22081  }
 22082  
 22083  // ObjectIds sets the optional parameter "objectIds": Select only change
 22084  // logs with these object IDs.
 22085  func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
 22086  	var objectIds_ []string
 22087  	for _, v := range objectIds {
 22088  		objectIds_ = append(objectIds_, fmt.Sprint(v))
 22089  	}
 22090  	c.urlParams_.SetMulti("objectIds", objectIds_)
 22091  	return c
 22092  }
 22093  
 22094  // ObjectType sets the optional parameter "objectType": Select only
 22095  // change logs with the specified object type.
 22096  //
 22097  // Possible values:
 22098  //
 22099  //	"OBJECT_ACCOUNT"
 22100  //	"OBJECT_ACCOUNT_BILLING_FEATURE"
 22101  //	"OBJECT_AD"
 22102  //	"OBJECT_ADVERTISER"
 22103  //	"OBJECT_ADVERTISER_GROUP"
 22104  //	"OBJECT_BILLING_ACCOUNT_GROUP"
 22105  //	"OBJECT_BILLING_FEATURE"
 22106  //	"OBJECT_BILLING_MINIMUM_FEE"
 22107  //	"OBJECT_BILLING_PROFILE"
 22108  //	"OBJECT_CAMPAIGN"
 22109  //	"OBJECT_CONTENT_CATEGORY"
 22110  //	"OBJECT_CREATIVE"
 22111  //	"OBJECT_CREATIVE_ASSET"
 22112  //	"OBJECT_CREATIVE_BUNDLE"
 22113  //	"OBJECT_CREATIVE_FIELD"
 22114  //	"OBJECT_CREATIVE_GROUP"
 22115  //	"OBJECT_DFA_SITE"
 22116  //	"OBJECT_EVENT_TAG"
 22117  //	"OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
 22118  //	"OBJECT_FLOODLIGHT_ACTVITY"
 22119  //	"OBJECT_FLOODLIGHT_CONFIGURATION"
 22120  //	"OBJECT_FLOODLIGHT_DV360_LINK"
 22121  //	"OBJECT_INSTREAM_CREATIVE"
 22122  //	"OBJECT_LANDING_PAGE"
 22123  //	"OBJECT_MEDIA_ORDER"
 22124  //	"OBJECT_PLACEMENT"
 22125  //	"OBJECT_PLACEMENT_STRATEGY"
 22126  //	"OBJECT_PLAYSTORE_LINK"
 22127  //	"OBJECT_PROVIDED_LIST_CLIENT"
 22128  //	"OBJECT_RATE_CARD"
 22129  //	"OBJECT_REMARKETING_LIST"
 22130  //	"OBJECT_RICHMEDIA_CREATIVE"
 22131  //	"OBJECT_SD_SITE"
 22132  //	"OBJECT_SEARCH_LIFT_STUDY"
 22133  //	"OBJECT_SIZE"
 22134  //	"OBJECT_SUBACCOUNT"
 22135  //	"OBJECT_TARGETING_TEMPLATE"
 22136  //	"OBJECT_USER_PROFILE"
 22137  //	"OBJECT_USER_PROFILE_FILTER"
 22138  //	"OBJECT_USER_ROLE"
 22139  func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
 22140  	c.urlParams_.Set("objectType", objectType)
 22141  	return c
 22142  }
 22143  
 22144  // PageToken sets the optional parameter "pageToken": Value of the
 22145  // nextPageToken from the previous result page.
 22146  func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
 22147  	c.urlParams_.Set("pageToken", pageToken)
 22148  	return c
 22149  }
 22150  
 22151  // SearchString sets the optional parameter "searchString": Select only
 22152  // change logs whose object ID, user name, old or new values match the
 22153  // search string.
 22154  func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
 22155  	c.urlParams_.Set("searchString", searchString)
 22156  	return c
 22157  }
 22158  
 22159  // UserProfileIds sets the optional parameter "userProfileIds": Select
 22160  // only change logs with these user profile IDs.
 22161  func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
 22162  	var userProfileIds_ []string
 22163  	for _, v := range userProfileIds {
 22164  		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
 22165  	}
 22166  	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
 22167  	return c
 22168  }
 22169  
 22170  // Fields allows partial responses to be retrieved. See
 22171  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22172  // for more information.
 22173  func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
 22174  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22175  	return c
 22176  }
 22177  
 22178  // IfNoneMatch sets the optional parameter which makes the operation
 22179  // fail if the object's ETag matches the given value. This is useful for
 22180  // getting updates only after the object has changed since the last
 22181  // request. Use googleapi.IsNotModified to check whether the response
 22182  // error from Do is the result of In-None-Match.
 22183  func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
 22184  	c.ifNoneMatch_ = entityTag
 22185  	return c
 22186  }
 22187  
 22188  // Context sets the context to be used in this call's Do method. Any
 22189  // pending HTTP request will be aborted if the provided context is
 22190  // canceled.
 22191  func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
 22192  	c.ctx_ = ctx
 22193  	return c
 22194  }
 22195  
 22196  // Header returns an http.Header that can be modified by the caller to
 22197  // add HTTP headers to the request.
 22198  func (c *ChangeLogsListCall) Header() http.Header {
 22199  	if c.header_ == nil {
 22200  		c.header_ = make(http.Header)
 22201  	}
 22202  	return c.header_
 22203  }
 22204  
 22205  func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 22206  	reqHeaders := make(http.Header)
 22207  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22208  	for k, v := range c.header_ {
 22209  		reqHeaders[k] = v
 22210  	}
 22211  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22212  	if c.ifNoneMatch_ != "" {
 22213  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22214  	}
 22215  	var body io.Reader = nil
 22216  	c.urlParams_.Set("alt", alt)
 22217  	c.urlParams_.Set("prettyPrint", "false")
 22218  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
 22219  	urls += "?" + c.urlParams_.Encode()
 22220  	req, err := http.NewRequest("GET", urls, body)
 22221  	if err != nil {
 22222  		return nil, err
 22223  	}
 22224  	req.Header = reqHeaders
 22225  	googleapi.Expand(req.URL, map[string]string{
 22226  		"profileId": strconv.FormatInt(c.profileId, 10),
 22227  	})
 22228  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22229  }
 22230  
 22231  // Do executes the "dfareporting.changeLogs.list" call.
 22232  // Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
 22233  // non-2xx status code is an error. Response headers are in either
 22234  // *ChangeLogsListResponse.ServerResponse.Header or (if a response was
 22235  // returned at all) in error.(*googleapi.Error).Header. Use
 22236  // googleapi.IsNotModified to check whether the returned error was
 22237  // because http.StatusNotModified was returned.
 22238  func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
 22239  	gensupport.SetOptions(c.urlParams_, opts...)
 22240  	res, err := c.doRequest("json")
 22241  	if res != nil && res.StatusCode == http.StatusNotModified {
 22242  		if res.Body != nil {
 22243  			res.Body.Close()
 22244  		}
 22245  		return nil, &googleapi.Error{
 22246  			Code:   res.StatusCode,
 22247  			Header: res.Header,
 22248  		}
 22249  	}
 22250  	if err != nil {
 22251  		return nil, err
 22252  	}
 22253  	defer googleapi.CloseBody(res)
 22254  	if err := googleapi.CheckResponse(res); err != nil {
 22255  		return nil, err
 22256  	}
 22257  	ret := &ChangeLogsListResponse{
 22258  		ServerResponse: googleapi.ServerResponse{
 22259  			Header:         res.Header,
 22260  			HTTPStatusCode: res.StatusCode,
 22261  		},
 22262  	}
 22263  	target := &ret
 22264  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22265  		return nil, err
 22266  	}
 22267  	return ret, nil
 22268  	// {
 22269  	//   "description": "Retrieves a list of change logs. This method supports paging.",
 22270  	//   "httpMethod": "GET",
 22271  	//   "id": "dfareporting.changeLogs.list",
 22272  	//   "parameterOrder": [
 22273  	//     "profileId"
 22274  	//   ],
 22275  	//   "parameters": {
 22276  	//     "action": {
 22277  	//       "description": "Select only change logs with the specified action.",
 22278  	//       "enum": [
 22279  	//         "ACTION_ADD",
 22280  	//         "ACTION_ASSIGN",
 22281  	//         "ACTION_ASSOCIATE",
 22282  	//         "ACTION_CREATE",
 22283  	//         "ACTION_DELETE",
 22284  	//         "ACTION_DISABLE",
 22285  	//         "ACTION_EMAIL_TAGS",
 22286  	//         "ACTION_ENABLE",
 22287  	//         "ACTION_LINK",
 22288  	//         "ACTION_MARK_AS_DEFAULT",
 22289  	//         "ACTION_PUSH",
 22290  	//         "ACTION_REMOVE",
 22291  	//         "ACTION_SEND",
 22292  	//         "ACTION_SHARE",
 22293  	//         "ACTION_UNASSIGN",
 22294  	//         "ACTION_UNLINK",
 22295  	//         "ACTION_UPDATE"
 22296  	//       ],
 22297  	//       "enumDescriptions": [
 22298  	//         "",
 22299  	//         "",
 22300  	//         "",
 22301  	//         "",
 22302  	//         "",
 22303  	//         "",
 22304  	//         "",
 22305  	//         "",
 22306  	//         "",
 22307  	//         "",
 22308  	//         "",
 22309  	//         "",
 22310  	//         "",
 22311  	//         "",
 22312  	//         "",
 22313  	//         "",
 22314  	//         ""
 22315  	//       ],
 22316  	//       "location": "query",
 22317  	//       "type": "string"
 22318  	//     },
 22319  	//     "ids": {
 22320  	//       "description": "Select only change logs with these IDs.",
 22321  	//       "format": "int64",
 22322  	//       "location": "query",
 22323  	//       "repeated": true,
 22324  	//       "type": "string"
 22325  	//     },
 22326  	//     "maxChangeTime": {
 22327  	//       "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.",
 22328  	//       "location": "query",
 22329  	//       "type": "string"
 22330  	//     },
 22331  	//     "maxResults": {
 22332  	//       "default": "1000",
 22333  	//       "description": "Maximum number of results to return.",
 22334  	//       "format": "int32",
 22335  	//       "location": "query",
 22336  	//       "maximum": "1000",
 22337  	//       "minimum": "0",
 22338  	//       "type": "integer"
 22339  	//     },
 22340  	//     "minChangeTime": {
 22341  	//       "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.",
 22342  	//       "location": "query",
 22343  	//       "type": "string"
 22344  	//     },
 22345  	//     "objectIds": {
 22346  	//       "description": "Select only change logs with these object IDs.",
 22347  	//       "format": "int64",
 22348  	//       "location": "query",
 22349  	//       "repeated": true,
 22350  	//       "type": "string"
 22351  	//     },
 22352  	//     "objectType": {
 22353  	//       "description": "Select only change logs with the specified object type.",
 22354  	//       "enum": [
 22355  	//         "OBJECT_ACCOUNT",
 22356  	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
 22357  	//         "OBJECT_AD",
 22358  	//         "OBJECT_ADVERTISER",
 22359  	//         "OBJECT_ADVERTISER_GROUP",
 22360  	//         "OBJECT_BILLING_ACCOUNT_GROUP",
 22361  	//         "OBJECT_BILLING_FEATURE",
 22362  	//         "OBJECT_BILLING_MINIMUM_FEE",
 22363  	//         "OBJECT_BILLING_PROFILE",
 22364  	//         "OBJECT_CAMPAIGN",
 22365  	//         "OBJECT_CONTENT_CATEGORY",
 22366  	//         "OBJECT_CREATIVE",
 22367  	//         "OBJECT_CREATIVE_ASSET",
 22368  	//         "OBJECT_CREATIVE_BUNDLE",
 22369  	//         "OBJECT_CREATIVE_FIELD",
 22370  	//         "OBJECT_CREATIVE_GROUP",
 22371  	//         "OBJECT_DFA_SITE",
 22372  	//         "OBJECT_EVENT_TAG",
 22373  	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
 22374  	//         "OBJECT_FLOODLIGHT_ACTVITY",
 22375  	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
 22376  	//         "OBJECT_FLOODLIGHT_DV360_LINK",
 22377  	//         "OBJECT_INSTREAM_CREATIVE",
 22378  	//         "OBJECT_LANDING_PAGE",
 22379  	//         "OBJECT_MEDIA_ORDER",
 22380  	//         "OBJECT_PLACEMENT",
 22381  	//         "OBJECT_PLACEMENT_STRATEGY",
 22382  	//         "OBJECT_PLAYSTORE_LINK",
 22383  	//         "OBJECT_PROVIDED_LIST_CLIENT",
 22384  	//         "OBJECT_RATE_CARD",
 22385  	//         "OBJECT_REMARKETING_LIST",
 22386  	//         "OBJECT_RICHMEDIA_CREATIVE",
 22387  	//         "OBJECT_SD_SITE",
 22388  	//         "OBJECT_SEARCH_LIFT_STUDY",
 22389  	//         "OBJECT_SIZE",
 22390  	//         "OBJECT_SUBACCOUNT",
 22391  	//         "OBJECT_TARGETING_TEMPLATE",
 22392  	//         "OBJECT_USER_PROFILE",
 22393  	//         "OBJECT_USER_PROFILE_FILTER",
 22394  	//         "OBJECT_USER_ROLE"
 22395  	//       ],
 22396  	//       "enumDescriptions": [
 22397  	//         "",
 22398  	//         "",
 22399  	//         "",
 22400  	//         "",
 22401  	//         "",
 22402  	//         "",
 22403  	//         "",
 22404  	//         "",
 22405  	//         "",
 22406  	//         "",
 22407  	//         "",
 22408  	//         "",
 22409  	//         "",
 22410  	//         "",
 22411  	//         "",
 22412  	//         "",
 22413  	//         "",
 22414  	//         "",
 22415  	//         "",
 22416  	//         "",
 22417  	//         "",
 22418  	//         "",
 22419  	//         "",
 22420  	//         "",
 22421  	//         "",
 22422  	//         "",
 22423  	//         "",
 22424  	//         "",
 22425  	//         "",
 22426  	//         "",
 22427  	//         "",
 22428  	//         "",
 22429  	//         "",
 22430  	//         "",
 22431  	//         "",
 22432  	//         "",
 22433  	//         "",
 22434  	//         "",
 22435  	//         "",
 22436  	//         ""
 22437  	//       ],
 22438  	//       "location": "query",
 22439  	//       "type": "string"
 22440  	//     },
 22441  	//     "pageToken": {
 22442  	//       "description": "Value of the nextPageToken from the previous result page.",
 22443  	//       "location": "query",
 22444  	//       "type": "string"
 22445  	//     },
 22446  	//     "profileId": {
 22447  	//       "description": "User profile ID associated with this request.",
 22448  	//       "format": "int64",
 22449  	//       "location": "path",
 22450  	//       "required": true,
 22451  	//       "type": "string"
 22452  	//     },
 22453  	//     "searchString": {
 22454  	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
 22455  	//       "location": "query",
 22456  	//       "type": "string"
 22457  	//     },
 22458  	//     "userProfileIds": {
 22459  	//       "description": "Select only change logs with these user profile IDs.",
 22460  	//       "format": "int64",
 22461  	//       "location": "query",
 22462  	//       "repeated": true,
 22463  	//       "type": "string"
 22464  	//     }
 22465  	//   },
 22466  	//   "path": "userprofiles/{profileId}/changeLogs",
 22467  	//   "response": {
 22468  	//     "$ref": "ChangeLogsListResponse"
 22469  	//   },
 22470  	//   "scopes": [
 22471  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22472  	//   ]
 22473  	// }
 22474  
 22475  }
 22476  
 22477  // Pages invokes f for each page of results.
 22478  // A non-nil error returned from f will halt the iteration.
 22479  // The provided context supersedes any context provided to the Context method.
 22480  func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
 22481  	c.ctx_ = ctx
 22482  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 22483  	for {
 22484  		x, err := c.Do()
 22485  		if err != nil {
 22486  			return err
 22487  		}
 22488  		if err := f(x); err != nil {
 22489  			return err
 22490  		}
 22491  		if x.NextPageToken == "" {
 22492  			return nil
 22493  		}
 22494  		c.PageToken(x.NextPageToken)
 22495  	}
 22496  }
 22497  
 22498  // method id "dfareporting.cities.list":
 22499  
 22500  type CitiesListCall struct {
 22501  	s            *Service
 22502  	profileId    int64
 22503  	urlParams_   gensupport.URLParams
 22504  	ifNoneMatch_ string
 22505  	ctx_         context.Context
 22506  	header_      http.Header
 22507  }
 22508  
 22509  // List: Retrieves a list of cities, possibly filtered.
 22510  func (r *CitiesService) List(profileId int64) *CitiesListCall {
 22511  	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22512  	c.profileId = profileId
 22513  	return c
 22514  }
 22515  
 22516  // CountryDartIds sets the optional parameter "countryDartIds": Select
 22517  // only cities from these countries.
 22518  func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
 22519  	var countryDartIds_ []string
 22520  	for _, v := range countryDartIds {
 22521  		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
 22522  	}
 22523  	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
 22524  	return c
 22525  }
 22526  
 22527  // DartIds sets the optional parameter "dartIds": Select only cities
 22528  // with these DART IDs.
 22529  func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
 22530  	var dartIds_ []string
 22531  	for _, v := range dartIds {
 22532  		dartIds_ = append(dartIds_, fmt.Sprint(v))
 22533  	}
 22534  	c.urlParams_.SetMulti("dartIds", dartIds_)
 22535  	return c
 22536  }
 22537  
 22538  // NamePrefix sets the optional parameter "namePrefix": Select only
 22539  // cities with names starting with this prefix.
 22540  func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
 22541  	c.urlParams_.Set("namePrefix", namePrefix)
 22542  	return c
 22543  }
 22544  
 22545  // RegionDartIds sets the optional parameter "regionDartIds": Select
 22546  // only cities from these regions.
 22547  func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
 22548  	var regionDartIds_ []string
 22549  	for _, v := range regionDartIds {
 22550  		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
 22551  	}
 22552  	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
 22553  	return c
 22554  }
 22555  
 22556  // Fields allows partial responses to be retrieved. See
 22557  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22558  // for more information.
 22559  func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
 22560  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22561  	return c
 22562  }
 22563  
 22564  // IfNoneMatch sets the optional parameter which makes the operation
 22565  // fail if the object's ETag matches the given value. This is useful for
 22566  // getting updates only after the object has changed since the last
 22567  // request. Use googleapi.IsNotModified to check whether the response
 22568  // error from Do is the result of In-None-Match.
 22569  func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
 22570  	c.ifNoneMatch_ = entityTag
 22571  	return c
 22572  }
 22573  
 22574  // Context sets the context to be used in this call's Do method. Any
 22575  // pending HTTP request will be aborted if the provided context is
 22576  // canceled.
 22577  func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
 22578  	c.ctx_ = ctx
 22579  	return c
 22580  }
 22581  
 22582  // Header returns an http.Header that can be modified by the caller to
 22583  // add HTTP headers to the request.
 22584  func (c *CitiesListCall) Header() http.Header {
 22585  	if c.header_ == nil {
 22586  		c.header_ = make(http.Header)
 22587  	}
 22588  	return c.header_
 22589  }
 22590  
 22591  func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 22592  	reqHeaders := make(http.Header)
 22593  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22594  	for k, v := range c.header_ {
 22595  		reqHeaders[k] = v
 22596  	}
 22597  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22598  	if c.ifNoneMatch_ != "" {
 22599  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22600  	}
 22601  	var body io.Reader = nil
 22602  	c.urlParams_.Set("alt", alt)
 22603  	c.urlParams_.Set("prettyPrint", "false")
 22604  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
 22605  	urls += "?" + c.urlParams_.Encode()
 22606  	req, err := http.NewRequest("GET", urls, body)
 22607  	if err != nil {
 22608  		return nil, err
 22609  	}
 22610  	req.Header = reqHeaders
 22611  	googleapi.Expand(req.URL, map[string]string{
 22612  		"profileId": strconv.FormatInt(c.profileId, 10),
 22613  	})
 22614  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22615  }
 22616  
 22617  // Do executes the "dfareporting.cities.list" call.
 22618  // Exactly one of *CitiesListResponse or error will be non-nil. Any
 22619  // non-2xx status code is an error. Response headers are in either
 22620  // *CitiesListResponse.ServerResponse.Header or (if a response was
 22621  // returned at all) in error.(*googleapi.Error).Header. Use
 22622  // googleapi.IsNotModified to check whether the returned error was
 22623  // because http.StatusNotModified was returned.
 22624  func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
 22625  	gensupport.SetOptions(c.urlParams_, opts...)
 22626  	res, err := c.doRequest("json")
 22627  	if res != nil && res.StatusCode == http.StatusNotModified {
 22628  		if res.Body != nil {
 22629  			res.Body.Close()
 22630  		}
 22631  		return nil, &googleapi.Error{
 22632  			Code:   res.StatusCode,
 22633  			Header: res.Header,
 22634  		}
 22635  	}
 22636  	if err != nil {
 22637  		return nil, err
 22638  	}
 22639  	defer googleapi.CloseBody(res)
 22640  	if err := googleapi.CheckResponse(res); err != nil {
 22641  		return nil, err
 22642  	}
 22643  	ret := &CitiesListResponse{
 22644  		ServerResponse: googleapi.ServerResponse{
 22645  			Header:         res.Header,
 22646  			HTTPStatusCode: res.StatusCode,
 22647  		},
 22648  	}
 22649  	target := &ret
 22650  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22651  		return nil, err
 22652  	}
 22653  	return ret, nil
 22654  	// {
 22655  	//   "description": "Retrieves a list of cities, possibly filtered.",
 22656  	//   "httpMethod": "GET",
 22657  	//   "id": "dfareporting.cities.list",
 22658  	//   "parameterOrder": [
 22659  	//     "profileId"
 22660  	//   ],
 22661  	//   "parameters": {
 22662  	//     "countryDartIds": {
 22663  	//       "description": "Select only cities from these countries.",
 22664  	//       "format": "int64",
 22665  	//       "location": "query",
 22666  	//       "repeated": true,
 22667  	//       "type": "string"
 22668  	//     },
 22669  	//     "dartIds": {
 22670  	//       "description": "Select only cities with these DART IDs.",
 22671  	//       "format": "int64",
 22672  	//       "location": "query",
 22673  	//       "repeated": true,
 22674  	//       "type": "string"
 22675  	//     },
 22676  	//     "namePrefix": {
 22677  	//       "description": "Select only cities with names starting with this prefix.",
 22678  	//       "location": "query",
 22679  	//       "type": "string"
 22680  	//     },
 22681  	//     "profileId": {
 22682  	//       "description": "User profile ID associated with this request.",
 22683  	//       "format": "int64",
 22684  	//       "location": "path",
 22685  	//       "required": true,
 22686  	//       "type": "string"
 22687  	//     },
 22688  	//     "regionDartIds": {
 22689  	//       "description": "Select only cities from these regions.",
 22690  	//       "format": "int64",
 22691  	//       "location": "query",
 22692  	//       "repeated": true,
 22693  	//       "type": "string"
 22694  	//     }
 22695  	//   },
 22696  	//   "path": "userprofiles/{profileId}/cities",
 22697  	//   "response": {
 22698  	//     "$ref": "CitiesListResponse"
 22699  	//   },
 22700  	//   "scopes": [
 22701  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22702  	//   ]
 22703  	// }
 22704  
 22705  }
 22706  
 22707  // method id "dfareporting.connectionTypes.get":
 22708  
 22709  type ConnectionTypesGetCall struct {
 22710  	s            *Service
 22711  	profileId    int64
 22712  	id           int64
 22713  	urlParams_   gensupport.URLParams
 22714  	ifNoneMatch_ string
 22715  	ctx_         context.Context
 22716  	header_      http.Header
 22717  }
 22718  
 22719  // Get: Gets one connection type by ID.
 22720  func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
 22721  	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22722  	c.profileId = profileId
 22723  	c.id = id
 22724  	return c
 22725  }
 22726  
 22727  // Fields allows partial responses to be retrieved. See
 22728  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22729  // for more information.
 22730  func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
 22731  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22732  	return c
 22733  }
 22734  
 22735  // IfNoneMatch sets the optional parameter which makes the operation
 22736  // fail if the object's ETag matches the given value. This is useful for
 22737  // getting updates only after the object has changed since the last
 22738  // request. Use googleapi.IsNotModified to check whether the response
 22739  // error from Do is the result of In-None-Match.
 22740  func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
 22741  	c.ifNoneMatch_ = entityTag
 22742  	return c
 22743  }
 22744  
 22745  // Context sets the context to be used in this call's Do method. Any
 22746  // pending HTTP request will be aborted if the provided context is
 22747  // canceled.
 22748  func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
 22749  	c.ctx_ = ctx
 22750  	return c
 22751  }
 22752  
 22753  // Header returns an http.Header that can be modified by the caller to
 22754  // add HTTP headers to the request.
 22755  func (c *ConnectionTypesGetCall) Header() http.Header {
 22756  	if c.header_ == nil {
 22757  		c.header_ = make(http.Header)
 22758  	}
 22759  	return c.header_
 22760  }
 22761  
 22762  func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
 22763  	reqHeaders := make(http.Header)
 22764  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22765  	for k, v := range c.header_ {
 22766  		reqHeaders[k] = v
 22767  	}
 22768  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22769  	if c.ifNoneMatch_ != "" {
 22770  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22771  	}
 22772  	var body io.Reader = nil
 22773  	c.urlParams_.Set("alt", alt)
 22774  	c.urlParams_.Set("prettyPrint", "false")
 22775  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
 22776  	urls += "?" + c.urlParams_.Encode()
 22777  	req, err := http.NewRequest("GET", urls, body)
 22778  	if err != nil {
 22779  		return nil, err
 22780  	}
 22781  	req.Header = reqHeaders
 22782  	googleapi.Expand(req.URL, map[string]string{
 22783  		"profileId": strconv.FormatInt(c.profileId, 10),
 22784  		"id":        strconv.FormatInt(c.id, 10),
 22785  	})
 22786  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22787  }
 22788  
 22789  // Do executes the "dfareporting.connectionTypes.get" call.
 22790  // Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
 22791  // status code is an error. Response headers are in either
 22792  // *ConnectionType.ServerResponse.Header or (if a response was returned
 22793  // at all) in error.(*googleapi.Error).Header. Use
 22794  // googleapi.IsNotModified to check whether the returned error was
 22795  // because http.StatusNotModified was returned.
 22796  func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
 22797  	gensupport.SetOptions(c.urlParams_, opts...)
 22798  	res, err := c.doRequest("json")
 22799  	if res != nil && res.StatusCode == http.StatusNotModified {
 22800  		if res.Body != nil {
 22801  			res.Body.Close()
 22802  		}
 22803  		return nil, &googleapi.Error{
 22804  			Code:   res.StatusCode,
 22805  			Header: res.Header,
 22806  		}
 22807  	}
 22808  	if err != nil {
 22809  		return nil, err
 22810  	}
 22811  	defer googleapi.CloseBody(res)
 22812  	if err := googleapi.CheckResponse(res); err != nil {
 22813  		return nil, err
 22814  	}
 22815  	ret := &ConnectionType{
 22816  		ServerResponse: googleapi.ServerResponse{
 22817  			Header:         res.Header,
 22818  			HTTPStatusCode: res.StatusCode,
 22819  		},
 22820  	}
 22821  	target := &ret
 22822  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22823  		return nil, err
 22824  	}
 22825  	return ret, nil
 22826  	// {
 22827  	//   "description": "Gets one connection type by ID.",
 22828  	//   "httpMethod": "GET",
 22829  	//   "id": "dfareporting.connectionTypes.get",
 22830  	//   "parameterOrder": [
 22831  	//     "profileId",
 22832  	//     "id"
 22833  	//   ],
 22834  	//   "parameters": {
 22835  	//     "id": {
 22836  	//       "description": "Connection type ID.",
 22837  	//       "format": "int64",
 22838  	//       "location": "path",
 22839  	//       "required": true,
 22840  	//       "type": "string"
 22841  	//     },
 22842  	//     "profileId": {
 22843  	//       "description": "User profile ID associated with this request.",
 22844  	//       "format": "int64",
 22845  	//       "location": "path",
 22846  	//       "required": true,
 22847  	//       "type": "string"
 22848  	//     }
 22849  	//   },
 22850  	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
 22851  	//   "response": {
 22852  	//     "$ref": "ConnectionType"
 22853  	//   },
 22854  	//   "scopes": [
 22855  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22856  	//   ]
 22857  	// }
 22858  
 22859  }
 22860  
 22861  // method id "dfareporting.connectionTypes.list":
 22862  
 22863  type ConnectionTypesListCall struct {
 22864  	s            *Service
 22865  	profileId    int64
 22866  	urlParams_   gensupport.URLParams
 22867  	ifNoneMatch_ string
 22868  	ctx_         context.Context
 22869  	header_      http.Header
 22870  }
 22871  
 22872  // List: Retrieves a list of connection types.
 22873  func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
 22874  	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22875  	c.profileId = profileId
 22876  	return c
 22877  }
 22878  
 22879  // Fields allows partial responses to be retrieved. See
 22880  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22881  // for more information.
 22882  func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
 22883  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22884  	return c
 22885  }
 22886  
 22887  // IfNoneMatch sets the optional parameter which makes the operation
 22888  // fail if the object's ETag matches the given value. This is useful for
 22889  // getting updates only after the object has changed since the last
 22890  // request. Use googleapi.IsNotModified to check whether the response
 22891  // error from Do is the result of In-None-Match.
 22892  func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
 22893  	c.ifNoneMatch_ = entityTag
 22894  	return c
 22895  }
 22896  
 22897  // Context sets the context to be used in this call's Do method. Any
 22898  // pending HTTP request will be aborted if the provided context is
 22899  // canceled.
 22900  func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
 22901  	c.ctx_ = ctx
 22902  	return c
 22903  }
 22904  
 22905  // Header returns an http.Header that can be modified by the caller to
 22906  // add HTTP headers to the request.
 22907  func (c *ConnectionTypesListCall) Header() http.Header {
 22908  	if c.header_ == nil {
 22909  		c.header_ = make(http.Header)
 22910  	}
 22911  	return c.header_
 22912  }
 22913  
 22914  func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 22915  	reqHeaders := make(http.Header)
 22916  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22917  	for k, v := range c.header_ {
 22918  		reqHeaders[k] = v
 22919  	}
 22920  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22921  	if c.ifNoneMatch_ != "" {
 22922  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22923  	}
 22924  	var body io.Reader = nil
 22925  	c.urlParams_.Set("alt", alt)
 22926  	c.urlParams_.Set("prettyPrint", "false")
 22927  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
 22928  	urls += "?" + c.urlParams_.Encode()
 22929  	req, err := http.NewRequest("GET", urls, body)
 22930  	if err != nil {
 22931  		return nil, err
 22932  	}
 22933  	req.Header = reqHeaders
 22934  	googleapi.Expand(req.URL, map[string]string{
 22935  		"profileId": strconv.FormatInt(c.profileId, 10),
 22936  	})
 22937  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22938  }
 22939  
 22940  // Do executes the "dfareporting.connectionTypes.list" call.
 22941  // Exactly one of *ConnectionTypesListResponse or error will be non-nil.
 22942  // Any non-2xx status code is an error. Response headers are in either
 22943  // *ConnectionTypesListResponse.ServerResponse.Header or (if a response
 22944  // was returned at all) in error.(*googleapi.Error).Header. Use
 22945  // googleapi.IsNotModified to check whether the returned error was
 22946  // because http.StatusNotModified was returned.
 22947  func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
 22948  	gensupport.SetOptions(c.urlParams_, opts...)
 22949  	res, err := c.doRequest("json")
 22950  	if res != nil && res.StatusCode == http.StatusNotModified {
 22951  		if res.Body != nil {
 22952  			res.Body.Close()
 22953  		}
 22954  		return nil, &googleapi.Error{
 22955  			Code:   res.StatusCode,
 22956  			Header: res.Header,
 22957  		}
 22958  	}
 22959  	if err != nil {
 22960  		return nil, err
 22961  	}
 22962  	defer googleapi.CloseBody(res)
 22963  	if err := googleapi.CheckResponse(res); err != nil {
 22964  		return nil, err
 22965  	}
 22966  	ret := &ConnectionTypesListResponse{
 22967  		ServerResponse: googleapi.ServerResponse{
 22968  			Header:         res.Header,
 22969  			HTTPStatusCode: res.StatusCode,
 22970  		},
 22971  	}
 22972  	target := &ret
 22973  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22974  		return nil, err
 22975  	}
 22976  	return ret, nil
 22977  	// {
 22978  	//   "description": "Retrieves a list of connection types.",
 22979  	//   "httpMethod": "GET",
 22980  	//   "id": "dfareporting.connectionTypes.list",
 22981  	//   "parameterOrder": [
 22982  	//     "profileId"
 22983  	//   ],
 22984  	//   "parameters": {
 22985  	//     "profileId": {
 22986  	//       "description": "User profile ID associated with this request.",
 22987  	//       "format": "int64",
 22988  	//       "location": "path",
 22989  	//       "required": true,
 22990  	//       "type": "string"
 22991  	//     }
 22992  	//   },
 22993  	//   "path": "userprofiles/{profileId}/connectionTypes",
 22994  	//   "response": {
 22995  	//     "$ref": "ConnectionTypesListResponse"
 22996  	//   },
 22997  	//   "scopes": [
 22998  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22999  	//   ]
 23000  	// }
 23001  
 23002  }
 23003  
 23004  // method id "dfareporting.contentCategories.delete":
 23005  
 23006  type ContentCategoriesDeleteCall struct {
 23007  	s          *Service
 23008  	profileId  int64
 23009  	id         int64
 23010  	urlParams_ gensupport.URLParams
 23011  	ctx_       context.Context
 23012  	header_    http.Header
 23013  }
 23014  
 23015  // Delete: Deletes an existing content category.
 23016  func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
 23017  	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23018  	c.profileId = profileId
 23019  	c.id = id
 23020  	return c
 23021  }
 23022  
 23023  // Fields allows partial responses to be retrieved. See
 23024  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23025  // for more information.
 23026  func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
 23027  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23028  	return c
 23029  }
 23030  
 23031  // Context sets the context to be used in this call's Do method. Any
 23032  // pending HTTP request will be aborted if the provided context is
 23033  // canceled.
 23034  func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
 23035  	c.ctx_ = ctx
 23036  	return c
 23037  }
 23038  
 23039  // Header returns an http.Header that can be modified by the caller to
 23040  // add HTTP headers to the request.
 23041  func (c *ContentCategoriesDeleteCall) Header() http.Header {
 23042  	if c.header_ == nil {
 23043  		c.header_ = make(http.Header)
 23044  	}
 23045  	return c.header_
 23046  }
 23047  
 23048  func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 23049  	reqHeaders := make(http.Header)
 23050  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23051  	for k, v := range c.header_ {
 23052  		reqHeaders[k] = v
 23053  	}
 23054  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23055  	var body io.Reader = nil
 23056  	c.urlParams_.Set("alt", alt)
 23057  	c.urlParams_.Set("prettyPrint", "false")
 23058  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 23059  	urls += "?" + c.urlParams_.Encode()
 23060  	req, err := http.NewRequest("DELETE", urls, body)
 23061  	if err != nil {
 23062  		return nil, err
 23063  	}
 23064  	req.Header = reqHeaders
 23065  	googleapi.Expand(req.URL, map[string]string{
 23066  		"profileId": strconv.FormatInt(c.profileId, 10),
 23067  		"id":        strconv.FormatInt(c.id, 10),
 23068  	})
 23069  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23070  }
 23071  
 23072  // Do executes the "dfareporting.contentCategories.delete" call.
 23073  func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
 23074  	gensupport.SetOptions(c.urlParams_, opts...)
 23075  	res, err := c.doRequest("json")
 23076  	if err != nil {
 23077  		return err
 23078  	}
 23079  	defer googleapi.CloseBody(res)
 23080  	if err := googleapi.CheckResponse(res); err != nil {
 23081  		return err
 23082  	}
 23083  	return nil
 23084  	// {
 23085  	//   "description": "Deletes an existing content category.",
 23086  	//   "httpMethod": "DELETE",
 23087  	//   "id": "dfareporting.contentCategories.delete",
 23088  	//   "parameterOrder": [
 23089  	//     "profileId",
 23090  	//     "id"
 23091  	//   ],
 23092  	//   "parameters": {
 23093  	//     "id": {
 23094  	//       "description": "Content category ID.",
 23095  	//       "format": "int64",
 23096  	//       "location": "path",
 23097  	//       "required": true,
 23098  	//       "type": "string"
 23099  	//     },
 23100  	//     "profileId": {
 23101  	//       "description": "User profile ID associated with this request.",
 23102  	//       "format": "int64",
 23103  	//       "location": "path",
 23104  	//       "required": true,
 23105  	//       "type": "string"
 23106  	//     }
 23107  	//   },
 23108  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 23109  	//   "scopes": [
 23110  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23111  	//   ]
 23112  	// }
 23113  
 23114  }
 23115  
 23116  // method id "dfareporting.contentCategories.get":
 23117  
 23118  type ContentCategoriesGetCall struct {
 23119  	s            *Service
 23120  	profileId    int64
 23121  	id           int64
 23122  	urlParams_   gensupport.URLParams
 23123  	ifNoneMatch_ string
 23124  	ctx_         context.Context
 23125  	header_      http.Header
 23126  }
 23127  
 23128  // Get: Gets one content category by ID.
 23129  func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
 23130  	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23131  	c.profileId = profileId
 23132  	c.id = id
 23133  	return c
 23134  }
 23135  
 23136  // Fields allows partial responses to be retrieved. See
 23137  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23138  // for more information.
 23139  func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
 23140  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23141  	return c
 23142  }
 23143  
 23144  // IfNoneMatch sets the optional parameter which makes the operation
 23145  // fail if the object's ETag matches the given value. This is useful for
 23146  // getting updates only after the object has changed since the last
 23147  // request. Use googleapi.IsNotModified to check whether the response
 23148  // error from Do is the result of In-None-Match.
 23149  func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
 23150  	c.ifNoneMatch_ = entityTag
 23151  	return c
 23152  }
 23153  
 23154  // Context sets the context to be used in this call's Do method. Any
 23155  // pending HTTP request will be aborted if the provided context is
 23156  // canceled.
 23157  func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
 23158  	c.ctx_ = ctx
 23159  	return c
 23160  }
 23161  
 23162  // Header returns an http.Header that can be modified by the caller to
 23163  // add HTTP headers to the request.
 23164  func (c *ContentCategoriesGetCall) Header() http.Header {
 23165  	if c.header_ == nil {
 23166  		c.header_ = make(http.Header)
 23167  	}
 23168  	return c.header_
 23169  }
 23170  
 23171  func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 23172  	reqHeaders := make(http.Header)
 23173  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23174  	for k, v := range c.header_ {
 23175  		reqHeaders[k] = v
 23176  	}
 23177  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23178  	if c.ifNoneMatch_ != "" {
 23179  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23180  	}
 23181  	var body io.Reader = nil
 23182  	c.urlParams_.Set("alt", alt)
 23183  	c.urlParams_.Set("prettyPrint", "false")
 23184  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 23185  	urls += "?" + c.urlParams_.Encode()
 23186  	req, err := http.NewRequest("GET", urls, body)
 23187  	if err != nil {
 23188  		return nil, err
 23189  	}
 23190  	req.Header = reqHeaders
 23191  	googleapi.Expand(req.URL, map[string]string{
 23192  		"profileId": strconv.FormatInt(c.profileId, 10),
 23193  		"id":        strconv.FormatInt(c.id, 10),
 23194  	})
 23195  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23196  }
 23197  
 23198  // Do executes the "dfareporting.contentCategories.get" call.
 23199  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23200  // status code is an error. Response headers are in either
 23201  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23202  // at all) in error.(*googleapi.Error).Header. Use
 23203  // googleapi.IsNotModified to check whether the returned error was
 23204  // because http.StatusNotModified was returned.
 23205  func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23206  	gensupport.SetOptions(c.urlParams_, opts...)
 23207  	res, err := c.doRequest("json")
 23208  	if res != nil && res.StatusCode == http.StatusNotModified {
 23209  		if res.Body != nil {
 23210  			res.Body.Close()
 23211  		}
 23212  		return nil, &googleapi.Error{
 23213  			Code:   res.StatusCode,
 23214  			Header: res.Header,
 23215  		}
 23216  	}
 23217  	if err != nil {
 23218  		return nil, err
 23219  	}
 23220  	defer googleapi.CloseBody(res)
 23221  	if err := googleapi.CheckResponse(res); err != nil {
 23222  		return nil, err
 23223  	}
 23224  	ret := &ContentCategory{
 23225  		ServerResponse: googleapi.ServerResponse{
 23226  			Header:         res.Header,
 23227  			HTTPStatusCode: res.StatusCode,
 23228  		},
 23229  	}
 23230  	target := &ret
 23231  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23232  		return nil, err
 23233  	}
 23234  	return ret, nil
 23235  	// {
 23236  	//   "description": "Gets one content category by ID.",
 23237  	//   "httpMethod": "GET",
 23238  	//   "id": "dfareporting.contentCategories.get",
 23239  	//   "parameterOrder": [
 23240  	//     "profileId",
 23241  	//     "id"
 23242  	//   ],
 23243  	//   "parameters": {
 23244  	//     "id": {
 23245  	//       "description": "Content category ID.",
 23246  	//       "format": "int64",
 23247  	//       "location": "path",
 23248  	//       "required": true,
 23249  	//       "type": "string"
 23250  	//     },
 23251  	//     "profileId": {
 23252  	//       "description": "User profile ID associated with this request.",
 23253  	//       "format": "int64",
 23254  	//       "location": "path",
 23255  	//       "required": true,
 23256  	//       "type": "string"
 23257  	//     }
 23258  	//   },
 23259  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 23260  	//   "response": {
 23261  	//     "$ref": "ContentCategory"
 23262  	//   },
 23263  	//   "scopes": [
 23264  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23265  	//   ]
 23266  	// }
 23267  
 23268  }
 23269  
 23270  // method id "dfareporting.contentCategories.insert":
 23271  
 23272  type ContentCategoriesInsertCall struct {
 23273  	s               *Service
 23274  	profileId       int64
 23275  	contentcategory *ContentCategory
 23276  	urlParams_      gensupport.URLParams
 23277  	ctx_            context.Context
 23278  	header_         http.Header
 23279  }
 23280  
 23281  // Insert: Inserts a new content category.
 23282  func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
 23283  	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23284  	c.profileId = profileId
 23285  	c.contentcategory = contentcategory
 23286  	return c
 23287  }
 23288  
 23289  // Fields allows partial responses to be retrieved. See
 23290  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23291  // for more information.
 23292  func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
 23293  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23294  	return c
 23295  }
 23296  
 23297  // Context sets the context to be used in this call's Do method. Any
 23298  // pending HTTP request will be aborted if the provided context is
 23299  // canceled.
 23300  func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
 23301  	c.ctx_ = ctx
 23302  	return c
 23303  }
 23304  
 23305  // Header returns an http.Header that can be modified by the caller to
 23306  // add HTTP headers to the request.
 23307  func (c *ContentCategoriesInsertCall) Header() http.Header {
 23308  	if c.header_ == nil {
 23309  		c.header_ = make(http.Header)
 23310  	}
 23311  	return c.header_
 23312  }
 23313  
 23314  func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
 23315  	reqHeaders := make(http.Header)
 23316  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23317  	for k, v := range c.header_ {
 23318  		reqHeaders[k] = v
 23319  	}
 23320  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23321  	var body io.Reader = nil
 23322  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 23323  	if err != nil {
 23324  		return nil, err
 23325  	}
 23326  	reqHeaders.Set("Content-Type", "application/json")
 23327  	c.urlParams_.Set("alt", alt)
 23328  	c.urlParams_.Set("prettyPrint", "false")
 23329  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23330  	urls += "?" + c.urlParams_.Encode()
 23331  	req, err := http.NewRequest("POST", urls, body)
 23332  	if err != nil {
 23333  		return nil, err
 23334  	}
 23335  	req.Header = reqHeaders
 23336  	googleapi.Expand(req.URL, map[string]string{
 23337  		"profileId": strconv.FormatInt(c.profileId, 10),
 23338  	})
 23339  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23340  }
 23341  
 23342  // Do executes the "dfareporting.contentCategories.insert" call.
 23343  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23344  // status code is an error. Response headers are in either
 23345  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23346  // at all) in error.(*googleapi.Error).Header. Use
 23347  // googleapi.IsNotModified to check whether the returned error was
 23348  // because http.StatusNotModified was returned.
 23349  func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23350  	gensupport.SetOptions(c.urlParams_, opts...)
 23351  	res, err := c.doRequest("json")
 23352  	if res != nil && res.StatusCode == http.StatusNotModified {
 23353  		if res.Body != nil {
 23354  			res.Body.Close()
 23355  		}
 23356  		return nil, &googleapi.Error{
 23357  			Code:   res.StatusCode,
 23358  			Header: res.Header,
 23359  		}
 23360  	}
 23361  	if err != nil {
 23362  		return nil, err
 23363  	}
 23364  	defer googleapi.CloseBody(res)
 23365  	if err := googleapi.CheckResponse(res); err != nil {
 23366  		return nil, err
 23367  	}
 23368  	ret := &ContentCategory{
 23369  		ServerResponse: googleapi.ServerResponse{
 23370  			Header:         res.Header,
 23371  			HTTPStatusCode: res.StatusCode,
 23372  		},
 23373  	}
 23374  	target := &ret
 23375  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23376  		return nil, err
 23377  	}
 23378  	return ret, nil
 23379  	// {
 23380  	//   "description": "Inserts a new content category.",
 23381  	//   "httpMethod": "POST",
 23382  	//   "id": "dfareporting.contentCategories.insert",
 23383  	//   "parameterOrder": [
 23384  	//     "profileId"
 23385  	//   ],
 23386  	//   "parameters": {
 23387  	//     "profileId": {
 23388  	//       "description": "User profile ID associated with this request.",
 23389  	//       "format": "int64",
 23390  	//       "location": "path",
 23391  	//       "required": true,
 23392  	//       "type": "string"
 23393  	//     }
 23394  	//   },
 23395  	//   "path": "userprofiles/{profileId}/contentCategories",
 23396  	//   "request": {
 23397  	//     "$ref": "ContentCategory"
 23398  	//   },
 23399  	//   "response": {
 23400  	//     "$ref": "ContentCategory"
 23401  	//   },
 23402  	//   "scopes": [
 23403  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23404  	//   ]
 23405  	// }
 23406  
 23407  }
 23408  
 23409  // method id "dfareporting.contentCategories.list":
 23410  
 23411  type ContentCategoriesListCall struct {
 23412  	s            *Service
 23413  	profileId    int64
 23414  	urlParams_   gensupport.URLParams
 23415  	ifNoneMatch_ string
 23416  	ctx_         context.Context
 23417  	header_      http.Header
 23418  }
 23419  
 23420  // List: Retrieves a list of content categories, possibly filtered. This
 23421  // method supports paging.
 23422  func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
 23423  	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23424  	c.profileId = profileId
 23425  	return c
 23426  }
 23427  
 23428  // Ids sets the optional parameter "ids": Select only content categories
 23429  // with these IDs.
 23430  func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
 23431  	var ids_ []string
 23432  	for _, v := range ids {
 23433  		ids_ = append(ids_, fmt.Sprint(v))
 23434  	}
 23435  	c.urlParams_.SetMulti("ids", ids_)
 23436  	return c
 23437  }
 23438  
 23439  // MaxResults sets the optional parameter "maxResults": Maximum number
 23440  // of results to return.
 23441  func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
 23442  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 23443  	return c
 23444  }
 23445  
 23446  // PageToken sets the optional parameter "pageToken": Value of the
 23447  // nextPageToken from the previous result page.
 23448  func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
 23449  	c.urlParams_.Set("pageToken", pageToken)
 23450  	return c
 23451  }
 23452  
 23453  // SearchString sets the optional parameter "searchString": Allows
 23454  // searching for objects by name or ID. Wildcards (*) are allowed. For
 23455  // example, "contentcategory*2015" will return objects with names like
 23456  // "contentcategory June 2015", "contentcategory April 2015", or simply
 23457  // "contentcategory 2015". Most of the searches also add wildcards
 23458  // implicitly at the start and the end of the search string. For
 23459  // example, a search string of "contentcategory" will match objects with
 23460  // name "my contentcategory", "contentcategory 2015", or simply
 23461  // "contentcategory".
 23462  func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
 23463  	c.urlParams_.Set("searchString", searchString)
 23464  	return c
 23465  }
 23466  
 23467  // SortField sets the optional parameter "sortField": Field by which to
 23468  // sort the list.
 23469  //
 23470  // Possible values:
 23471  //
 23472  //	"ID" (default)
 23473  //	"NAME"
 23474  func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
 23475  	c.urlParams_.Set("sortField", sortField)
 23476  	return c
 23477  }
 23478  
 23479  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 23480  // results.
 23481  //
 23482  // Possible values:
 23483  //
 23484  //	"ASCENDING" (default)
 23485  //	"DESCENDING"
 23486  func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
 23487  	c.urlParams_.Set("sortOrder", sortOrder)
 23488  	return c
 23489  }
 23490  
 23491  // Fields allows partial responses to be retrieved. See
 23492  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23493  // for more information.
 23494  func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
 23495  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23496  	return c
 23497  }
 23498  
 23499  // IfNoneMatch sets the optional parameter which makes the operation
 23500  // fail if the object's ETag matches the given value. This is useful for
 23501  // getting updates only after the object has changed since the last
 23502  // request. Use googleapi.IsNotModified to check whether the response
 23503  // error from Do is the result of In-None-Match.
 23504  func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
 23505  	c.ifNoneMatch_ = entityTag
 23506  	return c
 23507  }
 23508  
 23509  // Context sets the context to be used in this call's Do method. Any
 23510  // pending HTTP request will be aborted if the provided context is
 23511  // canceled.
 23512  func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
 23513  	c.ctx_ = ctx
 23514  	return c
 23515  }
 23516  
 23517  // Header returns an http.Header that can be modified by the caller to
 23518  // add HTTP headers to the request.
 23519  func (c *ContentCategoriesListCall) Header() http.Header {
 23520  	if c.header_ == nil {
 23521  		c.header_ = make(http.Header)
 23522  	}
 23523  	return c.header_
 23524  }
 23525  
 23526  func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 23527  	reqHeaders := make(http.Header)
 23528  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23529  	for k, v := range c.header_ {
 23530  		reqHeaders[k] = v
 23531  	}
 23532  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23533  	if c.ifNoneMatch_ != "" {
 23534  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23535  	}
 23536  	var body io.Reader = nil
 23537  	c.urlParams_.Set("alt", alt)
 23538  	c.urlParams_.Set("prettyPrint", "false")
 23539  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23540  	urls += "?" + c.urlParams_.Encode()
 23541  	req, err := http.NewRequest("GET", urls, body)
 23542  	if err != nil {
 23543  		return nil, err
 23544  	}
 23545  	req.Header = reqHeaders
 23546  	googleapi.Expand(req.URL, map[string]string{
 23547  		"profileId": strconv.FormatInt(c.profileId, 10),
 23548  	})
 23549  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23550  }
 23551  
 23552  // Do executes the "dfareporting.contentCategories.list" call.
 23553  // Exactly one of *ContentCategoriesListResponse or error will be
 23554  // non-nil. Any non-2xx status code is an error. Response headers are in
 23555  // either *ContentCategoriesListResponse.ServerResponse.Header or (if a
 23556  // response was returned at all) in error.(*googleapi.Error).Header. Use
 23557  // googleapi.IsNotModified to check whether the returned error was
 23558  // because http.StatusNotModified was returned.
 23559  func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
 23560  	gensupport.SetOptions(c.urlParams_, opts...)
 23561  	res, err := c.doRequest("json")
 23562  	if res != nil && res.StatusCode == http.StatusNotModified {
 23563  		if res.Body != nil {
 23564  			res.Body.Close()
 23565  		}
 23566  		return nil, &googleapi.Error{
 23567  			Code:   res.StatusCode,
 23568  			Header: res.Header,
 23569  		}
 23570  	}
 23571  	if err != nil {
 23572  		return nil, err
 23573  	}
 23574  	defer googleapi.CloseBody(res)
 23575  	if err := googleapi.CheckResponse(res); err != nil {
 23576  		return nil, err
 23577  	}
 23578  	ret := &ContentCategoriesListResponse{
 23579  		ServerResponse: googleapi.ServerResponse{
 23580  			Header:         res.Header,
 23581  			HTTPStatusCode: res.StatusCode,
 23582  		},
 23583  	}
 23584  	target := &ret
 23585  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23586  		return nil, err
 23587  	}
 23588  	return ret, nil
 23589  	// {
 23590  	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
 23591  	//   "httpMethod": "GET",
 23592  	//   "id": "dfareporting.contentCategories.list",
 23593  	//   "parameterOrder": [
 23594  	//     "profileId"
 23595  	//   ],
 23596  	//   "parameters": {
 23597  	//     "ids": {
 23598  	//       "description": "Select only content categories with these IDs.",
 23599  	//       "format": "int64",
 23600  	//       "location": "query",
 23601  	//       "repeated": true,
 23602  	//       "type": "string"
 23603  	//     },
 23604  	//     "maxResults": {
 23605  	//       "default": "1000",
 23606  	//       "description": "Maximum number of results to return.",
 23607  	//       "format": "int32",
 23608  	//       "location": "query",
 23609  	//       "maximum": "1000",
 23610  	//       "minimum": "0",
 23611  	//       "type": "integer"
 23612  	//     },
 23613  	//     "pageToken": {
 23614  	//       "description": "Value of the nextPageToken from the previous result page.",
 23615  	//       "location": "query",
 23616  	//       "type": "string"
 23617  	//     },
 23618  	//     "profileId": {
 23619  	//       "description": "User profile ID associated with this request.",
 23620  	//       "format": "int64",
 23621  	//       "location": "path",
 23622  	//       "required": true,
 23623  	//       "type": "string"
 23624  	//     },
 23625  	//     "searchString": {
 23626  	//       "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\".",
 23627  	//       "location": "query",
 23628  	//       "type": "string"
 23629  	//     },
 23630  	//     "sortField": {
 23631  	//       "default": "ID",
 23632  	//       "description": "Field by which to sort the list.",
 23633  	//       "enum": [
 23634  	//         "ID",
 23635  	//         "NAME"
 23636  	//       ],
 23637  	//       "enumDescriptions": [
 23638  	//         "",
 23639  	//         ""
 23640  	//       ],
 23641  	//       "location": "query",
 23642  	//       "type": "string"
 23643  	//     },
 23644  	//     "sortOrder": {
 23645  	//       "default": "ASCENDING",
 23646  	//       "description": "Order of sorted results.",
 23647  	//       "enum": [
 23648  	//         "ASCENDING",
 23649  	//         "DESCENDING"
 23650  	//       ],
 23651  	//       "enumDescriptions": [
 23652  	//         "",
 23653  	//         ""
 23654  	//       ],
 23655  	//       "location": "query",
 23656  	//       "type": "string"
 23657  	//     }
 23658  	//   },
 23659  	//   "path": "userprofiles/{profileId}/contentCategories",
 23660  	//   "response": {
 23661  	//     "$ref": "ContentCategoriesListResponse"
 23662  	//   },
 23663  	//   "scopes": [
 23664  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23665  	//   ]
 23666  	// }
 23667  
 23668  }
 23669  
 23670  // Pages invokes f for each page of results.
 23671  // A non-nil error returned from f will halt the iteration.
 23672  // The provided context supersedes any context provided to the Context method.
 23673  func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
 23674  	c.ctx_ = ctx
 23675  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 23676  	for {
 23677  		x, err := c.Do()
 23678  		if err != nil {
 23679  			return err
 23680  		}
 23681  		if err := f(x); err != nil {
 23682  			return err
 23683  		}
 23684  		if x.NextPageToken == "" {
 23685  			return nil
 23686  		}
 23687  		c.PageToken(x.NextPageToken)
 23688  	}
 23689  }
 23690  
 23691  // method id "dfareporting.contentCategories.patch":
 23692  
 23693  type ContentCategoriesPatchCall struct {
 23694  	s               *Service
 23695  	profileId       int64
 23696  	contentcategory *ContentCategory
 23697  	urlParams_      gensupport.URLParams
 23698  	ctx_            context.Context
 23699  	header_         http.Header
 23700  }
 23701  
 23702  // Patch: Updates an existing content category. This method supports
 23703  // patch semantics.
 23704  func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
 23705  	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23706  	c.profileId = profileId
 23707  	c.urlParams_.Set("id", fmt.Sprint(id))
 23708  	c.contentcategory = contentcategory
 23709  	return c
 23710  }
 23711  
 23712  // Fields allows partial responses to be retrieved. See
 23713  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23714  // for more information.
 23715  func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
 23716  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23717  	return c
 23718  }
 23719  
 23720  // Context sets the context to be used in this call's Do method. Any
 23721  // pending HTTP request will be aborted if the provided context is
 23722  // canceled.
 23723  func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
 23724  	c.ctx_ = ctx
 23725  	return c
 23726  }
 23727  
 23728  // Header returns an http.Header that can be modified by the caller to
 23729  // add HTTP headers to the request.
 23730  func (c *ContentCategoriesPatchCall) Header() http.Header {
 23731  	if c.header_ == nil {
 23732  		c.header_ = make(http.Header)
 23733  	}
 23734  	return c.header_
 23735  }
 23736  
 23737  func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
 23738  	reqHeaders := make(http.Header)
 23739  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23740  	for k, v := range c.header_ {
 23741  		reqHeaders[k] = v
 23742  	}
 23743  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23744  	var body io.Reader = nil
 23745  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 23746  	if err != nil {
 23747  		return nil, err
 23748  	}
 23749  	reqHeaders.Set("Content-Type", "application/json")
 23750  	c.urlParams_.Set("alt", alt)
 23751  	c.urlParams_.Set("prettyPrint", "false")
 23752  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23753  	urls += "?" + c.urlParams_.Encode()
 23754  	req, err := http.NewRequest("PATCH", urls, body)
 23755  	if err != nil {
 23756  		return nil, err
 23757  	}
 23758  	req.Header = reqHeaders
 23759  	googleapi.Expand(req.URL, map[string]string{
 23760  		"profileId": strconv.FormatInt(c.profileId, 10),
 23761  	})
 23762  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23763  }
 23764  
 23765  // Do executes the "dfareporting.contentCategories.patch" call.
 23766  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23767  // status code is an error. Response headers are in either
 23768  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23769  // at all) in error.(*googleapi.Error).Header. Use
 23770  // googleapi.IsNotModified to check whether the returned error was
 23771  // because http.StatusNotModified was returned.
 23772  func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23773  	gensupport.SetOptions(c.urlParams_, opts...)
 23774  	res, err := c.doRequest("json")
 23775  	if res != nil && res.StatusCode == http.StatusNotModified {
 23776  		if res.Body != nil {
 23777  			res.Body.Close()
 23778  		}
 23779  		return nil, &googleapi.Error{
 23780  			Code:   res.StatusCode,
 23781  			Header: res.Header,
 23782  		}
 23783  	}
 23784  	if err != nil {
 23785  		return nil, err
 23786  	}
 23787  	defer googleapi.CloseBody(res)
 23788  	if err := googleapi.CheckResponse(res); err != nil {
 23789  		return nil, err
 23790  	}
 23791  	ret := &ContentCategory{
 23792  		ServerResponse: googleapi.ServerResponse{
 23793  			Header:         res.Header,
 23794  			HTTPStatusCode: res.StatusCode,
 23795  		},
 23796  	}
 23797  	target := &ret
 23798  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23799  		return nil, err
 23800  	}
 23801  	return ret, nil
 23802  	// {
 23803  	//   "description": "Updates an existing content category. This method supports patch semantics.",
 23804  	//   "httpMethod": "PATCH",
 23805  	//   "id": "dfareporting.contentCategories.patch",
 23806  	//   "parameterOrder": [
 23807  	//     "profileId",
 23808  	//     "id"
 23809  	//   ],
 23810  	//   "parameters": {
 23811  	//     "id": {
 23812  	//       "description": "Content category ID.",
 23813  	//       "format": "int64",
 23814  	//       "location": "query",
 23815  	//       "required": true,
 23816  	//       "type": "string"
 23817  	//     },
 23818  	//     "profileId": {
 23819  	//       "description": "User profile ID associated with this request.",
 23820  	//       "format": "int64",
 23821  	//       "location": "path",
 23822  	//       "required": true,
 23823  	//       "type": "string"
 23824  	//     }
 23825  	//   },
 23826  	//   "path": "userprofiles/{profileId}/contentCategories",
 23827  	//   "request": {
 23828  	//     "$ref": "ContentCategory"
 23829  	//   },
 23830  	//   "response": {
 23831  	//     "$ref": "ContentCategory"
 23832  	//   },
 23833  	//   "scopes": [
 23834  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23835  	//   ]
 23836  	// }
 23837  
 23838  }
 23839  
 23840  // method id "dfareporting.contentCategories.update":
 23841  
 23842  type ContentCategoriesUpdateCall struct {
 23843  	s               *Service
 23844  	profileId       int64
 23845  	contentcategory *ContentCategory
 23846  	urlParams_      gensupport.URLParams
 23847  	ctx_            context.Context
 23848  	header_         http.Header
 23849  }
 23850  
 23851  // Update: Updates an existing content category.
 23852  func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
 23853  	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23854  	c.profileId = profileId
 23855  	c.contentcategory = contentcategory
 23856  	return c
 23857  }
 23858  
 23859  // Fields allows partial responses to be retrieved. See
 23860  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23861  // for more information.
 23862  func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
 23863  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23864  	return c
 23865  }
 23866  
 23867  // Context sets the context to be used in this call's Do method. Any
 23868  // pending HTTP request will be aborted if the provided context is
 23869  // canceled.
 23870  func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
 23871  	c.ctx_ = ctx
 23872  	return c
 23873  }
 23874  
 23875  // Header returns an http.Header that can be modified by the caller to
 23876  // add HTTP headers to the request.
 23877  func (c *ContentCategoriesUpdateCall) Header() http.Header {
 23878  	if c.header_ == nil {
 23879  		c.header_ = make(http.Header)
 23880  	}
 23881  	return c.header_
 23882  }
 23883  
 23884  func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
 23885  	reqHeaders := make(http.Header)
 23886  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23887  	for k, v := range c.header_ {
 23888  		reqHeaders[k] = v
 23889  	}
 23890  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23891  	var body io.Reader = nil
 23892  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 23893  	if err != nil {
 23894  		return nil, err
 23895  	}
 23896  	reqHeaders.Set("Content-Type", "application/json")
 23897  	c.urlParams_.Set("alt", alt)
 23898  	c.urlParams_.Set("prettyPrint", "false")
 23899  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23900  	urls += "?" + c.urlParams_.Encode()
 23901  	req, err := http.NewRequest("PUT", urls, body)
 23902  	if err != nil {
 23903  		return nil, err
 23904  	}
 23905  	req.Header = reqHeaders
 23906  	googleapi.Expand(req.URL, map[string]string{
 23907  		"profileId": strconv.FormatInt(c.profileId, 10),
 23908  	})
 23909  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23910  }
 23911  
 23912  // Do executes the "dfareporting.contentCategories.update" call.
 23913  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23914  // status code is an error. Response headers are in either
 23915  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23916  // at all) in error.(*googleapi.Error).Header. Use
 23917  // googleapi.IsNotModified to check whether the returned error was
 23918  // because http.StatusNotModified was returned.
 23919  func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23920  	gensupport.SetOptions(c.urlParams_, opts...)
 23921  	res, err := c.doRequest("json")
 23922  	if res != nil && res.StatusCode == http.StatusNotModified {
 23923  		if res.Body != nil {
 23924  			res.Body.Close()
 23925  		}
 23926  		return nil, &googleapi.Error{
 23927  			Code:   res.StatusCode,
 23928  			Header: res.Header,
 23929  		}
 23930  	}
 23931  	if err != nil {
 23932  		return nil, err
 23933  	}
 23934  	defer googleapi.CloseBody(res)
 23935  	if err := googleapi.CheckResponse(res); err != nil {
 23936  		return nil, err
 23937  	}
 23938  	ret := &ContentCategory{
 23939  		ServerResponse: googleapi.ServerResponse{
 23940  			Header:         res.Header,
 23941  			HTTPStatusCode: res.StatusCode,
 23942  		},
 23943  	}
 23944  	target := &ret
 23945  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23946  		return nil, err
 23947  	}
 23948  	return ret, nil
 23949  	// {
 23950  	//   "description": "Updates an existing content category.",
 23951  	//   "httpMethod": "PUT",
 23952  	//   "id": "dfareporting.contentCategories.update",
 23953  	//   "parameterOrder": [
 23954  	//     "profileId"
 23955  	//   ],
 23956  	//   "parameters": {
 23957  	//     "profileId": {
 23958  	//       "description": "User profile ID associated with this request.",
 23959  	//       "format": "int64",
 23960  	//       "location": "path",
 23961  	//       "required": true,
 23962  	//       "type": "string"
 23963  	//     }
 23964  	//   },
 23965  	//   "path": "userprofiles/{profileId}/contentCategories",
 23966  	//   "request": {
 23967  	//     "$ref": "ContentCategory"
 23968  	//   },
 23969  	//   "response": {
 23970  	//     "$ref": "ContentCategory"
 23971  	//   },
 23972  	//   "scopes": [
 23973  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23974  	//   ]
 23975  	// }
 23976  
 23977  }
 23978  
 23979  // method id "dfareporting.conversions.batchinsert":
 23980  
 23981  type ConversionsBatchinsertCall struct {
 23982  	s                             *Service
 23983  	profileId                     int64
 23984  	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
 23985  	urlParams_                    gensupport.URLParams
 23986  	ctx_                          context.Context
 23987  	header_                       http.Header
 23988  }
 23989  
 23990  // Batchinsert: Inserts conversions.
 23991  func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
 23992  	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23993  	c.profileId = profileId
 23994  	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
 23995  	return c
 23996  }
 23997  
 23998  // Fields allows partial responses to be retrieved. See
 23999  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24000  // for more information.
 24001  func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
 24002  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24003  	return c
 24004  }
 24005  
 24006  // Context sets the context to be used in this call's Do method. Any
 24007  // pending HTTP request will be aborted if the provided context is
 24008  // canceled.
 24009  func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
 24010  	c.ctx_ = ctx
 24011  	return c
 24012  }
 24013  
 24014  // Header returns an http.Header that can be modified by the caller to
 24015  // add HTTP headers to the request.
 24016  func (c *ConversionsBatchinsertCall) Header() http.Header {
 24017  	if c.header_ == nil {
 24018  		c.header_ = make(http.Header)
 24019  	}
 24020  	return c.header_
 24021  }
 24022  
 24023  func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
 24024  	reqHeaders := make(http.Header)
 24025  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24026  	for k, v := range c.header_ {
 24027  		reqHeaders[k] = v
 24028  	}
 24029  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24030  	var body io.Reader = nil
 24031  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
 24032  	if err != nil {
 24033  		return nil, err
 24034  	}
 24035  	reqHeaders.Set("Content-Type", "application/json")
 24036  	c.urlParams_.Set("alt", alt)
 24037  	c.urlParams_.Set("prettyPrint", "false")
 24038  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
 24039  	urls += "?" + c.urlParams_.Encode()
 24040  	req, err := http.NewRequest("POST", urls, body)
 24041  	if err != nil {
 24042  		return nil, err
 24043  	}
 24044  	req.Header = reqHeaders
 24045  	googleapi.Expand(req.URL, map[string]string{
 24046  		"profileId": strconv.FormatInt(c.profileId, 10),
 24047  	})
 24048  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24049  }
 24050  
 24051  // Do executes the "dfareporting.conversions.batchinsert" call.
 24052  // Exactly one of *ConversionsBatchInsertResponse or error will be
 24053  // non-nil. Any non-2xx status code is an error. Response headers are in
 24054  // either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
 24055  // response was returned at all) in error.(*googleapi.Error).Header. Use
 24056  // googleapi.IsNotModified to check whether the returned error was
 24057  // because http.StatusNotModified was returned.
 24058  func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
 24059  	gensupport.SetOptions(c.urlParams_, opts...)
 24060  	res, err := c.doRequest("json")
 24061  	if res != nil && res.StatusCode == http.StatusNotModified {
 24062  		if res.Body != nil {
 24063  			res.Body.Close()
 24064  		}
 24065  		return nil, &googleapi.Error{
 24066  			Code:   res.StatusCode,
 24067  			Header: res.Header,
 24068  		}
 24069  	}
 24070  	if err != nil {
 24071  		return nil, err
 24072  	}
 24073  	defer googleapi.CloseBody(res)
 24074  	if err := googleapi.CheckResponse(res); err != nil {
 24075  		return nil, err
 24076  	}
 24077  	ret := &ConversionsBatchInsertResponse{
 24078  		ServerResponse: googleapi.ServerResponse{
 24079  			Header:         res.Header,
 24080  			HTTPStatusCode: res.StatusCode,
 24081  		},
 24082  	}
 24083  	target := &ret
 24084  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24085  		return nil, err
 24086  	}
 24087  	return ret, nil
 24088  	// {
 24089  	//   "description": "Inserts conversions.",
 24090  	//   "httpMethod": "POST",
 24091  	//   "id": "dfareporting.conversions.batchinsert",
 24092  	//   "parameterOrder": [
 24093  	//     "profileId"
 24094  	//   ],
 24095  	//   "parameters": {
 24096  	//     "profileId": {
 24097  	//       "description": "User profile ID associated with this request.",
 24098  	//       "format": "int64",
 24099  	//       "location": "path",
 24100  	//       "required": true,
 24101  	//       "type": "string"
 24102  	//     }
 24103  	//   },
 24104  	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
 24105  	//   "request": {
 24106  	//     "$ref": "ConversionsBatchInsertRequest"
 24107  	//   },
 24108  	//   "response": {
 24109  	//     "$ref": "ConversionsBatchInsertResponse"
 24110  	//   },
 24111  	//   "scopes": [
 24112  	//     "https://www.googleapis.com/auth/ddmconversions"
 24113  	//   ]
 24114  	// }
 24115  
 24116  }
 24117  
 24118  // method id "dfareporting.conversions.batchupdate":
 24119  
 24120  type ConversionsBatchupdateCall struct {
 24121  	s                             *Service
 24122  	profileId                     int64
 24123  	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
 24124  	urlParams_                    gensupport.URLParams
 24125  	ctx_                          context.Context
 24126  	header_                       http.Header
 24127  }
 24128  
 24129  // Batchupdate: Updates existing conversions.
 24130  func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
 24131  	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24132  	c.profileId = profileId
 24133  	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
 24134  	return c
 24135  }
 24136  
 24137  // Fields allows partial responses to be retrieved. See
 24138  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24139  // for more information.
 24140  func (c *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
 24141  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24142  	return c
 24143  }
 24144  
 24145  // Context sets the context to be used in this call's Do method. Any
 24146  // pending HTTP request will be aborted if the provided context is
 24147  // canceled.
 24148  func (c *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
 24149  	c.ctx_ = ctx
 24150  	return c
 24151  }
 24152  
 24153  // Header returns an http.Header that can be modified by the caller to
 24154  // add HTTP headers to the request.
 24155  func (c *ConversionsBatchupdateCall) Header() http.Header {
 24156  	if c.header_ == nil {
 24157  		c.header_ = make(http.Header)
 24158  	}
 24159  	return c.header_
 24160  }
 24161  
 24162  func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
 24163  	reqHeaders := make(http.Header)
 24164  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24165  	for k, v := range c.header_ {
 24166  		reqHeaders[k] = v
 24167  	}
 24168  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24169  	var body io.Reader = nil
 24170  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchupdaterequest)
 24171  	if err != nil {
 24172  		return nil, err
 24173  	}
 24174  	reqHeaders.Set("Content-Type", "application/json")
 24175  	c.urlParams_.Set("alt", alt)
 24176  	c.urlParams_.Set("prettyPrint", "false")
 24177  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchupdate")
 24178  	urls += "?" + c.urlParams_.Encode()
 24179  	req, err := http.NewRequest("POST", urls, body)
 24180  	if err != nil {
 24181  		return nil, err
 24182  	}
 24183  	req.Header = reqHeaders
 24184  	googleapi.Expand(req.URL, map[string]string{
 24185  		"profileId": strconv.FormatInt(c.profileId, 10),
 24186  	})
 24187  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24188  }
 24189  
 24190  // Do executes the "dfareporting.conversions.batchupdate" call.
 24191  // Exactly one of *ConversionsBatchUpdateResponse or error will be
 24192  // non-nil. Any non-2xx status code is an error. Response headers are in
 24193  // either *ConversionsBatchUpdateResponse.ServerResponse.Header or (if a
 24194  // response was returned at all) in error.(*googleapi.Error).Header. Use
 24195  // googleapi.IsNotModified to check whether the returned error was
 24196  // because http.StatusNotModified was returned.
 24197  func (c *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, error) {
 24198  	gensupport.SetOptions(c.urlParams_, opts...)
 24199  	res, err := c.doRequest("json")
 24200  	if res != nil && res.StatusCode == http.StatusNotModified {
 24201  		if res.Body != nil {
 24202  			res.Body.Close()
 24203  		}
 24204  		return nil, &googleapi.Error{
 24205  			Code:   res.StatusCode,
 24206  			Header: res.Header,
 24207  		}
 24208  	}
 24209  	if err != nil {
 24210  		return nil, err
 24211  	}
 24212  	defer googleapi.CloseBody(res)
 24213  	if err := googleapi.CheckResponse(res); err != nil {
 24214  		return nil, err
 24215  	}
 24216  	ret := &ConversionsBatchUpdateResponse{
 24217  		ServerResponse: googleapi.ServerResponse{
 24218  			Header:         res.Header,
 24219  			HTTPStatusCode: res.StatusCode,
 24220  		},
 24221  	}
 24222  	target := &ret
 24223  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24224  		return nil, err
 24225  	}
 24226  	return ret, nil
 24227  	// {
 24228  	//   "description": "Updates existing conversions.",
 24229  	//   "httpMethod": "POST",
 24230  	//   "id": "dfareporting.conversions.batchupdate",
 24231  	//   "parameterOrder": [
 24232  	//     "profileId"
 24233  	//   ],
 24234  	//   "parameters": {
 24235  	//     "profileId": {
 24236  	//       "description": "User profile ID associated with this request.",
 24237  	//       "format": "int64",
 24238  	//       "location": "path",
 24239  	//       "required": true,
 24240  	//       "type": "string"
 24241  	//     }
 24242  	//   },
 24243  	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
 24244  	//   "request": {
 24245  	//     "$ref": "ConversionsBatchUpdateRequest"
 24246  	//   },
 24247  	//   "response": {
 24248  	//     "$ref": "ConversionsBatchUpdateResponse"
 24249  	//   },
 24250  	//   "scopes": [
 24251  	//     "https://www.googleapis.com/auth/ddmconversions"
 24252  	//   ]
 24253  	// }
 24254  
 24255  }
 24256  
 24257  // method id "dfareporting.countries.get":
 24258  
 24259  type CountriesGetCall struct {
 24260  	s            *Service
 24261  	profileId    int64
 24262  	dartId       int64
 24263  	urlParams_   gensupport.URLParams
 24264  	ifNoneMatch_ string
 24265  	ctx_         context.Context
 24266  	header_      http.Header
 24267  }
 24268  
 24269  // Get: Gets one country by ID.
 24270  func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
 24271  	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24272  	c.profileId = profileId
 24273  	c.dartId = dartId
 24274  	return c
 24275  }
 24276  
 24277  // Fields allows partial responses to be retrieved. See
 24278  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24279  // for more information.
 24280  func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
 24281  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24282  	return c
 24283  }
 24284  
 24285  // IfNoneMatch sets the optional parameter which makes the operation
 24286  // fail if the object's ETag matches the given value. This is useful for
 24287  // getting updates only after the object has changed since the last
 24288  // request. Use googleapi.IsNotModified to check whether the response
 24289  // error from Do is the result of In-None-Match.
 24290  func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
 24291  	c.ifNoneMatch_ = entityTag
 24292  	return c
 24293  }
 24294  
 24295  // Context sets the context to be used in this call's Do method. Any
 24296  // pending HTTP request will be aborted if the provided context is
 24297  // canceled.
 24298  func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
 24299  	c.ctx_ = ctx
 24300  	return c
 24301  }
 24302  
 24303  // Header returns an http.Header that can be modified by the caller to
 24304  // add HTTP headers to the request.
 24305  func (c *CountriesGetCall) Header() http.Header {
 24306  	if c.header_ == nil {
 24307  		c.header_ = make(http.Header)
 24308  	}
 24309  	return c.header_
 24310  }
 24311  
 24312  func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 24313  	reqHeaders := make(http.Header)
 24314  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24315  	for k, v := range c.header_ {
 24316  		reqHeaders[k] = v
 24317  	}
 24318  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24319  	if c.ifNoneMatch_ != "" {
 24320  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24321  	}
 24322  	var body io.Reader = nil
 24323  	c.urlParams_.Set("alt", alt)
 24324  	c.urlParams_.Set("prettyPrint", "false")
 24325  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
 24326  	urls += "?" + c.urlParams_.Encode()
 24327  	req, err := http.NewRequest("GET", urls, body)
 24328  	if err != nil {
 24329  		return nil, err
 24330  	}
 24331  	req.Header = reqHeaders
 24332  	googleapi.Expand(req.URL, map[string]string{
 24333  		"profileId": strconv.FormatInt(c.profileId, 10),
 24334  		"dartId":    strconv.FormatInt(c.dartId, 10),
 24335  	})
 24336  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24337  }
 24338  
 24339  // Do executes the "dfareporting.countries.get" call.
 24340  // Exactly one of *Country or error will be non-nil. Any non-2xx status
 24341  // code is an error. Response headers are in either
 24342  // *Country.ServerResponse.Header or (if a response was returned at all)
 24343  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 24344  // check whether the returned error was because http.StatusNotModified
 24345  // was returned.
 24346  func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
 24347  	gensupport.SetOptions(c.urlParams_, opts...)
 24348  	res, err := c.doRequest("json")
 24349  	if res != nil && res.StatusCode == http.StatusNotModified {
 24350  		if res.Body != nil {
 24351  			res.Body.Close()
 24352  		}
 24353  		return nil, &googleapi.Error{
 24354  			Code:   res.StatusCode,
 24355  			Header: res.Header,
 24356  		}
 24357  	}
 24358  	if err != nil {
 24359  		return nil, err
 24360  	}
 24361  	defer googleapi.CloseBody(res)
 24362  	if err := googleapi.CheckResponse(res); err != nil {
 24363  		return nil, err
 24364  	}
 24365  	ret := &Country{
 24366  		ServerResponse: googleapi.ServerResponse{
 24367  			Header:         res.Header,
 24368  			HTTPStatusCode: res.StatusCode,
 24369  		},
 24370  	}
 24371  	target := &ret
 24372  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24373  		return nil, err
 24374  	}
 24375  	return ret, nil
 24376  	// {
 24377  	//   "description": "Gets one country by ID.",
 24378  	//   "httpMethod": "GET",
 24379  	//   "id": "dfareporting.countries.get",
 24380  	//   "parameterOrder": [
 24381  	//     "profileId",
 24382  	//     "dartId"
 24383  	//   ],
 24384  	//   "parameters": {
 24385  	//     "dartId": {
 24386  	//       "description": "Country DART ID.",
 24387  	//       "format": "int64",
 24388  	//       "location": "path",
 24389  	//       "required": true,
 24390  	//       "type": "string"
 24391  	//     },
 24392  	//     "profileId": {
 24393  	//       "description": "User profile ID associated with this request.",
 24394  	//       "format": "int64",
 24395  	//       "location": "path",
 24396  	//       "required": true,
 24397  	//       "type": "string"
 24398  	//     }
 24399  	//   },
 24400  	//   "path": "userprofiles/{profileId}/countries/{dartId}",
 24401  	//   "response": {
 24402  	//     "$ref": "Country"
 24403  	//   },
 24404  	//   "scopes": [
 24405  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24406  	//   ]
 24407  	// }
 24408  
 24409  }
 24410  
 24411  // method id "dfareporting.countries.list":
 24412  
 24413  type CountriesListCall struct {
 24414  	s            *Service
 24415  	profileId    int64
 24416  	urlParams_   gensupport.URLParams
 24417  	ifNoneMatch_ string
 24418  	ctx_         context.Context
 24419  	header_      http.Header
 24420  }
 24421  
 24422  // List: Retrieves a list of countries.
 24423  func (r *CountriesService) List(profileId int64) *CountriesListCall {
 24424  	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24425  	c.profileId = profileId
 24426  	return c
 24427  }
 24428  
 24429  // Fields allows partial responses to be retrieved. See
 24430  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24431  // for more information.
 24432  func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
 24433  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24434  	return c
 24435  }
 24436  
 24437  // IfNoneMatch sets the optional parameter which makes the operation
 24438  // fail if the object's ETag matches the given value. This is useful for
 24439  // getting updates only after the object has changed since the last
 24440  // request. Use googleapi.IsNotModified to check whether the response
 24441  // error from Do is the result of In-None-Match.
 24442  func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
 24443  	c.ifNoneMatch_ = entityTag
 24444  	return c
 24445  }
 24446  
 24447  // Context sets the context to be used in this call's Do method. Any
 24448  // pending HTTP request will be aborted if the provided context is
 24449  // canceled.
 24450  func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
 24451  	c.ctx_ = ctx
 24452  	return c
 24453  }
 24454  
 24455  // Header returns an http.Header that can be modified by the caller to
 24456  // add HTTP headers to the request.
 24457  func (c *CountriesListCall) Header() http.Header {
 24458  	if c.header_ == nil {
 24459  		c.header_ = make(http.Header)
 24460  	}
 24461  	return c.header_
 24462  }
 24463  
 24464  func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 24465  	reqHeaders := make(http.Header)
 24466  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24467  	for k, v := range c.header_ {
 24468  		reqHeaders[k] = v
 24469  	}
 24470  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24471  	if c.ifNoneMatch_ != "" {
 24472  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24473  	}
 24474  	var body io.Reader = nil
 24475  	c.urlParams_.Set("alt", alt)
 24476  	c.urlParams_.Set("prettyPrint", "false")
 24477  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
 24478  	urls += "?" + c.urlParams_.Encode()
 24479  	req, err := http.NewRequest("GET", urls, body)
 24480  	if err != nil {
 24481  		return nil, err
 24482  	}
 24483  	req.Header = reqHeaders
 24484  	googleapi.Expand(req.URL, map[string]string{
 24485  		"profileId": strconv.FormatInt(c.profileId, 10),
 24486  	})
 24487  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24488  }
 24489  
 24490  // Do executes the "dfareporting.countries.list" call.
 24491  // Exactly one of *CountriesListResponse or error will be non-nil. Any
 24492  // non-2xx status code is an error. Response headers are in either
 24493  // *CountriesListResponse.ServerResponse.Header or (if a response was
 24494  // returned at all) in error.(*googleapi.Error).Header. Use
 24495  // googleapi.IsNotModified to check whether the returned error was
 24496  // because http.StatusNotModified was returned.
 24497  func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
 24498  	gensupport.SetOptions(c.urlParams_, opts...)
 24499  	res, err := c.doRequest("json")
 24500  	if res != nil && res.StatusCode == http.StatusNotModified {
 24501  		if res.Body != nil {
 24502  			res.Body.Close()
 24503  		}
 24504  		return nil, &googleapi.Error{
 24505  			Code:   res.StatusCode,
 24506  			Header: res.Header,
 24507  		}
 24508  	}
 24509  	if err != nil {
 24510  		return nil, err
 24511  	}
 24512  	defer googleapi.CloseBody(res)
 24513  	if err := googleapi.CheckResponse(res); err != nil {
 24514  		return nil, err
 24515  	}
 24516  	ret := &CountriesListResponse{
 24517  		ServerResponse: googleapi.ServerResponse{
 24518  			Header:         res.Header,
 24519  			HTTPStatusCode: res.StatusCode,
 24520  		},
 24521  	}
 24522  	target := &ret
 24523  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24524  		return nil, err
 24525  	}
 24526  	return ret, nil
 24527  	// {
 24528  	//   "description": "Retrieves a list of countries.",
 24529  	//   "httpMethod": "GET",
 24530  	//   "id": "dfareporting.countries.list",
 24531  	//   "parameterOrder": [
 24532  	//     "profileId"
 24533  	//   ],
 24534  	//   "parameters": {
 24535  	//     "profileId": {
 24536  	//       "description": "User profile ID associated with this request.",
 24537  	//       "format": "int64",
 24538  	//       "location": "path",
 24539  	//       "required": true,
 24540  	//       "type": "string"
 24541  	//     }
 24542  	//   },
 24543  	//   "path": "userprofiles/{profileId}/countries",
 24544  	//   "response": {
 24545  	//     "$ref": "CountriesListResponse"
 24546  	//   },
 24547  	//   "scopes": [
 24548  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24549  	//   ]
 24550  	// }
 24551  
 24552  }
 24553  
 24554  // method id "dfareporting.creativeAssets.insert":
 24555  
 24556  type CreativeAssetsInsertCall struct {
 24557  	s                     *Service
 24558  	profileId             int64
 24559  	advertiserId          int64
 24560  	creativeassetmetadata *CreativeAssetMetadata
 24561  	urlParams_            gensupport.URLParams
 24562  	mediaInfo_            *gensupport.MediaInfo
 24563  	ctx_                  context.Context
 24564  	header_               http.Header
 24565  }
 24566  
 24567  // Insert: Inserts a new creative asset.
 24568  func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
 24569  	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24570  	c.profileId = profileId
 24571  	c.advertiserId = advertiserId
 24572  	c.creativeassetmetadata = creativeassetmetadata
 24573  	return c
 24574  }
 24575  
 24576  // Media specifies the media to upload in one or more chunks. The chunk
 24577  // size may be controlled by supplying a MediaOption generated by
 24578  // googleapi.ChunkSize. The chunk size defaults to
 24579  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the
 24580  // upload request will be determined by sniffing the contents of r,
 24581  // unless a MediaOption generated by googleapi.ContentType is
 24582  // supplied.
 24583  // At most one of Media and ResumableMedia may be set.
 24584  func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
 24585  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 24586  	return c
 24587  }
 24588  
 24589  // ResumableMedia specifies the media to upload in chunks and can be
 24590  // canceled with ctx.
 24591  //
 24592  // Deprecated: use Media instead.
 24593  //
 24594  // At most one of Media and ResumableMedia may be set. mediaType
 24595  // identifies the MIME media type of the upload, such as "image/png". If
 24596  // mediaType is "", it will be auto-detected. The provided ctx will
 24597  // supersede any context previously provided to the Context method.
 24598  func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
 24599  	c.ctx_ = ctx
 24600  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 24601  	return c
 24602  }
 24603  
 24604  // ProgressUpdater provides a callback function that will be called
 24605  // after every chunk. It should be a low-latency function in order to
 24606  // not slow down the upload operation. This should only be called when
 24607  // using ResumableMedia (as opposed to Media).
 24608  func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
 24609  	c.mediaInfo_.SetProgressUpdater(pu)
 24610  	return c
 24611  }
 24612  
 24613  // Fields allows partial responses to be retrieved. See
 24614  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24615  // for more information.
 24616  func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
 24617  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24618  	return c
 24619  }
 24620  
 24621  // Context sets the context to be used in this call's Do method. Any
 24622  // pending HTTP request will be aborted if the provided context is
 24623  // canceled.
 24624  // This context will supersede any context previously provided to the
 24625  // ResumableMedia method.
 24626  func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
 24627  	c.ctx_ = ctx
 24628  	return c
 24629  }
 24630  
 24631  // Header returns an http.Header that can be modified by the caller to
 24632  // add HTTP headers to the request.
 24633  func (c *CreativeAssetsInsertCall) Header() http.Header {
 24634  	if c.header_ == nil {
 24635  		c.header_ = make(http.Header)
 24636  	}
 24637  	return c.header_
 24638  }
 24639  
 24640  func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
 24641  	reqHeaders := make(http.Header)
 24642  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24643  	for k, v := range c.header_ {
 24644  		reqHeaders[k] = v
 24645  	}
 24646  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24647  	var body io.Reader = nil
 24648  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
 24649  	if err != nil {
 24650  		return nil, err
 24651  	}
 24652  	reqHeaders.Set("Content-Type", "application/json")
 24653  	c.urlParams_.Set("alt", alt)
 24654  	c.urlParams_.Set("prettyPrint", "false")
 24655  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 24656  	if c.mediaInfo_ != nil {
 24657  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.1/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 24658  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 24659  	}
 24660  	if body == nil {
 24661  		body = new(bytes.Buffer)
 24662  		reqHeaders.Set("Content-Type", "application/json")
 24663  	}
 24664  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 24665  	defer cleanup()
 24666  	urls += "?" + c.urlParams_.Encode()
 24667  	req, err := http.NewRequest("POST", urls, body)
 24668  	if err != nil {
 24669  		return nil, err
 24670  	}
 24671  	req.Header = reqHeaders
 24672  	req.GetBody = getBody
 24673  	googleapi.Expand(req.URL, map[string]string{
 24674  		"profileId":    strconv.FormatInt(c.profileId, 10),
 24675  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24676  	})
 24677  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24678  }
 24679  
 24680  // Do executes the "dfareporting.creativeAssets.insert" call.
 24681  // Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
 24682  // non-2xx status code is an error. Response headers are in either
 24683  // *CreativeAssetMetadata.ServerResponse.Header or (if a response was
 24684  // returned at all) in error.(*googleapi.Error).Header. Use
 24685  // googleapi.IsNotModified to check whether the returned error was
 24686  // because http.StatusNotModified was returned.
 24687  func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
 24688  	gensupport.SetOptions(c.urlParams_, opts...)
 24689  	res, err := c.doRequest("json")
 24690  	if res != nil && res.StatusCode == http.StatusNotModified {
 24691  		if res.Body != nil {
 24692  			res.Body.Close()
 24693  		}
 24694  		return nil, &googleapi.Error{
 24695  			Code:   res.StatusCode,
 24696  			Header: res.Header,
 24697  		}
 24698  	}
 24699  	if err != nil {
 24700  		return nil, err
 24701  	}
 24702  	defer googleapi.CloseBody(res)
 24703  	if err := googleapi.CheckResponse(res); err != nil {
 24704  		return nil, err
 24705  	}
 24706  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 24707  	if rx != nil {
 24708  		rx.Client = c.s.client
 24709  		rx.UserAgent = c.s.userAgent()
 24710  		ctx := c.ctx_
 24711  		if ctx == nil {
 24712  			ctx = context.TODO()
 24713  		}
 24714  		res, err = rx.Upload(ctx)
 24715  		if err != nil {
 24716  			return nil, err
 24717  		}
 24718  		defer res.Body.Close()
 24719  		if err := googleapi.CheckResponse(res); err != nil {
 24720  			return nil, err
 24721  		}
 24722  	}
 24723  	ret := &CreativeAssetMetadata{
 24724  		ServerResponse: googleapi.ServerResponse{
 24725  			Header:         res.Header,
 24726  			HTTPStatusCode: res.StatusCode,
 24727  		},
 24728  	}
 24729  	target := &ret
 24730  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24731  		return nil, err
 24732  	}
 24733  	return ret, nil
 24734  	// {
 24735  	//   "description": "Inserts a new creative asset.",
 24736  	//   "httpMethod": "POST",
 24737  	//   "id": "dfareporting.creativeAssets.insert",
 24738  	//   "mediaUpload": {
 24739  	//     "accept": [
 24740  	//       "*/*"
 24741  	//     ],
 24742  	//     "maxSize": "1024MB",
 24743  	//     "protocols": {
 24744  	//       "resumable": {
 24745  	//         "multipart": true,
 24746  	//         "path": "/resumable/upload/dfareporting/v3.1/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
 24747  	//       },
 24748  	//       "simple": {
 24749  	//         "multipart": true,
 24750  	//         "path": "/upload/dfareporting/v3.1/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
 24751  	//       }
 24752  	//     }
 24753  	//   },
 24754  	//   "parameterOrder": [
 24755  	//     "profileId",
 24756  	//     "advertiserId"
 24757  	//   ],
 24758  	//   "parameters": {
 24759  	//     "advertiserId": {
 24760  	//       "description": "Advertiser ID of this creative. This is a required field.",
 24761  	//       "format": "int64",
 24762  	//       "location": "path",
 24763  	//       "required": true,
 24764  	//       "type": "string"
 24765  	//     },
 24766  	//     "profileId": {
 24767  	//       "description": "User profile ID associated with this request.",
 24768  	//       "format": "int64",
 24769  	//       "location": "path",
 24770  	//       "required": true,
 24771  	//       "type": "string"
 24772  	//     }
 24773  	//   },
 24774  	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
 24775  	//   "request": {
 24776  	//     "$ref": "CreativeAssetMetadata"
 24777  	//   },
 24778  	//   "response": {
 24779  	//     "$ref": "CreativeAssetMetadata"
 24780  	//   },
 24781  	//   "scopes": [
 24782  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24783  	//   ],
 24784  	//   "supportsMediaUpload": true
 24785  	// }
 24786  
 24787  }
 24788  
 24789  // method id "dfareporting.creativeFieldValues.delete":
 24790  
 24791  type CreativeFieldValuesDeleteCall struct {
 24792  	s               *Service
 24793  	profileId       int64
 24794  	creativeFieldId int64
 24795  	id              int64
 24796  	urlParams_      gensupport.URLParams
 24797  	ctx_            context.Context
 24798  	header_         http.Header
 24799  }
 24800  
 24801  // Delete: Deletes an existing creative field value.
 24802  func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
 24803  	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24804  	c.profileId = profileId
 24805  	c.creativeFieldId = creativeFieldId
 24806  	c.id = id
 24807  	return c
 24808  }
 24809  
 24810  // Fields allows partial responses to be retrieved. See
 24811  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24812  // for more information.
 24813  func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
 24814  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24815  	return c
 24816  }
 24817  
 24818  // Context sets the context to be used in this call's Do method. Any
 24819  // pending HTTP request will be aborted if the provided context is
 24820  // canceled.
 24821  func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
 24822  	c.ctx_ = ctx
 24823  	return c
 24824  }
 24825  
 24826  // Header returns an http.Header that can be modified by the caller to
 24827  // add HTTP headers to the request.
 24828  func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
 24829  	if c.header_ == nil {
 24830  		c.header_ = make(http.Header)
 24831  	}
 24832  	return c.header_
 24833  }
 24834  
 24835  func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 24836  	reqHeaders := make(http.Header)
 24837  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24838  	for k, v := range c.header_ {
 24839  		reqHeaders[k] = v
 24840  	}
 24841  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24842  	var body io.Reader = nil
 24843  	c.urlParams_.Set("alt", alt)
 24844  	c.urlParams_.Set("prettyPrint", "false")
 24845  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 24846  	urls += "?" + c.urlParams_.Encode()
 24847  	req, err := http.NewRequest("DELETE", urls, body)
 24848  	if err != nil {
 24849  		return nil, err
 24850  	}
 24851  	req.Header = reqHeaders
 24852  	googleapi.Expand(req.URL, map[string]string{
 24853  		"profileId":       strconv.FormatInt(c.profileId, 10),
 24854  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 24855  		"id":              strconv.FormatInt(c.id, 10),
 24856  	})
 24857  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24858  }
 24859  
 24860  // Do executes the "dfareporting.creativeFieldValues.delete" call.
 24861  func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
 24862  	gensupport.SetOptions(c.urlParams_, opts...)
 24863  	res, err := c.doRequest("json")
 24864  	if err != nil {
 24865  		return err
 24866  	}
 24867  	defer googleapi.CloseBody(res)
 24868  	if err := googleapi.CheckResponse(res); err != nil {
 24869  		return err
 24870  	}
 24871  	return nil
 24872  	// {
 24873  	//   "description": "Deletes an existing creative field value.",
 24874  	//   "httpMethod": "DELETE",
 24875  	//   "id": "dfareporting.creativeFieldValues.delete",
 24876  	//   "parameterOrder": [
 24877  	//     "profileId",
 24878  	//     "creativeFieldId",
 24879  	//     "id"
 24880  	//   ],
 24881  	//   "parameters": {
 24882  	//     "creativeFieldId": {
 24883  	//       "description": "Creative field ID for this creative field value.",
 24884  	//       "format": "int64",
 24885  	//       "location": "path",
 24886  	//       "required": true,
 24887  	//       "type": "string"
 24888  	//     },
 24889  	//     "id": {
 24890  	//       "description": "Creative Field Value ID",
 24891  	//       "format": "int64",
 24892  	//       "location": "path",
 24893  	//       "required": true,
 24894  	//       "type": "string"
 24895  	//     },
 24896  	//     "profileId": {
 24897  	//       "description": "User profile ID associated with this request.",
 24898  	//       "format": "int64",
 24899  	//       "location": "path",
 24900  	//       "required": true,
 24901  	//       "type": "string"
 24902  	//     }
 24903  	//   },
 24904  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 24905  	//   "scopes": [
 24906  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24907  	//   ]
 24908  	// }
 24909  
 24910  }
 24911  
 24912  // method id "dfareporting.creativeFieldValues.get":
 24913  
 24914  type CreativeFieldValuesGetCall struct {
 24915  	s               *Service
 24916  	profileId       int64
 24917  	creativeFieldId int64
 24918  	id              int64
 24919  	urlParams_      gensupport.URLParams
 24920  	ifNoneMatch_    string
 24921  	ctx_            context.Context
 24922  	header_         http.Header
 24923  }
 24924  
 24925  // Get: Gets one creative field value by ID.
 24926  func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
 24927  	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24928  	c.profileId = profileId
 24929  	c.creativeFieldId = creativeFieldId
 24930  	c.id = id
 24931  	return c
 24932  }
 24933  
 24934  // Fields allows partial responses to be retrieved. See
 24935  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24936  // for more information.
 24937  func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
 24938  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24939  	return c
 24940  }
 24941  
 24942  // IfNoneMatch sets the optional parameter which makes the operation
 24943  // fail if the object's ETag matches the given value. This is useful for
 24944  // getting updates only after the object has changed since the last
 24945  // request. Use googleapi.IsNotModified to check whether the response
 24946  // error from Do is the result of In-None-Match.
 24947  func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
 24948  	c.ifNoneMatch_ = entityTag
 24949  	return c
 24950  }
 24951  
 24952  // Context sets the context to be used in this call's Do method. Any
 24953  // pending HTTP request will be aborted if the provided context is
 24954  // canceled.
 24955  func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
 24956  	c.ctx_ = ctx
 24957  	return c
 24958  }
 24959  
 24960  // Header returns an http.Header that can be modified by the caller to
 24961  // add HTTP headers to the request.
 24962  func (c *CreativeFieldValuesGetCall) Header() http.Header {
 24963  	if c.header_ == nil {
 24964  		c.header_ = make(http.Header)
 24965  	}
 24966  	return c.header_
 24967  }
 24968  
 24969  func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 24970  	reqHeaders := make(http.Header)
 24971  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24972  	for k, v := range c.header_ {
 24973  		reqHeaders[k] = v
 24974  	}
 24975  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24976  	if c.ifNoneMatch_ != "" {
 24977  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24978  	}
 24979  	var body io.Reader = nil
 24980  	c.urlParams_.Set("alt", alt)
 24981  	c.urlParams_.Set("prettyPrint", "false")
 24982  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 24983  	urls += "?" + c.urlParams_.Encode()
 24984  	req, err := http.NewRequest("GET", urls, body)
 24985  	if err != nil {
 24986  		return nil, err
 24987  	}
 24988  	req.Header = reqHeaders
 24989  	googleapi.Expand(req.URL, map[string]string{
 24990  		"profileId":       strconv.FormatInt(c.profileId, 10),
 24991  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 24992  		"id":              strconv.FormatInt(c.id, 10),
 24993  	})
 24994  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24995  }
 24996  
 24997  // Do executes the "dfareporting.creativeFieldValues.get" call.
 24998  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 24999  // non-2xx status code is an error. Response headers are in either
 25000  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25001  // returned at all) in error.(*googleapi.Error).Header. Use
 25002  // googleapi.IsNotModified to check whether the returned error was
 25003  // because http.StatusNotModified was returned.
 25004  func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25005  	gensupport.SetOptions(c.urlParams_, opts...)
 25006  	res, err := c.doRequest("json")
 25007  	if res != nil && res.StatusCode == http.StatusNotModified {
 25008  		if res.Body != nil {
 25009  			res.Body.Close()
 25010  		}
 25011  		return nil, &googleapi.Error{
 25012  			Code:   res.StatusCode,
 25013  			Header: res.Header,
 25014  		}
 25015  	}
 25016  	if err != nil {
 25017  		return nil, err
 25018  	}
 25019  	defer googleapi.CloseBody(res)
 25020  	if err := googleapi.CheckResponse(res); err != nil {
 25021  		return nil, err
 25022  	}
 25023  	ret := &CreativeFieldValue{
 25024  		ServerResponse: googleapi.ServerResponse{
 25025  			Header:         res.Header,
 25026  			HTTPStatusCode: res.StatusCode,
 25027  		},
 25028  	}
 25029  	target := &ret
 25030  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25031  		return nil, err
 25032  	}
 25033  	return ret, nil
 25034  	// {
 25035  	//   "description": "Gets one creative field value by ID.",
 25036  	//   "httpMethod": "GET",
 25037  	//   "id": "dfareporting.creativeFieldValues.get",
 25038  	//   "parameterOrder": [
 25039  	//     "profileId",
 25040  	//     "creativeFieldId",
 25041  	//     "id"
 25042  	//   ],
 25043  	//   "parameters": {
 25044  	//     "creativeFieldId": {
 25045  	//       "description": "Creative field ID for this creative field value.",
 25046  	//       "format": "int64",
 25047  	//       "location": "path",
 25048  	//       "required": true,
 25049  	//       "type": "string"
 25050  	//     },
 25051  	//     "id": {
 25052  	//       "description": "Creative Field Value ID",
 25053  	//       "format": "int64",
 25054  	//       "location": "path",
 25055  	//       "required": true,
 25056  	//       "type": "string"
 25057  	//     },
 25058  	//     "profileId": {
 25059  	//       "description": "User profile ID associated with this request.",
 25060  	//       "format": "int64",
 25061  	//       "location": "path",
 25062  	//       "required": true,
 25063  	//       "type": "string"
 25064  	//     }
 25065  	//   },
 25066  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 25067  	//   "response": {
 25068  	//     "$ref": "CreativeFieldValue"
 25069  	//   },
 25070  	//   "scopes": [
 25071  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25072  	//   ]
 25073  	// }
 25074  
 25075  }
 25076  
 25077  // method id "dfareporting.creativeFieldValues.insert":
 25078  
 25079  type CreativeFieldValuesInsertCall struct {
 25080  	s                  *Service
 25081  	profileId          int64
 25082  	creativeFieldId    int64
 25083  	creativefieldvalue *CreativeFieldValue
 25084  	urlParams_         gensupport.URLParams
 25085  	ctx_               context.Context
 25086  	header_            http.Header
 25087  }
 25088  
 25089  // Insert: Inserts a new creative field value.
 25090  func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
 25091  	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25092  	c.profileId = profileId
 25093  	c.creativeFieldId = creativeFieldId
 25094  	c.creativefieldvalue = creativefieldvalue
 25095  	return c
 25096  }
 25097  
 25098  // Fields allows partial responses to be retrieved. See
 25099  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25100  // for more information.
 25101  func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
 25102  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25103  	return c
 25104  }
 25105  
 25106  // Context sets the context to be used in this call's Do method. Any
 25107  // pending HTTP request will be aborted if the provided context is
 25108  // canceled.
 25109  func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
 25110  	c.ctx_ = ctx
 25111  	return c
 25112  }
 25113  
 25114  // Header returns an http.Header that can be modified by the caller to
 25115  // add HTTP headers to the request.
 25116  func (c *CreativeFieldValuesInsertCall) Header() http.Header {
 25117  	if c.header_ == nil {
 25118  		c.header_ = make(http.Header)
 25119  	}
 25120  	return c.header_
 25121  }
 25122  
 25123  func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
 25124  	reqHeaders := make(http.Header)
 25125  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25126  	for k, v := range c.header_ {
 25127  		reqHeaders[k] = v
 25128  	}
 25129  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25130  	var body io.Reader = nil
 25131  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 25132  	if err != nil {
 25133  		return nil, err
 25134  	}
 25135  	reqHeaders.Set("Content-Type", "application/json")
 25136  	c.urlParams_.Set("alt", alt)
 25137  	c.urlParams_.Set("prettyPrint", "false")
 25138  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25139  	urls += "?" + c.urlParams_.Encode()
 25140  	req, err := http.NewRequest("POST", urls, body)
 25141  	if err != nil {
 25142  		return nil, err
 25143  	}
 25144  	req.Header = reqHeaders
 25145  	googleapi.Expand(req.URL, map[string]string{
 25146  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25147  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25148  	})
 25149  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25150  }
 25151  
 25152  // Do executes the "dfareporting.creativeFieldValues.insert" call.
 25153  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25154  // non-2xx status code is an error. Response headers are in either
 25155  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25156  // returned at all) in error.(*googleapi.Error).Header. Use
 25157  // googleapi.IsNotModified to check whether the returned error was
 25158  // because http.StatusNotModified was returned.
 25159  func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25160  	gensupport.SetOptions(c.urlParams_, opts...)
 25161  	res, err := c.doRequest("json")
 25162  	if res != nil && res.StatusCode == http.StatusNotModified {
 25163  		if res.Body != nil {
 25164  			res.Body.Close()
 25165  		}
 25166  		return nil, &googleapi.Error{
 25167  			Code:   res.StatusCode,
 25168  			Header: res.Header,
 25169  		}
 25170  	}
 25171  	if err != nil {
 25172  		return nil, err
 25173  	}
 25174  	defer googleapi.CloseBody(res)
 25175  	if err := googleapi.CheckResponse(res); err != nil {
 25176  		return nil, err
 25177  	}
 25178  	ret := &CreativeFieldValue{
 25179  		ServerResponse: googleapi.ServerResponse{
 25180  			Header:         res.Header,
 25181  			HTTPStatusCode: res.StatusCode,
 25182  		},
 25183  	}
 25184  	target := &ret
 25185  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25186  		return nil, err
 25187  	}
 25188  	return ret, nil
 25189  	// {
 25190  	//   "description": "Inserts a new creative field value.",
 25191  	//   "httpMethod": "POST",
 25192  	//   "id": "dfareporting.creativeFieldValues.insert",
 25193  	//   "parameterOrder": [
 25194  	//     "profileId",
 25195  	//     "creativeFieldId"
 25196  	//   ],
 25197  	//   "parameters": {
 25198  	//     "creativeFieldId": {
 25199  	//       "description": "Creative field ID for this creative field value.",
 25200  	//       "format": "int64",
 25201  	//       "location": "path",
 25202  	//       "required": true,
 25203  	//       "type": "string"
 25204  	//     },
 25205  	//     "profileId": {
 25206  	//       "description": "User profile ID associated with this request.",
 25207  	//       "format": "int64",
 25208  	//       "location": "path",
 25209  	//       "required": true,
 25210  	//       "type": "string"
 25211  	//     }
 25212  	//   },
 25213  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25214  	//   "request": {
 25215  	//     "$ref": "CreativeFieldValue"
 25216  	//   },
 25217  	//   "response": {
 25218  	//     "$ref": "CreativeFieldValue"
 25219  	//   },
 25220  	//   "scopes": [
 25221  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25222  	//   ]
 25223  	// }
 25224  
 25225  }
 25226  
 25227  // method id "dfareporting.creativeFieldValues.list":
 25228  
 25229  type CreativeFieldValuesListCall struct {
 25230  	s               *Service
 25231  	profileId       int64
 25232  	creativeFieldId int64
 25233  	urlParams_      gensupport.URLParams
 25234  	ifNoneMatch_    string
 25235  	ctx_            context.Context
 25236  	header_         http.Header
 25237  }
 25238  
 25239  // List: Retrieves a list of creative field values, possibly filtered.
 25240  // This method supports paging.
 25241  func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
 25242  	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25243  	c.profileId = profileId
 25244  	c.creativeFieldId = creativeFieldId
 25245  	return c
 25246  }
 25247  
 25248  // Ids sets the optional parameter "ids": Select only creative field
 25249  // values with these IDs.
 25250  func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
 25251  	var ids_ []string
 25252  	for _, v := range ids {
 25253  		ids_ = append(ids_, fmt.Sprint(v))
 25254  	}
 25255  	c.urlParams_.SetMulti("ids", ids_)
 25256  	return c
 25257  }
 25258  
 25259  // MaxResults sets the optional parameter "maxResults": Maximum number
 25260  // of results to return.
 25261  func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
 25262  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 25263  	return c
 25264  }
 25265  
 25266  // PageToken sets the optional parameter "pageToken": Value of the
 25267  // nextPageToken from the previous result page.
 25268  func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
 25269  	c.urlParams_.Set("pageToken", pageToken)
 25270  	return c
 25271  }
 25272  
 25273  // SearchString sets the optional parameter "searchString": Allows
 25274  // searching for creative field values by their values. Wildcards (e.g.
 25275  // *) are not allowed.
 25276  func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
 25277  	c.urlParams_.Set("searchString", searchString)
 25278  	return c
 25279  }
 25280  
 25281  // SortField sets the optional parameter "sortField": Field by which to
 25282  // sort the list.
 25283  //
 25284  // Possible values:
 25285  //
 25286  //	"ID" (default)
 25287  //	"VALUE"
 25288  func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
 25289  	c.urlParams_.Set("sortField", sortField)
 25290  	return c
 25291  }
 25292  
 25293  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 25294  // results.
 25295  //
 25296  // Possible values:
 25297  //
 25298  //	"ASCENDING" (default)
 25299  //	"DESCENDING"
 25300  func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
 25301  	c.urlParams_.Set("sortOrder", sortOrder)
 25302  	return c
 25303  }
 25304  
 25305  // Fields allows partial responses to be retrieved. See
 25306  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25307  // for more information.
 25308  func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
 25309  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25310  	return c
 25311  }
 25312  
 25313  // IfNoneMatch sets the optional parameter which makes the operation
 25314  // fail if the object's ETag matches the given value. This is useful for
 25315  // getting updates only after the object has changed since the last
 25316  // request. Use googleapi.IsNotModified to check whether the response
 25317  // error from Do is the result of In-None-Match.
 25318  func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
 25319  	c.ifNoneMatch_ = entityTag
 25320  	return c
 25321  }
 25322  
 25323  // Context sets the context to be used in this call's Do method. Any
 25324  // pending HTTP request will be aborted if the provided context is
 25325  // canceled.
 25326  func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
 25327  	c.ctx_ = ctx
 25328  	return c
 25329  }
 25330  
 25331  // Header returns an http.Header that can be modified by the caller to
 25332  // add HTTP headers to the request.
 25333  func (c *CreativeFieldValuesListCall) Header() http.Header {
 25334  	if c.header_ == nil {
 25335  		c.header_ = make(http.Header)
 25336  	}
 25337  	return c.header_
 25338  }
 25339  
 25340  func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 25341  	reqHeaders := make(http.Header)
 25342  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25343  	for k, v := range c.header_ {
 25344  		reqHeaders[k] = v
 25345  	}
 25346  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25347  	if c.ifNoneMatch_ != "" {
 25348  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25349  	}
 25350  	var body io.Reader = nil
 25351  	c.urlParams_.Set("alt", alt)
 25352  	c.urlParams_.Set("prettyPrint", "false")
 25353  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25354  	urls += "?" + c.urlParams_.Encode()
 25355  	req, err := http.NewRequest("GET", urls, body)
 25356  	if err != nil {
 25357  		return nil, err
 25358  	}
 25359  	req.Header = reqHeaders
 25360  	googleapi.Expand(req.URL, map[string]string{
 25361  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25362  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25363  	})
 25364  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25365  }
 25366  
 25367  // Do executes the "dfareporting.creativeFieldValues.list" call.
 25368  // Exactly one of *CreativeFieldValuesListResponse or error will be
 25369  // non-nil. Any non-2xx status code is an error. Response headers are in
 25370  // either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
 25371  // a response was returned at all) in error.(*googleapi.Error).Header.
 25372  // Use googleapi.IsNotModified to check whether the returned error was
 25373  // because http.StatusNotModified was returned.
 25374  func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
 25375  	gensupport.SetOptions(c.urlParams_, opts...)
 25376  	res, err := c.doRequest("json")
 25377  	if res != nil && res.StatusCode == http.StatusNotModified {
 25378  		if res.Body != nil {
 25379  			res.Body.Close()
 25380  		}
 25381  		return nil, &googleapi.Error{
 25382  			Code:   res.StatusCode,
 25383  			Header: res.Header,
 25384  		}
 25385  	}
 25386  	if err != nil {
 25387  		return nil, err
 25388  	}
 25389  	defer googleapi.CloseBody(res)
 25390  	if err := googleapi.CheckResponse(res); err != nil {
 25391  		return nil, err
 25392  	}
 25393  	ret := &CreativeFieldValuesListResponse{
 25394  		ServerResponse: googleapi.ServerResponse{
 25395  			Header:         res.Header,
 25396  			HTTPStatusCode: res.StatusCode,
 25397  		},
 25398  	}
 25399  	target := &ret
 25400  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25401  		return nil, err
 25402  	}
 25403  	return ret, nil
 25404  	// {
 25405  	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
 25406  	//   "httpMethod": "GET",
 25407  	//   "id": "dfareporting.creativeFieldValues.list",
 25408  	//   "parameterOrder": [
 25409  	//     "profileId",
 25410  	//     "creativeFieldId"
 25411  	//   ],
 25412  	//   "parameters": {
 25413  	//     "creativeFieldId": {
 25414  	//       "description": "Creative field ID for this creative field value.",
 25415  	//       "format": "int64",
 25416  	//       "location": "path",
 25417  	//       "required": true,
 25418  	//       "type": "string"
 25419  	//     },
 25420  	//     "ids": {
 25421  	//       "description": "Select only creative field values with these IDs.",
 25422  	//       "format": "int64",
 25423  	//       "location": "query",
 25424  	//       "repeated": true,
 25425  	//       "type": "string"
 25426  	//     },
 25427  	//     "maxResults": {
 25428  	//       "default": "1000",
 25429  	//       "description": "Maximum number of results to return.",
 25430  	//       "format": "int32",
 25431  	//       "location": "query",
 25432  	//       "maximum": "1000",
 25433  	//       "minimum": "0",
 25434  	//       "type": "integer"
 25435  	//     },
 25436  	//     "pageToken": {
 25437  	//       "description": "Value of the nextPageToken from the previous result page.",
 25438  	//       "location": "query",
 25439  	//       "type": "string"
 25440  	//     },
 25441  	//     "profileId": {
 25442  	//       "description": "User profile ID associated with this request.",
 25443  	//       "format": "int64",
 25444  	//       "location": "path",
 25445  	//       "required": true,
 25446  	//       "type": "string"
 25447  	//     },
 25448  	//     "searchString": {
 25449  	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
 25450  	//       "location": "query",
 25451  	//       "type": "string"
 25452  	//     },
 25453  	//     "sortField": {
 25454  	//       "default": "ID",
 25455  	//       "description": "Field by which to sort the list.",
 25456  	//       "enum": [
 25457  	//         "ID",
 25458  	//         "VALUE"
 25459  	//       ],
 25460  	//       "enumDescriptions": [
 25461  	//         "",
 25462  	//         ""
 25463  	//       ],
 25464  	//       "location": "query",
 25465  	//       "type": "string"
 25466  	//     },
 25467  	//     "sortOrder": {
 25468  	//       "default": "ASCENDING",
 25469  	//       "description": "Order of sorted results.",
 25470  	//       "enum": [
 25471  	//         "ASCENDING",
 25472  	//         "DESCENDING"
 25473  	//       ],
 25474  	//       "enumDescriptions": [
 25475  	//         "",
 25476  	//         ""
 25477  	//       ],
 25478  	//       "location": "query",
 25479  	//       "type": "string"
 25480  	//     }
 25481  	//   },
 25482  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25483  	//   "response": {
 25484  	//     "$ref": "CreativeFieldValuesListResponse"
 25485  	//   },
 25486  	//   "scopes": [
 25487  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25488  	//   ]
 25489  	// }
 25490  
 25491  }
 25492  
 25493  // Pages invokes f for each page of results.
 25494  // A non-nil error returned from f will halt the iteration.
 25495  // The provided context supersedes any context provided to the Context method.
 25496  func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
 25497  	c.ctx_ = ctx
 25498  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 25499  	for {
 25500  		x, err := c.Do()
 25501  		if err != nil {
 25502  			return err
 25503  		}
 25504  		if err := f(x); err != nil {
 25505  			return err
 25506  		}
 25507  		if x.NextPageToken == "" {
 25508  			return nil
 25509  		}
 25510  		c.PageToken(x.NextPageToken)
 25511  	}
 25512  }
 25513  
 25514  // method id "dfareporting.creativeFieldValues.patch":
 25515  
 25516  type CreativeFieldValuesPatchCall struct {
 25517  	s                  *Service
 25518  	profileId          int64
 25519  	creativeFieldId    int64
 25520  	creativefieldvalue *CreativeFieldValue
 25521  	urlParams_         gensupport.URLParams
 25522  	ctx_               context.Context
 25523  	header_            http.Header
 25524  }
 25525  
 25526  // Patch: Updates an existing creative field value. This method supports
 25527  // patch semantics.
 25528  func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
 25529  	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25530  	c.profileId = profileId
 25531  	c.creativeFieldId = creativeFieldId
 25532  	c.urlParams_.Set("id", fmt.Sprint(id))
 25533  	c.creativefieldvalue = creativefieldvalue
 25534  	return c
 25535  }
 25536  
 25537  // Fields allows partial responses to be retrieved. See
 25538  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25539  // for more information.
 25540  func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
 25541  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25542  	return c
 25543  }
 25544  
 25545  // Context sets the context to be used in this call's Do method. Any
 25546  // pending HTTP request will be aborted if the provided context is
 25547  // canceled.
 25548  func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
 25549  	c.ctx_ = ctx
 25550  	return c
 25551  }
 25552  
 25553  // Header returns an http.Header that can be modified by the caller to
 25554  // add HTTP headers to the request.
 25555  func (c *CreativeFieldValuesPatchCall) Header() http.Header {
 25556  	if c.header_ == nil {
 25557  		c.header_ = make(http.Header)
 25558  	}
 25559  	return c.header_
 25560  }
 25561  
 25562  func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
 25563  	reqHeaders := make(http.Header)
 25564  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25565  	for k, v := range c.header_ {
 25566  		reqHeaders[k] = v
 25567  	}
 25568  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25569  	var body io.Reader = nil
 25570  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 25571  	if err != nil {
 25572  		return nil, err
 25573  	}
 25574  	reqHeaders.Set("Content-Type", "application/json")
 25575  	c.urlParams_.Set("alt", alt)
 25576  	c.urlParams_.Set("prettyPrint", "false")
 25577  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25578  	urls += "?" + c.urlParams_.Encode()
 25579  	req, err := http.NewRequest("PATCH", urls, body)
 25580  	if err != nil {
 25581  		return nil, err
 25582  	}
 25583  	req.Header = reqHeaders
 25584  	googleapi.Expand(req.URL, map[string]string{
 25585  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25586  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25587  	})
 25588  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25589  }
 25590  
 25591  // Do executes the "dfareporting.creativeFieldValues.patch" call.
 25592  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25593  // non-2xx status code is an error. Response headers are in either
 25594  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25595  // returned at all) in error.(*googleapi.Error).Header. Use
 25596  // googleapi.IsNotModified to check whether the returned error was
 25597  // because http.StatusNotModified was returned.
 25598  func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25599  	gensupport.SetOptions(c.urlParams_, opts...)
 25600  	res, err := c.doRequest("json")
 25601  	if res != nil && res.StatusCode == http.StatusNotModified {
 25602  		if res.Body != nil {
 25603  			res.Body.Close()
 25604  		}
 25605  		return nil, &googleapi.Error{
 25606  			Code:   res.StatusCode,
 25607  			Header: res.Header,
 25608  		}
 25609  	}
 25610  	if err != nil {
 25611  		return nil, err
 25612  	}
 25613  	defer googleapi.CloseBody(res)
 25614  	if err := googleapi.CheckResponse(res); err != nil {
 25615  		return nil, err
 25616  	}
 25617  	ret := &CreativeFieldValue{
 25618  		ServerResponse: googleapi.ServerResponse{
 25619  			Header:         res.Header,
 25620  			HTTPStatusCode: res.StatusCode,
 25621  		},
 25622  	}
 25623  	target := &ret
 25624  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25625  		return nil, err
 25626  	}
 25627  	return ret, nil
 25628  	// {
 25629  	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
 25630  	//   "httpMethod": "PATCH",
 25631  	//   "id": "dfareporting.creativeFieldValues.patch",
 25632  	//   "parameterOrder": [
 25633  	//     "profileId",
 25634  	//     "creativeFieldId",
 25635  	//     "id"
 25636  	//   ],
 25637  	//   "parameters": {
 25638  	//     "creativeFieldId": {
 25639  	//       "description": "Creative field ID for this creative field value.",
 25640  	//       "format": "int64",
 25641  	//       "location": "path",
 25642  	//       "required": true,
 25643  	//       "type": "string"
 25644  	//     },
 25645  	//     "id": {
 25646  	//       "description": "Creative Field Value ID",
 25647  	//       "format": "int64",
 25648  	//       "location": "query",
 25649  	//       "required": true,
 25650  	//       "type": "string"
 25651  	//     },
 25652  	//     "profileId": {
 25653  	//       "description": "User profile ID associated with this request.",
 25654  	//       "format": "int64",
 25655  	//       "location": "path",
 25656  	//       "required": true,
 25657  	//       "type": "string"
 25658  	//     }
 25659  	//   },
 25660  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25661  	//   "request": {
 25662  	//     "$ref": "CreativeFieldValue"
 25663  	//   },
 25664  	//   "response": {
 25665  	//     "$ref": "CreativeFieldValue"
 25666  	//   },
 25667  	//   "scopes": [
 25668  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25669  	//   ]
 25670  	// }
 25671  
 25672  }
 25673  
 25674  // method id "dfareporting.creativeFieldValues.update":
 25675  
 25676  type CreativeFieldValuesUpdateCall struct {
 25677  	s                  *Service
 25678  	profileId          int64
 25679  	creativeFieldId    int64
 25680  	creativefieldvalue *CreativeFieldValue
 25681  	urlParams_         gensupport.URLParams
 25682  	ctx_               context.Context
 25683  	header_            http.Header
 25684  }
 25685  
 25686  // Update: Updates an existing creative field value.
 25687  func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
 25688  	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25689  	c.profileId = profileId
 25690  	c.creativeFieldId = creativeFieldId
 25691  	c.creativefieldvalue = creativefieldvalue
 25692  	return c
 25693  }
 25694  
 25695  // Fields allows partial responses to be retrieved. See
 25696  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25697  // for more information.
 25698  func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
 25699  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25700  	return c
 25701  }
 25702  
 25703  // Context sets the context to be used in this call's Do method. Any
 25704  // pending HTTP request will be aborted if the provided context is
 25705  // canceled.
 25706  func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
 25707  	c.ctx_ = ctx
 25708  	return c
 25709  }
 25710  
 25711  // Header returns an http.Header that can be modified by the caller to
 25712  // add HTTP headers to the request.
 25713  func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
 25714  	if c.header_ == nil {
 25715  		c.header_ = make(http.Header)
 25716  	}
 25717  	return c.header_
 25718  }
 25719  
 25720  func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
 25721  	reqHeaders := make(http.Header)
 25722  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25723  	for k, v := range c.header_ {
 25724  		reqHeaders[k] = v
 25725  	}
 25726  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25727  	var body io.Reader = nil
 25728  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 25729  	if err != nil {
 25730  		return nil, err
 25731  	}
 25732  	reqHeaders.Set("Content-Type", "application/json")
 25733  	c.urlParams_.Set("alt", alt)
 25734  	c.urlParams_.Set("prettyPrint", "false")
 25735  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25736  	urls += "?" + c.urlParams_.Encode()
 25737  	req, err := http.NewRequest("PUT", urls, body)
 25738  	if err != nil {
 25739  		return nil, err
 25740  	}
 25741  	req.Header = reqHeaders
 25742  	googleapi.Expand(req.URL, map[string]string{
 25743  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25744  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25745  	})
 25746  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25747  }
 25748  
 25749  // Do executes the "dfareporting.creativeFieldValues.update" call.
 25750  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25751  // non-2xx status code is an error. Response headers are in either
 25752  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25753  // returned at all) in error.(*googleapi.Error).Header. Use
 25754  // googleapi.IsNotModified to check whether the returned error was
 25755  // because http.StatusNotModified was returned.
 25756  func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25757  	gensupport.SetOptions(c.urlParams_, opts...)
 25758  	res, err := c.doRequest("json")
 25759  	if res != nil && res.StatusCode == http.StatusNotModified {
 25760  		if res.Body != nil {
 25761  			res.Body.Close()
 25762  		}
 25763  		return nil, &googleapi.Error{
 25764  			Code:   res.StatusCode,
 25765  			Header: res.Header,
 25766  		}
 25767  	}
 25768  	if err != nil {
 25769  		return nil, err
 25770  	}
 25771  	defer googleapi.CloseBody(res)
 25772  	if err := googleapi.CheckResponse(res); err != nil {
 25773  		return nil, err
 25774  	}
 25775  	ret := &CreativeFieldValue{
 25776  		ServerResponse: googleapi.ServerResponse{
 25777  			Header:         res.Header,
 25778  			HTTPStatusCode: res.StatusCode,
 25779  		},
 25780  	}
 25781  	target := &ret
 25782  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25783  		return nil, err
 25784  	}
 25785  	return ret, nil
 25786  	// {
 25787  	//   "description": "Updates an existing creative field value.",
 25788  	//   "httpMethod": "PUT",
 25789  	//   "id": "dfareporting.creativeFieldValues.update",
 25790  	//   "parameterOrder": [
 25791  	//     "profileId",
 25792  	//     "creativeFieldId"
 25793  	//   ],
 25794  	//   "parameters": {
 25795  	//     "creativeFieldId": {
 25796  	//       "description": "Creative field ID for this creative field value.",
 25797  	//       "format": "int64",
 25798  	//       "location": "path",
 25799  	//       "required": true,
 25800  	//       "type": "string"
 25801  	//     },
 25802  	//     "profileId": {
 25803  	//       "description": "User profile ID associated with this request.",
 25804  	//       "format": "int64",
 25805  	//       "location": "path",
 25806  	//       "required": true,
 25807  	//       "type": "string"
 25808  	//     }
 25809  	//   },
 25810  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25811  	//   "request": {
 25812  	//     "$ref": "CreativeFieldValue"
 25813  	//   },
 25814  	//   "response": {
 25815  	//     "$ref": "CreativeFieldValue"
 25816  	//   },
 25817  	//   "scopes": [
 25818  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25819  	//   ]
 25820  	// }
 25821  
 25822  }
 25823  
 25824  // method id "dfareporting.creativeFields.delete":
 25825  
 25826  type CreativeFieldsDeleteCall struct {
 25827  	s          *Service
 25828  	profileId  int64
 25829  	id         int64
 25830  	urlParams_ gensupport.URLParams
 25831  	ctx_       context.Context
 25832  	header_    http.Header
 25833  }
 25834  
 25835  // Delete: Deletes an existing creative field.
 25836  func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
 25837  	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25838  	c.profileId = profileId
 25839  	c.id = id
 25840  	return c
 25841  }
 25842  
 25843  // Fields allows partial responses to be retrieved. See
 25844  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25845  // for more information.
 25846  func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
 25847  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25848  	return c
 25849  }
 25850  
 25851  // Context sets the context to be used in this call's Do method. Any
 25852  // pending HTTP request will be aborted if the provided context is
 25853  // canceled.
 25854  func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
 25855  	c.ctx_ = ctx
 25856  	return c
 25857  }
 25858  
 25859  // Header returns an http.Header that can be modified by the caller to
 25860  // add HTTP headers to the request.
 25861  func (c *CreativeFieldsDeleteCall) Header() http.Header {
 25862  	if c.header_ == nil {
 25863  		c.header_ = make(http.Header)
 25864  	}
 25865  	return c.header_
 25866  }
 25867  
 25868  func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 25869  	reqHeaders := make(http.Header)
 25870  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25871  	for k, v := range c.header_ {
 25872  		reqHeaders[k] = v
 25873  	}
 25874  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25875  	var body io.Reader = nil
 25876  	c.urlParams_.Set("alt", alt)
 25877  	c.urlParams_.Set("prettyPrint", "false")
 25878  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 25879  	urls += "?" + c.urlParams_.Encode()
 25880  	req, err := http.NewRequest("DELETE", urls, body)
 25881  	if err != nil {
 25882  		return nil, err
 25883  	}
 25884  	req.Header = reqHeaders
 25885  	googleapi.Expand(req.URL, map[string]string{
 25886  		"profileId": strconv.FormatInt(c.profileId, 10),
 25887  		"id":        strconv.FormatInt(c.id, 10),
 25888  	})
 25889  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25890  }
 25891  
 25892  // Do executes the "dfareporting.creativeFields.delete" call.
 25893  func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
 25894  	gensupport.SetOptions(c.urlParams_, opts...)
 25895  	res, err := c.doRequest("json")
 25896  	if err != nil {
 25897  		return err
 25898  	}
 25899  	defer googleapi.CloseBody(res)
 25900  	if err := googleapi.CheckResponse(res); err != nil {
 25901  		return err
 25902  	}
 25903  	return nil
 25904  	// {
 25905  	//   "description": "Deletes an existing creative field.",
 25906  	//   "httpMethod": "DELETE",
 25907  	//   "id": "dfareporting.creativeFields.delete",
 25908  	//   "parameterOrder": [
 25909  	//     "profileId",
 25910  	//     "id"
 25911  	//   ],
 25912  	//   "parameters": {
 25913  	//     "id": {
 25914  	//       "description": "Creative Field ID",
 25915  	//       "format": "int64",
 25916  	//       "location": "path",
 25917  	//       "required": true,
 25918  	//       "type": "string"
 25919  	//     },
 25920  	//     "profileId": {
 25921  	//       "description": "User profile ID associated with this request.",
 25922  	//       "format": "int64",
 25923  	//       "location": "path",
 25924  	//       "required": true,
 25925  	//       "type": "string"
 25926  	//     }
 25927  	//   },
 25928  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 25929  	//   "scopes": [
 25930  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25931  	//   ]
 25932  	// }
 25933  
 25934  }
 25935  
 25936  // method id "dfareporting.creativeFields.get":
 25937  
 25938  type CreativeFieldsGetCall struct {
 25939  	s            *Service
 25940  	profileId    int64
 25941  	id           int64
 25942  	urlParams_   gensupport.URLParams
 25943  	ifNoneMatch_ string
 25944  	ctx_         context.Context
 25945  	header_      http.Header
 25946  }
 25947  
 25948  // Get: Gets one creative field by ID.
 25949  func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
 25950  	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25951  	c.profileId = profileId
 25952  	c.id = id
 25953  	return c
 25954  }
 25955  
 25956  // Fields allows partial responses to be retrieved. See
 25957  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25958  // for more information.
 25959  func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
 25960  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25961  	return c
 25962  }
 25963  
 25964  // IfNoneMatch sets the optional parameter which makes the operation
 25965  // fail if the object's ETag matches the given value. This is useful for
 25966  // getting updates only after the object has changed since the last
 25967  // request. Use googleapi.IsNotModified to check whether the response
 25968  // error from Do is the result of In-None-Match.
 25969  func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
 25970  	c.ifNoneMatch_ = entityTag
 25971  	return c
 25972  }
 25973  
 25974  // Context sets the context to be used in this call's Do method. Any
 25975  // pending HTTP request will be aborted if the provided context is
 25976  // canceled.
 25977  func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
 25978  	c.ctx_ = ctx
 25979  	return c
 25980  }
 25981  
 25982  // Header returns an http.Header that can be modified by the caller to
 25983  // add HTTP headers to the request.
 25984  func (c *CreativeFieldsGetCall) Header() http.Header {
 25985  	if c.header_ == nil {
 25986  		c.header_ = make(http.Header)
 25987  	}
 25988  	return c.header_
 25989  }
 25990  
 25991  func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 25992  	reqHeaders := make(http.Header)
 25993  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25994  	for k, v := range c.header_ {
 25995  		reqHeaders[k] = v
 25996  	}
 25997  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25998  	if c.ifNoneMatch_ != "" {
 25999  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26000  	}
 26001  	var body io.Reader = nil
 26002  	c.urlParams_.Set("alt", alt)
 26003  	c.urlParams_.Set("prettyPrint", "false")
 26004  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 26005  	urls += "?" + c.urlParams_.Encode()
 26006  	req, err := http.NewRequest("GET", urls, body)
 26007  	if err != nil {
 26008  		return nil, err
 26009  	}
 26010  	req.Header = reqHeaders
 26011  	googleapi.Expand(req.URL, map[string]string{
 26012  		"profileId": strconv.FormatInt(c.profileId, 10),
 26013  		"id":        strconv.FormatInt(c.id, 10),
 26014  	})
 26015  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26016  }
 26017  
 26018  // Do executes the "dfareporting.creativeFields.get" call.
 26019  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26020  // status code is an error. Response headers are in either
 26021  // *CreativeField.ServerResponse.Header or (if a response was returned
 26022  // at all) in error.(*googleapi.Error).Header. Use
 26023  // googleapi.IsNotModified to check whether the returned error was
 26024  // because http.StatusNotModified was returned.
 26025  func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26026  	gensupport.SetOptions(c.urlParams_, opts...)
 26027  	res, err := c.doRequest("json")
 26028  	if res != nil && res.StatusCode == http.StatusNotModified {
 26029  		if res.Body != nil {
 26030  			res.Body.Close()
 26031  		}
 26032  		return nil, &googleapi.Error{
 26033  			Code:   res.StatusCode,
 26034  			Header: res.Header,
 26035  		}
 26036  	}
 26037  	if err != nil {
 26038  		return nil, err
 26039  	}
 26040  	defer googleapi.CloseBody(res)
 26041  	if err := googleapi.CheckResponse(res); err != nil {
 26042  		return nil, err
 26043  	}
 26044  	ret := &CreativeField{
 26045  		ServerResponse: googleapi.ServerResponse{
 26046  			Header:         res.Header,
 26047  			HTTPStatusCode: res.StatusCode,
 26048  		},
 26049  	}
 26050  	target := &ret
 26051  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26052  		return nil, err
 26053  	}
 26054  	return ret, nil
 26055  	// {
 26056  	//   "description": "Gets one creative field by ID.",
 26057  	//   "httpMethod": "GET",
 26058  	//   "id": "dfareporting.creativeFields.get",
 26059  	//   "parameterOrder": [
 26060  	//     "profileId",
 26061  	//     "id"
 26062  	//   ],
 26063  	//   "parameters": {
 26064  	//     "id": {
 26065  	//       "description": "Creative Field ID",
 26066  	//       "format": "int64",
 26067  	//       "location": "path",
 26068  	//       "required": true,
 26069  	//       "type": "string"
 26070  	//     },
 26071  	//     "profileId": {
 26072  	//       "description": "User profile ID associated with this request.",
 26073  	//       "format": "int64",
 26074  	//       "location": "path",
 26075  	//       "required": true,
 26076  	//       "type": "string"
 26077  	//     }
 26078  	//   },
 26079  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 26080  	//   "response": {
 26081  	//     "$ref": "CreativeField"
 26082  	//   },
 26083  	//   "scopes": [
 26084  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26085  	//   ]
 26086  	// }
 26087  
 26088  }
 26089  
 26090  // method id "dfareporting.creativeFields.insert":
 26091  
 26092  type CreativeFieldsInsertCall struct {
 26093  	s             *Service
 26094  	profileId     int64
 26095  	creativefield *CreativeField
 26096  	urlParams_    gensupport.URLParams
 26097  	ctx_          context.Context
 26098  	header_       http.Header
 26099  }
 26100  
 26101  // Insert: Inserts a new creative field.
 26102  func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
 26103  	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26104  	c.profileId = profileId
 26105  	c.creativefield = creativefield
 26106  	return c
 26107  }
 26108  
 26109  // Fields allows partial responses to be retrieved. See
 26110  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26111  // for more information.
 26112  func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
 26113  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26114  	return c
 26115  }
 26116  
 26117  // Context sets the context to be used in this call's Do method. Any
 26118  // pending HTTP request will be aborted if the provided context is
 26119  // canceled.
 26120  func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
 26121  	c.ctx_ = ctx
 26122  	return c
 26123  }
 26124  
 26125  // Header returns an http.Header that can be modified by the caller to
 26126  // add HTTP headers to the request.
 26127  func (c *CreativeFieldsInsertCall) Header() http.Header {
 26128  	if c.header_ == nil {
 26129  		c.header_ = make(http.Header)
 26130  	}
 26131  	return c.header_
 26132  }
 26133  
 26134  func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
 26135  	reqHeaders := make(http.Header)
 26136  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26137  	for k, v := range c.header_ {
 26138  		reqHeaders[k] = v
 26139  	}
 26140  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26141  	var body io.Reader = nil
 26142  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 26143  	if err != nil {
 26144  		return nil, err
 26145  	}
 26146  	reqHeaders.Set("Content-Type", "application/json")
 26147  	c.urlParams_.Set("alt", alt)
 26148  	c.urlParams_.Set("prettyPrint", "false")
 26149  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26150  	urls += "?" + c.urlParams_.Encode()
 26151  	req, err := http.NewRequest("POST", urls, body)
 26152  	if err != nil {
 26153  		return nil, err
 26154  	}
 26155  	req.Header = reqHeaders
 26156  	googleapi.Expand(req.URL, map[string]string{
 26157  		"profileId": strconv.FormatInt(c.profileId, 10),
 26158  	})
 26159  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26160  }
 26161  
 26162  // Do executes the "dfareporting.creativeFields.insert" call.
 26163  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26164  // status code is an error. Response headers are in either
 26165  // *CreativeField.ServerResponse.Header or (if a response was returned
 26166  // at all) in error.(*googleapi.Error).Header. Use
 26167  // googleapi.IsNotModified to check whether the returned error was
 26168  // because http.StatusNotModified was returned.
 26169  func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26170  	gensupport.SetOptions(c.urlParams_, opts...)
 26171  	res, err := c.doRequest("json")
 26172  	if res != nil && res.StatusCode == http.StatusNotModified {
 26173  		if res.Body != nil {
 26174  			res.Body.Close()
 26175  		}
 26176  		return nil, &googleapi.Error{
 26177  			Code:   res.StatusCode,
 26178  			Header: res.Header,
 26179  		}
 26180  	}
 26181  	if err != nil {
 26182  		return nil, err
 26183  	}
 26184  	defer googleapi.CloseBody(res)
 26185  	if err := googleapi.CheckResponse(res); err != nil {
 26186  		return nil, err
 26187  	}
 26188  	ret := &CreativeField{
 26189  		ServerResponse: googleapi.ServerResponse{
 26190  			Header:         res.Header,
 26191  			HTTPStatusCode: res.StatusCode,
 26192  		},
 26193  	}
 26194  	target := &ret
 26195  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26196  		return nil, err
 26197  	}
 26198  	return ret, nil
 26199  	// {
 26200  	//   "description": "Inserts a new creative field.",
 26201  	//   "httpMethod": "POST",
 26202  	//   "id": "dfareporting.creativeFields.insert",
 26203  	//   "parameterOrder": [
 26204  	//     "profileId"
 26205  	//   ],
 26206  	//   "parameters": {
 26207  	//     "profileId": {
 26208  	//       "description": "User profile ID associated with this request.",
 26209  	//       "format": "int64",
 26210  	//       "location": "path",
 26211  	//       "required": true,
 26212  	//       "type": "string"
 26213  	//     }
 26214  	//   },
 26215  	//   "path": "userprofiles/{profileId}/creativeFields",
 26216  	//   "request": {
 26217  	//     "$ref": "CreativeField"
 26218  	//   },
 26219  	//   "response": {
 26220  	//     "$ref": "CreativeField"
 26221  	//   },
 26222  	//   "scopes": [
 26223  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26224  	//   ]
 26225  	// }
 26226  
 26227  }
 26228  
 26229  // method id "dfareporting.creativeFields.list":
 26230  
 26231  type CreativeFieldsListCall struct {
 26232  	s            *Service
 26233  	profileId    int64
 26234  	urlParams_   gensupport.URLParams
 26235  	ifNoneMatch_ string
 26236  	ctx_         context.Context
 26237  	header_      http.Header
 26238  }
 26239  
 26240  // List: Retrieves a list of creative fields, possibly filtered. This
 26241  // method supports paging.
 26242  func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
 26243  	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26244  	c.profileId = profileId
 26245  	return c
 26246  }
 26247  
 26248  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 26249  // only creative fields that belong to these advertisers.
 26250  func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
 26251  	var advertiserIds_ []string
 26252  	for _, v := range advertiserIds {
 26253  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 26254  	}
 26255  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 26256  	return c
 26257  }
 26258  
 26259  // Ids sets the optional parameter "ids": Select only creative fields
 26260  // with these IDs.
 26261  func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
 26262  	var ids_ []string
 26263  	for _, v := range ids {
 26264  		ids_ = append(ids_, fmt.Sprint(v))
 26265  	}
 26266  	c.urlParams_.SetMulti("ids", ids_)
 26267  	return c
 26268  }
 26269  
 26270  // MaxResults sets the optional parameter "maxResults": Maximum number
 26271  // of results to return.
 26272  func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
 26273  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 26274  	return c
 26275  }
 26276  
 26277  // PageToken sets the optional parameter "pageToken": Value of the
 26278  // nextPageToken from the previous result page.
 26279  func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
 26280  	c.urlParams_.Set("pageToken", pageToken)
 26281  	return c
 26282  }
 26283  
 26284  // SearchString sets the optional parameter "searchString": Allows
 26285  // searching for creative fields by name or ID. Wildcards (*) are
 26286  // allowed. For example, "creativefield*2015" will return creative
 26287  // fields with names like "creativefield June 2015", "creativefield
 26288  // April 2015", or simply "creativefield 2015". Most of the searches
 26289  // also add wild-cards implicitly at the start and the end of the search
 26290  // string. For example, a search string of "creativefield" will match
 26291  // creative fields with the name "my creativefield", "creativefield
 26292  // 2015", or simply "creativefield".
 26293  func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
 26294  	c.urlParams_.Set("searchString", searchString)
 26295  	return c
 26296  }
 26297  
 26298  // SortField sets the optional parameter "sortField": Field by which to
 26299  // sort the list.
 26300  //
 26301  // Possible values:
 26302  //
 26303  //	"ID" (default)
 26304  //	"NAME"
 26305  func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
 26306  	c.urlParams_.Set("sortField", sortField)
 26307  	return c
 26308  }
 26309  
 26310  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 26311  // results.
 26312  //
 26313  // Possible values:
 26314  //
 26315  //	"ASCENDING" (default)
 26316  //	"DESCENDING"
 26317  func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
 26318  	c.urlParams_.Set("sortOrder", sortOrder)
 26319  	return c
 26320  }
 26321  
 26322  // Fields allows partial responses to be retrieved. See
 26323  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26324  // for more information.
 26325  func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
 26326  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26327  	return c
 26328  }
 26329  
 26330  // IfNoneMatch sets the optional parameter which makes the operation
 26331  // fail if the object's ETag matches the given value. This is useful for
 26332  // getting updates only after the object has changed since the last
 26333  // request. Use googleapi.IsNotModified to check whether the response
 26334  // error from Do is the result of In-None-Match.
 26335  func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
 26336  	c.ifNoneMatch_ = entityTag
 26337  	return c
 26338  }
 26339  
 26340  // Context sets the context to be used in this call's Do method. Any
 26341  // pending HTTP request will be aborted if the provided context is
 26342  // canceled.
 26343  func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
 26344  	c.ctx_ = ctx
 26345  	return c
 26346  }
 26347  
 26348  // Header returns an http.Header that can be modified by the caller to
 26349  // add HTTP headers to the request.
 26350  func (c *CreativeFieldsListCall) Header() http.Header {
 26351  	if c.header_ == nil {
 26352  		c.header_ = make(http.Header)
 26353  	}
 26354  	return c.header_
 26355  }
 26356  
 26357  func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 26358  	reqHeaders := make(http.Header)
 26359  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26360  	for k, v := range c.header_ {
 26361  		reqHeaders[k] = v
 26362  	}
 26363  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26364  	if c.ifNoneMatch_ != "" {
 26365  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26366  	}
 26367  	var body io.Reader = nil
 26368  	c.urlParams_.Set("alt", alt)
 26369  	c.urlParams_.Set("prettyPrint", "false")
 26370  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26371  	urls += "?" + c.urlParams_.Encode()
 26372  	req, err := http.NewRequest("GET", urls, body)
 26373  	if err != nil {
 26374  		return nil, err
 26375  	}
 26376  	req.Header = reqHeaders
 26377  	googleapi.Expand(req.URL, map[string]string{
 26378  		"profileId": strconv.FormatInt(c.profileId, 10),
 26379  	})
 26380  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26381  }
 26382  
 26383  // Do executes the "dfareporting.creativeFields.list" call.
 26384  // Exactly one of *CreativeFieldsListResponse or error will be non-nil.
 26385  // Any non-2xx status code is an error. Response headers are in either
 26386  // *CreativeFieldsListResponse.ServerResponse.Header or (if a response
 26387  // was returned at all) in error.(*googleapi.Error).Header. Use
 26388  // googleapi.IsNotModified to check whether the returned error was
 26389  // because http.StatusNotModified was returned.
 26390  func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
 26391  	gensupport.SetOptions(c.urlParams_, opts...)
 26392  	res, err := c.doRequest("json")
 26393  	if res != nil && res.StatusCode == http.StatusNotModified {
 26394  		if res.Body != nil {
 26395  			res.Body.Close()
 26396  		}
 26397  		return nil, &googleapi.Error{
 26398  			Code:   res.StatusCode,
 26399  			Header: res.Header,
 26400  		}
 26401  	}
 26402  	if err != nil {
 26403  		return nil, err
 26404  	}
 26405  	defer googleapi.CloseBody(res)
 26406  	if err := googleapi.CheckResponse(res); err != nil {
 26407  		return nil, err
 26408  	}
 26409  	ret := &CreativeFieldsListResponse{
 26410  		ServerResponse: googleapi.ServerResponse{
 26411  			Header:         res.Header,
 26412  			HTTPStatusCode: res.StatusCode,
 26413  		},
 26414  	}
 26415  	target := &ret
 26416  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26417  		return nil, err
 26418  	}
 26419  	return ret, nil
 26420  	// {
 26421  	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
 26422  	//   "httpMethod": "GET",
 26423  	//   "id": "dfareporting.creativeFields.list",
 26424  	//   "parameterOrder": [
 26425  	//     "profileId"
 26426  	//   ],
 26427  	//   "parameters": {
 26428  	//     "advertiserIds": {
 26429  	//       "description": "Select only creative fields that belong to these advertisers.",
 26430  	//       "format": "int64",
 26431  	//       "location": "query",
 26432  	//       "repeated": true,
 26433  	//       "type": "string"
 26434  	//     },
 26435  	//     "ids": {
 26436  	//       "description": "Select only creative fields with these IDs.",
 26437  	//       "format": "int64",
 26438  	//       "location": "query",
 26439  	//       "repeated": true,
 26440  	//       "type": "string"
 26441  	//     },
 26442  	//     "maxResults": {
 26443  	//       "default": "1000",
 26444  	//       "description": "Maximum number of results to return.",
 26445  	//       "format": "int32",
 26446  	//       "location": "query",
 26447  	//       "maximum": "1000",
 26448  	//       "minimum": "0",
 26449  	//       "type": "integer"
 26450  	//     },
 26451  	//     "pageToken": {
 26452  	//       "description": "Value of the nextPageToken from the previous result page.",
 26453  	//       "location": "query",
 26454  	//       "type": "string"
 26455  	//     },
 26456  	//     "profileId": {
 26457  	//       "description": "User profile ID associated with this request.",
 26458  	//       "format": "int64",
 26459  	//       "location": "path",
 26460  	//       "required": true,
 26461  	//       "type": "string"
 26462  	//     },
 26463  	//     "searchString": {
 26464  	//       "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\".",
 26465  	//       "location": "query",
 26466  	//       "type": "string"
 26467  	//     },
 26468  	//     "sortField": {
 26469  	//       "default": "ID",
 26470  	//       "description": "Field by which to sort the list.",
 26471  	//       "enum": [
 26472  	//         "ID",
 26473  	//         "NAME"
 26474  	//       ],
 26475  	//       "enumDescriptions": [
 26476  	//         "",
 26477  	//         ""
 26478  	//       ],
 26479  	//       "location": "query",
 26480  	//       "type": "string"
 26481  	//     },
 26482  	//     "sortOrder": {
 26483  	//       "default": "ASCENDING",
 26484  	//       "description": "Order of sorted results.",
 26485  	//       "enum": [
 26486  	//         "ASCENDING",
 26487  	//         "DESCENDING"
 26488  	//       ],
 26489  	//       "enumDescriptions": [
 26490  	//         "",
 26491  	//         ""
 26492  	//       ],
 26493  	//       "location": "query",
 26494  	//       "type": "string"
 26495  	//     }
 26496  	//   },
 26497  	//   "path": "userprofiles/{profileId}/creativeFields",
 26498  	//   "response": {
 26499  	//     "$ref": "CreativeFieldsListResponse"
 26500  	//   },
 26501  	//   "scopes": [
 26502  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26503  	//   ]
 26504  	// }
 26505  
 26506  }
 26507  
 26508  // Pages invokes f for each page of results.
 26509  // A non-nil error returned from f will halt the iteration.
 26510  // The provided context supersedes any context provided to the Context method.
 26511  func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
 26512  	c.ctx_ = ctx
 26513  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 26514  	for {
 26515  		x, err := c.Do()
 26516  		if err != nil {
 26517  			return err
 26518  		}
 26519  		if err := f(x); err != nil {
 26520  			return err
 26521  		}
 26522  		if x.NextPageToken == "" {
 26523  			return nil
 26524  		}
 26525  		c.PageToken(x.NextPageToken)
 26526  	}
 26527  }
 26528  
 26529  // method id "dfareporting.creativeFields.patch":
 26530  
 26531  type CreativeFieldsPatchCall struct {
 26532  	s             *Service
 26533  	profileId     int64
 26534  	creativefield *CreativeField
 26535  	urlParams_    gensupport.URLParams
 26536  	ctx_          context.Context
 26537  	header_       http.Header
 26538  }
 26539  
 26540  // Patch: Updates an existing creative field. This method supports patch
 26541  // semantics.
 26542  func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
 26543  	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26544  	c.profileId = profileId
 26545  	c.urlParams_.Set("id", fmt.Sprint(id))
 26546  	c.creativefield = creativefield
 26547  	return c
 26548  }
 26549  
 26550  // Fields allows partial responses to be retrieved. See
 26551  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26552  // for more information.
 26553  func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
 26554  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26555  	return c
 26556  }
 26557  
 26558  // Context sets the context to be used in this call's Do method. Any
 26559  // pending HTTP request will be aborted if the provided context is
 26560  // canceled.
 26561  func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
 26562  	c.ctx_ = ctx
 26563  	return c
 26564  }
 26565  
 26566  // Header returns an http.Header that can be modified by the caller to
 26567  // add HTTP headers to the request.
 26568  func (c *CreativeFieldsPatchCall) Header() http.Header {
 26569  	if c.header_ == nil {
 26570  		c.header_ = make(http.Header)
 26571  	}
 26572  	return c.header_
 26573  }
 26574  
 26575  func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 26576  	reqHeaders := make(http.Header)
 26577  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26578  	for k, v := range c.header_ {
 26579  		reqHeaders[k] = v
 26580  	}
 26581  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26582  	var body io.Reader = nil
 26583  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 26584  	if err != nil {
 26585  		return nil, err
 26586  	}
 26587  	reqHeaders.Set("Content-Type", "application/json")
 26588  	c.urlParams_.Set("alt", alt)
 26589  	c.urlParams_.Set("prettyPrint", "false")
 26590  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26591  	urls += "?" + c.urlParams_.Encode()
 26592  	req, err := http.NewRequest("PATCH", urls, body)
 26593  	if err != nil {
 26594  		return nil, err
 26595  	}
 26596  	req.Header = reqHeaders
 26597  	googleapi.Expand(req.URL, map[string]string{
 26598  		"profileId": strconv.FormatInt(c.profileId, 10),
 26599  	})
 26600  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26601  }
 26602  
 26603  // Do executes the "dfareporting.creativeFields.patch" call.
 26604  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26605  // status code is an error. Response headers are in either
 26606  // *CreativeField.ServerResponse.Header or (if a response was returned
 26607  // at all) in error.(*googleapi.Error).Header. Use
 26608  // googleapi.IsNotModified to check whether the returned error was
 26609  // because http.StatusNotModified was returned.
 26610  func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26611  	gensupport.SetOptions(c.urlParams_, opts...)
 26612  	res, err := c.doRequest("json")
 26613  	if res != nil && res.StatusCode == http.StatusNotModified {
 26614  		if res.Body != nil {
 26615  			res.Body.Close()
 26616  		}
 26617  		return nil, &googleapi.Error{
 26618  			Code:   res.StatusCode,
 26619  			Header: res.Header,
 26620  		}
 26621  	}
 26622  	if err != nil {
 26623  		return nil, err
 26624  	}
 26625  	defer googleapi.CloseBody(res)
 26626  	if err := googleapi.CheckResponse(res); err != nil {
 26627  		return nil, err
 26628  	}
 26629  	ret := &CreativeField{
 26630  		ServerResponse: googleapi.ServerResponse{
 26631  			Header:         res.Header,
 26632  			HTTPStatusCode: res.StatusCode,
 26633  		},
 26634  	}
 26635  	target := &ret
 26636  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26637  		return nil, err
 26638  	}
 26639  	return ret, nil
 26640  	// {
 26641  	//   "description": "Updates an existing creative field. This method supports patch semantics.",
 26642  	//   "httpMethod": "PATCH",
 26643  	//   "id": "dfareporting.creativeFields.patch",
 26644  	//   "parameterOrder": [
 26645  	//     "profileId",
 26646  	//     "id"
 26647  	//   ],
 26648  	//   "parameters": {
 26649  	//     "id": {
 26650  	//       "description": "Creative Field ID",
 26651  	//       "format": "int64",
 26652  	//       "location": "query",
 26653  	//       "required": true,
 26654  	//       "type": "string"
 26655  	//     },
 26656  	//     "profileId": {
 26657  	//       "description": "User profile ID associated with this request.",
 26658  	//       "format": "int64",
 26659  	//       "location": "path",
 26660  	//       "required": true,
 26661  	//       "type": "string"
 26662  	//     }
 26663  	//   },
 26664  	//   "path": "userprofiles/{profileId}/creativeFields",
 26665  	//   "request": {
 26666  	//     "$ref": "CreativeField"
 26667  	//   },
 26668  	//   "response": {
 26669  	//     "$ref": "CreativeField"
 26670  	//   },
 26671  	//   "scopes": [
 26672  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26673  	//   ]
 26674  	// }
 26675  
 26676  }
 26677  
 26678  // method id "dfareporting.creativeFields.update":
 26679  
 26680  type CreativeFieldsUpdateCall struct {
 26681  	s             *Service
 26682  	profileId     int64
 26683  	creativefield *CreativeField
 26684  	urlParams_    gensupport.URLParams
 26685  	ctx_          context.Context
 26686  	header_       http.Header
 26687  }
 26688  
 26689  // Update: Updates an existing creative field.
 26690  func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
 26691  	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26692  	c.profileId = profileId
 26693  	c.creativefield = creativefield
 26694  	return c
 26695  }
 26696  
 26697  // Fields allows partial responses to be retrieved. See
 26698  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26699  // for more information.
 26700  func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
 26701  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26702  	return c
 26703  }
 26704  
 26705  // Context sets the context to be used in this call's Do method. Any
 26706  // pending HTTP request will be aborted if the provided context is
 26707  // canceled.
 26708  func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
 26709  	c.ctx_ = ctx
 26710  	return c
 26711  }
 26712  
 26713  // Header returns an http.Header that can be modified by the caller to
 26714  // add HTTP headers to the request.
 26715  func (c *CreativeFieldsUpdateCall) Header() http.Header {
 26716  	if c.header_ == nil {
 26717  		c.header_ = make(http.Header)
 26718  	}
 26719  	return c.header_
 26720  }
 26721  
 26722  func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
 26723  	reqHeaders := make(http.Header)
 26724  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26725  	for k, v := range c.header_ {
 26726  		reqHeaders[k] = v
 26727  	}
 26728  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26729  	var body io.Reader = nil
 26730  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 26731  	if err != nil {
 26732  		return nil, err
 26733  	}
 26734  	reqHeaders.Set("Content-Type", "application/json")
 26735  	c.urlParams_.Set("alt", alt)
 26736  	c.urlParams_.Set("prettyPrint", "false")
 26737  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26738  	urls += "?" + c.urlParams_.Encode()
 26739  	req, err := http.NewRequest("PUT", urls, body)
 26740  	if err != nil {
 26741  		return nil, err
 26742  	}
 26743  	req.Header = reqHeaders
 26744  	googleapi.Expand(req.URL, map[string]string{
 26745  		"profileId": strconv.FormatInt(c.profileId, 10),
 26746  	})
 26747  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26748  }
 26749  
 26750  // Do executes the "dfareporting.creativeFields.update" call.
 26751  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26752  // status code is an error. Response headers are in either
 26753  // *CreativeField.ServerResponse.Header or (if a response was returned
 26754  // at all) in error.(*googleapi.Error).Header. Use
 26755  // googleapi.IsNotModified to check whether the returned error was
 26756  // because http.StatusNotModified was returned.
 26757  func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26758  	gensupport.SetOptions(c.urlParams_, opts...)
 26759  	res, err := c.doRequest("json")
 26760  	if res != nil && res.StatusCode == http.StatusNotModified {
 26761  		if res.Body != nil {
 26762  			res.Body.Close()
 26763  		}
 26764  		return nil, &googleapi.Error{
 26765  			Code:   res.StatusCode,
 26766  			Header: res.Header,
 26767  		}
 26768  	}
 26769  	if err != nil {
 26770  		return nil, err
 26771  	}
 26772  	defer googleapi.CloseBody(res)
 26773  	if err := googleapi.CheckResponse(res); err != nil {
 26774  		return nil, err
 26775  	}
 26776  	ret := &CreativeField{
 26777  		ServerResponse: googleapi.ServerResponse{
 26778  			Header:         res.Header,
 26779  			HTTPStatusCode: res.StatusCode,
 26780  		},
 26781  	}
 26782  	target := &ret
 26783  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26784  		return nil, err
 26785  	}
 26786  	return ret, nil
 26787  	// {
 26788  	//   "description": "Updates an existing creative field.",
 26789  	//   "httpMethod": "PUT",
 26790  	//   "id": "dfareporting.creativeFields.update",
 26791  	//   "parameterOrder": [
 26792  	//     "profileId"
 26793  	//   ],
 26794  	//   "parameters": {
 26795  	//     "profileId": {
 26796  	//       "description": "User profile ID associated with this request.",
 26797  	//       "format": "int64",
 26798  	//       "location": "path",
 26799  	//       "required": true,
 26800  	//       "type": "string"
 26801  	//     }
 26802  	//   },
 26803  	//   "path": "userprofiles/{profileId}/creativeFields",
 26804  	//   "request": {
 26805  	//     "$ref": "CreativeField"
 26806  	//   },
 26807  	//   "response": {
 26808  	//     "$ref": "CreativeField"
 26809  	//   },
 26810  	//   "scopes": [
 26811  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26812  	//   ]
 26813  	// }
 26814  
 26815  }
 26816  
 26817  // method id "dfareporting.creativeGroups.get":
 26818  
 26819  type CreativeGroupsGetCall struct {
 26820  	s            *Service
 26821  	profileId    int64
 26822  	id           int64
 26823  	urlParams_   gensupport.URLParams
 26824  	ifNoneMatch_ string
 26825  	ctx_         context.Context
 26826  	header_      http.Header
 26827  }
 26828  
 26829  // Get: Gets one creative group by ID.
 26830  func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
 26831  	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26832  	c.profileId = profileId
 26833  	c.id = id
 26834  	return c
 26835  }
 26836  
 26837  // Fields allows partial responses to be retrieved. See
 26838  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26839  // for more information.
 26840  func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
 26841  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26842  	return c
 26843  }
 26844  
 26845  // IfNoneMatch sets the optional parameter which makes the operation
 26846  // fail if the object's ETag matches the given value. This is useful for
 26847  // getting updates only after the object has changed since the last
 26848  // request. Use googleapi.IsNotModified to check whether the response
 26849  // error from Do is the result of In-None-Match.
 26850  func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
 26851  	c.ifNoneMatch_ = entityTag
 26852  	return c
 26853  }
 26854  
 26855  // Context sets the context to be used in this call's Do method. Any
 26856  // pending HTTP request will be aborted if the provided context is
 26857  // canceled.
 26858  func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
 26859  	c.ctx_ = ctx
 26860  	return c
 26861  }
 26862  
 26863  // Header returns an http.Header that can be modified by the caller to
 26864  // add HTTP headers to the request.
 26865  func (c *CreativeGroupsGetCall) Header() http.Header {
 26866  	if c.header_ == nil {
 26867  		c.header_ = make(http.Header)
 26868  	}
 26869  	return c.header_
 26870  }
 26871  
 26872  func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 26873  	reqHeaders := make(http.Header)
 26874  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26875  	for k, v := range c.header_ {
 26876  		reqHeaders[k] = v
 26877  	}
 26878  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26879  	if c.ifNoneMatch_ != "" {
 26880  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26881  	}
 26882  	var body io.Reader = nil
 26883  	c.urlParams_.Set("alt", alt)
 26884  	c.urlParams_.Set("prettyPrint", "false")
 26885  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
 26886  	urls += "?" + c.urlParams_.Encode()
 26887  	req, err := http.NewRequest("GET", urls, body)
 26888  	if err != nil {
 26889  		return nil, err
 26890  	}
 26891  	req.Header = reqHeaders
 26892  	googleapi.Expand(req.URL, map[string]string{
 26893  		"profileId": strconv.FormatInt(c.profileId, 10),
 26894  		"id":        strconv.FormatInt(c.id, 10),
 26895  	})
 26896  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26897  }
 26898  
 26899  // Do executes the "dfareporting.creativeGroups.get" call.
 26900  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 26901  // status code is an error. Response headers are in either
 26902  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 26903  // at all) in error.(*googleapi.Error).Header. Use
 26904  // googleapi.IsNotModified to check whether the returned error was
 26905  // because http.StatusNotModified was returned.
 26906  func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 26907  	gensupport.SetOptions(c.urlParams_, opts...)
 26908  	res, err := c.doRequest("json")
 26909  	if res != nil && res.StatusCode == http.StatusNotModified {
 26910  		if res.Body != nil {
 26911  			res.Body.Close()
 26912  		}
 26913  		return nil, &googleapi.Error{
 26914  			Code:   res.StatusCode,
 26915  			Header: res.Header,
 26916  		}
 26917  	}
 26918  	if err != nil {
 26919  		return nil, err
 26920  	}
 26921  	defer googleapi.CloseBody(res)
 26922  	if err := googleapi.CheckResponse(res); err != nil {
 26923  		return nil, err
 26924  	}
 26925  	ret := &CreativeGroup{
 26926  		ServerResponse: googleapi.ServerResponse{
 26927  			Header:         res.Header,
 26928  			HTTPStatusCode: res.StatusCode,
 26929  		},
 26930  	}
 26931  	target := &ret
 26932  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26933  		return nil, err
 26934  	}
 26935  	return ret, nil
 26936  	// {
 26937  	//   "description": "Gets one creative group by ID.",
 26938  	//   "httpMethod": "GET",
 26939  	//   "id": "dfareporting.creativeGroups.get",
 26940  	//   "parameterOrder": [
 26941  	//     "profileId",
 26942  	//     "id"
 26943  	//   ],
 26944  	//   "parameters": {
 26945  	//     "id": {
 26946  	//       "description": "Creative group ID.",
 26947  	//       "format": "int64",
 26948  	//       "location": "path",
 26949  	//       "required": true,
 26950  	//       "type": "string"
 26951  	//     },
 26952  	//     "profileId": {
 26953  	//       "description": "User profile ID associated with this request.",
 26954  	//       "format": "int64",
 26955  	//       "location": "path",
 26956  	//       "required": true,
 26957  	//       "type": "string"
 26958  	//     }
 26959  	//   },
 26960  	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
 26961  	//   "response": {
 26962  	//     "$ref": "CreativeGroup"
 26963  	//   },
 26964  	//   "scopes": [
 26965  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26966  	//   ]
 26967  	// }
 26968  
 26969  }
 26970  
 26971  // method id "dfareporting.creativeGroups.insert":
 26972  
 26973  type CreativeGroupsInsertCall struct {
 26974  	s             *Service
 26975  	profileId     int64
 26976  	creativegroup *CreativeGroup
 26977  	urlParams_    gensupport.URLParams
 26978  	ctx_          context.Context
 26979  	header_       http.Header
 26980  }
 26981  
 26982  // Insert: Inserts a new creative group.
 26983  func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
 26984  	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26985  	c.profileId = profileId
 26986  	c.creativegroup = creativegroup
 26987  	return c
 26988  }
 26989  
 26990  // Fields allows partial responses to be retrieved. See
 26991  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26992  // for more information.
 26993  func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
 26994  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26995  	return c
 26996  }
 26997  
 26998  // Context sets the context to be used in this call's Do method. Any
 26999  // pending HTTP request will be aborted if the provided context is
 27000  // canceled.
 27001  func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
 27002  	c.ctx_ = ctx
 27003  	return c
 27004  }
 27005  
 27006  // Header returns an http.Header that can be modified by the caller to
 27007  // add HTTP headers to the request.
 27008  func (c *CreativeGroupsInsertCall) Header() http.Header {
 27009  	if c.header_ == nil {
 27010  		c.header_ = make(http.Header)
 27011  	}
 27012  	return c.header_
 27013  }
 27014  
 27015  func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 27016  	reqHeaders := make(http.Header)
 27017  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27018  	for k, v := range c.header_ {
 27019  		reqHeaders[k] = v
 27020  	}
 27021  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27022  	var body io.Reader = nil
 27023  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27024  	if err != nil {
 27025  		return nil, err
 27026  	}
 27027  	reqHeaders.Set("Content-Type", "application/json")
 27028  	c.urlParams_.Set("alt", alt)
 27029  	c.urlParams_.Set("prettyPrint", "false")
 27030  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27031  	urls += "?" + c.urlParams_.Encode()
 27032  	req, err := http.NewRequest("POST", urls, body)
 27033  	if err != nil {
 27034  		return nil, err
 27035  	}
 27036  	req.Header = reqHeaders
 27037  	googleapi.Expand(req.URL, map[string]string{
 27038  		"profileId": strconv.FormatInt(c.profileId, 10),
 27039  	})
 27040  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27041  }
 27042  
 27043  // Do executes the "dfareporting.creativeGroups.insert" call.
 27044  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27045  // status code is an error. Response headers are in either
 27046  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27047  // at all) in error.(*googleapi.Error).Header. Use
 27048  // googleapi.IsNotModified to check whether the returned error was
 27049  // because http.StatusNotModified was returned.
 27050  func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27051  	gensupport.SetOptions(c.urlParams_, opts...)
 27052  	res, err := c.doRequest("json")
 27053  	if res != nil && res.StatusCode == http.StatusNotModified {
 27054  		if res.Body != nil {
 27055  			res.Body.Close()
 27056  		}
 27057  		return nil, &googleapi.Error{
 27058  			Code:   res.StatusCode,
 27059  			Header: res.Header,
 27060  		}
 27061  	}
 27062  	if err != nil {
 27063  		return nil, err
 27064  	}
 27065  	defer googleapi.CloseBody(res)
 27066  	if err := googleapi.CheckResponse(res); err != nil {
 27067  		return nil, err
 27068  	}
 27069  	ret := &CreativeGroup{
 27070  		ServerResponse: googleapi.ServerResponse{
 27071  			Header:         res.Header,
 27072  			HTTPStatusCode: res.StatusCode,
 27073  		},
 27074  	}
 27075  	target := &ret
 27076  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27077  		return nil, err
 27078  	}
 27079  	return ret, nil
 27080  	// {
 27081  	//   "description": "Inserts a new creative group.",
 27082  	//   "httpMethod": "POST",
 27083  	//   "id": "dfareporting.creativeGroups.insert",
 27084  	//   "parameterOrder": [
 27085  	//     "profileId"
 27086  	//   ],
 27087  	//   "parameters": {
 27088  	//     "profileId": {
 27089  	//       "description": "User profile ID associated with this request.",
 27090  	//       "format": "int64",
 27091  	//       "location": "path",
 27092  	//       "required": true,
 27093  	//       "type": "string"
 27094  	//     }
 27095  	//   },
 27096  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27097  	//   "request": {
 27098  	//     "$ref": "CreativeGroup"
 27099  	//   },
 27100  	//   "response": {
 27101  	//     "$ref": "CreativeGroup"
 27102  	//   },
 27103  	//   "scopes": [
 27104  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27105  	//   ]
 27106  	// }
 27107  
 27108  }
 27109  
 27110  // method id "dfareporting.creativeGroups.list":
 27111  
 27112  type CreativeGroupsListCall struct {
 27113  	s            *Service
 27114  	profileId    int64
 27115  	urlParams_   gensupport.URLParams
 27116  	ifNoneMatch_ string
 27117  	ctx_         context.Context
 27118  	header_      http.Header
 27119  }
 27120  
 27121  // List: Retrieves a list of creative groups, possibly filtered. This
 27122  // method supports paging.
 27123  func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
 27124  	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27125  	c.profileId = profileId
 27126  	return c
 27127  }
 27128  
 27129  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 27130  // only creative groups that belong to these advertisers.
 27131  func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
 27132  	var advertiserIds_ []string
 27133  	for _, v := range advertiserIds {
 27134  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 27135  	}
 27136  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 27137  	return c
 27138  }
 27139  
 27140  // GroupNumber sets the optional parameter "groupNumber": Select only
 27141  // creative groups that belong to this subgroup.
 27142  func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
 27143  	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
 27144  	return c
 27145  }
 27146  
 27147  // Ids sets the optional parameter "ids": Select only creative groups
 27148  // with these IDs.
 27149  func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
 27150  	var ids_ []string
 27151  	for _, v := range ids {
 27152  		ids_ = append(ids_, fmt.Sprint(v))
 27153  	}
 27154  	c.urlParams_.SetMulti("ids", ids_)
 27155  	return c
 27156  }
 27157  
 27158  // MaxResults sets the optional parameter "maxResults": Maximum number
 27159  // of results to return.
 27160  func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
 27161  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 27162  	return c
 27163  }
 27164  
 27165  // PageToken sets the optional parameter "pageToken": Value of the
 27166  // nextPageToken from the previous result page.
 27167  func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
 27168  	c.urlParams_.Set("pageToken", pageToken)
 27169  	return c
 27170  }
 27171  
 27172  // SearchString sets the optional parameter "searchString": Allows
 27173  // searching for creative groups by name or ID. Wildcards (*) are
 27174  // allowed. For example, "creativegroup*2015" will return creative
 27175  // groups with names like "creativegroup June 2015", "creativegroup
 27176  // April 2015", or simply "creativegroup 2015". Most of the searches
 27177  // also add wild-cards implicitly at the start and the end of the search
 27178  // string. For example, a search string of "creativegroup" will match
 27179  // creative groups with the name "my creativegroup", "creativegroup
 27180  // 2015", or simply "creativegroup".
 27181  func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
 27182  	c.urlParams_.Set("searchString", searchString)
 27183  	return c
 27184  }
 27185  
 27186  // SortField sets the optional parameter "sortField": Field by which to
 27187  // sort the list.
 27188  //
 27189  // Possible values:
 27190  //
 27191  //	"ID" (default)
 27192  //	"NAME"
 27193  func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
 27194  	c.urlParams_.Set("sortField", sortField)
 27195  	return c
 27196  }
 27197  
 27198  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 27199  // results.
 27200  //
 27201  // Possible values:
 27202  //
 27203  //	"ASCENDING" (default)
 27204  //	"DESCENDING"
 27205  func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
 27206  	c.urlParams_.Set("sortOrder", sortOrder)
 27207  	return c
 27208  }
 27209  
 27210  // Fields allows partial responses to be retrieved. See
 27211  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27212  // for more information.
 27213  func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
 27214  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27215  	return c
 27216  }
 27217  
 27218  // IfNoneMatch sets the optional parameter which makes the operation
 27219  // fail if the object's ETag matches the given value. This is useful for
 27220  // getting updates only after the object has changed since the last
 27221  // request. Use googleapi.IsNotModified to check whether the response
 27222  // error from Do is the result of In-None-Match.
 27223  func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
 27224  	c.ifNoneMatch_ = entityTag
 27225  	return c
 27226  }
 27227  
 27228  // Context sets the context to be used in this call's Do method. Any
 27229  // pending HTTP request will be aborted if the provided context is
 27230  // canceled.
 27231  func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
 27232  	c.ctx_ = ctx
 27233  	return c
 27234  }
 27235  
 27236  // Header returns an http.Header that can be modified by the caller to
 27237  // add HTTP headers to the request.
 27238  func (c *CreativeGroupsListCall) Header() http.Header {
 27239  	if c.header_ == nil {
 27240  		c.header_ = make(http.Header)
 27241  	}
 27242  	return c.header_
 27243  }
 27244  
 27245  func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 27246  	reqHeaders := make(http.Header)
 27247  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27248  	for k, v := range c.header_ {
 27249  		reqHeaders[k] = v
 27250  	}
 27251  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27252  	if c.ifNoneMatch_ != "" {
 27253  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27254  	}
 27255  	var body io.Reader = nil
 27256  	c.urlParams_.Set("alt", alt)
 27257  	c.urlParams_.Set("prettyPrint", "false")
 27258  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27259  	urls += "?" + c.urlParams_.Encode()
 27260  	req, err := http.NewRequest("GET", urls, body)
 27261  	if err != nil {
 27262  		return nil, err
 27263  	}
 27264  	req.Header = reqHeaders
 27265  	googleapi.Expand(req.URL, map[string]string{
 27266  		"profileId": strconv.FormatInt(c.profileId, 10),
 27267  	})
 27268  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27269  }
 27270  
 27271  // Do executes the "dfareporting.creativeGroups.list" call.
 27272  // Exactly one of *CreativeGroupsListResponse or error will be non-nil.
 27273  // Any non-2xx status code is an error. Response headers are in either
 27274  // *CreativeGroupsListResponse.ServerResponse.Header or (if a response
 27275  // was returned at all) in error.(*googleapi.Error).Header. Use
 27276  // googleapi.IsNotModified to check whether the returned error was
 27277  // because http.StatusNotModified was returned.
 27278  func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
 27279  	gensupport.SetOptions(c.urlParams_, opts...)
 27280  	res, err := c.doRequest("json")
 27281  	if res != nil && res.StatusCode == http.StatusNotModified {
 27282  		if res.Body != nil {
 27283  			res.Body.Close()
 27284  		}
 27285  		return nil, &googleapi.Error{
 27286  			Code:   res.StatusCode,
 27287  			Header: res.Header,
 27288  		}
 27289  	}
 27290  	if err != nil {
 27291  		return nil, err
 27292  	}
 27293  	defer googleapi.CloseBody(res)
 27294  	if err := googleapi.CheckResponse(res); err != nil {
 27295  		return nil, err
 27296  	}
 27297  	ret := &CreativeGroupsListResponse{
 27298  		ServerResponse: googleapi.ServerResponse{
 27299  			Header:         res.Header,
 27300  			HTTPStatusCode: res.StatusCode,
 27301  		},
 27302  	}
 27303  	target := &ret
 27304  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27305  		return nil, err
 27306  	}
 27307  	return ret, nil
 27308  	// {
 27309  	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
 27310  	//   "httpMethod": "GET",
 27311  	//   "id": "dfareporting.creativeGroups.list",
 27312  	//   "parameterOrder": [
 27313  	//     "profileId"
 27314  	//   ],
 27315  	//   "parameters": {
 27316  	//     "advertiserIds": {
 27317  	//       "description": "Select only creative groups that belong to these advertisers.",
 27318  	//       "format": "int64",
 27319  	//       "location": "query",
 27320  	//       "repeated": true,
 27321  	//       "type": "string"
 27322  	//     },
 27323  	//     "groupNumber": {
 27324  	//       "description": "Select only creative groups that belong to this subgroup.",
 27325  	//       "format": "int32",
 27326  	//       "location": "query",
 27327  	//       "maximum": "2",
 27328  	//       "minimum": "1",
 27329  	//       "type": "integer"
 27330  	//     },
 27331  	//     "ids": {
 27332  	//       "description": "Select only creative groups with these IDs.",
 27333  	//       "format": "int64",
 27334  	//       "location": "query",
 27335  	//       "repeated": true,
 27336  	//       "type": "string"
 27337  	//     },
 27338  	//     "maxResults": {
 27339  	//       "default": "1000",
 27340  	//       "description": "Maximum number of results to return.",
 27341  	//       "format": "int32",
 27342  	//       "location": "query",
 27343  	//       "maximum": "1000",
 27344  	//       "minimum": "0",
 27345  	//       "type": "integer"
 27346  	//     },
 27347  	//     "pageToken": {
 27348  	//       "description": "Value of the nextPageToken from the previous result page.",
 27349  	//       "location": "query",
 27350  	//       "type": "string"
 27351  	//     },
 27352  	//     "profileId": {
 27353  	//       "description": "User profile ID associated with this request.",
 27354  	//       "format": "int64",
 27355  	//       "location": "path",
 27356  	//       "required": true,
 27357  	//       "type": "string"
 27358  	//     },
 27359  	//     "searchString": {
 27360  	//       "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\".",
 27361  	//       "location": "query",
 27362  	//       "type": "string"
 27363  	//     },
 27364  	//     "sortField": {
 27365  	//       "default": "ID",
 27366  	//       "description": "Field by which to sort the list.",
 27367  	//       "enum": [
 27368  	//         "ID",
 27369  	//         "NAME"
 27370  	//       ],
 27371  	//       "enumDescriptions": [
 27372  	//         "",
 27373  	//         ""
 27374  	//       ],
 27375  	//       "location": "query",
 27376  	//       "type": "string"
 27377  	//     },
 27378  	//     "sortOrder": {
 27379  	//       "default": "ASCENDING",
 27380  	//       "description": "Order of sorted results.",
 27381  	//       "enum": [
 27382  	//         "ASCENDING",
 27383  	//         "DESCENDING"
 27384  	//       ],
 27385  	//       "enumDescriptions": [
 27386  	//         "",
 27387  	//         ""
 27388  	//       ],
 27389  	//       "location": "query",
 27390  	//       "type": "string"
 27391  	//     }
 27392  	//   },
 27393  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27394  	//   "response": {
 27395  	//     "$ref": "CreativeGroupsListResponse"
 27396  	//   },
 27397  	//   "scopes": [
 27398  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27399  	//   ]
 27400  	// }
 27401  
 27402  }
 27403  
 27404  // Pages invokes f for each page of results.
 27405  // A non-nil error returned from f will halt the iteration.
 27406  // The provided context supersedes any context provided to the Context method.
 27407  func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
 27408  	c.ctx_ = ctx
 27409  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 27410  	for {
 27411  		x, err := c.Do()
 27412  		if err != nil {
 27413  			return err
 27414  		}
 27415  		if err := f(x); err != nil {
 27416  			return err
 27417  		}
 27418  		if x.NextPageToken == "" {
 27419  			return nil
 27420  		}
 27421  		c.PageToken(x.NextPageToken)
 27422  	}
 27423  }
 27424  
 27425  // method id "dfareporting.creativeGroups.patch":
 27426  
 27427  type CreativeGroupsPatchCall struct {
 27428  	s             *Service
 27429  	profileId     int64
 27430  	creativegroup *CreativeGroup
 27431  	urlParams_    gensupport.URLParams
 27432  	ctx_          context.Context
 27433  	header_       http.Header
 27434  }
 27435  
 27436  // Patch: Updates an existing creative group. This method supports patch
 27437  // semantics.
 27438  func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
 27439  	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27440  	c.profileId = profileId
 27441  	c.urlParams_.Set("id", fmt.Sprint(id))
 27442  	c.creativegroup = creativegroup
 27443  	return c
 27444  }
 27445  
 27446  // Fields allows partial responses to be retrieved. See
 27447  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27448  // for more information.
 27449  func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
 27450  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27451  	return c
 27452  }
 27453  
 27454  // Context sets the context to be used in this call's Do method. Any
 27455  // pending HTTP request will be aborted if the provided context is
 27456  // canceled.
 27457  func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
 27458  	c.ctx_ = ctx
 27459  	return c
 27460  }
 27461  
 27462  // Header returns an http.Header that can be modified by the caller to
 27463  // add HTTP headers to the request.
 27464  func (c *CreativeGroupsPatchCall) Header() http.Header {
 27465  	if c.header_ == nil {
 27466  		c.header_ = make(http.Header)
 27467  	}
 27468  	return c.header_
 27469  }
 27470  
 27471  func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 27472  	reqHeaders := make(http.Header)
 27473  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27474  	for k, v := range c.header_ {
 27475  		reqHeaders[k] = v
 27476  	}
 27477  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27478  	var body io.Reader = nil
 27479  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27480  	if err != nil {
 27481  		return nil, err
 27482  	}
 27483  	reqHeaders.Set("Content-Type", "application/json")
 27484  	c.urlParams_.Set("alt", alt)
 27485  	c.urlParams_.Set("prettyPrint", "false")
 27486  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27487  	urls += "?" + c.urlParams_.Encode()
 27488  	req, err := http.NewRequest("PATCH", urls, body)
 27489  	if err != nil {
 27490  		return nil, err
 27491  	}
 27492  	req.Header = reqHeaders
 27493  	googleapi.Expand(req.URL, map[string]string{
 27494  		"profileId": strconv.FormatInt(c.profileId, 10),
 27495  	})
 27496  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27497  }
 27498  
 27499  // Do executes the "dfareporting.creativeGroups.patch" call.
 27500  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27501  // status code is an error. Response headers are in either
 27502  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27503  // at all) in error.(*googleapi.Error).Header. Use
 27504  // googleapi.IsNotModified to check whether the returned error was
 27505  // because http.StatusNotModified was returned.
 27506  func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27507  	gensupport.SetOptions(c.urlParams_, opts...)
 27508  	res, err := c.doRequest("json")
 27509  	if res != nil && res.StatusCode == http.StatusNotModified {
 27510  		if res.Body != nil {
 27511  			res.Body.Close()
 27512  		}
 27513  		return nil, &googleapi.Error{
 27514  			Code:   res.StatusCode,
 27515  			Header: res.Header,
 27516  		}
 27517  	}
 27518  	if err != nil {
 27519  		return nil, err
 27520  	}
 27521  	defer googleapi.CloseBody(res)
 27522  	if err := googleapi.CheckResponse(res); err != nil {
 27523  		return nil, err
 27524  	}
 27525  	ret := &CreativeGroup{
 27526  		ServerResponse: googleapi.ServerResponse{
 27527  			Header:         res.Header,
 27528  			HTTPStatusCode: res.StatusCode,
 27529  		},
 27530  	}
 27531  	target := &ret
 27532  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27533  		return nil, err
 27534  	}
 27535  	return ret, nil
 27536  	// {
 27537  	//   "description": "Updates an existing creative group. This method supports patch semantics.",
 27538  	//   "httpMethod": "PATCH",
 27539  	//   "id": "dfareporting.creativeGroups.patch",
 27540  	//   "parameterOrder": [
 27541  	//     "profileId",
 27542  	//     "id"
 27543  	//   ],
 27544  	//   "parameters": {
 27545  	//     "id": {
 27546  	//       "description": "Creative group ID.",
 27547  	//       "format": "int64",
 27548  	//       "location": "query",
 27549  	//       "required": true,
 27550  	//       "type": "string"
 27551  	//     },
 27552  	//     "profileId": {
 27553  	//       "description": "User profile ID associated with this request.",
 27554  	//       "format": "int64",
 27555  	//       "location": "path",
 27556  	//       "required": true,
 27557  	//       "type": "string"
 27558  	//     }
 27559  	//   },
 27560  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27561  	//   "request": {
 27562  	//     "$ref": "CreativeGroup"
 27563  	//   },
 27564  	//   "response": {
 27565  	//     "$ref": "CreativeGroup"
 27566  	//   },
 27567  	//   "scopes": [
 27568  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27569  	//   ]
 27570  	// }
 27571  
 27572  }
 27573  
 27574  // method id "dfareporting.creativeGroups.update":
 27575  
 27576  type CreativeGroupsUpdateCall struct {
 27577  	s             *Service
 27578  	profileId     int64
 27579  	creativegroup *CreativeGroup
 27580  	urlParams_    gensupport.URLParams
 27581  	ctx_          context.Context
 27582  	header_       http.Header
 27583  }
 27584  
 27585  // Update: Updates an existing creative group.
 27586  func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
 27587  	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27588  	c.profileId = profileId
 27589  	c.creativegroup = creativegroup
 27590  	return c
 27591  }
 27592  
 27593  // Fields allows partial responses to be retrieved. See
 27594  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27595  // for more information.
 27596  func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
 27597  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27598  	return c
 27599  }
 27600  
 27601  // Context sets the context to be used in this call's Do method. Any
 27602  // pending HTTP request will be aborted if the provided context is
 27603  // canceled.
 27604  func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
 27605  	c.ctx_ = ctx
 27606  	return c
 27607  }
 27608  
 27609  // Header returns an http.Header that can be modified by the caller to
 27610  // add HTTP headers to the request.
 27611  func (c *CreativeGroupsUpdateCall) Header() http.Header {
 27612  	if c.header_ == nil {
 27613  		c.header_ = make(http.Header)
 27614  	}
 27615  	return c.header_
 27616  }
 27617  
 27618  func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 27619  	reqHeaders := make(http.Header)
 27620  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27621  	for k, v := range c.header_ {
 27622  		reqHeaders[k] = v
 27623  	}
 27624  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27625  	var body io.Reader = nil
 27626  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27627  	if err != nil {
 27628  		return nil, err
 27629  	}
 27630  	reqHeaders.Set("Content-Type", "application/json")
 27631  	c.urlParams_.Set("alt", alt)
 27632  	c.urlParams_.Set("prettyPrint", "false")
 27633  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27634  	urls += "?" + c.urlParams_.Encode()
 27635  	req, err := http.NewRequest("PUT", urls, body)
 27636  	if err != nil {
 27637  		return nil, err
 27638  	}
 27639  	req.Header = reqHeaders
 27640  	googleapi.Expand(req.URL, map[string]string{
 27641  		"profileId": strconv.FormatInt(c.profileId, 10),
 27642  	})
 27643  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27644  }
 27645  
 27646  // Do executes the "dfareporting.creativeGroups.update" call.
 27647  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27648  // status code is an error. Response headers are in either
 27649  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27650  // at all) in error.(*googleapi.Error).Header. Use
 27651  // googleapi.IsNotModified to check whether the returned error was
 27652  // because http.StatusNotModified was returned.
 27653  func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27654  	gensupport.SetOptions(c.urlParams_, opts...)
 27655  	res, err := c.doRequest("json")
 27656  	if res != nil && res.StatusCode == http.StatusNotModified {
 27657  		if res.Body != nil {
 27658  			res.Body.Close()
 27659  		}
 27660  		return nil, &googleapi.Error{
 27661  			Code:   res.StatusCode,
 27662  			Header: res.Header,
 27663  		}
 27664  	}
 27665  	if err != nil {
 27666  		return nil, err
 27667  	}
 27668  	defer googleapi.CloseBody(res)
 27669  	if err := googleapi.CheckResponse(res); err != nil {
 27670  		return nil, err
 27671  	}
 27672  	ret := &CreativeGroup{
 27673  		ServerResponse: googleapi.ServerResponse{
 27674  			Header:         res.Header,
 27675  			HTTPStatusCode: res.StatusCode,
 27676  		},
 27677  	}
 27678  	target := &ret
 27679  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27680  		return nil, err
 27681  	}
 27682  	return ret, nil
 27683  	// {
 27684  	//   "description": "Updates an existing creative group.",
 27685  	//   "httpMethod": "PUT",
 27686  	//   "id": "dfareporting.creativeGroups.update",
 27687  	//   "parameterOrder": [
 27688  	//     "profileId"
 27689  	//   ],
 27690  	//   "parameters": {
 27691  	//     "profileId": {
 27692  	//       "description": "User profile ID associated with this request.",
 27693  	//       "format": "int64",
 27694  	//       "location": "path",
 27695  	//       "required": true,
 27696  	//       "type": "string"
 27697  	//     }
 27698  	//   },
 27699  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27700  	//   "request": {
 27701  	//     "$ref": "CreativeGroup"
 27702  	//   },
 27703  	//   "response": {
 27704  	//     "$ref": "CreativeGroup"
 27705  	//   },
 27706  	//   "scopes": [
 27707  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27708  	//   ]
 27709  	// }
 27710  
 27711  }
 27712  
 27713  // method id "dfareporting.creatives.get":
 27714  
 27715  type CreativesGetCall struct {
 27716  	s            *Service
 27717  	profileId    int64
 27718  	id           int64
 27719  	urlParams_   gensupport.URLParams
 27720  	ifNoneMatch_ string
 27721  	ctx_         context.Context
 27722  	header_      http.Header
 27723  }
 27724  
 27725  // Get: Gets one creative by ID.
 27726  func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
 27727  	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27728  	c.profileId = profileId
 27729  	c.id = id
 27730  	return c
 27731  }
 27732  
 27733  // Fields allows partial responses to be retrieved. See
 27734  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27735  // for more information.
 27736  func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
 27737  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27738  	return c
 27739  }
 27740  
 27741  // IfNoneMatch sets the optional parameter which makes the operation
 27742  // fail if the object's ETag matches the given value. This is useful for
 27743  // getting updates only after the object has changed since the last
 27744  // request. Use googleapi.IsNotModified to check whether the response
 27745  // error from Do is the result of In-None-Match.
 27746  func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
 27747  	c.ifNoneMatch_ = entityTag
 27748  	return c
 27749  }
 27750  
 27751  // Context sets the context to be used in this call's Do method. Any
 27752  // pending HTTP request will be aborted if the provided context is
 27753  // canceled.
 27754  func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 27755  	c.ctx_ = ctx
 27756  	return c
 27757  }
 27758  
 27759  // Header returns an http.Header that can be modified by the caller to
 27760  // add HTTP headers to the request.
 27761  func (c *CreativesGetCall) Header() http.Header {
 27762  	if c.header_ == nil {
 27763  		c.header_ = make(http.Header)
 27764  	}
 27765  	return c.header_
 27766  }
 27767  
 27768  func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 27769  	reqHeaders := make(http.Header)
 27770  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27771  	for k, v := range c.header_ {
 27772  		reqHeaders[k] = v
 27773  	}
 27774  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27775  	if c.ifNoneMatch_ != "" {
 27776  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27777  	}
 27778  	var body io.Reader = nil
 27779  	c.urlParams_.Set("alt", alt)
 27780  	c.urlParams_.Set("prettyPrint", "false")
 27781  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
 27782  	urls += "?" + c.urlParams_.Encode()
 27783  	req, err := http.NewRequest("GET", urls, body)
 27784  	if err != nil {
 27785  		return nil, err
 27786  	}
 27787  	req.Header = reqHeaders
 27788  	googleapi.Expand(req.URL, map[string]string{
 27789  		"profileId": strconv.FormatInt(c.profileId, 10),
 27790  		"id":        strconv.FormatInt(c.id, 10),
 27791  	})
 27792  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27793  }
 27794  
 27795  // Do executes the "dfareporting.creatives.get" call.
 27796  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 27797  // code is an error. Response headers are in either
 27798  // *Creative.ServerResponse.Header or (if a response was returned at
 27799  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 27800  // to check whether the returned error was because
 27801  // http.StatusNotModified was returned.
 27802  func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 27803  	gensupport.SetOptions(c.urlParams_, opts...)
 27804  	res, err := c.doRequest("json")
 27805  	if res != nil && res.StatusCode == http.StatusNotModified {
 27806  		if res.Body != nil {
 27807  			res.Body.Close()
 27808  		}
 27809  		return nil, &googleapi.Error{
 27810  			Code:   res.StatusCode,
 27811  			Header: res.Header,
 27812  		}
 27813  	}
 27814  	if err != nil {
 27815  		return nil, err
 27816  	}
 27817  	defer googleapi.CloseBody(res)
 27818  	if err := googleapi.CheckResponse(res); err != nil {
 27819  		return nil, err
 27820  	}
 27821  	ret := &Creative{
 27822  		ServerResponse: googleapi.ServerResponse{
 27823  			Header:         res.Header,
 27824  			HTTPStatusCode: res.StatusCode,
 27825  		},
 27826  	}
 27827  	target := &ret
 27828  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27829  		return nil, err
 27830  	}
 27831  	return ret, nil
 27832  	// {
 27833  	//   "description": "Gets one creative by ID.",
 27834  	//   "httpMethod": "GET",
 27835  	//   "id": "dfareporting.creatives.get",
 27836  	//   "parameterOrder": [
 27837  	//     "profileId",
 27838  	//     "id"
 27839  	//   ],
 27840  	//   "parameters": {
 27841  	//     "id": {
 27842  	//       "description": "Creative ID.",
 27843  	//       "format": "int64",
 27844  	//       "location": "path",
 27845  	//       "required": true,
 27846  	//       "type": "string"
 27847  	//     },
 27848  	//     "profileId": {
 27849  	//       "description": "User profile ID associated with this request.",
 27850  	//       "format": "int64",
 27851  	//       "location": "path",
 27852  	//       "required": true,
 27853  	//       "type": "string"
 27854  	//     }
 27855  	//   },
 27856  	//   "path": "userprofiles/{profileId}/creatives/{id}",
 27857  	//   "response": {
 27858  	//     "$ref": "Creative"
 27859  	//   },
 27860  	//   "scopes": [
 27861  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27862  	//   ]
 27863  	// }
 27864  
 27865  }
 27866  
 27867  // method id "dfareporting.creatives.insert":
 27868  
 27869  type CreativesInsertCall struct {
 27870  	s          *Service
 27871  	profileId  int64
 27872  	creative   *Creative
 27873  	urlParams_ gensupport.URLParams
 27874  	ctx_       context.Context
 27875  	header_    http.Header
 27876  }
 27877  
 27878  // Insert: Inserts a new creative.
 27879  func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
 27880  	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27881  	c.profileId = profileId
 27882  	c.creative = creative
 27883  	return c
 27884  }
 27885  
 27886  // Fields allows partial responses to be retrieved. See
 27887  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27888  // for more information.
 27889  func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
 27890  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27891  	return c
 27892  }
 27893  
 27894  // Context sets the context to be used in this call's Do method. Any
 27895  // pending HTTP request will be aborted if the provided context is
 27896  // canceled.
 27897  func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 27898  	c.ctx_ = ctx
 27899  	return c
 27900  }
 27901  
 27902  // Header returns an http.Header that can be modified by the caller to
 27903  // add HTTP headers to the request.
 27904  func (c *CreativesInsertCall) Header() http.Header {
 27905  	if c.header_ == nil {
 27906  		c.header_ = make(http.Header)
 27907  	}
 27908  	return c.header_
 27909  }
 27910  
 27911  func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 27912  	reqHeaders := make(http.Header)
 27913  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27914  	for k, v := range c.header_ {
 27915  		reqHeaders[k] = v
 27916  	}
 27917  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27918  	var body io.Reader = nil
 27919  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 27920  	if err != nil {
 27921  		return nil, err
 27922  	}
 27923  	reqHeaders.Set("Content-Type", "application/json")
 27924  	c.urlParams_.Set("alt", alt)
 27925  	c.urlParams_.Set("prettyPrint", "false")
 27926  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 27927  	urls += "?" + c.urlParams_.Encode()
 27928  	req, err := http.NewRequest("POST", urls, body)
 27929  	if err != nil {
 27930  		return nil, err
 27931  	}
 27932  	req.Header = reqHeaders
 27933  	googleapi.Expand(req.URL, map[string]string{
 27934  		"profileId": strconv.FormatInt(c.profileId, 10),
 27935  	})
 27936  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27937  }
 27938  
 27939  // Do executes the "dfareporting.creatives.insert" call.
 27940  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 27941  // code is an error. Response headers are in either
 27942  // *Creative.ServerResponse.Header or (if a response was returned at
 27943  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 27944  // to check whether the returned error was because
 27945  // http.StatusNotModified was returned.
 27946  func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 27947  	gensupport.SetOptions(c.urlParams_, opts...)
 27948  	res, err := c.doRequest("json")
 27949  	if res != nil && res.StatusCode == http.StatusNotModified {
 27950  		if res.Body != nil {
 27951  			res.Body.Close()
 27952  		}
 27953  		return nil, &googleapi.Error{
 27954  			Code:   res.StatusCode,
 27955  			Header: res.Header,
 27956  		}
 27957  	}
 27958  	if err != nil {
 27959  		return nil, err
 27960  	}
 27961  	defer googleapi.CloseBody(res)
 27962  	if err := googleapi.CheckResponse(res); err != nil {
 27963  		return nil, err
 27964  	}
 27965  	ret := &Creative{
 27966  		ServerResponse: googleapi.ServerResponse{
 27967  			Header:         res.Header,
 27968  			HTTPStatusCode: res.StatusCode,
 27969  		},
 27970  	}
 27971  	target := &ret
 27972  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27973  		return nil, err
 27974  	}
 27975  	return ret, nil
 27976  	// {
 27977  	//   "description": "Inserts a new creative.",
 27978  	//   "httpMethod": "POST",
 27979  	//   "id": "dfareporting.creatives.insert",
 27980  	//   "parameterOrder": [
 27981  	//     "profileId"
 27982  	//   ],
 27983  	//   "parameters": {
 27984  	//     "profileId": {
 27985  	//       "description": "User profile ID associated with this request.",
 27986  	//       "format": "int64",
 27987  	//       "location": "path",
 27988  	//       "required": true,
 27989  	//       "type": "string"
 27990  	//     }
 27991  	//   },
 27992  	//   "path": "userprofiles/{profileId}/creatives",
 27993  	//   "request": {
 27994  	//     "$ref": "Creative"
 27995  	//   },
 27996  	//   "response": {
 27997  	//     "$ref": "Creative"
 27998  	//   },
 27999  	//   "scopes": [
 28000  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28001  	//   ]
 28002  	// }
 28003  
 28004  }
 28005  
 28006  // method id "dfareporting.creatives.list":
 28007  
 28008  type CreativesListCall struct {
 28009  	s            *Service
 28010  	profileId    int64
 28011  	urlParams_   gensupport.URLParams
 28012  	ifNoneMatch_ string
 28013  	ctx_         context.Context
 28014  	header_      http.Header
 28015  }
 28016  
 28017  // List: Retrieves a list of creatives, possibly filtered. This method
 28018  // supports paging.
 28019  func (r *CreativesService) List(profileId int64) *CreativesListCall {
 28020  	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28021  	c.profileId = profileId
 28022  	return c
 28023  }
 28024  
 28025  // Active sets the optional parameter "active": Select only active
 28026  // creatives. Leave blank to select active and inactive creatives.
 28027  func (c *CreativesListCall) Active(active bool) *CreativesListCall {
 28028  	c.urlParams_.Set("active", fmt.Sprint(active))
 28029  	return c
 28030  }
 28031  
 28032  // AdvertiserId sets the optional parameter "advertiserId": Select only
 28033  // creatives with this advertiser ID.
 28034  func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
 28035  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28036  	return c
 28037  }
 28038  
 28039  // Archived sets the optional parameter "archived": Select only archived
 28040  // creatives. Leave blank to select archived and unarchived creatives.
 28041  func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
 28042  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 28043  	return c
 28044  }
 28045  
 28046  // CampaignId sets the optional parameter "campaignId": Select only
 28047  // creatives with this campaign ID.
 28048  func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
 28049  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 28050  	return c
 28051  }
 28052  
 28053  // CompanionCreativeIds sets the optional parameter
 28054  // "companionCreativeIds": Select only in-stream video creatives with
 28055  // these companion IDs.
 28056  func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
 28057  	var companionCreativeIds_ []string
 28058  	for _, v := range companionCreativeIds {
 28059  		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
 28060  	}
 28061  	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
 28062  	return c
 28063  }
 28064  
 28065  // CreativeFieldIds sets the optional parameter "creativeFieldIds":
 28066  // Select only creatives with these creative field IDs.
 28067  func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
 28068  	var creativeFieldIds_ []string
 28069  	for _, v := range creativeFieldIds {
 28070  		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
 28071  	}
 28072  	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
 28073  	return c
 28074  }
 28075  
 28076  // Ids sets the optional parameter "ids": Select only creatives with
 28077  // these IDs.
 28078  func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
 28079  	var ids_ []string
 28080  	for _, v := range ids {
 28081  		ids_ = append(ids_, fmt.Sprint(v))
 28082  	}
 28083  	c.urlParams_.SetMulti("ids", ids_)
 28084  	return c
 28085  }
 28086  
 28087  // MaxResults sets the optional parameter "maxResults": Maximum number
 28088  // of results to return.
 28089  func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
 28090  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 28091  	return c
 28092  }
 28093  
 28094  // PageToken sets the optional parameter "pageToken": Value of the
 28095  // nextPageToken from the previous result page.
 28096  func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
 28097  	c.urlParams_.Set("pageToken", pageToken)
 28098  	return c
 28099  }
 28100  
 28101  // RenderingIds sets the optional parameter "renderingIds": Select only
 28102  // creatives with these rendering IDs.
 28103  func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
 28104  	var renderingIds_ []string
 28105  	for _, v := range renderingIds {
 28106  		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
 28107  	}
 28108  	c.urlParams_.SetMulti("renderingIds", renderingIds_)
 28109  	return c
 28110  }
 28111  
 28112  // SearchString sets the optional parameter "searchString": Allows
 28113  // searching for objects by name or ID. Wildcards (*) are allowed. For
 28114  // example, "creative*2015" will return objects with names like
 28115  // "creative June 2015", "creative April 2015", or simply "creative
 28116  // 2015". Most of the searches also add wildcards implicitly at the
 28117  // start and the end of the search string. For example, a search string
 28118  // of "creative" will match objects with name "my creative", "creative
 28119  // 2015", or simply "creative".
 28120  func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
 28121  	c.urlParams_.Set("searchString", searchString)
 28122  	return c
 28123  }
 28124  
 28125  // SizeIds sets the optional parameter "sizeIds": Select only creatives
 28126  // with these size IDs.
 28127  func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
 28128  	var sizeIds_ []string
 28129  	for _, v := range sizeIds {
 28130  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 28131  	}
 28132  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 28133  	return c
 28134  }
 28135  
 28136  // SortField sets the optional parameter "sortField": Field by which to
 28137  // sort the list.
 28138  //
 28139  // Possible values:
 28140  //
 28141  //	"ID" (default)
 28142  //	"NAME"
 28143  func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
 28144  	c.urlParams_.Set("sortField", sortField)
 28145  	return c
 28146  }
 28147  
 28148  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 28149  // results.
 28150  //
 28151  // Possible values:
 28152  //
 28153  //	"ASCENDING" (default)
 28154  //	"DESCENDING"
 28155  func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
 28156  	c.urlParams_.Set("sortOrder", sortOrder)
 28157  	return c
 28158  }
 28159  
 28160  // StudioCreativeId sets the optional parameter "studioCreativeId":
 28161  // Select only creatives corresponding to this Studio creative ID.
 28162  func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
 28163  	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
 28164  	return c
 28165  }
 28166  
 28167  // Types sets the optional parameter "types": Select only creatives with
 28168  // these creative types.
 28169  //
 28170  // Possible values:
 28171  //
 28172  //	"BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
 28173  //	"CUSTOM_DISPLAY"
 28174  //	"CUSTOM_DISPLAY_INTERSTITIAL"
 28175  //	"DISPLAY"
 28176  //	"DISPLAY_IMAGE_GALLERY"
 28177  //	"DISPLAY_REDIRECT"
 28178  //	"FLASH_INPAGE"
 28179  //	"HTML5_BANNER"
 28180  //	"IMAGE"
 28181  //	"INSTREAM_AUDIO"
 28182  //	"INSTREAM_VIDEO"
 28183  //	"INSTREAM_VIDEO_REDIRECT"
 28184  //	"INTERNAL_REDIRECT"
 28185  //	"INTERSTITIAL_INTERNAL_REDIRECT"
 28186  //	"RICH_MEDIA_DISPLAY_BANNER"
 28187  //	"RICH_MEDIA_DISPLAY_EXPANDING"
 28188  //	"RICH_MEDIA_DISPLAY_INTERSTITIAL"
 28189  //	"RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
 28190  //	"RICH_MEDIA_IM_EXPAND"
 28191  //	"RICH_MEDIA_INPAGE_FLOATING"
 28192  //	"RICH_MEDIA_MOBILE_IN_APP"
 28193  //	"RICH_MEDIA_PEEL_DOWN"
 28194  //	"TRACKING_TEXT"
 28195  //	"VPAID_LINEAR_VIDEO"
 28196  //	"VPAID_NON_LINEAR_VIDEO"
 28197  func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
 28198  	c.urlParams_.SetMulti("types", append([]string{}, types...))
 28199  	return c
 28200  }
 28201  
 28202  // Fields allows partial responses to be retrieved. See
 28203  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28204  // for more information.
 28205  func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
 28206  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28207  	return c
 28208  }
 28209  
 28210  // IfNoneMatch sets the optional parameter which makes the operation
 28211  // fail if the object's ETag matches the given value. This is useful for
 28212  // getting updates only after the object has changed since the last
 28213  // request. Use googleapi.IsNotModified to check whether the response
 28214  // error from Do is the result of In-None-Match.
 28215  func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
 28216  	c.ifNoneMatch_ = entityTag
 28217  	return c
 28218  }
 28219  
 28220  // Context sets the context to be used in this call's Do method. Any
 28221  // pending HTTP request will be aborted if the provided context is
 28222  // canceled.
 28223  func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 28224  	c.ctx_ = ctx
 28225  	return c
 28226  }
 28227  
 28228  // Header returns an http.Header that can be modified by the caller to
 28229  // add HTTP headers to the request.
 28230  func (c *CreativesListCall) Header() http.Header {
 28231  	if c.header_ == nil {
 28232  		c.header_ = make(http.Header)
 28233  	}
 28234  	return c.header_
 28235  }
 28236  
 28237  func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 28238  	reqHeaders := make(http.Header)
 28239  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28240  	for k, v := range c.header_ {
 28241  		reqHeaders[k] = v
 28242  	}
 28243  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28244  	if c.ifNoneMatch_ != "" {
 28245  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28246  	}
 28247  	var body io.Reader = nil
 28248  	c.urlParams_.Set("alt", alt)
 28249  	c.urlParams_.Set("prettyPrint", "false")
 28250  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28251  	urls += "?" + c.urlParams_.Encode()
 28252  	req, err := http.NewRequest("GET", urls, body)
 28253  	if err != nil {
 28254  		return nil, err
 28255  	}
 28256  	req.Header = reqHeaders
 28257  	googleapi.Expand(req.URL, map[string]string{
 28258  		"profileId": strconv.FormatInt(c.profileId, 10),
 28259  	})
 28260  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28261  }
 28262  
 28263  // Do executes the "dfareporting.creatives.list" call.
 28264  // Exactly one of *CreativesListResponse or error will be non-nil. Any
 28265  // non-2xx status code is an error. Response headers are in either
 28266  // *CreativesListResponse.ServerResponse.Header or (if a response was
 28267  // returned at all) in error.(*googleapi.Error).Header. Use
 28268  // googleapi.IsNotModified to check whether the returned error was
 28269  // because http.StatusNotModified was returned.
 28270  func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
 28271  	gensupport.SetOptions(c.urlParams_, opts...)
 28272  	res, err := c.doRequest("json")
 28273  	if res != nil && res.StatusCode == http.StatusNotModified {
 28274  		if res.Body != nil {
 28275  			res.Body.Close()
 28276  		}
 28277  		return nil, &googleapi.Error{
 28278  			Code:   res.StatusCode,
 28279  			Header: res.Header,
 28280  		}
 28281  	}
 28282  	if err != nil {
 28283  		return nil, err
 28284  	}
 28285  	defer googleapi.CloseBody(res)
 28286  	if err := googleapi.CheckResponse(res); err != nil {
 28287  		return nil, err
 28288  	}
 28289  	ret := &CreativesListResponse{
 28290  		ServerResponse: googleapi.ServerResponse{
 28291  			Header:         res.Header,
 28292  			HTTPStatusCode: res.StatusCode,
 28293  		},
 28294  	}
 28295  	target := &ret
 28296  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28297  		return nil, err
 28298  	}
 28299  	return ret, nil
 28300  	// {
 28301  	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
 28302  	//   "httpMethod": "GET",
 28303  	//   "id": "dfareporting.creatives.list",
 28304  	//   "parameterOrder": [
 28305  	//     "profileId"
 28306  	//   ],
 28307  	//   "parameters": {
 28308  	//     "active": {
 28309  	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
 28310  	//       "location": "query",
 28311  	//       "type": "boolean"
 28312  	//     },
 28313  	//     "advertiserId": {
 28314  	//       "description": "Select only creatives with this advertiser ID.",
 28315  	//       "format": "int64",
 28316  	//       "location": "query",
 28317  	//       "type": "string"
 28318  	//     },
 28319  	//     "archived": {
 28320  	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
 28321  	//       "location": "query",
 28322  	//       "type": "boolean"
 28323  	//     },
 28324  	//     "campaignId": {
 28325  	//       "description": "Select only creatives with this campaign ID.",
 28326  	//       "format": "int64",
 28327  	//       "location": "query",
 28328  	//       "type": "string"
 28329  	//     },
 28330  	//     "companionCreativeIds": {
 28331  	//       "description": "Select only in-stream video creatives with these companion IDs.",
 28332  	//       "format": "int64",
 28333  	//       "location": "query",
 28334  	//       "repeated": true,
 28335  	//       "type": "string"
 28336  	//     },
 28337  	//     "creativeFieldIds": {
 28338  	//       "description": "Select only creatives with these creative field IDs.",
 28339  	//       "format": "int64",
 28340  	//       "location": "query",
 28341  	//       "repeated": true,
 28342  	//       "type": "string"
 28343  	//     },
 28344  	//     "ids": {
 28345  	//       "description": "Select only creatives with these IDs.",
 28346  	//       "format": "int64",
 28347  	//       "location": "query",
 28348  	//       "repeated": true,
 28349  	//       "type": "string"
 28350  	//     },
 28351  	//     "maxResults": {
 28352  	//       "default": "1000",
 28353  	//       "description": "Maximum number of results to return.",
 28354  	//       "format": "int32",
 28355  	//       "location": "query",
 28356  	//       "maximum": "1000",
 28357  	//       "minimum": "0",
 28358  	//       "type": "integer"
 28359  	//     },
 28360  	//     "pageToken": {
 28361  	//       "description": "Value of the nextPageToken from the previous result page.",
 28362  	//       "location": "query",
 28363  	//       "type": "string"
 28364  	//     },
 28365  	//     "profileId": {
 28366  	//       "description": "User profile ID associated with this request.",
 28367  	//       "format": "int64",
 28368  	//       "location": "path",
 28369  	//       "required": true,
 28370  	//       "type": "string"
 28371  	//     },
 28372  	//     "renderingIds": {
 28373  	//       "description": "Select only creatives with these rendering IDs.",
 28374  	//       "format": "int64",
 28375  	//       "location": "query",
 28376  	//       "repeated": true,
 28377  	//       "type": "string"
 28378  	//     },
 28379  	//     "searchString": {
 28380  	//       "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\".",
 28381  	//       "location": "query",
 28382  	//       "type": "string"
 28383  	//     },
 28384  	//     "sizeIds": {
 28385  	//       "description": "Select only creatives with these size IDs.",
 28386  	//       "format": "int64",
 28387  	//       "location": "query",
 28388  	//       "repeated": true,
 28389  	//       "type": "string"
 28390  	//     },
 28391  	//     "sortField": {
 28392  	//       "default": "ID",
 28393  	//       "description": "Field by which to sort the list.",
 28394  	//       "enum": [
 28395  	//         "ID",
 28396  	//         "NAME"
 28397  	//       ],
 28398  	//       "enumDescriptions": [
 28399  	//         "",
 28400  	//         ""
 28401  	//       ],
 28402  	//       "location": "query",
 28403  	//       "type": "string"
 28404  	//     },
 28405  	//     "sortOrder": {
 28406  	//       "default": "ASCENDING",
 28407  	//       "description": "Order of sorted results.",
 28408  	//       "enum": [
 28409  	//         "ASCENDING",
 28410  	//         "DESCENDING"
 28411  	//       ],
 28412  	//       "enumDescriptions": [
 28413  	//         "",
 28414  	//         ""
 28415  	//       ],
 28416  	//       "location": "query",
 28417  	//       "type": "string"
 28418  	//     },
 28419  	//     "studioCreativeId": {
 28420  	//       "description": "Select only creatives corresponding to this Studio creative ID.",
 28421  	//       "format": "int64",
 28422  	//       "location": "query",
 28423  	//       "type": "string"
 28424  	//     },
 28425  	//     "types": {
 28426  	//       "description": "Select only creatives with these creative types.",
 28427  	//       "enum": [
 28428  	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
 28429  	//         "CUSTOM_DISPLAY",
 28430  	//         "CUSTOM_DISPLAY_INTERSTITIAL",
 28431  	//         "DISPLAY",
 28432  	//         "DISPLAY_IMAGE_GALLERY",
 28433  	//         "DISPLAY_REDIRECT",
 28434  	//         "FLASH_INPAGE",
 28435  	//         "HTML5_BANNER",
 28436  	//         "IMAGE",
 28437  	//         "INSTREAM_AUDIO",
 28438  	//         "INSTREAM_VIDEO",
 28439  	//         "INSTREAM_VIDEO_REDIRECT",
 28440  	//         "INTERNAL_REDIRECT",
 28441  	//         "INTERSTITIAL_INTERNAL_REDIRECT",
 28442  	//         "RICH_MEDIA_DISPLAY_BANNER",
 28443  	//         "RICH_MEDIA_DISPLAY_EXPANDING",
 28444  	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
 28445  	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
 28446  	//         "RICH_MEDIA_IM_EXPAND",
 28447  	//         "RICH_MEDIA_INPAGE_FLOATING",
 28448  	//         "RICH_MEDIA_MOBILE_IN_APP",
 28449  	//         "RICH_MEDIA_PEEL_DOWN",
 28450  	//         "TRACKING_TEXT",
 28451  	//         "VPAID_LINEAR_VIDEO",
 28452  	//         "VPAID_NON_LINEAR_VIDEO"
 28453  	//       ],
 28454  	//       "enumDescriptions": [
 28455  	//         "",
 28456  	//         "",
 28457  	//         "",
 28458  	//         "",
 28459  	//         "",
 28460  	//         "",
 28461  	//         "",
 28462  	//         "",
 28463  	//         "",
 28464  	//         "",
 28465  	//         "",
 28466  	//         "",
 28467  	//         "",
 28468  	//         "",
 28469  	//         "",
 28470  	//         "",
 28471  	//         "",
 28472  	//         "",
 28473  	//         "",
 28474  	//         "",
 28475  	//         "",
 28476  	//         "",
 28477  	//         "",
 28478  	//         "",
 28479  	//         ""
 28480  	//       ],
 28481  	//       "location": "query",
 28482  	//       "repeated": true,
 28483  	//       "type": "string"
 28484  	//     }
 28485  	//   },
 28486  	//   "path": "userprofiles/{profileId}/creatives",
 28487  	//   "response": {
 28488  	//     "$ref": "CreativesListResponse"
 28489  	//   },
 28490  	//   "scopes": [
 28491  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28492  	//   ]
 28493  	// }
 28494  
 28495  }
 28496  
 28497  // Pages invokes f for each page of results.
 28498  // A non-nil error returned from f will halt the iteration.
 28499  // The provided context supersedes any context provided to the Context method.
 28500  func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
 28501  	c.ctx_ = ctx
 28502  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 28503  	for {
 28504  		x, err := c.Do()
 28505  		if err != nil {
 28506  			return err
 28507  		}
 28508  		if err := f(x); err != nil {
 28509  			return err
 28510  		}
 28511  		if x.NextPageToken == "" {
 28512  			return nil
 28513  		}
 28514  		c.PageToken(x.NextPageToken)
 28515  	}
 28516  }
 28517  
 28518  // method id "dfareporting.creatives.patch":
 28519  
 28520  type CreativesPatchCall struct {
 28521  	s          *Service
 28522  	profileId  int64
 28523  	creative   *Creative
 28524  	urlParams_ gensupport.URLParams
 28525  	ctx_       context.Context
 28526  	header_    http.Header
 28527  }
 28528  
 28529  // Patch: Updates an existing creative. This method supports patch
 28530  // semantics.
 28531  func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
 28532  	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28533  	c.profileId = profileId
 28534  	c.urlParams_.Set("id", fmt.Sprint(id))
 28535  	c.creative = creative
 28536  	return c
 28537  }
 28538  
 28539  // Fields allows partial responses to be retrieved. See
 28540  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28541  // for more information.
 28542  func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
 28543  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28544  	return c
 28545  }
 28546  
 28547  // Context sets the context to be used in this call's Do method. Any
 28548  // pending HTTP request will be aborted if the provided context is
 28549  // canceled.
 28550  func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
 28551  	c.ctx_ = ctx
 28552  	return c
 28553  }
 28554  
 28555  // Header returns an http.Header that can be modified by the caller to
 28556  // add HTTP headers to the request.
 28557  func (c *CreativesPatchCall) Header() http.Header {
 28558  	if c.header_ == nil {
 28559  		c.header_ = make(http.Header)
 28560  	}
 28561  	return c.header_
 28562  }
 28563  
 28564  func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 28565  	reqHeaders := make(http.Header)
 28566  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28567  	for k, v := range c.header_ {
 28568  		reqHeaders[k] = v
 28569  	}
 28570  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28571  	var body io.Reader = nil
 28572  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 28573  	if err != nil {
 28574  		return nil, err
 28575  	}
 28576  	reqHeaders.Set("Content-Type", "application/json")
 28577  	c.urlParams_.Set("alt", alt)
 28578  	c.urlParams_.Set("prettyPrint", "false")
 28579  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28580  	urls += "?" + c.urlParams_.Encode()
 28581  	req, err := http.NewRequest("PATCH", urls, body)
 28582  	if err != nil {
 28583  		return nil, err
 28584  	}
 28585  	req.Header = reqHeaders
 28586  	googleapi.Expand(req.URL, map[string]string{
 28587  		"profileId": strconv.FormatInt(c.profileId, 10),
 28588  	})
 28589  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28590  }
 28591  
 28592  // Do executes the "dfareporting.creatives.patch" call.
 28593  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28594  // code is an error. Response headers are in either
 28595  // *Creative.ServerResponse.Header or (if a response was returned at
 28596  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28597  // to check whether the returned error was because
 28598  // http.StatusNotModified was returned.
 28599  func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28600  	gensupport.SetOptions(c.urlParams_, opts...)
 28601  	res, err := c.doRequest("json")
 28602  	if res != nil && res.StatusCode == http.StatusNotModified {
 28603  		if res.Body != nil {
 28604  			res.Body.Close()
 28605  		}
 28606  		return nil, &googleapi.Error{
 28607  			Code:   res.StatusCode,
 28608  			Header: res.Header,
 28609  		}
 28610  	}
 28611  	if err != nil {
 28612  		return nil, err
 28613  	}
 28614  	defer googleapi.CloseBody(res)
 28615  	if err := googleapi.CheckResponse(res); err != nil {
 28616  		return nil, err
 28617  	}
 28618  	ret := &Creative{
 28619  		ServerResponse: googleapi.ServerResponse{
 28620  			Header:         res.Header,
 28621  			HTTPStatusCode: res.StatusCode,
 28622  		},
 28623  	}
 28624  	target := &ret
 28625  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28626  		return nil, err
 28627  	}
 28628  	return ret, nil
 28629  	// {
 28630  	//   "description": "Updates an existing creative. This method supports patch semantics.",
 28631  	//   "httpMethod": "PATCH",
 28632  	//   "id": "dfareporting.creatives.patch",
 28633  	//   "parameterOrder": [
 28634  	//     "profileId",
 28635  	//     "id"
 28636  	//   ],
 28637  	//   "parameters": {
 28638  	//     "id": {
 28639  	//       "description": "Creative ID.",
 28640  	//       "format": "int64",
 28641  	//       "location": "query",
 28642  	//       "required": true,
 28643  	//       "type": "string"
 28644  	//     },
 28645  	//     "profileId": {
 28646  	//       "description": "User profile ID associated with this request.",
 28647  	//       "format": "int64",
 28648  	//       "location": "path",
 28649  	//       "required": true,
 28650  	//       "type": "string"
 28651  	//     }
 28652  	//   },
 28653  	//   "path": "userprofiles/{profileId}/creatives",
 28654  	//   "request": {
 28655  	//     "$ref": "Creative"
 28656  	//   },
 28657  	//   "response": {
 28658  	//     "$ref": "Creative"
 28659  	//   },
 28660  	//   "scopes": [
 28661  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28662  	//   ]
 28663  	// }
 28664  
 28665  }
 28666  
 28667  // method id "dfareporting.creatives.update":
 28668  
 28669  type CreativesUpdateCall struct {
 28670  	s          *Service
 28671  	profileId  int64
 28672  	creative   *Creative
 28673  	urlParams_ gensupport.URLParams
 28674  	ctx_       context.Context
 28675  	header_    http.Header
 28676  }
 28677  
 28678  // Update: Updates an existing creative.
 28679  func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
 28680  	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28681  	c.profileId = profileId
 28682  	c.creative = creative
 28683  	return c
 28684  }
 28685  
 28686  // Fields allows partial responses to be retrieved. See
 28687  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28688  // for more information.
 28689  func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
 28690  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28691  	return c
 28692  }
 28693  
 28694  // Context sets the context to be used in this call's Do method. Any
 28695  // pending HTTP request will be aborted if the provided context is
 28696  // canceled.
 28697  func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
 28698  	c.ctx_ = ctx
 28699  	return c
 28700  }
 28701  
 28702  // Header returns an http.Header that can be modified by the caller to
 28703  // add HTTP headers to the request.
 28704  func (c *CreativesUpdateCall) Header() http.Header {
 28705  	if c.header_ == nil {
 28706  		c.header_ = make(http.Header)
 28707  	}
 28708  	return c.header_
 28709  }
 28710  
 28711  func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
 28712  	reqHeaders := make(http.Header)
 28713  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28714  	for k, v := range c.header_ {
 28715  		reqHeaders[k] = v
 28716  	}
 28717  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28718  	var body io.Reader = nil
 28719  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 28720  	if err != nil {
 28721  		return nil, err
 28722  	}
 28723  	reqHeaders.Set("Content-Type", "application/json")
 28724  	c.urlParams_.Set("alt", alt)
 28725  	c.urlParams_.Set("prettyPrint", "false")
 28726  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28727  	urls += "?" + c.urlParams_.Encode()
 28728  	req, err := http.NewRequest("PUT", urls, body)
 28729  	if err != nil {
 28730  		return nil, err
 28731  	}
 28732  	req.Header = reqHeaders
 28733  	googleapi.Expand(req.URL, map[string]string{
 28734  		"profileId": strconv.FormatInt(c.profileId, 10),
 28735  	})
 28736  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28737  }
 28738  
 28739  // Do executes the "dfareporting.creatives.update" call.
 28740  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28741  // code is an error. Response headers are in either
 28742  // *Creative.ServerResponse.Header or (if a response was returned at
 28743  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28744  // to check whether the returned error was because
 28745  // http.StatusNotModified was returned.
 28746  func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28747  	gensupport.SetOptions(c.urlParams_, opts...)
 28748  	res, err := c.doRequest("json")
 28749  	if res != nil && res.StatusCode == http.StatusNotModified {
 28750  		if res.Body != nil {
 28751  			res.Body.Close()
 28752  		}
 28753  		return nil, &googleapi.Error{
 28754  			Code:   res.StatusCode,
 28755  			Header: res.Header,
 28756  		}
 28757  	}
 28758  	if err != nil {
 28759  		return nil, err
 28760  	}
 28761  	defer googleapi.CloseBody(res)
 28762  	if err := googleapi.CheckResponse(res); err != nil {
 28763  		return nil, err
 28764  	}
 28765  	ret := &Creative{
 28766  		ServerResponse: googleapi.ServerResponse{
 28767  			Header:         res.Header,
 28768  			HTTPStatusCode: res.StatusCode,
 28769  		},
 28770  	}
 28771  	target := &ret
 28772  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28773  		return nil, err
 28774  	}
 28775  	return ret, nil
 28776  	// {
 28777  	//   "description": "Updates an existing creative.",
 28778  	//   "httpMethod": "PUT",
 28779  	//   "id": "dfareporting.creatives.update",
 28780  	//   "parameterOrder": [
 28781  	//     "profileId"
 28782  	//   ],
 28783  	//   "parameters": {
 28784  	//     "profileId": {
 28785  	//       "description": "User profile ID associated with this request.",
 28786  	//       "format": "int64",
 28787  	//       "location": "path",
 28788  	//       "required": true,
 28789  	//       "type": "string"
 28790  	//     }
 28791  	//   },
 28792  	//   "path": "userprofiles/{profileId}/creatives",
 28793  	//   "request": {
 28794  	//     "$ref": "Creative"
 28795  	//   },
 28796  	//   "response": {
 28797  	//     "$ref": "Creative"
 28798  	//   },
 28799  	//   "scopes": [
 28800  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28801  	//   ]
 28802  	// }
 28803  
 28804  }
 28805  
 28806  // method id "dfareporting.dimensionValues.query":
 28807  
 28808  type DimensionValuesQueryCall struct {
 28809  	s                     *Service
 28810  	profileId             int64
 28811  	dimensionvaluerequest *DimensionValueRequest
 28812  	urlParams_            gensupport.URLParams
 28813  	ctx_                  context.Context
 28814  	header_               http.Header
 28815  }
 28816  
 28817  // Query: Retrieves list of report dimension values for a list of
 28818  // filters.
 28819  func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
 28820  	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28821  	c.profileId = profileId
 28822  	c.dimensionvaluerequest = dimensionvaluerequest
 28823  	return c
 28824  }
 28825  
 28826  // MaxResults sets the optional parameter "maxResults": Maximum number
 28827  // of results to return.
 28828  func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
 28829  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 28830  	return c
 28831  }
 28832  
 28833  // PageToken sets the optional parameter "pageToken": The value of the
 28834  // nextToken from the previous result page.
 28835  func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
 28836  	c.urlParams_.Set("pageToken", pageToken)
 28837  	return c
 28838  }
 28839  
 28840  // Fields allows partial responses to be retrieved. See
 28841  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28842  // for more information.
 28843  func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
 28844  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28845  	return c
 28846  }
 28847  
 28848  // Context sets the context to be used in this call's Do method. Any
 28849  // pending HTTP request will be aborted if the provided context is
 28850  // canceled.
 28851  func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 28852  	c.ctx_ = ctx
 28853  	return c
 28854  }
 28855  
 28856  // Header returns an http.Header that can be modified by the caller to
 28857  // add HTTP headers to the request.
 28858  func (c *DimensionValuesQueryCall) Header() http.Header {
 28859  	if c.header_ == nil {
 28860  		c.header_ = make(http.Header)
 28861  	}
 28862  	return c.header_
 28863  }
 28864  
 28865  func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
 28866  	reqHeaders := make(http.Header)
 28867  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28868  	for k, v := range c.header_ {
 28869  		reqHeaders[k] = v
 28870  	}
 28871  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28872  	var body io.Reader = nil
 28873  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
 28874  	if err != nil {
 28875  		return nil, err
 28876  	}
 28877  	reqHeaders.Set("Content-Type", "application/json")
 28878  	c.urlParams_.Set("alt", alt)
 28879  	c.urlParams_.Set("prettyPrint", "false")
 28880  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
 28881  	urls += "?" + c.urlParams_.Encode()
 28882  	req, err := http.NewRequest("POST", urls, body)
 28883  	if err != nil {
 28884  		return nil, err
 28885  	}
 28886  	req.Header = reqHeaders
 28887  	googleapi.Expand(req.URL, map[string]string{
 28888  		"profileId": strconv.FormatInt(c.profileId, 10),
 28889  	})
 28890  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28891  }
 28892  
 28893  // Do executes the "dfareporting.dimensionValues.query" call.
 28894  // Exactly one of *DimensionValueList or error will be non-nil. Any
 28895  // non-2xx status code is an error. Response headers are in either
 28896  // *DimensionValueList.ServerResponse.Header or (if a response was
 28897  // returned at all) in error.(*googleapi.Error).Header. Use
 28898  // googleapi.IsNotModified to check whether the returned error was
 28899  // because http.StatusNotModified was returned.
 28900  func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
 28901  	gensupport.SetOptions(c.urlParams_, opts...)
 28902  	res, err := c.doRequest("json")
 28903  	if res != nil && res.StatusCode == http.StatusNotModified {
 28904  		if res.Body != nil {
 28905  			res.Body.Close()
 28906  		}
 28907  		return nil, &googleapi.Error{
 28908  			Code:   res.StatusCode,
 28909  			Header: res.Header,
 28910  		}
 28911  	}
 28912  	if err != nil {
 28913  		return nil, err
 28914  	}
 28915  	defer googleapi.CloseBody(res)
 28916  	if err := googleapi.CheckResponse(res); err != nil {
 28917  		return nil, err
 28918  	}
 28919  	ret := &DimensionValueList{
 28920  		ServerResponse: googleapi.ServerResponse{
 28921  			Header:         res.Header,
 28922  			HTTPStatusCode: res.StatusCode,
 28923  		},
 28924  	}
 28925  	target := &ret
 28926  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28927  		return nil, err
 28928  	}
 28929  	return ret, nil
 28930  	// {
 28931  	//   "description": "Retrieves list of report dimension values for a list of filters.",
 28932  	//   "httpMethod": "POST",
 28933  	//   "id": "dfareporting.dimensionValues.query",
 28934  	//   "parameterOrder": [
 28935  	//     "profileId"
 28936  	//   ],
 28937  	//   "parameters": {
 28938  	//     "maxResults": {
 28939  	//       "default": "100",
 28940  	//       "description": "Maximum number of results to return.",
 28941  	//       "format": "int32",
 28942  	//       "location": "query",
 28943  	//       "maximum": "100",
 28944  	//       "minimum": "0",
 28945  	//       "type": "integer"
 28946  	//     },
 28947  	//     "pageToken": {
 28948  	//       "description": "The value of the nextToken from the previous result page.",
 28949  	//       "location": "query",
 28950  	//       "type": "string"
 28951  	//     },
 28952  	//     "profileId": {
 28953  	//       "description": "The DFA user profile ID.",
 28954  	//       "format": "int64",
 28955  	//       "location": "path",
 28956  	//       "required": true,
 28957  	//       "type": "string"
 28958  	//     }
 28959  	//   },
 28960  	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
 28961  	//   "request": {
 28962  	//     "$ref": "DimensionValueRequest"
 28963  	//   },
 28964  	//   "response": {
 28965  	//     "$ref": "DimensionValueList"
 28966  	//   },
 28967  	//   "scopes": [
 28968  	//     "https://www.googleapis.com/auth/dfareporting"
 28969  	//   ]
 28970  	// }
 28971  
 28972  }
 28973  
 28974  // Pages invokes f for each page of results.
 28975  // A non-nil error returned from f will halt the iteration.
 28976  // The provided context supersedes any context provided to the Context method.
 28977  func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
 28978  	c.ctx_ = ctx
 28979  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 28980  	for {
 28981  		x, err := c.Do()
 28982  		if err != nil {
 28983  			return err
 28984  		}
 28985  		if err := f(x); err != nil {
 28986  			return err
 28987  		}
 28988  		if x.NextPageToken == "" {
 28989  			return nil
 28990  		}
 28991  		c.PageToken(x.NextPageToken)
 28992  	}
 28993  }
 28994  
 28995  // method id "dfareporting.directorySites.get":
 28996  
 28997  type DirectorySitesGetCall struct {
 28998  	s            *Service
 28999  	profileId    int64
 29000  	id           int64
 29001  	urlParams_   gensupport.URLParams
 29002  	ifNoneMatch_ string
 29003  	ctx_         context.Context
 29004  	header_      http.Header
 29005  }
 29006  
 29007  // Get: Gets one directory site by ID.
 29008  func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
 29009  	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29010  	c.profileId = profileId
 29011  	c.id = id
 29012  	return c
 29013  }
 29014  
 29015  // Fields allows partial responses to be retrieved. See
 29016  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29017  // for more information.
 29018  func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
 29019  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29020  	return c
 29021  }
 29022  
 29023  // IfNoneMatch sets the optional parameter which makes the operation
 29024  // fail if the object's ETag matches the given value. This is useful for
 29025  // getting updates only after the object has changed since the last
 29026  // request. Use googleapi.IsNotModified to check whether the response
 29027  // error from Do is the result of In-None-Match.
 29028  func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
 29029  	c.ifNoneMatch_ = entityTag
 29030  	return c
 29031  }
 29032  
 29033  // Context sets the context to be used in this call's Do method. Any
 29034  // pending HTTP request will be aborted if the provided context is
 29035  // canceled.
 29036  func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
 29037  	c.ctx_ = ctx
 29038  	return c
 29039  }
 29040  
 29041  // Header returns an http.Header that can be modified by the caller to
 29042  // add HTTP headers to the request.
 29043  func (c *DirectorySitesGetCall) Header() http.Header {
 29044  	if c.header_ == nil {
 29045  		c.header_ = make(http.Header)
 29046  	}
 29047  	return c.header_
 29048  }
 29049  
 29050  func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 29051  	reqHeaders := make(http.Header)
 29052  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29053  	for k, v := range c.header_ {
 29054  		reqHeaders[k] = v
 29055  	}
 29056  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29057  	if c.ifNoneMatch_ != "" {
 29058  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29059  	}
 29060  	var body io.Reader = nil
 29061  	c.urlParams_.Set("alt", alt)
 29062  	c.urlParams_.Set("prettyPrint", "false")
 29063  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
 29064  	urls += "?" + c.urlParams_.Encode()
 29065  	req, err := http.NewRequest("GET", urls, body)
 29066  	if err != nil {
 29067  		return nil, err
 29068  	}
 29069  	req.Header = reqHeaders
 29070  	googleapi.Expand(req.URL, map[string]string{
 29071  		"profileId": strconv.FormatInt(c.profileId, 10),
 29072  		"id":        strconv.FormatInt(c.id, 10),
 29073  	})
 29074  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29075  }
 29076  
 29077  // Do executes the "dfareporting.directorySites.get" call.
 29078  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 29079  // status code is an error. Response headers are in either
 29080  // *DirectorySite.ServerResponse.Header or (if a response was returned
 29081  // at all) in error.(*googleapi.Error).Header. Use
 29082  // googleapi.IsNotModified to check whether the returned error was
 29083  // because http.StatusNotModified was returned.
 29084  func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 29085  	gensupport.SetOptions(c.urlParams_, opts...)
 29086  	res, err := c.doRequest("json")
 29087  	if res != nil && res.StatusCode == http.StatusNotModified {
 29088  		if res.Body != nil {
 29089  			res.Body.Close()
 29090  		}
 29091  		return nil, &googleapi.Error{
 29092  			Code:   res.StatusCode,
 29093  			Header: res.Header,
 29094  		}
 29095  	}
 29096  	if err != nil {
 29097  		return nil, err
 29098  	}
 29099  	defer googleapi.CloseBody(res)
 29100  	if err := googleapi.CheckResponse(res); err != nil {
 29101  		return nil, err
 29102  	}
 29103  	ret := &DirectorySite{
 29104  		ServerResponse: googleapi.ServerResponse{
 29105  			Header:         res.Header,
 29106  			HTTPStatusCode: res.StatusCode,
 29107  		},
 29108  	}
 29109  	target := &ret
 29110  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29111  		return nil, err
 29112  	}
 29113  	return ret, nil
 29114  	// {
 29115  	//   "description": "Gets one directory site by ID.",
 29116  	//   "httpMethod": "GET",
 29117  	//   "id": "dfareporting.directorySites.get",
 29118  	//   "parameterOrder": [
 29119  	//     "profileId",
 29120  	//     "id"
 29121  	//   ],
 29122  	//   "parameters": {
 29123  	//     "id": {
 29124  	//       "description": "Directory site ID.",
 29125  	//       "format": "int64",
 29126  	//       "location": "path",
 29127  	//       "required": true,
 29128  	//       "type": "string"
 29129  	//     },
 29130  	//     "profileId": {
 29131  	//       "description": "User profile ID associated with this request.",
 29132  	//       "format": "int64",
 29133  	//       "location": "path",
 29134  	//       "required": true,
 29135  	//       "type": "string"
 29136  	//     }
 29137  	//   },
 29138  	//   "path": "userprofiles/{profileId}/directorySites/{id}",
 29139  	//   "response": {
 29140  	//     "$ref": "DirectorySite"
 29141  	//   },
 29142  	//   "scopes": [
 29143  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29144  	//   ]
 29145  	// }
 29146  
 29147  }
 29148  
 29149  // method id "dfareporting.directorySites.insert":
 29150  
 29151  type DirectorySitesInsertCall struct {
 29152  	s             *Service
 29153  	profileId     int64
 29154  	directorysite *DirectorySite
 29155  	urlParams_    gensupport.URLParams
 29156  	ctx_          context.Context
 29157  	header_       http.Header
 29158  }
 29159  
 29160  // Insert: Inserts a new directory site.
 29161  func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
 29162  	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29163  	c.profileId = profileId
 29164  	c.directorysite = directorysite
 29165  	return c
 29166  }
 29167  
 29168  // Fields allows partial responses to be retrieved. See
 29169  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29170  // for more information.
 29171  func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
 29172  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29173  	return c
 29174  }
 29175  
 29176  // Context sets the context to be used in this call's Do method. Any
 29177  // pending HTTP request will be aborted if the provided context is
 29178  // canceled.
 29179  func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
 29180  	c.ctx_ = ctx
 29181  	return c
 29182  }
 29183  
 29184  // Header returns an http.Header that can be modified by the caller to
 29185  // add HTTP headers to the request.
 29186  func (c *DirectorySitesInsertCall) Header() http.Header {
 29187  	if c.header_ == nil {
 29188  		c.header_ = make(http.Header)
 29189  	}
 29190  	return c.header_
 29191  }
 29192  
 29193  func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
 29194  	reqHeaders := make(http.Header)
 29195  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29196  	for k, v := range c.header_ {
 29197  		reqHeaders[k] = v
 29198  	}
 29199  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29200  	var body io.Reader = nil
 29201  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
 29202  	if err != nil {
 29203  		return nil, err
 29204  	}
 29205  	reqHeaders.Set("Content-Type", "application/json")
 29206  	c.urlParams_.Set("alt", alt)
 29207  	c.urlParams_.Set("prettyPrint", "false")
 29208  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 29209  	urls += "?" + c.urlParams_.Encode()
 29210  	req, err := http.NewRequest("POST", urls, body)
 29211  	if err != nil {
 29212  		return nil, err
 29213  	}
 29214  	req.Header = reqHeaders
 29215  	googleapi.Expand(req.URL, map[string]string{
 29216  		"profileId": strconv.FormatInt(c.profileId, 10),
 29217  	})
 29218  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29219  }
 29220  
 29221  // Do executes the "dfareporting.directorySites.insert" call.
 29222  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 29223  // status code is an error. Response headers are in either
 29224  // *DirectorySite.ServerResponse.Header or (if a response was returned
 29225  // at all) in error.(*googleapi.Error).Header. Use
 29226  // googleapi.IsNotModified to check whether the returned error was
 29227  // because http.StatusNotModified was returned.
 29228  func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 29229  	gensupport.SetOptions(c.urlParams_, opts...)
 29230  	res, err := c.doRequest("json")
 29231  	if res != nil && res.StatusCode == http.StatusNotModified {
 29232  		if res.Body != nil {
 29233  			res.Body.Close()
 29234  		}
 29235  		return nil, &googleapi.Error{
 29236  			Code:   res.StatusCode,
 29237  			Header: res.Header,
 29238  		}
 29239  	}
 29240  	if err != nil {
 29241  		return nil, err
 29242  	}
 29243  	defer googleapi.CloseBody(res)
 29244  	if err := googleapi.CheckResponse(res); err != nil {
 29245  		return nil, err
 29246  	}
 29247  	ret := &DirectorySite{
 29248  		ServerResponse: googleapi.ServerResponse{
 29249  			Header:         res.Header,
 29250  			HTTPStatusCode: res.StatusCode,
 29251  		},
 29252  	}
 29253  	target := &ret
 29254  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29255  		return nil, err
 29256  	}
 29257  	return ret, nil
 29258  	// {
 29259  	//   "description": "Inserts a new directory site.",
 29260  	//   "httpMethod": "POST",
 29261  	//   "id": "dfareporting.directorySites.insert",
 29262  	//   "parameterOrder": [
 29263  	//     "profileId"
 29264  	//   ],
 29265  	//   "parameters": {
 29266  	//     "profileId": {
 29267  	//       "description": "User profile ID associated with this request.",
 29268  	//       "format": "int64",
 29269  	//       "location": "path",
 29270  	//       "required": true,
 29271  	//       "type": "string"
 29272  	//     }
 29273  	//   },
 29274  	//   "path": "userprofiles/{profileId}/directorySites",
 29275  	//   "request": {
 29276  	//     "$ref": "DirectorySite"
 29277  	//   },
 29278  	//   "response": {
 29279  	//     "$ref": "DirectorySite"
 29280  	//   },
 29281  	//   "scopes": [
 29282  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29283  	//   ]
 29284  	// }
 29285  
 29286  }
 29287  
 29288  // method id "dfareporting.directorySites.list":
 29289  
 29290  type DirectorySitesListCall struct {
 29291  	s            *Service
 29292  	profileId    int64
 29293  	urlParams_   gensupport.URLParams
 29294  	ifNoneMatch_ string
 29295  	ctx_         context.Context
 29296  	header_      http.Header
 29297  }
 29298  
 29299  // List: Retrieves a list of directory sites, possibly filtered. This
 29300  // method supports paging.
 29301  func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
 29302  	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29303  	c.profileId = profileId
 29304  	return c
 29305  }
 29306  
 29307  // AcceptsInStreamVideoPlacements sets the optional parameter
 29308  // "acceptsInStreamVideoPlacements": This search filter is no longer
 29309  // supported and will have no effect on the results returned.
 29310  func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
 29311  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 29312  	return c
 29313  }
 29314  
 29315  // AcceptsInterstitialPlacements sets the optional parameter
 29316  // "acceptsInterstitialPlacements": This search filter is no longer
 29317  // supported and will have no effect on the results returned.
 29318  func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
 29319  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 29320  	return c
 29321  }
 29322  
 29323  // AcceptsPublisherPaidPlacements sets the optional parameter
 29324  // "acceptsPublisherPaidPlacements": Select only directory sites that
 29325  // accept publisher paid placements. This field can be left blank.
 29326  func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
 29327  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 29328  	return c
 29329  }
 29330  
 29331  // Active sets the optional parameter "active": Select only active
 29332  // directory sites. Leave blank to retrieve both active and inactive
 29333  // directory sites.
 29334  func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
 29335  	c.urlParams_.Set("active", fmt.Sprint(active))
 29336  	return c
 29337  }
 29338  
 29339  // DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
 29340  // only directory sites with this Ad Manager network code.
 29341  func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
 29342  	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
 29343  	return c
 29344  }
 29345  
 29346  // Ids sets the optional parameter "ids": Select only directory sites
 29347  // with these IDs.
 29348  func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
 29349  	var ids_ []string
 29350  	for _, v := range ids {
 29351  		ids_ = append(ids_, fmt.Sprint(v))
 29352  	}
 29353  	c.urlParams_.SetMulti("ids", ids_)
 29354  	return c
 29355  }
 29356  
 29357  // MaxResults sets the optional parameter "maxResults": Maximum number
 29358  // of results to return.
 29359  func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
 29360  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 29361  	return c
 29362  }
 29363  
 29364  // PageToken sets the optional parameter "pageToken": Value of the
 29365  // nextPageToken from the previous result page.
 29366  func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
 29367  	c.urlParams_.Set("pageToken", pageToken)
 29368  	return c
 29369  }
 29370  
 29371  // SearchString sets the optional parameter "searchString": Allows
 29372  // searching for objects by name, ID or URL. Wildcards (*) are allowed.
 29373  // For example, "directory site*2015" will return objects with names
 29374  // like "directory site June 2015", "directory site April 2015", or
 29375  // simply "directory site 2015". Most of the searches also add wildcards
 29376  // implicitly at the start and the end of the search string. For
 29377  // example, a search string of "directory site" will match objects with
 29378  // name "my directory site", "directory site 2015" or simply, "directory
 29379  // site".
 29380  func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
 29381  	c.urlParams_.Set("searchString", searchString)
 29382  	return c
 29383  }
 29384  
 29385  // SortField sets the optional parameter "sortField": Field by which to
 29386  // sort the list.
 29387  //
 29388  // Possible values:
 29389  //
 29390  //	"ID" (default)
 29391  //	"NAME"
 29392  func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
 29393  	c.urlParams_.Set("sortField", sortField)
 29394  	return c
 29395  }
 29396  
 29397  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 29398  // results.
 29399  //
 29400  // Possible values:
 29401  //
 29402  //	"ASCENDING" (default)
 29403  //	"DESCENDING"
 29404  func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
 29405  	c.urlParams_.Set("sortOrder", sortOrder)
 29406  	return c
 29407  }
 29408  
 29409  // Fields allows partial responses to be retrieved. See
 29410  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29411  // for more information.
 29412  func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
 29413  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29414  	return c
 29415  }
 29416  
 29417  // IfNoneMatch sets the optional parameter which makes the operation
 29418  // fail if the object's ETag matches the given value. This is useful for
 29419  // getting updates only after the object has changed since the last
 29420  // request. Use googleapi.IsNotModified to check whether the response
 29421  // error from Do is the result of In-None-Match.
 29422  func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
 29423  	c.ifNoneMatch_ = entityTag
 29424  	return c
 29425  }
 29426  
 29427  // Context sets the context to be used in this call's Do method. Any
 29428  // pending HTTP request will be aborted if the provided context is
 29429  // canceled.
 29430  func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
 29431  	c.ctx_ = ctx
 29432  	return c
 29433  }
 29434  
 29435  // Header returns an http.Header that can be modified by the caller to
 29436  // add HTTP headers to the request.
 29437  func (c *DirectorySitesListCall) Header() http.Header {
 29438  	if c.header_ == nil {
 29439  		c.header_ = make(http.Header)
 29440  	}
 29441  	return c.header_
 29442  }
 29443  
 29444  func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 29445  	reqHeaders := make(http.Header)
 29446  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29447  	for k, v := range c.header_ {
 29448  		reqHeaders[k] = v
 29449  	}
 29450  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29451  	if c.ifNoneMatch_ != "" {
 29452  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29453  	}
 29454  	var body io.Reader = nil
 29455  	c.urlParams_.Set("alt", alt)
 29456  	c.urlParams_.Set("prettyPrint", "false")
 29457  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 29458  	urls += "?" + c.urlParams_.Encode()
 29459  	req, err := http.NewRequest("GET", urls, body)
 29460  	if err != nil {
 29461  		return nil, err
 29462  	}
 29463  	req.Header = reqHeaders
 29464  	googleapi.Expand(req.URL, map[string]string{
 29465  		"profileId": strconv.FormatInt(c.profileId, 10),
 29466  	})
 29467  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29468  }
 29469  
 29470  // Do executes the "dfareporting.directorySites.list" call.
 29471  // Exactly one of *DirectorySitesListResponse or error will be non-nil.
 29472  // Any non-2xx status code is an error. Response headers are in either
 29473  // *DirectorySitesListResponse.ServerResponse.Header or (if a response
 29474  // was returned at all) in error.(*googleapi.Error).Header. Use
 29475  // googleapi.IsNotModified to check whether the returned error was
 29476  // because http.StatusNotModified was returned.
 29477  func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
 29478  	gensupport.SetOptions(c.urlParams_, opts...)
 29479  	res, err := c.doRequest("json")
 29480  	if res != nil && res.StatusCode == http.StatusNotModified {
 29481  		if res.Body != nil {
 29482  			res.Body.Close()
 29483  		}
 29484  		return nil, &googleapi.Error{
 29485  			Code:   res.StatusCode,
 29486  			Header: res.Header,
 29487  		}
 29488  	}
 29489  	if err != nil {
 29490  		return nil, err
 29491  	}
 29492  	defer googleapi.CloseBody(res)
 29493  	if err := googleapi.CheckResponse(res); err != nil {
 29494  		return nil, err
 29495  	}
 29496  	ret := &DirectorySitesListResponse{
 29497  		ServerResponse: googleapi.ServerResponse{
 29498  			Header:         res.Header,
 29499  			HTTPStatusCode: res.StatusCode,
 29500  		},
 29501  	}
 29502  	target := &ret
 29503  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29504  		return nil, err
 29505  	}
 29506  	return ret, nil
 29507  	// {
 29508  	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
 29509  	//   "httpMethod": "GET",
 29510  	//   "id": "dfareporting.directorySites.list",
 29511  	//   "parameterOrder": [
 29512  	//     "profileId"
 29513  	//   ],
 29514  	//   "parameters": {
 29515  	//     "acceptsInStreamVideoPlacements": {
 29516  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 29517  	//       "location": "query",
 29518  	//       "type": "boolean"
 29519  	//     },
 29520  	//     "acceptsInterstitialPlacements": {
 29521  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 29522  	//       "location": "query",
 29523  	//       "type": "boolean"
 29524  	//     },
 29525  	//     "acceptsPublisherPaidPlacements": {
 29526  	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
 29527  	//       "location": "query",
 29528  	//       "type": "boolean"
 29529  	//     },
 29530  	//     "active": {
 29531  	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
 29532  	//       "location": "query",
 29533  	//       "type": "boolean"
 29534  	//     },
 29535  	//     "dfpNetworkCode": {
 29536  	//       "description": "Select only directory sites with this Ad Manager network code.",
 29537  	//       "location": "query",
 29538  	//       "type": "string"
 29539  	//     },
 29540  	//     "ids": {
 29541  	//       "description": "Select only directory sites with these IDs.",
 29542  	//       "format": "int64",
 29543  	//       "location": "query",
 29544  	//       "repeated": true,
 29545  	//       "type": "string"
 29546  	//     },
 29547  	//     "maxResults": {
 29548  	//       "default": "1000",
 29549  	//       "description": "Maximum number of results to return.",
 29550  	//       "format": "int32",
 29551  	//       "location": "query",
 29552  	//       "maximum": "1000",
 29553  	//       "minimum": "0",
 29554  	//       "type": "integer"
 29555  	//     },
 29556  	//     "pageToken": {
 29557  	//       "description": "Value of the nextPageToken from the previous result page.",
 29558  	//       "location": "query",
 29559  	//       "type": "string"
 29560  	//     },
 29561  	//     "profileId": {
 29562  	//       "description": "User profile ID associated with this request.",
 29563  	//       "format": "int64",
 29564  	//       "location": "path",
 29565  	//       "required": true,
 29566  	//       "type": "string"
 29567  	//     },
 29568  	//     "searchString": {
 29569  	//       "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\".",
 29570  	//       "location": "query",
 29571  	//       "type": "string"
 29572  	//     },
 29573  	//     "sortField": {
 29574  	//       "default": "ID",
 29575  	//       "description": "Field by which to sort the list.",
 29576  	//       "enum": [
 29577  	//         "ID",
 29578  	//         "NAME"
 29579  	//       ],
 29580  	//       "enumDescriptions": [
 29581  	//         "",
 29582  	//         ""
 29583  	//       ],
 29584  	//       "location": "query",
 29585  	//       "type": "string"
 29586  	//     },
 29587  	//     "sortOrder": {
 29588  	//       "default": "ASCENDING",
 29589  	//       "description": "Order of sorted results.",
 29590  	//       "enum": [
 29591  	//         "ASCENDING",
 29592  	//         "DESCENDING"
 29593  	//       ],
 29594  	//       "enumDescriptions": [
 29595  	//         "",
 29596  	//         ""
 29597  	//       ],
 29598  	//       "location": "query",
 29599  	//       "type": "string"
 29600  	//     }
 29601  	//   },
 29602  	//   "path": "userprofiles/{profileId}/directorySites",
 29603  	//   "response": {
 29604  	//     "$ref": "DirectorySitesListResponse"
 29605  	//   },
 29606  	//   "scopes": [
 29607  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29608  	//   ]
 29609  	// }
 29610  
 29611  }
 29612  
 29613  // Pages invokes f for each page of results.
 29614  // A non-nil error returned from f will halt the iteration.
 29615  // The provided context supersedes any context provided to the Context method.
 29616  func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
 29617  	c.ctx_ = ctx
 29618  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 29619  	for {
 29620  		x, err := c.Do()
 29621  		if err != nil {
 29622  			return err
 29623  		}
 29624  		if err := f(x); err != nil {
 29625  			return err
 29626  		}
 29627  		if x.NextPageToken == "" {
 29628  			return nil
 29629  		}
 29630  		c.PageToken(x.NextPageToken)
 29631  	}
 29632  }
 29633  
 29634  // method id "dfareporting.dynamicTargetingKeys.delete":
 29635  
 29636  type DynamicTargetingKeysDeleteCall struct {
 29637  	s          *Service
 29638  	profileId  int64
 29639  	objectId   int64
 29640  	urlParams_ gensupport.URLParams
 29641  	ctx_       context.Context
 29642  	header_    http.Header
 29643  }
 29644  
 29645  // Delete: Deletes an existing dynamic targeting key.
 29646  func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
 29647  	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29648  	c.profileId = profileId
 29649  	c.objectId = objectId
 29650  	c.urlParams_.Set("name", name)
 29651  	c.urlParams_.Set("objectType", objectType)
 29652  	return c
 29653  }
 29654  
 29655  // Fields allows partial responses to be retrieved. See
 29656  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29657  // for more information.
 29658  func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
 29659  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29660  	return c
 29661  }
 29662  
 29663  // Context sets the context to be used in this call's Do method. Any
 29664  // pending HTTP request will be aborted if the provided context is
 29665  // canceled.
 29666  func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
 29667  	c.ctx_ = ctx
 29668  	return c
 29669  }
 29670  
 29671  // Header returns an http.Header that can be modified by the caller to
 29672  // add HTTP headers to the request.
 29673  func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
 29674  	if c.header_ == nil {
 29675  		c.header_ = make(http.Header)
 29676  	}
 29677  	return c.header_
 29678  }
 29679  
 29680  func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 29681  	reqHeaders := make(http.Header)
 29682  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29683  	for k, v := range c.header_ {
 29684  		reqHeaders[k] = v
 29685  	}
 29686  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29687  	var body io.Reader = nil
 29688  	c.urlParams_.Set("alt", alt)
 29689  	c.urlParams_.Set("prettyPrint", "false")
 29690  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
 29691  	urls += "?" + c.urlParams_.Encode()
 29692  	req, err := http.NewRequest("DELETE", urls, body)
 29693  	if err != nil {
 29694  		return nil, err
 29695  	}
 29696  	req.Header = reqHeaders
 29697  	googleapi.Expand(req.URL, map[string]string{
 29698  		"profileId": strconv.FormatInt(c.profileId, 10),
 29699  		"objectId":  strconv.FormatInt(c.objectId, 10),
 29700  	})
 29701  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29702  }
 29703  
 29704  // Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
 29705  func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
 29706  	gensupport.SetOptions(c.urlParams_, opts...)
 29707  	res, err := c.doRequest("json")
 29708  	if err != nil {
 29709  		return err
 29710  	}
 29711  	defer googleapi.CloseBody(res)
 29712  	if err := googleapi.CheckResponse(res); err != nil {
 29713  		return err
 29714  	}
 29715  	return nil
 29716  	// {
 29717  	//   "description": "Deletes an existing dynamic targeting key.",
 29718  	//   "httpMethod": "DELETE",
 29719  	//   "id": "dfareporting.dynamicTargetingKeys.delete",
 29720  	//   "parameterOrder": [
 29721  	//     "profileId",
 29722  	//     "objectId",
 29723  	//     "name",
 29724  	//     "objectType"
 29725  	//   ],
 29726  	//   "parameters": {
 29727  	//     "name": {
 29728  	//       "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.",
 29729  	//       "location": "query",
 29730  	//       "required": true,
 29731  	//       "type": "string"
 29732  	//     },
 29733  	//     "objectId": {
 29734  	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
 29735  	//       "format": "int64",
 29736  	//       "location": "path",
 29737  	//       "required": true,
 29738  	//       "type": "string"
 29739  	//     },
 29740  	//     "objectType": {
 29741  	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
 29742  	//       "enum": [
 29743  	//         "OBJECT_AD",
 29744  	//         "OBJECT_ADVERTISER",
 29745  	//         "OBJECT_CREATIVE",
 29746  	//         "OBJECT_PLACEMENT"
 29747  	//       ],
 29748  	//       "enumDescriptions": [
 29749  	//         "",
 29750  	//         "",
 29751  	//         "",
 29752  	//         ""
 29753  	//       ],
 29754  	//       "location": "query",
 29755  	//       "required": true,
 29756  	//       "type": "string"
 29757  	//     },
 29758  	//     "profileId": {
 29759  	//       "description": "User profile ID associated with this request.",
 29760  	//       "format": "int64",
 29761  	//       "location": "path",
 29762  	//       "required": true,
 29763  	//       "type": "string"
 29764  	//     }
 29765  	//   },
 29766  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
 29767  	//   "scopes": [
 29768  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29769  	//   ]
 29770  	// }
 29771  
 29772  }
 29773  
 29774  // method id "dfareporting.dynamicTargetingKeys.insert":
 29775  
 29776  type DynamicTargetingKeysInsertCall struct {
 29777  	s                   *Service
 29778  	profileId           int64
 29779  	dynamictargetingkey *DynamicTargetingKey
 29780  	urlParams_          gensupport.URLParams
 29781  	ctx_                context.Context
 29782  	header_             http.Header
 29783  }
 29784  
 29785  // Insert: Inserts a new dynamic targeting key. Keys must be created at
 29786  // the advertiser level before being assigned to the advertiser's ads,
 29787  // creatives, or placements. There is a maximum of 1000 keys per
 29788  // advertiser, out of which a maximum of 20 keys can be assigned per ad,
 29789  // creative, or placement.
 29790  func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
 29791  	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29792  	c.profileId = profileId
 29793  	c.dynamictargetingkey = dynamictargetingkey
 29794  	return c
 29795  }
 29796  
 29797  // Fields allows partial responses to be retrieved. See
 29798  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29799  // for more information.
 29800  func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
 29801  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29802  	return c
 29803  }
 29804  
 29805  // Context sets the context to be used in this call's Do method. Any
 29806  // pending HTTP request will be aborted if the provided context is
 29807  // canceled.
 29808  func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
 29809  	c.ctx_ = ctx
 29810  	return c
 29811  }
 29812  
 29813  // Header returns an http.Header that can be modified by the caller to
 29814  // add HTTP headers to the request.
 29815  func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
 29816  	if c.header_ == nil {
 29817  		c.header_ = make(http.Header)
 29818  	}
 29819  	return c.header_
 29820  }
 29821  
 29822  func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
 29823  	reqHeaders := make(http.Header)
 29824  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29825  	for k, v := range c.header_ {
 29826  		reqHeaders[k] = v
 29827  	}
 29828  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29829  	var body io.Reader = nil
 29830  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
 29831  	if err != nil {
 29832  		return nil, err
 29833  	}
 29834  	reqHeaders.Set("Content-Type", "application/json")
 29835  	c.urlParams_.Set("alt", alt)
 29836  	c.urlParams_.Set("prettyPrint", "false")
 29837  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 29838  	urls += "?" + c.urlParams_.Encode()
 29839  	req, err := http.NewRequest("POST", urls, body)
 29840  	if err != nil {
 29841  		return nil, err
 29842  	}
 29843  	req.Header = reqHeaders
 29844  	googleapi.Expand(req.URL, map[string]string{
 29845  		"profileId": strconv.FormatInt(c.profileId, 10),
 29846  	})
 29847  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29848  }
 29849  
 29850  // Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
 29851  // Exactly one of *DynamicTargetingKey or error will be non-nil. Any
 29852  // non-2xx status code is an error. Response headers are in either
 29853  // *DynamicTargetingKey.ServerResponse.Header or (if a response was
 29854  // returned at all) in error.(*googleapi.Error).Header. Use
 29855  // googleapi.IsNotModified to check whether the returned error was
 29856  // because http.StatusNotModified was returned.
 29857  func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
 29858  	gensupport.SetOptions(c.urlParams_, opts...)
 29859  	res, err := c.doRequest("json")
 29860  	if res != nil && res.StatusCode == http.StatusNotModified {
 29861  		if res.Body != nil {
 29862  			res.Body.Close()
 29863  		}
 29864  		return nil, &googleapi.Error{
 29865  			Code:   res.StatusCode,
 29866  			Header: res.Header,
 29867  		}
 29868  	}
 29869  	if err != nil {
 29870  		return nil, err
 29871  	}
 29872  	defer googleapi.CloseBody(res)
 29873  	if err := googleapi.CheckResponse(res); err != nil {
 29874  		return nil, err
 29875  	}
 29876  	ret := &DynamicTargetingKey{
 29877  		ServerResponse: googleapi.ServerResponse{
 29878  			Header:         res.Header,
 29879  			HTTPStatusCode: res.StatusCode,
 29880  		},
 29881  	}
 29882  	target := &ret
 29883  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29884  		return nil, err
 29885  	}
 29886  	return ret, nil
 29887  	// {
 29888  	//   "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.",
 29889  	//   "httpMethod": "POST",
 29890  	//   "id": "dfareporting.dynamicTargetingKeys.insert",
 29891  	//   "parameterOrder": [
 29892  	//     "profileId"
 29893  	//   ],
 29894  	//   "parameters": {
 29895  	//     "profileId": {
 29896  	//       "description": "User profile ID associated with this request.",
 29897  	//       "format": "int64",
 29898  	//       "location": "path",
 29899  	//       "required": true,
 29900  	//       "type": "string"
 29901  	//     }
 29902  	//   },
 29903  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 29904  	//   "request": {
 29905  	//     "$ref": "DynamicTargetingKey"
 29906  	//   },
 29907  	//   "response": {
 29908  	//     "$ref": "DynamicTargetingKey"
 29909  	//   },
 29910  	//   "scopes": [
 29911  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29912  	//   ]
 29913  	// }
 29914  
 29915  }
 29916  
 29917  // method id "dfareporting.dynamicTargetingKeys.list":
 29918  
 29919  type DynamicTargetingKeysListCall struct {
 29920  	s            *Service
 29921  	profileId    int64
 29922  	urlParams_   gensupport.URLParams
 29923  	ifNoneMatch_ string
 29924  	ctx_         context.Context
 29925  	header_      http.Header
 29926  }
 29927  
 29928  // List: Retrieves a list of dynamic targeting keys.
 29929  func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
 29930  	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29931  	c.profileId = profileId
 29932  	return c
 29933  }
 29934  
 29935  // AdvertiserId sets the optional parameter "advertiserId": Select only
 29936  // dynamic targeting keys whose object has this advertiser ID.
 29937  func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
 29938  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 29939  	return c
 29940  }
 29941  
 29942  // Names sets the optional parameter "names": Select only dynamic
 29943  // targeting keys exactly matching these names.
 29944  func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
 29945  	c.urlParams_.SetMulti("names", append([]string{}, names...))
 29946  	return c
 29947  }
 29948  
 29949  // ObjectId sets the optional parameter "objectId": Select only dynamic
 29950  // targeting keys with this object ID.
 29951  func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
 29952  	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
 29953  	return c
 29954  }
 29955  
 29956  // ObjectType sets the optional parameter "objectType": Select only
 29957  // dynamic targeting keys with this object type.
 29958  //
 29959  // Possible values:
 29960  //
 29961  //	"OBJECT_AD"
 29962  //	"OBJECT_ADVERTISER"
 29963  //	"OBJECT_CREATIVE"
 29964  //	"OBJECT_PLACEMENT"
 29965  func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
 29966  	c.urlParams_.Set("objectType", objectType)
 29967  	return c
 29968  }
 29969  
 29970  // Fields allows partial responses to be retrieved. See
 29971  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29972  // for more information.
 29973  func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
 29974  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29975  	return c
 29976  }
 29977  
 29978  // IfNoneMatch sets the optional parameter which makes the operation
 29979  // fail if the object's ETag matches the given value. This is useful for
 29980  // getting updates only after the object has changed since the last
 29981  // request. Use googleapi.IsNotModified to check whether the response
 29982  // error from Do is the result of In-None-Match.
 29983  func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
 29984  	c.ifNoneMatch_ = entityTag
 29985  	return c
 29986  }
 29987  
 29988  // Context sets the context to be used in this call's Do method. Any
 29989  // pending HTTP request will be aborted if the provided context is
 29990  // canceled.
 29991  func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
 29992  	c.ctx_ = ctx
 29993  	return c
 29994  }
 29995  
 29996  // Header returns an http.Header that can be modified by the caller to
 29997  // add HTTP headers to the request.
 29998  func (c *DynamicTargetingKeysListCall) Header() http.Header {
 29999  	if c.header_ == nil {
 30000  		c.header_ = make(http.Header)
 30001  	}
 30002  	return c.header_
 30003  }
 30004  
 30005  func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
 30006  	reqHeaders := make(http.Header)
 30007  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30008  	for k, v := range c.header_ {
 30009  		reqHeaders[k] = v
 30010  	}
 30011  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30012  	if c.ifNoneMatch_ != "" {
 30013  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30014  	}
 30015  	var body io.Reader = nil
 30016  	c.urlParams_.Set("alt", alt)
 30017  	c.urlParams_.Set("prettyPrint", "false")
 30018  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 30019  	urls += "?" + c.urlParams_.Encode()
 30020  	req, err := http.NewRequest("GET", urls, body)
 30021  	if err != nil {
 30022  		return nil, err
 30023  	}
 30024  	req.Header = reqHeaders
 30025  	googleapi.Expand(req.URL, map[string]string{
 30026  		"profileId": strconv.FormatInt(c.profileId, 10),
 30027  	})
 30028  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30029  }
 30030  
 30031  // Do executes the "dfareporting.dynamicTargetingKeys.list" call.
 30032  // Exactly one of *DynamicTargetingKeysListResponse or error will be
 30033  // non-nil. Any non-2xx status code is an error. Response headers are in
 30034  // either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
 30035  // a response was returned at all) in error.(*googleapi.Error).Header.
 30036  // Use googleapi.IsNotModified to check whether the returned error was
 30037  // because http.StatusNotModified was returned.
 30038  func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
 30039  	gensupport.SetOptions(c.urlParams_, opts...)
 30040  	res, err := c.doRequest("json")
 30041  	if res != nil && res.StatusCode == http.StatusNotModified {
 30042  		if res.Body != nil {
 30043  			res.Body.Close()
 30044  		}
 30045  		return nil, &googleapi.Error{
 30046  			Code:   res.StatusCode,
 30047  			Header: res.Header,
 30048  		}
 30049  	}
 30050  	if err != nil {
 30051  		return nil, err
 30052  	}
 30053  	defer googleapi.CloseBody(res)
 30054  	if err := googleapi.CheckResponse(res); err != nil {
 30055  		return nil, err
 30056  	}
 30057  	ret := &DynamicTargetingKeysListResponse{
 30058  		ServerResponse: googleapi.ServerResponse{
 30059  			Header:         res.Header,
 30060  			HTTPStatusCode: res.StatusCode,
 30061  		},
 30062  	}
 30063  	target := &ret
 30064  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30065  		return nil, err
 30066  	}
 30067  	return ret, nil
 30068  	// {
 30069  	//   "description": "Retrieves a list of dynamic targeting keys.",
 30070  	//   "httpMethod": "GET",
 30071  	//   "id": "dfareporting.dynamicTargetingKeys.list",
 30072  	//   "parameterOrder": [
 30073  	//     "profileId"
 30074  	//   ],
 30075  	//   "parameters": {
 30076  	//     "advertiserId": {
 30077  	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
 30078  	//       "format": "int64",
 30079  	//       "location": "query",
 30080  	//       "type": "string"
 30081  	//     },
 30082  	//     "names": {
 30083  	//       "description": "Select only dynamic targeting keys exactly matching these names.",
 30084  	//       "location": "query",
 30085  	//       "repeated": true,
 30086  	//       "type": "string"
 30087  	//     },
 30088  	//     "objectId": {
 30089  	//       "description": "Select only dynamic targeting keys with this object ID.",
 30090  	//       "format": "int64",
 30091  	//       "location": "query",
 30092  	//       "type": "string"
 30093  	//     },
 30094  	//     "objectType": {
 30095  	//       "description": "Select only dynamic targeting keys with this object type.",
 30096  	//       "enum": [
 30097  	//         "OBJECT_AD",
 30098  	//         "OBJECT_ADVERTISER",
 30099  	//         "OBJECT_CREATIVE",
 30100  	//         "OBJECT_PLACEMENT"
 30101  	//       ],
 30102  	//       "enumDescriptions": [
 30103  	//         "",
 30104  	//         "",
 30105  	//         "",
 30106  	//         ""
 30107  	//       ],
 30108  	//       "location": "query",
 30109  	//       "type": "string"
 30110  	//     },
 30111  	//     "profileId": {
 30112  	//       "description": "User profile ID associated with this request.",
 30113  	//       "format": "int64",
 30114  	//       "location": "path",
 30115  	//       "required": true,
 30116  	//       "type": "string"
 30117  	//     }
 30118  	//   },
 30119  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 30120  	//   "response": {
 30121  	//     "$ref": "DynamicTargetingKeysListResponse"
 30122  	//   },
 30123  	//   "scopes": [
 30124  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30125  	//   ]
 30126  	// }
 30127  
 30128  }
 30129  
 30130  // method id "dfareporting.eventTags.delete":
 30131  
 30132  type EventTagsDeleteCall struct {
 30133  	s          *Service
 30134  	profileId  int64
 30135  	id         int64
 30136  	urlParams_ gensupport.URLParams
 30137  	ctx_       context.Context
 30138  	header_    http.Header
 30139  }
 30140  
 30141  // Delete: Deletes an existing event tag.
 30142  func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
 30143  	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30144  	c.profileId = profileId
 30145  	c.id = id
 30146  	return c
 30147  }
 30148  
 30149  // Fields allows partial responses to be retrieved. See
 30150  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30151  // for more information.
 30152  func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
 30153  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30154  	return c
 30155  }
 30156  
 30157  // Context sets the context to be used in this call's Do method. Any
 30158  // pending HTTP request will be aborted if the provided context is
 30159  // canceled.
 30160  func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
 30161  	c.ctx_ = ctx
 30162  	return c
 30163  }
 30164  
 30165  // Header returns an http.Header that can be modified by the caller to
 30166  // add HTTP headers to the request.
 30167  func (c *EventTagsDeleteCall) Header() http.Header {
 30168  	if c.header_ == nil {
 30169  		c.header_ = make(http.Header)
 30170  	}
 30171  	return c.header_
 30172  }
 30173  
 30174  func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 30175  	reqHeaders := make(http.Header)
 30176  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30177  	for k, v := range c.header_ {
 30178  		reqHeaders[k] = v
 30179  	}
 30180  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30181  	var body io.Reader = nil
 30182  	c.urlParams_.Set("alt", alt)
 30183  	c.urlParams_.Set("prettyPrint", "false")
 30184  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 30185  	urls += "?" + c.urlParams_.Encode()
 30186  	req, err := http.NewRequest("DELETE", urls, body)
 30187  	if err != nil {
 30188  		return nil, err
 30189  	}
 30190  	req.Header = reqHeaders
 30191  	googleapi.Expand(req.URL, map[string]string{
 30192  		"profileId": strconv.FormatInt(c.profileId, 10),
 30193  		"id":        strconv.FormatInt(c.id, 10),
 30194  	})
 30195  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30196  }
 30197  
 30198  // Do executes the "dfareporting.eventTags.delete" call.
 30199  func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
 30200  	gensupport.SetOptions(c.urlParams_, opts...)
 30201  	res, err := c.doRequest("json")
 30202  	if err != nil {
 30203  		return err
 30204  	}
 30205  	defer googleapi.CloseBody(res)
 30206  	if err := googleapi.CheckResponse(res); err != nil {
 30207  		return err
 30208  	}
 30209  	return nil
 30210  	// {
 30211  	//   "description": "Deletes an existing event tag.",
 30212  	//   "httpMethod": "DELETE",
 30213  	//   "id": "dfareporting.eventTags.delete",
 30214  	//   "parameterOrder": [
 30215  	//     "profileId",
 30216  	//     "id"
 30217  	//   ],
 30218  	//   "parameters": {
 30219  	//     "id": {
 30220  	//       "description": "Event tag ID.",
 30221  	//       "format": "int64",
 30222  	//       "location": "path",
 30223  	//       "required": true,
 30224  	//       "type": "string"
 30225  	//     },
 30226  	//     "profileId": {
 30227  	//       "description": "User profile ID associated with this request.",
 30228  	//       "format": "int64",
 30229  	//       "location": "path",
 30230  	//       "required": true,
 30231  	//       "type": "string"
 30232  	//     }
 30233  	//   },
 30234  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 30235  	//   "scopes": [
 30236  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30237  	//   ]
 30238  	// }
 30239  
 30240  }
 30241  
 30242  // method id "dfareporting.eventTags.get":
 30243  
 30244  type EventTagsGetCall struct {
 30245  	s            *Service
 30246  	profileId    int64
 30247  	id           int64
 30248  	urlParams_   gensupport.URLParams
 30249  	ifNoneMatch_ string
 30250  	ctx_         context.Context
 30251  	header_      http.Header
 30252  }
 30253  
 30254  // Get: Gets one event tag by ID.
 30255  func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
 30256  	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30257  	c.profileId = profileId
 30258  	c.id = id
 30259  	return c
 30260  }
 30261  
 30262  // Fields allows partial responses to be retrieved. See
 30263  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30264  // for more information.
 30265  func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
 30266  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30267  	return c
 30268  }
 30269  
 30270  // IfNoneMatch sets the optional parameter which makes the operation
 30271  // fail if the object's ETag matches the given value. This is useful for
 30272  // getting updates only after the object has changed since the last
 30273  // request. Use googleapi.IsNotModified to check whether the response
 30274  // error from Do is the result of In-None-Match.
 30275  func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
 30276  	c.ifNoneMatch_ = entityTag
 30277  	return c
 30278  }
 30279  
 30280  // Context sets the context to be used in this call's Do method. Any
 30281  // pending HTTP request will be aborted if the provided context is
 30282  // canceled.
 30283  func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
 30284  	c.ctx_ = ctx
 30285  	return c
 30286  }
 30287  
 30288  // Header returns an http.Header that can be modified by the caller to
 30289  // add HTTP headers to the request.
 30290  func (c *EventTagsGetCall) Header() http.Header {
 30291  	if c.header_ == nil {
 30292  		c.header_ = make(http.Header)
 30293  	}
 30294  	return c.header_
 30295  }
 30296  
 30297  func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 30298  	reqHeaders := make(http.Header)
 30299  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30300  	for k, v := range c.header_ {
 30301  		reqHeaders[k] = v
 30302  	}
 30303  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30304  	if c.ifNoneMatch_ != "" {
 30305  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30306  	}
 30307  	var body io.Reader = nil
 30308  	c.urlParams_.Set("alt", alt)
 30309  	c.urlParams_.Set("prettyPrint", "false")
 30310  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 30311  	urls += "?" + c.urlParams_.Encode()
 30312  	req, err := http.NewRequest("GET", urls, body)
 30313  	if err != nil {
 30314  		return nil, err
 30315  	}
 30316  	req.Header = reqHeaders
 30317  	googleapi.Expand(req.URL, map[string]string{
 30318  		"profileId": strconv.FormatInt(c.profileId, 10),
 30319  		"id":        strconv.FormatInt(c.id, 10),
 30320  	})
 30321  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30322  }
 30323  
 30324  // Do executes the "dfareporting.eventTags.get" call.
 30325  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 30326  // code is an error. Response headers are in either
 30327  // *EventTag.ServerResponse.Header or (if a response was returned at
 30328  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 30329  // to check whether the returned error was because
 30330  // http.StatusNotModified was returned.
 30331  func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 30332  	gensupport.SetOptions(c.urlParams_, opts...)
 30333  	res, err := c.doRequest("json")
 30334  	if res != nil && res.StatusCode == http.StatusNotModified {
 30335  		if res.Body != nil {
 30336  			res.Body.Close()
 30337  		}
 30338  		return nil, &googleapi.Error{
 30339  			Code:   res.StatusCode,
 30340  			Header: res.Header,
 30341  		}
 30342  	}
 30343  	if err != nil {
 30344  		return nil, err
 30345  	}
 30346  	defer googleapi.CloseBody(res)
 30347  	if err := googleapi.CheckResponse(res); err != nil {
 30348  		return nil, err
 30349  	}
 30350  	ret := &EventTag{
 30351  		ServerResponse: googleapi.ServerResponse{
 30352  			Header:         res.Header,
 30353  			HTTPStatusCode: res.StatusCode,
 30354  		},
 30355  	}
 30356  	target := &ret
 30357  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30358  		return nil, err
 30359  	}
 30360  	return ret, nil
 30361  	// {
 30362  	//   "description": "Gets one event tag by ID.",
 30363  	//   "httpMethod": "GET",
 30364  	//   "id": "dfareporting.eventTags.get",
 30365  	//   "parameterOrder": [
 30366  	//     "profileId",
 30367  	//     "id"
 30368  	//   ],
 30369  	//   "parameters": {
 30370  	//     "id": {
 30371  	//       "description": "Event tag ID.",
 30372  	//       "format": "int64",
 30373  	//       "location": "path",
 30374  	//       "required": true,
 30375  	//       "type": "string"
 30376  	//     },
 30377  	//     "profileId": {
 30378  	//       "description": "User profile ID associated with this request.",
 30379  	//       "format": "int64",
 30380  	//       "location": "path",
 30381  	//       "required": true,
 30382  	//       "type": "string"
 30383  	//     }
 30384  	//   },
 30385  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 30386  	//   "response": {
 30387  	//     "$ref": "EventTag"
 30388  	//   },
 30389  	//   "scopes": [
 30390  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30391  	//   ]
 30392  	// }
 30393  
 30394  }
 30395  
 30396  // method id "dfareporting.eventTags.insert":
 30397  
 30398  type EventTagsInsertCall struct {
 30399  	s          *Service
 30400  	profileId  int64
 30401  	eventtag   *EventTag
 30402  	urlParams_ gensupport.URLParams
 30403  	ctx_       context.Context
 30404  	header_    http.Header
 30405  }
 30406  
 30407  // Insert: Inserts a new event tag.
 30408  func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
 30409  	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30410  	c.profileId = profileId
 30411  	c.eventtag = eventtag
 30412  	return c
 30413  }
 30414  
 30415  // Fields allows partial responses to be retrieved. See
 30416  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30417  // for more information.
 30418  func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
 30419  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30420  	return c
 30421  }
 30422  
 30423  // Context sets the context to be used in this call's Do method. Any
 30424  // pending HTTP request will be aborted if the provided context is
 30425  // canceled.
 30426  func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
 30427  	c.ctx_ = ctx
 30428  	return c
 30429  }
 30430  
 30431  // Header returns an http.Header that can be modified by the caller to
 30432  // add HTTP headers to the request.
 30433  func (c *EventTagsInsertCall) Header() http.Header {
 30434  	if c.header_ == nil {
 30435  		c.header_ = make(http.Header)
 30436  	}
 30437  	return c.header_
 30438  }
 30439  
 30440  func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
 30441  	reqHeaders := make(http.Header)
 30442  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30443  	for k, v := range c.header_ {
 30444  		reqHeaders[k] = v
 30445  	}
 30446  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30447  	var body io.Reader = nil
 30448  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 30449  	if err != nil {
 30450  		return nil, err
 30451  	}
 30452  	reqHeaders.Set("Content-Type", "application/json")
 30453  	c.urlParams_.Set("alt", alt)
 30454  	c.urlParams_.Set("prettyPrint", "false")
 30455  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 30456  	urls += "?" + c.urlParams_.Encode()
 30457  	req, err := http.NewRequest("POST", urls, body)
 30458  	if err != nil {
 30459  		return nil, err
 30460  	}
 30461  	req.Header = reqHeaders
 30462  	googleapi.Expand(req.URL, map[string]string{
 30463  		"profileId": strconv.FormatInt(c.profileId, 10),
 30464  	})
 30465  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30466  }
 30467  
 30468  // Do executes the "dfareporting.eventTags.insert" call.
 30469  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 30470  // code is an error. Response headers are in either
 30471  // *EventTag.ServerResponse.Header or (if a response was returned at
 30472  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 30473  // to check whether the returned error was because
 30474  // http.StatusNotModified was returned.
 30475  func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 30476  	gensupport.SetOptions(c.urlParams_, opts...)
 30477  	res, err := c.doRequest("json")
 30478  	if res != nil && res.StatusCode == http.StatusNotModified {
 30479  		if res.Body != nil {
 30480  			res.Body.Close()
 30481  		}
 30482  		return nil, &googleapi.Error{
 30483  			Code:   res.StatusCode,
 30484  			Header: res.Header,
 30485  		}
 30486  	}
 30487  	if err != nil {
 30488  		return nil, err
 30489  	}
 30490  	defer googleapi.CloseBody(res)
 30491  	if err := googleapi.CheckResponse(res); err != nil {
 30492  		return nil, err
 30493  	}
 30494  	ret := &EventTag{
 30495  		ServerResponse: googleapi.ServerResponse{
 30496  			Header:         res.Header,
 30497  			HTTPStatusCode: res.StatusCode,
 30498  		},
 30499  	}
 30500  	target := &ret
 30501  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30502  		return nil, err
 30503  	}
 30504  	return ret, nil
 30505  	// {
 30506  	//   "description": "Inserts a new event tag.",
 30507  	//   "httpMethod": "POST",
 30508  	//   "id": "dfareporting.eventTags.insert",
 30509  	//   "parameterOrder": [
 30510  	//     "profileId"
 30511  	//   ],
 30512  	//   "parameters": {
 30513  	//     "profileId": {
 30514  	//       "description": "User profile ID associated with this request.",
 30515  	//       "format": "int64",
 30516  	//       "location": "path",
 30517  	//       "required": true,
 30518  	//       "type": "string"
 30519  	//     }
 30520  	//   },
 30521  	//   "path": "userprofiles/{profileId}/eventTags",
 30522  	//   "request": {
 30523  	//     "$ref": "EventTag"
 30524  	//   },
 30525  	//   "response": {
 30526  	//     "$ref": "EventTag"
 30527  	//   },
 30528  	//   "scopes": [
 30529  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30530  	//   ]
 30531  	// }
 30532  
 30533  }
 30534  
 30535  // method id "dfareporting.eventTags.list":
 30536  
 30537  type EventTagsListCall struct {
 30538  	s            *Service
 30539  	profileId    int64
 30540  	urlParams_   gensupport.URLParams
 30541  	ifNoneMatch_ string
 30542  	ctx_         context.Context
 30543  	header_      http.Header
 30544  }
 30545  
 30546  // List: Retrieves a list of event tags, possibly filtered.
 30547  func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
 30548  	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30549  	c.profileId = profileId
 30550  	return c
 30551  }
 30552  
 30553  // AdId sets the optional parameter "adId": Select only event tags that
 30554  // belong to this ad.
 30555  func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
 30556  	c.urlParams_.Set("adId", fmt.Sprint(adId))
 30557  	return c
 30558  }
 30559  
 30560  // AdvertiserId sets the optional parameter "advertiserId": Select only
 30561  // event tags that belong to this advertiser.
 30562  func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
 30563  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30564  	return c
 30565  }
 30566  
 30567  // CampaignId sets the optional parameter "campaignId": Select only
 30568  // event tags that belong to this campaign.
 30569  func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
 30570  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 30571  	return c
 30572  }
 30573  
 30574  // DefinitionsOnly sets the optional parameter "definitionsOnly":
 30575  // Examine only the specified campaign or advertiser's event tags for
 30576  // matching selector criteria. When set to false, the parent advertiser
 30577  // and parent campaign of the specified ad or campaign is examined as
 30578  // well. In addition, when set to false, the status field is examined as
 30579  // well, along with the enabledByDefault field. This parameter can not
 30580  // be set to true when adId is specified as ads do not define their own
 30581  // even tags.
 30582  func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
 30583  	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
 30584  	return c
 30585  }
 30586  
 30587  // Enabled sets the optional parameter "enabled": Select only enabled
 30588  // event tags. What is considered enabled or disabled depends on the
 30589  // definitionsOnly parameter. When definitionsOnly is set to true, only
 30590  // the specified advertiser or campaign's event tags' enabledByDefault
 30591  // field is examined. When definitionsOnly is set to false, the
 30592  // specified ad or specified campaign's parent advertiser's or parent
 30593  // campaign's event tags' enabledByDefault and status fields are
 30594  // examined as well.
 30595  func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
 30596  	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
 30597  	return c
 30598  }
 30599  
 30600  // EventTagTypes sets the optional parameter "eventTagTypes": Select
 30601  // only event tags with the specified event tag types. Event tag types
 30602  // can be used to specify whether to use a third-party pixel, a
 30603  // third-party JavaScript URL, or a third-party click-through URL for
 30604  // either impression or click tracking.
 30605  //
 30606  // Possible values:
 30607  //
 30608  //	"CLICK_THROUGH_EVENT_TAG"
 30609  //	"IMPRESSION_IMAGE_EVENT_TAG"
 30610  //	"IMPRESSION_JAVASCRIPT_EVENT_TAG"
 30611  func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
 30612  	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
 30613  	return c
 30614  }
 30615  
 30616  // Ids sets the optional parameter "ids": Select only event tags with
 30617  // these IDs.
 30618  func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
 30619  	var ids_ []string
 30620  	for _, v := range ids {
 30621  		ids_ = append(ids_, fmt.Sprint(v))
 30622  	}
 30623  	c.urlParams_.SetMulti("ids", ids_)
 30624  	return c
 30625  }
 30626  
 30627  // SearchString sets the optional parameter "searchString": Allows
 30628  // searching for objects by name or ID. Wildcards (*) are allowed. For
 30629  // example, "eventtag*2015" will return objects with names like
 30630  // "eventtag June 2015", "eventtag April 2015", or simply "eventtag
 30631  // 2015". Most of the searches also add wildcards implicitly at the
 30632  // start and the end of the search string. For example, a search string
 30633  // of "eventtag" will match objects with name "my eventtag", "eventtag
 30634  // 2015", or simply "eventtag".
 30635  func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
 30636  	c.urlParams_.Set("searchString", searchString)
 30637  	return c
 30638  }
 30639  
 30640  // SortField sets the optional parameter "sortField": Field by which to
 30641  // sort the list.
 30642  //
 30643  // Possible values:
 30644  //
 30645  //	"ID" (default)
 30646  //	"NAME"
 30647  func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
 30648  	c.urlParams_.Set("sortField", sortField)
 30649  	return c
 30650  }
 30651  
 30652  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 30653  // results.
 30654  //
 30655  // Possible values:
 30656  //
 30657  //	"ASCENDING" (default)
 30658  //	"DESCENDING"
 30659  func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
 30660  	c.urlParams_.Set("sortOrder", sortOrder)
 30661  	return c
 30662  }
 30663  
 30664  // Fields allows partial responses to be retrieved. See
 30665  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30666  // for more information.
 30667  func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
 30668  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30669  	return c
 30670  }
 30671  
 30672  // IfNoneMatch sets the optional parameter which makes the operation
 30673  // fail if the object's ETag matches the given value. This is useful for
 30674  // getting updates only after the object has changed since the last
 30675  // request. Use googleapi.IsNotModified to check whether the response
 30676  // error from Do is the result of In-None-Match.
 30677  func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
 30678  	c.ifNoneMatch_ = entityTag
 30679  	return c
 30680  }
 30681  
 30682  // Context sets the context to be used in this call's Do method. Any
 30683  // pending HTTP request will be aborted if the provided context is
 30684  // canceled.
 30685  func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
 30686  	c.ctx_ = ctx
 30687  	return c
 30688  }
 30689  
 30690  // Header returns an http.Header that can be modified by the caller to
 30691  // add HTTP headers to the request.
 30692  func (c *EventTagsListCall) Header() http.Header {
 30693  	if c.header_ == nil {
 30694  		c.header_ = make(http.Header)
 30695  	}
 30696  	return c.header_
 30697  }
 30698  
 30699  func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 30700  	reqHeaders := make(http.Header)
 30701  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30702  	for k, v := range c.header_ {
 30703  		reqHeaders[k] = v
 30704  	}
 30705  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30706  	if c.ifNoneMatch_ != "" {
 30707  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30708  	}
 30709  	var body io.Reader = nil
 30710  	c.urlParams_.Set("alt", alt)
 30711  	c.urlParams_.Set("prettyPrint", "false")
 30712  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 30713  	urls += "?" + c.urlParams_.Encode()
 30714  	req, err := http.NewRequest("GET", urls, body)
 30715  	if err != nil {
 30716  		return nil, err
 30717  	}
 30718  	req.Header = reqHeaders
 30719  	googleapi.Expand(req.URL, map[string]string{
 30720  		"profileId": strconv.FormatInt(c.profileId, 10),
 30721  	})
 30722  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30723  }
 30724  
 30725  // Do executes the "dfareporting.eventTags.list" call.
 30726  // Exactly one of *EventTagsListResponse or error will be non-nil. Any
 30727  // non-2xx status code is an error. Response headers are in either
 30728  // *EventTagsListResponse.ServerResponse.Header or (if a response was
 30729  // returned at all) in error.(*googleapi.Error).Header. Use
 30730  // googleapi.IsNotModified to check whether the returned error was
 30731  // because http.StatusNotModified was returned.
 30732  func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
 30733  	gensupport.SetOptions(c.urlParams_, opts...)
 30734  	res, err := c.doRequest("json")
 30735  	if res != nil && res.StatusCode == http.StatusNotModified {
 30736  		if res.Body != nil {
 30737  			res.Body.Close()
 30738  		}
 30739  		return nil, &googleapi.Error{
 30740  			Code:   res.StatusCode,
 30741  			Header: res.Header,
 30742  		}
 30743  	}
 30744  	if err != nil {
 30745  		return nil, err
 30746  	}
 30747  	defer googleapi.CloseBody(res)
 30748  	if err := googleapi.CheckResponse(res); err != nil {
 30749  		return nil, err
 30750  	}
 30751  	ret := &EventTagsListResponse{
 30752  		ServerResponse: googleapi.ServerResponse{
 30753  			Header:         res.Header,
 30754  			HTTPStatusCode: res.StatusCode,
 30755  		},
 30756  	}
 30757  	target := &ret
 30758  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30759  		return nil, err
 30760  	}
 30761  	return ret, nil
 30762  	// {
 30763  	//   "description": "Retrieves a list of event tags, possibly filtered.",
 30764  	//   "httpMethod": "GET",
 30765  	//   "id": "dfareporting.eventTags.list",
 30766  	//   "parameterOrder": [
 30767  	//     "profileId"
 30768  	//   ],
 30769  	//   "parameters": {
 30770  	//     "adId": {
 30771  	//       "description": "Select only event tags that belong to this ad.",
 30772  	//       "format": "int64",
 30773  	//       "location": "query",
 30774  	//       "type": "string"
 30775  	//     },
 30776  	//     "advertiserId": {
 30777  	//       "description": "Select only event tags that belong to this advertiser.",
 30778  	//       "format": "int64",
 30779  	//       "location": "query",
 30780  	//       "type": "string"
 30781  	//     },
 30782  	//     "campaignId": {
 30783  	//       "description": "Select only event tags that belong to this campaign.",
 30784  	//       "format": "int64",
 30785  	//       "location": "query",
 30786  	//       "type": "string"
 30787  	//     },
 30788  	//     "definitionsOnly": {
 30789  	//       "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.",
 30790  	//       "location": "query",
 30791  	//       "type": "boolean"
 30792  	//     },
 30793  	//     "enabled": {
 30794  	//       "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.",
 30795  	//       "location": "query",
 30796  	//       "type": "boolean"
 30797  	//     },
 30798  	//     "eventTagTypes": {
 30799  	//       "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.",
 30800  	//       "enum": [
 30801  	//         "CLICK_THROUGH_EVENT_TAG",
 30802  	//         "IMPRESSION_IMAGE_EVENT_TAG",
 30803  	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG"
 30804  	//       ],
 30805  	//       "enumDescriptions": [
 30806  	//         "",
 30807  	//         "",
 30808  	//         ""
 30809  	//       ],
 30810  	//       "location": "query",
 30811  	//       "repeated": true,
 30812  	//       "type": "string"
 30813  	//     },
 30814  	//     "ids": {
 30815  	//       "description": "Select only event tags with these IDs.",
 30816  	//       "format": "int64",
 30817  	//       "location": "query",
 30818  	//       "repeated": true,
 30819  	//       "type": "string"
 30820  	//     },
 30821  	//     "profileId": {
 30822  	//       "description": "User profile ID associated with this request.",
 30823  	//       "format": "int64",
 30824  	//       "location": "path",
 30825  	//       "required": true,
 30826  	//       "type": "string"
 30827  	//     },
 30828  	//     "searchString": {
 30829  	//       "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\".",
 30830  	//       "location": "query",
 30831  	//       "type": "string"
 30832  	//     },
 30833  	//     "sortField": {
 30834  	//       "default": "ID",
 30835  	//       "description": "Field by which to sort the list.",
 30836  	//       "enum": [
 30837  	//         "ID",
 30838  	//         "NAME"
 30839  	//       ],
 30840  	//       "enumDescriptions": [
 30841  	//         "",
 30842  	//         ""
 30843  	//       ],
 30844  	//       "location": "query",
 30845  	//       "type": "string"
 30846  	//     },
 30847  	//     "sortOrder": {
 30848  	//       "default": "ASCENDING",
 30849  	//       "description": "Order of sorted results.",
 30850  	//       "enum": [
 30851  	//         "ASCENDING",
 30852  	//         "DESCENDING"
 30853  	//       ],
 30854  	//       "enumDescriptions": [
 30855  	//         "",
 30856  	//         ""
 30857  	//       ],
 30858  	//       "location": "query",
 30859  	//       "type": "string"
 30860  	//     }
 30861  	//   },
 30862  	//   "path": "userprofiles/{profileId}/eventTags",
 30863  	//   "response": {
 30864  	//     "$ref": "EventTagsListResponse"
 30865  	//   },
 30866  	//   "scopes": [
 30867  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30868  	//   ]
 30869  	// }
 30870  
 30871  }
 30872  
 30873  // method id "dfareporting.eventTags.patch":
 30874  
 30875  type EventTagsPatchCall struct {
 30876  	s          *Service
 30877  	profileId  int64
 30878  	eventtag   *EventTag
 30879  	urlParams_ gensupport.URLParams
 30880  	ctx_       context.Context
 30881  	header_    http.Header
 30882  }
 30883  
 30884  // Patch: Updates an existing event tag. This method supports patch
 30885  // semantics.
 30886  func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
 30887  	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30888  	c.profileId = profileId
 30889  	c.urlParams_.Set("id", fmt.Sprint(id))
 30890  	c.eventtag = eventtag
 30891  	return c
 30892  }
 30893  
 30894  // Fields allows partial responses to be retrieved. See
 30895  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30896  // for more information.
 30897  func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
 30898  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30899  	return c
 30900  }
 30901  
 30902  // Context sets the context to be used in this call's Do method. Any
 30903  // pending HTTP request will be aborted if the provided context is
 30904  // canceled.
 30905  func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
 30906  	c.ctx_ = ctx
 30907  	return c
 30908  }
 30909  
 30910  // Header returns an http.Header that can be modified by the caller to
 30911  // add HTTP headers to the request.
 30912  func (c *EventTagsPatchCall) Header() http.Header {
 30913  	if c.header_ == nil {
 30914  		c.header_ = make(http.Header)
 30915  	}
 30916  	return c.header_
 30917  }
 30918  
 30919  func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 30920  	reqHeaders := make(http.Header)
 30921  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30922  	for k, v := range c.header_ {
 30923  		reqHeaders[k] = v
 30924  	}
 30925  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30926  	var body io.Reader = nil
 30927  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 30928  	if err != nil {
 30929  		return nil, err
 30930  	}
 30931  	reqHeaders.Set("Content-Type", "application/json")
 30932  	c.urlParams_.Set("alt", alt)
 30933  	c.urlParams_.Set("prettyPrint", "false")
 30934  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 30935  	urls += "?" + c.urlParams_.Encode()
 30936  	req, err := http.NewRequest("PATCH", urls, body)
 30937  	if err != nil {
 30938  		return nil, err
 30939  	}
 30940  	req.Header = reqHeaders
 30941  	googleapi.Expand(req.URL, map[string]string{
 30942  		"profileId": strconv.FormatInt(c.profileId, 10),
 30943  	})
 30944  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30945  }
 30946  
 30947  // Do executes the "dfareporting.eventTags.patch" call.
 30948  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 30949  // code is an error. Response headers are in either
 30950  // *EventTag.ServerResponse.Header or (if a response was returned at
 30951  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 30952  // to check whether the returned error was because
 30953  // http.StatusNotModified was returned.
 30954  func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 30955  	gensupport.SetOptions(c.urlParams_, opts...)
 30956  	res, err := c.doRequest("json")
 30957  	if res != nil && res.StatusCode == http.StatusNotModified {
 30958  		if res.Body != nil {
 30959  			res.Body.Close()
 30960  		}
 30961  		return nil, &googleapi.Error{
 30962  			Code:   res.StatusCode,
 30963  			Header: res.Header,
 30964  		}
 30965  	}
 30966  	if err != nil {
 30967  		return nil, err
 30968  	}
 30969  	defer googleapi.CloseBody(res)
 30970  	if err := googleapi.CheckResponse(res); err != nil {
 30971  		return nil, err
 30972  	}
 30973  	ret := &EventTag{
 30974  		ServerResponse: googleapi.ServerResponse{
 30975  			Header:         res.Header,
 30976  			HTTPStatusCode: res.StatusCode,
 30977  		},
 30978  	}
 30979  	target := &ret
 30980  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30981  		return nil, err
 30982  	}
 30983  	return ret, nil
 30984  	// {
 30985  	//   "description": "Updates an existing event tag. This method supports patch semantics.",
 30986  	//   "httpMethod": "PATCH",
 30987  	//   "id": "dfareporting.eventTags.patch",
 30988  	//   "parameterOrder": [
 30989  	//     "profileId",
 30990  	//     "id"
 30991  	//   ],
 30992  	//   "parameters": {
 30993  	//     "id": {
 30994  	//       "description": "Event tag ID.",
 30995  	//       "format": "int64",
 30996  	//       "location": "query",
 30997  	//       "required": true,
 30998  	//       "type": "string"
 30999  	//     },
 31000  	//     "profileId": {
 31001  	//       "description": "User profile ID associated with this request.",
 31002  	//       "format": "int64",
 31003  	//       "location": "path",
 31004  	//       "required": true,
 31005  	//       "type": "string"
 31006  	//     }
 31007  	//   },
 31008  	//   "path": "userprofiles/{profileId}/eventTags",
 31009  	//   "request": {
 31010  	//     "$ref": "EventTag"
 31011  	//   },
 31012  	//   "response": {
 31013  	//     "$ref": "EventTag"
 31014  	//   },
 31015  	//   "scopes": [
 31016  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31017  	//   ]
 31018  	// }
 31019  
 31020  }
 31021  
 31022  // method id "dfareporting.eventTags.update":
 31023  
 31024  type EventTagsUpdateCall struct {
 31025  	s          *Service
 31026  	profileId  int64
 31027  	eventtag   *EventTag
 31028  	urlParams_ gensupport.URLParams
 31029  	ctx_       context.Context
 31030  	header_    http.Header
 31031  }
 31032  
 31033  // Update: Updates an existing event tag.
 31034  func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
 31035  	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31036  	c.profileId = profileId
 31037  	c.eventtag = eventtag
 31038  	return c
 31039  }
 31040  
 31041  // Fields allows partial responses to be retrieved. See
 31042  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31043  // for more information.
 31044  func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
 31045  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31046  	return c
 31047  }
 31048  
 31049  // Context sets the context to be used in this call's Do method. Any
 31050  // pending HTTP request will be aborted if the provided context is
 31051  // canceled.
 31052  func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
 31053  	c.ctx_ = ctx
 31054  	return c
 31055  }
 31056  
 31057  // Header returns an http.Header that can be modified by the caller to
 31058  // add HTTP headers to the request.
 31059  func (c *EventTagsUpdateCall) Header() http.Header {
 31060  	if c.header_ == nil {
 31061  		c.header_ = make(http.Header)
 31062  	}
 31063  	return c.header_
 31064  }
 31065  
 31066  func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 31067  	reqHeaders := make(http.Header)
 31068  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31069  	for k, v := range c.header_ {
 31070  		reqHeaders[k] = v
 31071  	}
 31072  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31073  	var body io.Reader = nil
 31074  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 31075  	if err != nil {
 31076  		return nil, err
 31077  	}
 31078  	reqHeaders.Set("Content-Type", "application/json")
 31079  	c.urlParams_.Set("alt", alt)
 31080  	c.urlParams_.Set("prettyPrint", "false")
 31081  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31082  	urls += "?" + c.urlParams_.Encode()
 31083  	req, err := http.NewRequest("PUT", urls, body)
 31084  	if err != nil {
 31085  		return nil, err
 31086  	}
 31087  	req.Header = reqHeaders
 31088  	googleapi.Expand(req.URL, map[string]string{
 31089  		"profileId": strconv.FormatInt(c.profileId, 10),
 31090  	})
 31091  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31092  }
 31093  
 31094  // Do executes the "dfareporting.eventTags.update" call.
 31095  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31096  // code is an error. Response headers are in either
 31097  // *EventTag.ServerResponse.Header or (if a response was returned at
 31098  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31099  // to check whether the returned error was because
 31100  // http.StatusNotModified was returned.
 31101  func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31102  	gensupport.SetOptions(c.urlParams_, opts...)
 31103  	res, err := c.doRequest("json")
 31104  	if res != nil && res.StatusCode == http.StatusNotModified {
 31105  		if res.Body != nil {
 31106  			res.Body.Close()
 31107  		}
 31108  		return nil, &googleapi.Error{
 31109  			Code:   res.StatusCode,
 31110  			Header: res.Header,
 31111  		}
 31112  	}
 31113  	if err != nil {
 31114  		return nil, err
 31115  	}
 31116  	defer googleapi.CloseBody(res)
 31117  	if err := googleapi.CheckResponse(res); err != nil {
 31118  		return nil, err
 31119  	}
 31120  	ret := &EventTag{
 31121  		ServerResponse: googleapi.ServerResponse{
 31122  			Header:         res.Header,
 31123  			HTTPStatusCode: res.StatusCode,
 31124  		},
 31125  	}
 31126  	target := &ret
 31127  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31128  		return nil, err
 31129  	}
 31130  	return ret, nil
 31131  	// {
 31132  	//   "description": "Updates an existing event tag.",
 31133  	//   "httpMethod": "PUT",
 31134  	//   "id": "dfareporting.eventTags.update",
 31135  	//   "parameterOrder": [
 31136  	//     "profileId"
 31137  	//   ],
 31138  	//   "parameters": {
 31139  	//     "profileId": {
 31140  	//       "description": "User profile ID associated with this request.",
 31141  	//       "format": "int64",
 31142  	//       "location": "path",
 31143  	//       "required": true,
 31144  	//       "type": "string"
 31145  	//     }
 31146  	//   },
 31147  	//   "path": "userprofiles/{profileId}/eventTags",
 31148  	//   "request": {
 31149  	//     "$ref": "EventTag"
 31150  	//   },
 31151  	//   "response": {
 31152  	//     "$ref": "EventTag"
 31153  	//   },
 31154  	//   "scopes": [
 31155  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31156  	//   ]
 31157  	// }
 31158  
 31159  }
 31160  
 31161  // method id "dfareporting.files.get":
 31162  
 31163  type FilesGetCall struct {
 31164  	s            *Service
 31165  	reportId     int64
 31166  	fileId       int64
 31167  	urlParams_   gensupport.URLParams
 31168  	ifNoneMatch_ string
 31169  	ctx_         context.Context
 31170  	header_      http.Header
 31171  }
 31172  
 31173  // Get: Retrieves a report file by its report ID and file ID. This
 31174  // method supports media download.
 31175  func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
 31176  	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31177  	c.reportId = reportId
 31178  	c.fileId = fileId
 31179  	return c
 31180  }
 31181  
 31182  // Fields allows partial responses to be retrieved. See
 31183  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31184  // for more information.
 31185  func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
 31186  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31187  	return c
 31188  }
 31189  
 31190  // IfNoneMatch sets the optional parameter which makes the operation
 31191  // fail if the object's ETag matches the given value. This is useful for
 31192  // getting updates only after the object has changed since the last
 31193  // request. Use googleapi.IsNotModified to check whether the response
 31194  // error from Do is the result of In-None-Match.
 31195  func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
 31196  	c.ifNoneMatch_ = entityTag
 31197  	return c
 31198  }
 31199  
 31200  // Context sets the context to be used in this call's Do and Download
 31201  // methods. Any pending HTTP request will be aborted if the provided
 31202  // context is canceled.
 31203  func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 31204  	c.ctx_ = ctx
 31205  	return c
 31206  }
 31207  
 31208  // Header returns an http.Header that can be modified by the caller to
 31209  // add HTTP headers to the request.
 31210  func (c *FilesGetCall) Header() http.Header {
 31211  	if c.header_ == nil {
 31212  		c.header_ = make(http.Header)
 31213  	}
 31214  	return c.header_
 31215  }
 31216  
 31217  func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 31218  	reqHeaders := make(http.Header)
 31219  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31220  	for k, v := range c.header_ {
 31221  		reqHeaders[k] = v
 31222  	}
 31223  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31224  	if c.ifNoneMatch_ != "" {
 31225  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31226  	}
 31227  	var body io.Reader = nil
 31228  	c.urlParams_.Set("alt", alt)
 31229  	c.urlParams_.Set("prettyPrint", "false")
 31230  	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
 31231  	urls += "?" + c.urlParams_.Encode()
 31232  	req, err := http.NewRequest("GET", urls, body)
 31233  	if err != nil {
 31234  		return nil, err
 31235  	}
 31236  	req.Header = reqHeaders
 31237  	googleapi.Expand(req.URL, map[string]string{
 31238  		"reportId": strconv.FormatInt(c.reportId, 10),
 31239  		"fileId":   strconv.FormatInt(c.fileId, 10),
 31240  	})
 31241  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31242  }
 31243  
 31244  // Download fetches the API endpoint's "media" value, instead of the normal
 31245  // API response value. If the returned error is nil, the Response is guaranteed to
 31246  // have a 2xx status code. Callers must close the Response.Body as usual.
 31247  func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 31248  	gensupport.SetOptions(c.urlParams_, opts...)
 31249  	res, err := c.doRequest("media")
 31250  	if err != nil {
 31251  		return nil, err
 31252  	}
 31253  	if err := googleapi.CheckMediaResponse(res); err != nil {
 31254  		res.Body.Close()
 31255  		return nil, err
 31256  	}
 31257  	return res, nil
 31258  }
 31259  
 31260  // Do executes the "dfareporting.files.get" call.
 31261  // Exactly one of *File or error will be non-nil. Any non-2xx status
 31262  // code is an error. Response headers are in either
 31263  // *File.ServerResponse.Header or (if a response was returned at all) in
 31264  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 31265  // whether the returned error was because http.StatusNotModified was
 31266  // returned.
 31267  func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 31268  	gensupport.SetOptions(c.urlParams_, opts...)
 31269  	res, err := c.doRequest("json")
 31270  	if res != nil && res.StatusCode == http.StatusNotModified {
 31271  		if res.Body != nil {
 31272  			res.Body.Close()
 31273  		}
 31274  		return nil, &googleapi.Error{
 31275  			Code:   res.StatusCode,
 31276  			Header: res.Header,
 31277  		}
 31278  	}
 31279  	if err != nil {
 31280  		return nil, err
 31281  	}
 31282  	defer googleapi.CloseBody(res)
 31283  	if err := googleapi.CheckResponse(res); err != nil {
 31284  		return nil, err
 31285  	}
 31286  	ret := &File{
 31287  		ServerResponse: googleapi.ServerResponse{
 31288  			Header:         res.Header,
 31289  			HTTPStatusCode: res.StatusCode,
 31290  		},
 31291  	}
 31292  	target := &ret
 31293  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31294  		return nil, err
 31295  	}
 31296  	return ret, nil
 31297  	// {
 31298  	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
 31299  	//   "httpMethod": "GET",
 31300  	//   "id": "dfareporting.files.get",
 31301  	//   "parameterOrder": [
 31302  	//     "reportId",
 31303  	//     "fileId"
 31304  	//   ],
 31305  	//   "parameters": {
 31306  	//     "fileId": {
 31307  	//       "description": "The ID of the report file.",
 31308  	//       "format": "int64",
 31309  	//       "location": "path",
 31310  	//       "required": true,
 31311  	//       "type": "string"
 31312  	//     },
 31313  	//     "reportId": {
 31314  	//       "description": "The ID of the report.",
 31315  	//       "format": "int64",
 31316  	//       "location": "path",
 31317  	//       "required": true,
 31318  	//       "type": "string"
 31319  	//     }
 31320  	//   },
 31321  	//   "path": "reports/{reportId}/files/{fileId}",
 31322  	//   "response": {
 31323  	//     "$ref": "File"
 31324  	//   },
 31325  	//   "scopes": [
 31326  	//     "https://www.googleapis.com/auth/dfareporting"
 31327  	//   ],
 31328  	//   "supportsMediaDownload": true
 31329  	// }
 31330  
 31331  }
 31332  
 31333  // method id "dfareporting.files.list":
 31334  
 31335  type FilesListCall struct {
 31336  	s            *Service
 31337  	profileId    int64
 31338  	urlParams_   gensupport.URLParams
 31339  	ifNoneMatch_ string
 31340  	ctx_         context.Context
 31341  	header_      http.Header
 31342  }
 31343  
 31344  // List: Lists files for a user profile.
 31345  func (r *FilesService) List(profileId int64) *FilesListCall {
 31346  	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31347  	c.profileId = profileId
 31348  	return c
 31349  }
 31350  
 31351  // MaxResults sets the optional parameter "maxResults": Maximum number
 31352  // of results to return.
 31353  func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
 31354  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 31355  	return c
 31356  }
 31357  
 31358  // PageToken sets the optional parameter "pageToken": The value of the
 31359  // nextToken from the previous result page.
 31360  func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
 31361  	c.urlParams_.Set("pageToken", pageToken)
 31362  	return c
 31363  }
 31364  
 31365  // Scope sets the optional parameter "scope": The scope that defines
 31366  // which results are returned.
 31367  //
 31368  // Possible values:
 31369  //
 31370  //	"ALL" - All files in account.
 31371  //	"MINE" (default) - My files.
 31372  //	"SHARED_WITH_ME" - Files shared with me.
 31373  func (c *FilesListCall) Scope(scope string) *FilesListCall {
 31374  	c.urlParams_.Set("scope", scope)
 31375  	return c
 31376  }
 31377  
 31378  // SortField sets the optional parameter "sortField": The field by which
 31379  // to sort the list.
 31380  //
 31381  // Possible values:
 31382  //
 31383  //	"ID" - Sort by file ID.
 31384  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 31385  func (c *FilesListCall) SortField(sortField string) *FilesListCall {
 31386  	c.urlParams_.Set("sortField", sortField)
 31387  	return c
 31388  }
 31389  
 31390  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 31391  // results.
 31392  //
 31393  // Possible values:
 31394  //
 31395  //	"ASCENDING" - Ascending order.
 31396  //	"DESCENDING" (default) - Descending order.
 31397  func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
 31398  	c.urlParams_.Set("sortOrder", sortOrder)
 31399  	return c
 31400  }
 31401  
 31402  // Fields allows partial responses to be retrieved. See
 31403  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31404  // for more information.
 31405  func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
 31406  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31407  	return c
 31408  }
 31409  
 31410  // IfNoneMatch sets the optional parameter which makes the operation
 31411  // fail if the object's ETag matches the given value. This is useful for
 31412  // getting updates only after the object has changed since the last
 31413  // request. Use googleapi.IsNotModified to check whether the response
 31414  // error from Do is the result of In-None-Match.
 31415  func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
 31416  	c.ifNoneMatch_ = entityTag
 31417  	return c
 31418  }
 31419  
 31420  // Context sets the context to be used in this call's Do method. Any
 31421  // pending HTTP request will be aborted if the provided context is
 31422  // canceled.
 31423  func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 31424  	c.ctx_ = ctx
 31425  	return c
 31426  }
 31427  
 31428  // Header returns an http.Header that can be modified by the caller to
 31429  // add HTTP headers to the request.
 31430  func (c *FilesListCall) Header() http.Header {
 31431  	if c.header_ == nil {
 31432  		c.header_ = make(http.Header)
 31433  	}
 31434  	return c.header_
 31435  }
 31436  
 31437  func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 31438  	reqHeaders := make(http.Header)
 31439  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31440  	for k, v := range c.header_ {
 31441  		reqHeaders[k] = v
 31442  	}
 31443  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31444  	if c.ifNoneMatch_ != "" {
 31445  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31446  	}
 31447  	var body io.Reader = nil
 31448  	c.urlParams_.Set("alt", alt)
 31449  	c.urlParams_.Set("prettyPrint", "false")
 31450  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
 31451  	urls += "?" + c.urlParams_.Encode()
 31452  	req, err := http.NewRequest("GET", urls, body)
 31453  	if err != nil {
 31454  		return nil, err
 31455  	}
 31456  	req.Header = reqHeaders
 31457  	googleapi.Expand(req.URL, map[string]string{
 31458  		"profileId": strconv.FormatInt(c.profileId, 10),
 31459  	})
 31460  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31461  }
 31462  
 31463  // Do executes the "dfareporting.files.list" call.
 31464  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 31465  // code is an error. Response headers are in either
 31466  // *FileList.ServerResponse.Header or (if a response was returned at
 31467  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31468  // to check whether the returned error was because
 31469  // http.StatusNotModified was returned.
 31470  func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 31471  	gensupport.SetOptions(c.urlParams_, opts...)
 31472  	res, err := c.doRequest("json")
 31473  	if res != nil && res.StatusCode == http.StatusNotModified {
 31474  		if res.Body != nil {
 31475  			res.Body.Close()
 31476  		}
 31477  		return nil, &googleapi.Error{
 31478  			Code:   res.StatusCode,
 31479  			Header: res.Header,
 31480  		}
 31481  	}
 31482  	if err != nil {
 31483  		return nil, err
 31484  	}
 31485  	defer googleapi.CloseBody(res)
 31486  	if err := googleapi.CheckResponse(res); err != nil {
 31487  		return nil, err
 31488  	}
 31489  	ret := &FileList{
 31490  		ServerResponse: googleapi.ServerResponse{
 31491  			Header:         res.Header,
 31492  			HTTPStatusCode: res.StatusCode,
 31493  		},
 31494  	}
 31495  	target := &ret
 31496  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31497  		return nil, err
 31498  	}
 31499  	return ret, nil
 31500  	// {
 31501  	//   "description": "Lists files for a user profile.",
 31502  	//   "httpMethod": "GET",
 31503  	//   "id": "dfareporting.files.list",
 31504  	//   "parameterOrder": [
 31505  	//     "profileId"
 31506  	//   ],
 31507  	//   "parameters": {
 31508  	//     "maxResults": {
 31509  	//       "default": "10",
 31510  	//       "description": "Maximum number of results to return.",
 31511  	//       "format": "int32",
 31512  	//       "location": "query",
 31513  	//       "maximum": "10",
 31514  	//       "minimum": "0",
 31515  	//       "type": "integer"
 31516  	//     },
 31517  	//     "pageToken": {
 31518  	//       "description": "The value of the nextToken from the previous result page.",
 31519  	//       "location": "query",
 31520  	//       "type": "string"
 31521  	//     },
 31522  	//     "profileId": {
 31523  	//       "description": "The DFA profile ID.",
 31524  	//       "format": "int64",
 31525  	//       "location": "path",
 31526  	//       "required": true,
 31527  	//       "type": "string"
 31528  	//     },
 31529  	//     "scope": {
 31530  	//       "default": "MINE",
 31531  	//       "description": "The scope that defines which results are returned.",
 31532  	//       "enum": [
 31533  	//         "ALL",
 31534  	//         "MINE",
 31535  	//         "SHARED_WITH_ME"
 31536  	//       ],
 31537  	//       "enumDescriptions": [
 31538  	//         "All files in account.",
 31539  	//         "My files.",
 31540  	//         "Files shared with me."
 31541  	//       ],
 31542  	//       "location": "query",
 31543  	//       "type": "string"
 31544  	//     },
 31545  	//     "sortField": {
 31546  	//       "default": "LAST_MODIFIED_TIME",
 31547  	//       "description": "The field by which to sort the list.",
 31548  	//       "enum": [
 31549  	//         "ID",
 31550  	//         "LAST_MODIFIED_TIME"
 31551  	//       ],
 31552  	//       "enumDescriptions": [
 31553  	//         "Sort by file ID.",
 31554  	//         "Sort by 'lastmodifiedAt' field."
 31555  	//       ],
 31556  	//       "location": "query",
 31557  	//       "type": "string"
 31558  	//     },
 31559  	//     "sortOrder": {
 31560  	//       "default": "DESCENDING",
 31561  	//       "description": "Order of sorted results.",
 31562  	//       "enum": [
 31563  	//         "ASCENDING",
 31564  	//         "DESCENDING"
 31565  	//       ],
 31566  	//       "enumDescriptions": [
 31567  	//         "Ascending order.",
 31568  	//         "Descending order."
 31569  	//       ],
 31570  	//       "location": "query",
 31571  	//       "type": "string"
 31572  	//     }
 31573  	//   },
 31574  	//   "path": "userprofiles/{profileId}/files",
 31575  	//   "response": {
 31576  	//     "$ref": "FileList"
 31577  	//   },
 31578  	//   "scopes": [
 31579  	//     "https://www.googleapis.com/auth/dfareporting"
 31580  	//   ]
 31581  	// }
 31582  
 31583  }
 31584  
 31585  // Pages invokes f for each page of results.
 31586  // A non-nil error returned from f will halt the iteration.
 31587  // The provided context supersedes any context provided to the Context method.
 31588  func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 31589  	c.ctx_ = ctx
 31590  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 31591  	for {
 31592  		x, err := c.Do()
 31593  		if err != nil {
 31594  			return err
 31595  		}
 31596  		if err := f(x); err != nil {
 31597  			return err
 31598  		}
 31599  		if x.NextPageToken == "" {
 31600  			return nil
 31601  		}
 31602  		c.PageToken(x.NextPageToken)
 31603  	}
 31604  }
 31605  
 31606  // method id "dfareporting.floodlightActivities.delete":
 31607  
 31608  type FloodlightActivitiesDeleteCall struct {
 31609  	s          *Service
 31610  	profileId  int64
 31611  	id         int64
 31612  	urlParams_ gensupport.URLParams
 31613  	ctx_       context.Context
 31614  	header_    http.Header
 31615  }
 31616  
 31617  // Delete: Deletes an existing floodlight activity.
 31618  func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
 31619  	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31620  	c.profileId = profileId
 31621  	c.id = id
 31622  	return c
 31623  }
 31624  
 31625  // Fields allows partial responses to be retrieved. See
 31626  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31627  // for more information.
 31628  func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
 31629  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31630  	return c
 31631  }
 31632  
 31633  // Context sets the context to be used in this call's Do method. Any
 31634  // pending HTTP request will be aborted if the provided context is
 31635  // canceled.
 31636  func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
 31637  	c.ctx_ = ctx
 31638  	return c
 31639  }
 31640  
 31641  // Header returns an http.Header that can be modified by the caller to
 31642  // add HTTP headers to the request.
 31643  func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
 31644  	if c.header_ == nil {
 31645  		c.header_ = make(http.Header)
 31646  	}
 31647  	return c.header_
 31648  }
 31649  
 31650  func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 31651  	reqHeaders := make(http.Header)
 31652  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31653  	for k, v := range c.header_ {
 31654  		reqHeaders[k] = v
 31655  	}
 31656  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31657  	var body io.Reader = nil
 31658  	c.urlParams_.Set("alt", alt)
 31659  	c.urlParams_.Set("prettyPrint", "false")
 31660  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 31661  	urls += "?" + c.urlParams_.Encode()
 31662  	req, err := http.NewRequest("DELETE", urls, body)
 31663  	if err != nil {
 31664  		return nil, err
 31665  	}
 31666  	req.Header = reqHeaders
 31667  	googleapi.Expand(req.URL, map[string]string{
 31668  		"profileId": strconv.FormatInt(c.profileId, 10),
 31669  		"id":        strconv.FormatInt(c.id, 10),
 31670  	})
 31671  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31672  }
 31673  
 31674  // Do executes the "dfareporting.floodlightActivities.delete" call.
 31675  func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 31676  	gensupport.SetOptions(c.urlParams_, opts...)
 31677  	res, err := c.doRequest("json")
 31678  	if err != nil {
 31679  		return err
 31680  	}
 31681  	defer googleapi.CloseBody(res)
 31682  	if err := googleapi.CheckResponse(res); err != nil {
 31683  		return err
 31684  	}
 31685  	return nil
 31686  	// {
 31687  	//   "description": "Deletes an existing floodlight activity.",
 31688  	//   "httpMethod": "DELETE",
 31689  	//   "id": "dfareporting.floodlightActivities.delete",
 31690  	//   "parameterOrder": [
 31691  	//     "profileId",
 31692  	//     "id"
 31693  	//   ],
 31694  	//   "parameters": {
 31695  	//     "id": {
 31696  	//       "description": "Floodlight activity ID.",
 31697  	//       "format": "int64",
 31698  	//       "location": "path",
 31699  	//       "required": true,
 31700  	//       "type": "string"
 31701  	//     },
 31702  	//     "profileId": {
 31703  	//       "description": "User profile ID associated with this request.",
 31704  	//       "format": "int64",
 31705  	//       "location": "path",
 31706  	//       "required": true,
 31707  	//       "type": "string"
 31708  	//     }
 31709  	//   },
 31710  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 31711  	//   "scopes": [
 31712  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31713  	//   ]
 31714  	// }
 31715  
 31716  }
 31717  
 31718  // method id "dfareporting.floodlightActivities.generatetag":
 31719  
 31720  type FloodlightActivitiesGeneratetagCall struct {
 31721  	s          *Service
 31722  	profileId  int64
 31723  	urlParams_ gensupport.URLParams
 31724  	ctx_       context.Context
 31725  	header_    http.Header
 31726  }
 31727  
 31728  // Generatetag: Generates a tag for a floodlight activity.
 31729  func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
 31730  	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31731  	c.profileId = profileId
 31732  	return c
 31733  }
 31734  
 31735  // FloodlightActivityId sets the optional parameter
 31736  // "floodlightActivityId": Floodlight activity ID for which we want to
 31737  // generate a tag.
 31738  func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
 31739  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 31740  	return c
 31741  }
 31742  
 31743  // Fields allows partial responses to be retrieved. See
 31744  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31745  // for more information.
 31746  func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
 31747  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31748  	return c
 31749  }
 31750  
 31751  // Context sets the context to be used in this call's Do method. Any
 31752  // pending HTTP request will be aborted if the provided context is
 31753  // canceled.
 31754  func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
 31755  	c.ctx_ = ctx
 31756  	return c
 31757  }
 31758  
 31759  // Header returns an http.Header that can be modified by the caller to
 31760  // add HTTP headers to the request.
 31761  func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
 31762  	if c.header_ == nil {
 31763  		c.header_ = make(http.Header)
 31764  	}
 31765  	return c.header_
 31766  }
 31767  
 31768  func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 31769  	reqHeaders := make(http.Header)
 31770  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31771  	for k, v := range c.header_ {
 31772  		reqHeaders[k] = v
 31773  	}
 31774  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31775  	var body io.Reader = nil
 31776  	c.urlParams_.Set("alt", alt)
 31777  	c.urlParams_.Set("prettyPrint", "false")
 31778  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
 31779  	urls += "?" + c.urlParams_.Encode()
 31780  	req, err := http.NewRequest("POST", urls, body)
 31781  	if err != nil {
 31782  		return nil, err
 31783  	}
 31784  	req.Header = reqHeaders
 31785  	googleapi.Expand(req.URL, map[string]string{
 31786  		"profileId": strconv.FormatInt(c.profileId, 10),
 31787  	})
 31788  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31789  }
 31790  
 31791  // Do executes the "dfareporting.floodlightActivities.generatetag" call.
 31792  // Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
 31793  // be non-nil. Any non-2xx status code is an error. Response headers are
 31794  // in either
 31795  // *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
 31796  // a response was returned at all) in error.(*googleapi.Error).Header.
 31797  // Use googleapi.IsNotModified to check whether the returned error was
 31798  // because http.StatusNotModified was returned.
 31799  func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
 31800  	gensupport.SetOptions(c.urlParams_, opts...)
 31801  	res, err := c.doRequest("json")
 31802  	if res != nil && res.StatusCode == http.StatusNotModified {
 31803  		if res.Body != nil {
 31804  			res.Body.Close()
 31805  		}
 31806  		return nil, &googleapi.Error{
 31807  			Code:   res.StatusCode,
 31808  			Header: res.Header,
 31809  		}
 31810  	}
 31811  	if err != nil {
 31812  		return nil, err
 31813  	}
 31814  	defer googleapi.CloseBody(res)
 31815  	if err := googleapi.CheckResponse(res); err != nil {
 31816  		return nil, err
 31817  	}
 31818  	ret := &FloodlightActivitiesGenerateTagResponse{
 31819  		ServerResponse: googleapi.ServerResponse{
 31820  			Header:         res.Header,
 31821  			HTTPStatusCode: res.StatusCode,
 31822  		},
 31823  	}
 31824  	target := &ret
 31825  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31826  		return nil, err
 31827  	}
 31828  	return ret, nil
 31829  	// {
 31830  	//   "description": "Generates a tag for a floodlight activity.",
 31831  	//   "httpMethod": "POST",
 31832  	//   "id": "dfareporting.floodlightActivities.generatetag",
 31833  	//   "parameterOrder": [
 31834  	//     "profileId"
 31835  	//   ],
 31836  	//   "parameters": {
 31837  	//     "floodlightActivityId": {
 31838  	//       "description": "Floodlight activity ID for which we want to generate a tag.",
 31839  	//       "format": "int64",
 31840  	//       "location": "query",
 31841  	//       "type": "string"
 31842  	//     },
 31843  	//     "profileId": {
 31844  	//       "description": "User profile ID associated with this request.",
 31845  	//       "format": "int64",
 31846  	//       "location": "path",
 31847  	//       "required": true,
 31848  	//       "type": "string"
 31849  	//     }
 31850  	//   },
 31851  	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
 31852  	//   "response": {
 31853  	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
 31854  	//   },
 31855  	//   "scopes": [
 31856  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31857  	//   ]
 31858  	// }
 31859  
 31860  }
 31861  
 31862  // method id "dfareporting.floodlightActivities.get":
 31863  
 31864  type FloodlightActivitiesGetCall struct {
 31865  	s            *Service
 31866  	profileId    int64
 31867  	id           int64
 31868  	urlParams_   gensupport.URLParams
 31869  	ifNoneMatch_ string
 31870  	ctx_         context.Context
 31871  	header_      http.Header
 31872  }
 31873  
 31874  // Get: Gets one floodlight activity by ID.
 31875  func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
 31876  	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31877  	c.profileId = profileId
 31878  	c.id = id
 31879  	return c
 31880  }
 31881  
 31882  // Fields allows partial responses to be retrieved. See
 31883  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31884  // for more information.
 31885  func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
 31886  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31887  	return c
 31888  }
 31889  
 31890  // IfNoneMatch sets the optional parameter which makes the operation
 31891  // fail if the object's ETag matches the given value. This is useful for
 31892  // getting updates only after the object has changed since the last
 31893  // request. Use googleapi.IsNotModified to check whether the response
 31894  // error from Do is the result of In-None-Match.
 31895  func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
 31896  	c.ifNoneMatch_ = entityTag
 31897  	return c
 31898  }
 31899  
 31900  // Context sets the context to be used in this call's Do method. Any
 31901  // pending HTTP request will be aborted if the provided context is
 31902  // canceled.
 31903  func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
 31904  	c.ctx_ = ctx
 31905  	return c
 31906  }
 31907  
 31908  // Header returns an http.Header that can be modified by the caller to
 31909  // add HTTP headers to the request.
 31910  func (c *FloodlightActivitiesGetCall) Header() http.Header {
 31911  	if c.header_ == nil {
 31912  		c.header_ = make(http.Header)
 31913  	}
 31914  	return c.header_
 31915  }
 31916  
 31917  func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 31918  	reqHeaders := make(http.Header)
 31919  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31920  	for k, v := range c.header_ {
 31921  		reqHeaders[k] = v
 31922  	}
 31923  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31924  	if c.ifNoneMatch_ != "" {
 31925  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31926  	}
 31927  	var body io.Reader = nil
 31928  	c.urlParams_.Set("alt", alt)
 31929  	c.urlParams_.Set("prettyPrint", "false")
 31930  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 31931  	urls += "?" + c.urlParams_.Encode()
 31932  	req, err := http.NewRequest("GET", urls, body)
 31933  	if err != nil {
 31934  		return nil, err
 31935  	}
 31936  	req.Header = reqHeaders
 31937  	googleapi.Expand(req.URL, map[string]string{
 31938  		"profileId": strconv.FormatInt(c.profileId, 10),
 31939  		"id":        strconv.FormatInt(c.id, 10),
 31940  	})
 31941  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31942  }
 31943  
 31944  // Do executes the "dfareporting.floodlightActivities.get" call.
 31945  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 31946  // non-2xx status code is an error. Response headers are in either
 31947  // *FloodlightActivity.ServerResponse.Header or (if a response was
 31948  // returned at all) in error.(*googleapi.Error).Header. Use
 31949  // googleapi.IsNotModified to check whether the returned error was
 31950  // because http.StatusNotModified was returned.
 31951  func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 31952  	gensupport.SetOptions(c.urlParams_, opts...)
 31953  	res, err := c.doRequest("json")
 31954  	if res != nil && res.StatusCode == http.StatusNotModified {
 31955  		if res.Body != nil {
 31956  			res.Body.Close()
 31957  		}
 31958  		return nil, &googleapi.Error{
 31959  			Code:   res.StatusCode,
 31960  			Header: res.Header,
 31961  		}
 31962  	}
 31963  	if err != nil {
 31964  		return nil, err
 31965  	}
 31966  	defer googleapi.CloseBody(res)
 31967  	if err := googleapi.CheckResponse(res); err != nil {
 31968  		return nil, err
 31969  	}
 31970  	ret := &FloodlightActivity{
 31971  		ServerResponse: googleapi.ServerResponse{
 31972  			Header:         res.Header,
 31973  			HTTPStatusCode: res.StatusCode,
 31974  		},
 31975  	}
 31976  	target := &ret
 31977  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31978  		return nil, err
 31979  	}
 31980  	return ret, nil
 31981  	// {
 31982  	//   "description": "Gets one floodlight activity by ID.",
 31983  	//   "httpMethod": "GET",
 31984  	//   "id": "dfareporting.floodlightActivities.get",
 31985  	//   "parameterOrder": [
 31986  	//     "profileId",
 31987  	//     "id"
 31988  	//   ],
 31989  	//   "parameters": {
 31990  	//     "id": {
 31991  	//       "description": "Floodlight activity ID.",
 31992  	//       "format": "int64",
 31993  	//       "location": "path",
 31994  	//       "required": true,
 31995  	//       "type": "string"
 31996  	//     },
 31997  	//     "profileId": {
 31998  	//       "description": "User profile ID associated with this request.",
 31999  	//       "format": "int64",
 32000  	//       "location": "path",
 32001  	//       "required": true,
 32002  	//       "type": "string"
 32003  	//     }
 32004  	//   },
 32005  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 32006  	//   "response": {
 32007  	//     "$ref": "FloodlightActivity"
 32008  	//   },
 32009  	//   "scopes": [
 32010  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32011  	//   ]
 32012  	// }
 32013  
 32014  }
 32015  
 32016  // method id "dfareporting.floodlightActivities.insert":
 32017  
 32018  type FloodlightActivitiesInsertCall struct {
 32019  	s                  *Service
 32020  	profileId          int64
 32021  	floodlightactivity *FloodlightActivity
 32022  	urlParams_         gensupport.URLParams
 32023  	ctx_               context.Context
 32024  	header_            http.Header
 32025  }
 32026  
 32027  // Insert: Inserts a new floodlight activity.
 32028  func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
 32029  	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32030  	c.profileId = profileId
 32031  	c.floodlightactivity = floodlightactivity
 32032  	return c
 32033  }
 32034  
 32035  // Fields allows partial responses to be retrieved. See
 32036  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32037  // for more information.
 32038  func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
 32039  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32040  	return c
 32041  }
 32042  
 32043  // Context sets the context to be used in this call's Do method. Any
 32044  // pending HTTP request will be aborted if the provided context is
 32045  // canceled.
 32046  func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
 32047  	c.ctx_ = ctx
 32048  	return c
 32049  }
 32050  
 32051  // Header returns an http.Header that can be modified by the caller to
 32052  // add HTTP headers to the request.
 32053  func (c *FloodlightActivitiesInsertCall) Header() http.Header {
 32054  	if c.header_ == nil {
 32055  		c.header_ = make(http.Header)
 32056  	}
 32057  	return c.header_
 32058  }
 32059  
 32060  func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
 32061  	reqHeaders := make(http.Header)
 32062  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32063  	for k, v := range c.header_ {
 32064  		reqHeaders[k] = v
 32065  	}
 32066  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32067  	var body io.Reader = nil
 32068  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 32069  	if err != nil {
 32070  		return nil, err
 32071  	}
 32072  	reqHeaders.Set("Content-Type", "application/json")
 32073  	c.urlParams_.Set("alt", alt)
 32074  	c.urlParams_.Set("prettyPrint", "false")
 32075  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 32076  	urls += "?" + c.urlParams_.Encode()
 32077  	req, err := http.NewRequest("POST", urls, body)
 32078  	if err != nil {
 32079  		return nil, err
 32080  	}
 32081  	req.Header = reqHeaders
 32082  	googleapi.Expand(req.URL, map[string]string{
 32083  		"profileId": strconv.FormatInt(c.profileId, 10),
 32084  	})
 32085  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32086  }
 32087  
 32088  // Do executes the "dfareporting.floodlightActivities.insert" call.
 32089  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 32090  // non-2xx status code is an error. Response headers are in either
 32091  // *FloodlightActivity.ServerResponse.Header or (if a response was
 32092  // returned at all) in error.(*googleapi.Error).Header. Use
 32093  // googleapi.IsNotModified to check whether the returned error was
 32094  // because http.StatusNotModified was returned.
 32095  func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 32096  	gensupport.SetOptions(c.urlParams_, opts...)
 32097  	res, err := c.doRequest("json")
 32098  	if res != nil && res.StatusCode == http.StatusNotModified {
 32099  		if res.Body != nil {
 32100  			res.Body.Close()
 32101  		}
 32102  		return nil, &googleapi.Error{
 32103  			Code:   res.StatusCode,
 32104  			Header: res.Header,
 32105  		}
 32106  	}
 32107  	if err != nil {
 32108  		return nil, err
 32109  	}
 32110  	defer googleapi.CloseBody(res)
 32111  	if err := googleapi.CheckResponse(res); err != nil {
 32112  		return nil, err
 32113  	}
 32114  	ret := &FloodlightActivity{
 32115  		ServerResponse: googleapi.ServerResponse{
 32116  			Header:         res.Header,
 32117  			HTTPStatusCode: res.StatusCode,
 32118  		},
 32119  	}
 32120  	target := &ret
 32121  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32122  		return nil, err
 32123  	}
 32124  	return ret, nil
 32125  	// {
 32126  	//   "description": "Inserts a new floodlight activity.",
 32127  	//   "httpMethod": "POST",
 32128  	//   "id": "dfareporting.floodlightActivities.insert",
 32129  	//   "parameterOrder": [
 32130  	//     "profileId"
 32131  	//   ],
 32132  	//   "parameters": {
 32133  	//     "profileId": {
 32134  	//       "description": "User profile ID associated with this request.",
 32135  	//       "format": "int64",
 32136  	//       "location": "path",
 32137  	//       "required": true,
 32138  	//       "type": "string"
 32139  	//     }
 32140  	//   },
 32141  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 32142  	//   "request": {
 32143  	//     "$ref": "FloodlightActivity"
 32144  	//   },
 32145  	//   "response": {
 32146  	//     "$ref": "FloodlightActivity"
 32147  	//   },
 32148  	//   "scopes": [
 32149  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32150  	//   ]
 32151  	// }
 32152  
 32153  }
 32154  
 32155  // method id "dfareporting.floodlightActivities.list":
 32156  
 32157  type FloodlightActivitiesListCall struct {
 32158  	s            *Service
 32159  	profileId    int64
 32160  	urlParams_   gensupport.URLParams
 32161  	ifNoneMatch_ string
 32162  	ctx_         context.Context
 32163  	header_      http.Header
 32164  }
 32165  
 32166  // List: Retrieves a list of floodlight activities, possibly filtered.
 32167  // This method supports paging.
 32168  func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
 32169  	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32170  	c.profileId = profileId
 32171  	return c
 32172  }
 32173  
 32174  // AdvertiserId sets the optional parameter "advertiserId": Select only
 32175  // floodlight activities for the specified advertiser ID. Must specify
 32176  // either ids, advertiserId, or floodlightConfigurationId for a
 32177  // non-empty result.
 32178  func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
 32179  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32180  	return c
 32181  }
 32182  
 32183  // FloodlightActivityGroupIds sets the optional parameter
 32184  // "floodlightActivityGroupIds": Select only floodlight activities with
 32185  // the specified floodlight activity group IDs.
 32186  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
 32187  	var floodlightActivityGroupIds_ []string
 32188  	for _, v := range floodlightActivityGroupIds {
 32189  		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
 32190  	}
 32191  	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
 32192  	return c
 32193  }
 32194  
 32195  // FloodlightActivityGroupName sets the optional parameter
 32196  // "floodlightActivityGroupName": Select only floodlight activities with
 32197  // the specified floodlight activity group name.
 32198  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
 32199  	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
 32200  	return c
 32201  }
 32202  
 32203  // FloodlightActivityGroupTagString sets the optional parameter
 32204  // "floodlightActivityGroupTagString": Select only floodlight activities
 32205  // with the specified floodlight activity group tag string.
 32206  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
 32207  	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
 32208  	return c
 32209  }
 32210  
 32211  // FloodlightActivityGroupType sets the optional parameter
 32212  // "floodlightActivityGroupType": Select only floodlight activities with
 32213  // the specified floodlight activity group type.
 32214  //
 32215  // Possible values:
 32216  //
 32217  //	"COUNTER"
 32218  //	"SALE"
 32219  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
 32220  	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
 32221  	return c
 32222  }
 32223  
 32224  // FloodlightConfigurationId sets the optional parameter
 32225  // "floodlightConfigurationId": Select only floodlight activities for
 32226  // the specified floodlight configuration ID. Must specify either ids,
 32227  // advertiserId, or floodlightConfigurationId for a non-empty result.
 32228  func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
 32229  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 32230  	return c
 32231  }
 32232  
 32233  // Ids sets the optional parameter "ids": Select only floodlight
 32234  // activities with the specified IDs. Must specify either ids,
 32235  // advertiserId, or floodlightConfigurationId for a non-empty result.
 32236  func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
 32237  	var ids_ []string
 32238  	for _, v := range ids {
 32239  		ids_ = append(ids_, fmt.Sprint(v))
 32240  	}
 32241  	c.urlParams_.SetMulti("ids", ids_)
 32242  	return c
 32243  }
 32244  
 32245  // MaxResults sets the optional parameter "maxResults": Maximum number
 32246  // of results to return.
 32247  func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
 32248  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 32249  	return c
 32250  }
 32251  
 32252  // PageToken sets the optional parameter "pageToken": Value of the
 32253  // nextPageToken from the previous result page.
 32254  func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
 32255  	c.urlParams_.Set("pageToken", pageToken)
 32256  	return c
 32257  }
 32258  
 32259  // SearchString sets the optional parameter "searchString": Allows
 32260  // searching for objects by name or ID. Wildcards (*) are allowed. For
 32261  // example, "floodlightactivity*2015" will return objects with names
 32262  // like "floodlightactivity June 2015", "floodlightactivity April 2015",
 32263  // or simply "floodlightactivity 2015". Most of the searches also add
 32264  // wildcards implicitly at the start and the end of the search string.
 32265  // For example, a search string of "floodlightactivity" will match
 32266  // objects with name "my floodlightactivity activity",
 32267  // "floodlightactivity 2015", or simply "floodlightactivity".
 32268  func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
 32269  	c.urlParams_.Set("searchString", searchString)
 32270  	return c
 32271  }
 32272  
 32273  // SortField sets the optional parameter "sortField": Field by which to
 32274  // sort the list.
 32275  //
 32276  // Possible values:
 32277  //
 32278  //	"ID" (default)
 32279  //	"NAME"
 32280  func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
 32281  	c.urlParams_.Set("sortField", sortField)
 32282  	return c
 32283  }
 32284  
 32285  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 32286  // results.
 32287  //
 32288  // Possible values:
 32289  //
 32290  //	"ASCENDING" (default)
 32291  //	"DESCENDING"
 32292  func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
 32293  	c.urlParams_.Set("sortOrder", sortOrder)
 32294  	return c
 32295  }
 32296  
 32297  // TagString sets the optional parameter "tagString": Select only
 32298  // floodlight activities with the specified tag string.
 32299  func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
 32300  	c.urlParams_.Set("tagString", tagString)
 32301  	return c
 32302  }
 32303  
 32304  // Fields allows partial responses to be retrieved. See
 32305  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32306  // for more information.
 32307  func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
 32308  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32309  	return c
 32310  }
 32311  
 32312  // IfNoneMatch sets the optional parameter which makes the operation
 32313  // fail if the object's ETag matches the given value. This is useful for
 32314  // getting updates only after the object has changed since the last
 32315  // request. Use googleapi.IsNotModified to check whether the response
 32316  // error from Do is the result of In-None-Match.
 32317  func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
 32318  	c.ifNoneMatch_ = entityTag
 32319  	return c
 32320  }
 32321  
 32322  // Context sets the context to be used in this call's Do method. Any
 32323  // pending HTTP request will be aborted if the provided context is
 32324  // canceled.
 32325  func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
 32326  	c.ctx_ = ctx
 32327  	return c
 32328  }
 32329  
 32330  // Header returns an http.Header that can be modified by the caller to
 32331  // add HTTP headers to the request.
 32332  func (c *FloodlightActivitiesListCall) Header() http.Header {
 32333  	if c.header_ == nil {
 32334  		c.header_ = make(http.Header)
 32335  	}
 32336  	return c.header_
 32337  }
 32338  
 32339  func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 32340  	reqHeaders := make(http.Header)
 32341  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32342  	for k, v := range c.header_ {
 32343  		reqHeaders[k] = v
 32344  	}
 32345  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32346  	if c.ifNoneMatch_ != "" {
 32347  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32348  	}
 32349  	var body io.Reader = nil
 32350  	c.urlParams_.Set("alt", alt)
 32351  	c.urlParams_.Set("prettyPrint", "false")
 32352  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 32353  	urls += "?" + c.urlParams_.Encode()
 32354  	req, err := http.NewRequest("GET", urls, body)
 32355  	if err != nil {
 32356  		return nil, err
 32357  	}
 32358  	req.Header = reqHeaders
 32359  	googleapi.Expand(req.URL, map[string]string{
 32360  		"profileId": strconv.FormatInt(c.profileId, 10),
 32361  	})
 32362  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32363  }
 32364  
 32365  // Do executes the "dfareporting.floodlightActivities.list" call.
 32366  // Exactly one of *FloodlightActivitiesListResponse or error will be
 32367  // non-nil. Any non-2xx status code is an error. Response headers are in
 32368  // either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
 32369  // a response was returned at all) in error.(*googleapi.Error).Header.
 32370  // Use googleapi.IsNotModified to check whether the returned error was
 32371  // because http.StatusNotModified was returned.
 32372  func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
 32373  	gensupport.SetOptions(c.urlParams_, opts...)
 32374  	res, err := c.doRequest("json")
 32375  	if res != nil && res.StatusCode == http.StatusNotModified {
 32376  		if res.Body != nil {
 32377  			res.Body.Close()
 32378  		}
 32379  		return nil, &googleapi.Error{
 32380  			Code:   res.StatusCode,
 32381  			Header: res.Header,
 32382  		}
 32383  	}
 32384  	if err != nil {
 32385  		return nil, err
 32386  	}
 32387  	defer googleapi.CloseBody(res)
 32388  	if err := googleapi.CheckResponse(res); err != nil {
 32389  		return nil, err
 32390  	}
 32391  	ret := &FloodlightActivitiesListResponse{
 32392  		ServerResponse: googleapi.ServerResponse{
 32393  			Header:         res.Header,
 32394  			HTTPStatusCode: res.StatusCode,
 32395  		},
 32396  	}
 32397  	target := &ret
 32398  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32399  		return nil, err
 32400  	}
 32401  	return ret, nil
 32402  	// {
 32403  	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
 32404  	//   "httpMethod": "GET",
 32405  	//   "id": "dfareporting.floodlightActivities.list",
 32406  	//   "parameterOrder": [
 32407  	//     "profileId"
 32408  	//   ],
 32409  	//   "parameters": {
 32410  	//     "advertiserId": {
 32411  	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 32412  	//       "format": "int64",
 32413  	//       "location": "query",
 32414  	//       "type": "string"
 32415  	//     },
 32416  	//     "floodlightActivityGroupIds": {
 32417  	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
 32418  	//       "format": "int64",
 32419  	//       "location": "query",
 32420  	//       "repeated": true,
 32421  	//       "type": "string"
 32422  	//     },
 32423  	//     "floodlightActivityGroupName": {
 32424  	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
 32425  	//       "location": "query",
 32426  	//       "type": "string"
 32427  	//     },
 32428  	//     "floodlightActivityGroupTagString": {
 32429  	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
 32430  	//       "location": "query",
 32431  	//       "type": "string"
 32432  	//     },
 32433  	//     "floodlightActivityGroupType": {
 32434  	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
 32435  	//       "enum": [
 32436  	//         "COUNTER",
 32437  	//         "SALE"
 32438  	//       ],
 32439  	//       "enumDescriptions": [
 32440  	//         "",
 32441  	//         ""
 32442  	//       ],
 32443  	//       "location": "query",
 32444  	//       "type": "string"
 32445  	//     },
 32446  	//     "floodlightConfigurationId": {
 32447  	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 32448  	//       "format": "int64",
 32449  	//       "location": "query",
 32450  	//       "type": "string"
 32451  	//     },
 32452  	//     "ids": {
 32453  	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 32454  	//       "format": "int64",
 32455  	//       "location": "query",
 32456  	//       "repeated": true,
 32457  	//       "type": "string"
 32458  	//     },
 32459  	//     "maxResults": {
 32460  	//       "default": "1000",
 32461  	//       "description": "Maximum number of results to return.",
 32462  	//       "format": "int32",
 32463  	//       "location": "query",
 32464  	//       "maximum": "1000",
 32465  	//       "minimum": "0",
 32466  	//       "type": "integer"
 32467  	//     },
 32468  	//     "pageToken": {
 32469  	//       "description": "Value of the nextPageToken from the previous result page.",
 32470  	//       "location": "query",
 32471  	//       "type": "string"
 32472  	//     },
 32473  	//     "profileId": {
 32474  	//       "description": "User profile ID associated with this request.",
 32475  	//       "format": "int64",
 32476  	//       "location": "path",
 32477  	//       "required": true,
 32478  	//       "type": "string"
 32479  	//     },
 32480  	//     "searchString": {
 32481  	//       "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\".",
 32482  	//       "location": "query",
 32483  	//       "type": "string"
 32484  	//     },
 32485  	//     "sortField": {
 32486  	//       "default": "ID",
 32487  	//       "description": "Field by which to sort the list.",
 32488  	//       "enum": [
 32489  	//         "ID",
 32490  	//         "NAME"
 32491  	//       ],
 32492  	//       "enumDescriptions": [
 32493  	//         "",
 32494  	//         ""
 32495  	//       ],
 32496  	//       "location": "query",
 32497  	//       "type": "string"
 32498  	//     },
 32499  	//     "sortOrder": {
 32500  	//       "default": "ASCENDING",
 32501  	//       "description": "Order of sorted results.",
 32502  	//       "enum": [
 32503  	//         "ASCENDING",
 32504  	//         "DESCENDING"
 32505  	//       ],
 32506  	//       "enumDescriptions": [
 32507  	//         "",
 32508  	//         ""
 32509  	//       ],
 32510  	//       "location": "query",
 32511  	//       "type": "string"
 32512  	//     },
 32513  	//     "tagString": {
 32514  	//       "description": "Select only floodlight activities with the specified tag string.",
 32515  	//       "location": "query",
 32516  	//       "type": "string"
 32517  	//     }
 32518  	//   },
 32519  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 32520  	//   "response": {
 32521  	//     "$ref": "FloodlightActivitiesListResponse"
 32522  	//   },
 32523  	//   "scopes": [
 32524  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32525  	//   ]
 32526  	// }
 32527  
 32528  }
 32529  
 32530  // Pages invokes f for each page of results.
 32531  // A non-nil error returned from f will halt the iteration.
 32532  // The provided context supersedes any context provided to the Context method.
 32533  func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
 32534  	c.ctx_ = ctx
 32535  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 32536  	for {
 32537  		x, err := c.Do()
 32538  		if err != nil {
 32539  			return err
 32540  		}
 32541  		if err := f(x); err != nil {
 32542  			return err
 32543  		}
 32544  		if x.NextPageToken == "" {
 32545  			return nil
 32546  		}
 32547  		c.PageToken(x.NextPageToken)
 32548  	}
 32549  }
 32550  
 32551  // method id "dfareporting.floodlightActivities.patch":
 32552  
 32553  type FloodlightActivitiesPatchCall struct {
 32554  	s                  *Service
 32555  	profileId          int64
 32556  	floodlightactivity *FloodlightActivity
 32557  	urlParams_         gensupport.URLParams
 32558  	ctx_               context.Context
 32559  	header_            http.Header
 32560  }
 32561  
 32562  // Patch: Updates an existing floodlight activity. This method supports
 32563  // patch semantics.
 32564  func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
 32565  	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32566  	c.profileId = profileId
 32567  	c.urlParams_.Set("id", fmt.Sprint(id))
 32568  	c.floodlightactivity = floodlightactivity
 32569  	return c
 32570  }
 32571  
 32572  // Fields allows partial responses to be retrieved. See
 32573  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32574  // for more information.
 32575  func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
 32576  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32577  	return c
 32578  }
 32579  
 32580  // Context sets the context to be used in this call's Do method. Any
 32581  // pending HTTP request will be aborted if the provided context is
 32582  // canceled.
 32583  func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
 32584  	c.ctx_ = ctx
 32585  	return c
 32586  }
 32587  
 32588  // Header returns an http.Header that can be modified by the caller to
 32589  // add HTTP headers to the request.
 32590  func (c *FloodlightActivitiesPatchCall) Header() http.Header {
 32591  	if c.header_ == nil {
 32592  		c.header_ = make(http.Header)
 32593  	}
 32594  	return c.header_
 32595  }
 32596  
 32597  func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
 32598  	reqHeaders := make(http.Header)
 32599  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32600  	for k, v := range c.header_ {
 32601  		reqHeaders[k] = v
 32602  	}
 32603  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32604  	var body io.Reader = nil
 32605  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 32606  	if err != nil {
 32607  		return nil, err
 32608  	}
 32609  	reqHeaders.Set("Content-Type", "application/json")
 32610  	c.urlParams_.Set("alt", alt)
 32611  	c.urlParams_.Set("prettyPrint", "false")
 32612  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 32613  	urls += "?" + c.urlParams_.Encode()
 32614  	req, err := http.NewRequest("PATCH", urls, body)
 32615  	if err != nil {
 32616  		return nil, err
 32617  	}
 32618  	req.Header = reqHeaders
 32619  	googleapi.Expand(req.URL, map[string]string{
 32620  		"profileId": strconv.FormatInt(c.profileId, 10),
 32621  	})
 32622  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32623  }
 32624  
 32625  // Do executes the "dfareporting.floodlightActivities.patch" call.
 32626  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 32627  // non-2xx status code is an error. Response headers are in either
 32628  // *FloodlightActivity.ServerResponse.Header or (if a response was
 32629  // returned at all) in error.(*googleapi.Error).Header. Use
 32630  // googleapi.IsNotModified to check whether the returned error was
 32631  // because http.StatusNotModified was returned.
 32632  func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 32633  	gensupport.SetOptions(c.urlParams_, opts...)
 32634  	res, err := c.doRequest("json")
 32635  	if res != nil && res.StatusCode == http.StatusNotModified {
 32636  		if res.Body != nil {
 32637  			res.Body.Close()
 32638  		}
 32639  		return nil, &googleapi.Error{
 32640  			Code:   res.StatusCode,
 32641  			Header: res.Header,
 32642  		}
 32643  	}
 32644  	if err != nil {
 32645  		return nil, err
 32646  	}
 32647  	defer googleapi.CloseBody(res)
 32648  	if err := googleapi.CheckResponse(res); err != nil {
 32649  		return nil, err
 32650  	}
 32651  	ret := &FloodlightActivity{
 32652  		ServerResponse: googleapi.ServerResponse{
 32653  			Header:         res.Header,
 32654  			HTTPStatusCode: res.StatusCode,
 32655  		},
 32656  	}
 32657  	target := &ret
 32658  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32659  		return nil, err
 32660  	}
 32661  	return ret, nil
 32662  	// {
 32663  	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
 32664  	//   "httpMethod": "PATCH",
 32665  	//   "id": "dfareporting.floodlightActivities.patch",
 32666  	//   "parameterOrder": [
 32667  	//     "profileId",
 32668  	//     "id"
 32669  	//   ],
 32670  	//   "parameters": {
 32671  	//     "id": {
 32672  	//       "description": "Floodlight activity ID.",
 32673  	//       "format": "int64",
 32674  	//       "location": "query",
 32675  	//       "required": true,
 32676  	//       "type": "string"
 32677  	//     },
 32678  	//     "profileId": {
 32679  	//       "description": "User profile ID associated with this request.",
 32680  	//       "format": "int64",
 32681  	//       "location": "path",
 32682  	//       "required": true,
 32683  	//       "type": "string"
 32684  	//     }
 32685  	//   },
 32686  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 32687  	//   "request": {
 32688  	//     "$ref": "FloodlightActivity"
 32689  	//   },
 32690  	//   "response": {
 32691  	//     "$ref": "FloodlightActivity"
 32692  	//   },
 32693  	//   "scopes": [
 32694  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32695  	//   ]
 32696  	// }
 32697  
 32698  }
 32699  
 32700  // method id "dfareporting.floodlightActivities.update":
 32701  
 32702  type FloodlightActivitiesUpdateCall struct {
 32703  	s                  *Service
 32704  	profileId          int64
 32705  	floodlightactivity *FloodlightActivity
 32706  	urlParams_         gensupport.URLParams
 32707  	ctx_               context.Context
 32708  	header_            http.Header
 32709  }
 32710  
 32711  // Update: Updates an existing floodlight activity.
 32712  func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
 32713  	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32714  	c.profileId = profileId
 32715  	c.floodlightactivity = floodlightactivity
 32716  	return c
 32717  }
 32718  
 32719  // Fields allows partial responses to be retrieved. See
 32720  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32721  // for more information.
 32722  func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
 32723  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32724  	return c
 32725  }
 32726  
 32727  // Context sets the context to be used in this call's Do method. Any
 32728  // pending HTTP request will be aborted if the provided context is
 32729  // canceled.
 32730  func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
 32731  	c.ctx_ = ctx
 32732  	return c
 32733  }
 32734  
 32735  // Header returns an http.Header that can be modified by the caller to
 32736  // add HTTP headers to the request.
 32737  func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
 32738  	if c.header_ == nil {
 32739  		c.header_ = make(http.Header)
 32740  	}
 32741  	return c.header_
 32742  }
 32743  
 32744  func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 32745  	reqHeaders := make(http.Header)
 32746  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32747  	for k, v := range c.header_ {
 32748  		reqHeaders[k] = v
 32749  	}
 32750  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32751  	var body io.Reader = nil
 32752  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 32753  	if err != nil {
 32754  		return nil, err
 32755  	}
 32756  	reqHeaders.Set("Content-Type", "application/json")
 32757  	c.urlParams_.Set("alt", alt)
 32758  	c.urlParams_.Set("prettyPrint", "false")
 32759  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 32760  	urls += "?" + c.urlParams_.Encode()
 32761  	req, err := http.NewRequest("PUT", urls, body)
 32762  	if err != nil {
 32763  		return nil, err
 32764  	}
 32765  	req.Header = reqHeaders
 32766  	googleapi.Expand(req.URL, map[string]string{
 32767  		"profileId": strconv.FormatInt(c.profileId, 10),
 32768  	})
 32769  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32770  }
 32771  
 32772  // Do executes the "dfareporting.floodlightActivities.update" call.
 32773  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 32774  // non-2xx status code is an error. Response headers are in either
 32775  // *FloodlightActivity.ServerResponse.Header or (if a response was
 32776  // returned at all) in error.(*googleapi.Error).Header. Use
 32777  // googleapi.IsNotModified to check whether the returned error was
 32778  // because http.StatusNotModified was returned.
 32779  func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 32780  	gensupport.SetOptions(c.urlParams_, opts...)
 32781  	res, err := c.doRequest("json")
 32782  	if res != nil && res.StatusCode == http.StatusNotModified {
 32783  		if res.Body != nil {
 32784  			res.Body.Close()
 32785  		}
 32786  		return nil, &googleapi.Error{
 32787  			Code:   res.StatusCode,
 32788  			Header: res.Header,
 32789  		}
 32790  	}
 32791  	if err != nil {
 32792  		return nil, err
 32793  	}
 32794  	defer googleapi.CloseBody(res)
 32795  	if err := googleapi.CheckResponse(res); err != nil {
 32796  		return nil, err
 32797  	}
 32798  	ret := &FloodlightActivity{
 32799  		ServerResponse: googleapi.ServerResponse{
 32800  			Header:         res.Header,
 32801  			HTTPStatusCode: res.StatusCode,
 32802  		},
 32803  	}
 32804  	target := &ret
 32805  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32806  		return nil, err
 32807  	}
 32808  	return ret, nil
 32809  	// {
 32810  	//   "description": "Updates an existing floodlight activity.",
 32811  	//   "httpMethod": "PUT",
 32812  	//   "id": "dfareporting.floodlightActivities.update",
 32813  	//   "parameterOrder": [
 32814  	//     "profileId"
 32815  	//   ],
 32816  	//   "parameters": {
 32817  	//     "profileId": {
 32818  	//       "description": "User profile ID associated with this request.",
 32819  	//       "format": "int64",
 32820  	//       "location": "path",
 32821  	//       "required": true,
 32822  	//       "type": "string"
 32823  	//     }
 32824  	//   },
 32825  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 32826  	//   "request": {
 32827  	//     "$ref": "FloodlightActivity"
 32828  	//   },
 32829  	//   "response": {
 32830  	//     "$ref": "FloodlightActivity"
 32831  	//   },
 32832  	//   "scopes": [
 32833  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32834  	//   ]
 32835  	// }
 32836  
 32837  }
 32838  
 32839  // method id "dfareporting.floodlightActivityGroups.get":
 32840  
 32841  type FloodlightActivityGroupsGetCall struct {
 32842  	s            *Service
 32843  	profileId    int64
 32844  	id           int64
 32845  	urlParams_   gensupport.URLParams
 32846  	ifNoneMatch_ string
 32847  	ctx_         context.Context
 32848  	header_      http.Header
 32849  }
 32850  
 32851  // Get: Gets one floodlight activity group by ID.
 32852  func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
 32853  	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32854  	c.profileId = profileId
 32855  	c.id = id
 32856  	return c
 32857  }
 32858  
 32859  // Fields allows partial responses to be retrieved. See
 32860  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32861  // for more information.
 32862  func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
 32863  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32864  	return c
 32865  }
 32866  
 32867  // IfNoneMatch sets the optional parameter which makes the operation
 32868  // fail if the object's ETag matches the given value. This is useful for
 32869  // getting updates only after the object has changed since the last
 32870  // request. Use googleapi.IsNotModified to check whether the response
 32871  // error from Do is the result of In-None-Match.
 32872  func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
 32873  	c.ifNoneMatch_ = entityTag
 32874  	return c
 32875  }
 32876  
 32877  // Context sets the context to be used in this call's Do method. Any
 32878  // pending HTTP request will be aborted if the provided context is
 32879  // canceled.
 32880  func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
 32881  	c.ctx_ = ctx
 32882  	return c
 32883  }
 32884  
 32885  // Header returns an http.Header that can be modified by the caller to
 32886  // add HTTP headers to the request.
 32887  func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
 32888  	if c.header_ == nil {
 32889  		c.header_ = make(http.Header)
 32890  	}
 32891  	return c.header_
 32892  }
 32893  
 32894  func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 32895  	reqHeaders := make(http.Header)
 32896  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32897  	for k, v := range c.header_ {
 32898  		reqHeaders[k] = v
 32899  	}
 32900  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32901  	if c.ifNoneMatch_ != "" {
 32902  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32903  	}
 32904  	var body io.Reader = nil
 32905  	c.urlParams_.Set("alt", alt)
 32906  	c.urlParams_.Set("prettyPrint", "false")
 32907  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
 32908  	urls += "?" + c.urlParams_.Encode()
 32909  	req, err := http.NewRequest("GET", urls, body)
 32910  	if err != nil {
 32911  		return nil, err
 32912  	}
 32913  	req.Header = reqHeaders
 32914  	googleapi.Expand(req.URL, map[string]string{
 32915  		"profileId": strconv.FormatInt(c.profileId, 10),
 32916  		"id":        strconv.FormatInt(c.id, 10),
 32917  	})
 32918  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32919  }
 32920  
 32921  // Do executes the "dfareporting.floodlightActivityGroups.get" call.
 32922  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 32923  // non-2xx status code is an error. Response headers are in either
 32924  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 32925  // returned at all) in error.(*googleapi.Error).Header. Use
 32926  // googleapi.IsNotModified to check whether the returned error was
 32927  // because http.StatusNotModified was returned.
 32928  func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 32929  	gensupport.SetOptions(c.urlParams_, opts...)
 32930  	res, err := c.doRequest("json")
 32931  	if res != nil && res.StatusCode == http.StatusNotModified {
 32932  		if res.Body != nil {
 32933  			res.Body.Close()
 32934  		}
 32935  		return nil, &googleapi.Error{
 32936  			Code:   res.StatusCode,
 32937  			Header: res.Header,
 32938  		}
 32939  	}
 32940  	if err != nil {
 32941  		return nil, err
 32942  	}
 32943  	defer googleapi.CloseBody(res)
 32944  	if err := googleapi.CheckResponse(res); err != nil {
 32945  		return nil, err
 32946  	}
 32947  	ret := &FloodlightActivityGroup{
 32948  		ServerResponse: googleapi.ServerResponse{
 32949  			Header:         res.Header,
 32950  			HTTPStatusCode: res.StatusCode,
 32951  		},
 32952  	}
 32953  	target := &ret
 32954  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32955  		return nil, err
 32956  	}
 32957  	return ret, nil
 32958  	// {
 32959  	//   "description": "Gets one floodlight activity group by ID.",
 32960  	//   "httpMethod": "GET",
 32961  	//   "id": "dfareporting.floodlightActivityGroups.get",
 32962  	//   "parameterOrder": [
 32963  	//     "profileId",
 32964  	//     "id"
 32965  	//   ],
 32966  	//   "parameters": {
 32967  	//     "id": {
 32968  	//       "description": "Floodlight activity Group ID.",
 32969  	//       "format": "int64",
 32970  	//       "location": "path",
 32971  	//       "required": true,
 32972  	//       "type": "string"
 32973  	//     },
 32974  	//     "profileId": {
 32975  	//       "description": "User profile ID associated with this request.",
 32976  	//       "format": "int64",
 32977  	//       "location": "path",
 32978  	//       "required": true,
 32979  	//       "type": "string"
 32980  	//     }
 32981  	//   },
 32982  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
 32983  	//   "response": {
 32984  	//     "$ref": "FloodlightActivityGroup"
 32985  	//   },
 32986  	//   "scopes": [
 32987  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32988  	//   ]
 32989  	// }
 32990  
 32991  }
 32992  
 32993  // method id "dfareporting.floodlightActivityGroups.insert":
 32994  
 32995  type FloodlightActivityGroupsInsertCall struct {
 32996  	s                       *Service
 32997  	profileId               int64
 32998  	floodlightactivitygroup *FloodlightActivityGroup
 32999  	urlParams_              gensupport.URLParams
 33000  	ctx_                    context.Context
 33001  	header_                 http.Header
 33002  }
 33003  
 33004  // Insert: Inserts a new floodlight activity group.
 33005  func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
 33006  	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33007  	c.profileId = profileId
 33008  	c.floodlightactivitygroup = floodlightactivitygroup
 33009  	return c
 33010  }
 33011  
 33012  // Fields allows partial responses to be retrieved. See
 33013  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33014  // for more information.
 33015  func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
 33016  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33017  	return c
 33018  }
 33019  
 33020  // Context sets the context to be used in this call's Do method. Any
 33021  // pending HTTP request will be aborted if the provided context is
 33022  // canceled.
 33023  func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
 33024  	c.ctx_ = ctx
 33025  	return c
 33026  }
 33027  
 33028  // Header returns an http.Header that can be modified by the caller to
 33029  // add HTTP headers to the request.
 33030  func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
 33031  	if c.header_ == nil {
 33032  		c.header_ = make(http.Header)
 33033  	}
 33034  	return c.header_
 33035  }
 33036  
 33037  func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 33038  	reqHeaders := make(http.Header)
 33039  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33040  	for k, v := range c.header_ {
 33041  		reqHeaders[k] = v
 33042  	}
 33043  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33044  	var body io.Reader = nil
 33045  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 33046  	if err != nil {
 33047  		return nil, err
 33048  	}
 33049  	reqHeaders.Set("Content-Type", "application/json")
 33050  	c.urlParams_.Set("alt", alt)
 33051  	c.urlParams_.Set("prettyPrint", "false")
 33052  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 33053  	urls += "?" + c.urlParams_.Encode()
 33054  	req, err := http.NewRequest("POST", urls, body)
 33055  	if err != nil {
 33056  		return nil, err
 33057  	}
 33058  	req.Header = reqHeaders
 33059  	googleapi.Expand(req.URL, map[string]string{
 33060  		"profileId": strconv.FormatInt(c.profileId, 10),
 33061  	})
 33062  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33063  }
 33064  
 33065  // Do executes the "dfareporting.floodlightActivityGroups.insert" call.
 33066  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 33067  // non-2xx status code is an error. Response headers are in either
 33068  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 33069  // returned at all) in error.(*googleapi.Error).Header. Use
 33070  // googleapi.IsNotModified to check whether the returned error was
 33071  // because http.StatusNotModified was returned.
 33072  func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 33073  	gensupport.SetOptions(c.urlParams_, opts...)
 33074  	res, err := c.doRequest("json")
 33075  	if res != nil && res.StatusCode == http.StatusNotModified {
 33076  		if res.Body != nil {
 33077  			res.Body.Close()
 33078  		}
 33079  		return nil, &googleapi.Error{
 33080  			Code:   res.StatusCode,
 33081  			Header: res.Header,
 33082  		}
 33083  	}
 33084  	if err != nil {
 33085  		return nil, err
 33086  	}
 33087  	defer googleapi.CloseBody(res)
 33088  	if err := googleapi.CheckResponse(res); err != nil {
 33089  		return nil, err
 33090  	}
 33091  	ret := &FloodlightActivityGroup{
 33092  		ServerResponse: googleapi.ServerResponse{
 33093  			Header:         res.Header,
 33094  			HTTPStatusCode: res.StatusCode,
 33095  		},
 33096  	}
 33097  	target := &ret
 33098  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33099  		return nil, err
 33100  	}
 33101  	return ret, nil
 33102  	// {
 33103  	//   "description": "Inserts a new floodlight activity group.",
 33104  	//   "httpMethod": "POST",
 33105  	//   "id": "dfareporting.floodlightActivityGroups.insert",
 33106  	//   "parameterOrder": [
 33107  	//     "profileId"
 33108  	//   ],
 33109  	//   "parameters": {
 33110  	//     "profileId": {
 33111  	//       "description": "User profile ID associated with this request.",
 33112  	//       "format": "int64",
 33113  	//       "location": "path",
 33114  	//       "required": true,
 33115  	//       "type": "string"
 33116  	//     }
 33117  	//   },
 33118  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 33119  	//   "request": {
 33120  	//     "$ref": "FloodlightActivityGroup"
 33121  	//   },
 33122  	//   "response": {
 33123  	//     "$ref": "FloodlightActivityGroup"
 33124  	//   },
 33125  	//   "scopes": [
 33126  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33127  	//   ]
 33128  	// }
 33129  
 33130  }
 33131  
 33132  // method id "dfareporting.floodlightActivityGroups.list":
 33133  
 33134  type FloodlightActivityGroupsListCall struct {
 33135  	s            *Service
 33136  	profileId    int64
 33137  	urlParams_   gensupport.URLParams
 33138  	ifNoneMatch_ string
 33139  	ctx_         context.Context
 33140  	header_      http.Header
 33141  }
 33142  
 33143  // List: Retrieves a list of floodlight activity groups, possibly
 33144  // filtered. This method supports paging.
 33145  func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
 33146  	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33147  	c.profileId = profileId
 33148  	return c
 33149  }
 33150  
 33151  // AdvertiserId sets the optional parameter "advertiserId": Select only
 33152  // floodlight activity groups with the specified advertiser ID. Must
 33153  // specify either advertiserId or floodlightConfigurationId for a
 33154  // non-empty result.
 33155  func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
 33156  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33157  	return c
 33158  }
 33159  
 33160  // FloodlightConfigurationId sets the optional parameter
 33161  // "floodlightConfigurationId": Select only floodlight activity groups
 33162  // with the specified floodlight configuration ID. Must specify either
 33163  // advertiserId, or floodlightConfigurationId for a non-empty result.
 33164  func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
 33165  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 33166  	return c
 33167  }
 33168  
 33169  // Ids sets the optional parameter "ids": Select only floodlight
 33170  // activity groups with the specified IDs. Must specify either
 33171  // advertiserId or floodlightConfigurationId for a non-empty result.
 33172  func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
 33173  	var ids_ []string
 33174  	for _, v := range ids {
 33175  		ids_ = append(ids_, fmt.Sprint(v))
 33176  	}
 33177  	c.urlParams_.SetMulti("ids", ids_)
 33178  	return c
 33179  }
 33180  
 33181  // MaxResults sets the optional parameter "maxResults": Maximum number
 33182  // of results to return.
 33183  func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
 33184  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 33185  	return c
 33186  }
 33187  
 33188  // PageToken sets the optional parameter "pageToken": Value of the
 33189  // nextPageToken from the previous result page.
 33190  func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
 33191  	c.urlParams_.Set("pageToken", pageToken)
 33192  	return c
 33193  }
 33194  
 33195  // SearchString sets the optional parameter "searchString": Allows
 33196  // searching for objects by name or ID. Wildcards (*) are allowed. For
 33197  // example, "floodlightactivitygroup*2015" will return objects with
 33198  // names like "floodlightactivitygroup June 2015",
 33199  // "floodlightactivitygroup April 2015", or simply
 33200  // "floodlightactivitygroup 2015". Most of the searches also add
 33201  // wildcards implicitly at the start and the end of the search string.
 33202  // For example, a search string of "floodlightactivitygroup" will match
 33203  // objects with name "my floodlightactivitygroup activity",
 33204  // "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
 33205  func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
 33206  	c.urlParams_.Set("searchString", searchString)
 33207  	return c
 33208  }
 33209  
 33210  // SortField sets the optional parameter "sortField": Field by which to
 33211  // sort the list.
 33212  //
 33213  // Possible values:
 33214  //
 33215  //	"ID" (default)
 33216  //	"NAME"
 33217  func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
 33218  	c.urlParams_.Set("sortField", sortField)
 33219  	return c
 33220  }
 33221  
 33222  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 33223  // results.
 33224  //
 33225  // Possible values:
 33226  //
 33227  //	"ASCENDING" (default)
 33228  //	"DESCENDING"
 33229  func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
 33230  	c.urlParams_.Set("sortOrder", sortOrder)
 33231  	return c
 33232  }
 33233  
 33234  // Type sets the optional parameter "type": Select only floodlight
 33235  // activity groups with the specified floodlight activity group type.
 33236  //
 33237  // Possible values:
 33238  //
 33239  //	"COUNTER"
 33240  //	"SALE"
 33241  func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
 33242  	c.urlParams_.Set("type", type_)
 33243  	return c
 33244  }
 33245  
 33246  // Fields allows partial responses to be retrieved. See
 33247  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33248  // for more information.
 33249  func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
 33250  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33251  	return c
 33252  }
 33253  
 33254  // IfNoneMatch sets the optional parameter which makes the operation
 33255  // fail if the object's ETag matches the given value. This is useful for
 33256  // getting updates only after the object has changed since the last
 33257  // request. Use googleapi.IsNotModified to check whether the response
 33258  // error from Do is the result of In-None-Match.
 33259  func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
 33260  	c.ifNoneMatch_ = entityTag
 33261  	return c
 33262  }
 33263  
 33264  // Context sets the context to be used in this call's Do method. Any
 33265  // pending HTTP request will be aborted if the provided context is
 33266  // canceled.
 33267  func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
 33268  	c.ctx_ = ctx
 33269  	return c
 33270  }
 33271  
 33272  // Header returns an http.Header that can be modified by the caller to
 33273  // add HTTP headers to the request.
 33274  func (c *FloodlightActivityGroupsListCall) Header() http.Header {
 33275  	if c.header_ == nil {
 33276  		c.header_ = make(http.Header)
 33277  	}
 33278  	return c.header_
 33279  }
 33280  
 33281  func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 33282  	reqHeaders := make(http.Header)
 33283  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33284  	for k, v := range c.header_ {
 33285  		reqHeaders[k] = v
 33286  	}
 33287  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33288  	if c.ifNoneMatch_ != "" {
 33289  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33290  	}
 33291  	var body io.Reader = nil
 33292  	c.urlParams_.Set("alt", alt)
 33293  	c.urlParams_.Set("prettyPrint", "false")
 33294  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 33295  	urls += "?" + c.urlParams_.Encode()
 33296  	req, err := http.NewRequest("GET", urls, body)
 33297  	if err != nil {
 33298  		return nil, err
 33299  	}
 33300  	req.Header = reqHeaders
 33301  	googleapi.Expand(req.URL, map[string]string{
 33302  		"profileId": strconv.FormatInt(c.profileId, 10),
 33303  	})
 33304  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33305  }
 33306  
 33307  // Do executes the "dfareporting.floodlightActivityGroups.list" call.
 33308  // Exactly one of *FloodlightActivityGroupsListResponse or error will be
 33309  // non-nil. Any non-2xx status code is an error. Response headers are in
 33310  // either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
 33311  // (if a response was returned at all) in
 33312  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 33313  // whether the returned error was because http.StatusNotModified was
 33314  // returned.
 33315  func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
 33316  	gensupport.SetOptions(c.urlParams_, opts...)
 33317  	res, err := c.doRequest("json")
 33318  	if res != nil && res.StatusCode == http.StatusNotModified {
 33319  		if res.Body != nil {
 33320  			res.Body.Close()
 33321  		}
 33322  		return nil, &googleapi.Error{
 33323  			Code:   res.StatusCode,
 33324  			Header: res.Header,
 33325  		}
 33326  	}
 33327  	if err != nil {
 33328  		return nil, err
 33329  	}
 33330  	defer googleapi.CloseBody(res)
 33331  	if err := googleapi.CheckResponse(res); err != nil {
 33332  		return nil, err
 33333  	}
 33334  	ret := &FloodlightActivityGroupsListResponse{
 33335  		ServerResponse: googleapi.ServerResponse{
 33336  			Header:         res.Header,
 33337  			HTTPStatusCode: res.StatusCode,
 33338  		},
 33339  	}
 33340  	target := &ret
 33341  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33342  		return nil, err
 33343  	}
 33344  	return ret, nil
 33345  	// {
 33346  	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
 33347  	//   "httpMethod": "GET",
 33348  	//   "id": "dfareporting.floodlightActivityGroups.list",
 33349  	//   "parameterOrder": [
 33350  	//     "profileId"
 33351  	//   ],
 33352  	//   "parameters": {
 33353  	//     "advertiserId": {
 33354  	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 33355  	//       "format": "int64",
 33356  	//       "location": "query",
 33357  	//       "type": "string"
 33358  	//     },
 33359  	//     "floodlightConfigurationId": {
 33360  	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
 33361  	//       "format": "int64",
 33362  	//       "location": "query",
 33363  	//       "type": "string"
 33364  	//     },
 33365  	//     "ids": {
 33366  	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 33367  	//       "format": "int64",
 33368  	//       "location": "query",
 33369  	//       "repeated": true,
 33370  	//       "type": "string"
 33371  	//     },
 33372  	//     "maxResults": {
 33373  	//       "default": "1000",
 33374  	//       "description": "Maximum number of results to return.",
 33375  	//       "format": "int32",
 33376  	//       "location": "query",
 33377  	//       "maximum": "1000",
 33378  	//       "minimum": "0",
 33379  	//       "type": "integer"
 33380  	//     },
 33381  	//     "pageToken": {
 33382  	//       "description": "Value of the nextPageToken from the previous result page.",
 33383  	//       "location": "query",
 33384  	//       "type": "string"
 33385  	//     },
 33386  	//     "profileId": {
 33387  	//       "description": "User profile ID associated with this request.",
 33388  	//       "format": "int64",
 33389  	//       "location": "path",
 33390  	//       "required": true,
 33391  	//       "type": "string"
 33392  	//     },
 33393  	//     "searchString": {
 33394  	//       "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\".",
 33395  	//       "location": "query",
 33396  	//       "type": "string"
 33397  	//     },
 33398  	//     "sortField": {
 33399  	//       "default": "ID",
 33400  	//       "description": "Field by which to sort the list.",
 33401  	//       "enum": [
 33402  	//         "ID",
 33403  	//         "NAME"
 33404  	//       ],
 33405  	//       "enumDescriptions": [
 33406  	//         "",
 33407  	//         ""
 33408  	//       ],
 33409  	//       "location": "query",
 33410  	//       "type": "string"
 33411  	//     },
 33412  	//     "sortOrder": {
 33413  	//       "default": "ASCENDING",
 33414  	//       "description": "Order of sorted results.",
 33415  	//       "enum": [
 33416  	//         "ASCENDING",
 33417  	//         "DESCENDING"
 33418  	//       ],
 33419  	//       "enumDescriptions": [
 33420  	//         "",
 33421  	//         ""
 33422  	//       ],
 33423  	//       "location": "query",
 33424  	//       "type": "string"
 33425  	//     },
 33426  	//     "type": {
 33427  	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
 33428  	//       "enum": [
 33429  	//         "COUNTER",
 33430  	//         "SALE"
 33431  	//       ],
 33432  	//       "enumDescriptions": [
 33433  	//         "",
 33434  	//         ""
 33435  	//       ],
 33436  	//       "location": "query",
 33437  	//       "type": "string"
 33438  	//     }
 33439  	//   },
 33440  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 33441  	//   "response": {
 33442  	//     "$ref": "FloodlightActivityGroupsListResponse"
 33443  	//   },
 33444  	//   "scopes": [
 33445  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33446  	//   ]
 33447  	// }
 33448  
 33449  }
 33450  
 33451  // Pages invokes f for each page of results.
 33452  // A non-nil error returned from f will halt the iteration.
 33453  // The provided context supersedes any context provided to the Context method.
 33454  func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
 33455  	c.ctx_ = ctx
 33456  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 33457  	for {
 33458  		x, err := c.Do()
 33459  		if err != nil {
 33460  			return err
 33461  		}
 33462  		if err := f(x); err != nil {
 33463  			return err
 33464  		}
 33465  		if x.NextPageToken == "" {
 33466  			return nil
 33467  		}
 33468  		c.PageToken(x.NextPageToken)
 33469  	}
 33470  }
 33471  
 33472  // method id "dfareporting.floodlightActivityGroups.patch":
 33473  
 33474  type FloodlightActivityGroupsPatchCall struct {
 33475  	s                       *Service
 33476  	profileId               int64
 33477  	floodlightactivitygroup *FloodlightActivityGroup
 33478  	urlParams_              gensupport.URLParams
 33479  	ctx_                    context.Context
 33480  	header_                 http.Header
 33481  }
 33482  
 33483  // Patch: Updates an existing floodlight activity group. This method
 33484  // supports patch semantics.
 33485  func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
 33486  	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33487  	c.profileId = profileId
 33488  	c.urlParams_.Set("id", fmt.Sprint(id))
 33489  	c.floodlightactivitygroup = floodlightactivitygroup
 33490  	return c
 33491  }
 33492  
 33493  // Fields allows partial responses to be retrieved. See
 33494  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33495  // for more information.
 33496  func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
 33497  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33498  	return c
 33499  }
 33500  
 33501  // Context sets the context to be used in this call's Do method. Any
 33502  // pending HTTP request will be aborted if the provided context is
 33503  // canceled.
 33504  func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
 33505  	c.ctx_ = ctx
 33506  	return c
 33507  }
 33508  
 33509  // Header returns an http.Header that can be modified by the caller to
 33510  // add HTTP headers to the request.
 33511  func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
 33512  	if c.header_ == nil {
 33513  		c.header_ = make(http.Header)
 33514  	}
 33515  	return c.header_
 33516  }
 33517  
 33518  func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 33519  	reqHeaders := make(http.Header)
 33520  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33521  	for k, v := range c.header_ {
 33522  		reqHeaders[k] = v
 33523  	}
 33524  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33525  	var body io.Reader = nil
 33526  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 33527  	if err != nil {
 33528  		return nil, err
 33529  	}
 33530  	reqHeaders.Set("Content-Type", "application/json")
 33531  	c.urlParams_.Set("alt", alt)
 33532  	c.urlParams_.Set("prettyPrint", "false")
 33533  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 33534  	urls += "?" + c.urlParams_.Encode()
 33535  	req, err := http.NewRequest("PATCH", urls, body)
 33536  	if err != nil {
 33537  		return nil, err
 33538  	}
 33539  	req.Header = reqHeaders
 33540  	googleapi.Expand(req.URL, map[string]string{
 33541  		"profileId": strconv.FormatInt(c.profileId, 10),
 33542  	})
 33543  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33544  }
 33545  
 33546  // Do executes the "dfareporting.floodlightActivityGroups.patch" call.
 33547  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 33548  // non-2xx status code is an error. Response headers are in either
 33549  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 33550  // returned at all) in error.(*googleapi.Error).Header. Use
 33551  // googleapi.IsNotModified to check whether the returned error was
 33552  // because http.StatusNotModified was returned.
 33553  func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 33554  	gensupport.SetOptions(c.urlParams_, opts...)
 33555  	res, err := c.doRequest("json")
 33556  	if res != nil && res.StatusCode == http.StatusNotModified {
 33557  		if res.Body != nil {
 33558  			res.Body.Close()
 33559  		}
 33560  		return nil, &googleapi.Error{
 33561  			Code:   res.StatusCode,
 33562  			Header: res.Header,
 33563  		}
 33564  	}
 33565  	if err != nil {
 33566  		return nil, err
 33567  	}
 33568  	defer googleapi.CloseBody(res)
 33569  	if err := googleapi.CheckResponse(res); err != nil {
 33570  		return nil, err
 33571  	}
 33572  	ret := &FloodlightActivityGroup{
 33573  		ServerResponse: googleapi.ServerResponse{
 33574  			Header:         res.Header,
 33575  			HTTPStatusCode: res.StatusCode,
 33576  		},
 33577  	}
 33578  	target := &ret
 33579  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33580  		return nil, err
 33581  	}
 33582  	return ret, nil
 33583  	// {
 33584  	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
 33585  	//   "httpMethod": "PATCH",
 33586  	//   "id": "dfareporting.floodlightActivityGroups.patch",
 33587  	//   "parameterOrder": [
 33588  	//     "profileId",
 33589  	//     "id"
 33590  	//   ],
 33591  	//   "parameters": {
 33592  	//     "id": {
 33593  	//       "description": "Floodlight activity Group ID.",
 33594  	//       "format": "int64",
 33595  	//       "location": "query",
 33596  	//       "required": true,
 33597  	//       "type": "string"
 33598  	//     },
 33599  	//     "profileId": {
 33600  	//       "description": "User profile ID associated with this request.",
 33601  	//       "format": "int64",
 33602  	//       "location": "path",
 33603  	//       "required": true,
 33604  	//       "type": "string"
 33605  	//     }
 33606  	//   },
 33607  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 33608  	//   "request": {
 33609  	//     "$ref": "FloodlightActivityGroup"
 33610  	//   },
 33611  	//   "response": {
 33612  	//     "$ref": "FloodlightActivityGroup"
 33613  	//   },
 33614  	//   "scopes": [
 33615  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33616  	//   ]
 33617  	// }
 33618  
 33619  }
 33620  
 33621  // method id "dfareporting.floodlightActivityGroups.update":
 33622  
 33623  type FloodlightActivityGroupsUpdateCall struct {
 33624  	s                       *Service
 33625  	profileId               int64
 33626  	floodlightactivitygroup *FloodlightActivityGroup
 33627  	urlParams_              gensupport.URLParams
 33628  	ctx_                    context.Context
 33629  	header_                 http.Header
 33630  }
 33631  
 33632  // Update: Updates an existing floodlight activity group.
 33633  func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
 33634  	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33635  	c.profileId = profileId
 33636  	c.floodlightactivitygroup = floodlightactivitygroup
 33637  	return c
 33638  }
 33639  
 33640  // Fields allows partial responses to be retrieved. See
 33641  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33642  // for more information.
 33643  func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
 33644  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33645  	return c
 33646  }
 33647  
 33648  // Context sets the context to be used in this call's Do method. Any
 33649  // pending HTTP request will be aborted if the provided context is
 33650  // canceled.
 33651  func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
 33652  	c.ctx_ = ctx
 33653  	return c
 33654  }
 33655  
 33656  // Header returns an http.Header that can be modified by the caller to
 33657  // add HTTP headers to the request.
 33658  func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
 33659  	if c.header_ == nil {
 33660  		c.header_ = make(http.Header)
 33661  	}
 33662  	return c.header_
 33663  }
 33664  
 33665  func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 33666  	reqHeaders := make(http.Header)
 33667  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33668  	for k, v := range c.header_ {
 33669  		reqHeaders[k] = v
 33670  	}
 33671  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33672  	var body io.Reader = nil
 33673  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 33674  	if err != nil {
 33675  		return nil, err
 33676  	}
 33677  	reqHeaders.Set("Content-Type", "application/json")
 33678  	c.urlParams_.Set("alt", alt)
 33679  	c.urlParams_.Set("prettyPrint", "false")
 33680  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 33681  	urls += "?" + c.urlParams_.Encode()
 33682  	req, err := http.NewRequest("PUT", urls, body)
 33683  	if err != nil {
 33684  		return nil, err
 33685  	}
 33686  	req.Header = reqHeaders
 33687  	googleapi.Expand(req.URL, map[string]string{
 33688  		"profileId": strconv.FormatInt(c.profileId, 10),
 33689  	})
 33690  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33691  }
 33692  
 33693  // Do executes the "dfareporting.floodlightActivityGroups.update" call.
 33694  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 33695  // non-2xx status code is an error. Response headers are in either
 33696  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 33697  // returned at all) in error.(*googleapi.Error).Header. Use
 33698  // googleapi.IsNotModified to check whether the returned error was
 33699  // because http.StatusNotModified was returned.
 33700  func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 33701  	gensupport.SetOptions(c.urlParams_, opts...)
 33702  	res, err := c.doRequest("json")
 33703  	if res != nil && res.StatusCode == http.StatusNotModified {
 33704  		if res.Body != nil {
 33705  			res.Body.Close()
 33706  		}
 33707  		return nil, &googleapi.Error{
 33708  			Code:   res.StatusCode,
 33709  			Header: res.Header,
 33710  		}
 33711  	}
 33712  	if err != nil {
 33713  		return nil, err
 33714  	}
 33715  	defer googleapi.CloseBody(res)
 33716  	if err := googleapi.CheckResponse(res); err != nil {
 33717  		return nil, err
 33718  	}
 33719  	ret := &FloodlightActivityGroup{
 33720  		ServerResponse: googleapi.ServerResponse{
 33721  			Header:         res.Header,
 33722  			HTTPStatusCode: res.StatusCode,
 33723  		},
 33724  	}
 33725  	target := &ret
 33726  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33727  		return nil, err
 33728  	}
 33729  	return ret, nil
 33730  	// {
 33731  	//   "description": "Updates an existing floodlight activity group.",
 33732  	//   "httpMethod": "PUT",
 33733  	//   "id": "dfareporting.floodlightActivityGroups.update",
 33734  	//   "parameterOrder": [
 33735  	//     "profileId"
 33736  	//   ],
 33737  	//   "parameters": {
 33738  	//     "profileId": {
 33739  	//       "description": "User profile ID associated with this request.",
 33740  	//       "format": "int64",
 33741  	//       "location": "path",
 33742  	//       "required": true,
 33743  	//       "type": "string"
 33744  	//     }
 33745  	//   },
 33746  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 33747  	//   "request": {
 33748  	//     "$ref": "FloodlightActivityGroup"
 33749  	//   },
 33750  	//   "response": {
 33751  	//     "$ref": "FloodlightActivityGroup"
 33752  	//   },
 33753  	//   "scopes": [
 33754  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33755  	//   ]
 33756  	// }
 33757  
 33758  }
 33759  
 33760  // method id "dfareporting.floodlightConfigurations.get":
 33761  
 33762  type FloodlightConfigurationsGetCall struct {
 33763  	s            *Service
 33764  	profileId    int64
 33765  	id           int64
 33766  	urlParams_   gensupport.URLParams
 33767  	ifNoneMatch_ string
 33768  	ctx_         context.Context
 33769  	header_      http.Header
 33770  }
 33771  
 33772  // Get: Gets one floodlight configuration by ID.
 33773  func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
 33774  	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33775  	c.profileId = profileId
 33776  	c.id = id
 33777  	return c
 33778  }
 33779  
 33780  // Fields allows partial responses to be retrieved. See
 33781  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33782  // for more information.
 33783  func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
 33784  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33785  	return c
 33786  }
 33787  
 33788  // IfNoneMatch sets the optional parameter which makes the operation
 33789  // fail if the object's ETag matches the given value. This is useful for
 33790  // getting updates only after the object has changed since the last
 33791  // request. Use googleapi.IsNotModified to check whether the response
 33792  // error from Do is the result of In-None-Match.
 33793  func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
 33794  	c.ifNoneMatch_ = entityTag
 33795  	return c
 33796  }
 33797  
 33798  // Context sets the context to be used in this call's Do method. Any
 33799  // pending HTTP request will be aborted if the provided context is
 33800  // canceled.
 33801  func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
 33802  	c.ctx_ = ctx
 33803  	return c
 33804  }
 33805  
 33806  // Header returns an http.Header that can be modified by the caller to
 33807  // add HTTP headers to the request.
 33808  func (c *FloodlightConfigurationsGetCall) Header() http.Header {
 33809  	if c.header_ == nil {
 33810  		c.header_ = make(http.Header)
 33811  	}
 33812  	return c.header_
 33813  }
 33814  
 33815  func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 33816  	reqHeaders := make(http.Header)
 33817  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33818  	for k, v := range c.header_ {
 33819  		reqHeaders[k] = v
 33820  	}
 33821  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33822  	if c.ifNoneMatch_ != "" {
 33823  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33824  	}
 33825  	var body io.Reader = nil
 33826  	c.urlParams_.Set("alt", alt)
 33827  	c.urlParams_.Set("prettyPrint", "false")
 33828  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
 33829  	urls += "?" + c.urlParams_.Encode()
 33830  	req, err := http.NewRequest("GET", urls, body)
 33831  	if err != nil {
 33832  		return nil, err
 33833  	}
 33834  	req.Header = reqHeaders
 33835  	googleapi.Expand(req.URL, map[string]string{
 33836  		"profileId": strconv.FormatInt(c.profileId, 10),
 33837  		"id":        strconv.FormatInt(c.id, 10),
 33838  	})
 33839  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33840  }
 33841  
 33842  // Do executes the "dfareporting.floodlightConfigurations.get" call.
 33843  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 33844  // non-2xx status code is an error. Response headers are in either
 33845  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 33846  // returned at all) in error.(*googleapi.Error).Header. Use
 33847  // googleapi.IsNotModified to check whether the returned error was
 33848  // because http.StatusNotModified was returned.
 33849  func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 33850  	gensupport.SetOptions(c.urlParams_, opts...)
 33851  	res, err := c.doRequest("json")
 33852  	if res != nil && res.StatusCode == http.StatusNotModified {
 33853  		if res.Body != nil {
 33854  			res.Body.Close()
 33855  		}
 33856  		return nil, &googleapi.Error{
 33857  			Code:   res.StatusCode,
 33858  			Header: res.Header,
 33859  		}
 33860  	}
 33861  	if err != nil {
 33862  		return nil, err
 33863  	}
 33864  	defer googleapi.CloseBody(res)
 33865  	if err := googleapi.CheckResponse(res); err != nil {
 33866  		return nil, err
 33867  	}
 33868  	ret := &FloodlightConfiguration{
 33869  		ServerResponse: googleapi.ServerResponse{
 33870  			Header:         res.Header,
 33871  			HTTPStatusCode: res.StatusCode,
 33872  		},
 33873  	}
 33874  	target := &ret
 33875  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33876  		return nil, err
 33877  	}
 33878  	return ret, nil
 33879  	// {
 33880  	//   "description": "Gets one floodlight configuration by ID.",
 33881  	//   "httpMethod": "GET",
 33882  	//   "id": "dfareporting.floodlightConfigurations.get",
 33883  	//   "parameterOrder": [
 33884  	//     "profileId",
 33885  	//     "id"
 33886  	//   ],
 33887  	//   "parameters": {
 33888  	//     "id": {
 33889  	//       "description": "Floodlight configuration ID.",
 33890  	//       "format": "int64",
 33891  	//       "location": "path",
 33892  	//       "required": true,
 33893  	//       "type": "string"
 33894  	//     },
 33895  	//     "profileId": {
 33896  	//       "description": "User profile ID associated with this request.",
 33897  	//       "format": "int64",
 33898  	//       "location": "path",
 33899  	//       "required": true,
 33900  	//       "type": "string"
 33901  	//     }
 33902  	//   },
 33903  	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
 33904  	//   "response": {
 33905  	//     "$ref": "FloodlightConfiguration"
 33906  	//   },
 33907  	//   "scopes": [
 33908  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33909  	//   ]
 33910  	// }
 33911  
 33912  }
 33913  
 33914  // method id "dfareporting.floodlightConfigurations.list":
 33915  
 33916  type FloodlightConfigurationsListCall struct {
 33917  	s            *Service
 33918  	profileId    int64
 33919  	urlParams_   gensupport.URLParams
 33920  	ifNoneMatch_ string
 33921  	ctx_         context.Context
 33922  	header_      http.Header
 33923  }
 33924  
 33925  // List: Retrieves a list of floodlight configurations, possibly
 33926  // filtered.
 33927  func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
 33928  	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33929  	c.profileId = profileId
 33930  	return c
 33931  }
 33932  
 33933  // Ids sets the optional parameter "ids": Set of IDs of floodlight
 33934  // configurations to retrieve. Required field; otherwise an empty list
 33935  // will be returned.
 33936  func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
 33937  	var ids_ []string
 33938  	for _, v := range ids {
 33939  		ids_ = append(ids_, fmt.Sprint(v))
 33940  	}
 33941  	c.urlParams_.SetMulti("ids", ids_)
 33942  	return c
 33943  }
 33944  
 33945  // Fields allows partial responses to be retrieved. See
 33946  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33947  // for more information.
 33948  func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
 33949  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33950  	return c
 33951  }
 33952  
 33953  // IfNoneMatch sets the optional parameter which makes the operation
 33954  // fail if the object's ETag matches the given value. This is useful for
 33955  // getting updates only after the object has changed since the last
 33956  // request. Use googleapi.IsNotModified to check whether the response
 33957  // error from Do is the result of In-None-Match.
 33958  func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
 33959  	c.ifNoneMatch_ = entityTag
 33960  	return c
 33961  }
 33962  
 33963  // Context sets the context to be used in this call's Do method. Any
 33964  // pending HTTP request will be aborted if the provided context is
 33965  // canceled.
 33966  func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
 33967  	c.ctx_ = ctx
 33968  	return c
 33969  }
 33970  
 33971  // Header returns an http.Header that can be modified by the caller to
 33972  // add HTTP headers to the request.
 33973  func (c *FloodlightConfigurationsListCall) Header() http.Header {
 33974  	if c.header_ == nil {
 33975  		c.header_ = make(http.Header)
 33976  	}
 33977  	return c.header_
 33978  }
 33979  
 33980  func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 33981  	reqHeaders := make(http.Header)
 33982  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33983  	for k, v := range c.header_ {
 33984  		reqHeaders[k] = v
 33985  	}
 33986  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33987  	if c.ifNoneMatch_ != "" {
 33988  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33989  	}
 33990  	var body io.Reader = nil
 33991  	c.urlParams_.Set("alt", alt)
 33992  	c.urlParams_.Set("prettyPrint", "false")
 33993  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 33994  	urls += "?" + c.urlParams_.Encode()
 33995  	req, err := http.NewRequest("GET", urls, body)
 33996  	if err != nil {
 33997  		return nil, err
 33998  	}
 33999  	req.Header = reqHeaders
 34000  	googleapi.Expand(req.URL, map[string]string{
 34001  		"profileId": strconv.FormatInt(c.profileId, 10),
 34002  	})
 34003  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34004  }
 34005  
 34006  // Do executes the "dfareporting.floodlightConfigurations.list" call.
 34007  // Exactly one of *FloodlightConfigurationsListResponse or error will be
 34008  // non-nil. Any non-2xx status code is an error. Response headers are in
 34009  // either *FloodlightConfigurationsListResponse.ServerResponse.Header or
 34010  // (if a response was returned at all) in
 34011  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34012  // whether the returned error was because http.StatusNotModified was
 34013  // returned.
 34014  func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
 34015  	gensupport.SetOptions(c.urlParams_, opts...)
 34016  	res, err := c.doRequest("json")
 34017  	if res != nil && res.StatusCode == http.StatusNotModified {
 34018  		if res.Body != nil {
 34019  			res.Body.Close()
 34020  		}
 34021  		return nil, &googleapi.Error{
 34022  			Code:   res.StatusCode,
 34023  			Header: res.Header,
 34024  		}
 34025  	}
 34026  	if err != nil {
 34027  		return nil, err
 34028  	}
 34029  	defer googleapi.CloseBody(res)
 34030  	if err := googleapi.CheckResponse(res); err != nil {
 34031  		return nil, err
 34032  	}
 34033  	ret := &FloodlightConfigurationsListResponse{
 34034  		ServerResponse: googleapi.ServerResponse{
 34035  			Header:         res.Header,
 34036  			HTTPStatusCode: res.StatusCode,
 34037  		},
 34038  	}
 34039  	target := &ret
 34040  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34041  		return nil, err
 34042  	}
 34043  	return ret, nil
 34044  	// {
 34045  	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
 34046  	//   "httpMethod": "GET",
 34047  	//   "id": "dfareporting.floodlightConfigurations.list",
 34048  	//   "parameterOrder": [
 34049  	//     "profileId"
 34050  	//   ],
 34051  	//   "parameters": {
 34052  	//     "ids": {
 34053  	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
 34054  	//       "format": "int64",
 34055  	//       "location": "query",
 34056  	//       "repeated": true,
 34057  	//       "type": "string"
 34058  	//     },
 34059  	//     "profileId": {
 34060  	//       "description": "User profile ID associated with this request.",
 34061  	//       "format": "int64",
 34062  	//       "location": "path",
 34063  	//       "required": true,
 34064  	//       "type": "string"
 34065  	//     }
 34066  	//   },
 34067  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34068  	//   "response": {
 34069  	//     "$ref": "FloodlightConfigurationsListResponse"
 34070  	//   },
 34071  	//   "scopes": [
 34072  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34073  	//   ]
 34074  	// }
 34075  
 34076  }
 34077  
 34078  // method id "dfareporting.floodlightConfigurations.patch":
 34079  
 34080  type FloodlightConfigurationsPatchCall struct {
 34081  	s                       *Service
 34082  	profileId               int64
 34083  	floodlightconfiguration *FloodlightConfiguration
 34084  	urlParams_              gensupport.URLParams
 34085  	ctx_                    context.Context
 34086  	header_                 http.Header
 34087  }
 34088  
 34089  // Patch: Updates an existing floodlight configuration. This method
 34090  // supports patch semantics.
 34091  func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
 34092  	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34093  	c.profileId = profileId
 34094  	c.urlParams_.Set("id", fmt.Sprint(id))
 34095  	c.floodlightconfiguration = floodlightconfiguration
 34096  	return c
 34097  }
 34098  
 34099  // Fields allows partial responses to be retrieved. See
 34100  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34101  // for more information.
 34102  func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
 34103  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34104  	return c
 34105  }
 34106  
 34107  // Context sets the context to be used in this call's Do method. Any
 34108  // pending HTTP request will be aborted if the provided context is
 34109  // canceled.
 34110  func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
 34111  	c.ctx_ = ctx
 34112  	return c
 34113  }
 34114  
 34115  // Header returns an http.Header that can be modified by the caller to
 34116  // add HTTP headers to the request.
 34117  func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
 34118  	if c.header_ == nil {
 34119  		c.header_ = make(http.Header)
 34120  	}
 34121  	return c.header_
 34122  }
 34123  
 34124  func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
 34125  	reqHeaders := make(http.Header)
 34126  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34127  	for k, v := range c.header_ {
 34128  		reqHeaders[k] = v
 34129  	}
 34130  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34131  	var body io.Reader = nil
 34132  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 34133  	if err != nil {
 34134  		return nil, err
 34135  	}
 34136  	reqHeaders.Set("Content-Type", "application/json")
 34137  	c.urlParams_.Set("alt", alt)
 34138  	c.urlParams_.Set("prettyPrint", "false")
 34139  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 34140  	urls += "?" + c.urlParams_.Encode()
 34141  	req, err := http.NewRequest("PATCH", urls, body)
 34142  	if err != nil {
 34143  		return nil, err
 34144  	}
 34145  	req.Header = reqHeaders
 34146  	googleapi.Expand(req.URL, map[string]string{
 34147  		"profileId": strconv.FormatInt(c.profileId, 10),
 34148  	})
 34149  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34150  }
 34151  
 34152  // Do executes the "dfareporting.floodlightConfigurations.patch" call.
 34153  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 34154  // non-2xx status code is an error. Response headers are in either
 34155  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 34156  // returned at all) in error.(*googleapi.Error).Header. Use
 34157  // googleapi.IsNotModified to check whether the returned error was
 34158  // because http.StatusNotModified was returned.
 34159  func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 34160  	gensupport.SetOptions(c.urlParams_, opts...)
 34161  	res, err := c.doRequest("json")
 34162  	if res != nil && res.StatusCode == http.StatusNotModified {
 34163  		if res.Body != nil {
 34164  			res.Body.Close()
 34165  		}
 34166  		return nil, &googleapi.Error{
 34167  			Code:   res.StatusCode,
 34168  			Header: res.Header,
 34169  		}
 34170  	}
 34171  	if err != nil {
 34172  		return nil, err
 34173  	}
 34174  	defer googleapi.CloseBody(res)
 34175  	if err := googleapi.CheckResponse(res); err != nil {
 34176  		return nil, err
 34177  	}
 34178  	ret := &FloodlightConfiguration{
 34179  		ServerResponse: googleapi.ServerResponse{
 34180  			Header:         res.Header,
 34181  			HTTPStatusCode: res.StatusCode,
 34182  		},
 34183  	}
 34184  	target := &ret
 34185  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34186  		return nil, err
 34187  	}
 34188  	return ret, nil
 34189  	// {
 34190  	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
 34191  	//   "httpMethod": "PATCH",
 34192  	//   "id": "dfareporting.floodlightConfigurations.patch",
 34193  	//   "parameterOrder": [
 34194  	//     "profileId",
 34195  	//     "id"
 34196  	//   ],
 34197  	//   "parameters": {
 34198  	//     "id": {
 34199  	//       "description": "Floodlight configuration ID.",
 34200  	//       "format": "int64",
 34201  	//       "location": "query",
 34202  	//       "required": true,
 34203  	//       "type": "string"
 34204  	//     },
 34205  	//     "profileId": {
 34206  	//       "description": "User profile ID associated with this request.",
 34207  	//       "format": "int64",
 34208  	//       "location": "path",
 34209  	//       "required": true,
 34210  	//       "type": "string"
 34211  	//     }
 34212  	//   },
 34213  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34214  	//   "request": {
 34215  	//     "$ref": "FloodlightConfiguration"
 34216  	//   },
 34217  	//   "response": {
 34218  	//     "$ref": "FloodlightConfiguration"
 34219  	//   },
 34220  	//   "scopes": [
 34221  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34222  	//   ]
 34223  	// }
 34224  
 34225  }
 34226  
 34227  // method id "dfareporting.floodlightConfigurations.update":
 34228  
 34229  type FloodlightConfigurationsUpdateCall struct {
 34230  	s                       *Service
 34231  	profileId               int64
 34232  	floodlightconfiguration *FloodlightConfiguration
 34233  	urlParams_              gensupport.URLParams
 34234  	ctx_                    context.Context
 34235  	header_                 http.Header
 34236  }
 34237  
 34238  // Update: Updates an existing floodlight configuration.
 34239  func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
 34240  	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34241  	c.profileId = profileId
 34242  	c.floodlightconfiguration = floodlightconfiguration
 34243  	return c
 34244  }
 34245  
 34246  // Fields allows partial responses to be retrieved. See
 34247  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34248  // for more information.
 34249  func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
 34250  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34251  	return c
 34252  }
 34253  
 34254  // Context sets the context to be used in this call's Do method. Any
 34255  // pending HTTP request will be aborted if the provided context is
 34256  // canceled.
 34257  func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
 34258  	c.ctx_ = ctx
 34259  	return c
 34260  }
 34261  
 34262  // Header returns an http.Header that can be modified by the caller to
 34263  // add HTTP headers to the request.
 34264  func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
 34265  	if c.header_ == nil {
 34266  		c.header_ = make(http.Header)
 34267  	}
 34268  	return c.header_
 34269  }
 34270  
 34271  func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 34272  	reqHeaders := make(http.Header)
 34273  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34274  	for k, v := range c.header_ {
 34275  		reqHeaders[k] = v
 34276  	}
 34277  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34278  	var body io.Reader = nil
 34279  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 34280  	if err != nil {
 34281  		return nil, err
 34282  	}
 34283  	reqHeaders.Set("Content-Type", "application/json")
 34284  	c.urlParams_.Set("alt", alt)
 34285  	c.urlParams_.Set("prettyPrint", "false")
 34286  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 34287  	urls += "?" + c.urlParams_.Encode()
 34288  	req, err := http.NewRequest("PUT", urls, body)
 34289  	if err != nil {
 34290  		return nil, err
 34291  	}
 34292  	req.Header = reqHeaders
 34293  	googleapi.Expand(req.URL, map[string]string{
 34294  		"profileId": strconv.FormatInt(c.profileId, 10),
 34295  	})
 34296  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34297  }
 34298  
 34299  // Do executes the "dfareporting.floodlightConfigurations.update" call.
 34300  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 34301  // non-2xx status code is an error. Response headers are in either
 34302  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 34303  // returned at all) in error.(*googleapi.Error).Header. Use
 34304  // googleapi.IsNotModified to check whether the returned error was
 34305  // because http.StatusNotModified was returned.
 34306  func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 34307  	gensupport.SetOptions(c.urlParams_, opts...)
 34308  	res, err := c.doRequest("json")
 34309  	if res != nil && res.StatusCode == http.StatusNotModified {
 34310  		if res.Body != nil {
 34311  			res.Body.Close()
 34312  		}
 34313  		return nil, &googleapi.Error{
 34314  			Code:   res.StatusCode,
 34315  			Header: res.Header,
 34316  		}
 34317  	}
 34318  	if err != nil {
 34319  		return nil, err
 34320  	}
 34321  	defer googleapi.CloseBody(res)
 34322  	if err := googleapi.CheckResponse(res); err != nil {
 34323  		return nil, err
 34324  	}
 34325  	ret := &FloodlightConfiguration{
 34326  		ServerResponse: googleapi.ServerResponse{
 34327  			Header:         res.Header,
 34328  			HTTPStatusCode: res.StatusCode,
 34329  		},
 34330  	}
 34331  	target := &ret
 34332  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34333  		return nil, err
 34334  	}
 34335  	return ret, nil
 34336  	// {
 34337  	//   "description": "Updates an existing floodlight configuration.",
 34338  	//   "httpMethod": "PUT",
 34339  	//   "id": "dfareporting.floodlightConfigurations.update",
 34340  	//   "parameterOrder": [
 34341  	//     "profileId"
 34342  	//   ],
 34343  	//   "parameters": {
 34344  	//     "profileId": {
 34345  	//       "description": "User profile ID associated with this request.",
 34346  	//       "format": "int64",
 34347  	//       "location": "path",
 34348  	//       "required": true,
 34349  	//       "type": "string"
 34350  	//     }
 34351  	//   },
 34352  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34353  	//   "request": {
 34354  	//     "$ref": "FloodlightConfiguration"
 34355  	//   },
 34356  	//   "response": {
 34357  	//     "$ref": "FloodlightConfiguration"
 34358  	//   },
 34359  	//   "scopes": [
 34360  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34361  	//   ]
 34362  	// }
 34363  
 34364  }
 34365  
 34366  // method id "dfareporting.inventoryItems.get":
 34367  
 34368  type InventoryItemsGetCall struct {
 34369  	s            *Service
 34370  	profileId    int64
 34371  	projectId    int64
 34372  	id           int64
 34373  	urlParams_   gensupport.URLParams
 34374  	ifNoneMatch_ string
 34375  	ctx_         context.Context
 34376  	header_      http.Header
 34377  }
 34378  
 34379  // Get: Gets one inventory item by ID.
 34380  func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
 34381  	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34382  	c.profileId = profileId
 34383  	c.projectId = projectId
 34384  	c.id = id
 34385  	return c
 34386  }
 34387  
 34388  // Fields allows partial responses to be retrieved. See
 34389  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34390  // for more information.
 34391  func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
 34392  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34393  	return c
 34394  }
 34395  
 34396  // IfNoneMatch sets the optional parameter which makes the operation
 34397  // fail if the object's ETag matches the given value. This is useful for
 34398  // getting updates only after the object has changed since the last
 34399  // request. Use googleapi.IsNotModified to check whether the response
 34400  // error from Do is the result of In-None-Match.
 34401  func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
 34402  	c.ifNoneMatch_ = entityTag
 34403  	return c
 34404  }
 34405  
 34406  // Context sets the context to be used in this call's Do method. Any
 34407  // pending HTTP request will be aborted if the provided context is
 34408  // canceled.
 34409  func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
 34410  	c.ctx_ = ctx
 34411  	return c
 34412  }
 34413  
 34414  // Header returns an http.Header that can be modified by the caller to
 34415  // add HTTP headers to the request.
 34416  func (c *InventoryItemsGetCall) Header() http.Header {
 34417  	if c.header_ == nil {
 34418  		c.header_ = make(http.Header)
 34419  	}
 34420  	return c.header_
 34421  }
 34422  
 34423  func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
 34424  	reqHeaders := make(http.Header)
 34425  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34426  	for k, v := range c.header_ {
 34427  		reqHeaders[k] = v
 34428  	}
 34429  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34430  	if c.ifNoneMatch_ != "" {
 34431  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34432  	}
 34433  	var body io.Reader = nil
 34434  	c.urlParams_.Set("alt", alt)
 34435  	c.urlParams_.Set("prettyPrint", "false")
 34436  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
 34437  	urls += "?" + c.urlParams_.Encode()
 34438  	req, err := http.NewRequest("GET", urls, body)
 34439  	if err != nil {
 34440  		return nil, err
 34441  	}
 34442  	req.Header = reqHeaders
 34443  	googleapi.Expand(req.URL, map[string]string{
 34444  		"profileId": strconv.FormatInt(c.profileId, 10),
 34445  		"projectId": strconv.FormatInt(c.projectId, 10),
 34446  		"id":        strconv.FormatInt(c.id, 10),
 34447  	})
 34448  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34449  }
 34450  
 34451  // Do executes the "dfareporting.inventoryItems.get" call.
 34452  // Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
 34453  // status code is an error. Response headers are in either
 34454  // *InventoryItem.ServerResponse.Header or (if a response was returned
 34455  // at all) in error.(*googleapi.Error).Header. Use
 34456  // googleapi.IsNotModified to check whether the returned error was
 34457  // because http.StatusNotModified was returned.
 34458  func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
 34459  	gensupport.SetOptions(c.urlParams_, opts...)
 34460  	res, err := c.doRequest("json")
 34461  	if res != nil && res.StatusCode == http.StatusNotModified {
 34462  		if res.Body != nil {
 34463  			res.Body.Close()
 34464  		}
 34465  		return nil, &googleapi.Error{
 34466  			Code:   res.StatusCode,
 34467  			Header: res.Header,
 34468  		}
 34469  	}
 34470  	if err != nil {
 34471  		return nil, err
 34472  	}
 34473  	defer googleapi.CloseBody(res)
 34474  	if err := googleapi.CheckResponse(res); err != nil {
 34475  		return nil, err
 34476  	}
 34477  	ret := &InventoryItem{
 34478  		ServerResponse: googleapi.ServerResponse{
 34479  			Header:         res.Header,
 34480  			HTTPStatusCode: res.StatusCode,
 34481  		},
 34482  	}
 34483  	target := &ret
 34484  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34485  		return nil, err
 34486  	}
 34487  	return ret, nil
 34488  	// {
 34489  	//   "description": "Gets one inventory item by ID.",
 34490  	//   "httpMethod": "GET",
 34491  	//   "id": "dfareporting.inventoryItems.get",
 34492  	//   "parameterOrder": [
 34493  	//     "profileId",
 34494  	//     "projectId",
 34495  	//     "id"
 34496  	//   ],
 34497  	//   "parameters": {
 34498  	//     "id": {
 34499  	//       "description": "Inventory item ID.",
 34500  	//       "format": "int64",
 34501  	//       "location": "path",
 34502  	//       "required": true,
 34503  	//       "type": "string"
 34504  	//     },
 34505  	//     "profileId": {
 34506  	//       "description": "User profile ID associated with this request.",
 34507  	//       "format": "int64",
 34508  	//       "location": "path",
 34509  	//       "required": true,
 34510  	//       "type": "string"
 34511  	//     },
 34512  	//     "projectId": {
 34513  	//       "description": "Project ID for order documents.",
 34514  	//       "format": "int64",
 34515  	//       "location": "path",
 34516  	//       "required": true,
 34517  	//       "type": "string"
 34518  	//     }
 34519  	//   },
 34520  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
 34521  	//   "response": {
 34522  	//     "$ref": "InventoryItem"
 34523  	//   },
 34524  	//   "scopes": [
 34525  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34526  	//   ]
 34527  	// }
 34528  
 34529  }
 34530  
 34531  // method id "dfareporting.inventoryItems.list":
 34532  
 34533  type InventoryItemsListCall struct {
 34534  	s            *Service
 34535  	profileId    int64
 34536  	projectId    int64
 34537  	urlParams_   gensupport.URLParams
 34538  	ifNoneMatch_ string
 34539  	ctx_         context.Context
 34540  	header_      http.Header
 34541  }
 34542  
 34543  // List: Retrieves a list of inventory items, possibly filtered. This
 34544  // method supports paging.
 34545  func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
 34546  	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34547  	c.profileId = profileId
 34548  	c.projectId = projectId
 34549  	return c
 34550  }
 34551  
 34552  // Ids sets the optional parameter "ids": Select only inventory items
 34553  // with these IDs.
 34554  func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
 34555  	var ids_ []string
 34556  	for _, v := range ids {
 34557  		ids_ = append(ids_, fmt.Sprint(v))
 34558  	}
 34559  	c.urlParams_.SetMulti("ids", ids_)
 34560  	return c
 34561  }
 34562  
 34563  // InPlan sets the optional parameter "inPlan": Select only inventory
 34564  // items that are in plan.
 34565  func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
 34566  	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
 34567  	return c
 34568  }
 34569  
 34570  // MaxResults sets the optional parameter "maxResults": Maximum number
 34571  // of results to return.
 34572  func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
 34573  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 34574  	return c
 34575  }
 34576  
 34577  // OrderId sets the optional parameter "orderId": Select only inventory
 34578  // items that belong to specified orders.
 34579  func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
 34580  	var orderId_ []string
 34581  	for _, v := range orderId {
 34582  		orderId_ = append(orderId_, fmt.Sprint(v))
 34583  	}
 34584  	c.urlParams_.SetMulti("orderId", orderId_)
 34585  	return c
 34586  }
 34587  
 34588  // PageToken sets the optional parameter "pageToken": Value of the
 34589  // nextPageToken from the previous result page.
 34590  func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
 34591  	c.urlParams_.Set("pageToken", pageToken)
 34592  	return c
 34593  }
 34594  
 34595  // SiteId sets the optional parameter "siteId": Select only inventory
 34596  // items that are associated with these sites.
 34597  func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
 34598  	var siteId_ []string
 34599  	for _, v := range siteId {
 34600  		siteId_ = append(siteId_, fmt.Sprint(v))
 34601  	}
 34602  	c.urlParams_.SetMulti("siteId", siteId_)
 34603  	return c
 34604  }
 34605  
 34606  // SortField sets the optional parameter "sortField": Field by which to
 34607  // sort the list.
 34608  //
 34609  // Possible values:
 34610  //
 34611  //	"ID" (default)
 34612  //	"NAME"
 34613  func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
 34614  	c.urlParams_.Set("sortField", sortField)
 34615  	return c
 34616  }
 34617  
 34618  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 34619  // results.
 34620  //
 34621  // Possible values:
 34622  //
 34623  //	"ASCENDING" (default)
 34624  //	"DESCENDING"
 34625  func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
 34626  	c.urlParams_.Set("sortOrder", sortOrder)
 34627  	return c
 34628  }
 34629  
 34630  // Type sets the optional parameter "type": Select only inventory items
 34631  // with this type.
 34632  //
 34633  // Possible values:
 34634  //
 34635  //	"PLANNING_PLACEMENT_TYPE_CREDIT"
 34636  //	"PLANNING_PLACEMENT_TYPE_REGULAR"
 34637  func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
 34638  	c.urlParams_.Set("type", type_)
 34639  	return c
 34640  }
 34641  
 34642  // Fields allows partial responses to be retrieved. See
 34643  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34644  // for more information.
 34645  func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
 34646  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34647  	return c
 34648  }
 34649  
 34650  // IfNoneMatch sets the optional parameter which makes the operation
 34651  // fail if the object's ETag matches the given value. This is useful for
 34652  // getting updates only after the object has changed since the last
 34653  // request. Use googleapi.IsNotModified to check whether the response
 34654  // error from Do is the result of In-None-Match.
 34655  func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
 34656  	c.ifNoneMatch_ = entityTag
 34657  	return c
 34658  }
 34659  
 34660  // Context sets the context to be used in this call's Do method. Any
 34661  // pending HTTP request will be aborted if the provided context is
 34662  // canceled.
 34663  func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
 34664  	c.ctx_ = ctx
 34665  	return c
 34666  }
 34667  
 34668  // Header returns an http.Header that can be modified by the caller to
 34669  // add HTTP headers to the request.
 34670  func (c *InventoryItemsListCall) Header() http.Header {
 34671  	if c.header_ == nil {
 34672  		c.header_ = make(http.Header)
 34673  	}
 34674  	return c.header_
 34675  }
 34676  
 34677  func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
 34678  	reqHeaders := make(http.Header)
 34679  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34680  	for k, v := range c.header_ {
 34681  		reqHeaders[k] = v
 34682  	}
 34683  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34684  	if c.ifNoneMatch_ != "" {
 34685  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34686  	}
 34687  	var body io.Reader = nil
 34688  	c.urlParams_.Set("alt", alt)
 34689  	c.urlParams_.Set("prettyPrint", "false")
 34690  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
 34691  	urls += "?" + c.urlParams_.Encode()
 34692  	req, err := http.NewRequest("GET", urls, body)
 34693  	if err != nil {
 34694  		return nil, err
 34695  	}
 34696  	req.Header = reqHeaders
 34697  	googleapi.Expand(req.URL, map[string]string{
 34698  		"profileId": strconv.FormatInt(c.profileId, 10),
 34699  		"projectId": strconv.FormatInt(c.projectId, 10),
 34700  	})
 34701  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34702  }
 34703  
 34704  // Do executes the "dfareporting.inventoryItems.list" call.
 34705  // Exactly one of *InventoryItemsListResponse or error will be non-nil.
 34706  // Any non-2xx status code is an error. Response headers are in either
 34707  // *InventoryItemsListResponse.ServerResponse.Header or (if a response
 34708  // was returned at all) in error.(*googleapi.Error).Header. Use
 34709  // googleapi.IsNotModified to check whether the returned error was
 34710  // because http.StatusNotModified was returned.
 34711  func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
 34712  	gensupport.SetOptions(c.urlParams_, opts...)
 34713  	res, err := c.doRequest("json")
 34714  	if res != nil && res.StatusCode == http.StatusNotModified {
 34715  		if res.Body != nil {
 34716  			res.Body.Close()
 34717  		}
 34718  		return nil, &googleapi.Error{
 34719  			Code:   res.StatusCode,
 34720  			Header: res.Header,
 34721  		}
 34722  	}
 34723  	if err != nil {
 34724  		return nil, err
 34725  	}
 34726  	defer googleapi.CloseBody(res)
 34727  	if err := googleapi.CheckResponse(res); err != nil {
 34728  		return nil, err
 34729  	}
 34730  	ret := &InventoryItemsListResponse{
 34731  		ServerResponse: googleapi.ServerResponse{
 34732  			Header:         res.Header,
 34733  			HTTPStatusCode: res.StatusCode,
 34734  		},
 34735  	}
 34736  	target := &ret
 34737  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34738  		return nil, err
 34739  	}
 34740  	return ret, nil
 34741  	// {
 34742  	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
 34743  	//   "httpMethod": "GET",
 34744  	//   "id": "dfareporting.inventoryItems.list",
 34745  	//   "parameterOrder": [
 34746  	//     "profileId",
 34747  	//     "projectId"
 34748  	//   ],
 34749  	//   "parameters": {
 34750  	//     "ids": {
 34751  	//       "description": "Select only inventory items with these IDs.",
 34752  	//       "format": "int64",
 34753  	//       "location": "query",
 34754  	//       "repeated": true,
 34755  	//       "type": "string"
 34756  	//     },
 34757  	//     "inPlan": {
 34758  	//       "description": "Select only inventory items that are in plan.",
 34759  	//       "location": "query",
 34760  	//       "type": "boolean"
 34761  	//     },
 34762  	//     "maxResults": {
 34763  	//       "default": "1000",
 34764  	//       "description": "Maximum number of results to return.",
 34765  	//       "format": "int32",
 34766  	//       "location": "query",
 34767  	//       "maximum": "1000",
 34768  	//       "minimum": "0",
 34769  	//       "type": "integer"
 34770  	//     },
 34771  	//     "orderId": {
 34772  	//       "description": "Select only inventory items that belong to specified orders.",
 34773  	//       "format": "int64",
 34774  	//       "location": "query",
 34775  	//       "repeated": true,
 34776  	//       "type": "string"
 34777  	//     },
 34778  	//     "pageToken": {
 34779  	//       "description": "Value of the nextPageToken from the previous result page.",
 34780  	//       "location": "query",
 34781  	//       "type": "string"
 34782  	//     },
 34783  	//     "profileId": {
 34784  	//       "description": "User profile ID associated with this request.",
 34785  	//       "format": "int64",
 34786  	//       "location": "path",
 34787  	//       "required": true,
 34788  	//       "type": "string"
 34789  	//     },
 34790  	//     "projectId": {
 34791  	//       "description": "Project ID for order documents.",
 34792  	//       "format": "int64",
 34793  	//       "location": "path",
 34794  	//       "required": true,
 34795  	//       "type": "string"
 34796  	//     },
 34797  	//     "siteId": {
 34798  	//       "description": "Select only inventory items that are associated with these sites.",
 34799  	//       "format": "int64",
 34800  	//       "location": "query",
 34801  	//       "repeated": true,
 34802  	//       "type": "string"
 34803  	//     },
 34804  	//     "sortField": {
 34805  	//       "default": "ID",
 34806  	//       "description": "Field by which to sort the list.",
 34807  	//       "enum": [
 34808  	//         "ID",
 34809  	//         "NAME"
 34810  	//       ],
 34811  	//       "enumDescriptions": [
 34812  	//         "",
 34813  	//         ""
 34814  	//       ],
 34815  	//       "location": "query",
 34816  	//       "type": "string"
 34817  	//     },
 34818  	//     "sortOrder": {
 34819  	//       "default": "ASCENDING",
 34820  	//       "description": "Order of sorted results.",
 34821  	//       "enum": [
 34822  	//         "ASCENDING",
 34823  	//         "DESCENDING"
 34824  	//       ],
 34825  	//       "enumDescriptions": [
 34826  	//         "",
 34827  	//         ""
 34828  	//       ],
 34829  	//       "location": "query",
 34830  	//       "type": "string"
 34831  	//     },
 34832  	//     "type": {
 34833  	//       "description": "Select only inventory items with this type.",
 34834  	//       "enum": [
 34835  	//         "PLANNING_PLACEMENT_TYPE_CREDIT",
 34836  	//         "PLANNING_PLACEMENT_TYPE_REGULAR"
 34837  	//       ],
 34838  	//       "enumDescriptions": [
 34839  	//         "",
 34840  	//         ""
 34841  	//       ],
 34842  	//       "location": "query",
 34843  	//       "type": "string"
 34844  	//     }
 34845  	//   },
 34846  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
 34847  	//   "response": {
 34848  	//     "$ref": "InventoryItemsListResponse"
 34849  	//   },
 34850  	//   "scopes": [
 34851  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34852  	//   ]
 34853  	// }
 34854  
 34855  }
 34856  
 34857  // Pages invokes f for each page of results.
 34858  // A non-nil error returned from f will halt the iteration.
 34859  // The provided context supersedes any context provided to the Context method.
 34860  func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
 34861  	c.ctx_ = ctx
 34862  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 34863  	for {
 34864  		x, err := c.Do()
 34865  		if err != nil {
 34866  			return err
 34867  		}
 34868  		if err := f(x); err != nil {
 34869  			return err
 34870  		}
 34871  		if x.NextPageToken == "" {
 34872  			return nil
 34873  		}
 34874  		c.PageToken(x.NextPageToken)
 34875  	}
 34876  }
 34877  
 34878  // method id "dfareporting.languages.list":
 34879  
 34880  type LanguagesListCall struct {
 34881  	s            *Service
 34882  	profileId    int64
 34883  	urlParams_   gensupport.URLParams
 34884  	ifNoneMatch_ string
 34885  	ctx_         context.Context
 34886  	header_      http.Header
 34887  }
 34888  
 34889  // List: Retrieves a list of languages.
 34890  func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
 34891  	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34892  	c.profileId = profileId
 34893  	return c
 34894  }
 34895  
 34896  // Fields allows partial responses to be retrieved. See
 34897  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34898  // for more information.
 34899  func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
 34900  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34901  	return c
 34902  }
 34903  
 34904  // IfNoneMatch sets the optional parameter which makes the operation
 34905  // fail if the object's ETag matches the given value. This is useful for
 34906  // getting updates only after the object has changed since the last
 34907  // request. Use googleapi.IsNotModified to check whether the response
 34908  // error from Do is the result of In-None-Match.
 34909  func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
 34910  	c.ifNoneMatch_ = entityTag
 34911  	return c
 34912  }
 34913  
 34914  // Context sets the context to be used in this call's Do method. Any
 34915  // pending HTTP request will be aborted if the provided context is
 34916  // canceled.
 34917  func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
 34918  	c.ctx_ = ctx
 34919  	return c
 34920  }
 34921  
 34922  // Header returns an http.Header that can be modified by the caller to
 34923  // add HTTP headers to the request.
 34924  func (c *LanguagesListCall) Header() http.Header {
 34925  	if c.header_ == nil {
 34926  		c.header_ = make(http.Header)
 34927  	}
 34928  	return c.header_
 34929  }
 34930  
 34931  func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
 34932  	reqHeaders := make(http.Header)
 34933  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34934  	for k, v := range c.header_ {
 34935  		reqHeaders[k] = v
 34936  	}
 34937  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34938  	if c.ifNoneMatch_ != "" {
 34939  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34940  	}
 34941  	var body io.Reader = nil
 34942  	c.urlParams_.Set("alt", alt)
 34943  	c.urlParams_.Set("prettyPrint", "false")
 34944  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
 34945  	urls += "?" + c.urlParams_.Encode()
 34946  	req, err := http.NewRequest("GET", urls, body)
 34947  	if err != nil {
 34948  		return nil, err
 34949  	}
 34950  	req.Header = reqHeaders
 34951  	googleapi.Expand(req.URL, map[string]string{
 34952  		"profileId": strconv.FormatInt(c.profileId, 10),
 34953  	})
 34954  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34955  }
 34956  
 34957  // Do executes the "dfareporting.languages.list" call.
 34958  // Exactly one of *LanguagesListResponse or error will be non-nil. Any
 34959  // non-2xx status code is an error. Response headers are in either
 34960  // *LanguagesListResponse.ServerResponse.Header or (if a response was
 34961  // returned at all) in error.(*googleapi.Error).Header. Use
 34962  // googleapi.IsNotModified to check whether the returned error was
 34963  // because http.StatusNotModified was returned.
 34964  func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
 34965  	gensupport.SetOptions(c.urlParams_, opts...)
 34966  	res, err := c.doRequest("json")
 34967  	if res != nil && res.StatusCode == http.StatusNotModified {
 34968  		if res.Body != nil {
 34969  			res.Body.Close()
 34970  		}
 34971  		return nil, &googleapi.Error{
 34972  			Code:   res.StatusCode,
 34973  			Header: res.Header,
 34974  		}
 34975  	}
 34976  	if err != nil {
 34977  		return nil, err
 34978  	}
 34979  	defer googleapi.CloseBody(res)
 34980  	if err := googleapi.CheckResponse(res); err != nil {
 34981  		return nil, err
 34982  	}
 34983  	ret := &LanguagesListResponse{
 34984  		ServerResponse: googleapi.ServerResponse{
 34985  			Header:         res.Header,
 34986  			HTTPStatusCode: res.StatusCode,
 34987  		},
 34988  	}
 34989  	target := &ret
 34990  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34991  		return nil, err
 34992  	}
 34993  	return ret, nil
 34994  	// {
 34995  	//   "description": "Retrieves a list of languages.",
 34996  	//   "httpMethod": "GET",
 34997  	//   "id": "dfareporting.languages.list",
 34998  	//   "parameterOrder": [
 34999  	//     "profileId"
 35000  	//   ],
 35001  	//   "parameters": {
 35002  	//     "profileId": {
 35003  	//       "description": "User profile ID associated with this request.",
 35004  	//       "format": "int64",
 35005  	//       "location": "path",
 35006  	//       "required": true,
 35007  	//       "type": "string"
 35008  	//     }
 35009  	//   },
 35010  	//   "path": "userprofiles/{profileId}/languages",
 35011  	//   "response": {
 35012  	//     "$ref": "LanguagesListResponse"
 35013  	//   },
 35014  	//   "scopes": [
 35015  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35016  	//   ]
 35017  	// }
 35018  
 35019  }
 35020  
 35021  // method id "dfareporting.metros.list":
 35022  
 35023  type MetrosListCall struct {
 35024  	s            *Service
 35025  	profileId    int64
 35026  	urlParams_   gensupport.URLParams
 35027  	ifNoneMatch_ string
 35028  	ctx_         context.Context
 35029  	header_      http.Header
 35030  }
 35031  
 35032  // List: Retrieves a list of metros.
 35033  func (r *MetrosService) List(profileId int64) *MetrosListCall {
 35034  	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35035  	c.profileId = profileId
 35036  	return c
 35037  }
 35038  
 35039  // Fields allows partial responses to be retrieved. See
 35040  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35041  // for more information.
 35042  func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
 35043  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35044  	return c
 35045  }
 35046  
 35047  // IfNoneMatch sets the optional parameter which makes the operation
 35048  // fail if the object's ETag matches the given value. This is useful for
 35049  // getting updates only after the object has changed since the last
 35050  // request. Use googleapi.IsNotModified to check whether the response
 35051  // error from Do is the result of In-None-Match.
 35052  func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
 35053  	c.ifNoneMatch_ = entityTag
 35054  	return c
 35055  }
 35056  
 35057  // Context sets the context to be used in this call's Do method. Any
 35058  // pending HTTP request will be aborted if the provided context is
 35059  // canceled.
 35060  func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
 35061  	c.ctx_ = ctx
 35062  	return c
 35063  }
 35064  
 35065  // Header returns an http.Header that can be modified by the caller to
 35066  // add HTTP headers to the request.
 35067  func (c *MetrosListCall) Header() http.Header {
 35068  	if c.header_ == nil {
 35069  		c.header_ = make(http.Header)
 35070  	}
 35071  	return c.header_
 35072  }
 35073  
 35074  func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 35075  	reqHeaders := make(http.Header)
 35076  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35077  	for k, v := range c.header_ {
 35078  		reqHeaders[k] = v
 35079  	}
 35080  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35081  	if c.ifNoneMatch_ != "" {
 35082  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35083  	}
 35084  	var body io.Reader = nil
 35085  	c.urlParams_.Set("alt", alt)
 35086  	c.urlParams_.Set("prettyPrint", "false")
 35087  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
 35088  	urls += "?" + c.urlParams_.Encode()
 35089  	req, err := http.NewRequest("GET", urls, body)
 35090  	if err != nil {
 35091  		return nil, err
 35092  	}
 35093  	req.Header = reqHeaders
 35094  	googleapi.Expand(req.URL, map[string]string{
 35095  		"profileId": strconv.FormatInt(c.profileId, 10),
 35096  	})
 35097  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35098  }
 35099  
 35100  // Do executes the "dfareporting.metros.list" call.
 35101  // Exactly one of *MetrosListResponse or error will be non-nil. Any
 35102  // non-2xx status code is an error. Response headers are in either
 35103  // *MetrosListResponse.ServerResponse.Header or (if a response was
 35104  // returned at all) in error.(*googleapi.Error).Header. Use
 35105  // googleapi.IsNotModified to check whether the returned error was
 35106  // because http.StatusNotModified was returned.
 35107  func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
 35108  	gensupport.SetOptions(c.urlParams_, opts...)
 35109  	res, err := c.doRequest("json")
 35110  	if res != nil && res.StatusCode == http.StatusNotModified {
 35111  		if res.Body != nil {
 35112  			res.Body.Close()
 35113  		}
 35114  		return nil, &googleapi.Error{
 35115  			Code:   res.StatusCode,
 35116  			Header: res.Header,
 35117  		}
 35118  	}
 35119  	if err != nil {
 35120  		return nil, err
 35121  	}
 35122  	defer googleapi.CloseBody(res)
 35123  	if err := googleapi.CheckResponse(res); err != nil {
 35124  		return nil, err
 35125  	}
 35126  	ret := &MetrosListResponse{
 35127  		ServerResponse: googleapi.ServerResponse{
 35128  			Header:         res.Header,
 35129  			HTTPStatusCode: res.StatusCode,
 35130  		},
 35131  	}
 35132  	target := &ret
 35133  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35134  		return nil, err
 35135  	}
 35136  	return ret, nil
 35137  	// {
 35138  	//   "description": "Retrieves a list of metros.",
 35139  	//   "httpMethod": "GET",
 35140  	//   "id": "dfareporting.metros.list",
 35141  	//   "parameterOrder": [
 35142  	//     "profileId"
 35143  	//   ],
 35144  	//   "parameters": {
 35145  	//     "profileId": {
 35146  	//       "description": "User profile ID associated with this request.",
 35147  	//       "format": "int64",
 35148  	//       "location": "path",
 35149  	//       "required": true,
 35150  	//       "type": "string"
 35151  	//     }
 35152  	//   },
 35153  	//   "path": "userprofiles/{profileId}/metros",
 35154  	//   "response": {
 35155  	//     "$ref": "MetrosListResponse"
 35156  	//   },
 35157  	//   "scopes": [
 35158  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35159  	//   ]
 35160  	// }
 35161  
 35162  }
 35163  
 35164  // method id "dfareporting.mobileApps.get":
 35165  
 35166  type MobileAppsGetCall struct {
 35167  	s            *Service
 35168  	profileId    int64
 35169  	id           string
 35170  	urlParams_   gensupport.URLParams
 35171  	ifNoneMatch_ string
 35172  	ctx_         context.Context
 35173  	header_      http.Header
 35174  }
 35175  
 35176  // Get: Gets one mobile app by ID.
 35177  func (r *MobileAppsService) Get(profileId int64, id string) *MobileAppsGetCall {
 35178  	c := &MobileAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35179  	c.profileId = profileId
 35180  	c.id = id
 35181  	return c
 35182  }
 35183  
 35184  // Fields allows partial responses to be retrieved. See
 35185  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35186  // for more information.
 35187  func (c *MobileAppsGetCall) Fields(s ...googleapi.Field) *MobileAppsGetCall {
 35188  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35189  	return c
 35190  }
 35191  
 35192  // IfNoneMatch sets the optional parameter which makes the operation
 35193  // fail if the object's ETag matches the given value. This is useful for
 35194  // getting updates only after the object has changed since the last
 35195  // request. Use googleapi.IsNotModified to check whether the response
 35196  // error from Do is the result of In-None-Match.
 35197  func (c *MobileAppsGetCall) IfNoneMatch(entityTag string) *MobileAppsGetCall {
 35198  	c.ifNoneMatch_ = entityTag
 35199  	return c
 35200  }
 35201  
 35202  // Context sets the context to be used in this call's Do method. Any
 35203  // pending HTTP request will be aborted if the provided context is
 35204  // canceled.
 35205  func (c *MobileAppsGetCall) Context(ctx context.Context) *MobileAppsGetCall {
 35206  	c.ctx_ = ctx
 35207  	return c
 35208  }
 35209  
 35210  // Header returns an http.Header that can be modified by the caller to
 35211  // add HTTP headers to the request.
 35212  func (c *MobileAppsGetCall) Header() http.Header {
 35213  	if c.header_ == nil {
 35214  		c.header_ = make(http.Header)
 35215  	}
 35216  	return c.header_
 35217  }
 35218  
 35219  func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
 35220  	reqHeaders := make(http.Header)
 35221  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35222  	for k, v := range c.header_ {
 35223  		reqHeaders[k] = v
 35224  	}
 35225  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35226  	if c.ifNoneMatch_ != "" {
 35227  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35228  	}
 35229  	var body io.Reader = nil
 35230  	c.urlParams_.Set("alt", alt)
 35231  	c.urlParams_.Set("prettyPrint", "false")
 35232  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps/{id}")
 35233  	urls += "?" + c.urlParams_.Encode()
 35234  	req, err := http.NewRequest("GET", urls, body)
 35235  	if err != nil {
 35236  		return nil, err
 35237  	}
 35238  	req.Header = reqHeaders
 35239  	googleapi.Expand(req.URL, map[string]string{
 35240  		"profileId": strconv.FormatInt(c.profileId, 10),
 35241  		"id":        c.id,
 35242  	})
 35243  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35244  }
 35245  
 35246  // Do executes the "dfareporting.mobileApps.get" call.
 35247  // Exactly one of *MobileApp or error will be non-nil. Any non-2xx
 35248  // status code is an error. Response headers are in either
 35249  // *MobileApp.ServerResponse.Header or (if a response was returned at
 35250  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 35251  // to check whether the returned error was because
 35252  // http.StatusNotModified was returned.
 35253  func (c *MobileAppsGetCall) Do(opts ...googleapi.CallOption) (*MobileApp, error) {
 35254  	gensupport.SetOptions(c.urlParams_, opts...)
 35255  	res, err := c.doRequest("json")
 35256  	if res != nil && res.StatusCode == http.StatusNotModified {
 35257  		if res.Body != nil {
 35258  			res.Body.Close()
 35259  		}
 35260  		return nil, &googleapi.Error{
 35261  			Code:   res.StatusCode,
 35262  			Header: res.Header,
 35263  		}
 35264  	}
 35265  	if err != nil {
 35266  		return nil, err
 35267  	}
 35268  	defer googleapi.CloseBody(res)
 35269  	if err := googleapi.CheckResponse(res); err != nil {
 35270  		return nil, err
 35271  	}
 35272  	ret := &MobileApp{
 35273  		ServerResponse: googleapi.ServerResponse{
 35274  			Header:         res.Header,
 35275  			HTTPStatusCode: res.StatusCode,
 35276  		},
 35277  	}
 35278  	target := &ret
 35279  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35280  		return nil, err
 35281  	}
 35282  	return ret, nil
 35283  	// {
 35284  	//   "description": "Gets one mobile app by ID.",
 35285  	//   "httpMethod": "GET",
 35286  	//   "id": "dfareporting.mobileApps.get",
 35287  	//   "parameterOrder": [
 35288  	//     "profileId",
 35289  	//     "id"
 35290  	//   ],
 35291  	//   "parameters": {
 35292  	//     "id": {
 35293  	//       "description": "Mobile app ID.",
 35294  	//       "location": "path",
 35295  	//       "required": true,
 35296  	//       "type": "string"
 35297  	//     },
 35298  	//     "profileId": {
 35299  	//       "description": "User profile ID associated with this request.",
 35300  	//       "format": "int64",
 35301  	//       "location": "path",
 35302  	//       "required": true,
 35303  	//       "type": "string"
 35304  	//     }
 35305  	//   },
 35306  	//   "path": "userprofiles/{profileId}/mobileApps/{id}",
 35307  	//   "response": {
 35308  	//     "$ref": "MobileApp"
 35309  	//   },
 35310  	//   "scopes": [
 35311  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35312  	//   ]
 35313  	// }
 35314  
 35315  }
 35316  
 35317  // method id "dfareporting.mobileApps.list":
 35318  
 35319  type MobileAppsListCall struct {
 35320  	s            *Service
 35321  	profileId    int64
 35322  	urlParams_   gensupport.URLParams
 35323  	ifNoneMatch_ string
 35324  	ctx_         context.Context
 35325  	header_      http.Header
 35326  }
 35327  
 35328  // List: Retrieves list of available mobile apps.
 35329  func (r *MobileAppsService) List(profileId int64) *MobileAppsListCall {
 35330  	c := &MobileAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35331  	c.profileId = profileId
 35332  	return c
 35333  }
 35334  
 35335  // Directories sets the optional parameter "directories": Select only
 35336  // apps from these directories.
 35337  //
 35338  // Possible values:
 35339  //
 35340  //	"APPLE_APP_STORE"
 35341  //	"GOOGLE_PLAY_STORE"
 35342  //	"UNKNOWN"
 35343  func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
 35344  	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
 35345  	return c
 35346  }
 35347  
 35348  // Ids sets the optional parameter "ids": Select only apps with these
 35349  // IDs.
 35350  func (c *MobileAppsListCall) Ids(ids ...string) *MobileAppsListCall {
 35351  	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
 35352  	return c
 35353  }
 35354  
 35355  // MaxResults sets the optional parameter "maxResults": Maximum number
 35356  // of results to return.
 35357  func (c *MobileAppsListCall) MaxResults(maxResults int64) *MobileAppsListCall {
 35358  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 35359  	return c
 35360  }
 35361  
 35362  // PageToken sets the optional parameter "pageToken": Value of the
 35363  // nextPageToken from the previous result page.
 35364  func (c *MobileAppsListCall) PageToken(pageToken string) *MobileAppsListCall {
 35365  	c.urlParams_.Set("pageToken", pageToken)
 35366  	return c
 35367  }
 35368  
 35369  // SearchString sets the optional parameter "searchString": Allows
 35370  // searching for objects by name or ID. Wildcards (*) are allowed. For
 35371  // example, "app*2015" will return objects with names like "app Jan
 35372  // 2018", "app Jan 2018", or simply "app 2018". Most of the searches
 35373  // also add wildcards implicitly at the start and the end of the search
 35374  // string. For example, a search string of "app" will match objects with
 35375  // name "my app", "app 2018", or simply "app".
 35376  func (c *MobileAppsListCall) SearchString(searchString string) *MobileAppsListCall {
 35377  	c.urlParams_.Set("searchString", searchString)
 35378  	return c
 35379  }
 35380  
 35381  // Fields allows partial responses to be retrieved. See
 35382  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35383  // for more information.
 35384  func (c *MobileAppsListCall) Fields(s ...googleapi.Field) *MobileAppsListCall {
 35385  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35386  	return c
 35387  }
 35388  
 35389  // IfNoneMatch sets the optional parameter which makes the operation
 35390  // fail if the object's ETag matches the given value. This is useful for
 35391  // getting updates only after the object has changed since the last
 35392  // request. Use googleapi.IsNotModified to check whether the response
 35393  // error from Do is the result of In-None-Match.
 35394  func (c *MobileAppsListCall) IfNoneMatch(entityTag string) *MobileAppsListCall {
 35395  	c.ifNoneMatch_ = entityTag
 35396  	return c
 35397  }
 35398  
 35399  // Context sets the context to be used in this call's Do method. Any
 35400  // pending HTTP request will be aborted if the provided context is
 35401  // canceled.
 35402  func (c *MobileAppsListCall) Context(ctx context.Context) *MobileAppsListCall {
 35403  	c.ctx_ = ctx
 35404  	return c
 35405  }
 35406  
 35407  // Header returns an http.Header that can be modified by the caller to
 35408  // add HTTP headers to the request.
 35409  func (c *MobileAppsListCall) Header() http.Header {
 35410  	if c.header_ == nil {
 35411  		c.header_ = make(http.Header)
 35412  	}
 35413  	return c.header_
 35414  }
 35415  
 35416  func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
 35417  	reqHeaders := make(http.Header)
 35418  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35419  	for k, v := range c.header_ {
 35420  		reqHeaders[k] = v
 35421  	}
 35422  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35423  	if c.ifNoneMatch_ != "" {
 35424  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35425  	}
 35426  	var body io.Reader = nil
 35427  	c.urlParams_.Set("alt", alt)
 35428  	c.urlParams_.Set("prettyPrint", "false")
 35429  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps")
 35430  	urls += "?" + c.urlParams_.Encode()
 35431  	req, err := http.NewRequest("GET", urls, body)
 35432  	if err != nil {
 35433  		return nil, err
 35434  	}
 35435  	req.Header = reqHeaders
 35436  	googleapi.Expand(req.URL, map[string]string{
 35437  		"profileId": strconv.FormatInt(c.profileId, 10),
 35438  	})
 35439  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35440  }
 35441  
 35442  // Do executes the "dfareporting.mobileApps.list" call.
 35443  // Exactly one of *MobileAppsListResponse or error will be non-nil. Any
 35444  // non-2xx status code is an error. Response headers are in either
 35445  // *MobileAppsListResponse.ServerResponse.Header or (if a response was
 35446  // returned at all) in error.(*googleapi.Error).Header. Use
 35447  // googleapi.IsNotModified to check whether the returned error was
 35448  // because http.StatusNotModified was returned.
 35449  func (c *MobileAppsListCall) Do(opts ...googleapi.CallOption) (*MobileAppsListResponse, error) {
 35450  	gensupport.SetOptions(c.urlParams_, opts...)
 35451  	res, err := c.doRequest("json")
 35452  	if res != nil && res.StatusCode == http.StatusNotModified {
 35453  		if res.Body != nil {
 35454  			res.Body.Close()
 35455  		}
 35456  		return nil, &googleapi.Error{
 35457  			Code:   res.StatusCode,
 35458  			Header: res.Header,
 35459  		}
 35460  	}
 35461  	if err != nil {
 35462  		return nil, err
 35463  	}
 35464  	defer googleapi.CloseBody(res)
 35465  	if err := googleapi.CheckResponse(res); err != nil {
 35466  		return nil, err
 35467  	}
 35468  	ret := &MobileAppsListResponse{
 35469  		ServerResponse: googleapi.ServerResponse{
 35470  			Header:         res.Header,
 35471  			HTTPStatusCode: res.StatusCode,
 35472  		},
 35473  	}
 35474  	target := &ret
 35475  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35476  		return nil, err
 35477  	}
 35478  	return ret, nil
 35479  	// {
 35480  	//   "description": "Retrieves list of available mobile apps.",
 35481  	//   "httpMethod": "GET",
 35482  	//   "id": "dfareporting.mobileApps.list",
 35483  	//   "parameterOrder": [
 35484  	//     "profileId"
 35485  	//   ],
 35486  	//   "parameters": {
 35487  	//     "directories": {
 35488  	//       "description": "Select only apps from these directories.",
 35489  	//       "enum": [
 35490  	//         "APPLE_APP_STORE",
 35491  	//         "GOOGLE_PLAY_STORE",
 35492  	//         "UNKNOWN"
 35493  	//       ],
 35494  	//       "enumDescriptions": [
 35495  	//         "",
 35496  	//         "",
 35497  	//         ""
 35498  	//       ],
 35499  	//       "location": "query",
 35500  	//       "repeated": true,
 35501  	//       "type": "string"
 35502  	//     },
 35503  	//     "ids": {
 35504  	//       "description": "Select only apps with these IDs.",
 35505  	//       "location": "query",
 35506  	//       "repeated": true,
 35507  	//       "type": "string"
 35508  	//     },
 35509  	//     "maxResults": {
 35510  	//       "default": "1000",
 35511  	//       "description": "Maximum number of results to return.",
 35512  	//       "format": "int32",
 35513  	//       "location": "query",
 35514  	//       "maximum": "1000",
 35515  	//       "minimum": "0",
 35516  	//       "type": "integer"
 35517  	//     },
 35518  	//     "pageToken": {
 35519  	//       "description": "Value of the nextPageToken from the previous result page.",
 35520  	//       "location": "query",
 35521  	//       "type": "string"
 35522  	//     },
 35523  	//     "profileId": {
 35524  	//       "description": "User profile ID associated with this request.",
 35525  	//       "format": "int64",
 35526  	//       "location": "path",
 35527  	//       "required": true,
 35528  	//       "type": "string"
 35529  	//     },
 35530  	//     "searchString": {
 35531  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"app*2015\" will return objects with names like \"app Jan 2018\", \"app Jan 2018\", or simply \"app 2018\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"app\" will match objects with name \"my app\", \"app 2018\", or simply \"app\".",
 35532  	//       "location": "query",
 35533  	//       "type": "string"
 35534  	//     }
 35535  	//   },
 35536  	//   "path": "userprofiles/{profileId}/mobileApps",
 35537  	//   "response": {
 35538  	//     "$ref": "MobileAppsListResponse"
 35539  	//   },
 35540  	//   "scopes": [
 35541  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35542  	//   ]
 35543  	// }
 35544  
 35545  }
 35546  
 35547  // Pages invokes f for each page of results.
 35548  // A non-nil error returned from f will halt the iteration.
 35549  // The provided context supersedes any context provided to the Context method.
 35550  func (c *MobileAppsListCall) Pages(ctx context.Context, f func(*MobileAppsListResponse) error) error {
 35551  	c.ctx_ = ctx
 35552  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 35553  	for {
 35554  		x, err := c.Do()
 35555  		if err != nil {
 35556  			return err
 35557  		}
 35558  		if err := f(x); err != nil {
 35559  			return err
 35560  		}
 35561  		if x.NextPageToken == "" {
 35562  			return nil
 35563  		}
 35564  		c.PageToken(x.NextPageToken)
 35565  	}
 35566  }
 35567  
 35568  // method id "dfareporting.mobileCarriers.get":
 35569  
 35570  type MobileCarriersGetCall struct {
 35571  	s            *Service
 35572  	profileId    int64
 35573  	id           int64
 35574  	urlParams_   gensupport.URLParams
 35575  	ifNoneMatch_ string
 35576  	ctx_         context.Context
 35577  	header_      http.Header
 35578  }
 35579  
 35580  // Get: Gets one mobile carrier by ID.
 35581  func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
 35582  	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35583  	c.profileId = profileId
 35584  	c.id = id
 35585  	return c
 35586  }
 35587  
 35588  // Fields allows partial responses to be retrieved. See
 35589  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35590  // for more information.
 35591  func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
 35592  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35593  	return c
 35594  }
 35595  
 35596  // IfNoneMatch sets the optional parameter which makes the operation
 35597  // fail if the object's ETag matches the given value. This is useful for
 35598  // getting updates only after the object has changed since the last
 35599  // request. Use googleapi.IsNotModified to check whether the response
 35600  // error from Do is the result of In-None-Match.
 35601  func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
 35602  	c.ifNoneMatch_ = entityTag
 35603  	return c
 35604  }
 35605  
 35606  // Context sets the context to be used in this call's Do method. Any
 35607  // pending HTTP request will be aborted if the provided context is
 35608  // canceled.
 35609  func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
 35610  	c.ctx_ = ctx
 35611  	return c
 35612  }
 35613  
 35614  // Header returns an http.Header that can be modified by the caller to
 35615  // add HTTP headers to the request.
 35616  func (c *MobileCarriersGetCall) Header() http.Header {
 35617  	if c.header_ == nil {
 35618  		c.header_ = make(http.Header)
 35619  	}
 35620  	return c.header_
 35621  }
 35622  
 35623  func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
 35624  	reqHeaders := make(http.Header)
 35625  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35626  	for k, v := range c.header_ {
 35627  		reqHeaders[k] = v
 35628  	}
 35629  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35630  	if c.ifNoneMatch_ != "" {
 35631  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35632  	}
 35633  	var body io.Reader = nil
 35634  	c.urlParams_.Set("alt", alt)
 35635  	c.urlParams_.Set("prettyPrint", "false")
 35636  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
 35637  	urls += "?" + c.urlParams_.Encode()
 35638  	req, err := http.NewRequest("GET", urls, body)
 35639  	if err != nil {
 35640  		return nil, err
 35641  	}
 35642  	req.Header = reqHeaders
 35643  	googleapi.Expand(req.URL, map[string]string{
 35644  		"profileId": strconv.FormatInt(c.profileId, 10),
 35645  		"id":        strconv.FormatInt(c.id, 10),
 35646  	})
 35647  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35648  }
 35649  
 35650  // Do executes the "dfareporting.mobileCarriers.get" call.
 35651  // Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
 35652  // status code is an error. Response headers are in either
 35653  // *MobileCarrier.ServerResponse.Header or (if a response was returned
 35654  // at all) in error.(*googleapi.Error).Header. Use
 35655  // googleapi.IsNotModified to check whether the returned error was
 35656  // because http.StatusNotModified was returned.
 35657  func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
 35658  	gensupport.SetOptions(c.urlParams_, opts...)
 35659  	res, err := c.doRequest("json")
 35660  	if res != nil && res.StatusCode == http.StatusNotModified {
 35661  		if res.Body != nil {
 35662  			res.Body.Close()
 35663  		}
 35664  		return nil, &googleapi.Error{
 35665  			Code:   res.StatusCode,
 35666  			Header: res.Header,
 35667  		}
 35668  	}
 35669  	if err != nil {
 35670  		return nil, err
 35671  	}
 35672  	defer googleapi.CloseBody(res)
 35673  	if err := googleapi.CheckResponse(res); err != nil {
 35674  		return nil, err
 35675  	}
 35676  	ret := &MobileCarrier{
 35677  		ServerResponse: googleapi.ServerResponse{
 35678  			Header:         res.Header,
 35679  			HTTPStatusCode: res.StatusCode,
 35680  		},
 35681  	}
 35682  	target := &ret
 35683  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35684  		return nil, err
 35685  	}
 35686  	return ret, nil
 35687  	// {
 35688  	//   "description": "Gets one mobile carrier by ID.",
 35689  	//   "httpMethod": "GET",
 35690  	//   "id": "dfareporting.mobileCarriers.get",
 35691  	//   "parameterOrder": [
 35692  	//     "profileId",
 35693  	//     "id"
 35694  	//   ],
 35695  	//   "parameters": {
 35696  	//     "id": {
 35697  	//       "description": "Mobile carrier ID.",
 35698  	//       "format": "int64",
 35699  	//       "location": "path",
 35700  	//       "required": true,
 35701  	//       "type": "string"
 35702  	//     },
 35703  	//     "profileId": {
 35704  	//       "description": "User profile ID associated with this request.",
 35705  	//       "format": "int64",
 35706  	//       "location": "path",
 35707  	//       "required": true,
 35708  	//       "type": "string"
 35709  	//     }
 35710  	//   },
 35711  	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
 35712  	//   "response": {
 35713  	//     "$ref": "MobileCarrier"
 35714  	//   },
 35715  	//   "scopes": [
 35716  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35717  	//   ]
 35718  	// }
 35719  
 35720  }
 35721  
 35722  // method id "dfareporting.mobileCarriers.list":
 35723  
 35724  type MobileCarriersListCall struct {
 35725  	s            *Service
 35726  	profileId    int64
 35727  	urlParams_   gensupport.URLParams
 35728  	ifNoneMatch_ string
 35729  	ctx_         context.Context
 35730  	header_      http.Header
 35731  }
 35732  
 35733  // List: Retrieves a list of mobile carriers.
 35734  func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
 35735  	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35736  	c.profileId = profileId
 35737  	return c
 35738  }
 35739  
 35740  // Fields allows partial responses to be retrieved. See
 35741  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35742  // for more information.
 35743  func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
 35744  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35745  	return c
 35746  }
 35747  
 35748  // IfNoneMatch sets the optional parameter which makes the operation
 35749  // fail if the object's ETag matches the given value. This is useful for
 35750  // getting updates only after the object has changed since the last
 35751  // request. Use googleapi.IsNotModified to check whether the response
 35752  // error from Do is the result of In-None-Match.
 35753  func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
 35754  	c.ifNoneMatch_ = entityTag
 35755  	return c
 35756  }
 35757  
 35758  // Context sets the context to be used in this call's Do method. Any
 35759  // pending HTTP request will be aborted if the provided context is
 35760  // canceled.
 35761  func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
 35762  	c.ctx_ = ctx
 35763  	return c
 35764  }
 35765  
 35766  // Header returns an http.Header that can be modified by the caller to
 35767  // add HTTP headers to the request.
 35768  func (c *MobileCarriersListCall) Header() http.Header {
 35769  	if c.header_ == nil {
 35770  		c.header_ = make(http.Header)
 35771  	}
 35772  	return c.header_
 35773  }
 35774  
 35775  func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 35776  	reqHeaders := make(http.Header)
 35777  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35778  	for k, v := range c.header_ {
 35779  		reqHeaders[k] = v
 35780  	}
 35781  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35782  	if c.ifNoneMatch_ != "" {
 35783  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35784  	}
 35785  	var body io.Reader = nil
 35786  	c.urlParams_.Set("alt", alt)
 35787  	c.urlParams_.Set("prettyPrint", "false")
 35788  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
 35789  	urls += "?" + c.urlParams_.Encode()
 35790  	req, err := http.NewRequest("GET", urls, body)
 35791  	if err != nil {
 35792  		return nil, err
 35793  	}
 35794  	req.Header = reqHeaders
 35795  	googleapi.Expand(req.URL, map[string]string{
 35796  		"profileId": strconv.FormatInt(c.profileId, 10),
 35797  	})
 35798  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35799  }
 35800  
 35801  // Do executes the "dfareporting.mobileCarriers.list" call.
 35802  // Exactly one of *MobileCarriersListResponse or error will be non-nil.
 35803  // Any non-2xx status code is an error. Response headers are in either
 35804  // *MobileCarriersListResponse.ServerResponse.Header or (if a response
 35805  // was returned at all) in error.(*googleapi.Error).Header. Use
 35806  // googleapi.IsNotModified to check whether the returned error was
 35807  // because http.StatusNotModified was returned.
 35808  func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
 35809  	gensupport.SetOptions(c.urlParams_, opts...)
 35810  	res, err := c.doRequest("json")
 35811  	if res != nil && res.StatusCode == http.StatusNotModified {
 35812  		if res.Body != nil {
 35813  			res.Body.Close()
 35814  		}
 35815  		return nil, &googleapi.Error{
 35816  			Code:   res.StatusCode,
 35817  			Header: res.Header,
 35818  		}
 35819  	}
 35820  	if err != nil {
 35821  		return nil, err
 35822  	}
 35823  	defer googleapi.CloseBody(res)
 35824  	if err := googleapi.CheckResponse(res); err != nil {
 35825  		return nil, err
 35826  	}
 35827  	ret := &MobileCarriersListResponse{
 35828  		ServerResponse: googleapi.ServerResponse{
 35829  			Header:         res.Header,
 35830  			HTTPStatusCode: res.StatusCode,
 35831  		},
 35832  	}
 35833  	target := &ret
 35834  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35835  		return nil, err
 35836  	}
 35837  	return ret, nil
 35838  	// {
 35839  	//   "description": "Retrieves a list of mobile carriers.",
 35840  	//   "httpMethod": "GET",
 35841  	//   "id": "dfareporting.mobileCarriers.list",
 35842  	//   "parameterOrder": [
 35843  	//     "profileId"
 35844  	//   ],
 35845  	//   "parameters": {
 35846  	//     "profileId": {
 35847  	//       "description": "User profile ID associated with this request.",
 35848  	//       "format": "int64",
 35849  	//       "location": "path",
 35850  	//       "required": true,
 35851  	//       "type": "string"
 35852  	//     }
 35853  	//   },
 35854  	//   "path": "userprofiles/{profileId}/mobileCarriers",
 35855  	//   "response": {
 35856  	//     "$ref": "MobileCarriersListResponse"
 35857  	//   },
 35858  	//   "scopes": [
 35859  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35860  	//   ]
 35861  	// }
 35862  
 35863  }
 35864  
 35865  // method id "dfareporting.operatingSystemVersions.get":
 35866  
 35867  type OperatingSystemVersionsGetCall struct {
 35868  	s            *Service
 35869  	profileId    int64
 35870  	id           int64
 35871  	urlParams_   gensupport.URLParams
 35872  	ifNoneMatch_ string
 35873  	ctx_         context.Context
 35874  	header_      http.Header
 35875  }
 35876  
 35877  // Get: Gets one operating system version by ID.
 35878  func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
 35879  	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35880  	c.profileId = profileId
 35881  	c.id = id
 35882  	return c
 35883  }
 35884  
 35885  // Fields allows partial responses to be retrieved. See
 35886  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35887  // for more information.
 35888  func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
 35889  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35890  	return c
 35891  }
 35892  
 35893  // IfNoneMatch sets the optional parameter which makes the operation
 35894  // fail if the object's ETag matches the given value. This is useful for
 35895  // getting updates only after the object has changed since the last
 35896  // request. Use googleapi.IsNotModified to check whether the response
 35897  // error from Do is the result of In-None-Match.
 35898  func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
 35899  	c.ifNoneMatch_ = entityTag
 35900  	return c
 35901  }
 35902  
 35903  // Context sets the context to be used in this call's Do method. Any
 35904  // pending HTTP request will be aborted if the provided context is
 35905  // canceled.
 35906  func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
 35907  	c.ctx_ = ctx
 35908  	return c
 35909  }
 35910  
 35911  // Header returns an http.Header that can be modified by the caller to
 35912  // add HTTP headers to the request.
 35913  func (c *OperatingSystemVersionsGetCall) Header() http.Header {
 35914  	if c.header_ == nil {
 35915  		c.header_ = make(http.Header)
 35916  	}
 35917  	return c.header_
 35918  }
 35919  
 35920  func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 35921  	reqHeaders := make(http.Header)
 35922  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35923  	for k, v := range c.header_ {
 35924  		reqHeaders[k] = v
 35925  	}
 35926  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35927  	if c.ifNoneMatch_ != "" {
 35928  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35929  	}
 35930  	var body io.Reader = nil
 35931  	c.urlParams_.Set("alt", alt)
 35932  	c.urlParams_.Set("prettyPrint", "false")
 35933  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
 35934  	urls += "?" + c.urlParams_.Encode()
 35935  	req, err := http.NewRequest("GET", urls, body)
 35936  	if err != nil {
 35937  		return nil, err
 35938  	}
 35939  	req.Header = reqHeaders
 35940  	googleapi.Expand(req.URL, map[string]string{
 35941  		"profileId": strconv.FormatInt(c.profileId, 10),
 35942  		"id":        strconv.FormatInt(c.id, 10),
 35943  	})
 35944  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35945  }
 35946  
 35947  // Do executes the "dfareporting.operatingSystemVersions.get" call.
 35948  // Exactly one of *OperatingSystemVersion or error will be non-nil. Any
 35949  // non-2xx status code is an error. Response headers are in either
 35950  // *OperatingSystemVersion.ServerResponse.Header or (if a response was
 35951  // returned at all) in error.(*googleapi.Error).Header. Use
 35952  // googleapi.IsNotModified to check whether the returned error was
 35953  // because http.StatusNotModified was returned.
 35954  func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
 35955  	gensupport.SetOptions(c.urlParams_, opts...)
 35956  	res, err := c.doRequest("json")
 35957  	if res != nil && res.StatusCode == http.StatusNotModified {
 35958  		if res.Body != nil {
 35959  			res.Body.Close()
 35960  		}
 35961  		return nil, &googleapi.Error{
 35962  			Code:   res.StatusCode,
 35963  			Header: res.Header,
 35964  		}
 35965  	}
 35966  	if err != nil {
 35967  		return nil, err
 35968  	}
 35969  	defer googleapi.CloseBody(res)
 35970  	if err := googleapi.CheckResponse(res); err != nil {
 35971  		return nil, err
 35972  	}
 35973  	ret := &OperatingSystemVersion{
 35974  		ServerResponse: googleapi.ServerResponse{
 35975  			Header:         res.Header,
 35976  			HTTPStatusCode: res.StatusCode,
 35977  		},
 35978  	}
 35979  	target := &ret
 35980  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35981  		return nil, err
 35982  	}
 35983  	return ret, nil
 35984  	// {
 35985  	//   "description": "Gets one operating system version by ID.",
 35986  	//   "httpMethod": "GET",
 35987  	//   "id": "dfareporting.operatingSystemVersions.get",
 35988  	//   "parameterOrder": [
 35989  	//     "profileId",
 35990  	//     "id"
 35991  	//   ],
 35992  	//   "parameters": {
 35993  	//     "id": {
 35994  	//       "description": "Operating system version ID.",
 35995  	//       "format": "int64",
 35996  	//       "location": "path",
 35997  	//       "required": true,
 35998  	//       "type": "string"
 35999  	//     },
 36000  	//     "profileId": {
 36001  	//       "description": "User profile ID associated with this request.",
 36002  	//       "format": "int64",
 36003  	//       "location": "path",
 36004  	//       "required": true,
 36005  	//       "type": "string"
 36006  	//     }
 36007  	//   },
 36008  	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
 36009  	//   "response": {
 36010  	//     "$ref": "OperatingSystemVersion"
 36011  	//   },
 36012  	//   "scopes": [
 36013  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36014  	//   ]
 36015  	// }
 36016  
 36017  }
 36018  
 36019  // method id "dfareporting.operatingSystemVersions.list":
 36020  
 36021  type OperatingSystemVersionsListCall struct {
 36022  	s            *Service
 36023  	profileId    int64
 36024  	urlParams_   gensupport.URLParams
 36025  	ifNoneMatch_ string
 36026  	ctx_         context.Context
 36027  	header_      http.Header
 36028  }
 36029  
 36030  // List: Retrieves a list of operating system versions.
 36031  func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
 36032  	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36033  	c.profileId = profileId
 36034  	return c
 36035  }
 36036  
 36037  // Fields allows partial responses to be retrieved. See
 36038  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36039  // for more information.
 36040  func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
 36041  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36042  	return c
 36043  }
 36044  
 36045  // IfNoneMatch sets the optional parameter which makes the operation
 36046  // fail if the object's ETag matches the given value. This is useful for
 36047  // getting updates only after the object has changed since the last
 36048  // request. Use googleapi.IsNotModified to check whether the response
 36049  // error from Do is the result of In-None-Match.
 36050  func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
 36051  	c.ifNoneMatch_ = entityTag
 36052  	return c
 36053  }
 36054  
 36055  // Context sets the context to be used in this call's Do method. Any
 36056  // pending HTTP request will be aborted if the provided context is
 36057  // canceled.
 36058  func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
 36059  	c.ctx_ = ctx
 36060  	return c
 36061  }
 36062  
 36063  // Header returns an http.Header that can be modified by the caller to
 36064  // add HTTP headers to the request.
 36065  func (c *OperatingSystemVersionsListCall) Header() http.Header {
 36066  	if c.header_ == nil {
 36067  		c.header_ = make(http.Header)
 36068  	}
 36069  	return c.header_
 36070  }
 36071  
 36072  func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 36073  	reqHeaders := make(http.Header)
 36074  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36075  	for k, v := range c.header_ {
 36076  		reqHeaders[k] = v
 36077  	}
 36078  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36079  	if c.ifNoneMatch_ != "" {
 36080  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36081  	}
 36082  	var body io.Reader = nil
 36083  	c.urlParams_.Set("alt", alt)
 36084  	c.urlParams_.Set("prettyPrint", "false")
 36085  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
 36086  	urls += "?" + c.urlParams_.Encode()
 36087  	req, err := http.NewRequest("GET", urls, body)
 36088  	if err != nil {
 36089  		return nil, err
 36090  	}
 36091  	req.Header = reqHeaders
 36092  	googleapi.Expand(req.URL, map[string]string{
 36093  		"profileId": strconv.FormatInt(c.profileId, 10),
 36094  	})
 36095  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36096  }
 36097  
 36098  // Do executes the "dfareporting.operatingSystemVersions.list" call.
 36099  // Exactly one of *OperatingSystemVersionsListResponse or error will be
 36100  // non-nil. Any non-2xx status code is an error. Response headers are in
 36101  // either *OperatingSystemVersionsListResponse.ServerResponse.Header or
 36102  // (if a response was returned at all) in
 36103  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36104  // whether the returned error was because http.StatusNotModified was
 36105  // returned.
 36106  func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
 36107  	gensupport.SetOptions(c.urlParams_, opts...)
 36108  	res, err := c.doRequest("json")
 36109  	if res != nil && res.StatusCode == http.StatusNotModified {
 36110  		if res.Body != nil {
 36111  			res.Body.Close()
 36112  		}
 36113  		return nil, &googleapi.Error{
 36114  			Code:   res.StatusCode,
 36115  			Header: res.Header,
 36116  		}
 36117  	}
 36118  	if err != nil {
 36119  		return nil, err
 36120  	}
 36121  	defer googleapi.CloseBody(res)
 36122  	if err := googleapi.CheckResponse(res); err != nil {
 36123  		return nil, err
 36124  	}
 36125  	ret := &OperatingSystemVersionsListResponse{
 36126  		ServerResponse: googleapi.ServerResponse{
 36127  			Header:         res.Header,
 36128  			HTTPStatusCode: res.StatusCode,
 36129  		},
 36130  	}
 36131  	target := &ret
 36132  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36133  		return nil, err
 36134  	}
 36135  	return ret, nil
 36136  	// {
 36137  	//   "description": "Retrieves a list of operating system versions.",
 36138  	//   "httpMethod": "GET",
 36139  	//   "id": "dfareporting.operatingSystemVersions.list",
 36140  	//   "parameterOrder": [
 36141  	//     "profileId"
 36142  	//   ],
 36143  	//   "parameters": {
 36144  	//     "profileId": {
 36145  	//       "description": "User profile ID associated with this request.",
 36146  	//       "format": "int64",
 36147  	//       "location": "path",
 36148  	//       "required": true,
 36149  	//       "type": "string"
 36150  	//     }
 36151  	//   },
 36152  	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
 36153  	//   "response": {
 36154  	//     "$ref": "OperatingSystemVersionsListResponse"
 36155  	//   },
 36156  	//   "scopes": [
 36157  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36158  	//   ]
 36159  	// }
 36160  
 36161  }
 36162  
 36163  // method id "dfareporting.operatingSystems.get":
 36164  
 36165  type OperatingSystemsGetCall struct {
 36166  	s            *Service
 36167  	profileId    int64
 36168  	dartId       int64
 36169  	urlParams_   gensupport.URLParams
 36170  	ifNoneMatch_ string
 36171  	ctx_         context.Context
 36172  	header_      http.Header
 36173  }
 36174  
 36175  // Get: Gets one operating system by DART ID.
 36176  func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
 36177  	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36178  	c.profileId = profileId
 36179  	c.dartId = dartId
 36180  	return c
 36181  }
 36182  
 36183  // Fields allows partial responses to be retrieved. See
 36184  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36185  // for more information.
 36186  func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
 36187  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36188  	return c
 36189  }
 36190  
 36191  // IfNoneMatch sets the optional parameter which makes the operation
 36192  // fail if the object's ETag matches the given value. This is useful for
 36193  // getting updates only after the object has changed since the last
 36194  // request. Use googleapi.IsNotModified to check whether the response
 36195  // error from Do is the result of In-None-Match.
 36196  func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
 36197  	c.ifNoneMatch_ = entityTag
 36198  	return c
 36199  }
 36200  
 36201  // Context sets the context to be used in this call's Do method. Any
 36202  // pending HTTP request will be aborted if the provided context is
 36203  // canceled.
 36204  func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
 36205  	c.ctx_ = ctx
 36206  	return c
 36207  }
 36208  
 36209  // Header returns an http.Header that can be modified by the caller to
 36210  // add HTTP headers to the request.
 36211  func (c *OperatingSystemsGetCall) Header() http.Header {
 36212  	if c.header_ == nil {
 36213  		c.header_ = make(http.Header)
 36214  	}
 36215  	return c.header_
 36216  }
 36217  
 36218  func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
 36219  	reqHeaders := make(http.Header)
 36220  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36221  	for k, v := range c.header_ {
 36222  		reqHeaders[k] = v
 36223  	}
 36224  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36225  	if c.ifNoneMatch_ != "" {
 36226  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36227  	}
 36228  	var body io.Reader = nil
 36229  	c.urlParams_.Set("alt", alt)
 36230  	c.urlParams_.Set("prettyPrint", "false")
 36231  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
 36232  	urls += "?" + c.urlParams_.Encode()
 36233  	req, err := http.NewRequest("GET", urls, body)
 36234  	if err != nil {
 36235  		return nil, err
 36236  	}
 36237  	req.Header = reqHeaders
 36238  	googleapi.Expand(req.URL, map[string]string{
 36239  		"profileId": strconv.FormatInt(c.profileId, 10),
 36240  		"dartId":    strconv.FormatInt(c.dartId, 10),
 36241  	})
 36242  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36243  }
 36244  
 36245  // Do executes the "dfareporting.operatingSystems.get" call.
 36246  // Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
 36247  // status code is an error. Response headers are in either
 36248  // *OperatingSystem.ServerResponse.Header or (if a response was returned
 36249  // at all) in error.(*googleapi.Error).Header. Use
 36250  // googleapi.IsNotModified to check whether the returned error was
 36251  // because http.StatusNotModified was returned.
 36252  func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
 36253  	gensupport.SetOptions(c.urlParams_, opts...)
 36254  	res, err := c.doRequest("json")
 36255  	if res != nil && res.StatusCode == http.StatusNotModified {
 36256  		if res.Body != nil {
 36257  			res.Body.Close()
 36258  		}
 36259  		return nil, &googleapi.Error{
 36260  			Code:   res.StatusCode,
 36261  			Header: res.Header,
 36262  		}
 36263  	}
 36264  	if err != nil {
 36265  		return nil, err
 36266  	}
 36267  	defer googleapi.CloseBody(res)
 36268  	if err := googleapi.CheckResponse(res); err != nil {
 36269  		return nil, err
 36270  	}
 36271  	ret := &OperatingSystem{
 36272  		ServerResponse: googleapi.ServerResponse{
 36273  			Header:         res.Header,
 36274  			HTTPStatusCode: res.StatusCode,
 36275  		},
 36276  	}
 36277  	target := &ret
 36278  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36279  		return nil, err
 36280  	}
 36281  	return ret, nil
 36282  	// {
 36283  	//   "description": "Gets one operating system by DART ID.",
 36284  	//   "httpMethod": "GET",
 36285  	//   "id": "dfareporting.operatingSystems.get",
 36286  	//   "parameterOrder": [
 36287  	//     "profileId",
 36288  	//     "dartId"
 36289  	//   ],
 36290  	//   "parameters": {
 36291  	//     "dartId": {
 36292  	//       "description": "Operating system DART ID.",
 36293  	//       "format": "int64",
 36294  	//       "location": "path",
 36295  	//       "required": true,
 36296  	//       "type": "string"
 36297  	//     },
 36298  	//     "profileId": {
 36299  	//       "description": "User profile ID associated with this request.",
 36300  	//       "format": "int64",
 36301  	//       "location": "path",
 36302  	//       "required": true,
 36303  	//       "type": "string"
 36304  	//     }
 36305  	//   },
 36306  	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
 36307  	//   "response": {
 36308  	//     "$ref": "OperatingSystem"
 36309  	//   },
 36310  	//   "scopes": [
 36311  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36312  	//   ]
 36313  	// }
 36314  
 36315  }
 36316  
 36317  // method id "dfareporting.operatingSystems.list":
 36318  
 36319  type OperatingSystemsListCall struct {
 36320  	s            *Service
 36321  	profileId    int64
 36322  	urlParams_   gensupport.URLParams
 36323  	ifNoneMatch_ string
 36324  	ctx_         context.Context
 36325  	header_      http.Header
 36326  }
 36327  
 36328  // List: Retrieves a list of operating systems.
 36329  func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
 36330  	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36331  	c.profileId = profileId
 36332  	return c
 36333  }
 36334  
 36335  // Fields allows partial responses to be retrieved. See
 36336  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36337  // for more information.
 36338  func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
 36339  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36340  	return c
 36341  }
 36342  
 36343  // IfNoneMatch sets the optional parameter which makes the operation
 36344  // fail if the object's ETag matches the given value. This is useful for
 36345  // getting updates only after the object has changed since the last
 36346  // request. Use googleapi.IsNotModified to check whether the response
 36347  // error from Do is the result of In-None-Match.
 36348  func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
 36349  	c.ifNoneMatch_ = entityTag
 36350  	return c
 36351  }
 36352  
 36353  // Context sets the context to be used in this call's Do method. Any
 36354  // pending HTTP request will be aborted if the provided context is
 36355  // canceled.
 36356  func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
 36357  	c.ctx_ = ctx
 36358  	return c
 36359  }
 36360  
 36361  // Header returns an http.Header that can be modified by the caller to
 36362  // add HTTP headers to the request.
 36363  func (c *OperatingSystemsListCall) Header() http.Header {
 36364  	if c.header_ == nil {
 36365  		c.header_ = make(http.Header)
 36366  	}
 36367  	return c.header_
 36368  }
 36369  
 36370  func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 36371  	reqHeaders := make(http.Header)
 36372  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36373  	for k, v := range c.header_ {
 36374  		reqHeaders[k] = v
 36375  	}
 36376  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36377  	if c.ifNoneMatch_ != "" {
 36378  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36379  	}
 36380  	var body io.Reader = nil
 36381  	c.urlParams_.Set("alt", alt)
 36382  	c.urlParams_.Set("prettyPrint", "false")
 36383  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
 36384  	urls += "?" + c.urlParams_.Encode()
 36385  	req, err := http.NewRequest("GET", urls, body)
 36386  	if err != nil {
 36387  		return nil, err
 36388  	}
 36389  	req.Header = reqHeaders
 36390  	googleapi.Expand(req.URL, map[string]string{
 36391  		"profileId": strconv.FormatInt(c.profileId, 10),
 36392  	})
 36393  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36394  }
 36395  
 36396  // Do executes the "dfareporting.operatingSystems.list" call.
 36397  // Exactly one of *OperatingSystemsListResponse or error will be
 36398  // non-nil. Any non-2xx status code is an error. Response headers are in
 36399  // either *OperatingSystemsListResponse.ServerResponse.Header or (if a
 36400  // response was returned at all) in error.(*googleapi.Error).Header. Use
 36401  // googleapi.IsNotModified to check whether the returned error was
 36402  // because http.StatusNotModified was returned.
 36403  func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
 36404  	gensupport.SetOptions(c.urlParams_, opts...)
 36405  	res, err := c.doRequest("json")
 36406  	if res != nil && res.StatusCode == http.StatusNotModified {
 36407  		if res.Body != nil {
 36408  			res.Body.Close()
 36409  		}
 36410  		return nil, &googleapi.Error{
 36411  			Code:   res.StatusCode,
 36412  			Header: res.Header,
 36413  		}
 36414  	}
 36415  	if err != nil {
 36416  		return nil, err
 36417  	}
 36418  	defer googleapi.CloseBody(res)
 36419  	if err := googleapi.CheckResponse(res); err != nil {
 36420  		return nil, err
 36421  	}
 36422  	ret := &OperatingSystemsListResponse{
 36423  		ServerResponse: googleapi.ServerResponse{
 36424  			Header:         res.Header,
 36425  			HTTPStatusCode: res.StatusCode,
 36426  		},
 36427  	}
 36428  	target := &ret
 36429  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36430  		return nil, err
 36431  	}
 36432  	return ret, nil
 36433  	// {
 36434  	//   "description": "Retrieves a list of operating systems.",
 36435  	//   "httpMethod": "GET",
 36436  	//   "id": "dfareporting.operatingSystems.list",
 36437  	//   "parameterOrder": [
 36438  	//     "profileId"
 36439  	//   ],
 36440  	//   "parameters": {
 36441  	//     "profileId": {
 36442  	//       "description": "User profile ID associated with this request.",
 36443  	//       "format": "int64",
 36444  	//       "location": "path",
 36445  	//       "required": true,
 36446  	//       "type": "string"
 36447  	//     }
 36448  	//   },
 36449  	//   "path": "userprofiles/{profileId}/operatingSystems",
 36450  	//   "response": {
 36451  	//     "$ref": "OperatingSystemsListResponse"
 36452  	//   },
 36453  	//   "scopes": [
 36454  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36455  	//   ]
 36456  	// }
 36457  
 36458  }
 36459  
 36460  // method id "dfareporting.orderDocuments.get":
 36461  
 36462  type OrderDocumentsGetCall struct {
 36463  	s            *Service
 36464  	profileId    int64
 36465  	projectId    int64
 36466  	id           int64
 36467  	urlParams_   gensupport.URLParams
 36468  	ifNoneMatch_ string
 36469  	ctx_         context.Context
 36470  	header_      http.Header
 36471  }
 36472  
 36473  // Get: Gets one order document by ID.
 36474  func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
 36475  	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36476  	c.profileId = profileId
 36477  	c.projectId = projectId
 36478  	c.id = id
 36479  	return c
 36480  }
 36481  
 36482  // Fields allows partial responses to be retrieved. See
 36483  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36484  // for more information.
 36485  func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
 36486  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36487  	return c
 36488  }
 36489  
 36490  // IfNoneMatch sets the optional parameter which makes the operation
 36491  // fail if the object's ETag matches the given value. This is useful for
 36492  // getting updates only after the object has changed since the last
 36493  // request. Use googleapi.IsNotModified to check whether the response
 36494  // error from Do is the result of In-None-Match.
 36495  func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
 36496  	c.ifNoneMatch_ = entityTag
 36497  	return c
 36498  }
 36499  
 36500  // Context sets the context to be used in this call's Do method. Any
 36501  // pending HTTP request will be aborted if the provided context is
 36502  // canceled.
 36503  func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
 36504  	c.ctx_ = ctx
 36505  	return c
 36506  }
 36507  
 36508  // Header returns an http.Header that can be modified by the caller to
 36509  // add HTTP headers to the request.
 36510  func (c *OrderDocumentsGetCall) Header() http.Header {
 36511  	if c.header_ == nil {
 36512  		c.header_ = make(http.Header)
 36513  	}
 36514  	return c.header_
 36515  }
 36516  
 36517  func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 36518  	reqHeaders := make(http.Header)
 36519  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36520  	for k, v := range c.header_ {
 36521  		reqHeaders[k] = v
 36522  	}
 36523  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36524  	if c.ifNoneMatch_ != "" {
 36525  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36526  	}
 36527  	var body io.Reader = nil
 36528  	c.urlParams_.Set("alt", alt)
 36529  	c.urlParams_.Set("prettyPrint", "false")
 36530  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
 36531  	urls += "?" + c.urlParams_.Encode()
 36532  	req, err := http.NewRequest("GET", urls, body)
 36533  	if err != nil {
 36534  		return nil, err
 36535  	}
 36536  	req.Header = reqHeaders
 36537  	googleapi.Expand(req.URL, map[string]string{
 36538  		"profileId": strconv.FormatInt(c.profileId, 10),
 36539  		"projectId": strconv.FormatInt(c.projectId, 10),
 36540  		"id":        strconv.FormatInt(c.id, 10),
 36541  	})
 36542  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36543  }
 36544  
 36545  // Do executes the "dfareporting.orderDocuments.get" call.
 36546  // Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
 36547  // status code is an error. Response headers are in either
 36548  // *OrderDocument.ServerResponse.Header or (if a response was returned
 36549  // at all) in error.(*googleapi.Error).Header. Use
 36550  // googleapi.IsNotModified to check whether the returned error was
 36551  // because http.StatusNotModified was returned.
 36552  func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
 36553  	gensupport.SetOptions(c.urlParams_, opts...)
 36554  	res, err := c.doRequest("json")
 36555  	if res != nil && res.StatusCode == http.StatusNotModified {
 36556  		if res.Body != nil {
 36557  			res.Body.Close()
 36558  		}
 36559  		return nil, &googleapi.Error{
 36560  			Code:   res.StatusCode,
 36561  			Header: res.Header,
 36562  		}
 36563  	}
 36564  	if err != nil {
 36565  		return nil, err
 36566  	}
 36567  	defer googleapi.CloseBody(res)
 36568  	if err := googleapi.CheckResponse(res); err != nil {
 36569  		return nil, err
 36570  	}
 36571  	ret := &OrderDocument{
 36572  		ServerResponse: googleapi.ServerResponse{
 36573  			Header:         res.Header,
 36574  			HTTPStatusCode: res.StatusCode,
 36575  		},
 36576  	}
 36577  	target := &ret
 36578  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36579  		return nil, err
 36580  	}
 36581  	return ret, nil
 36582  	// {
 36583  	//   "description": "Gets one order document by ID.",
 36584  	//   "httpMethod": "GET",
 36585  	//   "id": "dfareporting.orderDocuments.get",
 36586  	//   "parameterOrder": [
 36587  	//     "profileId",
 36588  	//     "projectId",
 36589  	//     "id"
 36590  	//   ],
 36591  	//   "parameters": {
 36592  	//     "id": {
 36593  	//       "description": "Order document ID.",
 36594  	//       "format": "int64",
 36595  	//       "location": "path",
 36596  	//       "required": true,
 36597  	//       "type": "string"
 36598  	//     },
 36599  	//     "profileId": {
 36600  	//       "description": "User profile ID associated with this request.",
 36601  	//       "format": "int64",
 36602  	//       "location": "path",
 36603  	//       "required": true,
 36604  	//       "type": "string"
 36605  	//     },
 36606  	//     "projectId": {
 36607  	//       "description": "Project ID for order documents.",
 36608  	//       "format": "int64",
 36609  	//       "location": "path",
 36610  	//       "required": true,
 36611  	//       "type": "string"
 36612  	//     }
 36613  	//   },
 36614  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
 36615  	//   "response": {
 36616  	//     "$ref": "OrderDocument"
 36617  	//   },
 36618  	//   "scopes": [
 36619  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36620  	//   ]
 36621  	// }
 36622  
 36623  }
 36624  
 36625  // method id "dfareporting.orderDocuments.list":
 36626  
 36627  type OrderDocumentsListCall struct {
 36628  	s            *Service
 36629  	profileId    int64
 36630  	projectId    int64
 36631  	urlParams_   gensupport.URLParams
 36632  	ifNoneMatch_ string
 36633  	ctx_         context.Context
 36634  	header_      http.Header
 36635  }
 36636  
 36637  // List: Retrieves a list of order documents, possibly filtered. This
 36638  // method supports paging.
 36639  func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
 36640  	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36641  	c.profileId = profileId
 36642  	c.projectId = projectId
 36643  	return c
 36644  }
 36645  
 36646  // Approved sets the optional parameter "approved": Select only order
 36647  // documents that have been approved by at least one user.
 36648  func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
 36649  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 36650  	return c
 36651  }
 36652  
 36653  // Ids sets the optional parameter "ids": Select only order documents
 36654  // with these IDs.
 36655  func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
 36656  	var ids_ []string
 36657  	for _, v := range ids {
 36658  		ids_ = append(ids_, fmt.Sprint(v))
 36659  	}
 36660  	c.urlParams_.SetMulti("ids", ids_)
 36661  	return c
 36662  }
 36663  
 36664  // MaxResults sets the optional parameter "maxResults": Maximum number
 36665  // of results to return.
 36666  func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
 36667  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 36668  	return c
 36669  }
 36670  
 36671  // OrderId sets the optional parameter "orderId": Select only order
 36672  // documents for specified orders.
 36673  func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
 36674  	var orderId_ []string
 36675  	for _, v := range orderId {
 36676  		orderId_ = append(orderId_, fmt.Sprint(v))
 36677  	}
 36678  	c.urlParams_.SetMulti("orderId", orderId_)
 36679  	return c
 36680  }
 36681  
 36682  // PageToken sets the optional parameter "pageToken": Value of the
 36683  // nextPageToken from the previous result page.
 36684  func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
 36685  	c.urlParams_.Set("pageToken", pageToken)
 36686  	return c
 36687  }
 36688  
 36689  // SearchString sets the optional parameter "searchString": Allows
 36690  // searching for order documents by name or ID. Wildcards (*) are
 36691  // allowed. For example, "orderdocument*2015" will return order
 36692  // documents with names like "orderdocument June 2015", "orderdocument
 36693  // April 2015", or simply "orderdocument 2015". Most of the searches
 36694  // also add wildcards implicitly at the start and the end of the search
 36695  // string. For example, a search string of "orderdocument" will match
 36696  // order documents with name "my orderdocument", "orderdocument 2015",
 36697  // or simply "orderdocument".
 36698  func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
 36699  	c.urlParams_.Set("searchString", searchString)
 36700  	return c
 36701  }
 36702  
 36703  // SiteId sets the optional parameter "siteId": Select only order
 36704  // documents that are associated with these sites.
 36705  func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
 36706  	var siteId_ []string
 36707  	for _, v := range siteId {
 36708  		siteId_ = append(siteId_, fmt.Sprint(v))
 36709  	}
 36710  	c.urlParams_.SetMulti("siteId", siteId_)
 36711  	return c
 36712  }
 36713  
 36714  // SortField sets the optional parameter "sortField": Field by which to
 36715  // sort the list.
 36716  //
 36717  // Possible values:
 36718  //
 36719  //	"ID" (default)
 36720  //	"NAME"
 36721  func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
 36722  	c.urlParams_.Set("sortField", sortField)
 36723  	return c
 36724  }
 36725  
 36726  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 36727  // results.
 36728  //
 36729  // Possible values:
 36730  //
 36731  //	"ASCENDING" (default)
 36732  //	"DESCENDING"
 36733  func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
 36734  	c.urlParams_.Set("sortOrder", sortOrder)
 36735  	return c
 36736  }
 36737  
 36738  // Fields allows partial responses to be retrieved. See
 36739  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36740  // for more information.
 36741  func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
 36742  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36743  	return c
 36744  }
 36745  
 36746  // IfNoneMatch sets the optional parameter which makes the operation
 36747  // fail if the object's ETag matches the given value. This is useful for
 36748  // getting updates only after the object has changed since the last
 36749  // request. Use googleapi.IsNotModified to check whether the response
 36750  // error from Do is the result of In-None-Match.
 36751  func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
 36752  	c.ifNoneMatch_ = entityTag
 36753  	return c
 36754  }
 36755  
 36756  // Context sets the context to be used in this call's Do method. Any
 36757  // pending HTTP request will be aborted if the provided context is
 36758  // canceled.
 36759  func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
 36760  	c.ctx_ = ctx
 36761  	return c
 36762  }
 36763  
 36764  // Header returns an http.Header that can be modified by the caller to
 36765  // add HTTP headers to the request.
 36766  func (c *OrderDocumentsListCall) Header() http.Header {
 36767  	if c.header_ == nil {
 36768  		c.header_ = make(http.Header)
 36769  	}
 36770  	return c.header_
 36771  }
 36772  
 36773  func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 36774  	reqHeaders := make(http.Header)
 36775  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36776  	for k, v := range c.header_ {
 36777  		reqHeaders[k] = v
 36778  	}
 36779  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36780  	if c.ifNoneMatch_ != "" {
 36781  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36782  	}
 36783  	var body io.Reader = nil
 36784  	c.urlParams_.Set("alt", alt)
 36785  	c.urlParams_.Set("prettyPrint", "false")
 36786  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
 36787  	urls += "?" + c.urlParams_.Encode()
 36788  	req, err := http.NewRequest("GET", urls, body)
 36789  	if err != nil {
 36790  		return nil, err
 36791  	}
 36792  	req.Header = reqHeaders
 36793  	googleapi.Expand(req.URL, map[string]string{
 36794  		"profileId": strconv.FormatInt(c.profileId, 10),
 36795  		"projectId": strconv.FormatInt(c.projectId, 10),
 36796  	})
 36797  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36798  }
 36799  
 36800  // Do executes the "dfareporting.orderDocuments.list" call.
 36801  // Exactly one of *OrderDocumentsListResponse or error will be non-nil.
 36802  // Any non-2xx status code is an error. Response headers are in either
 36803  // *OrderDocumentsListResponse.ServerResponse.Header or (if a response
 36804  // was returned at all) in error.(*googleapi.Error).Header. Use
 36805  // googleapi.IsNotModified to check whether the returned error was
 36806  // because http.StatusNotModified was returned.
 36807  func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
 36808  	gensupport.SetOptions(c.urlParams_, opts...)
 36809  	res, err := c.doRequest("json")
 36810  	if res != nil && res.StatusCode == http.StatusNotModified {
 36811  		if res.Body != nil {
 36812  			res.Body.Close()
 36813  		}
 36814  		return nil, &googleapi.Error{
 36815  			Code:   res.StatusCode,
 36816  			Header: res.Header,
 36817  		}
 36818  	}
 36819  	if err != nil {
 36820  		return nil, err
 36821  	}
 36822  	defer googleapi.CloseBody(res)
 36823  	if err := googleapi.CheckResponse(res); err != nil {
 36824  		return nil, err
 36825  	}
 36826  	ret := &OrderDocumentsListResponse{
 36827  		ServerResponse: googleapi.ServerResponse{
 36828  			Header:         res.Header,
 36829  			HTTPStatusCode: res.StatusCode,
 36830  		},
 36831  	}
 36832  	target := &ret
 36833  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36834  		return nil, err
 36835  	}
 36836  	return ret, nil
 36837  	// {
 36838  	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
 36839  	//   "httpMethod": "GET",
 36840  	//   "id": "dfareporting.orderDocuments.list",
 36841  	//   "parameterOrder": [
 36842  	//     "profileId",
 36843  	//     "projectId"
 36844  	//   ],
 36845  	//   "parameters": {
 36846  	//     "approved": {
 36847  	//       "description": "Select only order documents that have been approved by at least one user.",
 36848  	//       "location": "query",
 36849  	//       "type": "boolean"
 36850  	//     },
 36851  	//     "ids": {
 36852  	//       "description": "Select only order documents with these IDs.",
 36853  	//       "format": "int64",
 36854  	//       "location": "query",
 36855  	//       "repeated": true,
 36856  	//       "type": "string"
 36857  	//     },
 36858  	//     "maxResults": {
 36859  	//       "default": "1000",
 36860  	//       "description": "Maximum number of results to return.",
 36861  	//       "format": "int32",
 36862  	//       "location": "query",
 36863  	//       "maximum": "1000",
 36864  	//       "minimum": "0",
 36865  	//       "type": "integer"
 36866  	//     },
 36867  	//     "orderId": {
 36868  	//       "description": "Select only order documents for specified orders.",
 36869  	//       "format": "int64",
 36870  	//       "location": "query",
 36871  	//       "repeated": true,
 36872  	//       "type": "string"
 36873  	//     },
 36874  	//     "pageToken": {
 36875  	//       "description": "Value of the nextPageToken from the previous result page.",
 36876  	//       "location": "query",
 36877  	//       "type": "string"
 36878  	//     },
 36879  	//     "profileId": {
 36880  	//       "description": "User profile ID associated with this request.",
 36881  	//       "format": "int64",
 36882  	//       "location": "path",
 36883  	//       "required": true,
 36884  	//       "type": "string"
 36885  	//     },
 36886  	//     "projectId": {
 36887  	//       "description": "Project ID for order documents.",
 36888  	//       "format": "int64",
 36889  	//       "location": "path",
 36890  	//       "required": true,
 36891  	//       "type": "string"
 36892  	//     },
 36893  	//     "searchString": {
 36894  	//       "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\".",
 36895  	//       "location": "query",
 36896  	//       "type": "string"
 36897  	//     },
 36898  	//     "siteId": {
 36899  	//       "description": "Select only order documents that are associated with these sites.",
 36900  	//       "format": "int64",
 36901  	//       "location": "query",
 36902  	//       "repeated": true,
 36903  	//       "type": "string"
 36904  	//     },
 36905  	//     "sortField": {
 36906  	//       "default": "ID",
 36907  	//       "description": "Field by which to sort the list.",
 36908  	//       "enum": [
 36909  	//         "ID",
 36910  	//         "NAME"
 36911  	//       ],
 36912  	//       "enumDescriptions": [
 36913  	//         "",
 36914  	//         ""
 36915  	//       ],
 36916  	//       "location": "query",
 36917  	//       "type": "string"
 36918  	//     },
 36919  	//     "sortOrder": {
 36920  	//       "default": "ASCENDING",
 36921  	//       "description": "Order of sorted results.",
 36922  	//       "enum": [
 36923  	//         "ASCENDING",
 36924  	//         "DESCENDING"
 36925  	//       ],
 36926  	//       "enumDescriptions": [
 36927  	//         "",
 36928  	//         ""
 36929  	//       ],
 36930  	//       "location": "query",
 36931  	//       "type": "string"
 36932  	//     }
 36933  	//   },
 36934  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
 36935  	//   "response": {
 36936  	//     "$ref": "OrderDocumentsListResponse"
 36937  	//   },
 36938  	//   "scopes": [
 36939  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36940  	//   ]
 36941  	// }
 36942  
 36943  }
 36944  
 36945  // Pages invokes f for each page of results.
 36946  // A non-nil error returned from f will halt the iteration.
 36947  // The provided context supersedes any context provided to the Context method.
 36948  func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
 36949  	c.ctx_ = ctx
 36950  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 36951  	for {
 36952  		x, err := c.Do()
 36953  		if err != nil {
 36954  			return err
 36955  		}
 36956  		if err := f(x); err != nil {
 36957  			return err
 36958  		}
 36959  		if x.NextPageToken == "" {
 36960  			return nil
 36961  		}
 36962  		c.PageToken(x.NextPageToken)
 36963  	}
 36964  }
 36965  
 36966  // method id "dfareporting.orders.get":
 36967  
 36968  type OrdersGetCall struct {
 36969  	s            *Service
 36970  	profileId    int64
 36971  	projectId    int64
 36972  	id           int64
 36973  	urlParams_   gensupport.URLParams
 36974  	ifNoneMatch_ string
 36975  	ctx_         context.Context
 36976  	header_      http.Header
 36977  }
 36978  
 36979  // Get: Gets one order by ID.
 36980  func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
 36981  	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36982  	c.profileId = profileId
 36983  	c.projectId = projectId
 36984  	c.id = id
 36985  	return c
 36986  }
 36987  
 36988  // Fields allows partial responses to be retrieved. See
 36989  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36990  // for more information.
 36991  func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
 36992  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36993  	return c
 36994  }
 36995  
 36996  // IfNoneMatch sets the optional parameter which makes the operation
 36997  // fail if the object's ETag matches the given value. This is useful for
 36998  // getting updates only after the object has changed since the last
 36999  // request. Use googleapi.IsNotModified to check whether the response
 37000  // error from Do is the result of In-None-Match.
 37001  func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
 37002  	c.ifNoneMatch_ = entityTag
 37003  	return c
 37004  }
 37005  
 37006  // Context sets the context to be used in this call's Do method. Any
 37007  // pending HTTP request will be aborted if the provided context is
 37008  // canceled.
 37009  func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
 37010  	c.ctx_ = ctx
 37011  	return c
 37012  }
 37013  
 37014  // Header returns an http.Header that can be modified by the caller to
 37015  // add HTTP headers to the request.
 37016  func (c *OrdersGetCall) Header() http.Header {
 37017  	if c.header_ == nil {
 37018  		c.header_ = make(http.Header)
 37019  	}
 37020  	return c.header_
 37021  }
 37022  
 37023  func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 37024  	reqHeaders := make(http.Header)
 37025  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37026  	for k, v := range c.header_ {
 37027  		reqHeaders[k] = v
 37028  	}
 37029  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37030  	if c.ifNoneMatch_ != "" {
 37031  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37032  	}
 37033  	var body io.Reader = nil
 37034  	c.urlParams_.Set("alt", alt)
 37035  	c.urlParams_.Set("prettyPrint", "false")
 37036  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
 37037  	urls += "?" + c.urlParams_.Encode()
 37038  	req, err := http.NewRequest("GET", urls, body)
 37039  	if err != nil {
 37040  		return nil, err
 37041  	}
 37042  	req.Header = reqHeaders
 37043  	googleapi.Expand(req.URL, map[string]string{
 37044  		"profileId": strconv.FormatInt(c.profileId, 10),
 37045  		"projectId": strconv.FormatInt(c.projectId, 10),
 37046  		"id":        strconv.FormatInt(c.id, 10),
 37047  	})
 37048  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37049  }
 37050  
 37051  // Do executes the "dfareporting.orders.get" call.
 37052  // Exactly one of *Order or error will be non-nil. Any non-2xx status
 37053  // code is an error. Response headers are in either
 37054  // *Order.ServerResponse.Header or (if a response was returned at all)
 37055  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 37056  // check whether the returned error was because http.StatusNotModified
 37057  // was returned.
 37058  func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
 37059  	gensupport.SetOptions(c.urlParams_, opts...)
 37060  	res, err := c.doRequest("json")
 37061  	if res != nil && res.StatusCode == http.StatusNotModified {
 37062  		if res.Body != nil {
 37063  			res.Body.Close()
 37064  		}
 37065  		return nil, &googleapi.Error{
 37066  			Code:   res.StatusCode,
 37067  			Header: res.Header,
 37068  		}
 37069  	}
 37070  	if err != nil {
 37071  		return nil, err
 37072  	}
 37073  	defer googleapi.CloseBody(res)
 37074  	if err := googleapi.CheckResponse(res); err != nil {
 37075  		return nil, err
 37076  	}
 37077  	ret := &Order{
 37078  		ServerResponse: googleapi.ServerResponse{
 37079  			Header:         res.Header,
 37080  			HTTPStatusCode: res.StatusCode,
 37081  		},
 37082  	}
 37083  	target := &ret
 37084  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37085  		return nil, err
 37086  	}
 37087  	return ret, nil
 37088  	// {
 37089  	//   "description": "Gets one order by ID.",
 37090  	//   "httpMethod": "GET",
 37091  	//   "id": "dfareporting.orders.get",
 37092  	//   "parameterOrder": [
 37093  	//     "profileId",
 37094  	//     "projectId",
 37095  	//     "id"
 37096  	//   ],
 37097  	//   "parameters": {
 37098  	//     "id": {
 37099  	//       "description": "Order ID.",
 37100  	//       "format": "int64",
 37101  	//       "location": "path",
 37102  	//       "required": true,
 37103  	//       "type": "string"
 37104  	//     },
 37105  	//     "profileId": {
 37106  	//       "description": "User profile ID associated with this request.",
 37107  	//       "format": "int64",
 37108  	//       "location": "path",
 37109  	//       "required": true,
 37110  	//       "type": "string"
 37111  	//     },
 37112  	//     "projectId": {
 37113  	//       "description": "Project ID for orders.",
 37114  	//       "format": "int64",
 37115  	//       "location": "path",
 37116  	//       "required": true,
 37117  	//       "type": "string"
 37118  	//     }
 37119  	//   },
 37120  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
 37121  	//   "response": {
 37122  	//     "$ref": "Order"
 37123  	//   },
 37124  	//   "scopes": [
 37125  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37126  	//   ]
 37127  	// }
 37128  
 37129  }
 37130  
 37131  // method id "dfareporting.orders.list":
 37132  
 37133  type OrdersListCall struct {
 37134  	s            *Service
 37135  	profileId    int64
 37136  	projectId    int64
 37137  	urlParams_   gensupport.URLParams
 37138  	ifNoneMatch_ string
 37139  	ctx_         context.Context
 37140  	header_      http.Header
 37141  }
 37142  
 37143  // List: Retrieves a list of orders, possibly filtered. This method
 37144  // supports paging.
 37145  func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
 37146  	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37147  	c.profileId = profileId
 37148  	c.projectId = projectId
 37149  	return c
 37150  }
 37151  
 37152  // Ids sets the optional parameter "ids": Select only orders with these
 37153  // IDs.
 37154  func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
 37155  	var ids_ []string
 37156  	for _, v := range ids {
 37157  		ids_ = append(ids_, fmt.Sprint(v))
 37158  	}
 37159  	c.urlParams_.SetMulti("ids", ids_)
 37160  	return c
 37161  }
 37162  
 37163  // MaxResults sets the optional parameter "maxResults": Maximum number
 37164  // of results to return.
 37165  func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
 37166  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 37167  	return c
 37168  }
 37169  
 37170  // PageToken sets the optional parameter "pageToken": Value of the
 37171  // nextPageToken from the previous result page.
 37172  func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
 37173  	c.urlParams_.Set("pageToken", pageToken)
 37174  	return c
 37175  }
 37176  
 37177  // SearchString sets the optional parameter "searchString": Allows
 37178  // searching for orders by name or ID. Wildcards (*) are allowed. For
 37179  // example, "order*2015" will return orders with names like "order June
 37180  // 2015", "order April 2015", or simply "order 2015". Most of the
 37181  // searches also add wildcards implicitly at the start and the end of
 37182  // the search string. For example, a search string of "order" will match
 37183  // orders with name "my order", "order 2015", or simply "order".
 37184  func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
 37185  	c.urlParams_.Set("searchString", searchString)
 37186  	return c
 37187  }
 37188  
 37189  // SiteId sets the optional parameter "siteId": Select only orders that
 37190  // are associated with these site IDs.
 37191  func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
 37192  	var siteId_ []string
 37193  	for _, v := range siteId {
 37194  		siteId_ = append(siteId_, fmt.Sprint(v))
 37195  	}
 37196  	c.urlParams_.SetMulti("siteId", siteId_)
 37197  	return c
 37198  }
 37199  
 37200  // SortField sets the optional parameter "sortField": Field by which to
 37201  // sort the list.
 37202  //
 37203  // Possible values:
 37204  //
 37205  //	"ID" (default)
 37206  //	"NAME"
 37207  func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
 37208  	c.urlParams_.Set("sortField", sortField)
 37209  	return c
 37210  }
 37211  
 37212  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 37213  // results.
 37214  //
 37215  // Possible values:
 37216  //
 37217  //	"ASCENDING" (default)
 37218  //	"DESCENDING"
 37219  func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
 37220  	c.urlParams_.Set("sortOrder", sortOrder)
 37221  	return c
 37222  }
 37223  
 37224  // Fields allows partial responses to be retrieved. See
 37225  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37226  // for more information.
 37227  func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
 37228  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37229  	return c
 37230  }
 37231  
 37232  // IfNoneMatch sets the optional parameter which makes the operation
 37233  // fail if the object's ETag matches the given value. This is useful for
 37234  // getting updates only after the object has changed since the last
 37235  // request. Use googleapi.IsNotModified to check whether the response
 37236  // error from Do is the result of In-None-Match.
 37237  func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
 37238  	c.ifNoneMatch_ = entityTag
 37239  	return c
 37240  }
 37241  
 37242  // Context sets the context to be used in this call's Do method. Any
 37243  // pending HTTP request will be aborted if the provided context is
 37244  // canceled.
 37245  func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
 37246  	c.ctx_ = ctx
 37247  	return c
 37248  }
 37249  
 37250  // Header returns an http.Header that can be modified by the caller to
 37251  // add HTTP headers to the request.
 37252  func (c *OrdersListCall) Header() http.Header {
 37253  	if c.header_ == nil {
 37254  		c.header_ = make(http.Header)
 37255  	}
 37256  	return c.header_
 37257  }
 37258  
 37259  func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 37260  	reqHeaders := make(http.Header)
 37261  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37262  	for k, v := range c.header_ {
 37263  		reqHeaders[k] = v
 37264  	}
 37265  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37266  	if c.ifNoneMatch_ != "" {
 37267  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37268  	}
 37269  	var body io.Reader = nil
 37270  	c.urlParams_.Set("alt", alt)
 37271  	c.urlParams_.Set("prettyPrint", "false")
 37272  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
 37273  	urls += "?" + c.urlParams_.Encode()
 37274  	req, err := http.NewRequest("GET", urls, body)
 37275  	if err != nil {
 37276  		return nil, err
 37277  	}
 37278  	req.Header = reqHeaders
 37279  	googleapi.Expand(req.URL, map[string]string{
 37280  		"profileId": strconv.FormatInt(c.profileId, 10),
 37281  		"projectId": strconv.FormatInt(c.projectId, 10),
 37282  	})
 37283  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37284  }
 37285  
 37286  // Do executes the "dfareporting.orders.list" call.
 37287  // Exactly one of *OrdersListResponse or error will be non-nil. Any
 37288  // non-2xx status code is an error. Response headers are in either
 37289  // *OrdersListResponse.ServerResponse.Header or (if a response was
 37290  // returned at all) in error.(*googleapi.Error).Header. Use
 37291  // googleapi.IsNotModified to check whether the returned error was
 37292  // because http.StatusNotModified was returned.
 37293  func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
 37294  	gensupport.SetOptions(c.urlParams_, opts...)
 37295  	res, err := c.doRequest("json")
 37296  	if res != nil && res.StatusCode == http.StatusNotModified {
 37297  		if res.Body != nil {
 37298  			res.Body.Close()
 37299  		}
 37300  		return nil, &googleapi.Error{
 37301  			Code:   res.StatusCode,
 37302  			Header: res.Header,
 37303  		}
 37304  	}
 37305  	if err != nil {
 37306  		return nil, err
 37307  	}
 37308  	defer googleapi.CloseBody(res)
 37309  	if err := googleapi.CheckResponse(res); err != nil {
 37310  		return nil, err
 37311  	}
 37312  	ret := &OrdersListResponse{
 37313  		ServerResponse: googleapi.ServerResponse{
 37314  			Header:         res.Header,
 37315  			HTTPStatusCode: res.StatusCode,
 37316  		},
 37317  	}
 37318  	target := &ret
 37319  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37320  		return nil, err
 37321  	}
 37322  	return ret, nil
 37323  	// {
 37324  	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
 37325  	//   "httpMethod": "GET",
 37326  	//   "id": "dfareporting.orders.list",
 37327  	//   "parameterOrder": [
 37328  	//     "profileId",
 37329  	//     "projectId"
 37330  	//   ],
 37331  	//   "parameters": {
 37332  	//     "ids": {
 37333  	//       "description": "Select only orders with these IDs.",
 37334  	//       "format": "int64",
 37335  	//       "location": "query",
 37336  	//       "repeated": true,
 37337  	//       "type": "string"
 37338  	//     },
 37339  	//     "maxResults": {
 37340  	//       "default": "1000",
 37341  	//       "description": "Maximum number of results to return.",
 37342  	//       "format": "int32",
 37343  	//       "location": "query",
 37344  	//       "maximum": "1000",
 37345  	//       "minimum": "0",
 37346  	//       "type": "integer"
 37347  	//     },
 37348  	//     "pageToken": {
 37349  	//       "description": "Value of the nextPageToken from the previous result page.",
 37350  	//       "location": "query",
 37351  	//       "type": "string"
 37352  	//     },
 37353  	//     "profileId": {
 37354  	//       "description": "User profile ID associated with this request.",
 37355  	//       "format": "int64",
 37356  	//       "location": "path",
 37357  	//       "required": true,
 37358  	//       "type": "string"
 37359  	//     },
 37360  	//     "projectId": {
 37361  	//       "description": "Project ID for orders.",
 37362  	//       "format": "int64",
 37363  	//       "location": "path",
 37364  	//       "required": true,
 37365  	//       "type": "string"
 37366  	//     },
 37367  	//     "searchString": {
 37368  	//       "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\".",
 37369  	//       "location": "query",
 37370  	//       "type": "string"
 37371  	//     },
 37372  	//     "siteId": {
 37373  	//       "description": "Select only orders that are associated with these site IDs.",
 37374  	//       "format": "int64",
 37375  	//       "location": "query",
 37376  	//       "repeated": true,
 37377  	//       "type": "string"
 37378  	//     },
 37379  	//     "sortField": {
 37380  	//       "default": "ID",
 37381  	//       "description": "Field by which to sort the list.",
 37382  	//       "enum": [
 37383  	//         "ID",
 37384  	//         "NAME"
 37385  	//       ],
 37386  	//       "enumDescriptions": [
 37387  	//         "",
 37388  	//         ""
 37389  	//       ],
 37390  	//       "location": "query",
 37391  	//       "type": "string"
 37392  	//     },
 37393  	//     "sortOrder": {
 37394  	//       "default": "ASCENDING",
 37395  	//       "description": "Order of sorted results.",
 37396  	//       "enum": [
 37397  	//         "ASCENDING",
 37398  	//         "DESCENDING"
 37399  	//       ],
 37400  	//       "enumDescriptions": [
 37401  	//         "",
 37402  	//         ""
 37403  	//       ],
 37404  	//       "location": "query",
 37405  	//       "type": "string"
 37406  	//     }
 37407  	//   },
 37408  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
 37409  	//   "response": {
 37410  	//     "$ref": "OrdersListResponse"
 37411  	//   },
 37412  	//   "scopes": [
 37413  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37414  	//   ]
 37415  	// }
 37416  
 37417  }
 37418  
 37419  // Pages invokes f for each page of results.
 37420  // A non-nil error returned from f will halt the iteration.
 37421  // The provided context supersedes any context provided to the Context method.
 37422  func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
 37423  	c.ctx_ = ctx
 37424  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 37425  	for {
 37426  		x, err := c.Do()
 37427  		if err != nil {
 37428  			return err
 37429  		}
 37430  		if err := f(x); err != nil {
 37431  			return err
 37432  		}
 37433  		if x.NextPageToken == "" {
 37434  			return nil
 37435  		}
 37436  		c.PageToken(x.NextPageToken)
 37437  	}
 37438  }
 37439  
 37440  // method id "dfareporting.placementGroups.get":
 37441  
 37442  type PlacementGroupsGetCall struct {
 37443  	s            *Service
 37444  	profileId    int64
 37445  	id           int64
 37446  	urlParams_   gensupport.URLParams
 37447  	ifNoneMatch_ string
 37448  	ctx_         context.Context
 37449  	header_      http.Header
 37450  }
 37451  
 37452  // Get: Gets one placement group by ID.
 37453  func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
 37454  	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37455  	c.profileId = profileId
 37456  	c.id = id
 37457  	return c
 37458  }
 37459  
 37460  // Fields allows partial responses to be retrieved. See
 37461  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37462  // for more information.
 37463  func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
 37464  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37465  	return c
 37466  }
 37467  
 37468  // IfNoneMatch sets the optional parameter which makes the operation
 37469  // fail if the object's ETag matches the given value. This is useful for
 37470  // getting updates only after the object has changed since the last
 37471  // request. Use googleapi.IsNotModified to check whether the response
 37472  // error from Do is the result of In-None-Match.
 37473  func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
 37474  	c.ifNoneMatch_ = entityTag
 37475  	return c
 37476  }
 37477  
 37478  // Context sets the context to be used in this call's Do method. Any
 37479  // pending HTTP request will be aborted if the provided context is
 37480  // canceled.
 37481  func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
 37482  	c.ctx_ = ctx
 37483  	return c
 37484  }
 37485  
 37486  // Header returns an http.Header that can be modified by the caller to
 37487  // add HTTP headers to the request.
 37488  func (c *PlacementGroupsGetCall) Header() http.Header {
 37489  	if c.header_ == nil {
 37490  		c.header_ = make(http.Header)
 37491  	}
 37492  	return c.header_
 37493  }
 37494  
 37495  func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 37496  	reqHeaders := make(http.Header)
 37497  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37498  	for k, v := range c.header_ {
 37499  		reqHeaders[k] = v
 37500  	}
 37501  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37502  	if c.ifNoneMatch_ != "" {
 37503  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37504  	}
 37505  	var body io.Reader = nil
 37506  	c.urlParams_.Set("alt", alt)
 37507  	c.urlParams_.Set("prettyPrint", "false")
 37508  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
 37509  	urls += "?" + c.urlParams_.Encode()
 37510  	req, err := http.NewRequest("GET", urls, body)
 37511  	if err != nil {
 37512  		return nil, err
 37513  	}
 37514  	req.Header = reqHeaders
 37515  	googleapi.Expand(req.URL, map[string]string{
 37516  		"profileId": strconv.FormatInt(c.profileId, 10),
 37517  		"id":        strconv.FormatInt(c.id, 10),
 37518  	})
 37519  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37520  }
 37521  
 37522  // Do executes the "dfareporting.placementGroups.get" call.
 37523  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 37524  // status code is an error. Response headers are in either
 37525  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 37526  // at all) in error.(*googleapi.Error).Header. Use
 37527  // googleapi.IsNotModified to check whether the returned error was
 37528  // because http.StatusNotModified was returned.
 37529  func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 37530  	gensupport.SetOptions(c.urlParams_, opts...)
 37531  	res, err := c.doRequest("json")
 37532  	if res != nil && res.StatusCode == http.StatusNotModified {
 37533  		if res.Body != nil {
 37534  			res.Body.Close()
 37535  		}
 37536  		return nil, &googleapi.Error{
 37537  			Code:   res.StatusCode,
 37538  			Header: res.Header,
 37539  		}
 37540  	}
 37541  	if err != nil {
 37542  		return nil, err
 37543  	}
 37544  	defer googleapi.CloseBody(res)
 37545  	if err := googleapi.CheckResponse(res); err != nil {
 37546  		return nil, err
 37547  	}
 37548  	ret := &PlacementGroup{
 37549  		ServerResponse: googleapi.ServerResponse{
 37550  			Header:         res.Header,
 37551  			HTTPStatusCode: res.StatusCode,
 37552  		},
 37553  	}
 37554  	target := &ret
 37555  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37556  		return nil, err
 37557  	}
 37558  	return ret, nil
 37559  	// {
 37560  	//   "description": "Gets one placement group by ID.",
 37561  	//   "httpMethod": "GET",
 37562  	//   "id": "dfareporting.placementGroups.get",
 37563  	//   "parameterOrder": [
 37564  	//     "profileId",
 37565  	//     "id"
 37566  	//   ],
 37567  	//   "parameters": {
 37568  	//     "id": {
 37569  	//       "description": "Placement group ID.",
 37570  	//       "format": "int64",
 37571  	//       "location": "path",
 37572  	//       "required": true,
 37573  	//       "type": "string"
 37574  	//     },
 37575  	//     "profileId": {
 37576  	//       "description": "User profile ID associated with this request.",
 37577  	//       "format": "int64",
 37578  	//       "location": "path",
 37579  	//       "required": true,
 37580  	//       "type": "string"
 37581  	//     }
 37582  	//   },
 37583  	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
 37584  	//   "response": {
 37585  	//     "$ref": "PlacementGroup"
 37586  	//   },
 37587  	//   "scopes": [
 37588  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37589  	//   ]
 37590  	// }
 37591  
 37592  }
 37593  
 37594  // method id "dfareporting.placementGroups.insert":
 37595  
 37596  type PlacementGroupsInsertCall struct {
 37597  	s              *Service
 37598  	profileId      int64
 37599  	placementgroup *PlacementGroup
 37600  	urlParams_     gensupport.URLParams
 37601  	ctx_           context.Context
 37602  	header_        http.Header
 37603  }
 37604  
 37605  // Insert: Inserts a new placement group.
 37606  func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
 37607  	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37608  	c.profileId = profileId
 37609  	c.placementgroup = placementgroup
 37610  	return c
 37611  }
 37612  
 37613  // Fields allows partial responses to be retrieved. See
 37614  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37615  // for more information.
 37616  func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
 37617  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37618  	return c
 37619  }
 37620  
 37621  // Context sets the context to be used in this call's Do method. Any
 37622  // pending HTTP request will be aborted if the provided context is
 37623  // canceled.
 37624  func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
 37625  	c.ctx_ = ctx
 37626  	return c
 37627  }
 37628  
 37629  // Header returns an http.Header that can be modified by the caller to
 37630  // add HTTP headers to the request.
 37631  func (c *PlacementGroupsInsertCall) Header() http.Header {
 37632  	if c.header_ == nil {
 37633  		c.header_ = make(http.Header)
 37634  	}
 37635  	return c.header_
 37636  }
 37637  
 37638  func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 37639  	reqHeaders := make(http.Header)
 37640  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37641  	for k, v := range c.header_ {
 37642  		reqHeaders[k] = v
 37643  	}
 37644  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37645  	var body io.Reader = nil
 37646  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 37647  	if err != nil {
 37648  		return nil, err
 37649  	}
 37650  	reqHeaders.Set("Content-Type", "application/json")
 37651  	c.urlParams_.Set("alt", alt)
 37652  	c.urlParams_.Set("prettyPrint", "false")
 37653  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 37654  	urls += "?" + c.urlParams_.Encode()
 37655  	req, err := http.NewRequest("POST", urls, body)
 37656  	if err != nil {
 37657  		return nil, err
 37658  	}
 37659  	req.Header = reqHeaders
 37660  	googleapi.Expand(req.URL, map[string]string{
 37661  		"profileId": strconv.FormatInt(c.profileId, 10),
 37662  	})
 37663  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37664  }
 37665  
 37666  // Do executes the "dfareporting.placementGroups.insert" call.
 37667  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 37668  // status code is an error. Response headers are in either
 37669  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 37670  // at all) in error.(*googleapi.Error).Header. Use
 37671  // googleapi.IsNotModified to check whether the returned error was
 37672  // because http.StatusNotModified was returned.
 37673  func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 37674  	gensupport.SetOptions(c.urlParams_, opts...)
 37675  	res, err := c.doRequest("json")
 37676  	if res != nil && res.StatusCode == http.StatusNotModified {
 37677  		if res.Body != nil {
 37678  			res.Body.Close()
 37679  		}
 37680  		return nil, &googleapi.Error{
 37681  			Code:   res.StatusCode,
 37682  			Header: res.Header,
 37683  		}
 37684  	}
 37685  	if err != nil {
 37686  		return nil, err
 37687  	}
 37688  	defer googleapi.CloseBody(res)
 37689  	if err := googleapi.CheckResponse(res); err != nil {
 37690  		return nil, err
 37691  	}
 37692  	ret := &PlacementGroup{
 37693  		ServerResponse: googleapi.ServerResponse{
 37694  			Header:         res.Header,
 37695  			HTTPStatusCode: res.StatusCode,
 37696  		},
 37697  	}
 37698  	target := &ret
 37699  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37700  		return nil, err
 37701  	}
 37702  	return ret, nil
 37703  	// {
 37704  	//   "description": "Inserts a new placement group.",
 37705  	//   "httpMethod": "POST",
 37706  	//   "id": "dfareporting.placementGroups.insert",
 37707  	//   "parameterOrder": [
 37708  	//     "profileId"
 37709  	//   ],
 37710  	//   "parameters": {
 37711  	//     "profileId": {
 37712  	//       "description": "User profile ID associated with this request.",
 37713  	//       "format": "int64",
 37714  	//       "location": "path",
 37715  	//       "required": true,
 37716  	//       "type": "string"
 37717  	//     }
 37718  	//   },
 37719  	//   "path": "userprofiles/{profileId}/placementGroups",
 37720  	//   "request": {
 37721  	//     "$ref": "PlacementGroup"
 37722  	//   },
 37723  	//   "response": {
 37724  	//     "$ref": "PlacementGroup"
 37725  	//   },
 37726  	//   "scopes": [
 37727  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37728  	//   ]
 37729  	// }
 37730  
 37731  }
 37732  
 37733  // method id "dfareporting.placementGroups.list":
 37734  
 37735  type PlacementGroupsListCall struct {
 37736  	s            *Service
 37737  	profileId    int64
 37738  	urlParams_   gensupport.URLParams
 37739  	ifNoneMatch_ string
 37740  	ctx_         context.Context
 37741  	header_      http.Header
 37742  }
 37743  
 37744  // List: Retrieves a list of placement groups, possibly filtered. This
 37745  // method supports paging.
 37746  func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
 37747  	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37748  	c.profileId = profileId
 37749  	return c
 37750  }
 37751  
 37752  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 37753  // only placement groups that belong to these advertisers.
 37754  func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
 37755  	var advertiserIds_ []string
 37756  	for _, v := range advertiserIds {
 37757  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 37758  	}
 37759  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 37760  	return c
 37761  }
 37762  
 37763  // Archived sets the optional parameter "archived": Select only archived
 37764  // placements. Don't set this field to select both archived and
 37765  // non-archived placements.
 37766  func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
 37767  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 37768  	return c
 37769  }
 37770  
 37771  // CampaignIds sets the optional parameter "campaignIds": Select only
 37772  // placement groups that belong to these campaigns.
 37773  func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
 37774  	var campaignIds_ []string
 37775  	for _, v := range campaignIds {
 37776  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 37777  	}
 37778  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 37779  	return c
 37780  }
 37781  
 37782  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 37783  // Select only placement groups that are associated with these content
 37784  // categories.
 37785  func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
 37786  	var contentCategoryIds_ []string
 37787  	for _, v := range contentCategoryIds {
 37788  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 37789  	}
 37790  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 37791  	return c
 37792  }
 37793  
 37794  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 37795  // Select only placement groups that are associated with these directory
 37796  // sites.
 37797  func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
 37798  	var directorySiteIds_ []string
 37799  	for _, v := range directorySiteIds {
 37800  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 37801  	}
 37802  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 37803  	return c
 37804  }
 37805  
 37806  // Ids sets the optional parameter "ids": Select only placement groups
 37807  // with these IDs.
 37808  func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
 37809  	var ids_ []string
 37810  	for _, v := range ids {
 37811  		ids_ = append(ids_, fmt.Sprint(v))
 37812  	}
 37813  	c.urlParams_.SetMulti("ids", ids_)
 37814  	return c
 37815  }
 37816  
 37817  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 37818  // placements or placement groups whose end date is on or before the
 37819  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 37820  func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
 37821  	c.urlParams_.Set("maxEndDate", maxEndDate)
 37822  	return c
 37823  }
 37824  
 37825  // MaxResults sets the optional parameter "maxResults": Maximum number
 37826  // of results to return.
 37827  func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
 37828  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 37829  	return c
 37830  }
 37831  
 37832  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 37833  // placements or placement groups whose start date is on or before the
 37834  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 37835  func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
 37836  	c.urlParams_.Set("maxStartDate", maxStartDate)
 37837  	return c
 37838  }
 37839  
 37840  // MinEndDate sets the optional parameter "minEndDate": Select only
 37841  // placements or placement groups whose end date is on or after the
 37842  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 37843  func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
 37844  	c.urlParams_.Set("minEndDate", minEndDate)
 37845  	return c
 37846  }
 37847  
 37848  // MinStartDate sets the optional parameter "minStartDate": Select only
 37849  // placements or placement groups whose start date is on or after the
 37850  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 37851  func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
 37852  	c.urlParams_.Set("minStartDate", minStartDate)
 37853  	return c
 37854  }
 37855  
 37856  // PageToken sets the optional parameter "pageToken": Value of the
 37857  // nextPageToken from the previous result page.
 37858  func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
 37859  	c.urlParams_.Set("pageToken", pageToken)
 37860  	return c
 37861  }
 37862  
 37863  // PlacementGroupType sets the optional parameter "placementGroupType":
 37864  // Select only placement groups belonging with this group type. A
 37865  // package is a simple group of placements that acts as a single pricing
 37866  // point for a group of tags. A roadblock is a group of placements that
 37867  // not only acts as a single pricing point but also assumes that all the
 37868  // tags in it will be served at the same time. A roadblock requires one
 37869  // of its assigned placements to be marked as primary for reporting.
 37870  //
 37871  // Possible values:
 37872  //
 37873  //	"PLACEMENT_PACKAGE"
 37874  //	"PLACEMENT_ROADBLOCK"
 37875  func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
 37876  	c.urlParams_.Set("placementGroupType", placementGroupType)
 37877  	return c
 37878  }
 37879  
 37880  // PlacementStrategyIds sets the optional parameter
 37881  // "placementStrategyIds": Select only placement groups that are
 37882  // associated with these placement strategies.
 37883  func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
 37884  	var placementStrategyIds_ []string
 37885  	for _, v := range placementStrategyIds {
 37886  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 37887  	}
 37888  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 37889  	return c
 37890  }
 37891  
 37892  // PricingTypes sets the optional parameter "pricingTypes": Select only
 37893  // placement groups with these pricing types.
 37894  //
 37895  // Possible values:
 37896  //
 37897  //	"PRICING_TYPE_CPA"
 37898  //	"PRICING_TYPE_CPC"
 37899  //	"PRICING_TYPE_CPM"
 37900  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 37901  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 37902  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 37903  func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
 37904  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 37905  	return c
 37906  }
 37907  
 37908  // SearchString sets the optional parameter "searchString": Allows
 37909  // searching for placement groups by name or ID. Wildcards (*) are
 37910  // allowed. For example, "placement*2015" will return placement groups
 37911  // with names like "placement group June 2015", "placement group May
 37912  // 2015", or simply "placements 2015". Most of the searches also add
 37913  // wildcards implicitly at the start and the end of the search string.
 37914  // For example, a search string of "placementgroup" will match placement
 37915  // groups with name "my placementgroup", "placementgroup 2015", or
 37916  // simply "placementgroup".
 37917  func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
 37918  	c.urlParams_.Set("searchString", searchString)
 37919  	return c
 37920  }
 37921  
 37922  // SiteIds sets the optional parameter "siteIds": Select only placement
 37923  // groups that are associated with these sites.
 37924  func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
 37925  	var siteIds_ []string
 37926  	for _, v := range siteIds {
 37927  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 37928  	}
 37929  	c.urlParams_.SetMulti("siteIds", siteIds_)
 37930  	return c
 37931  }
 37932  
 37933  // SortField sets the optional parameter "sortField": Field by which to
 37934  // sort the list.
 37935  //
 37936  // Possible values:
 37937  //
 37938  //	"ID" (default)
 37939  //	"NAME"
 37940  func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
 37941  	c.urlParams_.Set("sortField", sortField)
 37942  	return c
 37943  }
 37944  
 37945  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 37946  // results.
 37947  //
 37948  // Possible values:
 37949  //
 37950  //	"ASCENDING" (default)
 37951  //	"DESCENDING"
 37952  func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
 37953  	c.urlParams_.Set("sortOrder", sortOrder)
 37954  	return c
 37955  }
 37956  
 37957  // Fields allows partial responses to be retrieved. See
 37958  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37959  // for more information.
 37960  func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
 37961  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37962  	return c
 37963  }
 37964  
 37965  // IfNoneMatch sets the optional parameter which makes the operation
 37966  // fail if the object's ETag matches the given value. This is useful for
 37967  // getting updates only after the object has changed since the last
 37968  // request. Use googleapi.IsNotModified to check whether the response
 37969  // error from Do is the result of In-None-Match.
 37970  func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
 37971  	c.ifNoneMatch_ = entityTag
 37972  	return c
 37973  }
 37974  
 37975  // Context sets the context to be used in this call's Do method. Any
 37976  // pending HTTP request will be aborted if the provided context is
 37977  // canceled.
 37978  func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
 37979  	c.ctx_ = ctx
 37980  	return c
 37981  }
 37982  
 37983  // Header returns an http.Header that can be modified by the caller to
 37984  // add HTTP headers to the request.
 37985  func (c *PlacementGroupsListCall) Header() http.Header {
 37986  	if c.header_ == nil {
 37987  		c.header_ = make(http.Header)
 37988  	}
 37989  	return c.header_
 37990  }
 37991  
 37992  func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 37993  	reqHeaders := make(http.Header)
 37994  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37995  	for k, v := range c.header_ {
 37996  		reqHeaders[k] = v
 37997  	}
 37998  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37999  	if c.ifNoneMatch_ != "" {
 38000  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38001  	}
 38002  	var body io.Reader = nil
 38003  	c.urlParams_.Set("alt", alt)
 38004  	c.urlParams_.Set("prettyPrint", "false")
 38005  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38006  	urls += "?" + c.urlParams_.Encode()
 38007  	req, err := http.NewRequest("GET", urls, body)
 38008  	if err != nil {
 38009  		return nil, err
 38010  	}
 38011  	req.Header = reqHeaders
 38012  	googleapi.Expand(req.URL, map[string]string{
 38013  		"profileId": strconv.FormatInt(c.profileId, 10),
 38014  	})
 38015  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38016  }
 38017  
 38018  // Do executes the "dfareporting.placementGroups.list" call.
 38019  // Exactly one of *PlacementGroupsListResponse or error will be non-nil.
 38020  // Any non-2xx status code is an error. Response headers are in either
 38021  // *PlacementGroupsListResponse.ServerResponse.Header or (if a response
 38022  // was returned at all) in error.(*googleapi.Error).Header. Use
 38023  // googleapi.IsNotModified to check whether the returned error was
 38024  // because http.StatusNotModified was returned.
 38025  func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
 38026  	gensupport.SetOptions(c.urlParams_, opts...)
 38027  	res, err := c.doRequest("json")
 38028  	if res != nil && res.StatusCode == http.StatusNotModified {
 38029  		if res.Body != nil {
 38030  			res.Body.Close()
 38031  		}
 38032  		return nil, &googleapi.Error{
 38033  			Code:   res.StatusCode,
 38034  			Header: res.Header,
 38035  		}
 38036  	}
 38037  	if err != nil {
 38038  		return nil, err
 38039  	}
 38040  	defer googleapi.CloseBody(res)
 38041  	if err := googleapi.CheckResponse(res); err != nil {
 38042  		return nil, err
 38043  	}
 38044  	ret := &PlacementGroupsListResponse{
 38045  		ServerResponse: googleapi.ServerResponse{
 38046  			Header:         res.Header,
 38047  			HTTPStatusCode: res.StatusCode,
 38048  		},
 38049  	}
 38050  	target := &ret
 38051  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38052  		return nil, err
 38053  	}
 38054  	return ret, nil
 38055  	// {
 38056  	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
 38057  	//   "httpMethod": "GET",
 38058  	//   "id": "dfareporting.placementGroups.list",
 38059  	//   "parameterOrder": [
 38060  	//     "profileId"
 38061  	//   ],
 38062  	//   "parameters": {
 38063  	//     "advertiserIds": {
 38064  	//       "description": "Select only placement groups that belong to these advertisers.",
 38065  	//       "format": "int64",
 38066  	//       "location": "query",
 38067  	//       "repeated": true,
 38068  	//       "type": "string"
 38069  	//     },
 38070  	//     "archived": {
 38071  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 38072  	//       "location": "query",
 38073  	//       "type": "boolean"
 38074  	//     },
 38075  	//     "campaignIds": {
 38076  	//       "description": "Select only placement groups that belong to these campaigns.",
 38077  	//       "format": "int64",
 38078  	//       "location": "query",
 38079  	//       "repeated": true,
 38080  	//       "type": "string"
 38081  	//     },
 38082  	//     "contentCategoryIds": {
 38083  	//       "description": "Select only placement groups that are associated with these content categories.",
 38084  	//       "format": "int64",
 38085  	//       "location": "query",
 38086  	//       "repeated": true,
 38087  	//       "type": "string"
 38088  	//     },
 38089  	//     "directorySiteIds": {
 38090  	//       "description": "Select only placement groups that are associated with these directory sites.",
 38091  	//       "format": "int64",
 38092  	//       "location": "query",
 38093  	//       "repeated": true,
 38094  	//       "type": "string"
 38095  	//     },
 38096  	//     "ids": {
 38097  	//       "description": "Select only placement groups with these IDs.",
 38098  	//       "format": "int64",
 38099  	//       "location": "query",
 38100  	//       "repeated": true,
 38101  	//       "type": "string"
 38102  	//     },
 38103  	//     "maxEndDate": {
 38104  	//       "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\".",
 38105  	//       "location": "query",
 38106  	//       "type": "string"
 38107  	//     },
 38108  	//     "maxResults": {
 38109  	//       "default": "800",
 38110  	//       "description": "Maximum number of results to return.",
 38111  	//       "format": "int32",
 38112  	//       "location": "query",
 38113  	//       "maximum": "800",
 38114  	//       "minimum": "0",
 38115  	//       "type": "integer"
 38116  	//     },
 38117  	//     "maxStartDate": {
 38118  	//       "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\".",
 38119  	//       "location": "query",
 38120  	//       "type": "string"
 38121  	//     },
 38122  	//     "minEndDate": {
 38123  	//       "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\".",
 38124  	//       "location": "query",
 38125  	//       "type": "string"
 38126  	//     },
 38127  	//     "minStartDate": {
 38128  	//       "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\".",
 38129  	//       "location": "query",
 38130  	//       "type": "string"
 38131  	//     },
 38132  	//     "pageToken": {
 38133  	//       "description": "Value of the nextPageToken from the previous result page.",
 38134  	//       "location": "query",
 38135  	//       "type": "string"
 38136  	//     },
 38137  	//     "placementGroupType": {
 38138  	//       "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.",
 38139  	//       "enum": [
 38140  	//         "PLACEMENT_PACKAGE",
 38141  	//         "PLACEMENT_ROADBLOCK"
 38142  	//       ],
 38143  	//       "enumDescriptions": [
 38144  	//         "",
 38145  	//         ""
 38146  	//       ],
 38147  	//       "location": "query",
 38148  	//       "type": "string"
 38149  	//     },
 38150  	//     "placementStrategyIds": {
 38151  	//       "description": "Select only placement groups that are associated with these placement strategies.",
 38152  	//       "format": "int64",
 38153  	//       "location": "query",
 38154  	//       "repeated": true,
 38155  	//       "type": "string"
 38156  	//     },
 38157  	//     "pricingTypes": {
 38158  	//       "description": "Select only placement groups with these pricing types.",
 38159  	//       "enum": [
 38160  	//         "PRICING_TYPE_CPA",
 38161  	//         "PRICING_TYPE_CPC",
 38162  	//         "PRICING_TYPE_CPM",
 38163  	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
 38164  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 38165  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 38166  	//       ],
 38167  	//       "enumDescriptions": [
 38168  	//         "",
 38169  	//         "",
 38170  	//         "",
 38171  	//         "",
 38172  	//         "",
 38173  	//         ""
 38174  	//       ],
 38175  	//       "location": "query",
 38176  	//       "repeated": true,
 38177  	//       "type": "string"
 38178  	//     },
 38179  	//     "profileId": {
 38180  	//       "description": "User profile ID associated with this request.",
 38181  	//       "format": "int64",
 38182  	//       "location": "path",
 38183  	//       "required": true,
 38184  	//       "type": "string"
 38185  	//     },
 38186  	//     "searchString": {
 38187  	//       "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\".",
 38188  	//       "location": "query",
 38189  	//       "type": "string"
 38190  	//     },
 38191  	//     "siteIds": {
 38192  	//       "description": "Select only placement groups that are associated with these sites.",
 38193  	//       "format": "int64",
 38194  	//       "location": "query",
 38195  	//       "repeated": true,
 38196  	//       "type": "string"
 38197  	//     },
 38198  	//     "sortField": {
 38199  	//       "default": "ID",
 38200  	//       "description": "Field by which to sort the list.",
 38201  	//       "enum": [
 38202  	//         "ID",
 38203  	//         "NAME"
 38204  	//       ],
 38205  	//       "enumDescriptions": [
 38206  	//         "",
 38207  	//         ""
 38208  	//       ],
 38209  	//       "location": "query",
 38210  	//       "type": "string"
 38211  	//     },
 38212  	//     "sortOrder": {
 38213  	//       "default": "ASCENDING",
 38214  	//       "description": "Order of sorted results.",
 38215  	//       "enum": [
 38216  	//         "ASCENDING",
 38217  	//         "DESCENDING"
 38218  	//       ],
 38219  	//       "enumDescriptions": [
 38220  	//         "",
 38221  	//         ""
 38222  	//       ],
 38223  	//       "location": "query",
 38224  	//       "type": "string"
 38225  	//     }
 38226  	//   },
 38227  	//   "path": "userprofiles/{profileId}/placementGroups",
 38228  	//   "response": {
 38229  	//     "$ref": "PlacementGroupsListResponse"
 38230  	//   },
 38231  	//   "scopes": [
 38232  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38233  	//   ]
 38234  	// }
 38235  
 38236  }
 38237  
 38238  // Pages invokes f for each page of results.
 38239  // A non-nil error returned from f will halt the iteration.
 38240  // The provided context supersedes any context provided to the Context method.
 38241  func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
 38242  	c.ctx_ = ctx
 38243  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 38244  	for {
 38245  		x, err := c.Do()
 38246  		if err != nil {
 38247  			return err
 38248  		}
 38249  		if err := f(x); err != nil {
 38250  			return err
 38251  		}
 38252  		if x.NextPageToken == "" {
 38253  			return nil
 38254  		}
 38255  		c.PageToken(x.NextPageToken)
 38256  	}
 38257  }
 38258  
 38259  // method id "dfareporting.placementGroups.patch":
 38260  
 38261  type PlacementGroupsPatchCall struct {
 38262  	s              *Service
 38263  	profileId      int64
 38264  	placementgroup *PlacementGroup
 38265  	urlParams_     gensupport.URLParams
 38266  	ctx_           context.Context
 38267  	header_        http.Header
 38268  }
 38269  
 38270  // Patch: Updates an existing placement group. This method supports
 38271  // patch semantics.
 38272  func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
 38273  	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38274  	c.profileId = profileId
 38275  	c.urlParams_.Set("id", fmt.Sprint(id))
 38276  	c.placementgroup = placementgroup
 38277  	return c
 38278  }
 38279  
 38280  // Fields allows partial responses to be retrieved. See
 38281  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38282  // for more information.
 38283  func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
 38284  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38285  	return c
 38286  }
 38287  
 38288  // Context sets the context to be used in this call's Do method. Any
 38289  // pending HTTP request will be aborted if the provided context is
 38290  // canceled.
 38291  func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
 38292  	c.ctx_ = ctx
 38293  	return c
 38294  }
 38295  
 38296  // Header returns an http.Header that can be modified by the caller to
 38297  // add HTTP headers to the request.
 38298  func (c *PlacementGroupsPatchCall) Header() http.Header {
 38299  	if c.header_ == nil {
 38300  		c.header_ = make(http.Header)
 38301  	}
 38302  	return c.header_
 38303  }
 38304  
 38305  func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 38306  	reqHeaders := make(http.Header)
 38307  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38308  	for k, v := range c.header_ {
 38309  		reqHeaders[k] = v
 38310  	}
 38311  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38312  	var body io.Reader = nil
 38313  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 38314  	if err != nil {
 38315  		return nil, err
 38316  	}
 38317  	reqHeaders.Set("Content-Type", "application/json")
 38318  	c.urlParams_.Set("alt", alt)
 38319  	c.urlParams_.Set("prettyPrint", "false")
 38320  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38321  	urls += "?" + c.urlParams_.Encode()
 38322  	req, err := http.NewRequest("PATCH", urls, body)
 38323  	if err != nil {
 38324  		return nil, err
 38325  	}
 38326  	req.Header = reqHeaders
 38327  	googleapi.Expand(req.URL, map[string]string{
 38328  		"profileId": strconv.FormatInt(c.profileId, 10),
 38329  	})
 38330  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38331  }
 38332  
 38333  // Do executes the "dfareporting.placementGroups.patch" call.
 38334  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38335  // status code is an error. Response headers are in either
 38336  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38337  // at all) in error.(*googleapi.Error).Header. Use
 38338  // googleapi.IsNotModified to check whether the returned error was
 38339  // because http.StatusNotModified was returned.
 38340  func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38341  	gensupport.SetOptions(c.urlParams_, opts...)
 38342  	res, err := c.doRequest("json")
 38343  	if res != nil && res.StatusCode == http.StatusNotModified {
 38344  		if res.Body != nil {
 38345  			res.Body.Close()
 38346  		}
 38347  		return nil, &googleapi.Error{
 38348  			Code:   res.StatusCode,
 38349  			Header: res.Header,
 38350  		}
 38351  	}
 38352  	if err != nil {
 38353  		return nil, err
 38354  	}
 38355  	defer googleapi.CloseBody(res)
 38356  	if err := googleapi.CheckResponse(res); err != nil {
 38357  		return nil, err
 38358  	}
 38359  	ret := &PlacementGroup{
 38360  		ServerResponse: googleapi.ServerResponse{
 38361  			Header:         res.Header,
 38362  			HTTPStatusCode: res.StatusCode,
 38363  		},
 38364  	}
 38365  	target := &ret
 38366  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38367  		return nil, err
 38368  	}
 38369  	return ret, nil
 38370  	// {
 38371  	//   "description": "Updates an existing placement group. This method supports patch semantics.",
 38372  	//   "httpMethod": "PATCH",
 38373  	//   "id": "dfareporting.placementGroups.patch",
 38374  	//   "parameterOrder": [
 38375  	//     "profileId",
 38376  	//     "id"
 38377  	//   ],
 38378  	//   "parameters": {
 38379  	//     "id": {
 38380  	//       "description": "Placement group ID.",
 38381  	//       "format": "int64",
 38382  	//       "location": "query",
 38383  	//       "required": true,
 38384  	//       "type": "string"
 38385  	//     },
 38386  	//     "profileId": {
 38387  	//       "description": "User profile ID associated with this request.",
 38388  	//       "format": "int64",
 38389  	//       "location": "path",
 38390  	//       "required": true,
 38391  	//       "type": "string"
 38392  	//     }
 38393  	//   },
 38394  	//   "path": "userprofiles/{profileId}/placementGroups",
 38395  	//   "request": {
 38396  	//     "$ref": "PlacementGroup"
 38397  	//   },
 38398  	//   "response": {
 38399  	//     "$ref": "PlacementGroup"
 38400  	//   },
 38401  	//   "scopes": [
 38402  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38403  	//   ]
 38404  	// }
 38405  
 38406  }
 38407  
 38408  // method id "dfareporting.placementGroups.update":
 38409  
 38410  type PlacementGroupsUpdateCall struct {
 38411  	s              *Service
 38412  	profileId      int64
 38413  	placementgroup *PlacementGroup
 38414  	urlParams_     gensupport.URLParams
 38415  	ctx_           context.Context
 38416  	header_        http.Header
 38417  }
 38418  
 38419  // Update: Updates an existing placement group.
 38420  func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
 38421  	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38422  	c.profileId = profileId
 38423  	c.placementgroup = placementgroup
 38424  	return c
 38425  }
 38426  
 38427  // Fields allows partial responses to be retrieved. See
 38428  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38429  // for more information.
 38430  func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
 38431  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38432  	return c
 38433  }
 38434  
 38435  // Context sets the context to be used in this call's Do method. Any
 38436  // pending HTTP request will be aborted if the provided context is
 38437  // canceled.
 38438  func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
 38439  	c.ctx_ = ctx
 38440  	return c
 38441  }
 38442  
 38443  // Header returns an http.Header that can be modified by the caller to
 38444  // add HTTP headers to the request.
 38445  func (c *PlacementGroupsUpdateCall) Header() http.Header {
 38446  	if c.header_ == nil {
 38447  		c.header_ = make(http.Header)
 38448  	}
 38449  	return c.header_
 38450  }
 38451  
 38452  func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 38453  	reqHeaders := make(http.Header)
 38454  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38455  	for k, v := range c.header_ {
 38456  		reqHeaders[k] = v
 38457  	}
 38458  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38459  	var body io.Reader = nil
 38460  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 38461  	if err != nil {
 38462  		return nil, err
 38463  	}
 38464  	reqHeaders.Set("Content-Type", "application/json")
 38465  	c.urlParams_.Set("alt", alt)
 38466  	c.urlParams_.Set("prettyPrint", "false")
 38467  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38468  	urls += "?" + c.urlParams_.Encode()
 38469  	req, err := http.NewRequest("PUT", urls, body)
 38470  	if err != nil {
 38471  		return nil, err
 38472  	}
 38473  	req.Header = reqHeaders
 38474  	googleapi.Expand(req.URL, map[string]string{
 38475  		"profileId": strconv.FormatInt(c.profileId, 10),
 38476  	})
 38477  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38478  }
 38479  
 38480  // Do executes the "dfareporting.placementGroups.update" call.
 38481  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38482  // status code is an error. Response headers are in either
 38483  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38484  // at all) in error.(*googleapi.Error).Header. Use
 38485  // googleapi.IsNotModified to check whether the returned error was
 38486  // because http.StatusNotModified was returned.
 38487  func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38488  	gensupport.SetOptions(c.urlParams_, opts...)
 38489  	res, err := c.doRequest("json")
 38490  	if res != nil && res.StatusCode == http.StatusNotModified {
 38491  		if res.Body != nil {
 38492  			res.Body.Close()
 38493  		}
 38494  		return nil, &googleapi.Error{
 38495  			Code:   res.StatusCode,
 38496  			Header: res.Header,
 38497  		}
 38498  	}
 38499  	if err != nil {
 38500  		return nil, err
 38501  	}
 38502  	defer googleapi.CloseBody(res)
 38503  	if err := googleapi.CheckResponse(res); err != nil {
 38504  		return nil, err
 38505  	}
 38506  	ret := &PlacementGroup{
 38507  		ServerResponse: googleapi.ServerResponse{
 38508  			Header:         res.Header,
 38509  			HTTPStatusCode: res.StatusCode,
 38510  		},
 38511  	}
 38512  	target := &ret
 38513  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38514  		return nil, err
 38515  	}
 38516  	return ret, nil
 38517  	// {
 38518  	//   "description": "Updates an existing placement group.",
 38519  	//   "httpMethod": "PUT",
 38520  	//   "id": "dfareporting.placementGroups.update",
 38521  	//   "parameterOrder": [
 38522  	//     "profileId"
 38523  	//   ],
 38524  	//   "parameters": {
 38525  	//     "profileId": {
 38526  	//       "description": "User profile ID associated with this request.",
 38527  	//       "format": "int64",
 38528  	//       "location": "path",
 38529  	//       "required": true,
 38530  	//       "type": "string"
 38531  	//     }
 38532  	//   },
 38533  	//   "path": "userprofiles/{profileId}/placementGroups",
 38534  	//   "request": {
 38535  	//     "$ref": "PlacementGroup"
 38536  	//   },
 38537  	//   "response": {
 38538  	//     "$ref": "PlacementGroup"
 38539  	//   },
 38540  	//   "scopes": [
 38541  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38542  	//   ]
 38543  	// }
 38544  
 38545  }
 38546  
 38547  // method id "dfareporting.placementStrategies.delete":
 38548  
 38549  type PlacementStrategiesDeleteCall struct {
 38550  	s          *Service
 38551  	profileId  int64
 38552  	id         int64
 38553  	urlParams_ gensupport.URLParams
 38554  	ctx_       context.Context
 38555  	header_    http.Header
 38556  }
 38557  
 38558  // Delete: Deletes an existing placement strategy.
 38559  func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
 38560  	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38561  	c.profileId = profileId
 38562  	c.id = id
 38563  	return c
 38564  }
 38565  
 38566  // Fields allows partial responses to be retrieved. See
 38567  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38568  // for more information.
 38569  func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
 38570  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38571  	return c
 38572  }
 38573  
 38574  // Context sets the context to be used in this call's Do method. Any
 38575  // pending HTTP request will be aborted if the provided context is
 38576  // canceled.
 38577  func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
 38578  	c.ctx_ = ctx
 38579  	return c
 38580  }
 38581  
 38582  // Header returns an http.Header that can be modified by the caller to
 38583  // add HTTP headers to the request.
 38584  func (c *PlacementStrategiesDeleteCall) Header() http.Header {
 38585  	if c.header_ == nil {
 38586  		c.header_ = make(http.Header)
 38587  	}
 38588  	return c.header_
 38589  }
 38590  
 38591  func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 38592  	reqHeaders := make(http.Header)
 38593  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38594  	for k, v := range c.header_ {
 38595  		reqHeaders[k] = v
 38596  	}
 38597  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38598  	var body io.Reader = nil
 38599  	c.urlParams_.Set("alt", alt)
 38600  	c.urlParams_.Set("prettyPrint", "false")
 38601  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 38602  	urls += "?" + c.urlParams_.Encode()
 38603  	req, err := http.NewRequest("DELETE", urls, body)
 38604  	if err != nil {
 38605  		return nil, err
 38606  	}
 38607  	req.Header = reqHeaders
 38608  	googleapi.Expand(req.URL, map[string]string{
 38609  		"profileId": strconv.FormatInt(c.profileId, 10),
 38610  		"id":        strconv.FormatInt(c.id, 10),
 38611  	})
 38612  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38613  }
 38614  
 38615  // Do executes the "dfareporting.placementStrategies.delete" call.
 38616  func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 38617  	gensupport.SetOptions(c.urlParams_, opts...)
 38618  	res, err := c.doRequest("json")
 38619  	if err != nil {
 38620  		return err
 38621  	}
 38622  	defer googleapi.CloseBody(res)
 38623  	if err := googleapi.CheckResponse(res); err != nil {
 38624  		return err
 38625  	}
 38626  	return nil
 38627  	// {
 38628  	//   "description": "Deletes an existing placement strategy.",
 38629  	//   "httpMethod": "DELETE",
 38630  	//   "id": "dfareporting.placementStrategies.delete",
 38631  	//   "parameterOrder": [
 38632  	//     "profileId",
 38633  	//     "id"
 38634  	//   ],
 38635  	//   "parameters": {
 38636  	//     "id": {
 38637  	//       "description": "Placement strategy ID.",
 38638  	//       "format": "int64",
 38639  	//       "location": "path",
 38640  	//       "required": true,
 38641  	//       "type": "string"
 38642  	//     },
 38643  	//     "profileId": {
 38644  	//       "description": "User profile ID associated with this request.",
 38645  	//       "format": "int64",
 38646  	//       "location": "path",
 38647  	//       "required": true,
 38648  	//       "type": "string"
 38649  	//     }
 38650  	//   },
 38651  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 38652  	//   "scopes": [
 38653  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38654  	//   ]
 38655  	// }
 38656  
 38657  }
 38658  
 38659  // method id "dfareporting.placementStrategies.get":
 38660  
 38661  type PlacementStrategiesGetCall struct {
 38662  	s            *Service
 38663  	profileId    int64
 38664  	id           int64
 38665  	urlParams_   gensupport.URLParams
 38666  	ifNoneMatch_ string
 38667  	ctx_         context.Context
 38668  	header_      http.Header
 38669  }
 38670  
 38671  // Get: Gets one placement strategy by ID.
 38672  func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
 38673  	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38674  	c.profileId = profileId
 38675  	c.id = id
 38676  	return c
 38677  }
 38678  
 38679  // Fields allows partial responses to be retrieved. See
 38680  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38681  // for more information.
 38682  func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
 38683  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38684  	return c
 38685  }
 38686  
 38687  // IfNoneMatch sets the optional parameter which makes the operation
 38688  // fail if the object's ETag matches the given value. This is useful for
 38689  // getting updates only after the object has changed since the last
 38690  // request. Use googleapi.IsNotModified to check whether the response
 38691  // error from Do is the result of In-None-Match.
 38692  func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
 38693  	c.ifNoneMatch_ = entityTag
 38694  	return c
 38695  }
 38696  
 38697  // Context sets the context to be used in this call's Do method. Any
 38698  // pending HTTP request will be aborted if the provided context is
 38699  // canceled.
 38700  func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
 38701  	c.ctx_ = ctx
 38702  	return c
 38703  }
 38704  
 38705  // Header returns an http.Header that can be modified by the caller to
 38706  // add HTTP headers to the request.
 38707  func (c *PlacementStrategiesGetCall) Header() http.Header {
 38708  	if c.header_ == nil {
 38709  		c.header_ = make(http.Header)
 38710  	}
 38711  	return c.header_
 38712  }
 38713  
 38714  func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 38715  	reqHeaders := make(http.Header)
 38716  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38717  	for k, v := range c.header_ {
 38718  		reqHeaders[k] = v
 38719  	}
 38720  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38721  	if c.ifNoneMatch_ != "" {
 38722  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38723  	}
 38724  	var body io.Reader = nil
 38725  	c.urlParams_.Set("alt", alt)
 38726  	c.urlParams_.Set("prettyPrint", "false")
 38727  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 38728  	urls += "?" + c.urlParams_.Encode()
 38729  	req, err := http.NewRequest("GET", urls, body)
 38730  	if err != nil {
 38731  		return nil, err
 38732  	}
 38733  	req.Header = reqHeaders
 38734  	googleapi.Expand(req.URL, map[string]string{
 38735  		"profileId": strconv.FormatInt(c.profileId, 10),
 38736  		"id":        strconv.FormatInt(c.id, 10),
 38737  	})
 38738  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38739  }
 38740  
 38741  // Do executes the "dfareporting.placementStrategies.get" call.
 38742  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 38743  // non-2xx status code is an error. Response headers are in either
 38744  // *PlacementStrategy.ServerResponse.Header or (if a response was
 38745  // returned at all) in error.(*googleapi.Error).Header. Use
 38746  // googleapi.IsNotModified to check whether the returned error was
 38747  // because http.StatusNotModified was returned.
 38748  func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 38749  	gensupport.SetOptions(c.urlParams_, opts...)
 38750  	res, err := c.doRequest("json")
 38751  	if res != nil && res.StatusCode == http.StatusNotModified {
 38752  		if res.Body != nil {
 38753  			res.Body.Close()
 38754  		}
 38755  		return nil, &googleapi.Error{
 38756  			Code:   res.StatusCode,
 38757  			Header: res.Header,
 38758  		}
 38759  	}
 38760  	if err != nil {
 38761  		return nil, err
 38762  	}
 38763  	defer googleapi.CloseBody(res)
 38764  	if err := googleapi.CheckResponse(res); err != nil {
 38765  		return nil, err
 38766  	}
 38767  	ret := &PlacementStrategy{
 38768  		ServerResponse: googleapi.ServerResponse{
 38769  			Header:         res.Header,
 38770  			HTTPStatusCode: res.StatusCode,
 38771  		},
 38772  	}
 38773  	target := &ret
 38774  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38775  		return nil, err
 38776  	}
 38777  	return ret, nil
 38778  	// {
 38779  	//   "description": "Gets one placement strategy by ID.",
 38780  	//   "httpMethod": "GET",
 38781  	//   "id": "dfareporting.placementStrategies.get",
 38782  	//   "parameterOrder": [
 38783  	//     "profileId",
 38784  	//     "id"
 38785  	//   ],
 38786  	//   "parameters": {
 38787  	//     "id": {
 38788  	//       "description": "Placement strategy ID.",
 38789  	//       "format": "int64",
 38790  	//       "location": "path",
 38791  	//       "required": true,
 38792  	//       "type": "string"
 38793  	//     },
 38794  	//     "profileId": {
 38795  	//       "description": "User profile ID associated with this request.",
 38796  	//       "format": "int64",
 38797  	//       "location": "path",
 38798  	//       "required": true,
 38799  	//       "type": "string"
 38800  	//     }
 38801  	//   },
 38802  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 38803  	//   "response": {
 38804  	//     "$ref": "PlacementStrategy"
 38805  	//   },
 38806  	//   "scopes": [
 38807  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38808  	//   ]
 38809  	// }
 38810  
 38811  }
 38812  
 38813  // method id "dfareporting.placementStrategies.insert":
 38814  
 38815  type PlacementStrategiesInsertCall struct {
 38816  	s                 *Service
 38817  	profileId         int64
 38818  	placementstrategy *PlacementStrategy
 38819  	urlParams_        gensupport.URLParams
 38820  	ctx_              context.Context
 38821  	header_           http.Header
 38822  }
 38823  
 38824  // Insert: Inserts a new placement strategy.
 38825  func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
 38826  	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38827  	c.profileId = profileId
 38828  	c.placementstrategy = placementstrategy
 38829  	return c
 38830  }
 38831  
 38832  // Fields allows partial responses to be retrieved. See
 38833  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38834  // for more information.
 38835  func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
 38836  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38837  	return c
 38838  }
 38839  
 38840  // Context sets the context to be used in this call's Do method. Any
 38841  // pending HTTP request will be aborted if the provided context is
 38842  // canceled.
 38843  func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
 38844  	c.ctx_ = ctx
 38845  	return c
 38846  }
 38847  
 38848  // Header returns an http.Header that can be modified by the caller to
 38849  // add HTTP headers to the request.
 38850  func (c *PlacementStrategiesInsertCall) Header() http.Header {
 38851  	if c.header_ == nil {
 38852  		c.header_ = make(http.Header)
 38853  	}
 38854  	return c.header_
 38855  }
 38856  
 38857  func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
 38858  	reqHeaders := make(http.Header)
 38859  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38860  	for k, v := range c.header_ {
 38861  		reqHeaders[k] = v
 38862  	}
 38863  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38864  	var body io.Reader = nil
 38865  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 38866  	if err != nil {
 38867  		return nil, err
 38868  	}
 38869  	reqHeaders.Set("Content-Type", "application/json")
 38870  	c.urlParams_.Set("alt", alt)
 38871  	c.urlParams_.Set("prettyPrint", "false")
 38872  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 38873  	urls += "?" + c.urlParams_.Encode()
 38874  	req, err := http.NewRequest("POST", urls, body)
 38875  	if err != nil {
 38876  		return nil, err
 38877  	}
 38878  	req.Header = reqHeaders
 38879  	googleapi.Expand(req.URL, map[string]string{
 38880  		"profileId": strconv.FormatInt(c.profileId, 10),
 38881  	})
 38882  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38883  }
 38884  
 38885  // Do executes the "dfareporting.placementStrategies.insert" call.
 38886  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 38887  // non-2xx status code is an error. Response headers are in either
 38888  // *PlacementStrategy.ServerResponse.Header or (if a response was
 38889  // returned at all) in error.(*googleapi.Error).Header. Use
 38890  // googleapi.IsNotModified to check whether the returned error was
 38891  // because http.StatusNotModified was returned.
 38892  func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 38893  	gensupport.SetOptions(c.urlParams_, opts...)
 38894  	res, err := c.doRequest("json")
 38895  	if res != nil && res.StatusCode == http.StatusNotModified {
 38896  		if res.Body != nil {
 38897  			res.Body.Close()
 38898  		}
 38899  		return nil, &googleapi.Error{
 38900  			Code:   res.StatusCode,
 38901  			Header: res.Header,
 38902  		}
 38903  	}
 38904  	if err != nil {
 38905  		return nil, err
 38906  	}
 38907  	defer googleapi.CloseBody(res)
 38908  	if err := googleapi.CheckResponse(res); err != nil {
 38909  		return nil, err
 38910  	}
 38911  	ret := &PlacementStrategy{
 38912  		ServerResponse: googleapi.ServerResponse{
 38913  			Header:         res.Header,
 38914  			HTTPStatusCode: res.StatusCode,
 38915  		},
 38916  	}
 38917  	target := &ret
 38918  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38919  		return nil, err
 38920  	}
 38921  	return ret, nil
 38922  	// {
 38923  	//   "description": "Inserts a new placement strategy.",
 38924  	//   "httpMethod": "POST",
 38925  	//   "id": "dfareporting.placementStrategies.insert",
 38926  	//   "parameterOrder": [
 38927  	//     "profileId"
 38928  	//   ],
 38929  	//   "parameters": {
 38930  	//     "profileId": {
 38931  	//       "description": "User profile ID associated with this request.",
 38932  	//       "format": "int64",
 38933  	//       "location": "path",
 38934  	//       "required": true,
 38935  	//       "type": "string"
 38936  	//     }
 38937  	//   },
 38938  	//   "path": "userprofiles/{profileId}/placementStrategies",
 38939  	//   "request": {
 38940  	//     "$ref": "PlacementStrategy"
 38941  	//   },
 38942  	//   "response": {
 38943  	//     "$ref": "PlacementStrategy"
 38944  	//   },
 38945  	//   "scopes": [
 38946  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38947  	//   ]
 38948  	// }
 38949  
 38950  }
 38951  
 38952  // method id "dfareporting.placementStrategies.list":
 38953  
 38954  type PlacementStrategiesListCall struct {
 38955  	s            *Service
 38956  	profileId    int64
 38957  	urlParams_   gensupport.URLParams
 38958  	ifNoneMatch_ string
 38959  	ctx_         context.Context
 38960  	header_      http.Header
 38961  }
 38962  
 38963  // List: Retrieves a list of placement strategies, possibly filtered.
 38964  // This method supports paging.
 38965  func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
 38966  	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38967  	c.profileId = profileId
 38968  	return c
 38969  }
 38970  
 38971  // Ids sets the optional parameter "ids": Select only placement
 38972  // strategies with these IDs.
 38973  func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
 38974  	var ids_ []string
 38975  	for _, v := range ids {
 38976  		ids_ = append(ids_, fmt.Sprint(v))
 38977  	}
 38978  	c.urlParams_.SetMulti("ids", ids_)
 38979  	return c
 38980  }
 38981  
 38982  // MaxResults sets the optional parameter "maxResults": Maximum number
 38983  // of results to return.
 38984  func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
 38985  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 38986  	return c
 38987  }
 38988  
 38989  // PageToken sets the optional parameter "pageToken": Value of the
 38990  // nextPageToken from the previous result page.
 38991  func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
 38992  	c.urlParams_.Set("pageToken", pageToken)
 38993  	return c
 38994  }
 38995  
 38996  // SearchString sets the optional parameter "searchString": Allows
 38997  // searching for objects by name or ID. Wildcards (*) are allowed. For
 38998  // example, "placementstrategy*2015" will return objects with names like
 38999  // "placementstrategy June 2015", "placementstrategy April 2015", or
 39000  // simply "placementstrategy 2015". Most of the searches also add
 39001  // wildcards implicitly at the start and the end of the search string.
 39002  // For example, a search string of "placementstrategy" will match
 39003  // objects with name "my placementstrategy", "placementstrategy 2015",
 39004  // or simply "placementstrategy".
 39005  func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
 39006  	c.urlParams_.Set("searchString", searchString)
 39007  	return c
 39008  }
 39009  
 39010  // SortField sets the optional parameter "sortField": Field by which to
 39011  // sort the list.
 39012  //
 39013  // Possible values:
 39014  //
 39015  //	"ID" (default)
 39016  //	"NAME"
 39017  func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
 39018  	c.urlParams_.Set("sortField", sortField)
 39019  	return c
 39020  }
 39021  
 39022  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 39023  // results.
 39024  //
 39025  // Possible values:
 39026  //
 39027  //	"ASCENDING" (default)
 39028  //	"DESCENDING"
 39029  func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
 39030  	c.urlParams_.Set("sortOrder", sortOrder)
 39031  	return c
 39032  }
 39033  
 39034  // Fields allows partial responses to be retrieved. See
 39035  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39036  // for more information.
 39037  func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
 39038  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39039  	return c
 39040  }
 39041  
 39042  // IfNoneMatch sets the optional parameter which makes the operation
 39043  // fail if the object's ETag matches the given value. This is useful for
 39044  // getting updates only after the object has changed since the last
 39045  // request. Use googleapi.IsNotModified to check whether the response
 39046  // error from Do is the result of In-None-Match.
 39047  func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
 39048  	c.ifNoneMatch_ = entityTag
 39049  	return c
 39050  }
 39051  
 39052  // Context sets the context to be used in this call's Do method. Any
 39053  // pending HTTP request will be aborted if the provided context is
 39054  // canceled.
 39055  func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
 39056  	c.ctx_ = ctx
 39057  	return c
 39058  }
 39059  
 39060  // Header returns an http.Header that can be modified by the caller to
 39061  // add HTTP headers to the request.
 39062  func (c *PlacementStrategiesListCall) Header() http.Header {
 39063  	if c.header_ == nil {
 39064  		c.header_ = make(http.Header)
 39065  	}
 39066  	return c.header_
 39067  }
 39068  
 39069  func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 39070  	reqHeaders := make(http.Header)
 39071  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39072  	for k, v := range c.header_ {
 39073  		reqHeaders[k] = v
 39074  	}
 39075  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39076  	if c.ifNoneMatch_ != "" {
 39077  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39078  	}
 39079  	var body io.Reader = nil
 39080  	c.urlParams_.Set("alt", alt)
 39081  	c.urlParams_.Set("prettyPrint", "false")
 39082  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39083  	urls += "?" + c.urlParams_.Encode()
 39084  	req, err := http.NewRequest("GET", urls, body)
 39085  	if err != nil {
 39086  		return nil, err
 39087  	}
 39088  	req.Header = reqHeaders
 39089  	googleapi.Expand(req.URL, map[string]string{
 39090  		"profileId": strconv.FormatInt(c.profileId, 10),
 39091  	})
 39092  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39093  }
 39094  
 39095  // Do executes the "dfareporting.placementStrategies.list" call.
 39096  // Exactly one of *PlacementStrategiesListResponse or error will be
 39097  // non-nil. Any non-2xx status code is an error. Response headers are in
 39098  // either *PlacementStrategiesListResponse.ServerResponse.Header or (if
 39099  // a response was returned at all) in error.(*googleapi.Error).Header.
 39100  // Use googleapi.IsNotModified to check whether the returned error was
 39101  // because http.StatusNotModified was returned.
 39102  func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
 39103  	gensupport.SetOptions(c.urlParams_, opts...)
 39104  	res, err := c.doRequest("json")
 39105  	if res != nil && res.StatusCode == http.StatusNotModified {
 39106  		if res.Body != nil {
 39107  			res.Body.Close()
 39108  		}
 39109  		return nil, &googleapi.Error{
 39110  			Code:   res.StatusCode,
 39111  			Header: res.Header,
 39112  		}
 39113  	}
 39114  	if err != nil {
 39115  		return nil, err
 39116  	}
 39117  	defer googleapi.CloseBody(res)
 39118  	if err := googleapi.CheckResponse(res); err != nil {
 39119  		return nil, err
 39120  	}
 39121  	ret := &PlacementStrategiesListResponse{
 39122  		ServerResponse: googleapi.ServerResponse{
 39123  			Header:         res.Header,
 39124  			HTTPStatusCode: res.StatusCode,
 39125  		},
 39126  	}
 39127  	target := &ret
 39128  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39129  		return nil, err
 39130  	}
 39131  	return ret, nil
 39132  	// {
 39133  	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
 39134  	//   "httpMethod": "GET",
 39135  	//   "id": "dfareporting.placementStrategies.list",
 39136  	//   "parameterOrder": [
 39137  	//     "profileId"
 39138  	//   ],
 39139  	//   "parameters": {
 39140  	//     "ids": {
 39141  	//       "description": "Select only placement strategies with these IDs.",
 39142  	//       "format": "int64",
 39143  	//       "location": "query",
 39144  	//       "repeated": true,
 39145  	//       "type": "string"
 39146  	//     },
 39147  	//     "maxResults": {
 39148  	//       "default": "1000",
 39149  	//       "description": "Maximum number of results to return.",
 39150  	//       "format": "int32",
 39151  	//       "location": "query",
 39152  	//       "maximum": "1000",
 39153  	//       "minimum": "0",
 39154  	//       "type": "integer"
 39155  	//     },
 39156  	//     "pageToken": {
 39157  	//       "description": "Value of the nextPageToken from the previous result page.",
 39158  	//       "location": "query",
 39159  	//       "type": "string"
 39160  	//     },
 39161  	//     "profileId": {
 39162  	//       "description": "User profile ID associated with this request.",
 39163  	//       "format": "int64",
 39164  	//       "location": "path",
 39165  	//       "required": true,
 39166  	//       "type": "string"
 39167  	//     },
 39168  	//     "searchString": {
 39169  	//       "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\".",
 39170  	//       "location": "query",
 39171  	//       "type": "string"
 39172  	//     },
 39173  	//     "sortField": {
 39174  	//       "default": "ID",
 39175  	//       "description": "Field by which to sort the list.",
 39176  	//       "enum": [
 39177  	//         "ID",
 39178  	//         "NAME"
 39179  	//       ],
 39180  	//       "enumDescriptions": [
 39181  	//         "",
 39182  	//         ""
 39183  	//       ],
 39184  	//       "location": "query",
 39185  	//       "type": "string"
 39186  	//     },
 39187  	//     "sortOrder": {
 39188  	//       "default": "ASCENDING",
 39189  	//       "description": "Order of sorted results.",
 39190  	//       "enum": [
 39191  	//         "ASCENDING",
 39192  	//         "DESCENDING"
 39193  	//       ],
 39194  	//       "enumDescriptions": [
 39195  	//         "",
 39196  	//         ""
 39197  	//       ],
 39198  	//       "location": "query",
 39199  	//       "type": "string"
 39200  	//     }
 39201  	//   },
 39202  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39203  	//   "response": {
 39204  	//     "$ref": "PlacementStrategiesListResponse"
 39205  	//   },
 39206  	//   "scopes": [
 39207  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39208  	//   ]
 39209  	// }
 39210  
 39211  }
 39212  
 39213  // Pages invokes f for each page of results.
 39214  // A non-nil error returned from f will halt the iteration.
 39215  // The provided context supersedes any context provided to the Context method.
 39216  func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
 39217  	c.ctx_ = ctx
 39218  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 39219  	for {
 39220  		x, err := c.Do()
 39221  		if err != nil {
 39222  			return err
 39223  		}
 39224  		if err := f(x); err != nil {
 39225  			return err
 39226  		}
 39227  		if x.NextPageToken == "" {
 39228  			return nil
 39229  		}
 39230  		c.PageToken(x.NextPageToken)
 39231  	}
 39232  }
 39233  
 39234  // method id "dfareporting.placementStrategies.patch":
 39235  
 39236  type PlacementStrategiesPatchCall struct {
 39237  	s                 *Service
 39238  	profileId         int64
 39239  	placementstrategy *PlacementStrategy
 39240  	urlParams_        gensupport.URLParams
 39241  	ctx_              context.Context
 39242  	header_           http.Header
 39243  }
 39244  
 39245  // Patch: Updates an existing placement strategy. This method supports
 39246  // patch semantics.
 39247  func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
 39248  	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39249  	c.profileId = profileId
 39250  	c.urlParams_.Set("id", fmt.Sprint(id))
 39251  	c.placementstrategy = placementstrategy
 39252  	return c
 39253  }
 39254  
 39255  // Fields allows partial responses to be retrieved. See
 39256  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39257  // for more information.
 39258  func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
 39259  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39260  	return c
 39261  }
 39262  
 39263  // Context sets the context to be used in this call's Do method. Any
 39264  // pending HTTP request will be aborted if the provided context is
 39265  // canceled.
 39266  func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
 39267  	c.ctx_ = ctx
 39268  	return c
 39269  }
 39270  
 39271  // Header returns an http.Header that can be modified by the caller to
 39272  // add HTTP headers to the request.
 39273  func (c *PlacementStrategiesPatchCall) Header() http.Header {
 39274  	if c.header_ == nil {
 39275  		c.header_ = make(http.Header)
 39276  	}
 39277  	return c.header_
 39278  }
 39279  
 39280  func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
 39281  	reqHeaders := make(http.Header)
 39282  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39283  	for k, v := range c.header_ {
 39284  		reqHeaders[k] = v
 39285  	}
 39286  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39287  	var body io.Reader = nil
 39288  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 39289  	if err != nil {
 39290  		return nil, err
 39291  	}
 39292  	reqHeaders.Set("Content-Type", "application/json")
 39293  	c.urlParams_.Set("alt", alt)
 39294  	c.urlParams_.Set("prettyPrint", "false")
 39295  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39296  	urls += "?" + c.urlParams_.Encode()
 39297  	req, err := http.NewRequest("PATCH", urls, body)
 39298  	if err != nil {
 39299  		return nil, err
 39300  	}
 39301  	req.Header = reqHeaders
 39302  	googleapi.Expand(req.URL, map[string]string{
 39303  		"profileId": strconv.FormatInt(c.profileId, 10),
 39304  	})
 39305  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39306  }
 39307  
 39308  // Do executes the "dfareporting.placementStrategies.patch" call.
 39309  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39310  // non-2xx status code is an error. Response headers are in either
 39311  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39312  // returned at all) in error.(*googleapi.Error).Header. Use
 39313  // googleapi.IsNotModified to check whether the returned error was
 39314  // because http.StatusNotModified was returned.
 39315  func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39316  	gensupport.SetOptions(c.urlParams_, opts...)
 39317  	res, err := c.doRequest("json")
 39318  	if res != nil && res.StatusCode == http.StatusNotModified {
 39319  		if res.Body != nil {
 39320  			res.Body.Close()
 39321  		}
 39322  		return nil, &googleapi.Error{
 39323  			Code:   res.StatusCode,
 39324  			Header: res.Header,
 39325  		}
 39326  	}
 39327  	if err != nil {
 39328  		return nil, err
 39329  	}
 39330  	defer googleapi.CloseBody(res)
 39331  	if err := googleapi.CheckResponse(res); err != nil {
 39332  		return nil, err
 39333  	}
 39334  	ret := &PlacementStrategy{
 39335  		ServerResponse: googleapi.ServerResponse{
 39336  			Header:         res.Header,
 39337  			HTTPStatusCode: res.StatusCode,
 39338  		},
 39339  	}
 39340  	target := &ret
 39341  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39342  		return nil, err
 39343  	}
 39344  	return ret, nil
 39345  	// {
 39346  	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
 39347  	//   "httpMethod": "PATCH",
 39348  	//   "id": "dfareporting.placementStrategies.patch",
 39349  	//   "parameterOrder": [
 39350  	//     "profileId",
 39351  	//     "id"
 39352  	//   ],
 39353  	//   "parameters": {
 39354  	//     "id": {
 39355  	//       "description": "Placement strategy ID.",
 39356  	//       "format": "int64",
 39357  	//       "location": "query",
 39358  	//       "required": true,
 39359  	//       "type": "string"
 39360  	//     },
 39361  	//     "profileId": {
 39362  	//       "description": "User profile ID associated with this request.",
 39363  	//       "format": "int64",
 39364  	//       "location": "path",
 39365  	//       "required": true,
 39366  	//       "type": "string"
 39367  	//     }
 39368  	//   },
 39369  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39370  	//   "request": {
 39371  	//     "$ref": "PlacementStrategy"
 39372  	//   },
 39373  	//   "response": {
 39374  	//     "$ref": "PlacementStrategy"
 39375  	//   },
 39376  	//   "scopes": [
 39377  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39378  	//   ]
 39379  	// }
 39380  
 39381  }
 39382  
 39383  // method id "dfareporting.placementStrategies.update":
 39384  
 39385  type PlacementStrategiesUpdateCall struct {
 39386  	s                 *Service
 39387  	profileId         int64
 39388  	placementstrategy *PlacementStrategy
 39389  	urlParams_        gensupport.URLParams
 39390  	ctx_              context.Context
 39391  	header_           http.Header
 39392  }
 39393  
 39394  // Update: Updates an existing placement strategy.
 39395  func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
 39396  	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39397  	c.profileId = profileId
 39398  	c.placementstrategy = placementstrategy
 39399  	return c
 39400  }
 39401  
 39402  // Fields allows partial responses to be retrieved. See
 39403  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39404  // for more information.
 39405  func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
 39406  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39407  	return c
 39408  }
 39409  
 39410  // Context sets the context to be used in this call's Do method. Any
 39411  // pending HTTP request will be aborted if the provided context is
 39412  // canceled.
 39413  func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
 39414  	c.ctx_ = ctx
 39415  	return c
 39416  }
 39417  
 39418  // Header returns an http.Header that can be modified by the caller to
 39419  // add HTTP headers to the request.
 39420  func (c *PlacementStrategiesUpdateCall) Header() http.Header {
 39421  	if c.header_ == nil {
 39422  		c.header_ = make(http.Header)
 39423  	}
 39424  	return c.header_
 39425  }
 39426  
 39427  func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 39428  	reqHeaders := make(http.Header)
 39429  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39430  	for k, v := range c.header_ {
 39431  		reqHeaders[k] = v
 39432  	}
 39433  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39434  	var body io.Reader = nil
 39435  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 39436  	if err != nil {
 39437  		return nil, err
 39438  	}
 39439  	reqHeaders.Set("Content-Type", "application/json")
 39440  	c.urlParams_.Set("alt", alt)
 39441  	c.urlParams_.Set("prettyPrint", "false")
 39442  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39443  	urls += "?" + c.urlParams_.Encode()
 39444  	req, err := http.NewRequest("PUT", urls, body)
 39445  	if err != nil {
 39446  		return nil, err
 39447  	}
 39448  	req.Header = reqHeaders
 39449  	googleapi.Expand(req.URL, map[string]string{
 39450  		"profileId": strconv.FormatInt(c.profileId, 10),
 39451  	})
 39452  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39453  }
 39454  
 39455  // Do executes the "dfareporting.placementStrategies.update" call.
 39456  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39457  // non-2xx status code is an error. Response headers are in either
 39458  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39459  // returned at all) in error.(*googleapi.Error).Header. Use
 39460  // googleapi.IsNotModified to check whether the returned error was
 39461  // because http.StatusNotModified was returned.
 39462  func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39463  	gensupport.SetOptions(c.urlParams_, opts...)
 39464  	res, err := c.doRequest("json")
 39465  	if res != nil && res.StatusCode == http.StatusNotModified {
 39466  		if res.Body != nil {
 39467  			res.Body.Close()
 39468  		}
 39469  		return nil, &googleapi.Error{
 39470  			Code:   res.StatusCode,
 39471  			Header: res.Header,
 39472  		}
 39473  	}
 39474  	if err != nil {
 39475  		return nil, err
 39476  	}
 39477  	defer googleapi.CloseBody(res)
 39478  	if err := googleapi.CheckResponse(res); err != nil {
 39479  		return nil, err
 39480  	}
 39481  	ret := &PlacementStrategy{
 39482  		ServerResponse: googleapi.ServerResponse{
 39483  			Header:         res.Header,
 39484  			HTTPStatusCode: res.StatusCode,
 39485  		},
 39486  	}
 39487  	target := &ret
 39488  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39489  		return nil, err
 39490  	}
 39491  	return ret, nil
 39492  	// {
 39493  	//   "description": "Updates an existing placement strategy.",
 39494  	//   "httpMethod": "PUT",
 39495  	//   "id": "dfareporting.placementStrategies.update",
 39496  	//   "parameterOrder": [
 39497  	//     "profileId"
 39498  	//   ],
 39499  	//   "parameters": {
 39500  	//     "profileId": {
 39501  	//       "description": "User profile ID associated with this request.",
 39502  	//       "format": "int64",
 39503  	//       "location": "path",
 39504  	//       "required": true,
 39505  	//       "type": "string"
 39506  	//     }
 39507  	//   },
 39508  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39509  	//   "request": {
 39510  	//     "$ref": "PlacementStrategy"
 39511  	//   },
 39512  	//   "response": {
 39513  	//     "$ref": "PlacementStrategy"
 39514  	//   },
 39515  	//   "scopes": [
 39516  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39517  	//   ]
 39518  	// }
 39519  
 39520  }
 39521  
 39522  // method id "dfareporting.placements.generatetags":
 39523  
 39524  type PlacementsGeneratetagsCall struct {
 39525  	s          *Service
 39526  	profileId  int64
 39527  	urlParams_ gensupport.URLParams
 39528  	ctx_       context.Context
 39529  	header_    http.Header
 39530  }
 39531  
 39532  // Generatetags: Generates tags for a placement.
 39533  func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
 39534  	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39535  	c.profileId = profileId
 39536  	return c
 39537  }
 39538  
 39539  // CampaignId sets the optional parameter "campaignId": Generate
 39540  // placements belonging to this campaign. This is a required field.
 39541  func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
 39542  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 39543  	return c
 39544  }
 39545  
 39546  // PlacementIds sets the optional parameter "placementIds": Generate
 39547  // tags for these placements.
 39548  func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
 39549  	var placementIds_ []string
 39550  	for _, v := range placementIds {
 39551  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 39552  	}
 39553  	c.urlParams_.SetMulti("placementIds", placementIds_)
 39554  	return c
 39555  }
 39556  
 39557  // TagFormats sets the optional parameter "tagFormats": Tag formats to
 39558  // generate for these placements.
 39559  //
 39560  // Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1
 39561  // placements.
 39562  //
 39563  // Possible values:
 39564  //
 39565  //	"PLACEMENT_TAG_CLICK_COMMANDS"
 39566  //	"PLACEMENT_TAG_IFRAME_ILAYER"
 39567  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 39568  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 39569  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 39570  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 39571  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 39572  //	"PLACEMENT_TAG_INTERNAL_REDIRECT"
 39573  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 39574  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 39575  //	"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 39576  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 39577  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 39578  //	"PLACEMENT_TAG_JAVASCRIPT"
 39579  //	"PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 39580  //	"PLACEMENT_TAG_STANDARD"
 39581  //	"PLACEMENT_TAG_TRACKING"
 39582  //	"PLACEMENT_TAG_TRACKING_IFRAME"
 39583  //	"PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 39584  func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
 39585  	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
 39586  	return c
 39587  }
 39588  
 39589  // Fields allows partial responses to be retrieved. See
 39590  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39591  // for more information.
 39592  func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
 39593  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39594  	return c
 39595  }
 39596  
 39597  // Context sets the context to be used in this call's Do method. Any
 39598  // pending HTTP request will be aborted if the provided context is
 39599  // canceled.
 39600  func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
 39601  	c.ctx_ = ctx
 39602  	return c
 39603  }
 39604  
 39605  // Header returns an http.Header that can be modified by the caller to
 39606  // add HTTP headers to the request.
 39607  func (c *PlacementsGeneratetagsCall) Header() http.Header {
 39608  	if c.header_ == nil {
 39609  		c.header_ = make(http.Header)
 39610  	}
 39611  	return c.header_
 39612  }
 39613  
 39614  func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 39615  	reqHeaders := make(http.Header)
 39616  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39617  	for k, v := range c.header_ {
 39618  		reqHeaders[k] = v
 39619  	}
 39620  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39621  	var body io.Reader = nil
 39622  	c.urlParams_.Set("alt", alt)
 39623  	c.urlParams_.Set("prettyPrint", "false")
 39624  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
 39625  	urls += "?" + c.urlParams_.Encode()
 39626  	req, err := http.NewRequest("POST", urls, body)
 39627  	if err != nil {
 39628  		return nil, err
 39629  	}
 39630  	req.Header = reqHeaders
 39631  	googleapi.Expand(req.URL, map[string]string{
 39632  		"profileId": strconv.FormatInt(c.profileId, 10),
 39633  	})
 39634  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39635  }
 39636  
 39637  // Do executes the "dfareporting.placements.generatetags" call.
 39638  // Exactly one of *PlacementsGenerateTagsResponse or error will be
 39639  // non-nil. Any non-2xx status code is an error. Response headers are in
 39640  // either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
 39641  // response was returned at all) in error.(*googleapi.Error).Header. Use
 39642  // googleapi.IsNotModified to check whether the returned error was
 39643  // because http.StatusNotModified was returned.
 39644  func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
 39645  	gensupport.SetOptions(c.urlParams_, opts...)
 39646  	res, err := c.doRequest("json")
 39647  	if res != nil && res.StatusCode == http.StatusNotModified {
 39648  		if res.Body != nil {
 39649  			res.Body.Close()
 39650  		}
 39651  		return nil, &googleapi.Error{
 39652  			Code:   res.StatusCode,
 39653  			Header: res.Header,
 39654  		}
 39655  	}
 39656  	if err != nil {
 39657  		return nil, err
 39658  	}
 39659  	defer googleapi.CloseBody(res)
 39660  	if err := googleapi.CheckResponse(res); err != nil {
 39661  		return nil, err
 39662  	}
 39663  	ret := &PlacementsGenerateTagsResponse{
 39664  		ServerResponse: googleapi.ServerResponse{
 39665  			Header:         res.Header,
 39666  			HTTPStatusCode: res.StatusCode,
 39667  		},
 39668  	}
 39669  	target := &ret
 39670  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39671  		return nil, err
 39672  	}
 39673  	return ret, nil
 39674  	// {
 39675  	//   "description": "Generates tags for a placement.",
 39676  	//   "httpMethod": "POST",
 39677  	//   "id": "dfareporting.placements.generatetags",
 39678  	//   "parameterOrder": [
 39679  	//     "profileId"
 39680  	//   ],
 39681  	//   "parameters": {
 39682  	//     "campaignId": {
 39683  	//       "description": "Generate placements belonging to this campaign. This is a required field.",
 39684  	//       "format": "int64",
 39685  	//       "location": "query",
 39686  	//       "type": "string"
 39687  	//     },
 39688  	//     "placementIds": {
 39689  	//       "description": "Generate tags for these placements.",
 39690  	//       "format": "int64",
 39691  	//       "location": "query",
 39692  	//       "repeated": true,
 39693  	//       "type": "string"
 39694  	//     },
 39695  	//     "profileId": {
 39696  	//       "description": "User profile ID associated with this request.",
 39697  	//       "format": "int64",
 39698  	//       "location": "path",
 39699  	//       "required": true,
 39700  	//       "type": "string"
 39701  	//     },
 39702  	//     "tagFormats": {
 39703  	//       "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
 39704  	//       "enum": [
 39705  	//         "PLACEMENT_TAG_CLICK_COMMANDS",
 39706  	//         "PLACEMENT_TAG_IFRAME_ILAYER",
 39707  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
 39708  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
 39709  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
 39710  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
 39711  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
 39712  	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
 39713  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
 39714  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
 39715  	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
 39716  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
 39717  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
 39718  	//         "PLACEMENT_TAG_JAVASCRIPT",
 39719  	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
 39720  	//         "PLACEMENT_TAG_STANDARD",
 39721  	//         "PLACEMENT_TAG_TRACKING",
 39722  	//         "PLACEMENT_TAG_TRACKING_IFRAME",
 39723  	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 39724  	//       ],
 39725  	//       "enumDescriptions": [
 39726  	//         "",
 39727  	//         "",
 39728  	//         "",
 39729  	//         "",
 39730  	//         "",
 39731  	//         "",
 39732  	//         "",
 39733  	//         "",
 39734  	//         "",
 39735  	//         "",
 39736  	//         "",
 39737  	//         "",
 39738  	//         "",
 39739  	//         "",
 39740  	//         "",
 39741  	//         "",
 39742  	//         "",
 39743  	//         "",
 39744  	//         ""
 39745  	//       ],
 39746  	//       "location": "query",
 39747  	//       "repeated": true,
 39748  	//       "type": "string"
 39749  	//     }
 39750  	//   },
 39751  	//   "path": "userprofiles/{profileId}/placements/generatetags",
 39752  	//   "response": {
 39753  	//     "$ref": "PlacementsGenerateTagsResponse"
 39754  	//   },
 39755  	//   "scopes": [
 39756  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39757  	//   ]
 39758  	// }
 39759  
 39760  }
 39761  
 39762  // method id "dfareporting.placements.get":
 39763  
 39764  type PlacementsGetCall struct {
 39765  	s            *Service
 39766  	profileId    int64
 39767  	id           int64
 39768  	urlParams_   gensupport.URLParams
 39769  	ifNoneMatch_ string
 39770  	ctx_         context.Context
 39771  	header_      http.Header
 39772  }
 39773  
 39774  // Get: Gets one placement by ID.
 39775  func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
 39776  	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39777  	c.profileId = profileId
 39778  	c.id = id
 39779  	return c
 39780  }
 39781  
 39782  // Fields allows partial responses to be retrieved. See
 39783  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39784  // for more information.
 39785  func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
 39786  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39787  	return c
 39788  }
 39789  
 39790  // IfNoneMatch sets the optional parameter which makes the operation
 39791  // fail if the object's ETag matches the given value. This is useful for
 39792  // getting updates only after the object has changed since the last
 39793  // request. Use googleapi.IsNotModified to check whether the response
 39794  // error from Do is the result of In-None-Match.
 39795  func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
 39796  	c.ifNoneMatch_ = entityTag
 39797  	return c
 39798  }
 39799  
 39800  // Context sets the context to be used in this call's Do method. Any
 39801  // pending HTTP request will be aborted if the provided context is
 39802  // canceled.
 39803  func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
 39804  	c.ctx_ = ctx
 39805  	return c
 39806  }
 39807  
 39808  // Header returns an http.Header that can be modified by the caller to
 39809  // add HTTP headers to the request.
 39810  func (c *PlacementsGetCall) Header() http.Header {
 39811  	if c.header_ == nil {
 39812  		c.header_ = make(http.Header)
 39813  	}
 39814  	return c.header_
 39815  }
 39816  
 39817  func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 39818  	reqHeaders := make(http.Header)
 39819  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39820  	for k, v := range c.header_ {
 39821  		reqHeaders[k] = v
 39822  	}
 39823  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39824  	if c.ifNoneMatch_ != "" {
 39825  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39826  	}
 39827  	var body io.Reader = nil
 39828  	c.urlParams_.Set("alt", alt)
 39829  	c.urlParams_.Set("prettyPrint", "false")
 39830  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
 39831  	urls += "?" + c.urlParams_.Encode()
 39832  	req, err := http.NewRequest("GET", urls, body)
 39833  	if err != nil {
 39834  		return nil, err
 39835  	}
 39836  	req.Header = reqHeaders
 39837  	googleapi.Expand(req.URL, map[string]string{
 39838  		"profileId": strconv.FormatInt(c.profileId, 10),
 39839  		"id":        strconv.FormatInt(c.id, 10),
 39840  	})
 39841  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39842  }
 39843  
 39844  // Do executes the "dfareporting.placements.get" call.
 39845  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 39846  // status code is an error. Response headers are in either
 39847  // *Placement.ServerResponse.Header or (if a response was returned at
 39848  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 39849  // to check whether the returned error was because
 39850  // http.StatusNotModified was returned.
 39851  func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 39852  	gensupport.SetOptions(c.urlParams_, opts...)
 39853  	res, err := c.doRequest("json")
 39854  	if res != nil && res.StatusCode == http.StatusNotModified {
 39855  		if res.Body != nil {
 39856  			res.Body.Close()
 39857  		}
 39858  		return nil, &googleapi.Error{
 39859  			Code:   res.StatusCode,
 39860  			Header: res.Header,
 39861  		}
 39862  	}
 39863  	if err != nil {
 39864  		return nil, err
 39865  	}
 39866  	defer googleapi.CloseBody(res)
 39867  	if err := googleapi.CheckResponse(res); err != nil {
 39868  		return nil, err
 39869  	}
 39870  	ret := &Placement{
 39871  		ServerResponse: googleapi.ServerResponse{
 39872  			Header:         res.Header,
 39873  			HTTPStatusCode: res.StatusCode,
 39874  		},
 39875  	}
 39876  	target := &ret
 39877  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39878  		return nil, err
 39879  	}
 39880  	return ret, nil
 39881  	// {
 39882  	//   "description": "Gets one placement by ID.",
 39883  	//   "httpMethod": "GET",
 39884  	//   "id": "dfareporting.placements.get",
 39885  	//   "parameterOrder": [
 39886  	//     "profileId",
 39887  	//     "id"
 39888  	//   ],
 39889  	//   "parameters": {
 39890  	//     "id": {
 39891  	//       "description": "Placement ID.",
 39892  	//       "format": "int64",
 39893  	//       "location": "path",
 39894  	//       "required": true,
 39895  	//       "type": "string"
 39896  	//     },
 39897  	//     "profileId": {
 39898  	//       "description": "User profile ID associated with this request.",
 39899  	//       "format": "int64",
 39900  	//       "location": "path",
 39901  	//       "required": true,
 39902  	//       "type": "string"
 39903  	//     }
 39904  	//   },
 39905  	//   "path": "userprofiles/{profileId}/placements/{id}",
 39906  	//   "response": {
 39907  	//     "$ref": "Placement"
 39908  	//   },
 39909  	//   "scopes": [
 39910  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39911  	//   ]
 39912  	// }
 39913  
 39914  }
 39915  
 39916  // method id "dfareporting.placements.insert":
 39917  
 39918  type PlacementsInsertCall struct {
 39919  	s          *Service
 39920  	profileId  int64
 39921  	placement  *Placement
 39922  	urlParams_ gensupport.URLParams
 39923  	ctx_       context.Context
 39924  	header_    http.Header
 39925  }
 39926  
 39927  // Insert: Inserts a new placement.
 39928  func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
 39929  	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39930  	c.profileId = profileId
 39931  	c.placement = placement
 39932  	return c
 39933  }
 39934  
 39935  // Fields allows partial responses to be retrieved. See
 39936  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39937  // for more information.
 39938  func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
 39939  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39940  	return c
 39941  }
 39942  
 39943  // Context sets the context to be used in this call's Do method. Any
 39944  // pending HTTP request will be aborted if the provided context is
 39945  // canceled.
 39946  func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
 39947  	c.ctx_ = ctx
 39948  	return c
 39949  }
 39950  
 39951  // Header returns an http.Header that can be modified by the caller to
 39952  // add HTTP headers to the request.
 39953  func (c *PlacementsInsertCall) Header() http.Header {
 39954  	if c.header_ == nil {
 39955  		c.header_ = make(http.Header)
 39956  	}
 39957  	return c.header_
 39958  }
 39959  
 39960  func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
 39961  	reqHeaders := make(http.Header)
 39962  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39963  	for k, v := range c.header_ {
 39964  		reqHeaders[k] = v
 39965  	}
 39966  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39967  	var body io.Reader = nil
 39968  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 39969  	if err != nil {
 39970  		return nil, err
 39971  	}
 39972  	reqHeaders.Set("Content-Type", "application/json")
 39973  	c.urlParams_.Set("alt", alt)
 39974  	c.urlParams_.Set("prettyPrint", "false")
 39975  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 39976  	urls += "?" + c.urlParams_.Encode()
 39977  	req, err := http.NewRequest("POST", urls, body)
 39978  	if err != nil {
 39979  		return nil, err
 39980  	}
 39981  	req.Header = reqHeaders
 39982  	googleapi.Expand(req.URL, map[string]string{
 39983  		"profileId": strconv.FormatInt(c.profileId, 10),
 39984  	})
 39985  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39986  }
 39987  
 39988  // Do executes the "dfareporting.placements.insert" call.
 39989  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 39990  // status code is an error. Response headers are in either
 39991  // *Placement.ServerResponse.Header or (if a response was returned at
 39992  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 39993  // to check whether the returned error was because
 39994  // http.StatusNotModified was returned.
 39995  func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 39996  	gensupport.SetOptions(c.urlParams_, opts...)
 39997  	res, err := c.doRequest("json")
 39998  	if res != nil && res.StatusCode == http.StatusNotModified {
 39999  		if res.Body != nil {
 40000  			res.Body.Close()
 40001  		}
 40002  		return nil, &googleapi.Error{
 40003  			Code:   res.StatusCode,
 40004  			Header: res.Header,
 40005  		}
 40006  	}
 40007  	if err != nil {
 40008  		return nil, err
 40009  	}
 40010  	defer googleapi.CloseBody(res)
 40011  	if err := googleapi.CheckResponse(res); err != nil {
 40012  		return nil, err
 40013  	}
 40014  	ret := &Placement{
 40015  		ServerResponse: googleapi.ServerResponse{
 40016  			Header:         res.Header,
 40017  			HTTPStatusCode: res.StatusCode,
 40018  		},
 40019  	}
 40020  	target := &ret
 40021  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40022  		return nil, err
 40023  	}
 40024  	return ret, nil
 40025  	// {
 40026  	//   "description": "Inserts a new placement.",
 40027  	//   "httpMethod": "POST",
 40028  	//   "id": "dfareporting.placements.insert",
 40029  	//   "parameterOrder": [
 40030  	//     "profileId"
 40031  	//   ],
 40032  	//   "parameters": {
 40033  	//     "profileId": {
 40034  	//       "description": "User profile ID associated with this request.",
 40035  	//       "format": "int64",
 40036  	//       "location": "path",
 40037  	//       "required": true,
 40038  	//       "type": "string"
 40039  	//     }
 40040  	//   },
 40041  	//   "path": "userprofiles/{profileId}/placements",
 40042  	//   "request": {
 40043  	//     "$ref": "Placement"
 40044  	//   },
 40045  	//   "response": {
 40046  	//     "$ref": "Placement"
 40047  	//   },
 40048  	//   "scopes": [
 40049  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40050  	//   ]
 40051  	// }
 40052  
 40053  }
 40054  
 40055  // method id "dfareporting.placements.list":
 40056  
 40057  type PlacementsListCall struct {
 40058  	s            *Service
 40059  	profileId    int64
 40060  	urlParams_   gensupport.URLParams
 40061  	ifNoneMatch_ string
 40062  	ctx_         context.Context
 40063  	header_      http.Header
 40064  }
 40065  
 40066  // List: Retrieves a list of placements, possibly filtered. This method
 40067  // supports paging.
 40068  func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
 40069  	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40070  	c.profileId = profileId
 40071  	return c
 40072  }
 40073  
 40074  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 40075  // only placements that belong to these advertisers.
 40076  func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
 40077  	var advertiserIds_ []string
 40078  	for _, v := range advertiserIds {
 40079  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 40080  	}
 40081  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 40082  	return c
 40083  }
 40084  
 40085  // Archived sets the optional parameter "archived": Select only archived
 40086  // placements. Don't set this field to select both archived and
 40087  // non-archived placements.
 40088  func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
 40089  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 40090  	return c
 40091  }
 40092  
 40093  // CampaignIds sets the optional parameter "campaignIds": Select only
 40094  // placements that belong to these campaigns.
 40095  func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
 40096  	var campaignIds_ []string
 40097  	for _, v := range campaignIds {
 40098  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 40099  	}
 40100  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 40101  	return c
 40102  }
 40103  
 40104  // Compatibilities sets the optional parameter "compatibilities": Select
 40105  // only placements that are associated with these compatibilities.
 40106  // DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
 40107  // or on mobile devices for regular or interstitial ads respectively.
 40108  // APP and APP_INTERSTITIAL are for rendering in mobile apps.
 40109  // IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
 40110  // with the VAST standard.
 40111  //
 40112  // Possible values:
 40113  //
 40114  //	"APP"
 40115  //	"APP_INTERSTITIAL"
 40116  //	"DISPLAY"
 40117  //	"DISPLAY_INTERSTITIAL"
 40118  //	"IN_STREAM_AUDIO"
 40119  //	"IN_STREAM_VIDEO"
 40120  func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
 40121  	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
 40122  	return c
 40123  }
 40124  
 40125  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 40126  // Select only placements that are associated with these content
 40127  // categories.
 40128  func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
 40129  	var contentCategoryIds_ []string
 40130  	for _, v := range contentCategoryIds {
 40131  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 40132  	}
 40133  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 40134  	return c
 40135  }
 40136  
 40137  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 40138  // Select only placements that are associated with these directory
 40139  // sites.
 40140  func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
 40141  	var directorySiteIds_ []string
 40142  	for _, v := range directorySiteIds {
 40143  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 40144  	}
 40145  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 40146  	return c
 40147  }
 40148  
 40149  // GroupIds sets the optional parameter "groupIds": Select only
 40150  // placements that belong to these placement groups.
 40151  func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
 40152  	var groupIds_ []string
 40153  	for _, v := range groupIds {
 40154  		groupIds_ = append(groupIds_, fmt.Sprint(v))
 40155  	}
 40156  	c.urlParams_.SetMulti("groupIds", groupIds_)
 40157  	return c
 40158  }
 40159  
 40160  // Ids sets the optional parameter "ids": Select only placements with
 40161  // these IDs.
 40162  func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
 40163  	var ids_ []string
 40164  	for _, v := range ids {
 40165  		ids_ = append(ids_, fmt.Sprint(v))
 40166  	}
 40167  	c.urlParams_.SetMulti("ids", ids_)
 40168  	return c
 40169  }
 40170  
 40171  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 40172  // placements or placement groups whose end date is on or before the
 40173  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 40174  func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
 40175  	c.urlParams_.Set("maxEndDate", maxEndDate)
 40176  	return c
 40177  }
 40178  
 40179  // MaxResults sets the optional parameter "maxResults": Maximum number
 40180  // of results to return.
 40181  func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
 40182  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 40183  	return c
 40184  }
 40185  
 40186  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 40187  // placements or placement groups whose start date is on or before the
 40188  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 40189  func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
 40190  	c.urlParams_.Set("maxStartDate", maxStartDate)
 40191  	return c
 40192  }
 40193  
 40194  // MinEndDate sets the optional parameter "minEndDate": Select only
 40195  // placements or placement groups whose end date is on or after the
 40196  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 40197  func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
 40198  	c.urlParams_.Set("minEndDate", minEndDate)
 40199  	return c
 40200  }
 40201  
 40202  // MinStartDate sets the optional parameter "minStartDate": Select only
 40203  // placements or placement groups whose start date is on or after the
 40204  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 40205  func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
 40206  	c.urlParams_.Set("minStartDate", minStartDate)
 40207  	return c
 40208  }
 40209  
 40210  // PageToken sets the optional parameter "pageToken": Value of the
 40211  // nextPageToken from the previous result page.
 40212  func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
 40213  	c.urlParams_.Set("pageToken", pageToken)
 40214  	return c
 40215  }
 40216  
 40217  // PaymentSource sets the optional parameter "paymentSource": Select
 40218  // only placements with this payment source.
 40219  //
 40220  // Possible values:
 40221  //
 40222  //	"PLACEMENT_AGENCY_PAID"
 40223  //	"PLACEMENT_PUBLISHER_PAID"
 40224  func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
 40225  	c.urlParams_.Set("paymentSource", paymentSource)
 40226  	return c
 40227  }
 40228  
 40229  // PlacementStrategyIds sets the optional parameter
 40230  // "placementStrategyIds": Select only placements that are associated
 40231  // with these placement strategies.
 40232  func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
 40233  	var placementStrategyIds_ []string
 40234  	for _, v := range placementStrategyIds {
 40235  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 40236  	}
 40237  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 40238  	return c
 40239  }
 40240  
 40241  // PricingTypes sets the optional parameter "pricingTypes": Select only
 40242  // placements with these pricing types.
 40243  //
 40244  // Possible values:
 40245  //
 40246  //	"PRICING_TYPE_CPA"
 40247  //	"PRICING_TYPE_CPC"
 40248  //	"PRICING_TYPE_CPM"
 40249  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 40250  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 40251  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 40252  func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
 40253  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 40254  	return c
 40255  }
 40256  
 40257  // SearchString sets the optional parameter "searchString": Allows
 40258  // searching for placements by name or ID. Wildcards (*) are allowed.
 40259  // For example, "placement*2015" will return placements with names like
 40260  // "placement June 2015", "placement May 2015", or simply "placements
 40261  // 2015". Most of the searches also add wildcards implicitly at the
 40262  // start and the end of the search string. For example, a search string
 40263  // of "placement" will match placements with name "my placement",
 40264  // "placement 2015", or simply "placement".
 40265  func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
 40266  	c.urlParams_.Set("searchString", searchString)
 40267  	return c
 40268  }
 40269  
 40270  // SiteIds sets the optional parameter "siteIds": Select only placements
 40271  // that are associated with these sites.
 40272  func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
 40273  	var siteIds_ []string
 40274  	for _, v := range siteIds {
 40275  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 40276  	}
 40277  	c.urlParams_.SetMulti("siteIds", siteIds_)
 40278  	return c
 40279  }
 40280  
 40281  // SizeIds sets the optional parameter "sizeIds": Select only placements
 40282  // that are associated with these sizes.
 40283  func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
 40284  	var sizeIds_ []string
 40285  	for _, v := range sizeIds {
 40286  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 40287  	}
 40288  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 40289  	return c
 40290  }
 40291  
 40292  // SortField sets the optional parameter "sortField": Field by which to
 40293  // sort the list.
 40294  //
 40295  // Possible values:
 40296  //
 40297  //	"ID" (default)
 40298  //	"NAME"
 40299  func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
 40300  	c.urlParams_.Set("sortField", sortField)
 40301  	return c
 40302  }
 40303  
 40304  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 40305  // results.
 40306  //
 40307  // Possible values:
 40308  //
 40309  //	"ASCENDING" (default)
 40310  //	"DESCENDING"
 40311  func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
 40312  	c.urlParams_.Set("sortOrder", sortOrder)
 40313  	return c
 40314  }
 40315  
 40316  // Fields allows partial responses to be retrieved. See
 40317  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40318  // for more information.
 40319  func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
 40320  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40321  	return c
 40322  }
 40323  
 40324  // IfNoneMatch sets the optional parameter which makes the operation
 40325  // fail if the object's ETag matches the given value. This is useful for
 40326  // getting updates only after the object has changed since the last
 40327  // request. Use googleapi.IsNotModified to check whether the response
 40328  // error from Do is the result of In-None-Match.
 40329  func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
 40330  	c.ifNoneMatch_ = entityTag
 40331  	return c
 40332  }
 40333  
 40334  // Context sets the context to be used in this call's Do method. Any
 40335  // pending HTTP request will be aborted if the provided context is
 40336  // canceled.
 40337  func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
 40338  	c.ctx_ = ctx
 40339  	return c
 40340  }
 40341  
 40342  // Header returns an http.Header that can be modified by the caller to
 40343  // add HTTP headers to the request.
 40344  func (c *PlacementsListCall) Header() http.Header {
 40345  	if c.header_ == nil {
 40346  		c.header_ = make(http.Header)
 40347  	}
 40348  	return c.header_
 40349  }
 40350  
 40351  func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 40352  	reqHeaders := make(http.Header)
 40353  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40354  	for k, v := range c.header_ {
 40355  		reqHeaders[k] = v
 40356  	}
 40357  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40358  	if c.ifNoneMatch_ != "" {
 40359  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 40360  	}
 40361  	var body io.Reader = nil
 40362  	c.urlParams_.Set("alt", alt)
 40363  	c.urlParams_.Set("prettyPrint", "false")
 40364  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40365  	urls += "?" + c.urlParams_.Encode()
 40366  	req, err := http.NewRequest("GET", urls, body)
 40367  	if err != nil {
 40368  		return nil, err
 40369  	}
 40370  	req.Header = reqHeaders
 40371  	googleapi.Expand(req.URL, map[string]string{
 40372  		"profileId": strconv.FormatInt(c.profileId, 10),
 40373  	})
 40374  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40375  }
 40376  
 40377  // Do executes the "dfareporting.placements.list" call.
 40378  // Exactly one of *PlacementsListResponse or error will be non-nil. Any
 40379  // non-2xx status code is an error. Response headers are in either
 40380  // *PlacementsListResponse.ServerResponse.Header or (if a response was
 40381  // returned at all) in error.(*googleapi.Error).Header. Use
 40382  // googleapi.IsNotModified to check whether the returned error was
 40383  // because http.StatusNotModified was returned.
 40384  func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
 40385  	gensupport.SetOptions(c.urlParams_, opts...)
 40386  	res, err := c.doRequest("json")
 40387  	if res != nil && res.StatusCode == http.StatusNotModified {
 40388  		if res.Body != nil {
 40389  			res.Body.Close()
 40390  		}
 40391  		return nil, &googleapi.Error{
 40392  			Code:   res.StatusCode,
 40393  			Header: res.Header,
 40394  		}
 40395  	}
 40396  	if err != nil {
 40397  		return nil, err
 40398  	}
 40399  	defer googleapi.CloseBody(res)
 40400  	if err := googleapi.CheckResponse(res); err != nil {
 40401  		return nil, err
 40402  	}
 40403  	ret := &PlacementsListResponse{
 40404  		ServerResponse: googleapi.ServerResponse{
 40405  			Header:         res.Header,
 40406  			HTTPStatusCode: res.StatusCode,
 40407  		},
 40408  	}
 40409  	target := &ret
 40410  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40411  		return nil, err
 40412  	}
 40413  	return ret, nil
 40414  	// {
 40415  	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
 40416  	//   "httpMethod": "GET",
 40417  	//   "id": "dfareporting.placements.list",
 40418  	//   "parameterOrder": [
 40419  	//     "profileId"
 40420  	//   ],
 40421  	//   "parameters": {
 40422  	//     "advertiserIds": {
 40423  	//       "description": "Select only placements that belong to these advertisers.",
 40424  	//       "format": "int64",
 40425  	//       "location": "query",
 40426  	//       "repeated": true,
 40427  	//       "type": "string"
 40428  	//     },
 40429  	//     "archived": {
 40430  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 40431  	//       "location": "query",
 40432  	//       "type": "boolean"
 40433  	//     },
 40434  	//     "campaignIds": {
 40435  	//       "description": "Select only placements that belong to these campaigns.",
 40436  	//       "format": "int64",
 40437  	//       "location": "query",
 40438  	//       "repeated": true,
 40439  	//       "type": "string"
 40440  	//     },
 40441  	//     "compatibilities": {
 40442  	//       "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.",
 40443  	//       "enum": [
 40444  	//         "APP",
 40445  	//         "APP_INTERSTITIAL",
 40446  	//         "DISPLAY",
 40447  	//         "DISPLAY_INTERSTITIAL",
 40448  	//         "IN_STREAM_AUDIO",
 40449  	//         "IN_STREAM_VIDEO"
 40450  	//       ],
 40451  	//       "enumDescriptions": [
 40452  	//         "",
 40453  	//         "",
 40454  	//         "",
 40455  	//         "",
 40456  	//         "",
 40457  	//         ""
 40458  	//       ],
 40459  	//       "location": "query",
 40460  	//       "repeated": true,
 40461  	//       "type": "string"
 40462  	//     },
 40463  	//     "contentCategoryIds": {
 40464  	//       "description": "Select only placements that are associated with these content categories.",
 40465  	//       "format": "int64",
 40466  	//       "location": "query",
 40467  	//       "repeated": true,
 40468  	//       "type": "string"
 40469  	//     },
 40470  	//     "directorySiteIds": {
 40471  	//       "description": "Select only placements that are associated with these directory sites.",
 40472  	//       "format": "int64",
 40473  	//       "location": "query",
 40474  	//       "repeated": true,
 40475  	//       "type": "string"
 40476  	//     },
 40477  	//     "groupIds": {
 40478  	//       "description": "Select only placements that belong to these placement groups.",
 40479  	//       "format": "int64",
 40480  	//       "location": "query",
 40481  	//       "repeated": true,
 40482  	//       "type": "string"
 40483  	//     },
 40484  	//     "ids": {
 40485  	//       "description": "Select only placements with these IDs.",
 40486  	//       "format": "int64",
 40487  	//       "location": "query",
 40488  	//       "repeated": true,
 40489  	//       "type": "string"
 40490  	//     },
 40491  	//     "maxEndDate": {
 40492  	//       "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\".",
 40493  	//       "location": "query",
 40494  	//       "type": "string"
 40495  	//     },
 40496  	//     "maxResults": {
 40497  	//       "default": "1000",
 40498  	//       "description": "Maximum number of results to return.",
 40499  	//       "format": "int32",
 40500  	//       "location": "query",
 40501  	//       "maximum": "1000",
 40502  	//       "minimum": "0",
 40503  	//       "type": "integer"
 40504  	//     },
 40505  	//     "maxStartDate": {
 40506  	//       "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\".",
 40507  	//       "location": "query",
 40508  	//       "type": "string"
 40509  	//     },
 40510  	//     "minEndDate": {
 40511  	//       "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\".",
 40512  	//       "location": "query",
 40513  	//       "type": "string"
 40514  	//     },
 40515  	//     "minStartDate": {
 40516  	//       "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\".",
 40517  	//       "location": "query",
 40518  	//       "type": "string"
 40519  	//     },
 40520  	//     "pageToken": {
 40521  	//       "description": "Value of the nextPageToken from the previous result page.",
 40522  	//       "location": "query",
 40523  	//       "type": "string"
 40524  	//     },
 40525  	//     "paymentSource": {
 40526  	//       "description": "Select only placements with this payment source.",
 40527  	//       "enum": [
 40528  	//         "PLACEMENT_AGENCY_PAID",
 40529  	//         "PLACEMENT_PUBLISHER_PAID"
 40530  	//       ],
 40531  	//       "enumDescriptions": [
 40532  	//         "",
 40533  	//         ""
 40534  	//       ],
 40535  	//       "location": "query",
 40536  	//       "type": "string"
 40537  	//     },
 40538  	//     "placementStrategyIds": {
 40539  	//       "description": "Select only placements that are associated with these placement strategies.",
 40540  	//       "format": "int64",
 40541  	//       "location": "query",
 40542  	//       "repeated": true,
 40543  	//       "type": "string"
 40544  	//     },
 40545  	//     "pricingTypes": {
 40546  	//       "description": "Select only placements with these pricing types.",
 40547  	//       "enum": [
 40548  	//         "PRICING_TYPE_CPA",
 40549  	//         "PRICING_TYPE_CPC",
 40550  	//         "PRICING_TYPE_CPM",
 40551  	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
 40552  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 40553  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 40554  	//       ],
 40555  	//       "enumDescriptions": [
 40556  	//         "",
 40557  	//         "",
 40558  	//         "",
 40559  	//         "",
 40560  	//         "",
 40561  	//         ""
 40562  	//       ],
 40563  	//       "location": "query",
 40564  	//       "repeated": true,
 40565  	//       "type": "string"
 40566  	//     },
 40567  	//     "profileId": {
 40568  	//       "description": "User profile ID associated with this request.",
 40569  	//       "format": "int64",
 40570  	//       "location": "path",
 40571  	//       "required": true,
 40572  	//       "type": "string"
 40573  	//     },
 40574  	//     "searchString": {
 40575  	//       "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\".",
 40576  	//       "location": "query",
 40577  	//       "type": "string"
 40578  	//     },
 40579  	//     "siteIds": {
 40580  	//       "description": "Select only placements that are associated with these sites.",
 40581  	//       "format": "int64",
 40582  	//       "location": "query",
 40583  	//       "repeated": true,
 40584  	//       "type": "string"
 40585  	//     },
 40586  	//     "sizeIds": {
 40587  	//       "description": "Select only placements that are associated with these sizes.",
 40588  	//       "format": "int64",
 40589  	//       "location": "query",
 40590  	//       "repeated": true,
 40591  	//       "type": "string"
 40592  	//     },
 40593  	//     "sortField": {
 40594  	//       "default": "ID",
 40595  	//       "description": "Field by which to sort the list.",
 40596  	//       "enum": [
 40597  	//         "ID",
 40598  	//         "NAME"
 40599  	//       ],
 40600  	//       "enumDescriptions": [
 40601  	//         "",
 40602  	//         ""
 40603  	//       ],
 40604  	//       "location": "query",
 40605  	//       "type": "string"
 40606  	//     },
 40607  	//     "sortOrder": {
 40608  	//       "default": "ASCENDING",
 40609  	//       "description": "Order of sorted results.",
 40610  	//       "enum": [
 40611  	//         "ASCENDING",
 40612  	//         "DESCENDING"
 40613  	//       ],
 40614  	//       "enumDescriptions": [
 40615  	//         "",
 40616  	//         ""
 40617  	//       ],
 40618  	//       "location": "query",
 40619  	//       "type": "string"
 40620  	//     }
 40621  	//   },
 40622  	//   "path": "userprofiles/{profileId}/placements",
 40623  	//   "response": {
 40624  	//     "$ref": "PlacementsListResponse"
 40625  	//   },
 40626  	//   "scopes": [
 40627  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40628  	//   ]
 40629  	// }
 40630  
 40631  }
 40632  
 40633  // Pages invokes f for each page of results.
 40634  // A non-nil error returned from f will halt the iteration.
 40635  // The provided context supersedes any context provided to the Context method.
 40636  func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
 40637  	c.ctx_ = ctx
 40638  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 40639  	for {
 40640  		x, err := c.Do()
 40641  		if err != nil {
 40642  			return err
 40643  		}
 40644  		if err := f(x); err != nil {
 40645  			return err
 40646  		}
 40647  		if x.NextPageToken == "" {
 40648  			return nil
 40649  		}
 40650  		c.PageToken(x.NextPageToken)
 40651  	}
 40652  }
 40653  
 40654  // method id "dfareporting.placements.patch":
 40655  
 40656  type PlacementsPatchCall struct {
 40657  	s          *Service
 40658  	profileId  int64
 40659  	placement  *Placement
 40660  	urlParams_ gensupport.URLParams
 40661  	ctx_       context.Context
 40662  	header_    http.Header
 40663  }
 40664  
 40665  // Patch: Updates an existing placement. This method supports patch
 40666  // semantics.
 40667  func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
 40668  	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40669  	c.profileId = profileId
 40670  	c.urlParams_.Set("id", fmt.Sprint(id))
 40671  	c.placement = placement
 40672  	return c
 40673  }
 40674  
 40675  // Fields allows partial responses to be retrieved. See
 40676  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40677  // for more information.
 40678  func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
 40679  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40680  	return c
 40681  }
 40682  
 40683  // Context sets the context to be used in this call's Do method. Any
 40684  // pending HTTP request will be aborted if the provided context is
 40685  // canceled.
 40686  func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
 40687  	c.ctx_ = ctx
 40688  	return c
 40689  }
 40690  
 40691  // Header returns an http.Header that can be modified by the caller to
 40692  // add HTTP headers to the request.
 40693  func (c *PlacementsPatchCall) Header() http.Header {
 40694  	if c.header_ == nil {
 40695  		c.header_ = make(http.Header)
 40696  	}
 40697  	return c.header_
 40698  }
 40699  
 40700  func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
 40701  	reqHeaders := make(http.Header)
 40702  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40703  	for k, v := range c.header_ {
 40704  		reqHeaders[k] = v
 40705  	}
 40706  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40707  	var body io.Reader = nil
 40708  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 40709  	if err != nil {
 40710  		return nil, err
 40711  	}
 40712  	reqHeaders.Set("Content-Type", "application/json")
 40713  	c.urlParams_.Set("alt", alt)
 40714  	c.urlParams_.Set("prettyPrint", "false")
 40715  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40716  	urls += "?" + c.urlParams_.Encode()
 40717  	req, err := http.NewRequest("PATCH", urls, body)
 40718  	if err != nil {
 40719  		return nil, err
 40720  	}
 40721  	req.Header = reqHeaders
 40722  	googleapi.Expand(req.URL, map[string]string{
 40723  		"profileId": strconv.FormatInt(c.profileId, 10),
 40724  	})
 40725  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40726  }
 40727  
 40728  // Do executes the "dfareporting.placements.patch" call.
 40729  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40730  // status code is an error. Response headers are in either
 40731  // *Placement.ServerResponse.Header or (if a response was returned at
 40732  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40733  // to check whether the returned error was because
 40734  // http.StatusNotModified was returned.
 40735  func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40736  	gensupport.SetOptions(c.urlParams_, opts...)
 40737  	res, err := c.doRequest("json")
 40738  	if res != nil && res.StatusCode == http.StatusNotModified {
 40739  		if res.Body != nil {
 40740  			res.Body.Close()
 40741  		}
 40742  		return nil, &googleapi.Error{
 40743  			Code:   res.StatusCode,
 40744  			Header: res.Header,
 40745  		}
 40746  	}
 40747  	if err != nil {
 40748  		return nil, err
 40749  	}
 40750  	defer googleapi.CloseBody(res)
 40751  	if err := googleapi.CheckResponse(res); err != nil {
 40752  		return nil, err
 40753  	}
 40754  	ret := &Placement{
 40755  		ServerResponse: googleapi.ServerResponse{
 40756  			Header:         res.Header,
 40757  			HTTPStatusCode: res.StatusCode,
 40758  		},
 40759  	}
 40760  	target := &ret
 40761  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40762  		return nil, err
 40763  	}
 40764  	return ret, nil
 40765  	// {
 40766  	//   "description": "Updates an existing placement. This method supports patch semantics.",
 40767  	//   "httpMethod": "PATCH",
 40768  	//   "id": "dfareporting.placements.patch",
 40769  	//   "parameterOrder": [
 40770  	//     "profileId",
 40771  	//     "id"
 40772  	//   ],
 40773  	//   "parameters": {
 40774  	//     "id": {
 40775  	//       "description": "Placement ID.",
 40776  	//       "format": "int64",
 40777  	//       "location": "query",
 40778  	//       "required": true,
 40779  	//       "type": "string"
 40780  	//     },
 40781  	//     "profileId": {
 40782  	//       "description": "User profile ID associated with this request.",
 40783  	//       "format": "int64",
 40784  	//       "location": "path",
 40785  	//       "required": true,
 40786  	//       "type": "string"
 40787  	//     }
 40788  	//   },
 40789  	//   "path": "userprofiles/{profileId}/placements",
 40790  	//   "request": {
 40791  	//     "$ref": "Placement"
 40792  	//   },
 40793  	//   "response": {
 40794  	//     "$ref": "Placement"
 40795  	//   },
 40796  	//   "scopes": [
 40797  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40798  	//   ]
 40799  	// }
 40800  
 40801  }
 40802  
 40803  // method id "dfareporting.placements.update":
 40804  
 40805  type PlacementsUpdateCall struct {
 40806  	s          *Service
 40807  	profileId  int64
 40808  	placement  *Placement
 40809  	urlParams_ gensupport.URLParams
 40810  	ctx_       context.Context
 40811  	header_    http.Header
 40812  }
 40813  
 40814  // Update: Updates an existing placement.
 40815  func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
 40816  	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40817  	c.profileId = profileId
 40818  	c.placement = placement
 40819  	return c
 40820  }
 40821  
 40822  // Fields allows partial responses to be retrieved. See
 40823  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40824  // for more information.
 40825  func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
 40826  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40827  	return c
 40828  }
 40829  
 40830  // Context sets the context to be used in this call's Do method. Any
 40831  // pending HTTP request will be aborted if the provided context is
 40832  // canceled.
 40833  func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
 40834  	c.ctx_ = ctx
 40835  	return c
 40836  }
 40837  
 40838  // Header returns an http.Header that can be modified by the caller to
 40839  // add HTTP headers to the request.
 40840  func (c *PlacementsUpdateCall) Header() http.Header {
 40841  	if c.header_ == nil {
 40842  		c.header_ = make(http.Header)
 40843  	}
 40844  	return c.header_
 40845  }
 40846  
 40847  func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
 40848  	reqHeaders := make(http.Header)
 40849  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40850  	for k, v := range c.header_ {
 40851  		reqHeaders[k] = v
 40852  	}
 40853  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40854  	var body io.Reader = nil
 40855  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 40856  	if err != nil {
 40857  		return nil, err
 40858  	}
 40859  	reqHeaders.Set("Content-Type", "application/json")
 40860  	c.urlParams_.Set("alt", alt)
 40861  	c.urlParams_.Set("prettyPrint", "false")
 40862  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40863  	urls += "?" + c.urlParams_.Encode()
 40864  	req, err := http.NewRequest("PUT", urls, body)
 40865  	if err != nil {
 40866  		return nil, err
 40867  	}
 40868  	req.Header = reqHeaders
 40869  	googleapi.Expand(req.URL, map[string]string{
 40870  		"profileId": strconv.FormatInt(c.profileId, 10),
 40871  	})
 40872  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40873  }
 40874  
 40875  // Do executes the "dfareporting.placements.update" call.
 40876  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40877  // status code is an error. Response headers are in either
 40878  // *Placement.ServerResponse.Header or (if a response was returned at
 40879  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40880  // to check whether the returned error was because
 40881  // http.StatusNotModified was returned.
 40882  func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40883  	gensupport.SetOptions(c.urlParams_, opts...)
 40884  	res, err := c.doRequest("json")
 40885  	if res != nil && res.StatusCode == http.StatusNotModified {
 40886  		if res.Body != nil {
 40887  			res.Body.Close()
 40888  		}
 40889  		return nil, &googleapi.Error{
 40890  			Code:   res.StatusCode,
 40891  			Header: res.Header,
 40892  		}
 40893  	}
 40894  	if err != nil {
 40895  		return nil, err
 40896  	}
 40897  	defer googleapi.CloseBody(res)
 40898  	if err := googleapi.CheckResponse(res); err != nil {
 40899  		return nil, err
 40900  	}
 40901  	ret := &Placement{
 40902  		ServerResponse: googleapi.ServerResponse{
 40903  			Header:         res.Header,
 40904  			HTTPStatusCode: res.StatusCode,
 40905  		},
 40906  	}
 40907  	target := &ret
 40908  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40909  		return nil, err
 40910  	}
 40911  	return ret, nil
 40912  	// {
 40913  	//   "description": "Updates an existing placement.",
 40914  	//   "httpMethod": "PUT",
 40915  	//   "id": "dfareporting.placements.update",
 40916  	//   "parameterOrder": [
 40917  	//     "profileId"
 40918  	//   ],
 40919  	//   "parameters": {
 40920  	//     "profileId": {
 40921  	//       "description": "User profile ID associated with this request.",
 40922  	//       "format": "int64",
 40923  	//       "location": "path",
 40924  	//       "required": true,
 40925  	//       "type": "string"
 40926  	//     }
 40927  	//   },
 40928  	//   "path": "userprofiles/{profileId}/placements",
 40929  	//   "request": {
 40930  	//     "$ref": "Placement"
 40931  	//   },
 40932  	//   "response": {
 40933  	//     "$ref": "Placement"
 40934  	//   },
 40935  	//   "scopes": [
 40936  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40937  	//   ]
 40938  	// }
 40939  
 40940  }
 40941  
 40942  // method id "dfareporting.platformTypes.get":
 40943  
 40944  type PlatformTypesGetCall struct {
 40945  	s            *Service
 40946  	profileId    int64
 40947  	id           int64
 40948  	urlParams_   gensupport.URLParams
 40949  	ifNoneMatch_ string
 40950  	ctx_         context.Context
 40951  	header_      http.Header
 40952  }
 40953  
 40954  // Get: Gets one platform type by ID.
 40955  func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
 40956  	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40957  	c.profileId = profileId
 40958  	c.id = id
 40959  	return c
 40960  }
 40961  
 40962  // Fields allows partial responses to be retrieved. See
 40963  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40964  // for more information.
 40965  func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
 40966  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40967  	return c
 40968  }
 40969  
 40970  // IfNoneMatch sets the optional parameter which makes the operation
 40971  // fail if the object's ETag matches the given value. This is useful for
 40972  // getting updates only after the object has changed since the last
 40973  // request. Use googleapi.IsNotModified to check whether the response
 40974  // error from Do is the result of In-None-Match.
 40975  func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
 40976  	c.ifNoneMatch_ = entityTag
 40977  	return c
 40978  }
 40979  
 40980  // Context sets the context to be used in this call's Do method. Any
 40981  // pending HTTP request will be aborted if the provided context is
 40982  // canceled.
 40983  func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
 40984  	c.ctx_ = ctx
 40985  	return c
 40986  }
 40987  
 40988  // Header returns an http.Header that can be modified by the caller to
 40989  // add HTTP headers to the request.
 40990  func (c *PlatformTypesGetCall) Header() http.Header {
 40991  	if c.header_ == nil {
 40992  		c.header_ = make(http.Header)
 40993  	}
 40994  	return c.header_
 40995  }
 40996  
 40997  func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
 40998  	reqHeaders := make(http.Header)
 40999  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41000  	for k, v := range c.header_ {
 41001  		reqHeaders[k] = v
 41002  	}
 41003  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41004  	if c.ifNoneMatch_ != "" {
 41005  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41006  	}
 41007  	var body io.Reader = nil
 41008  	c.urlParams_.Set("alt", alt)
 41009  	c.urlParams_.Set("prettyPrint", "false")
 41010  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
 41011  	urls += "?" + c.urlParams_.Encode()
 41012  	req, err := http.NewRequest("GET", urls, body)
 41013  	if err != nil {
 41014  		return nil, err
 41015  	}
 41016  	req.Header = reqHeaders
 41017  	googleapi.Expand(req.URL, map[string]string{
 41018  		"profileId": strconv.FormatInt(c.profileId, 10),
 41019  		"id":        strconv.FormatInt(c.id, 10),
 41020  	})
 41021  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41022  }
 41023  
 41024  // Do executes the "dfareporting.platformTypes.get" call.
 41025  // Exactly one of *PlatformType or error will be non-nil. Any non-2xx
 41026  // status code is an error. Response headers are in either
 41027  // *PlatformType.ServerResponse.Header or (if a response was returned at
 41028  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41029  // to check whether the returned error was because
 41030  // http.StatusNotModified was returned.
 41031  func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
 41032  	gensupport.SetOptions(c.urlParams_, opts...)
 41033  	res, err := c.doRequest("json")
 41034  	if res != nil && res.StatusCode == http.StatusNotModified {
 41035  		if res.Body != nil {
 41036  			res.Body.Close()
 41037  		}
 41038  		return nil, &googleapi.Error{
 41039  			Code:   res.StatusCode,
 41040  			Header: res.Header,
 41041  		}
 41042  	}
 41043  	if err != nil {
 41044  		return nil, err
 41045  	}
 41046  	defer googleapi.CloseBody(res)
 41047  	if err := googleapi.CheckResponse(res); err != nil {
 41048  		return nil, err
 41049  	}
 41050  	ret := &PlatformType{
 41051  		ServerResponse: googleapi.ServerResponse{
 41052  			Header:         res.Header,
 41053  			HTTPStatusCode: res.StatusCode,
 41054  		},
 41055  	}
 41056  	target := &ret
 41057  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41058  		return nil, err
 41059  	}
 41060  	return ret, nil
 41061  	// {
 41062  	//   "description": "Gets one platform type by ID.",
 41063  	//   "httpMethod": "GET",
 41064  	//   "id": "dfareporting.platformTypes.get",
 41065  	//   "parameterOrder": [
 41066  	//     "profileId",
 41067  	//     "id"
 41068  	//   ],
 41069  	//   "parameters": {
 41070  	//     "id": {
 41071  	//       "description": "Platform type ID.",
 41072  	//       "format": "int64",
 41073  	//       "location": "path",
 41074  	//       "required": true,
 41075  	//       "type": "string"
 41076  	//     },
 41077  	//     "profileId": {
 41078  	//       "description": "User profile ID associated with this request.",
 41079  	//       "format": "int64",
 41080  	//       "location": "path",
 41081  	//       "required": true,
 41082  	//       "type": "string"
 41083  	//     }
 41084  	//   },
 41085  	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
 41086  	//   "response": {
 41087  	//     "$ref": "PlatformType"
 41088  	//   },
 41089  	//   "scopes": [
 41090  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41091  	//   ]
 41092  	// }
 41093  
 41094  }
 41095  
 41096  // method id "dfareporting.platformTypes.list":
 41097  
 41098  type PlatformTypesListCall struct {
 41099  	s            *Service
 41100  	profileId    int64
 41101  	urlParams_   gensupport.URLParams
 41102  	ifNoneMatch_ string
 41103  	ctx_         context.Context
 41104  	header_      http.Header
 41105  }
 41106  
 41107  // List: Retrieves a list of platform types.
 41108  func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
 41109  	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41110  	c.profileId = profileId
 41111  	return c
 41112  }
 41113  
 41114  // Fields allows partial responses to be retrieved. See
 41115  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41116  // for more information.
 41117  func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
 41118  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41119  	return c
 41120  }
 41121  
 41122  // IfNoneMatch sets the optional parameter which makes the operation
 41123  // fail if the object's ETag matches the given value. This is useful for
 41124  // getting updates only after the object has changed since the last
 41125  // request. Use googleapi.IsNotModified to check whether the response
 41126  // error from Do is the result of In-None-Match.
 41127  func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
 41128  	c.ifNoneMatch_ = entityTag
 41129  	return c
 41130  }
 41131  
 41132  // Context sets the context to be used in this call's Do method. Any
 41133  // pending HTTP request will be aborted if the provided context is
 41134  // canceled.
 41135  func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
 41136  	c.ctx_ = ctx
 41137  	return c
 41138  }
 41139  
 41140  // Header returns an http.Header that can be modified by the caller to
 41141  // add HTTP headers to the request.
 41142  func (c *PlatformTypesListCall) Header() http.Header {
 41143  	if c.header_ == nil {
 41144  		c.header_ = make(http.Header)
 41145  	}
 41146  	return c.header_
 41147  }
 41148  
 41149  func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 41150  	reqHeaders := make(http.Header)
 41151  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41152  	for k, v := range c.header_ {
 41153  		reqHeaders[k] = v
 41154  	}
 41155  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41156  	if c.ifNoneMatch_ != "" {
 41157  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41158  	}
 41159  	var body io.Reader = nil
 41160  	c.urlParams_.Set("alt", alt)
 41161  	c.urlParams_.Set("prettyPrint", "false")
 41162  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
 41163  	urls += "?" + c.urlParams_.Encode()
 41164  	req, err := http.NewRequest("GET", urls, body)
 41165  	if err != nil {
 41166  		return nil, err
 41167  	}
 41168  	req.Header = reqHeaders
 41169  	googleapi.Expand(req.URL, map[string]string{
 41170  		"profileId": strconv.FormatInt(c.profileId, 10),
 41171  	})
 41172  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41173  }
 41174  
 41175  // Do executes the "dfareporting.platformTypes.list" call.
 41176  // Exactly one of *PlatformTypesListResponse or error will be non-nil.
 41177  // Any non-2xx status code is an error. Response headers are in either
 41178  // *PlatformTypesListResponse.ServerResponse.Header or (if a response
 41179  // was returned at all) in error.(*googleapi.Error).Header. Use
 41180  // googleapi.IsNotModified to check whether the returned error was
 41181  // because http.StatusNotModified was returned.
 41182  func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
 41183  	gensupport.SetOptions(c.urlParams_, opts...)
 41184  	res, err := c.doRequest("json")
 41185  	if res != nil && res.StatusCode == http.StatusNotModified {
 41186  		if res.Body != nil {
 41187  			res.Body.Close()
 41188  		}
 41189  		return nil, &googleapi.Error{
 41190  			Code:   res.StatusCode,
 41191  			Header: res.Header,
 41192  		}
 41193  	}
 41194  	if err != nil {
 41195  		return nil, err
 41196  	}
 41197  	defer googleapi.CloseBody(res)
 41198  	if err := googleapi.CheckResponse(res); err != nil {
 41199  		return nil, err
 41200  	}
 41201  	ret := &PlatformTypesListResponse{
 41202  		ServerResponse: googleapi.ServerResponse{
 41203  			Header:         res.Header,
 41204  			HTTPStatusCode: res.StatusCode,
 41205  		},
 41206  	}
 41207  	target := &ret
 41208  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41209  		return nil, err
 41210  	}
 41211  	return ret, nil
 41212  	// {
 41213  	//   "description": "Retrieves a list of platform types.",
 41214  	//   "httpMethod": "GET",
 41215  	//   "id": "dfareporting.platformTypes.list",
 41216  	//   "parameterOrder": [
 41217  	//     "profileId"
 41218  	//   ],
 41219  	//   "parameters": {
 41220  	//     "profileId": {
 41221  	//       "description": "User profile ID associated with this request.",
 41222  	//       "format": "int64",
 41223  	//       "location": "path",
 41224  	//       "required": true,
 41225  	//       "type": "string"
 41226  	//     }
 41227  	//   },
 41228  	//   "path": "userprofiles/{profileId}/platformTypes",
 41229  	//   "response": {
 41230  	//     "$ref": "PlatformTypesListResponse"
 41231  	//   },
 41232  	//   "scopes": [
 41233  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41234  	//   ]
 41235  	// }
 41236  
 41237  }
 41238  
 41239  // method id "dfareporting.postalCodes.get":
 41240  
 41241  type PostalCodesGetCall struct {
 41242  	s            *Service
 41243  	profileId    int64
 41244  	code         string
 41245  	urlParams_   gensupport.URLParams
 41246  	ifNoneMatch_ string
 41247  	ctx_         context.Context
 41248  	header_      http.Header
 41249  }
 41250  
 41251  // Get: Gets one postal code by ID.
 41252  func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
 41253  	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41254  	c.profileId = profileId
 41255  	c.code = code
 41256  	return c
 41257  }
 41258  
 41259  // Fields allows partial responses to be retrieved. See
 41260  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41261  // for more information.
 41262  func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
 41263  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41264  	return c
 41265  }
 41266  
 41267  // IfNoneMatch sets the optional parameter which makes the operation
 41268  // fail if the object's ETag matches the given value. This is useful for
 41269  // getting updates only after the object has changed since the last
 41270  // request. Use googleapi.IsNotModified to check whether the response
 41271  // error from Do is the result of In-None-Match.
 41272  func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
 41273  	c.ifNoneMatch_ = entityTag
 41274  	return c
 41275  }
 41276  
 41277  // Context sets the context to be used in this call's Do method. Any
 41278  // pending HTTP request will be aborted if the provided context is
 41279  // canceled.
 41280  func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
 41281  	c.ctx_ = ctx
 41282  	return c
 41283  }
 41284  
 41285  // Header returns an http.Header that can be modified by the caller to
 41286  // add HTTP headers to the request.
 41287  func (c *PostalCodesGetCall) Header() http.Header {
 41288  	if c.header_ == nil {
 41289  		c.header_ = make(http.Header)
 41290  	}
 41291  	return c.header_
 41292  }
 41293  
 41294  func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
 41295  	reqHeaders := make(http.Header)
 41296  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41297  	for k, v := range c.header_ {
 41298  		reqHeaders[k] = v
 41299  	}
 41300  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41301  	if c.ifNoneMatch_ != "" {
 41302  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41303  	}
 41304  	var body io.Reader = nil
 41305  	c.urlParams_.Set("alt", alt)
 41306  	c.urlParams_.Set("prettyPrint", "false")
 41307  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
 41308  	urls += "?" + c.urlParams_.Encode()
 41309  	req, err := http.NewRequest("GET", urls, body)
 41310  	if err != nil {
 41311  		return nil, err
 41312  	}
 41313  	req.Header = reqHeaders
 41314  	googleapi.Expand(req.URL, map[string]string{
 41315  		"profileId": strconv.FormatInt(c.profileId, 10),
 41316  		"code":      c.code,
 41317  	})
 41318  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41319  }
 41320  
 41321  // Do executes the "dfareporting.postalCodes.get" call.
 41322  // Exactly one of *PostalCode or error will be non-nil. Any non-2xx
 41323  // status code is an error. Response headers are in either
 41324  // *PostalCode.ServerResponse.Header or (if a response was returned at
 41325  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41326  // to check whether the returned error was because
 41327  // http.StatusNotModified was returned.
 41328  func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
 41329  	gensupport.SetOptions(c.urlParams_, opts...)
 41330  	res, err := c.doRequest("json")
 41331  	if res != nil && res.StatusCode == http.StatusNotModified {
 41332  		if res.Body != nil {
 41333  			res.Body.Close()
 41334  		}
 41335  		return nil, &googleapi.Error{
 41336  			Code:   res.StatusCode,
 41337  			Header: res.Header,
 41338  		}
 41339  	}
 41340  	if err != nil {
 41341  		return nil, err
 41342  	}
 41343  	defer googleapi.CloseBody(res)
 41344  	if err := googleapi.CheckResponse(res); err != nil {
 41345  		return nil, err
 41346  	}
 41347  	ret := &PostalCode{
 41348  		ServerResponse: googleapi.ServerResponse{
 41349  			Header:         res.Header,
 41350  			HTTPStatusCode: res.StatusCode,
 41351  		},
 41352  	}
 41353  	target := &ret
 41354  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41355  		return nil, err
 41356  	}
 41357  	return ret, nil
 41358  	// {
 41359  	//   "description": "Gets one postal code by ID.",
 41360  	//   "httpMethod": "GET",
 41361  	//   "id": "dfareporting.postalCodes.get",
 41362  	//   "parameterOrder": [
 41363  	//     "profileId",
 41364  	//     "code"
 41365  	//   ],
 41366  	//   "parameters": {
 41367  	//     "code": {
 41368  	//       "description": "Postal code ID.",
 41369  	//       "location": "path",
 41370  	//       "required": true,
 41371  	//       "type": "string"
 41372  	//     },
 41373  	//     "profileId": {
 41374  	//       "description": "User profile ID associated with this request.",
 41375  	//       "format": "int64",
 41376  	//       "location": "path",
 41377  	//       "required": true,
 41378  	//       "type": "string"
 41379  	//     }
 41380  	//   },
 41381  	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
 41382  	//   "response": {
 41383  	//     "$ref": "PostalCode"
 41384  	//   },
 41385  	//   "scopes": [
 41386  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41387  	//   ]
 41388  	// }
 41389  
 41390  }
 41391  
 41392  // method id "dfareporting.postalCodes.list":
 41393  
 41394  type PostalCodesListCall struct {
 41395  	s            *Service
 41396  	profileId    int64
 41397  	urlParams_   gensupport.URLParams
 41398  	ifNoneMatch_ string
 41399  	ctx_         context.Context
 41400  	header_      http.Header
 41401  }
 41402  
 41403  // List: Retrieves a list of postal codes.
 41404  func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
 41405  	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41406  	c.profileId = profileId
 41407  	return c
 41408  }
 41409  
 41410  // Fields allows partial responses to be retrieved. See
 41411  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41412  // for more information.
 41413  func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
 41414  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41415  	return c
 41416  }
 41417  
 41418  // IfNoneMatch sets the optional parameter which makes the operation
 41419  // fail if the object's ETag matches the given value. This is useful for
 41420  // getting updates only after the object has changed since the last
 41421  // request. Use googleapi.IsNotModified to check whether the response
 41422  // error from Do is the result of In-None-Match.
 41423  func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
 41424  	c.ifNoneMatch_ = entityTag
 41425  	return c
 41426  }
 41427  
 41428  // Context sets the context to be used in this call's Do method. Any
 41429  // pending HTTP request will be aborted if the provided context is
 41430  // canceled.
 41431  func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
 41432  	c.ctx_ = ctx
 41433  	return c
 41434  }
 41435  
 41436  // Header returns an http.Header that can be modified by the caller to
 41437  // add HTTP headers to the request.
 41438  func (c *PostalCodesListCall) Header() http.Header {
 41439  	if c.header_ == nil {
 41440  		c.header_ = make(http.Header)
 41441  	}
 41442  	return c.header_
 41443  }
 41444  
 41445  func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 41446  	reqHeaders := make(http.Header)
 41447  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41448  	for k, v := range c.header_ {
 41449  		reqHeaders[k] = v
 41450  	}
 41451  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41452  	if c.ifNoneMatch_ != "" {
 41453  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41454  	}
 41455  	var body io.Reader = nil
 41456  	c.urlParams_.Set("alt", alt)
 41457  	c.urlParams_.Set("prettyPrint", "false")
 41458  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
 41459  	urls += "?" + c.urlParams_.Encode()
 41460  	req, err := http.NewRequest("GET", urls, body)
 41461  	if err != nil {
 41462  		return nil, err
 41463  	}
 41464  	req.Header = reqHeaders
 41465  	googleapi.Expand(req.URL, map[string]string{
 41466  		"profileId": strconv.FormatInt(c.profileId, 10),
 41467  	})
 41468  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41469  }
 41470  
 41471  // Do executes the "dfareporting.postalCodes.list" call.
 41472  // Exactly one of *PostalCodesListResponse or error will be non-nil. Any
 41473  // non-2xx status code is an error. Response headers are in either
 41474  // *PostalCodesListResponse.ServerResponse.Header or (if a response was
 41475  // returned at all) in error.(*googleapi.Error).Header. Use
 41476  // googleapi.IsNotModified to check whether the returned error was
 41477  // because http.StatusNotModified was returned.
 41478  func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
 41479  	gensupport.SetOptions(c.urlParams_, opts...)
 41480  	res, err := c.doRequest("json")
 41481  	if res != nil && res.StatusCode == http.StatusNotModified {
 41482  		if res.Body != nil {
 41483  			res.Body.Close()
 41484  		}
 41485  		return nil, &googleapi.Error{
 41486  			Code:   res.StatusCode,
 41487  			Header: res.Header,
 41488  		}
 41489  	}
 41490  	if err != nil {
 41491  		return nil, err
 41492  	}
 41493  	defer googleapi.CloseBody(res)
 41494  	if err := googleapi.CheckResponse(res); err != nil {
 41495  		return nil, err
 41496  	}
 41497  	ret := &PostalCodesListResponse{
 41498  		ServerResponse: googleapi.ServerResponse{
 41499  			Header:         res.Header,
 41500  			HTTPStatusCode: res.StatusCode,
 41501  		},
 41502  	}
 41503  	target := &ret
 41504  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41505  		return nil, err
 41506  	}
 41507  	return ret, nil
 41508  	// {
 41509  	//   "description": "Retrieves a list of postal codes.",
 41510  	//   "httpMethod": "GET",
 41511  	//   "id": "dfareporting.postalCodes.list",
 41512  	//   "parameterOrder": [
 41513  	//     "profileId"
 41514  	//   ],
 41515  	//   "parameters": {
 41516  	//     "profileId": {
 41517  	//       "description": "User profile ID associated with this request.",
 41518  	//       "format": "int64",
 41519  	//       "location": "path",
 41520  	//       "required": true,
 41521  	//       "type": "string"
 41522  	//     }
 41523  	//   },
 41524  	//   "path": "userprofiles/{profileId}/postalCodes",
 41525  	//   "response": {
 41526  	//     "$ref": "PostalCodesListResponse"
 41527  	//   },
 41528  	//   "scopes": [
 41529  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41530  	//   ]
 41531  	// }
 41532  
 41533  }
 41534  
 41535  // method id "dfareporting.projects.get":
 41536  
 41537  type ProjectsGetCall struct {
 41538  	s            *Service
 41539  	profileId    int64
 41540  	id           int64
 41541  	urlParams_   gensupport.URLParams
 41542  	ifNoneMatch_ string
 41543  	ctx_         context.Context
 41544  	header_      http.Header
 41545  }
 41546  
 41547  // Get: Gets one project by ID.
 41548  func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
 41549  	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41550  	c.profileId = profileId
 41551  	c.id = id
 41552  	return c
 41553  }
 41554  
 41555  // Fields allows partial responses to be retrieved. See
 41556  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41557  // for more information.
 41558  func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
 41559  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41560  	return c
 41561  }
 41562  
 41563  // IfNoneMatch sets the optional parameter which makes the operation
 41564  // fail if the object's ETag matches the given value. This is useful for
 41565  // getting updates only after the object has changed since the last
 41566  // request. Use googleapi.IsNotModified to check whether the response
 41567  // error from Do is the result of In-None-Match.
 41568  func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
 41569  	c.ifNoneMatch_ = entityTag
 41570  	return c
 41571  }
 41572  
 41573  // Context sets the context to be used in this call's Do method. Any
 41574  // pending HTTP request will be aborted if the provided context is
 41575  // canceled.
 41576  func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 41577  	c.ctx_ = ctx
 41578  	return c
 41579  }
 41580  
 41581  // Header returns an http.Header that can be modified by the caller to
 41582  // add HTTP headers to the request.
 41583  func (c *ProjectsGetCall) Header() http.Header {
 41584  	if c.header_ == nil {
 41585  		c.header_ = make(http.Header)
 41586  	}
 41587  	return c.header_
 41588  }
 41589  
 41590  func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 41591  	reqHeaders := make(http.Header)
 41592  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41593  	for k, v := range c.header_ {
 41594  		reqHeaders[k] = v
 41595  	}
 41596  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41597  	if c.ifNoneMatch_ != "" {
 41598  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41599  	}
 41600  	var body io.Reader = nil
 41601  	c.urlParams_.Set("alt", alt)
 41602  	c.urlParams_.Set("prettyPrint", "false")
 41603  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
 41604  	urls += "?" + c.urlParams_.Encode()
 41605  	req, err := http.NewRequest("GET", urls, body)
 41606  	if err != nil {
 41607  		return nil, err
 41608  	}
 41609  	req.Header = reqHeaders
 41610  	googleapi.Expand(req.URL, map[string]string{
 41611  		"profileId": strconv.FormatInt(c.profileId, 10),
 41612  		"id":        strconv.FormatInt(c.id, 10),
 41613  	})
 41614  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41615  }
 41616  
 41617  // Do executes the "dfareporting.projects.get" call.
 41618  // Exactly one of *Project or error will be non-nil. Any non-2xx status
 41619  // code is an error. Response headers are in either
 41620  // *Project.ServerResponse.Header or (if a response was returned at all)
 41621  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 41622  // check whether the returned error was because http.StatusNotModified
 41623  // was returned.
 41624  func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
 41625  	gensupport.SetOptions(c.urlParams_, opts...)
 41626  	res, err := c.doRequest("json")
 41627  	if res != nil && res.StatusCode == http.StatusNotModified {
 41628  		if res.Body != nil {
 41629  			res.Body.Close()
 41630  		}
 41631  		return nil, &googleapi.Error{
 41632  			Code:   res.StatusCode,
 41633  			Header: res.Header,
 41634  		}
 41635  	}
 41636  	if err != nil {
 41637  		return nil, err
 41638  	}
 41639  	defer googleapi.CloseBody(res)
 41640  	if err := googleapi.CheckResponse(res); err != nil {
 41641  		return nil, err
 41642  	}
 41643  	ret := &Project{
 41644  		ServerResponse: googleapi.ServerResponse{
 41645  			Header:         res.Header,
 41646  			HTTPStatusCode: res.StatusCode,
 41647  		},
 41648  	}
 41649  	target := &ret
 41650  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41651  		return nil, err
 41652  	}
 41653  	return ret, nil
 41654  	// {
 41655  	//   "description": "Gets one project by ID.",
 41656  	//   "httpMethod": "GET",
 41657  	//   "id": "dfareporting.projects.get",
 41658  	//   "parameterOrder": [
 41659  	//     "profileId",
 41660  	//     "id"
 41661  	//   ],
 41662  	//   "parameters": {
 41663  	//     "id": {
 41664  	//       "description": "Project ID.",
 41665  	//       "format": "int64",
 41666  	//       "location": "path",
 41667  	//       "required": true,
 41668  	//       "type": "string"
 41669  	//     },
 41670  	//     "profileId": {
 41671  	//       "description": "User profile ID associated with this request.",
 41672  	//       "format": "int64",
 41673  	//       "location": "path",
 41674  	//       "required": true,
 41675  	//       "type": "string"
 41676  	//     }
 41677  	//   },
 41678  	//   "path": "userprofiles/{profileId}/projects/{id}",
 41679  	//   "response": {
 41680  	//     "$ref": "Project"
 41681  	//   },
 41682  	//   "scopes": [
 41683  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41684  	//   ]
 41685  	// }
 41686  
 41687  }
 41688  
 41689  // method id "dfareporting.projects.list":
 41690  
 41691  type ProjectsListCall struct {
 41692  	s            *Service
 41693  	profileId    int64
 41694  	urlParams_   gensupport.URLParams
 41695  	ifNoneMatch_ string
 41696  	ctx_         context.Context
 41697  	header_      http.Header
 41698  }
 41699  
 41700  // List: Retrieves a list of projects, possibly filtered. This method
 41701  // supports paging.
 41702  func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
 41703  	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41704  	c.profileId = profileId
 41705  	return c
 41706  }
 41707  
 41708  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 41709  // only projects with these advertiser IDs.
 41710  func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
 41711  	var advertiserIds_ []string
 41712  	for _, v := range advertiserIds {
 41713  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 41714  	}
 41715  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 41716  	return c
 41717  }
 41718  
 41719  // Ids sets the optional parameter "ids": Select only projects with
 41720  // these IDs.
 41721  func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
 41722  	var ids_ []string
 41723  	for _, v := range ids {
 41724  		ids_ = append(ids_, fmt.Sprint(v))
 41725  	}
 41726  	c.urlParams_.SetMulti("ids", ids_)
 41727  	return c
 41728  }
 41729  
 41730  // MaxResults sets the optional parameter "maxResults": Maximum number
 41731  // of results to return.
 41732  func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
 41733  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 41734  	return c
 41735  }
 41736  
 41737  // PageToken sets the optional parameter "pageToken": Value of the
 41738  // nextPageToken from the previous result page.
 41739  func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
 41740  	c.urlParams_.Set("pageToken", pageToken)
 41741  	return c
 41742  }
 41743  
 41744  // SearchString sets the optional parameter "searchString": Allows
 41745  // searching for projects by name or ID. Wildcards (*) are allowed. For
 41746  // example, "project*2015" will return projects with names like "project
 41747  // June 2015", "project April 2015", or simply "project 2015". Most of
 41748  // the searches also add wildcards implicitly at the start and the end
 41749  // of the search string. For example, a search string of "project" will
 41750  // match projects with name "my project", "project 2015", or simply
 41751  // "project".
 41752  func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
 41753  	c.urlParams_.Set("searchString", searchString)
 41754  	return c
 41755  }
 41756  
 41757  // SortField sets the optional parameter "sortField": Field by which to
 41758  // sort the list.
 41759  //
 41760  // Possible values:
 41761  //
 41762  //	"ID" (default)
 41763  //	"NAME"
 41764  func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
 41765  	c.urlParams_.Set("sortField", sortField)
 41766  	return c
 41767  }
 41768  
 41769  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 41770  // results.
 41771  //
 41772  // Possible values:
 41773  //
 41774  //	"ASCENDING" (default)
 41775  //	"DESCENDING"
 41776  func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
 41777  	c.urlParams_.Set("sortOrder", sortOrder)
 41778  	return c
 41779  }
 41780  
 41781  // Fields allows partial responses to be retrieved. See
 41782  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41783  // for more information.
 41784  func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
 41785  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41786  	return c
 41787  }
 41788  
 41789  // IfNoneMatch sets the optional parameter which makes the operation
 41790  // fail if the object's ETag matches the given value. This is useful for
 41791  // getting updates only after the object has changed since the last
 41792  // request. Use googleapi.IsNotModified to check whether the response
 41793  // error from Do is the result of In-None-Match.
 41794  func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
 41795  	c.ifNoneMatch_ = entityTag
 41796  	return c
 41797  }
 41798  
 41799  // Context sets the context to be used in this call's Do method. Any
 41800  // pending HTTP request will be aborted if the provided context is
 41801  // canceled.
 41802  func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 41803  	c.ctx_ = ctx
 41804  	return c
 41805  }
 41806  
 41807  // Header returns an http.Header that can be modified by the caller to
 41808  // add HTTP headers to the request.
 41809  func (c *ProjectsListCall) Header() http.Header {
 41810  	if c.header_ == nil {
 41811  		c.header_ = make(http.Header)
 41812  	}
 41813  	return c.header_
 41814  }
 41815  
 41816  func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 41817  	reqHeaders := make(http.Header)
 41818  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41819  	for k, v := range c.header_ {
 41820  		reqHeaders[k] = v
 41821  	}
 41822  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41823  	if c.ifNoneMatch_ != "" {
 41824  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41825  	}
 41826  	var body io.Reader = nil
 41827  	c.urlParams_.Set("alt", alt)
 41828  	c.urlParams_.Set("prettyPrint", "false")
 41829  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
 41830  	urls += "?" + c.urlParams_.Encode()
 41831  	req, err := http.NewRequest("GET", urls, body)
 41832  	if err != nil {
 41833  		return nil, err
 41834  	}
 41835  	req.Header = reqHeaders
 41836  	googleapi.Expand(req.URL, map[string]string{
 41837  		"profileId": strconv.FormatInt(c.profileId, 10),
 41838  	})
 41839  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41840  }
 41841  
 41842  // Do executes the "dfareporting.projects.list" call.
 41843  // Exactly one of *ProjectsListResponse or error will be non-nil. Any
 41844  // non-2xx status code is an error. Response headers are in either
 41845  // *ProjectsListResponse.ServerResponse.Header or (if a response was
 41846  // returned at all) in error.(*googleapi.Error).Header. Use
 41847  // googleapi.IsNotModified to check whether the returned error was
 41848  // because http.StatusNotModified was returned.
 41849  func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
 41850  	gensupport.SetOptions(c.urlParams_, opts...)
 41851  	res, err := c.doRequest("json")
 41852  	if res != nil && res.StatusCode == http.StatusNotModified {
 41853  		if res.Body != nil {
 41854  			res.Body.Close()
 41855  		}
 41856  		return nil, &googleapi.Error{
 41857  			Code:   res.StatusCode,
 41858  			Header: res.Header,
 41859  		}
 41860  	}
 41861  	if err != nil {
 41862  		return nil, err
 41863  	}
 41864  	defer googleapi.CloseBody(res)
 41865  	if err := googleapi.CheckResponse(res); err != nil {
 41866  		return nil, err
 41867  	}
 41868  	ret := &ProjectsListResponse{
 41869  		ServerResponse: googleapi.ServerResponse{
 41870  			Header:         res.Header,
 41871  			HTTPStatusCode: res.StatusCode,
 41872  		},
 41873  	}
 41874  	target := &ret
 41875  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41876  		return nil, err
 41877  	}
 41878  	return ret, nil
 41879  	// {
 41880  	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging.",
 41881  	//   "httpMethod": "GET",
 41882  	//   "id": "dfareporting.projects.list",
 41883  	//   "parameterOrder": [
 41884  	//     "profileId"
 41885  	//   ],
 41886  	//   "parameters": {
 41887  	//     "advertiserIds": {
 41888  	//       "description": "Select only projects with these advertiser IDs.",
 41889  	//       "format": "int64",
 41890  	//       "location": "query",
 41891  	//       "repeated": true,
 41892  	//       "type": "string"
 41893  	//     },
 41894  	//     "ids": {
 41895  	//       "description": "Select only projects with these IDs.",
 41896  	//       "format": "int64",
 41897  	//       "location": "query",
 41898  	//       "repeated": true,
 41899  	//       "type": "string"
 41900  	//     },
 41901  	//     "maxResults": {
 41902  	//       "default": "1000",
 41903  	//       "description": "Maximum number of results to return.",
 41904  	//       "format": "int32",
 41905  	//       "location": "query",
 41906  	//       "maximum": "1000",
 41907  	//       "minimum": "0",
 41908  	//       "type": "integer"
 41909  	//     },
 41910  	//     "pageToken": {
 41911  	//       "description": "Value of the nextPageToken from the previous result page.",
 41912  	//       "location": "query",
 41913  	//       "type": "string"
 41914  	//     },
 41915  	//     "profileId": {
 41916  	//       "description": "User profile ID associated with this request.",
 41917  	//       "format": "int64",
 41918  	//       "location": "path",
 41919  	//       "required": true,
 41920  	//       "type": "string"
 41921  	//     },
 41922  	//     "searchString": {
 41923  	//       "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\".",
 41924  	//       "location": "query",
 41925  	//       "type": "string"
 41926  	//     },
 41927  	//     "sortField": {
 41928  	//       "default": "ID",
 41929  	//       "description": "Field by which to sort the list.",
 41930  	//       "enum": [
 41931  	//         "ID",
 41932  	//         "NAME"
 41933  	//       ],
 41934  	//       "enumDescriptions": [
 41935  	//         "",
 41936  	//         ""
 41937  	//       ],
 41938  	//       "location": "query",
 41939  	//       "type": "string"
 41940  	//     },
 41941  	//     "sortOrder": {
 41942  	//       "default": "ASCENDING",
 41943  	//       "description": "Order of sorted results.",
 41944  	//       "enum": [
 41945  	//         "ASCENDING",
 41946  	//         "DESCENDING"
 41947  	//       ],
 41948  	//       "enumDescriptions": [
 41949  	//         "",
 41950  	//         ""
 41951  	//       ],
 41952  	//       "location": "query",
 41953  	//       "type": "string"
 41954  	//     }
 41955  	//   },
 41956  	//   "path": "userprofiles/{profileId}/projects",
 41957  	//   "response": {
 41958  	//     "$ref": "ProjectsListResponse"
 41959  	//   },
 41960  	//   "scopes": [
 41961  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41962  	//   ]
 41963  	// }
 41964  
 41965  }
 41966  
 41967  // Pages invokes f for each page of results.
 41968  // A non-nil error returned from f will halt the iteration.
 41969  // The provided context supersedes any context provided to the Context method.
 41970  func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
 41971  	c.ctx_ = ctx
 41972  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 41973  	for {
 41974  		x, err := c.Do()
 41975  		if err != nil {
 41976  			return err
 41977  		}
 41978  		if err := f(x); err != nil {
 41979  			return err
 41980  		}
 41981  		if x.NextPageToken == "" {
 41982  			return nil
 41983  		}
 41984  		c.PageToken(x.NextPageToken)
 41985  	}
 41986  }
 41987  
 41988  // method id "dfareporting.regions.list":
 41989  
 41990  type RegionsListCall struct {
 41991  	s            *Service
 41992  	profileId    int64
 41993  	urlParams_   gensupport.URLParams
 41994  	ifNoneMatch_ string
 41995  	ctx_         context.Context
 41996  	header_      http.Header
 41997  }
 41998  
 41999  // List: Retrieves a list of regions.
 42000  func (r *RegionsService) List(profileId int64) *RegionsListCall {
 42001  	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42002  	c.profileId = profileId
 42003  	return c
 42004  }
 42005  
 42006  // Fields allows partial responses to be retrieved. See
 42007  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42008  // for more information.
 42009  func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
 42010  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42011  	return c
 42012  }
 42013  
 42014  // IfNoneMatch sets the optional parameter which makes the operation
 42015  // fail if the object's ETag matches the given value. This is useful for
 42016  // getting updates only after the object has changed since the last
 42017  // request. Use googleapi.IsNotModified to check whether the response
 42018  // error from Do is the result of In-None-Match.
 42019  func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
 42020  	c.ifNoneMatch_ = entityTag
 42021  	return c
 42022  }
 42023  
 42024  // Context sets the context to be used in this call's Do method. Any
 42025  // pending HTTP request will be aborted if the provided context is
 42026  // canceled.
 42027  func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 42028  	c.ctx_ = ctx
 42029  	return c
 42030  }
 42031  
 42032  // Header returns an http.Header that can be modified by the caller to
 42033  // add HTTP headers to the request.
 42034  func (c *RegionsListCall) Header() http.Header {
 42035  	if c.header_ == nil {
 42036  		c.header_ = make(http.Header)
 42037  	}
 42038  	return c.header_
 42039  }
 42040  
 42041  func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 42042  	reqHeaders := make(http.Header)
 42043  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42044  	for k, v := range c.header_ {
 42045  		reqHeaders[k] = v
 42046  	}
 42047  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42048  	if c.ifNoneMatch_ != "" {
 42049  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42050  	}
 42051  	var body io.Reader = nil
 42052  	c.urlParams_.Set("alt", alt)
 42053  	c.urlParams_.Set("prettyPrint", "false")
 42054  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
 42055  	urls += "?" + c.urlParams_.Encode()
 42056  	req, err := http.NewRequest("GET", urls, body)
 42057  	if err != nil {
 42058  		return nil, err
 42059  	}
 42060  	req.Header = reqHeaders
 42061  	googleapi.Expand(req.URL, map[string]string{
 42062  		"profileId": strconv.FormatInt(c.profileId, 10),
 42063  	})
 42064  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42065  }
 42066  
 42067  // Do executes the "dfareporting.regions.list" call.
 42068  // Exactly one of *RegionsListResponse or error will be non-nil. Any
 42069  // non-2xx status code is an error. Response headers are in either
 42070  // *RegionsListResponse.ServerResponse.Header or (if a response was
 42071  // returned at all) in error.(*googleapi.Error).Header. Use
 42072  // googleapi.IsNotModified to check whether the returned error was
 42073  // because http.StatusNotModified was returned.
 42074  func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
 42075  	gensupport.SetOptions(c.urlParams_, opts...)
 42076  	res, err := c.doRequest("json")
 42077  	if res != nil && res.StatusCode == http.StatusNotModified {
 42078  		if res.Body != nil {
 42079  			res.Body.Close()
 42080  		}
 42081  		return nil, &googleapi.Error{
 42082  			Code:   res.StatusCode,
 42083  			Header: res.Header,
 42084  		}
 42085  	}
 42086  	if err != nil {
 42087  		return nil, err
 42088  	}
 42089  	defer googleapi.CloseBody(res)
 42090  	if err := googleapi.CheckResponse(res); err != nil {
 42091  		return nil, err
 42092  	}
 42093  	ret := &RegionsListResponse{
 42094  		ServerResponse: googleapi.ServerResponse{
 42095  			Header:         res.Header,
 42096  			HTTPStatusCode: res.StatusCode,
 42097  		},
 42098  	}
 42099  	target := &ret
 42100  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42101  		return nil, err
 42102  	}
 42103  	return ret, nil
 42104  	// {
 42105  	//   "description": "Retrieves a list of regions.",
 42106  	//   "httpMethod": "GET",
 42107  	//   "id": "dfareporting.regions.list",
 42108  	//   "parameterOrder": [
 42109  	//     "profileId"
 42110  	//   ],
 42111  	//   "parameters": {
 42112  	//     "profileId": {
 42113  	//       "description": "User profile ID associated with this request.",
 42114  	//       "format": "int64",
 42115  	//       "location": "path",
 42116  	//       "required": true,
 42117  	//       "type": "string"
 42118  	//     }
 42119  	//   },
 42120  	//   "path": "userprofiles/{profileId}/regions",
 42121  	//   "response": {
 42122  	//     "$ref": "RegionsListResponse"
 42123  	//   },
 42124  	//   "scopes": [
 42125  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42126  	//   ]
 42127  	// }
 42128  
 42129  }
 42130  
 42131  // method id "dfareporting.remarketingListShares.get":
 42132  
 42133  type RemarketingListSharesGetCall struct {
 42134  	s                 *Service
 42135  	profileId         int64
 42136  	remarketingListId int64
 42137  	urlParams_        gensupport.URLParams
 42138  	ifNoneMatch_      string
 42139  	ctx_              context.Context
 42140  	header_           http.Header
 42141  }
 42142  
 42143  // Get: Gets one remarketing list share by remarketing list ID.
 42144  func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
 42145  	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42146  	c.profileId = profileId
 42147  	c.remarketingListId = remarketingListId
 42148  	return c
 42149  }
 42150  
 42151  // Fields allows partial responses to be retrieved. See
 42152  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42153  // for more information.
 42154  func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
 42155  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42156  	return c
 42157  }
 42158  
 42159  // IfNoneMatch sets the optional parameter which makes the operation
 42160  // fail if the object's ETag matches the given value. This is useful for
 42161  // getting updates only after the object has changed since the last
 42162  // request. Use googleapi.IsNotModified to check whether the response
 42163  // error from Do is the result of In-None-Match.
 42164  func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
 42165  	c.ifNoneMatch_ = entityTag
 42166  	return c
 42167  }
 42168  
 42169  // Context sets the context to be used in this call's Do method. Any
 42170  // pending HTTP request will be aborted if the provided context is
 42171  // canceled.
 42172  func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
 42173  	c.ctx_ = ctx
 42174  	return c
 42175  }
 42176  
 42177  // Header returns an http.Header that can be modified by the caller to
 42178  // add HTTP headers to the request.
 42179  func (c *RemarketingListSharesGetCall) Header() http.Header {
 42180  	if c.header_ == nil {
 42181  		c.header_ = make(http.Header)
 42182  	}
 42183  	return c.header_
 42184  }
 42185  
 42186  func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
 42187  	reqHeaders := make(http.Header)
 42188  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42189  	for k, v := range c.header_ {
 42190  		reqHeaders[k] = v
 42191  	}
 42192  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42193  	if c.ifNoneMatch_ != "" {
 42194  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42195  	}
 42196  	var body io.Reader = nil
 42197  	c.urlParams_.Set("alt", alt)
 42198  	c.urlParams_.Set("prettyPrint", "false")
 42199  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
 42200  	urls += "?" + c.urlParams_.Encode()
 42201  	req, err := http.NewRequest("GET", urls, body)
 42202  	if err != nil {
 42203  		return nil, err
 42204  	}
 42205  	req.Header = reqHeaders
 42206  	googleapi.Expand(req.URL, map[string]string{
 42207  		"profileId":         strconv.FormatInt(c.profileId, 10),
 42208  		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
 42209  	})
 42210  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42211  }
 42212  
 42213  // Do executes the "dfareporting.remarketingListShares.get" call.
 42214  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 42215  // non-2xx status code is an error. Response headers are in either
 42216  // *RemarketingListShare.ServerResponse.Header or (if a response was
 42217  // returned at all) in error.(*googleapi.Error).Header. Use
 42218  // googleapi.IsNotModified to check whether the returned error was
 42219  // because http.StatusNotModified was returned.
 42220  func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 42221  	gensupport.SetOptions(c.urlParams_, opts...)
 42222  	res, err := c.doRequest("json")
 42223  	if res != nil && res.StatusCode == http.StatusNotModified {
 42224  		if res.Body != nil {
 42225  			res.Body.Close()
 42226  		}
 42227  		return nil, &googleapi.Error{
 42228  			Code:   res.StatusCode,
 42229  			Header: res.Header,
 42230  		}
 42231  	}
 42232  	if err != nil {
 42233  		return nil, err
 42234  	}
 42235  	defer googleapi.CloseBody(res)
 42236  	if err := googleapi.CheckResponse(res); err != nil {
 42237  		return nil, err
 42238  	}
 42239  	ret := &RemarketingListShare{
 42240  		ServerResponse: googleapi.ServerResponse{
 42241  			Header:         res.Header,
 42242  			HTTPStatusCode: res.StatusCode,
 42243  		},
 42244  	}
 42245  	target := &ret
 42246  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42247  		return nil, err
 42248  	}
 42249  	return ret, nil
 42250  	// {
 42251  	//   "description": "Gets one remarketing list share by remarketing list ID.",
 42252  	//   "httpMethod": "GET",
 42253  	//   "id": "dfareporting.remarketingListShares.get",
 42254  	//   "parameterOrder": [
 42255  	//     "profileId",
 42256  	//     "remarketingListId"
 42257  	//   ],
 42258  	//   "parameters": {
 42259  	//     "profileId": {
 42260  	//       "description": "User profile ID associated with this request.",
 42261  	//       "format": "int64",
 42262  	//       "location": "path",
 42263  	//       "required": true,
 42264  	//       "type": "string"
 42265  	//     },
 42266  	//     "remarketingListId": {
 42267  	//       "description": "Remarketing list ID.",
 42268  	//       "format": "int64",
 42269  	//       "location": "path",
 42270  	//       "required": true,
 42271  	//       "type": "string"
 42272  	//     }
 42273  	//   },
 42274  	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
 42275  	//   "response": {
 42276  	//     "$ref": "RemarketingListShare"
 42277  	//   },
 42278  	//   "scopes": [
 42279  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42280  	//   ]
 42281  	// }
 42282  
 42283  }
 42284  
 42285  // method id "dfareporting.remarketingListShares.patch":
 42286  
 42287  type RemarketingListSharesPatchCall struct {
 42288  	s                    *Service
 42289  	profileId            int64
 42290  	remarketinglistshare *RemarketingListShare
 42291  	urlParams_           gensupport.URLParams
 42292  	ctx_                 context.Context
 42293  	header_              http.Header
 42294  }
 42295  
 42296  // Patch: Updates an existing remarketing list share. This method
 42297  // supports patch semantics.
 42298  func (r *RemarketingListSharesService) Patch(profileId int64, remarketingListId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
 42299  	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42300  	c.profileId = profileId
 42301  	c.urlParams_.Set("remarketingListId", fmt.Sprint(remarketingListId))
 42302  	c.remarketinglistshare = remarketinglistshare
 42303  	return c
 42304  }
 42305  
 42306  // Fields allows partial responses to be retrieved. See
 42307  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42308  // for more information.
 42309  func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
 42310  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42311  	return c
 42312  }
 42313  
 42314  // Context sets the context to be used in this call's Do method. Any
 42315  // pending HTTP request will be aborted if the provided context is
 42316  // canceled.
 42317  func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
 42318  	c.ctx_ = ctx
 42319  	return c
 42320  }
 42321  
 42322  // Header returns an http.Header that can be modified by the caller to
 42323  // add HTTP headers to the request.
 42324  func (c *RemarketingListSharesPatchCall) Header() http.Header {
 42325  	if c.header_ == nil {
 42326  		c.header_ = make(http.Header)
 42327  	}
 42328  	return c.header_
 42329  }
 42330  
 42331  func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
 42332  	reqHeaders := make(http.Header)
 42333  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42334  	for k, v := range c.header_ {
 42335  		reqHeaders[k] = v
 42336  	}
 42337  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42338  	var body io.Reader = nil
 42339  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 42340  	if err != nil {
 42341  		return nil, err
 42342  	}
 42343  	reqHeaders.Set("Content-Type", "application/json")
 42344  	c.urlParams_.Set("alt", alt)
 42345  	c.urlParams_.Set("prettyPrint", "false")
 42346  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 42347  	urls += "?" + c.urlParams_.Encode()
 42348  	req, err := http.NewRequest("PATCH", urls, body)
 42349  	if err != nil {
 42350  		return nil, err
 42351  	}
 42352  	req.Header = reqHeaders
 42353  	googleapi.Expand(req.URL, map[string]string{
 42354  		"profileId": strconv.FormatInt(c.profileId, 10),
 42355  	})
 42356  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42357  }
 42358  
 42359  // Do executes the "dfareporting.remarketingListShares.patch" call.
 42360  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 42361  // non-2xx status code is an error. Response headers are in either
 42362  // *RemarketingListShare.ServerResponse.Header or (if a response was
 42363  // returned at all) in error.(*googleapi.Error).Header. Use
 42364  // googleapi.IsNotModified to check whether the returned error was
 42365  // because http.StatusNotModified was returned.
 42366  func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 42367  	gensupport.SetOptions(c.urlParams_, opts...)
 42368  	res, err := c.doRequest("json")
 42369  	if res != nil && res.StatusCode == http.StatusNotModified {
 42370  		if res.Body != nil {
 42371  			res.Body.Close()
 42372  		}
 42373  		return nil, &googleapi.Error{
 42374  			Code:   res.StatusCode,
 42375  			Header: res.Header,
 42376  		}
 42377  	}
 42378  	if err != nil {
 42379  		return nil, err
 42380  	}
 42381  	defer googleapi.CloseBody(res)
 42382  	if err := googleapi.CheckResponse(res); err != nil {
 42383  		return nil, err
 42384  	}
 42385  	ret := &RemarketingListShare{
 42386  		ServerResponse: googleapi.ServerResponse{
 42387  			Header:         res.Header,
 42388  			HTTPStatusCode: res.StatusCode,
 42389  		},
 42390  	}
 42391  	target := &ret
 42392  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42393  		return nil, err
 42394  	}
 42395  	return ret, nil
 42396  	// {
 42397  	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
 42398  	//   "httpMethod": "PATCH",
 42399  	//   "id": "dfareporting.remarketingListShares.patch",
 42400  	//   "parameterOrder": [
 42401  	//     "profileId",
 42402  	//     "remarketingListId"
 42403  	//   ],
 42404  	//   "parameters": {
 42405  	//     "profileId": {
 42406  	//       "description": "User profile ID associated with this request.",
 42407  	//       "format": "int64",
 42408  	//       "location": "path",
 42409  	//       "required": true,
 42410  	//       "type": "string"
 42411  	//     },
 42412  	//     "remarketingListId": {
 42413  	//       "description": "Remarketing list ID.",
 42414  	//       "format": "int64",
 42415  	//       "location": "query",
 42416  	//       "required": true,
 42417  	//       "type": "string"
 42418  	//     }
 42419  	//   },
 42420  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 42421  	//   "request": {
 42422  	//     "$ref": "RemarketingListShare"
 42423  	//   },
 42424  	//   "response": {
 42425  	//     "$ref": "RemarketingListShare"
 42426  	//   },
 42427  	//   "scopes": [
 42428  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42429  	//   ]
 42430  	// }
 42431  
 42432  }
 42433  
 42434  // method id "dfareporting.remarketingListShares.update":
 42435  
 42436  type RemarketingListSharesUpdateCall struct {
 42437  	s                    *Service
 42438  	profileId            int64
 42439  	remarketinglistshare *RemarketingListShare
 42440  	urlParams_           gensupport.URLParams
 42441  	ctx_                 context.Context
 42442  	header_              http.Header
 42443  }
 42444  
 42445  // Update: Updates an existing remarketing list share.
 42446  func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
 42447  	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42448  	c.profileId = profileId
 42449  	c.remarketinglistshare = remarketinglistshare
 42450  	return c
 42451  }
 42452  
 42453  // Fields allows partial responses to be retrieved. See
 42454  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42455  // for more information.
 42456  func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
 42457  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42458  	return c
 42459  }
 42460  
 42461  // Context sets the context to be used in this call's Do method. Any
 42462  // pending HTTP request will be aborted if the provided context is
 42463  // canceled.
 42464  func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
 42465  	c.ctx_ = ctx
 42466  	return c
 42467  }
 42468  
 42469  // Header returns an http.Header that can be modified by the caller to
 42470  // add HTTP headers to the request.
 42471  func (c *RemarketingListSharesUpdateCall) Header() http.Header {
 42472  	if c.header_ == nil {
 42473  		c.header_ = make(http.Header)
 42474  	}
 42475  	return c.header_
 42476  }
 42477  
 42478  func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
 42479  	reqHeaders := make(http.Header)
 42480  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42481  	for k, v := range c.header_ {
 42482  		reqHeaders[k] = v
 42483  	}
 42484  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42485  	var body io.Reader = nil
 42486  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 42487  	if err != nil {
 42488  		return nil, err
 42489  	}
 42490  	reqHeaders.Set("Content-Type", "application/json")
 42491  	c.urlParams_.Set("alt", alt)
 42492  	c.urlParams_.Set("prettyPrint", "false")
 42493  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 42494  	urls += "?" + c.urlParams_.Encode()
 42495  	req, err := http.NewRequest("PUT", urls, body)
 42496  	if err != nil {
 42497  		return nil, err
 42498  	}
 42499  	req.Header = reqHeaders
 42500  	googleapi.Expand(req.URL, map[string]string{
 42501  		"profileId": strconv.FormatInt(c.profileId, 10),
 42502  	})
 42503  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42504  }
 42505  
 42506  // Do executes the "dfareporting.remarketingListShares.update" call.
 42507  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 42508  // non-2xx status code is an error. Response headers are in either
 42509  // *RemarketingListShare.ServerResponse.Header or (if a response was
 42510  // returned at all) in error.(*googleapi.Error).Header. Use
 42511  // googleapi.IsNotModified to check whether the returned error was
 42512  // because http.StatusNotModified was returned.
 42513  func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 42514  	gensupport.SetOptions(c.urlParams_, opts...)
 42515  	res, err := c.doRequest("json")
 42516  	if res != nil && res.StatusCode == http.StatusNotModified {
 42517  		if res.Body != nil {
 42518  			res.Body.Close()
 42519  		}
 42520  		return nil, &googleapi.Error{
 42521  			Code:   res.StatusCode,
 42522  			Header: res.Header,
 42523  		}
 42524  	}
 42525  	if err != nil {
 42526  		return nil, err
 42527  	}
 42528  	defer googleapi.CloseBody(res)
 42529  	if err := googleapi.CheckResponse(res); err != nil {
 42530  		return nil, err
 42531  	}
 42532  	ret := &RemarketingListShare{
 42533  		ServerResponse: googleapi.ServerResponse{
 42534  			Header:         res.Header,
 42535  			HTTPStatusCode: res.StatusCode,
 42536  		},
 42537  	}
 42538  	target := &ret
 42539  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42540  		return nil, err
 42541  	}
 42542  	return ret, nil
 42543  	// {
 42544  	//   "description": "Updates an existing remarketing list share.",
 42545  	//   "httpMethod": "PUT",
 42546  	//   "id": "dfareporting.remarketingListShares.update",
 42547  	//   "parameterOrder": [
 42548  	//     "profileId"
 42549  	//   ],
 42550  	//   "parameters": {
 42551  	//     "profileId": {
 42552  	//       "description": "User profile ID associated with this request.",
 42553  	//       "format": "int64",
 42554  	//       "location": "path",
 42555  	//       "required": true,
 42556  	//       "type": "string"
 42557  	//     }
 42558  	//   },
 42559  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 42560  	//   "request": {
 42561  	//     "$ref": "RemarketingListShare"
 42562  	//   },
 42563  	//   "response": {
 42564  	//     "$ref": "RemarketingListShare"
 42565  	//   },
 42566  	//   "scopes": [
 42567  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42568  	//   ]
 42569  	// }
 42570  
 42571  }
 42572  
 42573  // method id "dfareporting.remarketingLists.get":
 42574  
 42575  type RemarketingListsGetCall struct {
 42576  	s            *Service
 42577  	profileId    int64
 42578  	id           int64
 42579  	urlParams_   gensupport.URLParams
 42580  	ifNoneMatch_ string
 42581  	ctx_         context.Context
 42582  	header_      http.Header
 42583  }
 42584  
 42585  // Get: Gets one remarketing list by ID.
 42586  func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
 42587  	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42588  	c.profileId = profileId
 42589  	c.id = id
 42590  	return c
 42591  }
 42592  
 42593  // Fields allows partial responses to be retrieved. See
 42594  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42595  // for more information.
 42596  func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
 42597  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42598  	return c
 42599  }
 42600  
 42601  // IfNoneMatch sets the optional parameter which makes the operation
 42602  // fail if the object's ETag matches the given value. This is useful for
 42603  // getting updates only after the object has changed since the last
 42604  // request. Use googleapi.IsNotModified to check whether the response
 42605  // error from Do is the result of In-None-Match.
 42606  func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
 42607  	c.ifNoneMatch_ = entityTag
 42608  	return c
 42609  }
 42610  
 42611  // Context sets the context to be used in this call's Do method. Any
 42612  // pending HTTP request will be aborted if the provided context is
 42613  // canceled.
 42614  func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
 42615  	c.ctx_ = ctx
 42616  	return c
 42617  }
 42618  
 42619  // Header returns an http.Header that can be modified by the caller to
 42620  // add HTTP headers to the request.
 42621  func (c *RemarketingListsGetCall) Header() http.Header {
 42622  	if c.header_ == nil {
 42623  		c.header_ = make(http.Header)
 42624  	}
 42625  	return c.header_
 42626  }
 42627  
 42628  func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 42629  	reqHeaders := make(http.Header)
 42630  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42631  	for k, v := range c.header_ {
 42632  		reqHeaders[k] = v
 42633  	}
 42634  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42635  	if c.ifNoneMatch_ != "" {
 42636  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42637  	}
 42638  	var body io.Reader = nil
 42639  	c.urlParams_.Set("alt", alt)
 42640  	c.urlParams_.Set("prettyPrint", "false")
 42641  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
 42642  	urls += "?" + c.urlParams_.Encode()
 42643  	req, err := http.NewRequest("GET", urls, body)
 42644  	if err != nil {
 42645  		return nil, err
 42646  	}
 42647  	req.Header = reqHeaders
 42648  	googleapi.Expand(req.URL, map[string]string{
 42649  		"profileId": strconv.FormatInt(c.profileId, 10),
 42650  		"id":        strconv.FormatInt(c.id, 10),
 42651  	})
 42652  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42653  }
 42654  
 42655  // Do executes the "dfareporting.remarketingLists.get" call.
 42656  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 42657  // status code is an error. Response headers are in either
 42658  // *RemarketingList.ServerResponse.Header or (if a response was returned
 42659  // at all) in error.(*googleapi.Error).Header. Use
 42660  // googleapi.IsNotModified to check whether the returned error was
 42661  // because http.StatusNotModified was returned.
 42662  func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 42663  	gensupport.SetOptions(c.urlParams_, opts...)
 42664  	res, err := c.doRequest("json")
 42665  	if res != nil && res.StatusCode == http.StatusNotModified {
 42666  		if res.Body != nil {
 42667  			res.Body.Close()
 42668  		}
 42669  		return nil, &googleapi.Error{
 42670  			Code:   res.StatusCode,
 42671  			Header: res.Header,
 42672  		}
 42673  	}
 42674  	if err != nil {
 42675  		return nil, err
 42676  	}
 42677  	defer googleapi.CloseBody(res)
 42678  	if err := googleapi.CheckResponse(res); err != nil {
 42679  		return nil, err
 42680  	}
 42681  	ret := &RemarketingList{
 42682  		ServerResponse: googleapi.ServerResponse{
 42683  			Header:         res.Header,
 42684  			HTTPStatusCode: res.StatusCode,
 42685  		},
 42686  	}
 42687  	target := &ret
 42688  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42689  		return nil, err
 42690  	}
 42691  	return ret, nil
 42692  	// {
 42693  	//   "description": "Gets one remarketing list by ID.",
 42694  	//   "httpMethod": "GET",
 42695  	//   "id": "dfareporting.remarketingLists.get",
 42696  	//   "parameterOrder": [
 42697  	//     "profileId",
 42698  	//     "id"
 42699  	//   ],
 42700  	//   "parameters": {
 42701  	//     "id": {
 42702  	//       "description": "Remarketing list ID.",
 42703  	//       "format": "int64",
 42704  	//       "location": "path",
 42705  	//       "required": true,
 42706  	//       "type": "string"
 42707  	//     },
 42708  	//     "profileId": {
 42709  	//       "description": "User profile ID associated with this request.",
 42710  	//       "format": "int64",
 42711  	//       "location": "path",
 42712  	//       "required": true,
 42713  	//       "type": "string"
 42714  	//     }
 42715  	//   },
 42716  	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
 42717  	//   "response": {
 42718  	//     "$ref": "RemarketingList"
 42719  	//   },
 42720  	//   "scopes": [
 42721  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42722  	//   ]
 42723  	// }
 42724  
 42725  }
 42726  
 42727  // method id "dfareporting.remarketingLists.insert":
 42728  
 42729  type RemarketingListsInsertCall struct {
 42730  	s               *Service
 42731  	profileId       int64
 42732  	remarketinglist *RemarketingList
 42733  	urlParams_      gensupport.URLParams
 42734  	ctx_            context.Context
 42735  	header_         http.Header
 42736  }
 42737  
 42738  // Insert: Inserts a new remarketing list.
 42739  func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
 42740  	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42741  	c.profileId = profileId
 42742  	c.remarketinglist = remarketinglist
 42743  	return c
 42744  }
 42745  
 42746  // Fields allows partial responses to be retrieved. See
 42747  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42748  // for more information.
 42749  func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
 42750  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42751  	return c
 42752  }
 42753  
 42754  // Context sets the context to be used in this call's Do method. Any
 42755  // pending HTTP request will be aborted if the provided context is
 42756  // canceled.
 42757  func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
 42758  	c.ctx_ = ctx
 42759  	return c
 42760  }
 42761  
 42762  // Header returns an http.Header that can be modified by the caller to
 42763  // add HTTP headers to the request.
 42764  func (c *RemarketingListsInsertCall) Header() http.Header {
 42765  	if c.header_ == nil {
 42766  		c.header_ = make(http.Header)
 42767  	}
 42768  	return c.header_
 42769  }
 42770  
 42771  func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
 42772  	reqHeaders := make(http.Header)
 42773  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42774  	for k, v := range c.header_ {
 42775  		reqHeaders[k] = v
 42776  	}
 42777  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42778  	var body io.Reader = nil
 42779  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 42780  	if err != nil {
 42781  		return nil, err
 42782  	}
 42783  	reqHeaders.Set("Content-Type", "application/json")
 42784  	c.urlParams_.Set("alt", alt)
 42785  	c.urlParams_.Set("prettyPrint", "false")
 42786  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 42787  	urls += "?" + c.urlParams_.Encode()
 42788  	req, err := http.NewRequest("POST", urls, body)
 42789  	if err != nil {
 42790  		return nil, err
 42791  	}
 42792  	req.Header = reqHeaders
 42793  	googleapi.Expand(req.URL, map[string]string{
 42794  		"profileId": strconv.FormatInt(c.profileId, 10),
 42795  	})
 42796  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42797  }
 42798  
 42799  // Do executes the "dfareporting.remarketingLists.insert" call.
 42800  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 42801  // status code is an error. Response headers are in either
 42802  // *RemarketingList.ServerResponse.Header or (if a response was returned
 42803  // at all) in error.(*googleapi.Error).Header. Use
 42804  // googleapi.IsNotModified to check whether the returned error was
 42805  // because http.StatusNotModified was returned.
 42806  func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 42807  	gensupport.SetOptions(c.urlParams_, opts...)
 42808  	res, err := c.doRequest("json")
 42809  	if res != nil && res.StatusCode == http.StatusNotModified {
 42810  		if res.Body != nil {
 42811  			res.Body.Close()
 42812  		}
 42813  		return nil, &googleapi.Error{
 42814  			Code:   res.StatusCode,
 42815  			Header: res.Header,
 42816  		}
 42817  	}
 42818  	if err != nil {
 42819  		return nil, err
 42820  	}
 42821  	defer googleapi.CloseBody(res)
 42822  	if err := googleapi.CheckResponse(res); err != nil {
 42823  		return nil, err
 42824  	}
 42825  	ret := &RemarketingList{
 42826  		ServerResponse: googleapi.ServerResponse{
 42827  			Header:         res.Header,
 42828  			HTTPStatusCode: res.StatusCode,
 42829  		},
 42830  	}
 42831  	target := &ret
 42832  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42833  		return nil, err
 42834  	}
 42835  	return ret, nil
 42836  	// {
 42837  	//   "description": "Inserts a new remarketing list.",
 42838  	//   "httpMethod": "POST",
 42839  	//   "id": "dfareporting.remarketingLists.insert",
 42840  	//   "parameterOrder": [
 42841  	//     "profileId"
 42842  	//   ],
 42843  	//   "parameters": {
 42844  	//     "profileId": {
 42845  	//       "description": "User profile ID associated with this request.",
 42846  	//       "format": "int64",
 42847  	//       "location": "path",
 42848  	//       "required": true,
 42849  	//       "type": "string"
 42850  	//     }
 42851  	//   },
 42852  	//   "path": "userprofiles/{profileId}/remarketingLists",
 42853  	//   "request": {
 42854  	//     "$ref": "RemarketingList"
 42855  	//   },
 42856  	//   "response": {
 42857  	//     "$ref": "RemarketingList"
 42858  	//   },
 42859  	//   "scopes": [
 42860  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42861  	//   ]
 42862  	// }
 42863  
 42864  }
 42865  
 42866  // method id "dfareporting.remarketingLists.list":
 42867  
 42868  type RemarketingListsListCall struct {
 42869  	s            *Service
 42870  	profileId    int64
 42871  	urlParams_   gensupport.URLParams
 42872  	ifNoneMatch_ string
 42873  	ctx_         context.Context
 42874  	header_      http.Header
 42875  }
 42876  
 42877  // List: Retrieves a list of remarketing lists, possibly filtered. This
 42878  // method supports paging.
 42879  func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
 42880  	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42881  	c.profileId = profileId
 42882  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 42883  	return c
 42884  }
 42885  
 42886  // Active sets the optional parameter "active": Select only active or
 42887  // only inactive remarketing lists.
 42888  func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
 42889  	c.urlParams_.Set("active", fmt.Sprint(active))
 42890  	return c
 42891  }
 42892  
 42893  // FloodlightActivityId sets the optional parameter
 42894  // "floodlightActivityId": Select only remarketing lists that have this
 42895  // floodlight activity ID.
 42896  func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
 42897  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 42898  	return c
 42899  }
 42900  
 42901  // MaxResults sets the optional parameter "maxResults": Maximum number
 42902  // of results to return.
 42903  func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
 42904  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 42905  	return c
 42906  }
 42907  
 42908  // Name sets the optional parameter "name": Allows searching for objects
 42909  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 42910  // list*2015" will return objects with names like "remarketing list June
 42911  // 2015", "remarketing list April 2015", or simply "remarketing list
 42912  // 2015". Most of the searches also add wildcards implicitly at the
 42913  // start and the end of the search string. For example, a search string
 42914  // of "remarketing list" will match objects with name "my remarketing
 42915  // list", "remarketing list 2015", or simply "remarketing list".
 42916  func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
 42917  	c.urlParams_.Set("name", name)
 42918  	return c
 42919  }
 42920  
 42921  // PageToken sets the optional parameter "pageToken": Value of the
 42922  // nextPageToken from the previous result page.
 42923  func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
 42924  	c.urlParams_.Set("pageToken", pageToken)
 42925  	return c
 42926  }
 42927  
 42928  // SortField sets the optional parameter "sortField": Field by which to
 42929  // sort the list.
 42930  //
 42931  // Possible values:
 42932  //
 42933  //	"ID" (default)
 42934  //	"NAME"
 42935  func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
 42936  	c.urlParams_.Set("sortField", sortField)
 42937  	return c
 42938  }
 42939  
 42940  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 42941  // results.
 42942  //
 42943  // Possible values:
 42944  //
 42945  //	"ASCENDING" (default)
 42946  //	"DESCENDING"
 42947  func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
 42948  	c.urlParams_.Set("sortOrder", sortOrder)
 42949  	return c
 42950  }
 42951  
 42952  // Fields allows partial responses to be retrieved. See
 42953  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42954  // for more information.
 42955  func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
 42956  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42957  	return c
 42958  }
 42959  
 42960  // IfNoneMatch sets the optional parameter which makes the operation
 42961  // fail if the object's ETag matches the given value. This is useful for
 42962  // getting updates only after the object has changed since the last
 42963  // request. Use googleapi.IsNotModified to check whether the response
 42964  // error from Do is the result of In-None-Match.
 42965  func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
 42966  	c.ifNoneMatch_ = entityTag
 42967  	return c
 42968  }
 42969  
 42970  // Context sets the context to be used in this call's Do method. Any
 42971  // pending HTTP request will be aborted if the provided context is
 42972  // canceled.
 42973  func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
 42974  	c.ctx_ = ctx
 42975  	return c
 42976  }
 42977  
 42978  // Header returns an http.Header that can be modified by the caller to
 42979  // add HTTP headers to the request.
 42980  func (c *RemarketingListsListCall) Header() http.Header {
 42981  	if c.header_ == nil {
 42982  		c.header_ = make(http.Header)
 42983  	}
 42984  	return c.header_
 42985  }
 42986  
 42987  func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 42988  	reqHeaders := make(http.Header)
 42989  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42990  	for k, v := range c.header_ {
 42991  		reqHeaders[k] = v
 42992  	}
 42993  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42994  	if c.ifNoneMatch_ != "" {
 42995  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42996  	}
 42997  	var body io.Reader = nil
 42998  	c.urlParams_.Set("alt", alt)
 42999  	c.urlParams_.Set("prettyPrint", "false")
 43000  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43001  	urls += "?" + c.urlParams_.Encode()
 43002  	req, err := http.NewRequest("GET", urls, body)
 43003  	if err != nil {
 43004  		return nil, err
 43005  	}
 43006  	req.Header = reqHeaders
 43007  	googleapi.Expand(req.URL, map[string]string{
 43008  		"profileId": strconv.FormatInt(c.profileId, 10),
 43009  	})
 43010  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43011  }
 43012  
 43013  // Do executes the "dfareporting.remarketingLists.list" call.
 43014  // Exactly one of *RemarketingListsListResponse or error will be
 43015  // non-nil. Any non-2xx status code is an error. Response headers are in
 43016  // either *RemarketingListsListResponse.ServerResponse.Header or (if a
 43017  // response was returned at all) in error.(*googleapi.Error).Header. Use
 43018  // googleapi.IsNotModified to check whether the returned error was
 43019  // because http.StatusNotModified was returned.
 43020  func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
 43021  	gensupport.SetOptions(c.urlParams_, opts...)
 43022  	res, err := c.doRequest("json")
 43023  	if res != nil && res.StatusCode == http.StatusNotModified {
 43024  		if res.Body != nil {
 43025  			res.Body.Close()
 43026  		}
 43027  		return nil, &googleapi.Error{
 43028  			Code:   res.StatusCode,
 43029  			Header: res.Header,
 43030  		}
 43031  	}
 43032  	if err != nil {
 43033  		return nil, err
 43034  	}
 43035  	defer googleapi.CloseBody(res)
 43036  	if err := googleapi.CheckResponse(res); err != nil {
 43037  		return nil, err
 43038  	}
 43039  	ret := &RemarketingListsListResponse{
 43040  		ServerResponse: googleapi.ServerResponse{
 43041  			Header:         res.Header,
 43042  			HTTPStatusCode: res.StatusCode,
 43043  		},
 43044  	}
 43045  	target := &ret
 43046  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43047  		return nil, err
 43048  	}
 43049  	return ret, nil
 43050  	// {
 43051  	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
 43052  	//   "httpMethod": "GET",
 43053  	//   "id": "dfareporting.remarketingLists.list",
 43054  	//   "parameterOrder": [
 43055  	//     "profileId",
 43056  	//     "advertiserId"
 43057  	//   ],
 43058  	//   "parameters": {
 43059  	//     "active": {
 43060  	//       "description": "Select only active or only inactive remarketing lists.",
 43061  	//       "location": "query",
 43062  	//       "type": "boolean"
 43063  	//     },
 43064  	//     "advertiserId": {
 43065  	//       "description": "Select only remarketing lists owned by this advertiser.",
 43066  	//       "format": "int64",
 43067  	//       "location": "query",
 43068  	//       "required": true,
 43069  	//       "type": "string"
 43070  	//     },
 43071  	//     "floodlightActivityId": {
 43072  	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
 43073  	//       "format": "int64",
 43074  	//       "location": "query",
 43075  	//       "type": "string"
 43076  	//     },
 43077  	//     "maxResults": {
 43078  	//       "default": "1000",
 43079  	//       "description": "Maximum number of results to return.",
 43080  	//       "format": "int32",
 43081  	//       "location": "query",
 43082  	//       "maximum": "1000",
 43083  	//       "minimum": "0",
 43084  	//       "type": "integer"
 43085  	//     },
 43086  	//     "name": {
 43087  	//       "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\".",
 43088  	//       "location": "query",
 43089  	//       "type": "string"
 43090  	//     },
 43091  	//     "pageToken": {
 43092  	//       "description": "Value of the nextPageToken from the previous result page.",
 43093  	//       "location": "query",
 43094  	//       "type": "string"
 43095  	//     },
 43096  	//     "profileId": {
 43097  	//       "description": "User profile ID associated with this request.",
 43098  	//       "format": "int64",
 43099  	//       "location": "path",
 43100  	//       "required": true,
 43101  	//       "type": "string"
 43102  	//     },
 43103  	//     "sortField": {
 43104  	//       "default": "ID",
 43105  	//       "description": "Field by which to sort the list.",
 43106  	//       "enum": [
 43107  	//         "ID",
 43108  	//         "NAME"
 43109  	//       ],
 43110  	//       "enumDescriptions": [
 43111  	//         "",
 43112  	//         ""
 43113  	//       ],
 43114  	//       "location": "query",
 43115  	//       "type": "string"
 43116  	//     },
 43117  	//     "sortOrder": {
 43118  	//       "default": "ASCENDING",
 43119  	//       "description": "Order of sorted results.",
 43120  	//       "enum": [
 43121  	//         "ASCENDING",
 43122  	//         "DESCENDING"
 43123  	//       ],
 43124  	//       "enumDescriptions": [
 43125  	//         "",
 43126  	//         ""
 43127  	//       ],
 43128  	//       "location": "query",
 43129  	//       "type": "string"
 43130  	//     }
 43131  	//   },
 43132  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43133  	//   "response": {
 43134  	//     "$ref": "RemarketingListsListResponse"
 43135  	//   },
 43136  	//   "scopes": [
 43137  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43138  	//   ]
 43139  	// }
 43140  
 43141  }
 43142  
 43143  // Pages invokes f for each page of results.
 43144  // A non-nil error returned from f will halt the iteration.
 43145  // The provided context supersedes any context provided to the Context method.
 43146  func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
 43147  	c.ctx_ = ctx
 43148  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 43149  	for {
 43150  		x, err := c.Do()
 43151  		if err != nil {
 43152  			return err
 43153  		}
 43154  		if err := f(x); err != nil {
 43155  			return err
 43156  		}
 43157  		if x.NextPageToken == "" {
 43158  			return nil
 43159  		}
 43160  		c.PageToken(x.NextPageToken)
 43161  	}
 43162  }
 43163  
 43164  // method id "dfareporting.remarketingLists.patch":
 43165  
 43166  type RemarketingListsPatchCall struct {
 43167  	s               *Service
 43168  	profileId       int64
 43169  	remarketinglist *RemarketingList
 43170  	urlParams_      gensupport.URLParams
 43171  	ctx_            context.Context
 43172  	header_         http.Header
 43173  }
 43174  
 43175  // Patch: Updates an existing remarketing list. This method supports
 43176  // patch semantics.
 43177  func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
 43178  	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43179  	c.profileId = profileId
 43180  	c.urlParams_.Set("id", fmt.Sprint(id))
 43181  	c.remarketinglist = remarketinglist
 43182  	return c
 43183  }
 43184  
 43185  // Fields allows partial responses to be retrieved. See
 43186  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43187  // for more information.
 43188  func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
 43189  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43190  	return c
 43191  }
 43192  
 43193  // Context sets the context to be used in this call's Do method. Any
 43194  // pending HTTP request will be aborted if the provided context is
 43195  // canceled.
 43196  func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
 43197  	c.ctx_ = ctx
 43198  	return c
 43199  }
 43200  
 43201  // Header returns an http.Header that can be modified by the caller to
 43202  // add HTTP headers to the request.
 43203  func (c *RemarketingListsPatchCall) Header() http.Header {
 43204  	if c.header_ == nil {
 43205  		c.header_ = make(http.Header)
 43206  	}
 43207  	return c.header_
 43208  }
 43209  
 43210  func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
 43211  	reqHeaders := make(http.Header)
 43212  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43213  	for k, v := range c.header_ {
 43214  		reqHeaders[k] = v
 43215  	}
 43216  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43217  	var body io.Reader = nil
 43218  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 43219  	if err != nil {
 43220  		return nil, err
 43221  	}
 43222  	reqHeaders.Set("Content-Type", "application/json")
 43223  	c.urlParams_.Set("alt", alt)
 43224  	c.urlParams_.Set("prettyPrint", "false")
 43225  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43226  	urls += "?" + c.urlParams_.Encode()
 43227  	req, err := http.NewRequest("PATCH", urls, body)
 43228  	if err != nil {
 43229  		return nil, err
 43230  	}
 43231  	req.Header = reqHeaders
 43232  	googleapi.Expand(req.URL, map[string]string{
 43233  		"profileId": strconv.FormatInt(c.profileId, 10),
 43234  	})
 43235  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43236  }
 43237  
 43238  // Do executes the "dfareporting.remarketingLists.patch" call.
 43239  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43240  // status code is an error. Response headers are in either
 43241  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43242  // at all) in error.(*googleapi.Error).Header. Use
 43243  // googleapi.IsNotModified to check whether the returned error was
 43244  // because http.StatusNotModified was returned.
 43245  func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43246  	gensupport.SetOptions(c.urlParams_, opts...)
 43247  	res, err := c.doRequest("json")
 43248  	if res != nil && res.StatusCode == http.StatusNotModified {
 43249  		if res.Body != nil {
 43250  			res.Body.Close()
 43251  		}
 43252  		return nil, &googleapi.Error{
 43253  			Code:   res.StatusCode,
 43254  			Header: res.Header,
 43255  		}
 43256  	}
 43257  	if err != nil {
 43258  		return nil, err
 43259  	}
 43260  	defer googleapi.CloseBody(res)
 43261  	if err := googleapi.CheckResponse(res); err != nil {
 43262  		return nil, err
 43263  	}
 43264  	ret := &RemarketingList{
 43265  		ServerResponse: googleapi.ServerResponse{
 43266  			Header:         res.Header,
 43267  			HTTPStatusCode: res.StatusCode,
 43268  		},
 43269  	}
 43270  	target := &ret
 43271  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43272  		return nil, err
 43273  	}
 43274  	return ret, nil
 43275  	// {
 43276  	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
 43277  	//   "httpMethod": "PATCH",
 43278  	//   "id": "dfareporting.remarketingLists.patch",
 43279  	//   "parameterOrder": [
 43280  	//     "profileId",
 43281  	//     "id"
 43282  	//   ],
 43283  	//   "parameters": {
 43284  	//     "id": {
 43285  	//       "description": "Remarketing list ID.",
 43286  	//       "format": "int64",
 43287  	//       "location": "query",
 43288  	//       "required": true,
 43289  	//       "type": "string"
 43290  	//     },
 43291  	//     "profileId": {
 43292  	//       "description": "User profile ID associated with this request.",
 43293  	//       "format": "int64",
 43294  	//       "location": "path",
 43295  	//       "required": true,
 43296  	//       "type": "string"
 43297  	//     }
 43298  	//   },
 43299  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43300  	//   "request": {
 43301  	//     "$ref": "RemarketingList"
 43302  	//   },
 43303  	//   "response": {
 43304  	//     "$ref": "RemarketingList"
 43305  	//   },
 43306  	//   "scopes": [
 43307  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43308  	//   ]
 43309  	// }
 43310  
 43311  }
 43312  
 43313  // method id "dfareporting.remarketingLists.update":
 43314  
 43315  type RemarketingListsUpdateCall struct {
 43316  	s               *Service
 43317  	profileId       int64
 43318  	remarketinglist *RemarketingList
 43319  	urlParams_      gensupport.URLParams
 43320  	ctx_            context.Context
 43321  	header_         http.Header
 43322  }
 43323  
 43324  // Update: Updates an existing remarketing list.
 43325  func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
 43326  	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43327  	c.profileId = profileId
 43328  	c.remarketinglist = remarketinglist
 43329  	return c
 43330  }
 43331  
 43332  // Fields allows partial responses to be retrieved. See
 43333  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43334  // for more information.
 43335  func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
 43336  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43337  	return c
 43338  }
 43339  
 43340  // Context sets the context to be used in this call's Do method. Any
 43341  // pending HTTP request will be aborted if the provided context is
 43342  // canceled.
 43343  func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
 43344  	c.ctx_ = ctx
 43345  	return c
 43346  }
 43347  
 43348  // Header returns an http.Header that can be modified by the caller to
 43349  // add HTTP headers to the request.
 43350  func (c *RemarketingListsUpdateCall) Header() http.Header {
 43351  	if c.header_ == nil {
 43352  		c.header_ = make(http.Header)
 43353  	}
 43354  	return c.header_
 43355  }
 43356  
 43357  func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
 43358  	reqHeaders := make(http.Header)
 43359  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43360  	for k, v := range c.header_ {
 43361  		reqHeaders[k] = v
 43362  	}
 43363  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43364  	var body io.Reader = nil
 43365  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 43366  	if err != nil {
 43367  		return nil, err
 43368  	}
 43369  	reqHeaders.Set("Content-Type", "application/json")
 43370  	c.urlParams_.Set("alt", alt)
 43371  	c.urlParams_.Set("prettyPrint", "false")
 43372  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43373  	urls += "?" + c.urlParams_.Encode()
 43374  	req, err := http.NewRequest("PUT", urls, body)
 43375  	if err != nil {
 43376  		return nil, err
 43377  	}
 43378  	req.Header = reqHeaders
 43379  	googleapi.Expand(req.URL, map[string]string{
 43380  		"profileId": strconv.FormatInt(c.profileId, 10),
 43381  	})
 43382  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43383  }
 43384  
 43385  // Do executes the "dfareporting.remarketingLists.update" call.
 43386  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43387  // status code is an error. Response headers are in either
 43388  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43389  // at all) in error.(*googleapi.Error).Header. Use
 43390  // googleapi.IsNotModified to check whether the returned error was
 43391  // because http.StatusNotModified was returned.
 43392  func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43393  	gensupport.SetOptions(c.urlParams_, opts...)
 43394  	res, err := c.doRequest("json")
 43395  	if res != nil && res.StatusCode == http.StatusNotModified {
 43396  		if res.Body != nil {
 43397  			res.Body.Close()
 43398  		}
 43399  		return nil, &googleapi.Error{
 43400  			Code:   res.StatusCode,
 43401  			Header: res.Header,
 43402  		}
 43403  	}
 43404  	if err != nil {
 43405  		return nil, err
 43406  	}
 43407  	defer googleapi.CloseBody(res)
 43408  	if err := googleapi.CheckResponse(res); err != nil {
 43409  		return nil, err
 43410  	}
 43411  	ret := &RemarketingList{
 43412  		ServerResponse: googleapi.ServerResponse{
 43413  			Header:         res.Header,
 43414  			HTTPStatusCode: res.StatusCode,
 43415  		},
 43416  	}
 43417  	target := &ret
 43418  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43419  		return nil, err
 43420  	}
 43421  	return ret, nil
 43422  	// {
 43423  	//   "description": "Updates an existing remarketing list.",
 43424  	//   "httpMethod": "PUT",
 43425  	//   "id": "dfareporting.remarketingLists.update",
 43426  	//   "parameterOrder": [
 43427  	//     "profileId"
 43428  	//   ],
 43429  	//   "parameters": {
 43430  	//     "profileId": {
 43431  	//       "description": "User profile ID associated with this request.",
 43432  	//       "format": "int64",
 43433  	//       "location": "path",
 43434  	//       "required": true,
 43435  	//       "type": "string"
 43436  	//     }
 43437  	//   },
 43438  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43439  	//   "request": {
 43440  	//     "$ref": "RemarketingList"
 43441  	//   },
 43442  	//   "response": {
 43443  	//     "$ref": "RemarketingList"
 43444  	//   },
 43445  	//   "scopes": [
 43446  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43447  	//   ]
 43448  	// }
 43449  
 43450  }
 43451  
 43452  // method id "dfareporting.reports.delete":
 43453  
 43454  type ReportsDeleteCall struct {
 43455  	s          *Service
 43456  	profileId  int64
 43457  	reportId   int64
 43458  	urlParams_ gensupport.URLParams
 43459  	ctx_       context.Context
 43460  	header_    http.Header
 43461  }
 43462  
 43463  // Delete: Deletes a report by its ID.
 43464  func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
 43465  	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43466  	c.profileId = profileId
 43467  	c.reportId = reportId
 43468  	return c
 43469  }
 43470  
 43471  // Fields allows partial responses to be retrieved. See
 43472  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43473  // for more information.
 43474  func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
 43475  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43476  	return c
 43477  }
 43478  
 43479  // Context sets the context to be used in this call's Do method. Any
 43480  // pending HTTP request will be aborted if the provided context is
 43481  // canceled.
 43482  func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 43483  	c.ctx_ = ctx
 43484  	return c
 43485  }
 43486  
 43487  // Header returns an http.Header that can be modified by the caller to
 43488  // add HTTP headers to the request.
 43489  func (c *ReportsDeleteCall) Header() http.Header {
 43490  	if c.header_ == nil {
 43491  		c.header_ = make(http.Header)
 43492  	}
 43493  	return c.header_
 43494  }
 43495  
 43496  func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 43497  	reqHeaders := make(http.Header)
 43498  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43499  	for k, v := range c.header_ {
 43500  		reqHeaders[k] = v
 43501  	}
 43502  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43503  	var body io.Reader = nil
 43504  	c.urlParams_.Set("alt", alt)
 43505  	c.urlParams_.Set("prettyPrint", "false")
 43506  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 43507  	urls += "?" + c.urlParams_.Encode()
 43508  	req, err := http.NewRequest("DELETE", urls, body)
 43509  	if err != nil {
 43510  		return nil, err
 43511  	}
 43512  	req.Header = reqHeaders
 43513  	googleapi.Expand(req.URL, map[string]string{
 43514  		"profileId": strconv.FormatInt(c.profileId, 10),
 43515  		"reportId":  strconv.FormatInt(c.reportId, 10),
 43516  	})
 43517  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43518  }
 43519  
 43520  // Do executes the "dfareporting.reports.delete" call.
 43521  func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
 43522  	gensupport.SetOptions(c.urlParams_, opts...)
 43523  	res, err := c.doRequest("json")
 43524  	if err != nil {
 43525  		return err
 43526  	}
 43527  	defer googleapi.CloseBody(res)
 43528  	if err := googleapi.CheckResponse(res); err != nil {
 43529  		return err
 43530  	}
 43531  	return nil
 43532  	// {
 43533  	//   "description": "Deletes a report by its ID.",
 43534  	//   "httpMethod": "DELETE",
 43535  	//   "id": "dfareporting.reports.delete",
 43536  	//   "parameterOrder": [
 43537  	//     "profileId",
 43538  	//     "reportId"
 43539  	//   ],
 43540  	//   "parameters": {
 43541  	//     "profileId": {
 43542  	//       "description": "The DFA user profile ID.",
 43543  	//       "format": "int64",
 43544  	//       "location": "path",
 43545  	//       "required": true,
 43546  	//       "type": "string"
 43547  	//     },
 43548  	//     "reportId": {
 43549  	//       "description": "The ID of the report.",
 43550  	//       "format": "int64",
 43551  	//       "location": "path",
 43552  	//       "required": true,
 43553  	//       "type": "string"
 43554  	//     }
 43555  	//   },
 43556  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 43557  	//   "scopes": [
 43558  	//     "https://www.googleapis.com/auth/dfareporting"
 43559  	//   ]
 43560  	// }
 43561  
 43562  }
 43563  
 43564  // method id "dfareporting.reports.get":
 43565  
 43566  type ReportsGetCall struct {
 43567  	s            *Service
 43568  	profileId    int64
 43569  	reportId     int64
 43570  	urlParams_   gensupport.URLParams
 43571  	ifNoneMatch_ string
 43572  	ctx_         context.Context
 43573  	header_      http.Header
 43574  }
 43575  
 43576  // Get: Retrieves a report by its ID.
 43577  func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
 43578  	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43579  	c.profileId = profileId
 43580  	c.reportId = reportId
 43581  	return c
 43582  }
 43583  
 43584  // Fields allows partial responses to be retrieved. See
 43585  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43586  // for more information.
 43587  func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
 43588  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43589  	return c
 43590  }
 43591  
 43592  // IfNoneMatch sets the optional parameter which makes the operation
 43593  // fail if the object's ETag matches the given value. This is useful for
 43594  // getting updates only after the object has changed since the last
 43595  // request. Use googleapi.IsNotModified to check whether the response
 43596  // error from Do is the result of In-None-Match.
 43597  func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
 43598  	c.ifNoneMatch_ = entityTag
 43599  	return c
 43600  }
 43601  
 43602  // Context sets the context to be used in this call's Do method. Any
 43603  // pending HTTP request will be aborted if the provided context is
 43604  // canceled.
 43605  func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 43606  	c.ctx_ = ctx
 43607  	return c
 43608  }
 43609  
 43610  // Header returns an http.Header that can be modified by the caller to
 43611  // add HTTP headers to the request.
 43612  func (c *ReportsGetCall) Header() http.Header {
 43613  	if c.header_ == nil {
 43614  		c.header_ = make(http.Header)
 43615  	}
 43616  	return c.header_
 43617  }
 43618  
 43619  func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 43620  	reqHeaders := make(http.Header)
 43621  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43622  	for k, v := range c.header_ {
 43623  		reqHeaders[k] = v
 43624  	}
 43625  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43626  	if c.ifNoneMatch_ != "" {
 43627  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43628  	}
 43629  	var body io.Reader = nil
 43630  	c.urlParams_.Set("alt", alt)
 43631  	c.urlParams_.Set("prettyPrint", "false")
 43632  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 43633  	urls += "?" + c.urlParams_.Encode()
 43634  	req, err := http.NewRequest("GET", urls, body)
 43635  	if err != nil {
 43636  		return nil, err
 43637  	}
 43638  	req.Header = reqHeaders
 43639  	googleapi.Expand(req.URL, map[string]string{
 43640  		"profileId": strconv.FormatInt(c.profileId, 10),
 43641  		"reportId":  strconv.FormatInt(c.reportId, 10),
 43642  	})
 43643  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43644  }
 43645  
 43646  // Do executes the "dfareporting.reports.get" call.
 43647  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 43648  // code is an error. Response headers are in either
 43649  // *Report.ServerResponse.Header or (if a response was returned at all)
 43650  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 43651  // check whether the returned error was because http.StatusNotModified
 43652  // was returned.
 43653  func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 43654  	gensupport.SetOptions(c.urlParams_, opts...)
 43655  	res, err := c.doRequest("json")
 43656  	if res != nil && res.StatusCode == http.StatusNotModified {
 43657  		if res.Body != nil {
 43658  			res.Body.Close()
 43659  		}
 43660  		return nil, &googleapi.Error{
 43661  			Code:   res.StatusCode,
 43662  			Header: res.Header,
 43663  		}
 43664  	}
 43665  	if err != nil {
 43666  		return nil, err
 43667  	}
 43668  	defer googleapi.CloseBody(res)
 43669  	if err := googleapi.CheckResponse(res); err != nil {
 43670  		return nil, err
 43671  	}
 43672  	ret := &Report{
 43673  		ServerResponse: googleapi.ServerResponse{
 43674  			Header:         res.Header,
 43675  			HTTPStatusCode: res.StatusCode,
 43676  		},
 43677  	}
 43678  	target := &ret
 43679  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43680  		return nil, err
 43681  	}
 43682  	return ret, nil
 43683  	// {
 43684  	//   "description": "Retrieves a report by its ID.",
 43685  	//   "httpMethod": "GET",
 43686  	//   "id": "dfareporting.reports.get",
 43687  	//   "parameterOrder": [
 43688  	//     "profileId",
 43689  	//     "reportId"
 43690  	//   ],
 43691  	//   "parameters": {
 43692  	//     "profileId": {
 43693  	//       "description": "The DFA user profile ID.",
 43694  	//       "format": "int64",
 43695  	//       "location": "path",
 43696  	//       "required": true,
 43697  	//       "type": "string"
 43698  	//     },
 43699  	//     "reportId": {
 43700  	//       "description": "The ID of the report.",
 43701  	//       "format": "int64",
 43702  	//       "location": "path",
 43703  	//       "required": true,
 43704  	//       "type": "string"
 43705  	//     }
 43706  	//   },
 43707  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 43708  	//   "response": {
 43709  	//     "$ref": "Report"
 43710  	//   },
 43711  	//   "scopes": [
 43712  	//     "https://www.googleapis.com/auth/dfareporting"
 43713  	//   ]
 43714  	// }
 43715  
 43716  }
 43717  
 43718  // method id "dfareporting.reports.insert":
 43719  
 43720  type ReportsInsertCall struct {
 43721  	s          *Service
 43722  	profileId  int64
 43723  	report     *Report
 43724  	urlParams_ gensupport.URLParams
 43725  	ctx_       context.Context
 43726  	header_    http.Header
 43727  }
 43728  
 43729  // Insert: Creates a report.
 43730  func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
 43731  	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43732  	c.profileId = profileId
 43733  	c.report = report
 43734  	return c
 43735  }
 43736  
 43737  // Fields allows partial responses to be retrieved. See
 43738  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43739  // for more information.
 43740  func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
 43741  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43742  	return c
 43743  }
 43744  
 43745  // Context sets the context to be used in this call's Do method. Any
 43746  // pending HTTP request will be aborted if the provided context is
 43747  // canceled.
 43748  func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 43749  	c.ctx_ = ctx
 43750  	return c
 43751  }
 43752  
 43753  // Header returns an http.Header that can be modified by the caller to
 43754  // add HTTP headers to the request.
 43755  func (c *ReportsInsertCall) Header() http.Header {
 43756  	if c.header_ == nil {
 43757  		c.header_ = make(http.Header)
 43758  	}
 43759  	return c.header_
 43760  }
 43761  
 43762  func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
 43763  	reqHeaders := make(http.Header)
 43764  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43765  	for k, v := range c.header_ {
 43766  		reqHeaders[k] = v
 43767  	}
 43768  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43769  	var body io.Reader = nil
 43770  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 43771  	if err != nil {
 43772  		return nil, err
 43773  	}
 43774  	reqHeaders.Set("Content-Type", "application/json")
 43775  	c.urlParams_.Set("alt", alt)
 43776  	c.urlParams_.Set("prettyPrint", "false")
 43777  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 43778  	urls += "?" + c.urlParams_.Encode()
 43779  	req, err := http.NewRequest("POST", urls, body)
 43780  	if err != nil {
 43781  		return nil, err
 43782  	}
 43783  	req.Header = reqHeaders
 43784  	googleapi.Expand(req.URL, map[string]string{
 43785  		"profileId": strconv.FormatInt(c.profileId, 10),
 43786  	})
 43787  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43788  }
 43789  
 43790  // Do executes the "dfareporting.reports.insert" call.
 43791  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 43792  // code is an error. Response headers are in either
 43793  // *Report.ServerResponse.Header or (if a response was returned at all)
 43794  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 43795  // check whether the returned error was because http.StatusNotModified
 43796  // was returned.
 43797  func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 43798  	gensupport.SetOptions(c.urlParams_, opts...)
 43799  	res, err := c.doRequest("json")
 43800  	if res != nil && res.StatusCode == http.StatusNotModified {
 43801  		if res.Body != nil {
 43802  			res.Body.Close()
 43803  		}
 43804  		return nil, &googleapi.Error{
 43805  			Code:   res.StatusCode,
 43806  			Header: res.Header,
 43807  		}
 43808  	}
 43809  	if err != nil {
 43810  		return nil, err
 43811  	}
 43812  	defer googleapi.CloseBody(res)
 43813  	if err := googleapi.CheckResponse(res); err != nil {
 43814  		return nil, err
 43815  	}
 43816  	ret := &Report{
 43817  		ServerResponse: googleapi.ServerResponse{
 43818  			Header:         res.Header,
 43819  			HTTPStatusCode: res.StatusCode,
 43820  		},
 43821  	}
 43822  	target := &ret
 43823  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43824  		return nil, err
 43825  	}
 43826  	return ret, nil
 43827  	// {
 43828  	//   "description": "Creates a report.",
 43829  	//   "httpMethod": "POST",
 43830  	//   "id": "dfareporting.reports.insert",
 43831  	//   "parameterOrder": [
 43832  	//     "profileId"
 43833  	//   ],
 43834  	//   "parameters": {
 43835  	//     "profileId": {
 43836  	//       "description": "The DFA user profile ID.",
 43837  	//       "format": "int64",
 43838  	//       "location": "path",
 43839  	//       "required": true,
 43840  	//       "type": "string"
 43841  	//     }
 43842  	//   },
 43843  	//   "path": "userprofiles/{profileId}/reports",
 43844  	//   "request": {
 43845  	//     "$ref": "Report"
 43846  	//   },
 43847  	//   "response": {
 43848  	//     "$ref": "Report"
 43849  	//   },
 43850  	//   "scopes": [
 43851  	//     "https://www.googleapis.com/auth/dfareporting"
 43852  	//   ]
 43853  	// }
 43854  
 43855  }
 43856  
 43857  // method id "dfareporting.reports.list":
 43858  
 43859  type ReportsListCall struct {
 43860  	s            *Service
 43861  	profileId    int64
 43862  	urlParams_   gensupport.URLParams
 43863  	ifNoneMatch_ string
 43864  	ctx_         context.Context
 43865  	header_      http.Header
 43866  }
 43867  
 43868  // List: Retrieves list of reports.
 43869  func (r *ReportsService) List(profileId int64) *ReportsListCall {
 43870  	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43871  	c.profileId = profileId
 43872  	return c
 43873  }
 43874  
 43875  // MaxResults sets the optional parameter "maxResults": Maximum number
 43876  // of results to return.
 43877  func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
 43878  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 43879  	return c
 43880  }
 43881  
 43882  // PageToken sets the optional parameter "pageToken": The value of the
 43883  // nextToken from the previous result page.
 43884  func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
 43885  	c.urlParams_.Set("pageToken", pageToken)
 43886  	return c
 43887  }
 43888  
 43889  // Scope sets the optional parameter "scope": The scope that defines
 43890  // which results are returned.
 43891  //
 43892  // Possible values:
 43893  //
 43894  //	"ALL" - All reports in account.
 43895  //	"MINE" (default) - My reports.
 43896  func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
 43897  	c.urlParams_.Set("scope", scope)
 43898  	return c
 43899  }
 43900  
 43901  // SortField sets the optional parameter "sortField": The field by which
 43902  // to sort the list.
 43903  //
 43904  // Possible values:
 43905  //
 43906  //	"ID" - Sort by report ID.
 43907  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 43908  //	"NAME" - Sort by name of reports.
 43909  func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
 43910  	c.urlParams_.Set("sortField", sortField)
 43911  	return c
 43912  }
 43913  
 43914  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 43915  // results.
 43916  //
 43917  // Possible values:
 43918  //
 43919  //	"ASCENDING" - Ascending order.
 43920  //	"DESCENDING" (default) - Descending order.
 43921  func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
 43922  	c.urlParams_.Set("sortOrder", sortOrder)
 43923  	return c
 43924  }
 43925  
 43926  // Fields allows partial responses to be retrieved. See
 43927  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43928  // for more information.
 43929  func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
 43930  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43931  	return c
 43932  }
 43933  
 43934  // IfNoneMatch sets the optional parameter which makes the operation
 43935  // fail if the object's ETag matches the given value. This is useful for
 43936  // getting updates only after the object has changed since the last
 43937  // request. Use googleapi.IsNotModified to check whether the response
 43938  // error from Do is the result of In-None-Match.
 43939  func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
 43940  	c.ifNoneMatch_ = entityTag
 43941  	return c
 43942  }
 43943  
 43944  // Context sets the context to be used in this call's Do method. Any
 43945  // pending HTTP request will be aborted if the provided context is
 43946  // canceled.
 43947  func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 43948  	c.ctx_ = ctx
 43949  	return c
 43950  }
 43951  
 43952  // Header returns an http.Header that can be modified by the caller to
 43953  // add HTTP headers to the request.
 43954  func (c *ReportsListCall) Header() http.Header {
 43955  	if c.header_ == nil {
 43956  		c.header_ = make(http.Header)
 43957  	}
 43958  	return c.header_
 43959  }
 43960  
 43961  func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 43962  	reqHeaders := make(http.Header)
 43963  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43964  	for k, v := range c.header_ {
 43965  		reqHeaders[k] = v
 43966  	}
 43967  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43968  	if c.ifNoneMatch_ != "" {
 43969  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43970  	}
 43971  	var body io.Reader = nil
 43972  	c.urlParams_.Set("alt", alt)
 43973  	c.urlParams_.Set("prettyPrint", "false")
 43974  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 43975  	urls += "?" + c.urlParams_.Encode()
 43976  	req, err := http.NewRequest("GET", urls, body)
 43977  	if err != nil {
 43978  		return nil, err
 43979  	}
 43980  	req.Header = reqHeaders
 43981  	googleapi.Expand(req.URL, map[string]string{
 43982  		"profileId": strconv.FormatInt(c.profileId, 10),
 43983  	})
 43984  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43985  }
 43986  
 43987  // Do executes the "dfareporting.reports.list" call.
 43988  // Exactly one of *ReportList or error will be non-nil. Any non-2xx
 43989  // status code is an error. Response headers are in either
 43990  // *ReportList.ServerResponse.Header or (if a response was returned at
 43991  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 43992  // to check whether the returned error was because
 43993  // http.StatusNotModified was returned.
 43994  func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
 43995  	gensupport.SetOptions(c.urlParams_, opts...)
 43996  	res, err := c.doRequest("json")
 43997  	if res != nil && res.StatusCode == http.StatusNotModified {
 43998  		if res.Body != nil {
 43999  			res.Body.Close()
 44000  		}
 44001  		return nil, &googleapi.Error{
 44002  			Code:   res.StatusCode,
 44003  			Header: res.Header,
 44004  		}
 44005  	}
 44006  	if err != nil {
 44007  		return nil, err
 44008  	}
 44009  	defer googleapi.CloseBody(res)
 44010  	if err := googleapi.CheckResponse(res); err != nil {
 44011  		return nil, err
 44012  	}
 44013  	ret := &ReportList{
 44014  		ServerResponse: googleapi.ServerResponse{
 44015  			Header:         res.Header,
 44016  			HTTPStatusCode: res.StatusCode,
 44017  		},
 44018  	}
 44019  	target := &ret
 44020  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44021  		return nil, err
 44022  	}
 44023  	return ret, nil
 44024  	// {
 44025  	//   "description": "Retrieves list of reports.",
 44026  	//   "httpMethod": "GET",
 44027  	//   "id": "dfareporting.reports.list",
 44028  	//   "parameterOrder": [
 44029  	//     "profileId"
 44030  	//   ],
 44031  	//   "parameters": {
 44032  	//     "maxResults": {
 44033  	//       "default": "10",
 44034  	//       "description": "Maximum number of results to return.",
 44035  	//       "format": "int32",
 44036  	//       "location": "query",
 44037  	//       "maximum": "10",
 44038  	//       "minimum": "0",
 44039  	//       "type": "integer"
 44040  	//     },
 44041  	//     "pageToken": {
 44042  	//       "description": "The value of the nextToken from the previous result page.",
 44043  	//       "location": "query",
 44044  	//       "type": "string"
 44045  	//     },
 44046  	//     "profileId": {
 44047  	//       "description": "The DFA user profile ID.",
 44048  	//       "format": "int64",
 44049  	//       "location": "path",
 44050  	//       "required": true,
 44051  	//       "type": "string"
 44052  	//     },
 44053  	//     "scope": {
 44054  	//       "default": "MINE",
 44055  	//       "description": "The scope that defines which results are returned.",
 44056  	//       "enum": [
 44057  	//         "ALL",
 44058  	//         "MINE"
 44059  	//       ],
 44060  	//       "enumDescriptions": [
 44061  	//         "All reports in account.",
 44062  	//         "My reports."
 44063  	//       ],
 44064  	//       "location": "query",
 44065  	//       "type": "string"
 44066  	//     },
 44067  	//     "sortField": {
 44068  	//       "default": "LAST_MODIFIED_TIME",
 44069  	//       "description": "The field by which to sort the list.",
 44070  	//       "enum": [
 44071  	//         "ID",
 44072  	//         "LAST_MODIFIED_TIME",
 44073  	//         "NAME"
 44074  	//       ],
 44075  	//       "enumDescriptions": [
 44076  	//         "Sort by report ID.",
 44077  	//         "Sort by 'lastModifiedTime' field.",
 44078  	//         "Sort by name of reports."
 44079  	//       ],
 44080  	//       "location": "query",
 44081  	//       "type": "string"
 44082  	//     },
 44083  	//     "sortOrder": {
 44084  	//       "default": "DESCENDING",
 44085  	//       "description": "Order of sorted results.",
 44086  	//       "enum": [
 44087  	//         "ASCENDING",
 44088  	//         "DESCENDING"
 44089  	//       ],
 44090  	//       "enumDescriptions": [
 44091  	//         "Ascending order.",
 44092  	//         "Descending order."
 44093  	//       ],
 44094  	//       "location": "query",
 44095  	//       "type": "string"
 44096  	//     }
 44097  	//   },
 44098  	//   "path": "userprofiles/{profileId}/reports",
 44099  	//   "response": {
 44100  	//     "$ref": "ReportList"
 44101  	//   },
 44102  	//   "scopes": [
 44103  	//     "https://www.googleapis.com/auth/dfareporting"
 44104  	//   ]
 44105  	// }
 44106  
 44107  }
 44108  
 44109  // Pages invokes f for each page of results.
 44110  // A non-nil error returned from f will halt the iteration.
 44111  // The provided context supersedes any context provided to the Context method.
 44112  func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
 44113  	c.ctx_ = ctx
 44114  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 44115  	for {
 44116  		x, err := c.Do()
 44117  		if err != nil {
 44118  			return err
 44119  		}
 44120  		if err := f(x); err != nil {
 44121  			return err
 44122  		}
 44123  		if x.NextPageToken == "" {
 44124  			return nil
 44125  		}
 44126  		c.PageToken(x.NextPageToken)
 44127  	}
 44128  }
 44129  
 44130  // method id "dfareporting.reports.patch":
 44131  
 44132  type ReportsPatchCall struct {
 44133  	s          *Service
 44134  	profileId  int64
 44135  	reportId   int64
 44136  	report     *Report
 44137  	urlParams_ gensupport.URLParams
 44138  	ctx_       context.Context
 44139  	header_    http.Header
 44140  }
 44141  
 44142  // Patch: Updates a report. This method supports patch semantics.
 44143  func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
 44144  	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44145  	c.profileId = profileId
 44146  	c.reportId = reportId
 44147  	c.report = report
 44148  	return c
 44149  }
 44150  
 44151  // Fields allows partial responses to be retrieved. See
 44152  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44153  // for more information.
 44154  func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
 44155  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44156  	return c
 44157  }
 44158  
 44159  // Context sets the context to be used in this call's Do method. Any
 44160  // pending HTTP request will be aborted if the provided context is
 44161  // canceled.
 44162  func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 44163  	c.ctx_ = ctx
 44164  	return c
 44165  }
 44166  
 44167  // Header returns an http.Header that can be modified by the caller to
 44168  // add HTTP headers to the request.
 44169  func (c *ReportsPatchCall) Header() http.Header {
 44170  	if c.header_ == nil {
 44171  		c.header_ = make(http.Header)
 44172  	}
 44173  	return c.header_
 44174  }
 44175  
 44176  func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
 44177  	reqHeaders := make(http.Header)
 44178  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44179  	for k, v := range c.header_ {
 44180  		reqHeaders[k] = v
 44181  	}
 44182  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44183  	var body io.Reader = nil
 44184  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44185  	if err != nil {
 44186  		return nil, err
 44187  	}
 44188  	reqHeaders.Set("Content-Type", "application/json")
 44189  	c.urlParams_.Set("alt", alt)
 44190  	c.urlParams_.Set("prettyPrint", "false")
 44191  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44192  	urls += "?" + c.urlParams_.Encode()
 44193  	req, err := http.NewRequest("PATCH", urls, body)
 44194  	if err != nil {
 44195  		return nil, err
 44196  	}
 44197  	req.Header = reqHeaders
 44198  	googleapi.Expand(req.URL, map[string]string{
 44199  		"profileId": strconv.FormatInt(c.profileId, 10),
 44200  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44201  	})
 44202  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44203  }
 44204  
 44205  // Do executes the "dfareporting.reports.patch" call.
 44206  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44207  // code is an error. Response headers are in either
 44208  // *Report.ServerResponse.Header or (if a response was returned at all)
 44209  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44210  // check whether the returned error was because http.StatusNotModified
 44211  // was returned.
 44212  func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44213  	gensupport.SetOptions(c.urlParams_, opts...)
 44214  	res, err := c.doRequest("json")
 44215  	if res != nil && res.StatusCode == http.StatusNotModified {
 44216  		if res.Body != nil {
 44217  			res.Body.Close()
 44218  		}
 44219  		return nil, &googleapi.Error{
 44220  			Code:   res.StatusCode,
 44221  			Header: res.Header,
 44222  		}
 44223  	}
 44224  	if err != nil {
 44225  		return nil, err
 44226  	}
 44227  	defer googleapi.CloseBody(res)
 44228  	if err := googleapi.CheckResponse(res); err != nil {
 44229  		return nil, err
 44230  	}
 44231  	ret := &Report{
 44232  		ServerResponse: googleapi.ServerResponse{
 44233  			Header:         res.Header,
 44234  			HTTPStatusCode: res.StatusCode,
 44235  		},
 44236  	}
 44237  	target := &ret
 44238  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44239  		return nil, err
 44240  	}
 44241  	return ret, nil
 44242  	// {
 44243  	//   "description": "Updates a report. This method supports patch semantics.",
 44244  	//   "httpMethod": "PATCH",
 44245  	//   "id": "dfareporting.reports.patch",
 44246  	//   "parameterOrder": [
 44247  	//     "profileId",
 44248  	//     "reportId"
 44249  	//   ],
 44250  	//   "parameters": {
 44251  	//     "profileId": {
 44252  	//       "description": "The DFA user profile ID.",
 44253  	//       "format": "int64",
 44254  	//       "location": "path",
 44255  	//       "required": true,
 44256  	//       "type": "string"
 44257  	//     },
 44258  	//     "reportId": {
 44259  	//       "description": "The ID of the report.",
 44260  	//       "format": "int64",
 44261  	//       "location": "path",
 44262  	//       "required": true,
 44263  	//       "type": "string"
 44264  	//     }
 44265  	//   },
 44266  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44267  	//   "request": {
 44268  	//     "$ref": "Report"
 44269  	//   },
 44270  	//   "response": {
 44271  	//     "$ref": "Report"
 44272  	//   },
 44273  	//   "scopes": [
 44274  	//     "https://www.googleapis.com/auth/dfareporting"
 44275  	//   ]
 44276  	// }
 44277  
 44278  }
 44279  
 44280  // method id "dfareporting.reports.run":
 44281  
 44282  type ReportsRunCall struct {
 44283  	s          *Service
 44284  	profileId  int64
 44285  	reportId   int64
 44286  	urlParams_ gensupport.URLParams
 44287  	ctx_       context.Context
 44288  	header_    http.Header
 44289  }
 44290  
 44291  // Run: Runs a report.
 44292  func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
 44293  	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44294  	c.profileId = profileId
 44295  	c.reportId = reportId
 44296  	return c
 44297  }
 44298  
 44299  // Synchronous sets the optional parameter "synchronous": If set and
 44300  // true, tries to run the report synchronously.
 44301  func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
 44302  	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
 44303  	return c
 44304  }
 44305  
 44306  // Fields allows partial responses to be retrieved. See
 44307  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44308  // for more information.
 44309  func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
 44310  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44311  	return c
 44312  }
 44313  
 44314  // Context sets the context to be used in this call's Do method. Any
 44315  // pending HTTP request will be aborted if the provided context is
 44316  // canceled.
 44317  func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 44318  	c.ctx_ = ctx
 44319  	return c
 44320  }
 44321  
 44322  // Header returns an http.Header that can be modified by the caller to
 44323  // add HTTP headers to the request.
 44324  func (c *ReportsRunCall) Header() http.Header {
 44325  	if c.header_ == nil {
 44326  		c.header_ = make(http.Header)
 44327  	}
 44328  	return c.header_
 44329  }
 44330  
 44331  func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 44332  	reqHeaders := make(http.Header)
 44333  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44334  	for k, v := range c.header_ {
 44335  		reqHeaders[k] = v
 44336  	}
 44337  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44338  	var body io.Reader = nil
 44339  	c.urlParams_.Set("alt", alt)
 44340  	c.urlParams_.Set("prettyPrint", "false")
 44341  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
 44342  	urls += "?" + c.urlParams_.Encode()
 44343  	req, err := http.NewRequest("POST", urls, body)
 44344  	if err != nil {
 44345  		return nil, err
 44346  	}
 44347  	req.Header = reqHeaders
 44348  	googleapi.Expand(req.URL, map[string]string{
 44349  		"profileId": strconv.FormatInt(c.profileId, 10),
 44350  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44351  	})
 44352  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44353  }
 44354  
 44355  // Do executes the "dfareporting.reports.run" call.
 44356  // Exactly one of *File or error will be non-nil. Any non-2xx status
 44357  // code is an error. Response headers are in either
 44358  // *File.ServerResponse.Header or (if a response was returned at all) in
 44359  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 44360  // whether the returned error was because http.StatusNotModified was
 44361  // returned.
 44362  func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
 44363  	gensupport.SetOptions(c.urlParams_, opts...)
 44364  	res, err := c.doRequest("json")
 44365  	if res != nil && res.StatusCode == http.StatusNotModified {
 44366  		if res.Body != nil {
 44367  			res.Body.Close()
 44368  		}
 44369  		return nil, &googleapi.Error{
 44370  			Code:   res.StatusCode,
 44371  			Header: res.Header,
 44372  		}
 44373  	}
 44374  	if err != nil {
 44375  		return nil, err
 44376  	}
 44377  	defer googleapi.CloseBody(res)
 44378  	if err := googleapi.CheckResponse(res); err != nil {
 44379  		return nil, err
 44380  	}
 44381  	ret := &File{
 44382  		ServerResponse: googleapi.ServerResponse{
 44383  			Header:         res.Header,
 44384  			HTTPStatusCode: res.StatusCode,
 44385  		},
 44386  	}
 44387  	target := &ret
 44388  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44389  		return nil, err
 44390  	}
 44391  	return ret, nil
 44392  	// {
 44393  	//   "description": "Runs a report.",
 44394  	//   "httpMethod": "POST",
 44395  	//   "id": "dfareporting.reports.run",
 44396  	//   "parameterOrder": [
 44397  	//     "profileId",
 44398  	//     "reportId"
 44399  	//   ],
 44400  	//   "parameters": {
 44401  	//     "profileId": {
 44402  	//       "description": "The DFA profile ID.",
 44403  	//       "format": "int64",
 44404  	//       "location": "path",
 44405  	//       "required": true,
 44406  	//       "type": "string"
 44407  	//     },
 44408  	//     "reportId": {
 44409  	//       "description": "The ID of the report.",
 44410  	//       "format": "int64",
 44411  	//       "location": "path",
 44412  	//       "required": true,
 44413  	//       "type": "string"
 44414  	//     },
 44415  	//     "synchronous": {
 44416  	//       "default": "false",
 44417  	//       "description": "If set and true, tries to run the report synchronously.",
 44418  	//       "location": "query",
 44419  	//       "type": "boolean"
 44420  	//     }
 44421  	//   },
 44422  	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
 44423  	//   "response": {
 44424  	//     "$ref": "File"
 44425  	//   },
 44426  	//   "scopes": [
 44427  	//     "https://www.googleapis.com/auth/dfareporting"
 44428  	//   ]
 44429  	// }
 44430  
 44431  }
 44432  
 44433  // method id "dfareporting.reports.update":
 44434  
 44435  type ReportsUpdateCall struct {
 44436  	s          *Service
 44437  	profileId  int64
 44438  	reportId   int64
 44439  	report     *Report
 44440  	urlParams_ gensupport.URLParams
 44441  	ctx_       context.Context
 44442  	header_    http.Header
 44443  }
 44444  
 44445  // Update: Updates a report.
 44446  func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
 44447  	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44448  	c.profileId = profileId
 44449  	c.reportId = reportId
 44450  	c.report = report
 44451  	return c
 44452  }
 44453  
 44454  // Fields allows partial responses to be retrieved. See
 44455  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44456  // for more information.
 44457  func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
 44458  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44459  	return c
 44460  }
 44461  
 44462  // Context sets the context to be used in this call's Do method. Any
 44463  // pending HTTP request will be aborted if the provided context is
 44464  // canceled.
 44465  func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 44466  	c.ctx_ = ctx
 44467  	return c
 44468  }
 44469  
 44470  // Header returns an http.Header that can be modified by the caller to
 44471  // add HTTP headers to the request.
 44472  func (c *ReportsUpdateCall) Header() http.Header {
 44473  	if c.header_ == nil {
 44474  		c.header_ = make(http.Header)
 44475  	}
 44476  	return c.header_
 44477  }
 44478  
 44479  func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
 44480  	reqHeaders := make(http.Header)
 44481  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44482  	for k, v := range c.header_ {
 44483  		reqHeaders[k] = v
 44484  	}
 44485  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44486  	var body io.Reader = nil
 44487  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44488  	if err != nil {
 44489  		return nil, err
 44490  	}
 44491  	reqHeaders.Set("Content-Type", "application/json")
 44492  	c.urlParams_.Set("alt", alt)
 44493  	c.urlParams_.Set("prettyPrint", "false")
 44494  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44495  	urls += "?" + c.urlParams_.Encode()
 44496  	req, err := http.NewRequest("PUT", urls, body)
 44497  	if err != nil {
 44498  		return nil, err
 44499  	}
 44500  	req.Header = reqHeaders
 44501  	googleapi.Expand(req.URL, map[string]string{
 44502  		"profileId": strconv.FormatInt(c.profileId, 10),
 44503  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44504  	})
 44505  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44506  }
 44507  
 44508  // Do executes the "dfareporting.reports.update" call.
 44509  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44510  // code is an error. Response headers are in either
 44511  // *Report.ServerResponse.Header or (if a response was returned at all)
 44512  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44513  // check whether the returned error was because http.StatusNotModified
 44514  // was returned.
 44515  func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44516  	gensupport.SetOptions(c.urlParams_, opts...)
 44517  	res, err := c.doRequest("json")
 44518  	if res != nil && res.StatusCode == http.StatusNotModified {
 44519  		if res.Body != nil {
 44520  			res.Body.Close()
 44521  		}
 44522  		return nil, &googleapi.Error{
 44523  			Code:   res.StatusCode,
 44524  			Header: res.Header,
 44525  		}
 44526  	}
 44527  	if err != nil {
 44528  		return nil, err
 44529  	}
 44530  	defer googleapi.CloseBody(res)
 44531  	if err := googleapi.CheckResponse(res); err != nil {
 44532  		return nil, err
 44533  	}
 44534  	ret := &Report{
 44535  		ServerResponse: googleapi.ServerResponse{
 44536  			Header:         res.Header,
 44537  			HTTPStatusCode: res.StatusCode,
 44538  		},
 44539  	}
 44540  	target := &ret
 44541  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44542  		return nil, err
 44543  	}
 44544  	return ret, nil
 44545  	// {
 44546  	//   "description": "Updates a report.",
 44547  	//   "httpMethod": "PUT",
 44548  	//   "id": "dfareporting.reports.update",
 44549  	//   "parameterOrder": [
 44550  	//     "profileId",
 44551  	//     "reportId"
 44552  	//   ],
 44553  	//   "parameters": {
 44554  	//     "profileId": {
 44555  	//       "description": "The DFA user profile ID.",
 44556  	//       "format": "int64",
 44557  	//       "location": "path",
 44558  	//       "required": true,
 44559  	//       "type": "string"
 44560  	//     },
 44561  	//     "reportId": {
 44562  	//       "description": "The ID of the report.",
 44563  	//       "format": "int64",
 44564  	//       "location": "path",
 44565  	//       "required": true,
 44566  	//       "type": "string"
 44567  	//     }
 44568  	//   },
 44569  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44570  	//   "request": {
 44571  	//     "$ref": "Report"
 44572  	//   },
 44573  	//   "response": {
 44574  	//     "$ref": "Report"
 44575  	//   },
 44576  	//   "scopes": [
 44577  	//     "https://www.googleapis.com/auth/dfareporting"
 44578  	//   ]
 44579  	// }
 44580  
 44581  }
 44582  
 44583  // method id "dfareporting.reports.compatibleFields.query":
 44584  
 44585  type ReportsCompatibleFieldsQueryCall struct {
 44586  	s          *Service
 44587  	profileId  int64
 44588  	report     *Report
 44589  	urlParams_ gensupport.URLParams
 44590  	ctx_       context.Context
 44591  	header_    http.Header
 44592  }
 44593  
 44594  // Query: Returns the fields that are compatible to be selected in the
 44595  // respective sections of a report criteria, given the fields already
 44596  // selected in the input report and user permissions.
 44597  func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
 44598  	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44599  	c.profileId = profileId
 44600  	c.report = report
 44601  	return c
 44602  }
 44603  
 44604  // Fields allows partial responses to be retrieved. See
 44605  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44606  // for more information.
 44607  func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
 44608  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44609  	return c
 44610  }
 44611  
 44612  // Context sets the context to be used in this call's Do method. Any
 44613  // pending HTTP request will be aborted if the provided context is
 44614  // canceled.
 44615  func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
 44616  	c.ctx_ = ctx
 44617  	return c
 44618  }
 44619  
 44620  // Header returns an http.Header that can be modified by the caller to
 44621  // add HTTP headers to the request.
 44622  func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
 44623  	if c.header_ == nil {
 44624  		c.header_ = make(http.Header)
 44625  	}
 44626  	return c.header_
 44627  }
 44628  
 44629  func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
 44630  	reqHeaders := make(http.Header)
 44631  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44632  	for k, v := range c.header_ {
 44633  		reqHeaders[k] = v
 44634  	}
 44635  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44636  	var body io.Reader = nil
 44637  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44638  	if err != nil {
 44639  		return nil, err
 44640  	}
 44641  	reqHeaders.Set("Content-Type", "application/json")
 44642  	c.urlParams_.Set("alt", alt)
 44643  	c.urlParams_.Set("prettyPrint", "false")
 44644  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
 44645  	urls += "?" + c.urlParams_.Encode()
 44646  	req, err := http.NewRequest("POST", urls, body)
 44647  	if err != nil {
 44648  		return nil, err
 44649  	}
 44650  	req.Header = reqHeaders
 44651  	googleapi.Expand(req.URL, map[string]string{
 44652  		"profileId": strconv.FormatInt(c.profileId, 10),
 44653  	})
 44654  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44655  }
 44656  
 44657  // Do executes the "dfareporting.reports.compatibleFields.query" call.
 44658  // Exactly one of *CompatibleFields or error will be non-nil. Any
 44659  // non-2xx status code is an error. Response headers are in either
 44660  // *CompatibleFields.ServerResponse.Header or (if a response was
 44661  // returned at all) in error.(*googleapi.Error).Header. Use
 44662  // googleapi.IsNotModified to check whether the returned error was
 44663  // because http.StatusNotModified was returned.
 44664  func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
 44665  	gensupport.SetOptions(c.urlParams_, opts...)
 44666  	res, err := c.doRequest("json")
 44667  	if res != nil && res.StatusCode == http.StatusNotModified {
 44668  		if res.Body != nil {
 44669  			res.Body.Close()
 44670  		}
 44671  		return nil, &googleapi.Error{
 44672  			Code:   res.StatusCode,
 44673  			Header: res.Header,
 44674  		}
 44675  	}
 44676  	if err != nil {
 44677  		return nil, err
 44678  	}
 44679  	defer googleapi.CloseBody(res)
 44680  	if err := googleapi.CheckResponse(res); err != nil {
 44681  		return nil, err
 44682  	}
 44683  	ret := &CompatibleFields{
 44684  		ServerResponse: googleapi.ServerResponse{
 44685  			Header:         res.Header,
 44686  			HTTPStatusCode: res.StatusCode,
 44687  		},
 44688  	}
 44689  	target := &ret
 44690  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44691  		return nil, err
 44692  	}
 44693  	return ret, nil
 44694  	// {
 44695  	//   "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.",
 44696  	//   "httpMethod": "POST",
 44697  	//   "id": "dfareporting.reports.compatibleFields.query",
 44698  	//   "parameterOrder": [
 44699  	//     "profileId"
 44700  	//   ],
 44701  	//   "parameters": {
 44702  	//     "profileId": {
 44703  	//       "description": "The DFA user profile ID.",
 44704  	//       "format": "int64",
 44705  	//       "location": "path",
 44706  	//       "required": true,
 44707  	//       "type": "string"
 44708  	//     }
 44709  	//   },
 44710  	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
 44711  	//   "request": {
 44712  	//     "$ref": "Report"
 44713  	//   },
 44714  	//   "response": {
 44715  	//     "$ref": "CompatibleFields"
 44716  	//   },
 44717  	//   "scopes": [
 44718  	//     "https://www.googleapis.com/auth/dfareporting"
 44719  	//   ]
 44720  	// }
 44721  
 44722  }
 44723  
 44724  // method id "dfareporting.reports.files.get":
 44725  
 44726  type ReportsFilesGetCall struct {
 44727  	s            *Service
 44728  	profileId    int64
 44729  	reportId     int64
 44730  	fileId       int64
 44731  	urlParams_   gensupport.URLParams
 44732  	ifNoneMatch_ string
 44733  	ctx_         context.Context
 44734  	header_      http.Header
 44735  }
 44736  
 44737  // Get: Retrieves a report file. This method supports media download.
 44738  func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
 44739  	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44740  	c.profileId = profileId
 44741  	c.reportId = reportId
 44742  	c.fileId = fileId
 44743  	return c
 44744  }
 44745  
 44746  // Fields allows partial responses to be retrieved. See
 44747  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44748  // for more information.
 44749  func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
 44750  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44751  	return c
 44752  }
 44753  
 44754  // IfNoneMatch sets the optional parameter which makes the operation
 44755  // fail if the object's ETag matches the given value. This is useful for
 44756  // getting updates only after the object has changed since the last
 44757  // request. Use googleapi.IsNotModified to check whether the response
 44758  // error from Do is the result of In-None-Match.
 44759  func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
 44760  	c.ifNoneMatch_ = entityTag
 44761  	return c
 44762  }
 44763  
 44764  // Context sets the context to be used in this call's Do and Download
 44765  // methods. Any pending HTTP request will be aborted if the provided
 44766  // context is canceled.
 44767  func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 44768  	c.ctx_ = ctx
 44769  	return c
 44770  }
 44771  
 44772  // Header returns an http.Header that can be modified by the caller to
 44773  // add HTTP headers to the request.
 44774  func (c *ReportsFilesGetCall) Header() http.Header {
 44775  	if c.header_ == nil {
 44776  		c.header_ = make(http.Header)
 44777  	}
 44778  	return c.header_
 44779  }
 44780  
 44781  func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 44782  	reqHeaders := make(http.Header)
 44783  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44784  	for k, v := range c.header_ {
 44785  		reqHeaders[k] = v
 44786  	}
 44787  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44788  	if c.ifNoneMatch_ != "" {
 44789  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44790  	}
 44791  	var body io.Reader = nil
 44792  	c.urlParams_.Set("alt", alt)
 44793  	c.urlParams_.Set("prettyPrint", "false")
 44794  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
 44795  	urls += "?" + c.urlParams_.Encode()
 44796  	req, err := http.NewRequest("GET", urls, body)
 44797  	if err != nil {
 44798  		return nil, err
 44799  	}
 44800  	req.Header = reqHeaders
 44801  	googleapi.Expand(req.URL, map[string]string{
 44802  		"profileId": strconv.FormatInt(c.profileId, 10),
 44803  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44804  		"fileId":    strconv.FormatInt(c.fileId, 10),
 44805  	})
 44806  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44807  }
 44808  
 44809  // Download fetches the API endpoint's "media" value, instead of the normal
 44810  // API response value. If the returned error is nil, the Response is guaranteed to
 44811  // have a 2xx status code. Callers must close the Response.Body as usual.
 44812  func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 44813  	gensupport.SetOptions(c.urlParams_, opts...)
 44814  	res, err := c.doRequest("media")
 44815  	if err != nil {
 44816  		return nil, err
 44817  	}
 44818  	if err := googleapi.CheckMediaResponse(res); err != nil {
 44819  		res.Body.Close()
 44820  		return nil, err
 44821  	}
 44822  	return res, nil
 44823  }
 44824  
 44825  // Do executes the "dfareporting.reports.files.get" call.
 44826  // Exactly one of *File or error will be non-nil. Any non-2xx status
 44827  // code is an error. Response headers are in either
 44828  // *File.ServerResponse.Header or (if a response was returned at all) in
 44829  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 44830  // whether the returned error was because http.StatusNotModified was
 44831  // returned.
 44832  func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 44833  	gensupport.SetOptions(c.urlParams_, opts...)
 44834  	res, err := c.doRequest("json")
 44835  	if res != nil && res.StatusCode == http.StatusNotModified {
 44836  		if res.Body != nil {
 44837  			res.Body.Close()
 44838  		}
 44839  		return nil, &googleapi.Error{
 44840  			Code:   res.StatusCode,
 44841  			Header: res.Header,
 44842  		}
 44843  	}
 44844  	if err != nil {
 44845  		return nil, err
 44846  	}
 44847  	defer googleapi.CloseBody(res)
 44848  	if err := googleapi.CheckResponse(res); err != nil {
 44849  		return nil, err
 44850  	}
 44851  	ret := &File{
 44852  		ServerResponse: googleapi.ServerResponse{
 44853  			Header:         res.Header,
 44854  			HTTPStatusCode: res.StatusCode,
 44855  		},
 44856  	}
 44857  	target := &ret
 44858  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44859  		return nil, err
 44860  	}
 44861  	return ret, nil
 44862  	// {
 44863  	//   "description": "Retrieves a report file. This method supports media download.",
 44864  	//   "httpMethod": "GET",
 44865  	//   "id": "dfareporting.reports.files.get",
 44866  	//   "parameterOrder": [
 44867  	//     "profileId",
 44868  	//     "reportId",
 44869  	//     "fileId"
 44870  	//   ],
 44871  	//   "parameters": {
 44872  	//     "fileId": {
 44873  	//       "description": "The ID of the report file.",
 44874  	//       "format": "int64",
 44875  	//       "location": "path",
 44876  	//       "required": true,
 44877  	//       "type": "string"
 44878  	//     },
 44879  	//     "profileId": {
 44880  	//       "description": "The DFA profile ID.",
 44881  	//       "format": "int64",
 44882  	//       "location": "path",
 44883  	//       "required": true,
 44884  	//       "type": "string"
 44885  	//     },
 44886  	//     "reportId": {
 44887  	//       "description": "The ID of the report.",
 44888  	//       "format": "int64",
 44889  	//       "location": "path",
 44890  	//       "required": true,
 44891  	//       "type": "string"
 44892  	//     }
 44893  	//   },
 44894  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
 44895  	//   "response": {
 44896  	//     "$ref": "File"
 44897  	//   },
 44898  	//   "scopes": [
 44899  	//     "https://www.googleapis.com/auth/dfareporting"
 44900  	//   ],
 44901  	//   "supportsMediaDownload": true
 44902  	// }
 44903  
 44904  }
 44905  
 44906  // method id "dfareporting.reports.files.list":
 44907  
 44908  type ReportsFilesListCall struct {
 44909  	s            *Service
 44910  	profileId    int64
 44911  	reportId     int64
 44912  	urlParams_   gensupport.URLParams
 44913  	ifNoneMatch_ string
 44914  	ctx_         context.Context
 44915  	header_      http.Header
 44916  }
 44917  
 44918  // List: Lists files for a report.
 44919  func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
 44920  	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44921  	c.profileId = profileId
 44922  	c.reportId = reportId
 44923  	return c
 44924  }
 44925  
 44926  // MaxResults sets the optional parameter "maxResults": Maximum number
 44927  // of results to return.
 44928  func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
 44929  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 44930  	return c
 44931  }
 44932  
 44933  // PageToken sets the optional parameter "pageToken": The value of the
 44934  // nextToken from the previous result page.
 44935  func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
 44936  	c.urlParams_.Set("pageToken", pageToken)
 44937  	return c
 44938  }
 44939  
 44940  // SortField sets the optional parameter "sortField": The field by which
 44941  // to sort the list.
 44942  //
 44943  // Possible values:
 44944  //
 44945  //	"ID" - Sort by file ID.
 44946  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 44947  func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
 44948  	c.urlParams_.Set("sortField", sortField)
 44949  	return c
 44950  }
 44951  
 44952  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 44953  // results.
 44954  //
 44955  // Possible values:
 44956  //
 44957  //	"ASCENDING" - Ascending order.
 44958  //	"DESCENDING" (default) - Descending order.
 44959  func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
 44960  	c.urlParams_.Set("sortOrder", sortOrder)
 44961  	return c
 44962  }
 44963  
 44964  // Fields allows partial responses to be retrieved. See
 44965  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44966  // for more information.
 44967  func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
 44968  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44969  	return c
 44970  }
 44971  
 44972  // IfNoneMatch sets the optional parameter which makes the operation
 44973  // fail if the object's ETag matches the given value. This is useful for
 44974  // getting updates only after the object has changed since the last
 44975  // request. Use googleapi.IsNotModified to check whether the response
 44976  // error from Do is the result of In-None-Match.
 44977  func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
 44978  	c.ifNoneMatch_ = entityTag
 44979  	return c
 44980  }
 44981  
 44982  // Context sets the context to be used in this call's Do method. Any
 44983  // pending HTTP request will be aborted if the provided context is
 44984  // canceled.
 44985  func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 44986  	c.ctx_ = ctx
 44987  	return c
 44988  }
 44989  
 44990  // Header returns an http.Header that can be modified by the caller to
 44991  // add HTTP headers to the request.
 44992  func (c *ReportsFilesListCall) Header() http.Header {
 44993  	if c.header_ == nil {
 44994  		c.header_ = make(http.Header)
 44995  	}
 44996  	return c.header_
 44997  }
 44998  
 44999  func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 45000  	reqHeaders := make(http.Header)
 45001  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45002  	for k, v := range c.header_ {
 45003  		reqHeaders[k] = v
 45004  	}
 45005  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45006  	if c.ifNoneMatch_ != "" {
 45007  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45008  	}
 45009  	var body io.Reader = nil
 45010  	c.urlParams_.Set("alt", alt)
 45011  	c.urlParams_.Set("prettyPrint", "false")
 45012  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
 45013  	urls += "?" + c.urlParams_.Encode()
 45014  	req, err := http.NewRequest("GET", urls, body)
 45015  	if err != nil {
 45016  		return nil, err
 45017  	}
 45018  	req.Header = reqHeaders
 45019  	googleapi.Expand(req.URL, map[string]string{
 45020  		"profileId": strconv.FormatInt(c.profileId, 10),
 45021  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45022  	})
 45023  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45024  }
 45025  
 45026  // Do executes the "dfareporting.reports.files.list" call.
 45027  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 45028  // code is an error. Response headers are in either
 45029  // *FileList.ServerResponse.Header or (if a response was returned at
 45030  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 45031  // to check whether the returned error was because
 45032  // http.StatusNotModified was returned.
 45033  func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 45034  	gensupport.SetOptions(c.urlParams_, opts...)
 45035  	res, err := c.doRequest("json")
 45036  	if res != nil && res.StatusCode == http.StatusNotModified {
 45037  		if res.Body != nil {
 45038  			res.Body.Close()
 45039  		}
 45040  		return nil, &googleapi.Error{
 45041  			Code:   res.StatusCode,
 45042  			Header: res.Header,
 45043  		}
 45044  	}
 45045  	if err != nil {
 45046  		return nil, err
 45047  	}
 45048  	defer googleapi.CloseBody(res)
 45049  	if err := googleapi.CheckResponse(res); err != nil {
 45050  		return nil, err
 45051  	}
 45052  	ret := &FileList{
 45053  		ServerResponse: googleapi.ServerResponse{
 45054  			Header:         res.Header,
 45055  			HTTPStatusCode: res.StatusCode,
 45056  		},
 45057  	}
 45058  	target := &ret
 45059  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45060  		return nil, err
 45061  	}
 45062  	return ret, nil
 45063  	// {
 45064  	//   "description": "Lists files for a report.",
 45065  	//   "httpMethod": "GET",
 45066  	//   "id": "dfareporting.reports.files.list",
 45067  	//   "parameterOrder": [
 45068  	//     "profileId",
 45069  	//     "reportId"
 45070  	//   ],
 45071  	//   "parameters": {
 45072  	//     "maxResults": {
 45073  	//       "default": "10",
 45074  	//       "description": "Maximum number of results to return.",
 45075  	//       "format": "int32",
 45076  	//       "location": "query",
 45077  	//       "maximum": "10",
 45078  	//       "minimum": "0",
 45079  	//       "type": "integer"
 45080  	//     },
 45081  	//     "pageToken": {
 45082  	//       "description": "The value of the nextToken from the previous result page.",
 45083  	//       "location": "query",
 45084  	//       "type": "string"
 45085  	//     },
 45086  	//     "profileId": {
 45087  	//       "description": "The DFA profile ID.",
 45088  	//       "format": "int64",
 45089  	//       "location": "path",
 45090  	//       "required": true,
 45091  	//       "type": "string"
 45092  	//     },
 45093  	//     "reportId": {
 45094  	//       "description": "The ID of the parent report.",
 45095  	//       "format": "int64",
 45096  	//       "location": "path",
 45097  	//       "required": true,
 45098  	//       "type": "string"
 45099  	//     },
 45100  	//     "sortField": {
 45101  	//       "default": "LAST_MODIFIED_TIME",
 45102  	//       "description": "The field by which to sort the list.",
 45103  	//       "enum": [
 45104  	//         "ID",
 45105  	//         "LAST_MODIFIED_TIME"
 45106  	//       ],
 45107  	//       "enumDescriptions": [
 45108  	//         "Sort by file ID.",
 45109  	//         "Sort by 'lastmodifiedAt' field."
 45110  	//       ],
 45111  	//       "location": "query",
 45112  	//       "type": "string"
 45113  	//     },
 45114  	//     "sortOrder": {
 45115  	//       "default": "DESCENDING",
 45116  	//       "description": "Order of sorted results.",
 45117  	//       "enum": [
 45118  	//         "ASCENDING",
 45119  	//         "DESCENDING"
 45120  	//       ],
 45121  	//       "enumDescriptions": [
 45122  	//         "Ascending order.",
 45123  	//         "Descending order."
 45124  	//       ],
 45125  	//       "location": "query",
 45126  	//       "type": "string"
 45127  	//     }
 45128  	//   },
 45129  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
 45130  	//   "response": {
 45131  	//     "$ref": "FileList"
 45132  	//   },
 45133  	//   "scopes": [
 45134  	//     "https://www.googleapis.com/auth/dfareporting"
 45135  	//   ]
 45136  	// }
 45137  
 45138  }
 45139  
 45140  // Pages invokes f for each page of results.
 45141  // A non-nil error returned from f will halt the iteration.
 45142  // The provided context supersedes any context provided to the Context method.
 45143  func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 45144  	c.ctx_ = ctx
 45145  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 45146  	for {
 45147  		x, err := c.Do()
 45148  		if err != nil {
 45149  			return err
 45150  		}
 45151  		if err := f(x); err != nil {
 45152  			return err
 45153  		}
 45154  		if x.NextPageToken == "" {
 45155  			return nil
 45156  		}
 45157  		c.PageToken(x.NextPageToken)
 45158  	}
 45159  }
 45160  
 45161  // method id "dfareporting.sites.get":
 45162  
 45163  type SitesGetCall struct {
 45164  	s            *Service
 45165  	profileId    int64
 45166  	id           int64
 45167  	urlParams_   gensupport.URLParams
 45168  	ifNoneMatch_ string
 45169  	ctx_         context.Context
 45170  	header_      http.Header
 45171  }
 45172  
 45173  // Get: Gets one site by ID.
 45174  func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
 45175  	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45176  	c.profileId = profileId
 45177  	c.id = id
 45178  	return c
 45179  }
 45180  
 45181  // Fields allows partial responses to be retrieved. See
 45182  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45183  // for more information.
 45184  func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
 45185  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45186  	return c
 45187  }
 45188  
 45189  // IfNoneMatch sets the optional parameter which makes the operation
 45190  // fail if the object's ETag matches the given value. This is useful for
 45191  // getting updates only after the object has changed since the last
 45192  // request. Use googleapi.IsNotModified to check whether the response
 45193  // error from Do is the result of In-None-Match.
 45194  func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
 45195  	c.ifNoneMatch_ = entityTag
 45196  	return c
 45197  }
 45198  
 45199  // Context sets the context to be used in this call's Do method. Any
 45200  // pending HTTP request will be aborted if the provided context is
 45201  // canceled.
 45202  func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
 45203  	c.ctx_ = ctx
 45204  	return c
 45205  }
 45206  
 45207  // Header returns an http.Header that can be modified by the caller to
 45208  // add HTTP headers to the request.
 45209  func (c *SitesGetCall) Header() http.Header {
 45210  	if c.header_ == nil {
 45211  		c.header_ = make(http.Header)
 45212  	}
 45213  	return c.header_
 45214  }
 45215  
 45216  func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 45217  	reqHeaders := make(http.Header)
 45218  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45219  	for k, v := range c.header_ {
 45220  		reqHeaders[k] = v
 45221  	}
 45222  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45223  	if c.ifNoneMatch_ != "" {
 45224  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45225  	}
 45226  	var body io.Reader = nil
 45227  	c.urlParams_.Set("alt", alt)
 45228  	c.urlParams_.Set("prettyPrint", "false")
 45229  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
 45230  	urls += "?" + c.urlParams_.Encode()
 45231  	req, err := http.NewRequest("GET", urls, body)
 45232  	if err != nil {
 45233  		return nil, err
 45234  	}
 45235  	req.Header = reqHeaders
 45236  	googleapi.Expand(req.URL, map[string]string{
 45237  		"profileId": strconv.FormatInt(c.profileId, 10),
 45238  		"id":        strconv.FormatInt(c.id, 10),
 45239  	})
 45240  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45241  }
 45242  
 45243  // Do executes the "dfareporting.sites.get" call.
 45244  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 45245  // code is an error. Response headers are in either
 45246  // *Site.ServerResponse.Header or (if a response was returned at all) in
 45247  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45248  // whether the returned error was because http.StatusNotModified was
 45249  // returned.
 45250  func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 45251  	gensupport.SetOptions(c.urlParams_, opts...)
 45252  	res, err := c.doRequest("json")
 45253  	if res != nil && res.StatusCode == http.StatusNotModified {
 45254  		if res.Body != nil {
 45255  			res.Body.Close()
 45256  		}
 45257  		return nil, &googleapi.Error{
 45258  			Code:   res.StatusCode,
 45259  			Header: res.Header,
 45260  		}
 45261  	}
 45262  	if err != nil {
 45263  		return nil, err
 45264  	}
 45265  	defer googleapi.CloseBody(res)
 45266  	if err := googleapi.CheckResponse(res); err != nil {
 45267  		return nil, err
 45268  	}
 45269  	ret := &Site{
 45270  		ServerResponse: googleapi.ServerResponse{
 45271  			Header:         res.Header,
 45272  			HTTPStatusCode: res.StatusCode,
 45273  		},
 45274  	}
 45275  	target := &ret
 45276  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45277  		return nil, err
 45278  	}
 45279  	return ret, nil
 45280  	// {
 45281  	//   "description": "Gets one site by ID.",
 45282  	//   "httpMethod": "GET",
 45283  	//   "id": "dfareporting.sites.get",
 45284  	//   "parameterOrder": [
 45285  	//     "profileId",
 45286  	//     "id"
 45287  	//   ],
 45288  	//   "parameters": {
 45289  	//     "id": {
 45290  	//       "description": "Site ID.",
 45291  	//       "format": "int64",
 45292  	//       "location": "path",
 45293  	//       "required": true,
 45294  	//       "type": "string"
 45295  	//     },
 45296  	//     "profileId": {
 45297  	//       "description": "User profile ID associated with this request.",
 45298  	//       "format": "int64",
 45299  	//       "location": "path",
 45300  	//       "required": true,
 45301  	//       "type": "string"
 45302  	//     }
 45303  	//   },
 45304  	//   "path": "userprofiles/{profileId}/sites/{id}",
 45305  	//   "response": {
 45306  	//     "$ref": "Site"
 45307  	//   },
 45308  	//   "scopes": [
 45309  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45310  	//   ]
 45311  	// }
 45312  
 45313  }
 45314  
 45315  // method id "dfareporting.sites.insert":
 45316  
 45317  type SitesInsertCall struct {
 45318  	s          *Service
 45319  	profileId  int64
 45320  	site       *Site
 45321  	urlParams_ gensupport.URLParams
 45322  	ctx_       context.Context
 45323  	header_    http.Header
 45324  }
 45325  
 45326  // Insert: Inserts a new site.
 45327  func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
 45328  	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45329  	c.profileId = profileId
 45330  	c.site = site
 45331  	return c
 45332  }
 45333  
 45334  // Fields allows partial responses to be retrieved. See
 45335  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45336  // for more information.
 45337  func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
 45338  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45339  	return c
 45340  }
 45341  
 45342  // Context sets the context to be used in this call's Do method. Any
 45343  // pending HTTP request will be aborted if the provided context is
 45344  // canceled.
 45345  func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
 45346  	c.ctx_ = ctx
 45347  	return c
 45348  }
 45349  
 45350  // Header returns an http.Header that can be modified by the caller to
 45351  // add HTTP headers to the request.
 45352  func (c *SitesInsertCall) Header() http.Header {
 45353  	if c.header_ == nil {
 45354  		c.header_ = make(http.Header)
 45355  	}
 45356  	return c.header_
 45357  }
 45358  
 45359  func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
 45360  	reqHeaders := make(http.Header)
 45361  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45362  	for k, v := range c.header_ {
 45363  		reqHeaders[k] = v
 45364  	}
 45365  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45366  	var body io.Reader = nil
 45367  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 45368  	if err != nil {
 45369  		return nil, err
 45370  	}
 45371  	reqHeaders.Set("Content-Type", "application/json")
 45372  	c.urlParams_.Set("alt", alt)
 45373  	c.urlParams_.Set("prettyPrint", "false")
 45374  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 45375  	urls += "?" + c.urlParams_.Encode()
 45376  	req, err := http.NewRequest("POST", urls, body)
 45377  	if err != nil {
 45378  		return nil, err
 45379  	}
 45380  	req.Header = reqHeaders
 45381  	googleapi.Expand(req.URL, map[string]string{
 45382  		"profileId": strconv.FormatInt(c.profileId, 10),
 45383  	})
 45384  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45385  }
 45386  
 45387  // Do executes the "dfareporting.sites.insert" call.
 45388  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 45389  // code is an error. Response headers are in either
 45390  // *Site.ServerResponse.Header or (if a response was returned at all) in
 45391  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45392  // whether the returned error was because http.StatusNotModified was
 45393  // returned.
 45394  func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 45395  	gensupport.SetOptions(c.urlParams_, opts...)
 45396  	res, err := c.doRequest("json")
 45397  	if res != nil && res.StatusCode == http.StatusNotModified {
 45398  		if res.Body != nil {
 45399  			res.Body.Close()
 45400  		}
 45401  		return nil, &googleapi.Error{
 45402  			Code:   res.StatusCode,
 45403  			Header: res.Header,
 45404  		}
 45405  	}
 45406  	if err != nil {
 45407  		return nil, err
 45408  	}
 45409  	defer googleapi.CloseBody(res)
 45410  	if err := googleapi.CheckResponse(res); err != nil {
 45411  		return nil, err
 45412  	}
 45413  	ret := &Site{
 45414  		ServerResponse: googleapi.ServerResponse{
 45415  			Header:         res.Header,
 45416  			HTTPStatusCode: res.StatusCode,
 45417  		},
 45418  	}
 45419  	target := &ret
 45420  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45421  		return nil, err
 45422  	}
 45423  	return ret, nil
 45424  	// {
 45425  	//   "description": "Inserts a new site.",
 45426  	//   "httpMethod": "POST",
 45427  	//   "id": "dfareporting.sites.insert",
 45428  	//   "parameterOrder": [
 45429  	//     "profileId"
 45430  	//   ],
 45431  	//   "parameters": {
 45432  	//     "profileId": {
 45433  	//       "description": "User profile ID associated with this request.",
 45434  	//       "format": "int64",
 45435  	//       "location": "path",
 45436  	//       "required": true,
 45437  	//       "type": "string"
 45438  	//     }
 45439  	//   },
 45440  	//   "path": "userprofiles/{profileId}/sites",
 45441  	//   "request": {
 45442  	//     "$ref": "Site"
 45443  	//   },
 45444  	//   "response": {
 45445  	//     "$ref": "Site"
 45446  	//   },
 45447  	//   "scopes": [
 45448  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45449  	//   ]
 45450  	// }
 45451  
 45452  }
 45453  
 45454  // method id "dfareporting.sites.list":
 45455  
 45456  type SitesListCall struct {
 45457  	s            *Service
 45458  	profileId    int64
 45459  	urlParams_   gensupport.URLParams
 45460  	ifNoneMatch_ string
 45461  	ctx_         context.Context
 45462  	header_      http.Header
 45463  }
 45464  
 45465  // List: Retrieves a list of sites, possibly filtered. This method
 45466  // supports paging.
 45467  func (r *SitesService) List(profileId int64) *SitesListCall {
 45468  	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45469  	c.profileId = profileId
 45470  	return c
 45471  }
 45472  
 45473  // AcceptsInStreamVideoPlacements sets the optional parameter
 45474  // "acceptsInStreamVideoPlacements": This search filter is no longer
 45475  // supported and will have no effect on the results returned.
 45476  func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
 45477  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 45478  	return c
 45479  }
 45480  
 45481  // AcceptsInterstitialPlacements sets the optional parameter
 45482  // "acceptsInterstitialPlacements": This search filter is no longer
 45483  // supported and will have no effect on the results returned.
 45484  func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
 45485  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 45486  	return c
 45487  }
 45488  
 45489  // AcceptsPublisherPaidPlacements sets the optional parameter
 45490  // "acceptsPublisherPaidPlacements": Select only sites that accept
 45491  // publisher paid placements.
 45492  func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
 45493  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 45494  	return c
 45495  }
 45496  
 45497  // AdWordsSite sets the optional parameter "adWordsSite": Select only
 45498  // AdWords sites.
 45499  func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
 45500  	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
 45501  	return c
 45502  }
 45503  
 45504  // Approved sets the optional parameter "approved": Select only approved
 45505  // sites.
 45506  func (c *SitesListCall) Approved(approved bool) *SitesListCall {
 45507  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 45508  	return c
 45509  }
 45510  
 45511  // CampaignIds sets the optional parameter "campaignIds": Select only
 45512  // sites with these campaign IDs.
 45513  func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
 45514  	var campaignIds_ []string
 45515  	for _, v := range campaignIds {
 45516  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 45517  	}
 45518  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 45519  	return c
 45520  }
 45521  
 45522  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 45523  // Select only sites with these directory site IDs.
 45524  func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
 45525  	var directorySiteIds_ []string
 45526  	for _, v := range directorySiteIds {
 45527  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 45528  	}
 45529  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 45530  	return c
 45531  }
 45532  
 45533  // Ids sets the optional parameter "ids": Select only sites with these
 45534  // IDs.
 45535  func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
 45536  	var ids_ []string
 45537  	for _, v := range ids {
 45538  		ids_ = append(ids_, fmt.Sprint(v))
 45539  	}
 45540  	c.urlParams_.SetMulti("ids", ids_)
 45541  	return c
 45542  }
 45543  
 45544  // MaxResults sets the optional parameter "maxResults": Maximum number
 45545  // of results to return.
 45546  func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
 45547  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 45548  	return c
 45549  }
 45550  
 45551  // PageToken sets the optional parameter "pageToken": Value of the
 45552  // nextPageToken from the previous result page.
 45553  func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
 45554  	c.urlParams_.Set("pageToken", pageToken)
 45555  	return c
 45556  }
 45557  
 45558  // SearchString sets the optional parameter "searchString": Allows
 45559  // searching for objects by name, ID or keyName. Wildcards (*) are
 45560  // allowed. For example, "site*2015" will return objects with names like
 45561  // "site June 2015", "site April 2015", or simply "site 2015". Most of
 45562  // the searches also add wildcards implicitly at the start and the end
 45563  // of the search string. For example, a search string of "site" will
 45564  // match objects with name "my site", "site 2015", or simply "site".
 45565  func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
 45566  	c.urlParams_.Set("searchString", searchString)
 45567  	return c
 45568  }
 45569  
 45570  // SortField sets the optional parameter "sortField": Field by which to
 45571  // sort the list.
 45572  //
 45573  // Possible values:
 45574  //
 45575  //	"ID" (default)
 45576  //	"NAME"
 45577  func (c *SitesListCall) SortField(sortField string) *SitesListCall {
 45578  	c.urlParams_.Set("sortField", sortField)
 45579  	return c
 45580  }
 45581  
 45582  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 45583  // results.
 45584  //
 45585  // Possible values:
 45586  //
 45587  //	"ASCENDING" (default)
 45588  //	"DESCENDING"
 45589  func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
 45590  	c.urlParams_.Set("sortOrder", sortOrder)
 45591  	return c
 45592  }
 45593  
 45594  // SubaccountId sets the optional parameter "subaccountId": Select only
 45595  // sites with this subaccount ID.
 45596  func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
 45597  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 45598  	return c
 45599  }
 45600  
 45601  // UnmappedSite sets the optional parameter "unmappedSite": Select only
 45602  // sites that have not been mapped to a directory site.
 45603  func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
 45604  	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
 45605  	return c
 45606  }
 45607  
 45608  // Fields allows partial responses to be retrieved. See
 45609  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45610  // for more information.
 45611  func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
 45612  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45613  	return c
 45614  }
 45615  
 45616  // IfNoneMatch sets the optional parameter which makes the operation
 45617  // fail if the object's ETag matches the given value. This is useful for
 45618  // getting updates only after the object has changed since the last
 45619  // request. Use googleapi.IsNotModified to check whether the response
 45620  // error from Do is the result of In-None-Match.
 45621  func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
 45622  	c.ifNoneMatch_ = entityTag
 45623  	return c
 45624  }
 45625  
 45626  // Context sets the context to be used in this call's Do method. Any
 45627  // pending HTTP request will be aborted if the provided context is
 45628  // canceled.
 45629  func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
 45630  	c.ctx_ = ctx
 45631  	return c
 45632  }
 45633  
 45634  // Header returns an http.Header that can be modified by the caller to
 45635  // add HTTP headers to the request.
 45636  func (c *SitesListCall) Header() http.Header {
 45637  	if c.header_ == nil {
 45638  		c.header_ = make(http.Header)
 45639  	}
 45640  	return c.header_
 45641  }
 45642  
 45643  func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 45644  	reqHeaders := make(http.Header)
 45645  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45646  	for k, v := range c.header_ {
 45647  		reqHeaders[k] = v
 45648  	}
 45649  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45650  	if c.ifNoneMatch_ != "" {
 45651  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45652  	}
 45653  	var body io.Reader = nil
 45654  	c.urlParams_.Set("alt", alt)
 45655  	c.urlParams_.Set("prettyPrint", "false")
 45656  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 45657  	urls += "?" + c.urlParams_.Encode()
 45658  	req, err := http.NewRequest("GET", urls, body)
 45659  	if err != nil {
 45660  		return nil, err
 45661  	}
 45662  	req.Header = reqHeaders
 45663  	googleapi.Expand(req.URL, map[string]string{
 45664  		"profileId": strconv.FormatInt(c.profileId, 10),
 45665  	})
 45666  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45667  }
 45668  
 45669  // Do executes the "dfareporting.sites.list" call.
 45670  // Exactly one of *SitesListResponse or error will be non-nil. Any
 45671  // non-2xx status code is an error. Response headers are in either
 45672  // *SitesListResponse.ServerResponse.Header or (if a response was
 45673  // returned at all) in error.(*googleapi.Error).Header. Use
 45674  // googleapi.IsNotModified to check whether the returned error was
 45675  // because http.StatusNotModified was returned.
 45676  func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
 45677  	gensupport.SetOptions(c.urlParams_, opts...)
 45678  	res, err := c.doRequest("json")
 45679  	if res != nil && res.StatusCode == http.StatusNotModified {
 45680  		if res.Body != nil {
 45681  			res.Body.Close()
 45682  		}
 45683  		return nil, &googleapi.Error{
 45684  			Code:   res.StatusCode,
 45685  			Header: res.Header,
 45686  		}
 45687  	}
 45688  	if err != nil {
 45689  		return nil, err
 45690  	}
 45691  	defer googleapi.CloseBody(res)
 45692  	if err := googleapi.CheckResponse(res); err != nil {
 45693  		return nil, err
 45694  	}
 45695  	ret := &SitesListResponse{
 45696  		ServerResponse: googleapi.ServerResponse{
 45697  			Header:         res.Header,
 45698  			HTTPStatusCode: res.StatusCode,
 45699  		},
 45700  	}
 45701  	target := &ret
 45702  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45703  		return nil, err
 45704  	}
 45705  	return ret, nil
 45706  	// {
 45707  	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
 45708  	//   "httpMethod": "GET",
 45709  	//   "id": "dfareporting.sites.list",
 45710  	//   "parameterOrder": [
 45711  	//     "profileId"
 45712  	//   ],
 45713  	//   "parameters": {
 45714  	//     "acceptsInStreamVideoPlacements": {
 45715  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 45716  	//       "location": "query",
 45717  	//       "type": "boolean"
 45718  	//     },
 45719  	//     "acceptsInterstitialPlacements": {
 45720  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 45721  	//       "location": "query",
 45722  	//       "type": "boolean"
 45723  	//     },
 45724  	//     "acceptsPublisherPaidPlacements": {
 45725  	//       "description": "Select only sites that accept publisher paid placements.",
 45726  	//       "location": "query",
 45727  	//       "type": "boolean"
 45728  	//     },
 45729  	//     "adWordsSite": {
 45730  	//       "description": "Select only AdWords sites.",
 45731  	//       "location": "query",
 45732  	//       "type": "boolean"
 45733  	//     },
 45734  	//     "approved": {
 45735  	//       "description": "Select only approved sites.",
 45736  	//       "location": "query",
 45737  	//       "type": "boolean"
 45738  	//     },
 45739  	//     "campaignIds": {
 45740  	//       "description": "Select only sites with these campaign IDs.",
 45741  	//       "format": "int64",
 45742  	//       "location": "query",
 45743  	//       "repeated": true,
 45744  	//       "type": "string"
 45745  	//     },
 45746  	//     "directorySiteIds": {
 45747  	//       "description": "Select only sites with these directory site IDs.",
 45748  	//       "format": "int64",
 45749  	//       "location": "query",
 45750  	//       "repeated": true,
 45751  	//       "type": "string"
 45752  	//     },
 45753  	//     "ids": {
 45754  	//       "description": "Select only sites with these IDs.",
 45755  	//       "format": "int64",
 45756  	//       "location": "query",
 45757  	//       "repeated": true,
 45758  	//       "type": "string"
 45759  	//     },
 45760  	//     "maxResults": {
 45761  	//       "default": "1000",
 45762  	//       "description": "Maximum number of results to return.",
 45763  	//       "format": "int32",
 45764  	//       "location": "query",
 45765  	//       "maximum": "1000",
 45766  	//       "minimum": "0",
 45767  	//       "type": "integer"
 45768  	//     },
 45769  	//     "pageToken": {
 45770  	//       "description": "Value of the nextPageToken from the previous result page.",
 45771  	//       "location": "query",
 45772  	//       "type": "string"
 45773  	//     },
 45774  	//     "profileId": {
 45775  	//       "description": "User profile ID associated with this request.",
 45776  	//       "format": "int64",
 45777  	//       "location": "path",
 45778  	//       "required": true,
 45779  	//       "type": "string"
 45780  	//     },
 45781  	//     "searchString": {
 45782  	//       "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\".",
 45783  	//       "location": "query",
 45784  	//       "type": "string"
 45785  	//     },
 45786  	//     "sortField": {
 45787  	//       "default": "ID",
 45788  	//       "description": "Field by which to sort the list.",
 45789  	//       "enum": [
 45790  	//         "ID",
 45791  	//         "NAME"
 45792  	//       ],
 45793  	//       "enumDescriptions": [
 45794  	//         "",
 45795  	//         ""
 45796  	//       ],
 45797  	//       "location": "query",
 45798  	//       "type": "string"
 45799  	//     },
 45800  	//     "sortOrder": {
 45801  	//       "default": "ASCENDING",
 45802  	//       "description": "Order of sorted results.",
 45803  	//       "enum": [
 45804  	//         "ASCENDING",
 45805  	//         "DESCENDING"
 45806  	//       ],
 45807  	//       "enumDescriptions": [
 45808  	//         "",
 45809  	//         ""
 45810  	//       ],
 45811  	//       "location": "query",
 45812  	//       "type": "string"
 45813  	//     },
 45814  	//     "subaccountId": {
 45815  	//       "description": "Select only sites with this subaccount ID.",
 45816  	//       "format": "int64",
 45817  	//       "location": "query",
 45818  	//       "type": "string"
 45819  	//     },
 45820  	//     "unmappedSite": {
 45821  	//       "description": "Select only sites that have not been mapped to a directory site.",
 45822  	//       "location": "query",
 45823  	//       "type": "boolean"
 45824  	//     }
 45825  	//   },
 45826  	//   "path": "userprofiles/{profileId}/sites",
 45827  	//   "response": {
 45828  	//     "$ref": "SitesListResponse"
 45829  	//   },
 45830  	//   "scopes": [
 45831  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45832  	//   ]
 45833  	// }
 45834  
 45835  }
 45836  
 45837  // Pages invokes f for each page of results.
 45838  // A non-nil error returned from f will halt the iteration.
 45839  // The provided context supersedes any context provided to the Context method.
 45840  func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
 45841  	c.ctx_ = ctx
 45842  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 45843  	for {
 45844  		x, err := c.Do()
 45845  		if err != nil {
 45846  			return err
 45847  		}
 45848  		if err := f(x); err != nil {
 45849  			return err
 45850  		}
 45851  		if x.NextPageToken == "" {
 45852  			return nil
 45853  		}
 45854  		c.PageToken(x.NextPageToken)
 45855  	}
 45856  }
 45857  
 45858  // method id "dfareporting.sites.patch":
 45859  
 45860  type SitesPatchCall struct {
 45861  	s          *Service
 45862  	profileId  int64
 45863  	site       *Site
 45864  	urlParams_ gensupport.URLParams
 45865  	ctx_       context.Context
 45866  	header_    http.Header
 45867  }
 45868  
 45869  // Patch: Updates an existing site. This method supports patch
 45870  // semantics.
 45871  func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
 45872  	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45873  	c.profileId = profileId
 45874  	c.urlParams_.Set("id", fmt.Sprint(id))
 45875  	c.site = site
 45876  	return c
 45877  }
 45878  
 45879  // Fields allows partial responses to be retrieved. See
 45880  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45881  // for more information.
 45882  func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
 45883  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45884  	return c
 45885  }
 45886  
 45887  // Context sets the context to be used in this call's Do method. Any
 45888  // pending HTTP request will be aborted if the provided context is
 45889  // canceled.
 45890  func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
 45891  	c.ctx_ = ctx
 45892  	return c
 45893  }
 45894  
 45895  // Header returns an http.Header that can be modified by the caller to
 45896  // add HTTP headers to the request.
 45897  func (c *SitesPatchCall) Header() http.Header {
 45898  	if c.header_ == nil {
 45899  		c.header_ = make(http.Header)
 45900  	}
 45901  	return c.header_
 45902  }
 45903  
 45904  func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
 45905  	reqHeaders := make(http.Header)
 45906  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45907  	for k, v := range c.header_ {
 45908  		reqHeaders[k] = v
 45909  	}
 45910  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45911  	var body io.Reader = nil
 45912  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 45913  	if err != nil {
 45914  		return nil, err
 45915  	}
 45916  	reqHeaders.Set("Content-Type", "application/json")
 45917  	c.urlParams_.Set("alt", alt)
 45918  	c.urlParams_.Set("prettyPrint", "false")
 45919  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 45920  	urls += "?" + c.urlParams_.Encode()
 45921  	req, err := http.NewRequest("PATCH", urls, body)
 45922  	if err != nil {
 45923  		return nil, err
 45924  	}
 45925  	req.Header = reqHeaders
 45926  	googleapi.Expand(req.URL, map[string]string{
 45927  		"profileId": strconv.FormatInt(c.profileId, 10),
 45928  	})
 45929  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45930  }
 45931  
 45932  // Do executes the "dfareporting.sites.patch" call.
 45933  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 45934  // code is an error. Response headers are in either
 45935  // *Site.ServerResponse.Header or (if a response was returned at all) in
 45936  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45937  // whether the returned error was because http.StatusNotModified was
 45938  // returned.
 45939  func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 45940  	gensupport.SetOptions(c.urlParams_, opts...)
 45941  	res, err := c.doRequest("json")
 45942  	if res != nil && res.StatusCode == http.StatusNotModified {
 45943  		if res.Body != nil {
 45944  			res.Body.Close()
 45945  		}
 45946  		return nil, &googleapi.Error{
 45947  			Code:   res.StatusCode,
 45948  			Header: res.Header,
 45949  		}
 45950  	}
 45951  	if err != nil {
 45952  		return nil, err
 45953  	}
 45954  	defer googleapi.CloseBody(res)
 45955  	if err := googleapi.CheckResponse(res); err != nil {
 45956  		return nil, err
 45957  	}
 45958  	ret := &Site{
 45959  		ServerResponse: googleapi.ServerResponse{
 45960  			Header:         res.Header,
 45961  			HTTPStatusCode: res.StatusCode,
 45962  		},
 45963  	}
 45964  	target := &ret
 45965  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45966  		return nil, err
 45967  	}
 45968  	return ret, nil
 45969  	// {
 45970  	//   "description": "Updates an existing site. This method supports patch semantics.",
 45971  	//   "httpMethod": "PATCH",
 45972  	//   "id": "dfareporting.sites.patch",
 45973  	//   "parameterOrder": [
 45974  	//     "profileId",
 45975  	//     "id"
 45976  	//   ],
 45977  	//   "parameters": {
 45978  	//     "id": {
 45979  	//       "description": "Site ID.",
 45980  	//       "format": "int64",
 45981  	//       "location": "query",
 45982  	//       "required": true,
 45983  	//       "type": "string"
 45984  	//     },
 45985  	//     "profileId": {
 45986  	//       "description": "User profile ID associated with this request.",
 45987  	//       "format": "int64",
 45988  	//       "location": "path",
 45989  	//       "required": true,
 45990  	//       "type": "string"
 45991  	//     }
 45992  	//   },
 45993  	//   "path": "userprofiles/{profileId}/sites",
 45994  	//   "request": {
 45995  	//     "$ref": "Site"
 45996  	//   },
 45997  	//   "response": {
 45998  	//     "$ref": "Site"
 45999  	//   },
 46000  	//   "scopes": [
 46001  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46002  	//   ]
 46003  	// }
 46004  
 46005  }
 46006  
 46007  // method id "dfareporting.sites.update":
 46008  
 46009  type SitesUpdateCall struct {
 46010  	s          *Service
 46011  	profileId  int64
 46012  	site       *Site
 46013  	urlParams_ gensupport.URLParams
 46014  	ctx_       context.Context
 46015  	header_    http.Header
 46016  }
 46017  
 46018  // Update: Updates an existing site.
 46019  func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
 46020  	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46021  	c.profileId = profileId
 46022  	c.site = site
 46023  	return c
 46024  }
 46025  
 46026  // Fields allows partial responses to be retrieved. See
 46027  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46028  // for more information.
 46029  func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
 46030  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46031  	return c
 46032  }
 46033  
 46034  // Context sets the context to be used in this call's Do method. Any
 46035  // pending HTTP request will be aborted if the provided context is
 46036  // canceled.
 46037  func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
 46038  	c.ctx_ = ctx
 46039  	return c
 46040  }
 46041  
 46042  // Header returns an http.Header that can be modified by the caller to
 46043  // add HTTP headers to the request.
 46044  func (c *SitesUpdateCall) Header() http.Header {
 46045  	if c.header_ == nil {
 46046  		c.header_ = make(http.Header)
 46047  	}
 46048  	return c.header_
 46049  }
 46050  
 46051  func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
 46052  	reqHeaders := make(http.Header)
 46053  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46054  	for k, v := range c.header_ {
 46055  		reqHeaders[k] = v
 46056  	}
 46057  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46058  	var body io.Reader = nil
 46059  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 46060  	if err != nil {
 46061  		return nil, err
 46062  	}
 46063  	reqHeaders.Set("Content-Type", "application/json")
 46064  	c.urlParams_.Set("alt", alt)
 46065  	c.urlParams_.Set("prettyPrint", "false")
 46066  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46067  	urls += "?" + c.urlParams_.Encode()
 46068  	req, err := http.NewRequest("PUT", urls, body)
 46069  	if err != nil {
 46070  		return nil, err
 46071  	}
 46072  	req.Header = reqHeaders
 46073  	googleapi.Expand(req.URL, map[string]string{
 46074  		"profileId": strconv.FormatInt(c.profileId, 10),
 46075  	})
 46076  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46077  }
 46078  
 46079  // Do executes the "dfareporting.sites.update" call.
 46080  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 46081  // code is an error. Response headers are in either
 46082  // *Site.ServerResponse.Header or (if a response was returned at all) in
 46083  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46084  // whether the returned error was because http.StatusNotModified was
 46085  // returned.
 46086  func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 46087  	gensupport.SetOptions(c.urlParams_, opts...)
 46088  	res, err := c.doRequest("json")
 46089  	if res != nil && res.StatusCode == http.StatusNotModified {
 46090  		if res.Body != nil {
 46091  			res.Body.Close()
 46092  		}
 46093  		return nil, &googleapi.Error{
 46094  			Code:   res.StatusCode,
 46095  			Header: res.Header,
 46096  		}
 46097  	}
 46098  	if err != nil {
 46099  		return nil, err
 46100  	}
 46101  	defer googleapi.CloseBody(res)
 46102  	if err := googleapi.CheckResponse(res); err != nil {
 46103  		return nil, err
 46104  	}
 46105  	ret := &Site{
 46106  		ServerResponse: googleapi.ServerResponse{
 46107  			Header:         res.Header,
 46108  			HTTPStatusCode: res.StatusCode,
 46109  		},
 46110  	}
 46111  	target := &ret
 46112  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46113  		return nil, err
 46114  	}
 46115  	return ret, nil
 46116  	// {
 46117  	//   "description": "Updates an existing site.",
 46118  	//   "httpMethod": "PUT",
 46119  	//   "id": "dfareporting.sites.update",
 46120  	//   "parameterOrder": [
 46121  	//     "profileId"
 46122  	//   ],
 46123  	//   "parameters": {
 46124  	//     "profileId": {
 46125  	//       "description": "User profile ID associated with this request.",
 46126  	//       "format": "int64",
 46127  	//       "location": "path",
 46128  	//       "required": true,
 46129  	//       "type": "string"
 46130  	//     }
 46131  	//   },
 46132  	//   "path": "userprofiles/{profileId}/sites",
 46133  	//   "request": {
 46134  	//     "$ref": "Site"
 46135  	//   },
 46136  	//   "response": {
 46137  	//     "$ref": "Site"
 46138  	//   },
 46139  	//   "scopes": [
 46140  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46141  	//   ]
 46142  	// }
 46143  
 46144  }
 46145  
 46146  // method id "dfareporting.sizes.get":
 46147  
 46148  type SizesGetCall struct {
 46149  	s            *Service
 46150  	profileId    int64
 46151  	id           int64
 46152  	urlParams_   gensupport.URLParams
 46153  	ifNoneMatch_ string
 46154  	ctx_         context.Context
 46155  	header_      http.Header
 46156  }
 46157  
 46158  // Get: Gets one size by ID.
 46159  func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
 46160  	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46161  	c.profileId = profileId
 46162  	c.id = id
 46163  	return c
 46164  }
 46165  
 46166  // Fields allows partial responses to be retrieved. See
 46167  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46168  // for more information.
 46169  func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
 46170  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46171  	return c
 46172  }
 46173  
 46174  // IfNoneMatch sets the optional parameter which makes the operation
 46175  // fail if the object's ETag matches the given value. This is useful for
 46176  // getting updates only after the object has changed since the last
 46177  // request. Use googleapi.IsNotModified to check whether the response
 46178  // error from Do is the result of In-None-Match.
 46179  func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
 46180  	c.ifNoneMatch_ = entityTag
 46181  	return c
 46182  }
 46183  
 46184  // Context sets the context to be used in this call's Do method. Any
 46185  // pending HTTP request will be aborted if the provided context is
 46186  // canceled.
 46187  func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
 46188  	c.ctx_ = ctx
 46189  	return c
 46190  }
 46191  
 46192  // Header returns an http.Header that can be modified by the caller to
 46193  // add HTTP headers to the request.
 46194  func (c *SizesGetCall) Header() http.Header {
 46195  	if c.header_ == nil {
 46196  		c.header_ = make(http.Header)
 46197  	}
 46198  	return c.header_
 46199  }
 46200  
 46201  func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 46202  	reqHeaders := make(http.Header)
 46203  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46204  	for k, v := range c.header_ {
 46205  		reqHeaders[k] = v
 46206  	}
 46207  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46208  	if c.ifNoneMatch_ != "" {
 46209  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46210  	}
 46211  	var body io.Reader = nil
 46212  	c.urlParams_.Set("alt", alt)
 46213  	c.urlParams_.Set("prettyPrint", "false")
 46214  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
 46215  	urls += "?" + c.urlParams_.Encode()
 46216  	req, err := http.NewRequest("GET", urls, body)
 46217  	if err != nil {
 46218  		return nil, err
 46219  	}
 46220  	req.Header = reqHeaders
 46221  	googleapi.Expand(req.URL, map[string]string{
 46222  		"profileId": strconv.FormatInt(c.profileId, 10),
 46223  		"id":        strconv.FormatInt(c.id, 10),
 46224  	})
 46225  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46226  }
 46227  
 46228  // Do executes the "dfareporting.sizes.get" call.
 46229  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 46230  // code is an error. Response headers are in either
 46231  // *Size.ServerResponse.Header or (if a response was returned at all) in
 46232  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46233  // whether the returned error was because http.StatusNotModified was
 46234  // returned.
 46235  func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 46236  	gensupport.SetOptions(c.urlParams_, opts...)
 46237  	res, err := c.doRequest("json")
 46238  	if res != nil && res.StatusCode == http.StatusNotModified {
 46239  		if res.Body != nil {
 46240  			res.Body.Close()
 46241  		}
 46242  		return nil, &googleapi.Error{
 46243  			Code:   res.StatusCode,
 46244  			Header: res.Header,
 46245  		}
 46246  	}
 46247  	if err != nil {
 46248  		return nil, err
 46249  	}
 46250  	defer googleapi.CloseBody(res)
 46251  	if err := googleapi.CheckResponse(res); err != nil {
 46252  		return nil, err
 46253  	}
 46254  	ret := &Size{
 46255  		ServerResponse: googleapi.ServerResponse{
 46256  			Header:         res.Header,
 46257  			HTTPStatusCode: res.StatusCode,
 46258  		},
 46259  	}
 46260  	target := &ret
 46261  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46262  		return nil, err
 46263  	}
 46264  	return ret, nil
 46265  	// {
 46266  	//   "description": "Gets one size by ID.",
 46267  	//   "httpMethod": "GET",
 46268  	//   "id": "dfareporting.sizes.get",
 46269  	//   "parameterOrder": [
 46270  	//     "profileId",
 46271  	//     "id"
 46272  	//   ],
 46273  	//   "parameters": {
 46274  	//     "id": {
 46275  	//       "description": "Size ID.",
 46276  	//       "format": "int64",
 46277  	//       "location": "path",
 46278  	//       "required": true,
 46279  	//       "type": "string"
 46280  	//     },
 46281  	//     "profileId": {
 46282  	//       "description": "User profile ID associated with this request.",
 46283  	//       "format": "int64",
 46284  	//       "location": "path",
 46285  	//       "required": true,
 46286  	//       "type": "string"
 46287  	//     }
 46288  	//   },
 46289  	//   "path": "userprofiles/{profileId}/sizes/{id}",
 46290  	//   "response": {
 46291  	//     "$ref": "Size"
 46292  	//   },
 46293  	//   "scopes": [
 46294  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46295  	//   ]
 46296  	// }
 46297  
 46298  }
 46299  
 46300  // method id "dfareporting.sizes.insert":
 46301  
 46302  type SizesInsertCall struct {
 46303  	s          *Service
 46304  	profileId  int64
 46305  	size       *Size
 46306  	urlParams_ gensupport.URLParams
 46307  	ctx_       context.Context
 46308  	header_    http.Header
 46309  }
 46310  
 46311  // Insert: Inserts a new size.
 46312  func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
 46313  	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46314  	c.profileId = profileId
 46315  	c.size = size
 46316  	return c
 46317  }
 46318  
 46319  // Fields allows partial responses to be retrieved. See
 46320  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46321  // for more information.
 46322  func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
 46323  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46324  	return c
 46325  }
 46326  
 46327  // Context sets the context to be used in this call's Do method. Any
 46328  // pending HTTP request will be aborted if the provided context is
 46329  // canceled.
 46330  func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
 46331  	c.ctx_ = ctx
 46332  	return c
 46333  }
 46334  
 46335  // Header returns an http.Header that can be modified by the caller to
 46336  // add HTTP headers to the request.
 46337  func (c *SizesInsertCall) Header() http.Header {
 46338  	if c.header_ == nil {
 46339  		c.header_ = make(http.Header)
 46340  	}
 46341  	return c.header_
 46342  }
 46343  
 46344  func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
 46345  	reqHeaders := make(http.Header)
 46346  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46347  	for k, v := range c.header_ {
 46348  		reqHeaders[k] = v
 46349  	}
 46350  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46351  	var body io.Reader = nil
 46352  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
 46353  	if err != nil {
 46354  		return nil, err
 46355  	}
 46356  	reqHeaders.Set("Content-Type", "application/json")
 46357  	c.urlParams_.Set("alt", alt)
 46358  	c.urlParams_.Set("prettyPrint", "false")
 46359  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 46360  	urls += "?" + c.urlParams_.Encode()
 46361  	req, err := http.NewRequest("POST", urls, body)
 46362  	if err != nil {
 46363  		return nil, err
 46364  	}
 46365  	req.Header = reqHeaders
 46366  	googleapi.Expand(req.URL, map[string]string{
 46367  		"profileId": strconv.FormatInt(c.profileId, 10),
 46368  	})
 46369  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46370  }
 46371  
 46372  // Do executes the "dfareporting.sizes.insert" call.
 46373  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 46374  // code is an error. Response headers are in either
 46375  // *Size.ServerResponse.Header or (if a response was returned at all) in
 46376  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46377  // whether the returned error was because http.StatusNotModified was
 46378  // returned.
 46379  func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 46380  	gensupport.SetOptions(c.urlParams_, opts...)
 46381  	res, err := c.doRequest("json")
 46382  	if res != nil && res.StatusCode == http.StatusNotModified {
 46383  		if res.Body != nil {
 46384  			res.Body.Close()
 46385  		}
 46386  		return nil, &googleapi.Error{
 46387  			Code:   res.StatusCode,
 46388  			Header: res.Header,
 46389  		}
 46390  	}
 46391  	if err != nil {
 46392  		return nil, err
 46393  	}
 46394  	defer googleapi.CloseBody(res)
 46395  	if err := googleapi.CheckResponse(res); err != nil {
 46396  		return nil, err
 46397  	}
 46398  	ret := &Size{
 46399  		ServerResponse: googleapi.ServerResponse{
 46400  			Header:         res.Header,
 46401  			HTTPStatusCode: res.StatusCode,
 46402  		},
 46403  	}
 46404  	target := &ret
 46405  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46406  		return nil, err
 46407  	}
 46408  	return ret, nil
 46409  	// {
 46410  	//   "description": "Inserts a new size.",
 46411  	//   "httpMethod": "POST",
 46412  	//   "id": "dfareporting.sizes.insert",
 46413  	//   "parameterOrder": [
 46414  	//     "profileId"
 46415  	//   ],
 46416  	//   "parameters": {
 46417  	//     "profileId": {
 46418  	//       "description": "User profile ID associated with this request.",
 46419  	//       "format": "int64",
 46420  	//       "location": "path",
 46421  	//       "required": true,
 46422  	//       "type": "string"
 46423  	//     }
 46424  	//   },
 46425  	//   "path": "userprofiles/{profileId}/sizes",
 46426  	//   "request": {
 46427  	//     "$ref": "Size"
 46428  	//   },
 46429  	//   "response": {
 46430  	//     "$ref": "Size"
 46431  	//   },
 46432  	//   "scopes": [
 46433  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46434  	//   ]
 46435  	// }
 46436  
 46437  }
 46438  
 46439  // method id "dfareporting.sizes.list":
 46440  
 46441  type SizesListCall struct {
 46442  	s            *Service
 46443  	profileId    int64
 46444  	urlParams_   gensupport.URLParams
 46445  	ifNoneMatch_ string
 46446  	ctx_         context.Context
 46447  	header_      http.Header
 46448  }
 46449  
 46450  // List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
 46451  // are globally unique and may include values not currently in use by
 46452  // your account. Due to this, the list of sizes returned by this method
 46453  // may differ from the list seen in the Trafficking UI.
 46454  func (r *SizesService) List(profileId int64) *SizesListCall {
 46455  	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46456  	c.profileId = profileId
 46457  	return c
 46458  }
 46459  
 46460  // Height sets the optional parameter "height": Select only sizes with
 46461  // this height.
 46462  func (c *SizesListCall) Height(height int64) *SizesListCall {
 46463  	c.urlParams_.Set("height", fmt.Sprint(height))
 46464  	return c
 46465  }
 46466  
 46467  // IabStandard sets the optional parameter "iabStandard": Select only
 46468  // IAB standard sizes.
 46469  func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
 46470  	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
 46471  	return c
 46472  }
 46473  
 46474  // Ids sets the optional parameter "ids": Select only sizes with these
 46475  // IDs.
 46476  func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
 46477  	var ids_ []string
 46478  	for _, v := range ids {
 46479  		ids_ = append(ids_, fmt.Sprint(v))
 46480  	}
 46481  	c.urlParams_.SetMulti("ids", ids_)
 46482  	return c
 46483  }
 46484  
 46485  // Width sets the optional parameter "width": Select only sizes with
 46486  // this width.
 46487  func (c *SizesListCall) Width(width int64) *SizesListCall {
 46488  	c.urlParams_.Set("width", fmt.Sprint(width))
 46489  	return c
 46490  }
 46491  
 46492  // Fields allows partial responses to be retrieved. See
 46493  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46494  // for more information.
 46495  func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
 46496  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46497  	return c
 46498  }
 46499  
 46500  // IfNoneMatch sets the optional parameter which makes the operation
 46501  // fail if the object's ETag matches the given value. This is useful for
 46502  // getting updates only after the object has changed since the last
 46503  // request. Use googleapi.IsNotModified to check whether the response
 46504  // error from Do is the result of In-None-Match.
 46505  func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
 46506  	c.ifNoneMatch_ = entityTag
 46507  	return c
 46508  }
 46509  
 46510  // Context sets the context to be used in this call's Do method. Any
 46511  // pending HTTP request will be aborted if the provided context is
 46512  // canceled.
 46513  func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
 46514  	c.ctx_ = ctx
 46515  	return c
 46516  }
 46517  
 46518  // Header returns an http.Header that can be modified by the caller to
 46519  // add HTTP headers to the request.
 46520  func (c *SizesListCall) Header() http.Header {
 46521  	if c.header_ == nil {
 46522  		c.header_ = make(http.Header)
 46523  	}
 46524  	return c.header_
 46525  }
 46526  
 46527  func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 46528  	reqHeaders := make(http.Header)
 46529  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46530  	for k, v := range c.header_ {
 46531  		reqHeaders[k] = v
 46532  	}
 46533  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46534  	if c.ifNoneMatch_ != "" {
 46535  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46536  	}
 46537  	var body io.Reader = nil
 46538  	c.urlParams_.Set("alt", alt)
 46539  	c.urlParams_.Set("prettyPrint", "false")
 46540  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 46541  	urls += "?" + c.urlParams_.Encode()
 46542  	req, err := http.NewRequest("GET", urls, body)
 46543  	if err != nil {
 46544  		return nil, err
 46545  	}
 46546  	req.Header = reqHeaders
 46547  	googleapi.Expand(req.URL, map[string]string{
 46548  		"profileId": strconv.FormatInt(c.profileId, 10),
 46549  	})
 46550  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46551  }
 46552  
 46553  // Do executes the "dfareporting.sizes.list" call.
 46554  // Exactly one of *SizesListResponse or error will be non-nil. Any
 46555  // non-2xx status code is an error. Response headers are in either
 46556  // *SizesListResponse.ServerResponse.Header or (if a response was
 46557  // returned at all) in error.(*googleapi.Error).Header. Use
 46558  // googleapi.IsNotModified to check whether the returned error was
 46559  // because http.StatusNotModified was returned.
 46560  func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
 46561  	gensupport.SetOptions(c.urlParams_, opts...)
 46562  	res, err := c.doRequest("json")
 46563  	if res != nil && res.StatusCode == http.StatusNotModified {
 46564  		if res.Body != nil {
 46565  			res.Body.Close()
 46566  		}
 46567  		return nil, &googleapi.Error{
 46568  			Code:   res.StatusCode,
 46569  			Header: res.Header,
 46570  		}
 46571  	}
 46572  	if err != nil {
 46573  		return nil, err
 46574  	}
 46575  	defer googleapi.CloseBody(res)
 46576  	if err := googleapi.CheckResponse(res); err != nil {
 46577  		return nil, err
 46578  	}
 46579  	ret := &SizesListResponse{
 46580  		ServerResponse: googleapi.ServerResponse{
 46581  			Header:         res.Header,
 46582  			HTTPStatusCode: res.StatusCode,
 46583  		},
 46584  	}
 46585  	target := &ret
 46586  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46587  		return nil, err
 46588  	}
 46589  	return ret, nil
 46590  	// {
 46591  	//   "description": "Retrieves a list of sizes, possibly filtered. Retrieved sizes are globally unique and may include values not currently in use by your account. Due to this, the list of sizes returned by this method may differ from the list seen in the Trafficking UI.",
 46592  	//   "httpMethod": "GET",
 46593  	//   "id": "dfareporting.sizes.list",
 46594  	//   "parameterOrder": [
 46595  	//     "profileId"
 46596  	//   ],
 46597  	//   "parameters": {
 46598  	//     "height": {
 46599  	//       "description": "Select only sizes with this height.",
 46600  	//       "format": "int32",
 46601  	//       "location": "query",
 46602  	//       "maximum": "32767",
 46603  	//       "minimum": "0",
 46604  	//       "type": "integer"
 46605  	//     },
 46606  	//     "iabStandard": {
 46607  	//       "description": "Select only IAB standard sizes.",
 46608  	//       "location": "query",
 46609  	//       "type": "boolean"
 46610  	//     },
 46611  	//     "ids": {
 46612  	//       "description": "Select only sizes with these IDs.",
 46613  	//       "format": "int64",
 46614  	//       "location": "query",
 46615  	//       "repeated": true,
 46616  	//       "type": "string"
 46617  	//     },
 46618  	//     "profileId": {
 46619  	//       "description": "User profile ID associated with this request.",
 46620  	//       "format": "int64",
 46621  	//       "location": "path",
 46622  	//       "required": true,
 46623  	//       "type": "string"
 46624  	//     },
 46625  	//     "width": {
 46626  	//       "description": "Select only sizes with this width.",
 46627  	//       "format": "int32",
 46628  	//       "location": "query",
 46629  	//       "maximum": "32767",
 46630  	//       "minimum": "0",
 46631  	//       "type": "integer"
 46632  	//     }
 46633  	//   },
 46634  	//   "path": "userprofiles/{profileId}/sizes",
 46635  	//   "response": {
 46636  	//     "$ref": "SizesListResponse"
 46637  	//   },
 46638  	//   "scopes": [
 46639  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46640  	//   ]
 46641  	// }
 46642  
 46643  }
 46644  
 46645  // method id "dfareporting.subaccounts.get":
 46646  
 46647  type SubaccountsGetCall struct {
 46648  	s            *Service
 46649  	profileId    int64
 46650  	id           int64
 46651  	urlParams_   gensupport.URLParams
 46652  	ifNoneMatch_ string
 46653  	ctx_         context.Context
 46654  	header_      http.Header
 46655  }
 46656  
 46657  // Get: Gets one subaccount by ID.
 46658  func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
 46659  	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46660  	c.profileId = profileId
 46661  	c.id = id
 46662  	return c
 46663  }
 46664  
 46665  // Fields allows partial responses to be retrieved. See
 46666  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46667  // for more information.
 46668  func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
 46669  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46670  	return c
 46671  }
 46672  
 46673  // IfNoneMatch sets the optional parameter which makes the operation
 46674  // fail if the object's ETag matches the given value. This is useful for
 46675  // getting updates only after the object has changed since the last
 46676  // request. Use googleapi.IsNotModified to check whether the response
 46677  // error from Do is the result of In-None-Match.
 46678  func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
 46679  	c.ifNoneMatch_ = entityTag
 46680  	return c
 46681  }
 46682  
 46683  // Context sets the context to be used in this call's Do method. Any
 46684  // pending HTTP request will be aborted if the provided context is
 46685  // canceled.
 46686  func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
 46687  	c.ctx_ = ctx
 46688  	return c
 46689  }
 46690  
 46691  // Header returns an http.Header that can be modified by the caller to
 46692  // add HTTP headers to the request.
 46693  func (c *SubaccountsGetCall) Header() http.Header {
 46694  	if c.header_ == nil {
 46695  		c.header_ = make(http.Header)
 46696  	}
 46697  	return c.header_
 46698  }
 46699  
 46700  func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 46701  	reqHeaders := make(http.Header)
 46702  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46703  	for k, v := range c.header_ {
 46704  		reqHeaders[k] = v
 46705  	}
 46706  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46707  	if c.ifNoneMatch_ != "" {
 46708  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46709  	}
 46710  	var body io.Reader = nil
 46711  	c.urlParams_.Set("alt", alt)
 46712  	c.urlParams_.Set("prettyPrint", "false")
 46713  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
 46714  	urls += "?" + c.urlParams_.Encode()
 46715  	req, err := http.NewRequest("GET", urls, body)
 46716  	if err != nil {
 46717  		return nil, err
 46718  	}
 46719  	req.Header = reqHeaders
 46720  	googleapi.Expand(req.URL, map[string]string{
 46721  		"profileId": strconv.FormatInt(c.profileId, 10),
 46722  		"id":        strconv.FormatInt(c.id, 10),
 46723  	})
 46724  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46725  }
 46726  
 46727  // Do executes the "dfareporting.subaccounts.get" call.
 46728  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 46729  // status code is an error. Response headers are in either
 46730  // *Subaccount.ServerResponse.Header or (if a response was returned at
 46731  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 46732  // to check whether the returned error was because
 46733  // http.StatusNotModified was returned.
 46734  func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 46735  	gensupport.SetOptions(c.urlParams_, opts...)
 46736  	res, err := c.doRequest("json")
 46737  	if res != nil && res.StatusCode == http.StatusNotModified {
 46738  		if res.Body != nil {
 46739  			res.Body.Close()
 46740  		}
 46741  		return nil, &googleapi.Error{
 46742  			Code:   res.StatusCode,
 46743  			Header: res.Header,
 46744  		}
 46745  	}
 46746  	if err != nil {
 46747  		return nil, err
 46748  	}
 46749  	defer googleapi.CloseBody(res)
 46750  	if err := googleapi.CheckResponse(res); err != nil {
 46751  		return nil, err
 46752  	}
 46753  	ret := &Subaccount{
 46754  		ServerResponse: googleapi.ServerResponse{
 46755  			Header:         res.Header,
 46756  			HTTPStatusCode: res.StatusCode,
 46757  		},
 46758  	}
 46759  	target := &ret
 46760  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46761  		return nil, err
 46762  	}
 46763  	return ret, nil
 46764  	// {
 46765  	//   "description": "Gets one subaccount by ID.",
 46766  	//   "httpMethod": "GET",
 46767  	//   "id": "dfareporting.subaccounts.get",
 46768  	//   "parameterOrder": [
 46769  	//     "profileId",
 46770  	//     "id"
 46771  	//   ],
 46772  	//   "parameters": {
 46773  	//     "id": {
 46774  	//       "description": "Subaccount ID.",
 46775  	//       "format": "int64",
 46776  	//       "location": "path",
 46777  	//       "required": true,
 46778  	//       "type": "string"
 46779  	//     },
 46780  	//     "profileId": {
 46781  	//       "description": "User profile ID associated with this request.",
 46782  	//       "format": "int64",
 46783  	//       "location": "path",
 46784  	//       "required": true,
 46785  	//       "type": "string"
 46786  	//     }
 46787  	//   },
 46788  	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
 46789  	//   "response": {
 46790  	//     "$ref": "Subaccount"
 46791  	//   },
 46792  	//   "scopes": [
 46793  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46794  	//   ]
 46795  	// }
 46796  
 46797  }
 46798  
 46799  // method id "dfareporting.subaccounts.insert":
 46800  
 46801  type SubaccountsInsertCall struct {
 46802  	s          *Service
 46803  	profileId  int64
 46804  	subaccount *Subaccount
 46805  	urlParams_ gensupport.URLParams
 46806  	ctx_       context.Context
 46807  	header_    http.Header
 46808  }
 46809  
 46810  // Insert: Inserts a new subaccount.
 46811  func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
 46812  	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46813  	c.profileId = profileId
 46814  	c.subaccount = subaccount
 46815  	return c
 46816  }
 46817  
 46818  // Fields allows partial responses to be retrieved. See
 46819  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46820  // for more information.
 46821  func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
 46822  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46823  	return c
 46824  }
 46825  
 46826  // Context sets the context to be used in this call's Do method. Any
 46827  // pending HTTP request will be aborted if the provided context is
 46828  // canceled.
 46829  func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
 46830  	c.ctx_ = ctx
 46831  	return c
 46832  }
 46833  
 46834  // Header returns an http.Header that can be modified by the caller to
 46835  // add HTTP headers to the request.
 46836  func (c *SubaccountsInsertCall) Header() http.Header {
 46837  	if c.header_ == nil {
 46838  		c.header_ = make(http.Header)
 46839  	}
 46840  	return c.header_
 46841  }
 46842  
 46843  func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
 46844  	reqHeaders := make(http.Header)
 46845  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46846  	for k, v := range c.header_ {
 46847  		reqHeaders[k] = v
 46848  	}
 46849  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46850  	var body io.Reader = nil
 46851  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 46852  	if err != nil {
 46853  		return nil, err
 46854  	}
 46855  	reqHeaders.Set("Content-Type", "application/json")
 46856  	c.urlParams_.Set("alt", alt)
 46857  	c.urlParams_.Set("prettyPrint", "false")
 46858  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 46859  	urls += "?" + c.urlParams_.Encode()
 46860  	req, err := http.NewRequest("POST", urls, body)
 46861  	if err != nil {
 46862  		return nil, err
 46863  	}
 46864  	req.Header = reqHeaders
 46865  	googleapi.Expand(req.URL, map[string]string{
 46866  		"profileId": strconv.FormatInt(c.profileId, 10),
 46867  	})
 46868  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46869  }
 46870  
 46871  // Do executes the "dfareporting.subaccounts.insert" call.
 46872  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 46873  // status code is an error. Response headers are in either
 46874  // *Subaccount.ServerResponse.Header or (if a response was returned at
 46875  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 46876  // to check whether the returned error was because
 46877  // http.StatusNotModified was returned.
 46878  func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 46879  	gensupport.SetOptions(c.urlParams_, opts...)
 46880  	res, err := c.doRequest("json")
 46881  	if res != nil && res.StatusCode == http.StatusNotModified {
 46882  		if res.Body != nil {
 46883  			res.Body.Close()
 46884  		}
 46885  		return nil, &googleapi.Error{
 46886  			Code:   res.StatusCode,
 46887  			Header: res.Header,
 46888  		}
 46889  	}
 46890  	if err != nil {
 46891  		return nil, err
 46892  	}
 46893  	defer googleapi.CloseBody(res)
 46894  	if err := googleapi.CheckResponse(res); err != nil {
 46895  		return nil, err
 46896  	}
 46897  	ret := &Subaccount{
 46898  		ServerResponse: googleapi.ServerResponse{
 46899  			Header:         res.Header,
 46900  			HTTPStatusCode: res.StatusCode,
 46901  		},
 46902  	}
 46903  	target := &ret
 46904  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46905  		return nil, err
 46906  	}
 46907  	return ret, nil
 46908  	// {
 46909  	//   "description": "Inserts a new subaccount.",
 46910  	//   "httpMethod": "POST",
 46911  	//   "id": "dfareporting.subaccounts.insert",
 46912  	//   "parameterOrder": [
 46913  	//     "profileId"
 46914  	//   ],
 46915  	//   "parameters": {
 46916  	//     "profileId": {
 46917  	//       "description": "User profile ID associated with this request.",
 46918  	//       "format": "int64",
 46919  	//       "location": "path",
 46920  	//       "required": true,
 46921  	//       "type": "string"
 46922  	//     }
 46923  	//   },
 46924  	//   "path": "userprofiles/{profileId}/subaccounts",
 46925  	//   "request": {
 46926  	//     "$ref": "Subaccount"
 46927  	//   },
 46928  	//   "response": {
 46929  	//     "$ref": "Subaccount"
 46930  	//   },
 46931  	//   "scopes": [
 46932  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46933  	//   ]
 46934  	// }
 46935  
 46936  }
 46937  
 46938  // method id "dfareporting.subaccounts.list":
 46939  
 46940  type SubaccountsListCall struct {
 46941  	s            *Service
 46942  	profileId    int64
 46943  	urlParams_   gensupport.URLParams
 46944  	ifNoneMatch_ string
 46945  	ctx_         context.Context
 46946  	header_      http.Header
 46947  }
 46948  
 46949  // List: Gets a list of subaccounts, possibly filtered. This method
 46950  // supports paging.
 46951  func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
 46952  	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46953  	c.profileId = profileId
 46954  	return c
 46955  }
 46956  
 46957  // Ids sets the optional parameter "ids": Select only subaccounts with
 46958  // these IDs.
 46959  func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
 46960  	var ids_ []string
 46961  	for _, v := range ids {
 46962  		ids_ = append(ids_, fmt.Sprint(v))
 46963  	}
 46964  	c.urlParams_.SetMulti("ids", ids_)
 46965  	return c
 46966  }
 46967  
 46968  // MaxResults sets the optional parameter "maxResults": Maximum number
 46969  // of results to return.
 46970  func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
 46971  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 46972  	return c
 46973  }
 46974  
 46975  // PageToken sets the optional parameter "pageToken": Value of the
 46976  // nextPageToken from the previous result page.
 46977  func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
 46978  	c.urlParams_.Set("pageToken", pageToken)
 46979  	return c
 46980  }
 46981  
 46982  // SearchString sets the optional parameter "searchString": Allows
 46983  // searching for objects by name or ID. Wildcards (*) are allowed. For
 46984  // example, "subaccount*2015" will return objects with names like
 46985  // "subaccount June 2015", "subaccount April 2015", or simply
 46986  // "subaccount 2015". Most of the searches also add wildcards implicitly
 46987  // at the start and the end of the search string. For example, a search
 46988  // string of "subaccount" will match objects with name "my subaccount",
 46989  // "subaccount 2015", or simply "subaccount".
 46990  func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
 46991  	c.urlParams_.Set("searchString", searchString)
 46992  	return c
 46993  }
 46994  
 46995  // SortField sets the optional parameter "sortField": Field by which to
 46996  // sort the list.
 46997  //
 46998  // Possible values:
 46999  //
 47000  //	"ID" (default)
 47001  //	"NAME"
 47002  func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
 47003  	c.urlParams_.Set("sortField", sortField)
 47004  	return c
 47005  }
 47006  
 47007  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 47008  // results.
 47009  //
 47010  // Possible values:
 47011  //
 47012  //	"ASCENDING" (default)
 47013  //	"DESCENDING"
 47014  func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
 47015  	c.urlParams_.Set("sortOrder", sortOrder)
 47016  	return c
 47017  }
 47018  
 47019  // Fields allows partial responses to be retrieved. See
 47020  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47021  // for more information.
 47022  func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
 47023  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47024  	return c
 47025  }
 47026  
 47027  // IfNoneMatch sets the optional parameter which makes the operation
 47028  // fail if the object's ETag matches the given value. This is useful for
 47029  // getting updates only after the object has changed since the last
 47030  // request. Use googleapi.IsNotModified to check whether the response
 47031  // error from Do is the result of In-None-Match.
 47032  func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
 47033  	c.ifNoneMatch_ = entityTag
 47034  	return c
 47035  }
 47036  
 47037  // Context sets the context to be used in this call's Do method. Any
 47038  // pending HTTP request will be aborted if the provided context is
 47039  // canceled.
 47040  func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
 47041  	c.ctx_ = ctx
 47042  	return c
 47043  }
 47044  
 47045  // Header returns an http.Header that can be modified by the caller to
 47046  // add HTTP headers to the request.
 47047  func (c *SubaccountsListCall) Header() http.Header {
 47048  	if c.header_ == nil {
 47049  		c.header_ = make(http.Header)
 47050  	}
 47051  	return c.header_
 47052  }
 47053  
 47054  func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 47055  	reqHeaders := make(http.Header)
 47056  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47057  	for k, v := range c.header_ {
 47058  		reqHeaders[k] = v
 47059  	}
 47060  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47061  	if c.ifNoneMatch_ != "" {
 47062  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47063  	}
 47064  	var body io.Reader = nil
 47065  	c.urlParams_.Set("alt", alt)
 47066  	c.urlParams_.Set("prettyPrint", "false")
 47067  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47068  	urls += "?" + c.urlParams_.Encode()
 47069  	req, err := http.NewRequest("GET", urls, body)
 47070  	if err != nil {
 47071  		return nil, err
 47072  	}
 47073  	req.Header = reqHeaders
 47074  	googleapi.Expand(req.URL, map[string]string{
 47075  		"profileId": strconv.FormatInt(c.profileId, 10),
 47076  	})
 47077  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47078  }
 47079  
 47080  // Do executes the "dfareporting.subaccounts.list" call.
 47081  // Exactly one of *SubaccountsListResponse or error will be non-nil. Any
 47082  // non-2xx status code is an error. Response headers are in either
 47083  // *SubaccountsListResponse.ServerResponse.Header or (if a response was
 47084  // returned at all) in error.(*googleapi.Error).Header. Use
 47085  // googleapi.IsNotModified to check whether the returned error was
 47086  // because http.StatusNotModified was returned.
 47087  func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
 47088  	gensupport.SetOptions(c.urlParams_, opts...)
 47089  	res, err := c.doRequest("json")
 47090  	if res != nil && res.StatusCode == http.StatusNotModified {
 47091  		if res.Body != nil {
 47092  			res.Body.Close()
 47093  		}
 47094  		return nil, &googleapi.Error{
 47095  			Code:   res.StatusCode,
 47096  			Header: res.Header,
 47097  		}
 47098  	}
 47099  	if err != nil {
 47100  		return nil, err
 47101  	}
 47102  	defer googleapi.CloseBody(res)
 47103  	if err := googleapi.CheckResponse(res); err != nil {
 47104  		return nil, err
 47105  	}
 47106  	ret := &SubaccountsListResponse{
 47107  		ServerResponse: googleapi.ServerResponse{
 47108  			Header:         res.Header,
 47109  			HTTPStatusCode: res.StatusCode,
 47110  		},
 47111  	}
 47112  	target := &ret
 47113  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47114  		return nil, err
 47115  	}
 47116  	return ret, nil
 47117  	// {
 47118  	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
 47119  	//   "httpMethod": "GET",
 47120  	//   "id": "dfareporting.subaccounts.list",
 47121  	//   "parameterOrder": [
 47122  	//     "profileId"
 47123  	//   ],
 47124  	//   "parameters": {
 47125  	//     "ids": {
 47126  	//       "description": "Select only subaccounts with these IDs.",
 47127  	//       "format": "int64",
 47128  	//       "location": "query",
 47129  	//       "repeated": true,
 47130  	//       "type": "string"
 47131  	//     },
 47132  	//     "maxResults": {
 47133  	//       "default": "1000",
 47134  	//       "description": "Maximum number of results to return.",
 47135  	//       "format": "int32",
 47136  	//       "location": "query",
 47137  	//       "maximum": "1000",
 47138  	//       "minimum": "0",
 47139  	//       "type": "integer"
 47140  	//     },
 47141  	//     "pageToken": {
 47142  	//       "description": "Value of the nextPageToken from the previous result page.",
 47143  	//       "location": "query",
 47144  	//       "type": "string"
 47145  	//     },
 47146  	//     "profileId": {
 47147  	//       "description": "User profile ID associated with this request.",
 47148  	//       "format": "int64",
 47149  	//       "location": "path",
 47150  	//       "required": true,
 47151  	//       "type": "string"
 47152  	//     },
 47153  	//     "searchString": {
 47154  	//       "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\".",
 47155  	//       "location": "query",
 47156  	//       "type": "string"
 47157  	//     },
 47158  	//     "sortField": {
 47159  	//       "default": "ID",
 47160  	//       "description": "Field by which to sort the list.",
 47161  	//       "enum": [
 47162  	//         "ID",
 47163  	//         "NAME"
 47164  	//       ],
 47165  	//       "enumDescriptions": [
 47166  	//         "",
 47167  	//         ""
 47168  	//       ],
 47169  	//       "location": "query",
 47170  	//       "type": "string"
 47171  	//     },
 47172  	//     "sortOrder": {
 47173  	//       "default": "ASCENDING",
 47174  	//       "description": "Order of sorted results.",
 47175  	//       "enum": [
 47176  	//         "ASCENDING",
 47177  	//         "DESCENDING"
 47178  	//       ],
 47179  	//       "enumDescriptions": [
 47180  	//         "",
 47181  	//         ""
 47182  	//       ],
 47183  	//       "location": "query",
 47184  	//       "type": "string"
 47185  	//     }
 47186  	//   },
 47187  	//   "path": "userprofiles/{profileId}/subaccounts",
 47188  	//   "response": {
 47189  	//     "$ref": "SubaccountsListResponse"
 47190  	//   },
 47191  	//   "scopes": [
 47192  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47193  	//   ]
 47194  	// }
 47195  
 47196  }
 47197  
 47198  // Pages invokes f for each page of results.
 47199  // A non-nil error returned from f will halt the iteration.
 47200  // The provided context supersedes any context provided to the Context method.
 47201  func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
 47202  	c.ctx_ = ctx
 47203  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 47204  	for {
 47205  		x, err := c.Do()
 47206  		if err != nil {
 47207  			return err
 47208  		}
 47209  		if err := f(x); err != nil {
 47210  			return err
 47211  		}
 47212  		if x.NextPageToken == "" {
 47213  			return nil
 47214  		}
 47215  		c.PageToken(x.NextPageToken)
 47216  	}
 47217  }
 47218  
 47219  // method id "dfareporting.subaccounts.patch":
 47220  
 47221  type SubaccountsPatchCall struct {
 47222  	s          *Service
 47223  	profileId  int64
 47224  	subaccount *Subaccount
 47225  	urlParams_ gensupport.URLParams
 47226  	ctx_       context.Context
 47227  	header_    http.Header
 47228  }
 47229  
 47230  // Patch: Updates an existing subaccount. This method supports patch
 47231  // semantics.
 47232  func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
 47233  	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47234  	c.profileId = profileId
 47235  	c.urlParams_.Set("id", fmt.Sprint(id))
 47236  	c.subaccount = subaccount
 47237  	return c
 47238  }
 47239  
 47240  // Fields allows partial responses to be retrieved. See
 47241  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47242  // for more information.
 47243  func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
 47244  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47245  	return c
 47246  }
 47247  
 47248  // Context sets the context to be used in this call's Do method. Any
 47249  // pending HTTP request will be aborted if the provided context is
 47250  // canceled.
 47251  func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
 47252  	c.ctx_ = ctx
 47253  	return c
 47254  }
 47255  
 47256  // Header returns an http.Header that can be modified by the caller to
 47257  // add HTTP headers to the request.
 47258  func (c *SubaccountsPatchCall) Header() http.Header {
 47259  	if c.header_ == nil {
 47260  		c.header_ = make(http.Header)
 47261  	}
 47262  	return c.header_
 47263  }
 47264  
 47265  func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 47266  	reqHeaders := make(http.Header)
 47267  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47268  	for k, v := range c.header_ {
 47269  		reqHeaders[k] = v
 47270  	}
 47271  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47272  	var body io.Reader = nil
 47273  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 47274  	if err != nil {
 47275  		return nil, err
 47276  	}
 47277  	reqHeaders.Set("Content-Type", "application/json")
 47278  	c.urlParams_.Set("alt", alt)
 47279  	c.urlParams_.Set("prettyPrint", "false")
 47280  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47281  	urls += "?" + c.urlParams_.Encode()
 47282  	req, err := http.NewRequest("PATCH", urls, body)
 47283  	if err != nil {
 47284  		return nil, err
 47285  	}
 47286  	req.Header = reqHeaders
 47287  	googleapi.Expand(req.URL, map[string]string{
 47288  		"profileId": strconv.FormatInt(c.profileId, 10),
 47289  	})
 47290  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47291  }
 47292  
 47293  // Do executes the "dfareporting.subaccounts.patch" call.
 47294  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47295  // status code is an error. Response headers are in either
 47296  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47297  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47298  // to check whether the returned error was because
 47299  // http.StatusNotModified was returned.
 47300  func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47301  	gensupport.SetOptions(c.urlParams_, opts...)
 47302  	res, err := c.doRequest("json")
 47303  	if res != nil && res.StatusCode == http.StatusNotModified {
 47304  		if res.Body != nil {
 47305  			res.Body.Close()
 47306  		}
 47307  		return nil, &googleapi.Error{
 47308  			Code:   res.StatusCode,
 47309  			Header: res.Header,
 47310  		}
 47311  	}
 47312  	if err != nil {
 47313  		return nil, err
 47314  	}
 47315  	defer googleapi.CloseBody(res)
 47316  	if err := googleapi.CheckResponse(res); err != nil {
 47317  		return nil, err
 47318  	}
 47319  	ret := &Subaccount{
 47320  		ServerResponse: googleapi.ServerResponse{
 47321  			Header:         res.Header,
 47322  			HTTPStatusCode: res.StatusCode,
 47323  		},
 47324  	}
 47325  	target := &ret
 47326  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47327  		return nil, err
 47328  	}
 47329  	return ret, nil
 47330  	// {
 47331  	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
 47332  	//   "httpMethod": "PATCH",
 47333  	//   "id": "dfareporting.subaccounts.patch",
 47334  	//   "parameterOrder": [
 47335  	//     "profileId",
 47336  	//     "id"
 47337  	//   ],
 47338  	//   "parameters": {
 47339  	//     "id": {
 47340  	//       "description": "Subaccount ID.",
 47341  	//       "format": "int64",
 47342  	//       "location": "query",
 47343  	//       "required": true,
 47344  	//       "type": "string"
 47345  	//     },
 47346  	//     "profileId": {
 47347  	//       "description": "User profile ID associated with this request.",
 47348  	//       "format": "int64",
 47349  	//       "location": "path",
 47350  	//       "required": true,
 47351  	//       "type": "string"
 47352  	//     }
 47353  	//   },
 47354  	//   "path": "userprofiles/{profileId}/subaccounts",
 47355  	//   "request": {
 47356  	//     "$ref": "Subaccount"
 47357  	//   },
 47358  	//   "response": {
 47359  	//     "$ref": "Subaccount"
 47360  	//   },
 47361  	//   "scopes": [
 47362  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47363  	//   ]
 47364  	// }
 47365  
 47366  }
 47367  
 47368  // method id "dfareporting.subaccounts.update":
 47369  
 47370  type SubaccountsUpdateCall struct {
 47371  	s          *Service
 47372  	profileId  int64
 47373  	subaccount *Subaccount
 47374  	urlParams_ gensupport.URLParams
 47375  	ctx_       context.Context
 47376  	header_    http.Header
 47377  }
 47378  
 47379  // Update: Updates an existing subaccount.
 47380  func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
 47381  	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47382  	c.profileId = profileId
 47383  	c.subaccount = subaccount
 47384  	return c
 47385  }
 47386  
 47387  // Fields allows partial responses to be retrieved. See
 47388  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47389  // for more information.
 47390  func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
 47391  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47392  	return c
 47393  }
 47394  
 47395  // Context sets the context to be used in this call's Do method. Any
 47396  // pending HTTP request will be aborted if the provided context is
 47397  // canceled.
 47398  func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
 47399  	c.ctx_ = ctx
 47400  	return c
 47401  }
 47402  
 47403  // Header returns an http.Header that can be modified by the caller to
 47404  // add HTTP headers to the request.
 47405  func (c *SubaccountsUpdateCall) Header() http.Header {
 47406  	if c.header_ == nil {
 47407  		c.header_ = make(http.Header)
 47408  	}
 47409  	return c.header_
 47410  }
 47411  
 47412  func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 47413  	reqHeaders := make(http.Header)
 47414  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47415  	for k, v := range c.header_ {
 47416  		reqHeaders[k] = v
 47417  	}
 47418  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47419  	var body io.Reader = nil
 47420  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 47421  	if err != nil {
 47422  		return nil, err
 47423  	}
 47424  	reqHeaders.Set("Content-Type", "application/json")
 47425  	c.urlParams_.Set("alt", alt)
 47426  	c.urlParams_.Set("prettyPrint", "false")
 47427  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47428  	urls += "?" + c.urlParams_.Encode()
 47429  	req, err := http.NewRequest("PUT", urls, body)
 47430  	if err != nil {
 47431  		return nil, err
 47432  	}
 47433  	req.Header = reqHeaders
 47434  	googleapi.Expand(req.URL, map[string]string{
 47435  		"profileId": strconv.FormatInt(c.profileId, 10),
 47436  	})
 47437  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47438  }
 47439  
 47440  // Do executes the "dfareporting.subaccounts.update" call.
 47441  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47442  // status code is an error. Response headers are in either
 47443  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47444  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47445  // to check whether the returned error was because
 47446  // http.StatusNotModified was returned.
 47447  func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47448  	gensupport.SetOptions(c.urlParams_, opts...)
 47449  	res, err := c.doRequest("json")
 47450  	if res != nil && res.StatusCode == http.StatusNotModified {
 47451  		if res.Body != nil {
 47452  			res.Body.Close()
 47453  		}
 47454  		return nil, &googleapi.Error{
 47455  			Code:   res.StatusCode,
 47456  			Header: res.Header,
 47457  		}
 47458  	}
 47459  	if err != nil {
 47460  		return nil, err
 47461  	}
 47462  	defer googleapi.CloseBody(res)
 47463  	if err := googleapi.CheckResponse(res); err != nil {
 47464  		return nil, err
 47465  	}
 47466  	ret := &Subaccount{
 47467  		ServerResponse: googleapi.ServerResponse{
 47468  			Header:         res.Header,
 47469  			HTTPStatusCode: res.StatusCode,
 47470  		},
 47471  	}
 47472  	target := &ret
 47473  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47474  		return nil, err
 47475  	}
 47476  	return ret, nil
 47477  	// {
 47478  	//   "description": "Updates an existing subaccount.",
 47479  	//   "httpMethod": "PUT",
 47480  	//   "id": "dfareporting.subaccounts.update",
 47481  	//   "parameterOrder": [
 47482  	//     "profileId"
 47483  	//   ],
 47484  	//   "parameters": {
 47485  	//     "profileId": {
 47486  	//       "description": "User profile ID associated with this request.",
 47487  	//       "format": "int64",
 47488  	//       "location": "path",
 47489  	//       "required": true,
 47490  	//       "type": "string"
 47491  	//     }
 47492  	//   },
 47493  	//   "path": "userprofiles/{profileId}/subaccounts",
 47494  	//   "request": {
 47495  	//     "$ref": "Subaccount"
 47496  	//   },
 47497  	//   "response": {
 47498  	//     "$ref": "Subaccount"
 47499  	//   },
 47500  	//   "scopes": [
 47501  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47502  	//   ]
 47503  	// }
 47504  
 47505  }
 47506  
 47507  // method id "dfareporting.targetableRemarketingLists.get":
 47508  
 47509  type TargetableRemarketingListsGetCall struct {
 47510  	s            *Service
 47511  	profileId    int64
 47512  	id           int64
 47513  	urlParams_   gensupport.URLParams
 47514  	ifNoneMatch_ string
 47515  	ctx_         context.Context
 47516  	header_      http.Header
 47517  }
 47518  
 47519  // Get: Gets one remarketing list by ID.
 47520  func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
 47521  	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47522  	c.profileId = profileId
 47523  	c.id = id
 47524  	return c
 47525  }
 47526  
 47527  // Fields allows partial responses to be retrieved. See
 47528  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47529  // for more information.
 47530  func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
 47531  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47532  	return c
 47533  }
 47534  
 47535  // IfNoneMatch sets the optional parameter which makes the operation
 47536  // fail if the object's ETag matches the given value. This is useful for
 47537  // getting updates only after the object has changed since the last
 47538  // request. Use googleapi.IsNotModified to check whether the response
 47539  // error from Do is the result of In-None-Match.
 47540  func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
 47541  	c.ifNoneMatch_ = entityTag
 47542  	return c
 47543  }
 47544  
 47545  // Context sets the context to be used in this call's Do method. Any
 47546  // pending HTTP request will be aborted if the provided context is
 47547  // canceled.
 47548  func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
 47549  	c.ctx_ = ctx
 47550  	return c
 47551  }
 47552  
 47553  // Header returns an http.Header that can be modified by the caller to
 47554  // add HTTP headers to the request.
 47555  func (c *TargetableRemarketingListsGetCall) Header() http.Header {
 47556  	if c.header_ == nil {
 47557  		c.header_ = make(http.Header)
 47558  	}
 47559  	return c.header_
 47560  }
 47561  
 47562  func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 47563  	reqHeaders := make(http.Header)
 47564  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47565  	for k, v := range c.header_ {
 47566  		reqHeaders[k] = v
 47567  	}
 47568  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47569  	if c.ifNoneMatch_ != "" {
 47570  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47571  	}
 47572  	var body io.Reader = nil
 47573  	c.urlParams_.Set("alt", alt)
 47574  	c.urlParams_.Set("prettyPrint", "false")
 47575  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
 47576  	urls += "?" + c.urlParams_.Encode()
 47577  	req, err := http.NewRequest("GET", urls, body)
 47578  	if err != nil {
 47579  		return nil, err
 47580  	}
 47581  	req.Header = reqHeaders
 47582  	googleapi.Expand(req.URL, map[string]string{
 47583  		"profileId": strconv.FormatInt(c.profileId, 10),
 47584  		"id":        strconv.FormatInt(c.id, 10),
 47585  	})
 47586  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47587  }
 47588  
 47589  // Do executes the "dfareporting.targetableRemarketingLists.get" call.
 47590  // Exactly one of *TargetableRemarketingList or error will be non-nil.
 47591  // Any non-2xx status code is an error. Response headers are in either
 47592  // *TargetableRemarketingList.ServerResponse.Header or (if a response
 47593  // was returned at all) in error.(*googleapi.Error).Header. Use
 47594  // googleapi.IsNotModified to check whether the returned error was
 47595  // because http.StatusNotModified was returned.
 47596  func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
 47597  	gensupport.SetOptions(c.urlParams_, opts...)
 47598  	res, err := c.doRequest("json")
 47599  	if res != nil && res.StatusCode == http.StatusNotModified {
 47600  		if res.Body != nil {
 47601  			res.Body.Close()
 47602  		}
 47603  		return nil, &googleapi.Error{
 47604  			Code:   res.StatusCode,
 47605  			Header: res.Header,
 47606  		}
 47607  	}
 47608  	if err != nil {
 47609  		return nil, err
 47610  	}
 47611  	defer googleapi.CloseBody(res)
 47612  	if err := googleapi.CheckResponse(res); err != nil {
 47613  		return nil, err
 47614  	}
 47615  	ret := &TargetableRemarketingList{
 47616  		ServerResponse: googleapi.ServerResponse{
 47617  			Header:         res.Header,
 47618  			HTTPStatusCode: res.StatusCode,
 47619  		},
 47620  	}
 47621  	target := &ret
 47622  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47623  		return nil, err
 47624  	}
 47625  	return ret, nil
 47626  	// {
 47627  	//   "description": "Gets one remarketing list by ID.",
 47628  	//   "httpMethod": "GET",
 47629  	//   "id": "dfareporting.targetableRemarketingLists.get",
 47630  	//   "parameterOrder": [
 47631  	//     "profileId",
 47632  	//     "id"
 47633  	//   ],
 47634  	//   "parameters": {
 47635  	//     "id": {
 47636  	//       "description": "Remarketing list ID.",
 47637  	//       "format": "int64",
 47638  	//       "location": "path",
 47639  	//       "required": true,
 47640  	//       "type": "string"
 47641  	//     },
 47642  	//     "profileId": {
 47643  	//       "description": "User profile ID associated with this request.",
 47644  	//       "format": "int64",
 47645  	//       "location": "path",
 47646  	//       "required": true,
 47647  	//       "type": "string"
 47648  	//     }
 47649  	//   },
 47650  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
 47651  	//   "response": {
 47652  	//     "$ref": "TargetableRemarketingList"
 47653  	//   },
 47654  	//   "scopes": [
 47655  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47656  	//   ]
 47657  	// }
 47658  
 47659  }
 47660  
 47661  // method id "dfareporting.targetableRemarketingLists.list":
 47662  
 47663  type TargetableRemarketingListsListCall struct {
 47664  	s            *Service
 47665  	profileId    int64
 47666  	urlParams_   gensupport.URLParams
 47667  	ifNoneMatch_ string
 47668  	ctx_         context.Context
 47669  	header_      http.Header
 47670  }
 47671  
 47672  // List: Retrieves a list of targetable remarketing lists, possibly
 47673  // filtered. This method supports paging.
 47674  func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
 47675  	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47676  	c.profileId = profileId
 47677  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 47678  	return c
 47679  }
 47680  
 47681  // Active sets the optional parameter "active": Select only active or
 47682  // only inactive targetable remarketing lists.
 47683  func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
 47684  	c.urlParams_.Set("active", fmt.Sprint(active))
 47685  	return c
 47686  }
 47687  
 47688  // MaxResults sets the optional parameter "maxResults": Maximum number
 47689  // of results to return.
 47690  func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
 47691  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 47692  	return c
 47693  }
 47694  
 47695  // Name sets the optional parameter "name": Allows searching for objects
 47696  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 47697  // list*2015" will return objects with names like "remarketing list June
 47698  // 2015", "remarketing list April 2015", or simply "remarketing list
 47699  // 2015". Most of the searches also add wildcards implicitly at the
 47700  // start and the end of the search string. For example, a search string
 47701  // of "remarketing list" will match objects with name "my remarketing
 47702  // list", "remarketing list 2015", or simply "remarketing list".
 47703  func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
 47704  	c.urlParams_.Set("name", name)
 47705  	return c
 47706  }
 47707  
 47708  // PageToken sets the optional parameter "pageToken": Value of the
 47709  // nextPageToken from the previous result page.
 47710  func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
 47711  	c.urlParams_.Set("pageToken", pageToken)
 47712  	return c
 47713  }
 47714  
 47715  // SortField sets the optional parameter "sortField": Field by which to
 47716  // sort the list.
 47717  //
 47718  // Possible values:
 47719  //
 47720  //	"ID" (default)
 47721  //	"NAME"
 47722  func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
 47723  	c.urlParams_.Set("sortField", sortField)
 47724  	return c
 47725  }
 47726  
 47727  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 47728  // results.
 47729  //
 47730  // Possible values:
 47731  //
 47732  //	"ASCENDING" (default)
 47733  //	"DESCENDING"
 47734  func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
 47735  	c.urlParams_.Set("sortOrder", sortOrder)
 47736  	return c
 47737  }
 47738  
 47739  // Fields allows partial responses to be retrieved. See
 47740  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47741  // for more information.
 47742  func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
 47743  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47744  	return c
 47745  }
 47746  
 47747  // IfNoneMatch sets the optional parameter which makes the operation
 47748  // fail if the object's ETag matches the given value. This is useful for
 47749  // getting updates only after the object has changed since the last
 47750  // request. Use googleapi.IsNotModified to check whether the response
 47751  // error from Do is the result of In-None-Match.
 47752  func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
 47753  	c.ifNoneMatch_ = entityTag
 47754  	return c
 47755  }
 47756  
 47757  // Context sets the context to be used in this call's Do method. Any
 47758  // pending HTTP request will be aborted if the provided context is
 47759  // canceled.
 47760  func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
 47761  	c.ctx_ = ctx
 47762  	return c
 47763  }
 47764  
 47765  // Header returns an http.Header that can be modified by the caller to
 47766  // add HTTP headers to the request.
 47767  func (c *TargetableRemarketingListsListCall) Header() http.Header {
 47768  	if c.header_ == nil {
 47769  		c.header_ = make(http.Header)
 47770  	}
 47771  	return c.header_
 47772  }
 47773  
 47774  func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 47775  	reqHeaders := make(http.Header)
 47776  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47777  	for k, v := range c.header_ {
 47778  		reqHeaders[k] = v
 47779  	}
 47780  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47781  	if c.ifNoneMatch_ != "" {
 47782  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47783  	}
 47784  	var body io.Reader = nil
 47785  	c.urlParams_.Set("alt", alt)
 47786  	c.urlParams_.Set("prettyPrint", "false")
 47787  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
 47788  	urls += "?" + c.urlParams_.Encode()
 47789  	req, err := http.NewRequest("GET", urls, body)
 47790  	if err != nil {
 47791  		return nil, err
 47792  	}
 47793  	req.Header = reqHeaders
 47794  	googleapi.Expand(req.URL, map[string]string{
 47795  		"profileId": strconv.FormatInt(c.profileId, 10),
 47796  	})
 47797  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47798  }
 47799  
 47800  // Do executes the "dfareporting.targetableRemarketingLists.list" call.
 47801  // Exactly one of *TargetableRemarketingListsListResponse or error will
 47802  // be non-nil. Any non-2xx status code is an error. Response headers are
 47803  // in either
 47804  // *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
 47805  // a response was returned at all) in error.(*googleapi.Error).Header.
 47806  // Use googleapi.IsNotModified to check whether the returned error was
 47807  // because http.StatusNotModified was returned.
 47808  func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
 47809  	gensupport.SetOptions(c.urlParams_, opts...)
 47810  	res, err := c.doRequest("json")
 47811  	if res != nil && res.StatusCode == http.StatusNotModified {
 47812  		if res.Body != nil {
 47813  			res.Body.Close()
 47814  		}
 47815  		return nil, &googleapi.Error{
 47816  			Code:   res.StatusCode,
 47817  			Header: res.Header,
 47818  		}
 47819  	}
 47820  	if err != nil {
 47821  		return nil, err
 47822  	}
 47823  	defer googleapi.CloseBody(res)
 47824  	if err := googleapi.CheckResponse(res); err != nil {
 47825  		return nil, err
 47826  	}
 47827  	ret := &TargetableRemarketingListsListResponse{
 47828  		ServerResponse: googleapi.ServerResponse{
 47829  			Header:         res.Header,
 47830  			HTTPStatusCode: res.StatusCode,
 47831  		},
 47832  	}
 47833  	target := &ret
 47834  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47835  		return nil, err
 47836  	}
 47837  	return ret, nil
 47838  	// {
 47839  	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
 47840  	//   "httpMethod": "GET",
 47841  	//   "id": "dfareporting.targetableRemarketingLists.list",
 47842  	//   "parameterOrder": [
 47843  	//     "profileId",
 47844  	//     "advertiserId"
 47845  	//   ],
 47846  	//   "parameters": {
 47847  	//     "active": {
 47848  	//       "description": "Select only active or only inactive targetable remarketing lists.",
 47849  	//       "location": "query",
 47850  	//       "type": "boolean"
 47851  	//     },
 47852  	//     "advertiserId": {
 47853  	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
 47854  	//       "format": "int64",
 47855  	//       "location": "query",
 47856  	//       "required": true,
 47857  	//       "type": "string"
 47858  	//     },
 47859  	//     "maxResults": {
 47860  	//       "default": "1000",
 47861  	//       "description": "Maximum number of results to return.",
 47862  	//       "format": "int32",
 47863  	//       "location": "query",
 47864  	//       "maximum": "1000",
 47865  	//       "minimum": "0",
 47866  	//       "type": "integer"
 47867  	//     },
 47868  	//     "name": {
 47869  	//       "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\".",
 47870  	//       "location": "query",
 47871  	//       "type": "string"
 47872  	//     },
 47873  	//     "pageToken": {
 47874  	//       "description": "Value of the nextPageToken from the previous result page.",
 47875  	//       "location": "query",
 47876  	//       "type": "string"
 47877  	//     },
 47878  	//     "profileId": {
 47879  	//       "description": "User profile ID associated with this request.",
 47880  	//       "format": "int64",
 47881  	//       "location": "path",
 47882  	//       "required": true,
 47883  	//       "type": "string"
 47884  	//     },
 47885  	//     "sortField": {
 47886  	//       "default": "ID",
 47887  	//       "description": "Field by which to sort the list.",
 47888  	//       "enum": [
 47889  	//         "ID",
 47890  	//         "NAME"
 47891  	//       ],
 47892  	//       "enumDescriptions": [
 47893  	//         "",
 47894  	//         ""
 47895  	//       ],
 47896  	//       "location": "query",
 47897  	//       "type": "string"
 47898  	//     },
 47899  	//     "sortOrder": {
 47900  	//       "default": "ASCENDING",
 47901  	//       "description": "Order of sorted results.",
 47902  	//       "enum": [
 47903  	//         "ASCENDING",
 47904  	//         "DESCENDING"
 47905  	//       ],
 47906  	//       "enumDescriptions": [
 47907  	//         "",
 47908  	//         ""
 47909  	//       ],
 47910  	//       "location": "query",
 47911  	//       "type": "string"
 47912  	//     }
 47913  	//   },
 47914  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
 47915  	//   "response": {
 47916  	//     "$ref": "TargetableRemarketingListsListResponse"
 47917  	//   },
 47918  	//   "scopes": [
 47919  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47920  	//   ]
 47921  	// }
 47922  
 47923  }
 47924  
 47925  // Pages invokes f for each page of results.
 47926  // A non-nil error returned from f will halt the iteration.
 47927  // The provided context supersedes any context provided to the Context method.
 47928  func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
 47929  	c.ctx_ = ctx
 47930  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 47931  	for {
 47932  		x, err := c.Do()
 47933  		if err != nil {
 47934  			return err
 47935  		}
 47936  		if err := f(x); err != nil {
 47937  			return err
 47938  		}
 47939  		if x.NextPageToken == "" {
 47940  			return nil
 47941  		}
 47942  		c.PageToken(x.NextPageToken)
 47943  	}
 47944  }
 47945  
 47946  // method id "dfareporting.targetingTemplates.get":
 47947  
 47948  type TargetingTemplatesGetCall struct {
 47949  	s            *Service
 47950  	profileId    int64
 47951  	id           int64
 47952  	urlParams_   gensupport.URLParams
 47953  	ifNoneMatch_ string
 47954  	ctx_         context.Context
 47955  	header_      http.Header
 47956  }
 47957  
 47958  // Get: Gets one targeting template by ID.
 47959  func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
 47960  	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47961  	c.profileId = profileId
 47962  	c.id = id
 47963  	return c
 47964  }
 47965  
 47966  // Fields allows partial responses to be retrieved. See
 47967  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47968  // for more information.
 47969  func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
 47970  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47971  	return c
 47972  }
 47973  
 47974  // IfNoneMatch sets the optional parameter which makes the operation
 47975  // fail if the object's ETag matches the given value. This is useful for
 47976  // getting updates only after the object has changed since the last
 47977  // request. Use googleapi.IsNotModified to check whether the response
 47978  // error from Do is the result of In-None-Match.
 47979  func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
 47980  	c.ifNoneMatch_ = entityTag
 47981  	return c
 47982  }
 47983  
 47984  // Context sets the context to be used in this call's Do method. Any
 47985  // pending HTTP request will be aborted if the provided context is
 47986  // canceled.
 47987  func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
 47988  	c.ctx_ = ctx
 47989  	return c
 47990  }
 47991  
 47992  // Header returns an http.Header that can be modified by the caller to
 47993  // add HTTP headers to the request.
 47994  func (c *TargetingTemplatesGetCall) Header() http.Header {
 47995  	if c.header_ == nil {
 47996  		c.header_ = make(http.Header)
 47997  	}
 47998  	return c.header_
 47999  }
 48000  
 48001  func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 48002  	reqHeaders := make(http.Header)
 48003  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48004  	for k, v := range c.header_ {
 48005  		reqHeaders[k] = v
 48006  	}
 48007  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48008  	if c.ifNoneMatch_ != "" {
 48009  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48010  	}
 48011  	var body io.Reader = nil
 48012  	c.urlParams_.Set("alt", alt)
 48013  	c.urlParams_.Set("prettyPrint", "false")
 48014  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
 48015  	urls += "?" + c.urlParams_.Encode()
 48016  	req, err := http.NewRequest("GET", urls, body)
 48017  	if err != nil {
 48018  		return nil, err
 48019  	}
 48020  	req.Header = reqHeaders
 48021  	googleapi.Expand(req.URL, map[string]string{
 48022  		"profileId": strconv.FormatInt(c.profileId, 10),
 48023  		"id":        strconv.FormatInt(c.id, 10),
 48024  	})
 48025  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48026  }
 48027  
 48028  // Do executes the "dfareporting.targetingTemplates.get" call.
 48029  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48030  // non-2xx status code is an error. Response headers are in either
 48031  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48032  // returned at all) in error.(*googleapi.Error).Header. Use
 48033  // googleapi.IsNotModified to check whether the returned error was
 48034  // because http.StatusNotModified was returned.
 48035  func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48036  	gensupport.SetOptions(c.urlParams_, opts...)
 48037  	res, err := c.doRequest("json")
 48038  	if res != nil && res.StatusCode == http.StatusNotModified {
 48039  		if res.Body != nil {
 48040  			res.Body.Close()
 48041  		}
 48042  		return nil, &googleapi.Error{
 48043  			Code:   res.StatusCode,
 48044  			Header: res.Header,
 48045  		}
 48046  	}
 48047  	if err != nil {
 48048  		return nil, err
 48049  	}
 48050  	defer googleapi.CloseBody(res)
 48051  	if err := googleapi.CheckResponse(res); err != nil {
 48052  		return nil, err
 48053  	}
 48054  	ret := &TargetingTemplate{
 48055  		ServerResponse: googleapi.ServerResponse{
 48056  			Header:         res.Header,
 48057  			HTTPStatusCode: res.StatusCode,
 48058  		},
 48059  	}
 48060  	target := &ret
 48061  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48062  		return nil, err
 48063  	}
 48064  	return ret, nil
 48065  	// {
 48066  	//   "description": "Gets one targeting template by ID.",
 48067  	//   "httpMethod": "GET",
 48068  	//   "id": "dfareporting.targetingTemplates.get",
 48069  	//   "parameterOrder": [
 48070  	//     "profileId",
 48071  	//     "id"
 48072  	//   ],
 48073  	//   "parameters": {
 48074  	//     "id": {
 48075  	//       "description": "Targeting template ID.",
 48076  	//       "format": "int64",
 48077  	//       "location": "path",
 48078  	//       "required": true,
 48079  	//       "type": "string"
 48080  	//     },
 48081  	//     "profileId": {
 48082  	//       "description": "User profile ID associated with this request.",
 48083  	//       "format": "int64",
 48084  	//       "location": "path",
 48085  	//       "required": true,
 48086  	//       "type": "string"
 48087  	//     }
 48088  	//   },
 48089  	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
 48090  	//   "response": {
 48091  	//     "$ref": "TargetingTemplate"
 48092  	//   },
 48093  	//   "scopes": [
 48094  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48095  	//   ]
 48096  	// }
 48097  
 48098  }
 48099  
 48100  // method id "dfareporting.targetingTemplates.insert":
 48101  
 48102  type TargetingTemplatesInsertCall struct {
 48103  	s                 *Service
 48104  	profileId         int64
 48105  	targetingtemplate *TargetingTemplate
 48106  	urlParams_        gensupport.URLParams
 48107  	ctx_              context.Context
 48108  	header_           http.Header
 48109  }
 48110  
 48111  // Insert: Inserts a new targeting template.
 48112  func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
 48113  	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48114  	c.profileId = profileId
 48115  	c.targetingtemplate = targetingtemplate
 48116  	return c
 48117  }
 48118  
 48119  // Fields allows partial responses to be retrieved. See
 48120  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48121  // for more information.
 48122  func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
 48123  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48124  	return c
 48125  }
 48126  
 48127  // Context sets the context to be used in this call's Do method. Any
 48128  // pending HTTP request will be aborted if the provided context is
 48129  // canceled.
 48130  func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
 48131  	c.ctx_ = ctx
 48132  	return c
 48133  }
 48134  
 48135  // Header returns an http.Header that can be modified by the caller to
 48136  // add HTTP headers to the request.
 48137  func (c *TargetingTemplatesInsertCall) Header() http.Header {
 48138  	if c.header_ == nil {
 48139  		c.header_ = make(http.Header)
 48140  	}
 48141  	return c.header_
 48142  }
 48143  
 48144  func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 48145  	reqHeaders := make(http.Header)
 48146  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48147  	for k, v := range c.header_ {
 48148  		reqHeaders[k] = v
 48149  	}
 48150  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48151  	var body io.Reader = nil
 48152  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 48153  	if err != nil {
 48154  		return nil, err
 48155  	}
 48156  	reqHeaders.Set("Content-Type", "application/json")
 48157  	c.urlParams_.Set("alt", alt)
 48158  	c.urlParams_.Set("prettyPrint", "false")
 48159  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48160  	urls += "?" + c.urlParams_.Encode()
 48161  	req, err := http.NewRequest("POST", urls, body)
 48162  	if err != nil {
 48163  		return nil, err
 48164  	}
 48165  	req.Header = reqHeaders
 48166  	googleapi.Expand(req.URL, map[string]string{
 48167  		"profileId": strconv.FormatInt(c.profileId, 10),
 48168  	})
 48169  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48170  }
 48171  
 48172  // Do executes the "dfareporting.targetingTemplates.insert" call.
 48173  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48174  // non-2xx status code is an error. Response headers are in either
 48175  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48176  // returned at all) in error.(*googleapi.Error).Header. Use
 48177  // googleapi.IsNotModified to check whether the returned error was
 48178  // because http.StatusNotModified was returned.
 48179  func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48180  	gensupport.SetOptions(c.urlParams_, opts...)
 48181  	res, err := c.doRequest("json")
 48182  	if res != nil && res.StatusCode == http.StatusNotModified {
 48183  		if res.Body != nil {
 48184  			res.Body.Close()
 48185  		}
 48186  		return nil, &googleapi.Error{
 48187  			Code:   res.StatusCode,
 48188  			Header: res.Header,
 48189  		}
 48190  	}
 48191  	if err != nil {
 48192  		return nil, err
 48193  	}
 48194  	defer googleapi.CloseBody(res)
 48195  	if err := googleapi.CheckResponse(res); err != nil {
 48196  		return nil, err
 48197  	}
 48198  	ret := &TargetingTemplate{
 48199  		ServerResponse: googleapi.ServerResponse{
 48200  			Header:         res.Header,
 48201  			HTTPStatusCode: res.StatusCode,
 48202  		},
 48203  	}
 48204  	target := &ret
 48205  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48206  		return nil, err
 48207  	}
 48208  	return ret, nil
 48209  	// {
 48210  	//   "description": "Inserts a new targeting template.",
 48211  	//   "httpMethod": "POST",
 48212  	//   "id": "dfareporting.targetingTemplates.insert",
 48213  	//   "parameterOrder": [
 48214  	//     "profileId"
 48215  	//   ],
 48216  	//   "parameters": {
 48217  	//     "profileId": {
 48218  	//       "description": "User profile ID associated with this request.",
 48219  	//       "format": "int64",
 48220  	//       "location": "path",
 48221  	//       "required": true,
 48222  	//       "type": "string"
 48223  	//     }
 48224  	//   },
 48225  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48226  	//   "request": {
 48227  	//     "$ref": "TargetingTemplate"
 48228  	//   },
 48229  	//   "response": {
 48230  	//     "$ref": "TargetingTemplate"
 48231  	//   },
 48232  	//   "scopes": [
 48233  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48234  	//   ]
 48235  	// }
 48236  
 48237  }
 48238  
 48239  // method id "dfareporting.targetingTemplates.list":
 48240  
 48241  type TargetingTemplatesListCall struct {
 48242  	s            *Service
 48243  	profileId    int64
 48244  	urlParams_   gensupport.URLParams
 48245  	ifNoneMatch_ string
 48246  	ctx_         context.Context
 48247  	header_      http.Header
 48248  }
 48249  
 48250  // List: Retrieves a list of targeting templates, optionally filtered.
 48251  // This method supports paging.
 48252  func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
 48253  	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48254  	c.profileId = profileId
 48255  	return c
 48256  }
 48257  
 48258  // AdvertiserId sets the optional parameter "advertiserId": Select only
 48259  // targeting templates with this advertiser ID.
 48260  func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
 48261  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 48262  	return c
 48263  }
 48264  
 48265  // Ids sets the optional parameter "ids": Select only targeting
 48266  // templates with these IDs.
 48267  func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
 48268  	var ids_ []string
 48269  	for _, v := range ids {
 48270  		ids_ = append(ids_, fmt.Sprint(v))
 48271  	}
 48272  	c.urlParams_.SetMulti("ids", ids_)
 48273  	return c
 48274  }
 48275  
 48276  // MaxResults sets the optional parameter "maxResults": Maximum number
 48277  // of results to return.
 48278  func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
 48279  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 48280  	return c
 48281  }
 48282  
 48283  // PageToken sets the optional parameter "pageToken": Value of the
 48284  // nextPageToken from the previous result page.
 48285  func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
 48286  	c.urlParams_.Set("pageToken", pageToken)
 48287  	return c
 48288  }
 48289  
 48290  // SearchString sets the optional parameter "searchString": Allows
 48291  // searching for objects by name or ID. Wildcards (*) are allowed. For
 48292  // example, "template*2015" will return objects with names like
 48293  // "template June 2015", "template April 2015", or simply "template
 48294  // 2015". Most of the searches also add wildcards implicitly at the
 48295  // start and the end of the search string. For example, a search string
 48296  // of "template" will match objects with name "my template", "template
 48297  // 2015", or simply "template".
 48298  func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
 48299  	c.urlParams_.Set("searchString", searchString)
 48300  	return c
 48301  }
 48302  
 48303  // SortField sets the optional parameter "sortField": Field by which to
 48304  // sort the list.
 48305  //
 48306  // Possible values:
 48307  //
 48308  //	"ID" (default)
 48309  //	"NAME"
 48310  func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
 48311  	c.urlParams_.Set("sortField", sortField)
 48312  	return c
 48313  }
 48314  
 48315  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 48316  // results.
 48317  //
 48318  // Possible values:
 48319  //
 48320  //	"ASCENDING" (default)
 48321  //	"DESCENDING"
 48322  func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
 48323  	c.urlParams_.Set("sortOrder", sortOrder)
 48324  	return c
 48325  }
 48326  
 48327  // Fields allows partial responses to be retrieved. See
 48328  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48329  // for more information.
 48330  func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
 48331  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48332  	return c
 48333  }
 48334  
 48335  // IfNoneMatch sets the optional parameter which makes the operation
 48336  // fail if the object's ETag matches the given value. This is useful for
 48337  // getting updates only after the object has changed since the last
 48338  // request. Use googleapi.IsNotModified to check whether the response
 48339  // error from Do is the result of In-None-Match.
 48340  func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
 48341  	c.ifNoneMatch_ = entityTag
 48342  	return c
 48343  }
 48344  
 48345  // Context sets the context to be used in this call's Do method. Any
 48346  // pending HTTP request will be aborted if the provided context is
 48347  // canceled.
 48348  func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
 48349  	c.ctx_ = ctx
 48350  	return c
 48351  }
 48352  
 48353  // Header returns an http.Header that can be modified by the caller to
 48354  // add HTTP headers to the request.
 48355  func (c *TargetingTemplatesListCall) Header() http.Header {
 48356  	if c.header_ == nil {
 48357  		c.header_ = make(http.Header)
 48358  	}
 48359  	return c.header_
 48360  }
 48361  
 48362  func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 48363  	reqHeaders := make(http.Header)
 48364  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48365  	for k, v := range c.header_ {
 48366  		reqHeaders[k] = v
 48367  	}
 48368  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48369  	if c.ifNoneMatch_ != "" {
 48370  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48371  	}
 48372  	var body io.Reader = nil
 48373  	c.urlParams_.Set("alt", alt)
 48374  	c.urlParams_.Set("prettyPrint", "false")
 48375  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48376  	urls += "?" + c.urlParams_.Encode()
 48377  	req, err := http.NewRequest("GET", urls, body)
 48378  	if err != nil {
 48379  		return nil, err
 48380  	}
 48381  	req.Header = reqHeaders
 48382  	googleapi.Expand(req.URL, map[string]string{
 48383  		"profileId": strconv.FormatInt(c.profileId, 10),
 48384  	})
 48385  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48386  }
 48387  
 48388  // Do executes the "dfareporting.targetingTemplates.list" call.
 48389  // Exactly one of *TargetingTemplatesListResponse or error will be
 48390  // non-nil. Any non-2xx status code is an error. Response headers are in
 48391  // either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
 48392  // response was returned at all) in error.(*googleapi.Error).Header. Use
 48393  // googleapi.IsNotModified to check whether the returned error was
 48394  // because http.StatusNotModified was returned.
 48395  func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
 48396  	gensupport.SetOptions(c.urlParams_, opts...)
 48397  	res, err := c.doRequest("json")
 48398  	if res != nil && res.StatusCode == http.StatusNotModified {
 48399  		if res.Body != nil {
 48400  			res.Body.Close()
 48401  		}
 48402  		return nil, &googleapi.Error{
 48403  			Code:   res.StatusCode,
 48404  			Header: res.Header,
 48405  		}
 48406  	}
 48407  	if err != nil {
 48408  		return nil, err
 48409  	}
 48410  	defer googleapi.CloseBody(res)
 48411  	if err := googleapi.CheckResponse(res); err != nil {
 48412  		return nil, err
 48413  	}
 48414  	ret := &TargetingTemplatesListResponse{
 48415  		ServerResponse: googleapi.ServerResponse{
 48416  			Header:         res.Header,
 48417  			HTTPStatusCode: res.StatusCode,
 48418  		},
 48419  	}
 48420  	target := &ret
 48421  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48422  		return nil, err
 48423  	}
 48424  	return ret, nil
 48425  	// {
 48426  	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
 48427  	//   "httpMethod": "GET",
 48428  	//   "id": "dfareporting.targetingTemplates.list",
 48429  	//   "parameterOrder": [
 48430  	//     "profileId"
 48431  	//   ],
 48432  	//   "parameters": {
 48433  	//     "advertiserId": {
 48434  	//       "description": "Select only targeting templates with this advertiser ID.",
 48435  	//       "format": "int64",
 48436  	//       "location": "query",
 48437  	//       "type": "string"
 48438  	//     },
 48439  	//     "ids": {
 48440  	//       "description": "Select only targeting templates with these IDs.",
 48441  	//       "format": "int64",
 48442  	//       "location": "query",
 48443  	//       "repeated": true,
 48444  	//       "type": "string"
 48445  	//     },
 48446  	//     "maxResults": {
 48447  	//       "default": "1000",
 48448  	//       "description": "Maximum number of results to return.",
 48449  	//       "format": "int32",
 48450  	//       "location": "query",
 48451  	//       "maximum": "1000",
 48452  	//       "minimum": "0",
 48453  	//       "type": "integer"
 48454  	//     },
 48455  	//     "pageToken": {
 48456  	//       "description": "Value of the nextPageToken from the previous result page.",
 48457  	//       "location": "query",
 48458  	//       "type": "string"
 48459  	//     },
 48460  	//     "profileId": {
 48461  	//       "description": "User profile ID associated with this request.",
 48462  	//       "format": "int64",
 48463  	//       "location": "path",
 48464  	//       "required": true,
 48465  	//       "type": "string"
 48466  	//     },
 48467  	//     "searchString": {
 48468  	//       "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\".",
 48469  	//       "location": "query",
 48470  	//       "type": "string"
 48471  	//     },
 48472  	//     "sortField": {
 48473  	//       "default": "ID",
 48474  	//       "description": "Field by which to sort the list.",
 48475  	//       "enum": [
 48476  	//         "ID",
 48477  	//         "NAME"
 48478  	//       ],
 48479  	//       "enumDescriptions": [
 48480  	//         "",
 48481  	//         ""
 48482  	//       ],
 48483  	//       "location": "query",
 48484  	//       "type": "string"
 48485  	//     },
 48486  	//     "sortOrder": {
 48487  	//       "default": "ASCENDING",
 48488  	//       "description": "Order of sorted results.",
 48489  	//       "enum": [
 48490  	//         "ASCENDING",
 48491  	//         "DESCENDING"
 48492  	//       ],
 48493  	//       "enumDescriptions": [
 48494  	//         "",
 48495  	//         ""
 48496  	//       ],
 48497  	//       "location": "query",
 48498  	//       "type": "string"
 48499  	//     }
 48500  	//   },
 48501  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48502  	//   "response": {
 48503  	//     "$ref": "TargetingTemplatesListResponse"
 48504  	//   },
 48505  	//   "scopes": [
 48506  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48507  	//   ]
 48508  	// }
 48509  
 48510  }
 48511  
 48512  // Pages invokes f for each page of results.
 48513  // A non-nil error returned from f will halt the iteration.
 48514  // The provided context supersedes any context provided to the Context method.
 48515  func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
 48516  	c.ctx_ = ctx
 48517  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 48518  	for {
 48519  		x, err := c.Do()
 48520  		if err != nil {
 48521  			return err
 48522  		}
 48523  		if err := f(x); err != nil {
 48524  			return err
 48525  		}
 48526  		if x.NextPageToken == "" {
 48527  			return nil
 48528  		}
 48529  		c.PageToken(x.NextPageToken)
 48530  	}
 48531  }
 48532  
 48533  // method id "dfareporting.targetingTemplates.patch":
 48534  
 48535  type TargetingTemplatesPatchCall struct {
 48536  	s                 *Service
 48537  	profileId         int64
 48538  	targetingtemplate *TargetingTemplate
 48539  	urlParams_        gensupport.URLParams
 48540  	ctx_              context.Context
 48541  	header_           http.Header
 48542  }
 48543  
 48544  // Patch: Updates an existing targeting template. This method supports
 48545  // patch semantics.
 48546  func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
 48547  	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48548  	c.profileId = profileId
 48549  	c.urlParams_.Set("id", fmt.Sprint(id))
 48550  	c.targetingtemplate = targetingtemplate
 48551  	return c
 48552  }
 48553  
 48554  // Fields allows partial responses to be retrieved. See
 48555  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48556  // for more information.
 48557  func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
 48558  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48559  	return c
 48560  }
 48561  
 48562  // Context sets the context to be used in this call's Do method. Any
 48563  // pending HTTP request will be aborted if the provided context is
 48564  // canceled.
 48565  func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
 48566  	c.ctx_ = ctx
 48567  	return c
 48568  }
 48569  
 48570  // Header returns an http.Header that can be modified by the caller to
 48571  // add HTTP headers to the request.
 48572  func (c *TargetingTemplatesPatchCall) Header() http.Header {
 48573  	if c.header_ == nil {
 48574  		c.header_ = make(http.Header)
 48575  	}
 48576  	return c.header_
 48577  }
 48578  
 48579  func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 48580  	reqHeaders := make(http.Header)
 48581  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48582  	for k, v := range c.header_ {
 48583  		reqHeaders[k] = v
 48584  	}
 48585  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48586  	var body io.Reader = nil
 48587  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 48588  	if err != nil {
 48589  		return nil, err
 48590  	}
 48591  	reqHeaders.Set("Content-Type", "application/json")
 48592  	c.urlParams_.Set("alt", alt)
 48593  	c.urlParams_.Set("prettyPrint", "false")
 48594  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48595  	urls += "?" + c.urlParams_.Encode()
 48596  	req, err := http.NewRequest("PATCH", urls, body)
 48597  	if err != nil {
 48598  		return nil, err
 48599  	}
 48600  	req.Header = reqHeaders
 48601  	googleapi.Expand(req.URL, map[string]string{
 48602  		"profileId": strconv.FormatInt(c.profileId, 10),
 48603  	})
 48604  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48605  }
 48606  
 48607  // Do executes the "dfareporting.targetingTemplates.patch" call.
 48608  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48609  // non-2xx status code is an error. Response headers are in either
 48610  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48611  // returned at all) in error.(*googleapi.Error).Header. Use
 48612  // googleapi.IsNotModified to check whether the returned error was
 48613  // because http.StatusNotModified was returned.
 48614  func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48615  	gensupport.SetOptions(c.urlParams_, opts...)
 48616  	res, err := c.doRequest("json")
 48617  	if res != nil && res.StatusCode == http.StatusNotModified {
 48618  		if res.Body != nil {
 48619  			res.Body.Close()
 48620  		}
 48621  		return nil, &googleapi.Error{
 48622  			Code:   res.StatusCode,
 48623  			Header: res.Header,
 48624  		}
 48625  	}
 48626  	if err != nil {
 48627  		return nil, err
 48628  	}
 48629  	defer googleapi.CloseBody(res)
 48630  	if err := googleapi.CheckResponse(res); err != nil {
 48631  		return nil, err
 48632  	}
 48633  	ret := &TargetingTemplate{
 48634  		ServerResponse: googleapi.ServerResponse{
 48635  			Header:         res.Header,
 48636  			HTTPStatusCode: res.StatusCode,
 48637  		},
 48638  	}
 48639  	target := &ret
 48640  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48641  		return nil, err
 48642  	}
 48643  	return ret, nil
 48644  	// {
 48645  	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
 48646  	//   "httpMethod": "PATCH",
 48647  	//   "id": "dfareporting.targetingTemplates.patch",
 48648  	//   "parameterOrder": [
 48649  	//     "profileId",
 48650  	//     "id"
 48651  	//   ],
 48652  	//   "parameters": {
 48653  	//     "id": {
 48654  	//       "description": "Targeting template ID.",
 48655  	//       "format": "int64",
 48656  	//       "location": "query",
 48657  	//       "required": true,
 48658  	//       "type": "string"
 48659  	//     },
 48660  	//     "profileId": {
 48661  	//       "description": "User profile ID associated with this request.",
 48662  	//       "format": "int64",
 48663  	//       "location": "path",
 48664  	//       "required": true,
 48665  	//       "type": "string"
 48666  	//     }
 48667  	//   },
 48668  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48669  	//   "request": {
 48670  	//     "$ref": "TargetingTemplate"
 48671  	//   },
 48672  	//   "response": {
 48673  	//     "$ref": "TargetingTemplate"
 48674  	//   },
 48675  	//   "scopes": [
 48676  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48677  	//   ]
 48678  	// }
 48679  
 48680  }
 48681  
 48682  // method id "dfareporting.targetingTemplates.update":
 48683  
 48684  type TargetingTemplatesUpdateCall struct {
 48685  	s                 *Service
 48686  	profileId         int64
 48687  	targetingtemplate *TargetingTemplate
 48688  	urlParams_        gensupport.URLParams
 48689  	ctx_              context.Context
 48690  	header_           http.Header
 48691  }
 48692  
 48693  // Update: Updates an existing targeting template.
 48694  func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
 48695  	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48696  	c.profileId = profileId
 48697  	c.targetingtemplate = targetingtemplate
 48698  	return c
 48699  }
 48700  
 48701  // Fields allows partial responses to be retrieved. See
 48702  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48703  // for more information.
 48704  func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
 48705  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48706  	return c
 48707  }
 48708  
 48709  // Context sets the context to be used in this call's Do method. Any
 48710  // pending HTTP request will be aborted if the provided context is
 48711  // canceled.
 48712  func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
 48713  	c.ctx_ = ctx
 48714  	return c
 48715  }
 48716  
 48717  // Header returns an http.Header that can be modified by the caller to
 48718  // add HTTP headers to the request.
 48719  func (c *TargetingTemplatesUpdateCall) Header() http.Header {
 48720  	if c.header_ == nil {
 48721  		c.header_ = make(http.Header)
 48722  	}
 48723  	return c.header_
 48724  }
 48725  
 48726  func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 48727  	reqHeaders := make(http.Header)
 48728  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48729  	for k, v := range c.header_ {
 48730  		reqHeaders[k] = v
 48731  	}
 48732  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48733  	var body io.Reader = nil
 48734  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 48735  	if err != nil {
 48736  		return nil, err
 48737  	}
 48738  	reqHeaders.Set("Content-Type", "application/json")
 48739  	c.urlParams_.Set("alt", alt)
 48740  	c.urlParams_.Set("prettyPrint", "false")
 48741  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48742  	urls += "?" + c.urlParams_.Encode()
 48743  	req, err := http.NewRequest("PUT", urls, body)
 48744  	if err != nil {
 48745  		return nil, err
 48746  	}
 48747  	req.Header = reqHeaders
 48748  	googleapi.Expand(req.URL, map[string]string{
 48749  		"profileId": strconv.FormatInt(c.profileId, 10),
 48750  	})
 48751  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48752  }
 48753  
 48754  // Do executes the "dfareporting.targetingTemplates.update" call.
 48755  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48756  // non-2xx status code is an error. Response headers are in either
 48757  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48758  // returned at all) in error.(*googleapi.Error).Header. Use
 48759  // googleapi.IsNotModified to check whether the returned error was
 48760  // because http.StatusNotModified was returned.
 48761  func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48762  	gensupport.SetOptions(c.urlParams_, opts...)
 48763  	res, err := c.doRequest("json")
 48764  	if res != nil && res.StatusCode == http.StatusNotModified {
 48765  		if res.Body != nil {
 48766  			res.Body.Close()
 48767  		}
 48768  		return nil, &googleapi.Error{
 48769  			Code:   res.StatusCode,
 48770  			Header: res.Header,
 48771  		}
 48772  	}
 48773  	if err != nil {
 48774  		return nil, err
 48775  	}
 48776  	defer googleapi.CloseBody(res)
 48777  	if err := googleapi.CheckResponse(res); err != nil {
 48778  		return nil, err
 48779  	}
 48780  	ret := &TargetingTemplate{
 48781  		ServerResponse: googleapi.ServerResponse{
 48782  			Header:         res.Header,
 48783  			HTTPStatusCode: res.StatusCode,
 48784  		},
 48785  	}
 48786  	target := &ret
 48787  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48788  		return nil, err
 48789  	}
 48790  	return ret, nil
 48791  	// {
 48792  	//   "description": "Updates an existing targeting template.",
 48793  	//   "httpMethod": "PUT",
 48794  	//   "id": "dfareporting.targetingTemplates.update",
 48795  	//   "parameterOrder": [
 48796  	//     "profileId"
 48797  	//   ],
 48798  	//   "parameters": {
 48799  	//     "profileId": {
 48800  	//       "description": "User profile ID associated with this request.",
 48801  	//       "format": "int64",
 48802  	//       "location": "path",
 48803  	//       "required": true,
 48804  	//       "type": "string"
 48805  	//     }
 48806  	//   },
 48807  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48808  	//   "request": {
 48809  	//     "$ref": "TargetingTemplate"
 48810  	//   },
 48811  	//   "response": {
 48812  	//     "$ref": "TargetingTemplate"
 48813  	//   },
 48814  	//   "scopes": [
 48815  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48816  	//   ]
 48817  	// }
 48818  
 48819  }
 48820  
 48821  // method id "dfareporting.userProfiles.get":
 48822  
 48823  type UserProfilesGetCall struct {
 48824  	s            *Service
 48825  	profileId    int64
 48826  	urlParams_   gensupport.URLParams
 48827  	ifNoneMatch_ string
 48828  	ctx_         context.Context
 48829  	header_      http.Header
 48830  }
 48831  
 48832  // Get: Gets one user profile by ID.
 48833  func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
 48834  	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48835  	c.profileId = profileId
 48836  	return c
 48837  }
 48838  
 48839  // Fields allows partial responses to be retrieved. See
 48840  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48841  // for more information.
 48842  func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
 48843  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48844  	return c
 48845  }
 48846  
 48847  // IfNoneMatch sets the optional parameter which makes the operation
 48848  // fail if the object's ETag matches the given value. This is useful for
 48849  // getting updates only after the object has changed since the last
 48850  // request. Use googleapi.IsNotModified to check whether the response
 48851  // error from Do is the result of In-None-Match.
 48852  func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
 48853  	c.ifNoneMatch_ = entityTag
 48854  	return c
 48855  }
 48856  
 48857  // Context sets the context to be used in this call's Do method. Any
 48858  // pending HTTP request will be aborted if the provided context is
 48859  // canceled.
 48860  func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 48861  	c.ctx_ = ctx
 48862  	return c
 48863  }
 48864  
 48865  // Header returns an http.Header that can be modified by the caller to
 48866  // add HTTP headers to the request.
 48867  func (c *UserProfilesGetCall) Header() http.Header {
 48868  	if c.header_ == nil {
 48869  		c.header_ = make(http.Header)
 48870  	}
 48871  	return c.header_
 48872  }
 48873  
 48874  func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 48875  	reqHeaders := make(http.Header)
 48876  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48877  	for k, v := range c.header_ {
 48878  		reqHeaders[k] = v
 48879  	}
 48880  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48881  	if c.ifNoneMatch_ != "" {
 48882  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48883  	}
 48884  	var body io.Reader = nil
 48885  	c.urlParams_.Set("alt", alt)
 48886  	c.urlParams_.Set("prettyPrint", "false")
 48887  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
 48888  	urls += "?" + c.urlParams_.Encode()
 48889  	req, err := http.NewRequest("GET", urls, body)
 48890  	if err != nil {
 48891  		return nil, err
 48892  	}
 48893  	req.Header = reqHeaders
 48894  	googleapi.Expand(req.URL, map[string]string{
 48895  		"profileId": strconv.FormatInt(c.profileId, 10),
 48896  	})
 48897  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48898  }
 48899  
 48900  // Do executes the "dfareporting.userProfiles.get" call.
 48901  // Exactly one of *UserProfile or error will be non-nil. Any non-2xx
 48902  // status code is an error. Response headers are in either
 48903  // *UserProfile.ServerResponse.Header or (if a response was returned at
 48904  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 48905  // to check whether the returned error was because
 48906  // http.StatusNotModified was returned.
 48907  func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
 48908  	gensupport.SetOptions(c.urlParams_, opts...)
 48909  	res, err := c.doRequest("json")
 48910  	if res != nil && res.StatusCode == http.StatusNotModified {
 48911  		if res.Body != nil {
 48912  			res.Body.Close()
 48913  		}
 48914  		return nil, &googleapi.Error{
 48915  			Code:   res.StatusCode,
 48916  			Header: res.Header,
 48917  		}
 48918  	}
 48919  	if err != nil {
 48920  		return nil, err
 48921  	}
 48922  	defer googleapi.CloseBody(res)
 48923  	if err := googleapi.CheckResponse(res); err != nil {
 48924  		return nil, err
 48925  	}
 48926  	ret := &UserProfile{
 48927  		ServerResponse: googleapi.ServerResponse{
 48928  			Header:         res.Header,
 48929  			HTTPStatusCode: res.StatusCode,
 48930  		},
 48931  	}
 48932  	target := &ret
 48933  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48934  		return nil, err
 48935  	}
 48936  	return ret, nil
 48937  	// {
 48938  	//   "description": "Gets one user profile by ID.",
 48939  	//   "httpMethod": "GET",
 48940  	//   "id": "dfareporting.userProfiles.get",
 48941  	//   "parameterOrder": [
 48942  	//     "profileId"
 48943  	//   ],
 48944  	//   "parameters": {
 48945  	//     "profileId": {
 48946  	//       "description": "The user profile ID.",
 48947  	//       "format": "int64",
 48948  	//       "location": "path",
 48949  	//       "required": true,
 48950  	//       "type": "string"
 48951  	//     }
 48952  	//   },
 48953  	//   "path": "userprofiles/{profileId}",
 48954  	//   "response": {
 48955  	//     "$ref": "UserProfile"
 48956  	//   },
 48957  	//   "scopes": [
 48958  	//     "https://www.googleapis.com/auth/dfareporting",
 48959  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48960  	//   ]
 48961  	// }
 48962  
 48963  }
 48964  
 48965  // method id "dfareporting.userProfiles.list":
 48966  
 48967  type UserProfilesListCall struct {
 48968  	s            *Service
 48969  	urlParams_   gensupport.URLParams
 48970  	ifNoneMatch_ string
 48971  	ctx_         context.Context
 48972  	header_      http.Header
 48973  }
 48974  
 48975  // List: Retrieves list of user profiles for a user.
 48976  func (r *UserProfilesService) List() *UserProfilesListCall {
 48977  	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48978  	return c
 48979  }
 48980  
 48981  // Fields allows partial responses to be retrieved. See
 48982  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48983  // for more information.
 48984  func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
 48985  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48986  	return c
 48987  }
 48988  
 48989  // IfNoneMatch sets the optional parameter which makes the operation
 48990  // fail if the object's ETag matches the given value. This is useful for
 48991  // getting updates only after the object has changed since the last
 48992  // request. Use googleapi.IsNotModified to check whether the response
 48993  // error from Do is the result of In-None-Match.
 48994  func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
 48995  	c.ifNoneMatch_ = entityTag
 48996  	return c
 48997  }
 48998  
 48999  // Context sets the context to be used in this call's Do method. Any
 49000  // pending HTTP request will be aborted if the provided context is
 49001  // canceled.
 49002  func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 49003  	c.ctx_ = ctx
 49004  	return c
 49005  }
 49006  
 49007  // Header returns an http.Header that can be modified by the caller to
 49008  // add HTTP headers to the request.
 49009  func (c *UserProfilesListCall) Header() http.Header {
 49010  	if c.header_ == nil {
 49011  		c.header_ = make(http.Header)
 49012  	}
 49013  	return c.header_
 49014  }
 49015  
 49016  func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 49017  	reqHeaders := make(http.Header)
 49018  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49019  	for k, v := range c.header_ {
 49020  		reqHeaders[k] = v
 49021  	}
 49022  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49023  	if c.ifNoneMatch_ != "" {
 49024  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49025  	}
 49026  	var body io.Reader = nil
 49027  	c.urlParams_.Set("alt", alt)
 49028  	c.urlParams_.Set("prettyPrint", "false")
 49029  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
 49030  	urls += "?" + c.urlParams_.Encode()
 49031  	req, err := http.NewRequest("GET", urls, body)
 49032  	if err != nil {
 49033  		return nil, err
 49034  	}
 49035  	req.Header = reqHeaders
 49036  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49037  }
 49038  
 49039  // Do executes the "dfareporting.userProfiles.list" call.
 49040  // Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
 49041  // status code is an error. Response headers are in either
 49042  // *UserProfileList.ServerResponse.Header or (if a response was returned
 49043  // at all) in error.(*googleapi.Error).Header. Use
 49044  // googleapi.IsNotModified to check whether the returned error was
 49045  // because http.StatusNotModified was returned.
 49046  func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
 49047  	gensupport.SetOptions(c.urlParams_, opts...)
 49048  	res, err := c.doRequest("json")
 49049  	if res != nil && res.StatusCode == http.StatusNotModified {
 49050  		if res.Body != nil {
 49051  			res.Body.Close()
 49052  		}
 49053  		return nil, &googleapi.Error{
 49054  			Code:   res.StatusCode,
 49055  			Header: res.Header,
 49056  		}
 49057  	}
 49058  	if err != nil {
 49059  		return nil, err
 49060  	}
 49061  	defer googleapi.CloseBody(res)
 49062  	if err := googleapi.CheckResponse(res); err != nil {
 49063  		return nil, err
 49064  	}
 49065  	ret := &UserProfileList{
 49066  		ServerResponse: googleapi.ServerResponse{
 49067  			Header:         res.Header,
 49068  			HTTPStatusCode: res.StatusCode,
 49069  		},
 49070  	}
 49071  	target := &ret
 49072  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49073  		return nil, err
 49074  	}
 49075  	return ret, nil
 49076  	// {
 49077  	//   "description": "Retrieves list of user profiles for a user.",
 49078  	//   "httpMethod": "GET",
 49079  	//   "id": "dfareporting.userProfiles.list",
 49080  	//   "path": "userprofiles",
 49081  	//   "response": {
 49082  	//     "$ref": "UserProfileList"
 49083  	//   },
 49084  	//   "scopes": [
 49085  	//     "https://www.googleapis.com/auth/dfareporting",
 49086  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49087  	//   ]
 49088  	// }
 49089  
 49090  }
 49091  
 49092  // method id "dfareporting.userRolePermissionGroups.get":
 49093  
 49094  type UserRolePermissionGroupsGetCall struct {
 49095  	s            *Service
 49096  	profileId    int64
 49097  	id           int64
 49098  	urlParams_   gensupport.URLParams
 49099  	ifNoneMatch_ string
 49100  	ctx_         context.Context
 49101  	header_      http.Header
 49102  }
 49103  
 49104  // Get: Gets one user role permission group by ID.
 49105  func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
 49106  	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49107  	c.profileId = profileId
 49108  	c.id = id
 49109  	return c
 49110  }
 49111  
 49112  // Fields allows partial responses to be retrieved. See
 49113  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49114  // for more information.
 49115  func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
 49116  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49117  	return c
 49118  }
 49119  
 49120  // IfNoneMatch sets the optional parameter which makes the operation
 49121  // fail if the object's ETag matches the given value. This is useful for
 49122  // getting updates only after the object has changed since the last
 49123  // request. Use googleapi.IsNotModified to check whether the response
 49124  // error from Do is the result of In-None-Match.
 49125  func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
 49126  	c.ifNoneMatch_ = entityTag
 49127  	return c
 49128  }
 49129  
 49130  // Context sets the context to be used in this call's Do method. Any
 49131  // pending HTTP request will be aborted if the provided context is
 49132  // canceled.
 49133  func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
 49134  	c.ctx_ = ctx
 49135  	return c
 49136  }
 49137  
 49138  // Header returns an http.Header that can be modified by the caller to
 49139  // add HTTP headers to the request.
 49140  func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
 49141  	if c.header_ == nil {
 49142  		c.header_ = make(http.Header)
 49143  	}
 49144  	return c.header_
 49145  }
 49146  
 49147  func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 49148  	reqHeaders := make(http.Header)
 49149  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49150  	for k, v := range c.header_ {
 49151  		reqHeaders[k] = v
 49152  	}
 49153  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49154  	if c.ifNoneMatch_ != "" {
 49155  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49156  	}
 49157  	var body io.Reader = nil
 49158  	c.urlParams_.Set("alt", alt)
 49159  	c.urlParams_.Set("prettyPrint", "false")
 49160  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
 49161  	urls += "?" + c.urlParams_.Encode()
 49162  	req, err := http.NewRequest("GET", urls, body)
 49163  	if err != nil {
 49164  		return nil, err
 49165  	}
 49166  	req.Header = reqHeaders
 49167  	googleapi.Expand(req.URL, map[string]string{
 49168  		"profileId": strconv.FormatInt(c.profileId, 10),
 49169  		"id":        strconv.FormatInt(c.id, 10),
 49170  	})
 49171  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49172  }
 49173  
 49174  // Do executes the "dfareporting.userRolePermissionGroups.get" call.
 49175  // Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
 49176  // non-2xx status code is an error. Response headers are in either
 49177  // *UserRolePermissionGroup.ServerResponse.Header or (if a response was
 49178  // returned at all) in error.(*googleapi.Error).Header. Use
 49179  // googleapi.IsNotModified to check whether the returned error was
 49180  // because http.StatusNotModified was returned.
 49181  func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
 49182  	gensupport.SetOptions(c.urlParams_, opts...)
 49183  	res, err := c.doRequest("json")
 49184  	if res != nil && res.StatusCode == http.StatusNotModified {
 49185  		if res.Body != nil {
 49186  			res.Body.Close()
 49187  		}
 49188  		return nil, &googleapi.Error{
 49189  			Code:   res.StatusCode,
 49190  			Header: res.Header,
 49191  		}
 49192  	}
 49193  	if err != nil {
 49194  		return nil, err
 49195  	}
 49196  	defer googleapi.CloseBody(res)
 49197  	if err := googleapi.CheckResponse(res); err != nil {
 49198  		return nil, err
 49199  	}
 49200  	ret := &UserRolePermissionGroup{
 49201  		ServerResponse: googleapi.ServerResponse{
 49202  			Header:         res.Header,
 49203  			HTTPStatusCode: res.StatusCode,
 49204  		},
 49205  	}
 49206  	target := &ret
 49207  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49208  		return nil, err
 49209  	}
 49210  	return ret, nil
 49211  	// {
 49212  	//   "description": "Gets one user role permission group by ID.",
 49213  	//   "httpMethod": "GET",
 49214  	//   "id": "dfareporting.userRolePermissionGroups.get",
 49215  	//   "parameterOrder": [
 49216  	//     "profileId",
 49217  	//     "id"
 49218  	//   ],
 49219  	//   "parameters": {
 49220  	//     "id": {
 49221  	//       "description": "User role permission group ID.",
 49222  	//       "format": "int64",
 49223  	//       "location": "path",
 49224  	//       "required": true,
 49225  	//       "type": "string"
 49226  	//     },
 49227  	//     "profileId": {
 49228  	//       "description": "User profile ID associated with this request.",
 49229  	//       "format": "int64",
 49230  	//       "location": "path",
 49231  	//       "required": true,
 49232  	//       "type": "string"
 49233  	//     }
 49234  	//   },
 49235  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
 49236  	//   "response": {
 49237  	//     "$ref": "UserRolePermissionGroup"
 49238  	//   },
 49239  	//   "scopes": [
 49240  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49241  	//   ]
 49242  	// }
 49243  
 49244  }
 49245  
 49246  // method id "dfareporting.userRolePermissionGroups.list":
 49247  
 49248  type UserRolePermissionGroupsListCall struct {
 49249  	s            *Service
 49250  	profileId    int64
 49251  	urlParams_   gensupport.URLParams
 49252  	ifNoneMatch_ string
 49253  	ctx_         context.Context
 49254  	header_      http.Header
 49255  }
 49256  
 49257  // List: Gets a list of all supported user role permission groups.
 49258  func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
 49259  	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49260  	c.profileId = profileId
 49261  	return c
 49262  }
 49263  
 49264  // Fields allows partial responses to be retrieved. See
 49265  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49266  // for more information.
 49267  func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
 49268  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49269  	return c
 49270  }
 49271  
 49272  // IfNoneMatch sets the optional parameter which makes the operation
 49273  // fail if the object's ETag matches the given value. This is useful for
 49274  // getting updates only after the object has changed since the last
 49275  // request. Use googleapi.IsNotModified to check whether the response
 49276  // error from Do is the result of In-None-Match.
 49277  func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
 49278  	c.ifNoneMatch_ = entityTag
 49279  	return c
 49280  }
 49281  
 49282  // Context sets the context to be used in this call's Do method. Any
 49283  // pending HTTP request will be aborted if the provided context is
 49284  // canceled.
 49285  func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
 49286  	c.ctx_ = ctx
 49287  	return c
 49288  }
 49289  
 49290  // Header returns an http.Header that can be modified by the caller to
 49291  // add HTTP headers to the request.
 49292  func (c *UserRolePermissionGroupsListCall) Header() http.Header {
 49293  	if c.header_ == nil {
 49294  		c.header_ = make(http.Header)
 49295  	}
 49296  	return c.header_
 49297  }
 49298  
 49299  func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 49300  	reqHeaders := make(http.Header)
 49301  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49302  	for k, v := range c.header_ {
 49303  		reqHeaders[k] = v
 49304  	}
 49305  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49306  	if c.ifNoneMatch_ != "" {
 49307  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49308  	}
 49309  	var body io.Reader = nil
 49310  	c.urlParams_.Set("alt", alt)
 49311  	c.urlParams_.Set("prettyPrint", "false")
 49312  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
 49313  	urls += "?" + c.urlParams_.Encode()
 49314  	req, err := http.NewRequest("GET", urls, body)
 49315  	if err != nil {
 49316  		return nil, err
 49317  	}
 49318  	req.Header = reqHeaders
 49319  	googleapi.Expand(req.URL, map[string]string{
 49320  		"profileId": strconv.FormatInt(c.profileId, 10),
 49321  	})
 49322  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49323  }
 49324  
 49325  // Do executes the "dfareporting.userRolePermissionGroups.list" call.
 49326  // Exactly one of *UserRolePermissionGroupsListResponse or error will be
 49327  // non-nil. Any non-2xx status code is an error. Response headers are in
 49328  // either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
 49329  // (if a response was returned at all) in
 49330  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 49331  // whether the returned error was because http.StatusNotModified was
 49332  // returned.
 49333  func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
 49334  	gensupport.SetOptions(c.urlParams_, opts...)
 49335  	res, err := c.doRequest("json")
 49336  	if res != nil && res.StatusCode == http.StatusNotModified {
 49337  		if res.Body != nil {
 49338  			res.Body.Close()
 49339  		}
 49340  		return nil, &googleapi.Error{
 49341  			Code:   res.StatusCode,
 49342  			Header: res.Header,
 49343  		}
 49344  	}
 49345  	if err != nil {
 49346  		return nil, err
 49347  	}
 49348  	defer googleapi.CloseBody(res)
 49349  	if err := googleapi.CheckResponse(res); err != nil {
 49350  		return nil, err
 49351  	}
 49352  	ret := &UserRolePermissionGroupsListResponse{
 49353  		ServerResponse: googleapi.ServerResponse{
 49354  			Header:         res.Header,
 49355  			HTTPStatusCode: res.StatusCode,
 49356  		},
 49357  	}
 49358  	target := &ret
 49359  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49360  		return nil, err
 49361  	}
 49362  	return ret, nil
 49363  	// {
 49364  	//   "description": "Gets a list of all supported user role permission groups.",
 49365  	//   "httpMethod": "GET",
 49366  	//   "id": "dfareporting.userRolePermissionGroups.list",
 49367  	//   "parameterOrder": [
 49368  	//     "profileId"
 49369  	//   ],
 49370  	//   "parameters": {
 49371  	//     "profileId": {
 49372  	//       "description": "User profile ID associated with this request.",
 49373  	//       "format": "int64",
 49374  	//       "location": "path",
 49375  	//       "required": true,
 49376  	//       "type": "string"
 49377  	//     }
 49378  	//   },
 49379  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
 49380  	//   "response": {
 49381  	//     "$ref": "UserRolePermissionGroupsListResponse"
 49382  	//   },
 49383  	//   "scopes": [
 49384  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49385  	//   ]
 49386  	// }
 49387  
 49388  }
 49389  
 49390  // method id "dfareporting.userRolePermissions.get":
 49391  
 49392  type UserRolePermissionsGetCall struct {
 49393  	s            *Service
 49394  	profileId    int64
 49395  	id           int64
 49396  	urlParams_   gensupport.URLParams
 49397  	ifNoneMatch_ string
 49398  	ctx_         context.Context
 49399  	header_      http.Header
 49400  }
 49401  
 49402  // Get: Gets one user role permission by ID.
 49403  func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
 49404  	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49405  	c.profileId = profileId
 49406  	c.id = id
 49407  	return c
 49408  }
 49409  
 49410  // Fields allows partial responses to be retrieved. See
 49411  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49412  // for more information.
 49413  func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
 49414  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49415  	return c
 49416  }
 49417  
 49418  // IfNoneMatch sets the optional parameter which makes the operation
 49419  // fail if the object's ETag matches the given value. This is useful for
 49420  // getting updates only after the object has changed since the last
 49421  // request. Use googleapi.IsNotModified to check whether the response
 49422  // error from Do is the result of In-None-Match.
 49423  func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
 49424  	c.ifNoneMatch_ = entityTag
 49425  	return c
 49426  }
 49427  
 49428  // Context sets the context to be used in this call's Do method. Any
 49429  // pending HTTP request will be aborted if the provided context is
 49430  // canceled.
 49431  func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
 49432  	c.ctx_ = ctx
 49433  	return c
 49434  }
 49435  
 49436  // Header returns an http.Header that can be modified by the caller to
 49437  // add HTTP headers to the request.
 49438  func (c *UserRolePermissionsGetCall) Header() http.Header {
 49439  	if c.header_ == nil {
 49440  		c.header_ = make(http.Header)
 49441  	}
 49442  	return c.header_
 49443  }
 49444  
 49445  func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 49446  	reqHeaders := make(http.Header)
 49447  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49448  	for k, v := range c.header_ {
 49449  		reqHeaders[k] = v
 49450  	}
 49451  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49452  	if c.ifNoneMatch_ != "" {
 49453  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49454  	}
 49455  	var body io.Reader = nil
 49456  	c.urlParams_.Set("alt", alt)
 49457  	c.urlParams_.Set("prettyPrint", "false")
 49458  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
 49459  	urls += "?" + c.urlParams_.Encode()
 49460  	req, err := http.NewRequest("GET", urls, body)
 49461  	if err != nil {
 49462  		return nil, err
 49463  	}
 49464  	req.Header = reqHeaders
 49465  	googleapi.Expand(req.URL, map[string]string{
 49466  		"profileId": strconv.FormatInt(c.profileId, 10),
 49467  		"id":        strconv.FormatInt(c.id, 10),
 49468  	})
 49469  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49470  }
 49471  
 49472  // Do executes the "dfareporting.userRolePermissions.get" call.
 49473  // Exactly one of *UserRolePermission or error will be non-nil. Any
 49474  // non-2xx status code is an error. Response headers are in either
 49475  // *UserRolePermission.ServerResponse.Header or (if a response was
 49476  // returned at all) in error.(*googleapi.Error).Header. Use
 49477  // googleapi.IsNotModified to check whether the returned error was
 49478  // because http.StatusNotModified was returned.
 49479  func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
 49480  	gensupport.SetOptions(c.urlParams_, opts...)
 49481  	res, err := c.doRequest("json")
 49482  	if res != nil && res.StatusCode == http.StatusNotModified {
 49483  		if res.Body != nil {
 49484  			res.Body.Close()
 49485  		}
 49486  		return nil, &googleapi.Error{
 49487  			Code:   res.StatusCode,
 49488  			Header: res.Header,
 49489  		}
 49490  	}
 49491  	if err != nil {
 49492  		return nil, err
 49493  	}
 49494  	defer googleapi.CloseBody(res)
 49495  	if err := googleapi.CheckResponse(res); err != nil {
 49496  		return nil, err
 49497  	}
 49498  	ret := &UserRolePermission{
 49499  		ServerResponse: googleapi.ServerResponse{
 49500  			Header:         res.Header,
 49501  			HTTPStatusCode: res.StatusCode,
 49502  		},
 49503  	}
 49504  	target := &ret
 49505  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49506  		return nil, err
 49507  	}
 49508  	return ret, nil
 49509  	// {
 49510  	//   "description": "Gets one user role permission by ID.",
 49511  	//   "httpMethod": "GET",
 49512  	//   "id": "dfareporting.userRolePermissions.get",
 49513  	//   "parameterOrder": [
 49514  	//     "profileId",
 49515  	//     "id"
 49516  	//   ],
 49517  	//   "parameters": {
 49518  	//     "id": {
 49519  	//       "description": "User role permission ID.",
 49520  	//       "format": "int64",
 49521  	//       "location": "path",
 49522  	//       "required": true,
 49523  	//       "type": "string"
 49524  	//     },
 49525  	//     "profileId": {
 49526  	//       "description": "User profile ID associated with this request.",
 49527  	//       "format": "int64",
 49528  	//       "location": "path",
 49529  	//       "required": true,
 49530  	//       "type": "string"
 49531  	//     }
 49532  	//   },
 49533  	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
 49534  	//   "response": {
 49535  	//     "$ref": "UserRolePermission"
 49536  	//   },
 49537  	//   "scopes": [
 49538  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49539  	//   ]
 49540  	// }
 49541  
 49542  }
 49543  
 49544  // method id "dfareporting.userRolePermissions.list":
 49545  
 49546  type UserRolePermissionsListCall struct {
 49547  	s            *Service
 49548  	profileId    int64
 49549  	urlParams_   gensupport.URLParams
 49550  	ifNoneMatch_ string
 49551  	ctx_         context.Context
 49552  	header_      http.Header
 49553  }
 49554  
 49555  // List: Gets a list of user role permissions, possibly filtered.
 49556  func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
 49557  	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49558  	c.profileId = profileId
 49559  	return c
 49560  }
 49561  
 49562  // Ids sets the optional parameter "ids": Select only user role
 49563  // permissions with these IDs.
 49564  func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
 49565  	var ids_ []string
 49566  	for _, v := range ids {
 49567  		ids_ = append(ids_, fmt.Sprint(v))
 49568  	}
 49569  	c.urlParams_.SetMulti("ids", ids_)
 49570  	return c
 49571  }
 49572  
 49573  // Fields allows partial responses to be retrieved. See
 49574  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49575  // for more information.
 49576  func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
 49577  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49578  	return c
 49579  }
 49580  
 49581  // IfNoneMatch sets the optional parameter which makes the operation
 49582  // fail if the object's ETag matches the given value. This is useful for
 49583  // getting updates only after the object has changed since the last
 49584  // request. Use googleapi.IsNotModified to check whether the response
 49585  // error from Do is the result of In-None-Match.
 49586  func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
 49587  	c.ifNoneMatch_ = entityTag
 49588  	return c
 49589  }
 49590  
 49591  // Context sets the context to be used in this call's Do method. Any
 49592  // pending HTTP request will be aborted if the provided context is
 49593  // canceled.
 49594  func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
 49595  	c.ctx_ = ctx
 49596  	return c
 49597  }
 49598  
 49599  // Header returns an http.Header that can be modified by the caller to
 49600  // add HTTP headers to the request.
 49601  func (c *UserRolePermissionsListCall) Header() http.Header {
 49602  	if c.header_ == nil {
 49603  		c.header_ = make(http.Header)
 49604  	}
 49605  	return c.header_
 49606  }
 49607  
 49608  func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 49609  	reqHeaders := make(http.Header)
 49610  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49611  	for k, v := range c.header_ {
 49612  		reqHeaders[k] = v
 49613  	}
 49614  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49615  	if c.ifNoneMatch_ != "" {
 49616  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49617  	}
 49618  	var body io.Reader = nil
 49619  	c.urlParams_.Set("alt", alt)
 49620  	c.urlParams_.Set("prettyPrint", "false")
 49621  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
 49622  	urls += "?" + c.urlParams_.Encode()
 49623  	req, err := http.NewRequest("GET", urls, body)
 49624  	if err != nil {
 49625  		return nil, err
 49626  	}
 49627  	req.Header = reqHeaders
 49628  	googleapi.Expand(req.URL, map[string]string{
 49629  		"profileId": strconv.FormatInt(c.profileId, 10),
 49630  	})
 49631  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49632  }
 49633  
 49634  // Do executes the "dfareporting.userRolePermissions.list" call.
 49635  // Exactly one of *UserRolePermissionsListResponse or error will be
 49636  // non-nil. Any non-2xx status code is an error. Response headers are in
 49637  // either *UserRolePermissionsListResponse.ServerResponse.Header or (if
 49638  // a response was returned at all) in error.(*googleapi.Error).Header.
 49639  // Use googleapi.IsNotModified to check whether the returned error was
 49640  // because http.StatusNotModified was returned.
 49641  func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
 49642  	gensupport.SetOptions(c.urlParams_, opts...)
 49643  	res, err := c.doRequest("json")
 49644  	if res != nil && res.StatusCode == http.StatusNotModified {
 49645  		if res.Body != nil {
 49646  			res.Body.Close()
 49647  		}
 49648  		return nil, &googleapi.Error{
 49649  			Code:   res.StatusCode,
 49650  			Header: res.Header,
 49651  		}
 49652  	}
 49653  	if err != nil {
 49654  		return nil, err
 49655  	}
 49656  	defer googleapi.CloseBody(res)
 49657  	if err := googleapi.CheckResponse(res); err != nil {
 49658  		return nil, err
 49659  	}
 49660  	ret := &UserRolePermissionsListResponse{
 49661  		ServerResponse: googleapi.ServerResponse{
 49662  			Header:         res.Header,
 49663  			HTTPStatusCode: res.StatusCode,
 49664  		},
 49665  	}
 49666  	target := &ret
 49667  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49668  		return nil, err
 49669  	}
 49670  	return ret, nil
 49671  	// {
 49672  	//   "description": "Gets a list of user role permissions, possibly filtered.",
 49673  	//   "httpMethod": "GET",
 49674  	//   "id": "dfareporting.userRolePermissions.list",
 49675  	//   "parameterOrder": [
 49676  	//     "profileId"
 49677  	//   ],
 49678  	//   "parameters": {
 49679  	//     "ids": {
 49680  	//       "description": "Select only user role permissions with these IDs.",
 49681  	//       "format": "int64",
 49682  	//       "location": "query",
 49683  	//       "repeated": true,
 49684  	//       "type": "string"
 49685  	//     },
 49686  	//     "profileId": {
 49687  	//       "description": "User profile ID associated with this request.",
 49688  	//       "format": "int64",
 49689  	//       "location": "path",
 49690  	//       "required": true,
 49691  	//       "type": "string"
 49692  	//     }
 49693  	//   },
 49694  	//   "path": "userprofiles/{profileId}/userRolePermissions",
 49695  	//   "response": {
 49696  	//     "$ref": "UserRolePermissionsListResponse"
 49697  	//   },
 49698  	//   "scopes": [
 49699  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49700  	//   ]
 49701  	// }
 49702  
 49703  }
 49704  
 49705  // method id "dfareporting.userRoles.delete":
 49706  
 49707  type UserRolesDeleteCall struct {
 49708  	s          *Service
 49709  	profileId  int64
 49710  	id         int64
 49711  	urlParams_ gensupport.URLParams
 49712  	ctx_       context.Context
 49713  	header_    http.Header
 49714  }
 49715  
 49716  // Delete: Deletes an existing user role.
 49717  func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
 49718  	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49719  	c.profileId = profileId
 49720  	c.id = id
 49721  	return c
 49722  }
 49723  
 49724  // Fields allows partial responses to be retrieved. See
 49725  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49726  // for more information.
 49727  func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
 49728  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49729  	return c
 49730  }
 49731  
 49732  // Context sets the context to be used in this call's Do method. Any
 49733  // pending HTTP request will be aborted if the provided context is
 49734  // canceled.
 49735  func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
 49736  	c.ctx_ = ctx
 49737  	return c
 49738  }
 49739  
 49740  // Header returns an http.Header that can be modified by the caller to
 49741  // add HTTP headers to the request.
 49742  func (c *UserRolesDeleteCall) Header() http.Header {
 49743  	if c.header_ == nil {
 49744  		c.header_ = make(http.Header)
 49745  	}
 49746  	return c.header_
 49747  }
 49748  
 49749  func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 49750  	reqHeaders := make(http.Header)
 49751  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49752  	for k, v := range c.header_ {
 49753  		reqHeaders[k] = v
 49754  	}
 49755  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49756  	var body io.Reader = nil
 49757  	c.urlParams_.Set("alt", alt)
 49758  	c.urlParams_.Set("prettyPrint", "false")
 49759  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 49760  	urls += "?" + c.urlParams_.Encode()
 49761  	req, err := http.NewRequest("DELETE", urls, body)
 49762  	if err != nil {
 49763  		return nil, err
 49764  	}
 49765  	req.Header = reqHeaders
 49766  	googleapi.Expand(req.URL, map[string]string{
 49767  		"profileId": strconv.FormatInt(c.profileId, 10),
 49768  		"id":        strconv.FormatInt(c.id, 10),
 49769  	})
 49770  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49771  }
 49772  
 49773  // Do executes the "dfareporting.userRoles.delete" call.
 49774  func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
 49775  	gensupport.SetOptions(c.urlParams_, opts...)
 49776  	res, err := c.doRequest("json")
 49777  	if err != nil {
 49778  		return err
 49779  	}
 49780  	defer googleapi.CloseBody(res)
 49781  	if err := googleapi.CheckResponse(res); err != nil {
 49782  		return err
 49783  	}
 49784  	return nil
 49785  	// {
 49786  	//   "description": "Deletes an existing user role.",
 49787  	//   "httpMethod": "DELETE",
 49788  	//   "id": "dfareporting.userRoles.delete",
 49789  	//   "parameterOrder": [
 49790  	//     "profileId",
 49791  	//     "id"
 49792  	//   ],
 49793  	//   "parameters": {
 49794  	//     "id": {
 49795  	//       "description": "User role ID.",
 49796  	//       "format": "int64",
 49797  	//       "location": "path",
 49798  	//       "required": true,
 49799  	//       "type": "string"
 49800  	//     },
 49801  	//     "profileId": {
 49802  	//       "description": "User profile ID associated with this request.",
 49803  	//       "format": "int64",
 49804  	//       "location": "path",
 49805  	//       "required": true,
 49806  	//       "type": "string"
 49807  	//     }
 49808  	//   },
 49809  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 49810  	//   "scopes": [
 49811  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49812  	//   ]
 49813  	// }
 49814  
 49815  }
 49816  
 49817  // method id "dfareporting.userRoles.get":
 49818  
 49819  type UserRolesGetCall struct {
 49820  	s            *Service
 49821  	profileId    int64
 49822  	id           int64
 49823  	urlParams_   gensupport.URLParams
 49824  	ifNoneMatch_ string
 49825  	ctx_         context.Context
 49826  	header_      http.Header
 49827  }
 49828  
 49829  // Get: Gets one user role by ID.
 49830  func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
 49831  	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49832  	c.profileId = profileId
 49833  	c.id = id
 49834  	return c
 49835  }
 49836  
 49837  // Fields allows partial responses to be retrieved. See
 49838  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49839  // for more information.
 49840  func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
 49841  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49842  	return c
 49843  }
 49844  
 49845  // IfNoneMatch sets the optional parameter which makes the operation
 49846  // fail if the object's ETag matches the given value. This is useful for
 49847  // getting updates only after the object has changed since the last
 49848  // request. Use googleapi.IsNotModified to check whether the response
 49849  // error from Do is the result of In-None-Match.
 49850  func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
 49851  	c.ifNoneMatch_ = entityTag
 49852  	return c
 49853  }
 49854  
 49855  // Context sets the context to be used in this call's Do method. Any
 49856  // pending HTTP request will be aborted if the provided context is
 49857  // canceled.
 49858  func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
 49859  	c.ctx_ = ctx
 49860  	return c
 49861  }
 49862  
 49863  // Header returns an http.Header that can be modified by the caller to
 49864  // add HTTP headers to the request.
 49865  func (c *UserRolesGetCall) Header() http.Header {
 49866  	if c.header_ == nil {
 49867  		c.header_ = make(http.Header)
 49868  	}
 49869  	return c.header_
 49870  }
 49871  
 49872  func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 49873  	reqHeaders := make(http.Header)
 49874  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49875  	for k, v := range c.header_ {
 49876  		reqHeaders[k] = v
 49877  	}
 49878  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49879  	if c.ifNoneMatch_ != "" {
 49880  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49881  	}
 49882  	var body io.Reader = nil
 49883  	c.urlParams_.Set("alt", alt)
 49884  	c.urlParams_.Set("prettyPrint", "false")
 49885  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 49886  	urls += "?" + c.urlParams_.Encode()
 49887  	req, err := http.NewRequest("GET", urls, body)
 49888  	if err != nil {
 49889  		return nil, err
 49890  	}
 49891  	req.Header = reqHeaders
 49892  	googleapi.Expand(req.URL, map[string]string{
 49893  		"profileId": strconv.FormatInt(c.profileId, 10),
 49894  		"id":        strconv.FormatInt(c.id, 10),
 49895  	})
 49896  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49897  }
 49898  
 49899  // Do executes the "dfareporting.userRoles.get" call.
 49900  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 49901  // code is an error. Response headers are in either
 49902  // *UserRole.ServerResponse.Header or (if a response was returned at
 49903  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 49904  // to check whether the returned error was because
 49905  // http.StatusNotModified was returned.
 49906  func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 49907  	gensupport.SetOptions(c.urlParams_, opts...)
 49908  	res, err := c.doRequest("json")
 49909  	if res != nil && res.StatusCode == http.StatusNotModified {
 49910  		if res.Body != nil {
 49911  			res.Body.Close()
 49912  		}
 49913  		return nil, &googleapi.Error{
 49914  			Code:   res.StatusCode,
 49915  			Header: res.Header,
 49916  		}
 49917  	}
 49918  	if err != nil {
 49919  		return nil, err
 49920  	}
 49921  	defer googleapi.CloseBody(res)
 49922  	if err := googleapi.CheckResponse(res); err != nil {
 49923  		return nil, err
 49924  	}
 49925  	ret := &UserRole{
 49926  		ServerResponse: googleapi.ServerResponse{
 49927  			Header:         res.Header,
 49928  			HTTPStatusCode: res.StatusCode,
 49929  		},
 49930  	}
 49931  	target := &ret
 49932  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49933  		return nil, err
 49934  	}
 49935  	return ret, nil
 49936  	// {
 49937  	//   "description": "Gets one user role by ID.",
 49938  	//   "httpMethod": "GET",
 49939  	//   "id": "dfareporting.userRoles.get",
 49940  	//   "parameterOrder": [
 49941  	//     "profileId",
 49942  	//     "id"
 49943  	//   ],
 49944  	//   "parameters": {
 49945  	//     "id": {
 49946  	//       "description": "User role ID.",
 49947  	//       "format": "int64",
 49948  	//       "location": "path",
 49949  	//       "required": true,
 49950  	//       "type": "string"
 49951  	//     },
 49952  	//     "profileId": {
 49953  	//       "description": "User profile ID associated with this request.",
 49954  	//       "format": "int64",
 49955  	//       "location": "path",
 49956  	//       "required": true,
 49957  	//       "type": "string"
 49958  	//     }
 49959  	//   },
 49960  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 49961  	//   "response": {
 49962  	//     "$ref": "UserRole"
 49963  	//   },
 49964  	//   "scopes": [
 49965  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49966  	//   ]
 49967  	// }
 49968  
 49969  }
 49970  
 49971  // method id "dfareporting.userRoles.insert":
 49972  
 49973  type UserRolesInsertCall struct {
 49974  	s          *Service
 49975  	profileId  int64
 49976  	userrole   *UserRole
 49977  	urlParams_ gensupport.URLParams
 49978  	ctx_       context.Context
 49979  	header_    http.Header
 49980  }
 49981  
 49982  // Insert: Inserts a new user role.
 49983  func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
 49984  	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49985  	c.profileId = profileId
 49986  	c.userrole = userrole
 49987  	return c
 49988  }
 49989  
 49990  // Fields allows partial responses to be retrieved. See
 49991  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49992  // for more information.
 49993  func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
 49994  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49995  	return c
 49996  }
 49997  
 49998  // Context sets the context to be used in this call's Do method. Any
 49999  // pending HTTP request will be aborted if the provided context is
 50000  // canceled.
 50001  func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
 50002  	c.ctx_ = ctx
 50003  	return c
 50004  }
 50005  
 50006  // Header returns an http.Header that can be modified by the caller to
 50007  // add HTTP headers to the request.
 50008  func (c *UserRolesInsertCall) Header() http.Header {
 50009  	if c.header_ == nil {
 50010  		c.header_ = make(http.Header)
 50011  	}
 50012  	return c.header_
 50013  }
 50014  
 50015  func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
 50016  	reqHeaders := make(http.Header)
 50017  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50018  	for k, v := range c.header_ {
 50019  		reqHeaders[k] = v
 50020  	}
 50021  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50022  	var body io.Reader = nil
 50023  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 50024  	if err != nil {
 50025  		return nil, err
 50026  	}
 50027  	reqHeaders.Set("Content-Type", "application/json")
 50028  	c.urlParams_.Set("alt", alt)
 50029  	c.urlParams_.Set("prettyPrint", "false")
 50030  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50031  	urls += "?" + c.urlParams_.Encode()
 50032  	req, err := http.NewRequest("POST", urls, body)
 50033  	if err != nil {
 50034  		return nil, err
 50035  	}
 50036  	req.Header = reqHeaders
 50037  	googleapi.Expand(req.URL, map[string]string{
 50038  		"profileId": strconv.FormatInt(c.profileId, 10),
 50039  	})
 50040  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50041  }
 50042  
 50043  // Do executes the "dfareporting.userRoles.insert" call.
 50044  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50045  // code is an error. Response headers are in either
 50046  // *UserRole.ServerResponse.Header or (if a response was returned at
 50047  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50048  // to check whether the returned error was because
 50049  // http.StatusNotModified was returned.
 50050  func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50051  	gensupport.SetOptions(c.urlParams_, opts...)
 50052  	res, err := c.doRequest("json")
 50053  	if res != nil && res.StatusCode == http.StatusNotModified {
 50054  		if res.Body != nil {
 50055  			res.Body.Close()
 50056  		}
 50057  		return nil, &googleapi.Error{
 50058  			Code:   res.StatusCode,
 50059  			Header: res.Header,
 50060  		}
 50061  	}
 50062  	if err != nil {
 50063  		return nil, err
 50064  	}
 50065  	defer googleapi.CloseBody(res)
 50066  	if err := googleapi.CheckResponse(res); err != nil {
 50067  		return nil, err
 50068  	}
 50069  	ret := &UserRole{
 50070  		ServerResponse: googleapi.ServerResponse{
 50071  			Header:         res.Header,
 50072  			HTTPStatusCode: res.StatusCode,
 50073  		},
 50074  	}
 50075  	target := &ret
 50076  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50077  		return nil, err
 50078  	}
 50079  	return ret, nil
 50080  	// {
 50081  	//   "description": "Inserts a new user role.",
 50082  	//   "httpMethod": "POST",
 50083  	//   "id": "dfareporting.userRoles.insert",
 50084  	//   "parameterOrder": [
 50085  	//     "profileId"
 50086  	//   ],
 50087  	//   "parameters": {
 50088  	//     "profileId": {
 50089  	//       "description": "User profile ID associated with this request.",
 50090  	//       "format": "int64",
 50091  	//       "location": "path",
 50092  	//       "required": true,
 50093  	//       "type": "string"
 50094  	//     }
 50095  	//   },
 50096  	//   "path": "userprofiles/{profileId}/userRoles",
 50097  	//   "request": {
 50098  	//     "$ref": "UserRole"
 50099  	//   },
 50100  	//   "response": {
 50101  	//     "$ref": "UserRole"
 50102  	//   },
 50103  	//   "scopes": [
 50104  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50105  	//   ]
 50106  	// }
 50107  
 50108  }
 50109  
 50110  // method id "dfareporting.userRoles.list":
 50111  
 50112  type UserRolesListCall struct {
 50113  	s            *Service
 50114  	profileId    int64
 50115  	urlParams_   gensupport.URLParams
 50116  	ifNoneMatch_ string
 50117  	ctx_         context.Context
 50118  	header_      http.Header
 50119  }
 50120  
 50121  // List: Retrieves a list of user roles, possibly filtered. This method
 50122  // supports paging.
 50123  func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
 50124  	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50125  	c.profileId = profileId
 50126  	return c
 50127  }
 50128  
 50129  // AccountUserRoleOnly sets the optional parameter
 50130  // "accountUserRoleOnly": Select only account level user roles not
 50131  // associated with any specific subaccount.
 50132  func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
 50133  	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
 50134  	return c
 50135  }
 50136  
 50137  // Ids sets the optional parameter "ids": Select only user roles with
 50138  // the specified IDs.
 50139  func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
 50140  	var ids_ []string
 50141  	for _, v := range ids {
 50142  		ids_ = append(ids_, fmt.Sprint(v))
 50143  	}
 50144  	c.urlParams_.SetMulti("ids", ids_)
 50145  	return c
 50146  }
 50147  
 50148  // MaxResults sets the optional parameter "maxResults": Maximum number
 50149  // of results to return.
 50150  func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
 50151  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 50152  	return c
 50153  }
 50154  
 50155  // PageToken sets the optional parameter "pageToken": Value of the
 50156  // nextPageToken from the previous result page.
 50157  func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
 50158  	c.urlParams_.Set("pageToken", pageToken)
 50159  	return c
 50160  }
 50161  
 50162  // SearchString sets the optional parameter "searchString": Allows
 50163  // searching for objects by name or ID. Wildcards (*) are allowed. For
 50164  // example, "userrole*2015" will return objects with names like
 50165  // "userrole June 2015", "userrole April 2015", or simply "userrole
 50166  // 2015". Most of the searches also add wildcards implicitly at the
 50167  // start and the end of the search string. For example, a search string
 50168  // of "userrole" will match objects with name "my userrole", "userrole
 50169  // 2015", or simply "userrole".
 50170  func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
 50171  	c.urlParams_.Set("searchString", searchString)
 50172  	return c
 50173  }
 50174  
 50175  // SortField sets the optional parameter "sortField": Field by which to
 50176  // sort the list.
 50177  //
 50178  // Possible values:
 50179  //
 50180  //	"ID" (default)
 50181  //	"NAME"
 50182  func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
 50183  	c.urlParams_.Set("sortField", sortField)
 50184  	return c
 50185  }
 50186  
 50187  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 50188  // results.
 50189  //
 50190  // Possible values:
 50191  //
 50192  //	"ASCENDING" (default)
 50193  //	"DESCENDING"
 50194  func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
 50195  	c.urlParams_.Set("sortOrder", sortOrder)
 50196  	return c
 50197  }
 50198  
 50199  // SubaccountId sets the optional parameter "subaccountId": Select only
 50200  // user roles that belong to this subaccount.
 50201  func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
 50202  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 50203  	return c
 50204  }
 50205  
 50206  // Fields allows partial responses to be retrieved. See
 50207  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50208  // for more information.
 50209  func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
 50210  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50211  	return c
 50212  }
 50213  
 50214  // IfNoneMatch sets the optional parameter which makes the operation
 50215  // fail if the object's ETag matches the given value. This is useful for
 50216  // getting updates only after the object has changed since the last
 50217  // request. Use googleapi.IsNotModified to check whether the response
 50218  // error from Do is the result of In-None-Match.
 50219  func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
 50220  	c.ifNoneMatch_ = entityTag
 50221  	return c
 50222  }
 50223  
 50224  // Context sets the context to be used in this call's Do method. Any
 50225  // pending HTTP request will be aborted if the provided context is
 50226  // canceled.
 50227  func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
 50228  	c.ctx_ = ctx
 50229  	return c
 50230  }
 50231  
 50232  // Header returns an http.Header that can be modified by the caller to
 50233  // add HTTP headers to the request.
 50234  func (c *UserRolesListCall) Header() http.Header {
 50235  	if c.header_ == nil {
 50236  		c.header_ = make(http.Header)
 50237  	}
 50238  	return c.header_
 50239  }
 50240  
 50241  func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 50242  	reqHeaders := make(http.Header)
 50243  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50244  	for k, v := range c.header_ {
 50245  		reqHeaders[k] = v
 50246  	}
 50247  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50248  	if c.ifNoneMatch_ != "" {
 50249  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50250  	}
 50251  	var body io.Reader = nil
 50252  	c.urlParams_.Set("alt", alt)
 50253  	c.urlParams_.Set("prettyPrint", "false")
 50254  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50255  	urls += "?" + c.urlParams_.Encode()
 50256  	req, err := http.NewRequest("GET", urls, body)
 50257  	if err != nil {
 50258  		return nil, err
 50259  	}
 50260  	req.Header = reqHeaders
 50261  	googleapi.Expand(req.URL, map[string]string{
 50262  		"profileId": strconv.FormatInt(c.profileId, 10),
 50263  	})
 50264  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50265  }
 50266  
 50267  // Do executes the "dfareporting.userRoles.list" call.
 50268  // Exactly one of *UserRolesListResponse or error will be non-nil. Any
 50269  // non-2xx status code is an error. Response headers are in either
 50270  // *UserRolesListResponse.ServerResponse.Header or (if a response was
 50271  // returned at all) in error.(*googleapi.Error).Header. Use
 50272  // googleapi.IsNotModified to check whether the returned error was
 50273  // because http.StatusNotModified was returned.
 50274  func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
 50275  	gensupport.SetOptions(c.urlParams_, opts...)
 50276  	res, err := c.doRequest("json")
 50277  	if res != nil && res.StatusCode == http.StatusNotModified {
 50278  		if res.Body != nil {
 50279  			res.Body.Close()
 50280  		}
 50281  		return nil, &googleapi.Error{
 50282  			Code:   res.StatusCode,
 50283  			Header: res.Header,
 50284  		}
 50285  	}
 50286  	if err != nil {
 50287  		return nil, err
 50288  	}
 50289  	defer googleapi.CloseBody(res)
 50290  	if err := googleapi.CheckResponse(res); err != nil {
 50291  		return nil, err
 50292  	}
 50293  	ret := &UserRolesListResponse{
 50294  		ServerResponse: googleapi.ServerResponse{
 50295  			Header:         res.Header,
 50296  			HTTPStatusCode: res.StatusCode,
 50297  		},
 50298  	}
 50299  	target := &ret
 50300  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50301  		return nil, err
 50302  	}
 50303  	return ret, nil
 50304  	// {
 50305  	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
 50306  	//   "httpMethod": "GET",
 50307  	//   "id": "dfareporting.userRoles.list",
 50308  	//   "parameterOrder": [
 50309  	//     "profileId"
 50310  	//   ],
 50311  	//   "parameters": {
 50312  	//     "accountUserRoleOnly": {
 50313  	//       "description": "Select only account level user roles not associated with any specific subaccount.",
 50314  	//       "location": "query",
 50315  	//       "type": "boolean"
 50316  	//     },
 50317  	//     "ids": {
 50318  	//       "description": "Select only user roles with the specified IDs.",
 50319  	//       "format": "int64",
 50320  	//       "location": "query",
 50321  	//       "repeated": true,
 50322  	//       "type": "string"
 50323  	//     },
 50324  	//     "maxResults": {
 50325  	//       "default": "1000",
 50326  	//       "description": "Maximum number of results to return.",
 50327  	//       "format": "int32",
 50328  	//       "location": "query",
 50329  	//       "maximum": "1000",
 50330  	//       "minimum": "0",
 50331  	//       "type": "integer"
 50332  	//     },
 50333  	//     "pageToken": {
 50334  	//       "description": "Value of the nextPageToken from the previous result page.",
 50335  	//       "location": "query",
 50336  	//       "type": "string"
 50337  	//     },
 50338  	//     "profileId": {
 50339  	//       "description": "User profile ID associated with this request.",
 50340  	//       "format": "int64",
 50341  	//       "location": "path",
 50342  	//       "required": true,
 50343  	//       "type": "string"
 50344  	//     },
 50345  	//     "searchString": {
 50346  	//       "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\".",
 50347  	//       "location": "query",
 50348  	//       "type": "string"
 50349  	//     },
 50350  	//     "sortField": {
 50351  	//       "default": "ID",
 50352  	//       "description": "Field by which to sort the list.",
 50353  	//       "enum": [
 50354  	//         "ID",
 50355  	//         "NAME"
 50356  	//       ],
 50357  	//       "enumDescriptions": [
 50358  	//         "",
 50359  	//         ""
 50360  	//       ],
 50361  	//       "location": "query",
 50362  	//       "type": "string"
 50363  	//     },
 50364  	//     "sortOrder": {
 50365  	//       "default": "ASCENDING",
 50366  	//       "description": "Order of sorted results.",
 50367  	//       "enum": [
 50368  	//         "ASCENDING",
 50369  	//         "DESCENDING"
 50370  	//       ],
 50371  	//       "enumDescriptions": [
 50372  	//         "",
 50373  	//         ""
 50374  	//       ],
 50375  	//       "location": "query",
 50376  	//       "type": "string"
 50377  	//     },
 50378  	//     "subaccountId": {
 50379  	//       "description": "Select only user roles that belong to this subaccount.",
 50380  	//       "format": "int64",
 50381  	//       "location": "query",
 50382  	//       "type": "string"
 50383  	//     }
 50384  	//   },
 50385  	//   "path": "userprofiles/{profileId}/userRoles",
 50386  	//   "response": {
 50387  	//     "$ref": "UserRolesListResponse"
 50388  	//   },
 50389  	//   "scopes": [
 50390  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50391  	//   ]
 50392  	// }
 50393  
 50394  }
 50395  
 50396  // Pages invokes f for each page of results.
 50397  // A non-nil error returned from f will halt the iteration.
 50398  // The provided context supersedes any context provided to the Context method.
 50399  func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
 50400  	c.ctx_ = ctx
 50401  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 50402  	for {
 50403  		x, err := c.Do()
 50404  		if err != nil {
 50405  			return err
 50406  		}
 50407  		if err := f(x); err != nil {
 50408  			return err
 50409  		}
 50410  		if x.NextPageToken == "" {
 50411  			return nil
 50412  		}
 50413  		c.PageToken(x.NextPageToken)
 50414  	}
 50415  }
 50416  
 50417  // method id "dfareporting.userRoles.patch":
 50418  
 50419  type UserRolesPatchCall struct {
 50420  	s          *Service
 50421  	profileId  int64
 50422  	userrole   *UserRole
 50423  	urlParams_ gensupport.URLParams
 50424  	ctx_       context.Context
 50425  	header_    http.Header
 50426  }
 50427  
 50428  // Patch: Updates an existing user role. This method supports patch
 50429  // semantics.
 50430  func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
 50431  	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50432  	c.profileId = profileId
 50433  	c.urlParams_.Set("id", fmt.Sprint(id))
 50434  	c.userrole = userrole
 50435  	return c
 50436  }
 50437  
 50438  // Fields allows partial responses to be retrieved. See
 50439  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50440  // for more information.
 50441  func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
 50442  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50443  	return c
 50444  }
 50445  
 50446  // Context sets the context to be used in this call's Do method. Any
 50447  // pending HTTP request will be aborted if the provided context is
 50448  // canceled.
 50449  func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
 50450  	c.ctx_ = ctx
 50451  	return c
 50452  }
 50453  
 50454  // Header returns an http.Header that can be modified by the caller to
 50455  // add HTTP headers to the request.
 50456  func (c *UserRolesPatchCall) Header() http.Header {
 50457  	if c.header_ == nil {
 50458  		c.header_ = make(http.Header)
 50459  	}
 50460  	return c.header_
 50461  }
 50462  
 50463  func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
 50464  	reqHeaders := make(http.Header)
 50465  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50466  	for k, v := range c.header_ {
 50467  		reqHeaders[k] = v
 50468  	}
 50469  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50470  	var body io.Reader = nil
 50471  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 50472  	if err != nil {
 50473  		return nil, err
 50474  	}
 50475  	reqHeaders.Set("Content-Type", "application/json")
 50476  	c.urlParams_.Set("alt", alt)
 50477  	c.urlParams_.Set("prettyPrint", "false")
 50478  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50479  	urls += "?" + c.urlParams_.Encode()
 50480  	req, err := http.NewRequest("PATCH", urls, body)
 50481  	if err != nil {
 50482  		return nil, err
 50483  	}
 50484  	req.Header = reqHeaders
 50485  	googleapi.Expand(req.URL, map[string]string{
 50486  		"profileId": strconv.FormatInt(c.profileId, 10),
 50487  	})
 50488  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50489  }
 50490  
 50491  // Do executes the "dfareporting.userRoles.patch" call.
 50492  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50493  // code is an error. Response headers are in either
 50494  // *UserRole.ServerResponse.Header or (if a response was returned at
 50495  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50496  // to check whether the returned error was because
 50497  // http.StatusNotModified was returned.
 50498  func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50499  	gensupport.SetOptions(c.urlParams_, opts...)
 50500  	res, err := c.doRequest("json")
 50501  	if res != nil && res.StatusCode == http.StatusNotModified {
 50502  		if res.Body != nil {
 50503  			res.Body.Close()
 50504  		}
 50505  		return nil, &googleapi.Error{
 50506  			Code:   res.StatusCode,
 50507  			Header: res.Header,
 50508  		}
 50509  	}
 50510  	if err != nil {
 50511  		return nil, err
 50512  	}
 50513  	defer googleapi.CloseBody(res)
 50514  	if err := googleapi.CheckResponse(res); err != nil {
 50515  		return nil, err
 50516  	}
 50517  	ret := &UserRole{
 50518  		ServerResponse: googleapi.ServerResponse{
 50519  			Header:         res.Header,
 50520  			HTTPStatusCode: res.StatusCode,
 50521  		},
 50522  	}
 50523  	target := &ret
 50524  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50525  		return nil, err
 50526  	}
 50527  	return ret, nil
 50528  	// {
 50529  	//   "description": "Updates an existing user role. This method supports patch semantics.",
 50530  	//   "httpMethod": "PATCH",
 50531  	//   "id": "dfareporting.userRoles.patch",
 50532  	//   "parameterOrder": [
 50533  	//     "profileId",
 50534  	//     "id"
 50535  	//   ],
 50536  	//   "parameters": {
 50537  	//     "id": {
 50538  	//       "description": "User role ID.",
 50539  	//       "format": "int64",
 50540  	//       "location": "query",
 50541  	//       "required": true,
 50542  	//       "type": "string"
 50543  	//     },
 50544  	//     "profileId": {
 50545  	//       "description": "User profile ID associated with this request.",
 50546  	//       "format": "int64",
 50547  	//       "location": "path",
 50548  	//       "required": true,
 50549  	//       "type": "string"
 50550  	//     }
 50551  	//   },
 50552  	//   "path": "userprofiles/{profileId}/userRoles",
 50553  	//   "request": {
 50554  	//     "$ref": "UserRole"
 50555  	//   },
 50556  	//   "response": {
 50557  	//     "$ref": "UserRole"
 50558  	//   },
 50559  	//   "scopes": [
 50560  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50561  	//   ]
 50562  	// }
 50563  
 50564  }
 50565  
 50566  // method id "dfareporting.userRoles.update":
 50567  
 50568  type UserRolesUpdateCall struct {
 50569  	s          *Service
 50570  	profileId  int64
 50571  	userrole   *UserRole
 50572  	urlParams_ gensupport.URLParams
 50573  	ctx_       context.Context
 50574  	header_    http.Header
 50575  }
 50576  
 50577  // Update: Updates an existing user role.
 50578  func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
 50579  	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50580  	c.profileId = profileId
 50581  	c.userrole = userrole
 50582  	return c
 50583  }
 50584  
 50585  // Fields allows partial responses to be retrieved. See
 50586  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50587  // for more information.
 50588  func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
 50589  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50590  	return c
 50591  }
 50592  
 50593  // Context sets the context to be used in this call's Do method. Any
 50594  // pending HTTP request will be aborted if the provided context is
 50595  // canceled.
 50596  func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
 50597  	c.ctx_ = ctx
 50598  	return c
 50599  }
 50600  
 50601  // Header returns an http.Header that can be modified by the caller to
 50602  // add HTTP headers to the request.
 50603  func (c *UserRolesUpdateCall) Header() http.Header {
 50604  	if c.header_ == nil {
 50605  		c.header_ = make(http.Header)
 50606  	}
 50607  	return c.header_
 50608  }
 50609  
 50610  func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
 50611  	reqHeaders := make(http.Header)
 50612  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50613  	for k, v := range c.header_ {
 50614  		reqHeaders[k] = v
 50615  	}
 50616  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50617  	var body io.Reader = nil
 50618  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 50619  	if err != nil {
 50620  		return nil, err
 50621  	}
 50622  	reqHeaders.Set("Content-Type", "application/json")
 50623  	c.urlParams_.Set("alt", alt)
 50624  	c.urlParams_.Set("prettyPrint", "false")
 50625  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50626  	urls += "?" + c.urlParams_.Encode()
 50627  	req, err := http.NewRequest("PUT", urls, body)
 50628  	if err != nil {
 50629  		return nil, err
 50630  	}
 50631  	req.Header = reqHeaders
 50632  	googleapi.Expand(req.URL, map[string]string{
 50633  		"profileId": strconv.FormatInt(c.profileId, 10),
 50634  	})
 50635  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50636  }
 50637  
 50638  // Do executes the "dfareporting.userRoles.update" call.
 50639  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50640  // code is an error. Response headers are in either
 50641  // *UserRole.ServerResponse.Header or (if a response was returned at
 50642  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50643  // to check whether the returned error was because
 50644  // http.StatusNotModified was returned.
 50645  func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50646  	gensupport.SetOptions(c.urlParams_, opts...)
 50647  	res, err := c.doRequest("json")
 50648  	if res != nil && res.StatusCode == http.StatusNotModified {
 50649  		if res.Body != nil {
 50650  			res.Body.Close()
 50651  		}
 50652  		return nil, &googleapi.Error{
 50653  			Code:   res.StatusCode,
 50654  			Header: res.Header,
 50655  		}
 50656  	}
 50657  	if err != nil {
 50658  		return nil, err
 50659  	}
 50660  	defer googleapi.CloseBody(res)
 50661  	if err := googleapi.CheckResponse(res); err != nil {
 50662  		return nil, err
 50663  	}
 50664  	ret := &UserRole{
 50665  		ServerResponse: googleapi.ServerResponse{
 50666  			Header:         res.Header,
 50667  			HTTPStatusCode: res.StatusCode,
 50668  		},
 50669  	}
 50670  	target := &ret
 50671  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50672  		return nil, err
 50673  	}
 50674  	return ret, nil
 50675  	// {
 50676  	//   "description": "Updates an existing user role.",
 50677  	//   "httpMethod": "PUT",
 50678  	//   "id": "dfareporting.userRoles.update",
 50679  	//   "parameterOrder": [
 50680  	//     "profileId"
 50681  	//   ],
 50682  	//   "parameters": {
 50683  	//     "profileId": {
 50684  	//       "description": "User profile ID associated with this request.",
 50685  	//       "format": "int64",
 50686  	//       "location": "path",
 50687  	//       "required": true,
 50688  	//       "type": "string"
 50689  	//     }
 50690  	//   },
 50691  	//   "path": "userprofiles/{profileId}/userRoles",
 50692  	//   "request": {
 50693  	//     "$ref": "UserRole"
 50694  	//   },
 50695  	//   "response": {
 50696  	//     "$ref": "UserRole"
 50697  	//   },
 50698  	//   "scopes": [
 50699  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50700  	//   ]
 50701  	// }
 50702  
 50703  }
 50704  
 50705  // method id "dfareporting.videoFormats.get":
 50706  
 50707  type VideoFormatsGetCall struct {
 50708  	s            *Service
 50709  	profileId    int64
 50710  	id           int64
 50711  	urlParams_   gensupport.URLParams
 50712  	ifNoneMatch_ string
 50713  	ctx_         context.Context
 50714  	header_      http.Header
 50715  }
 50716  
 50717  // Get: Gets one video format by ID.
 50718  func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
 50719  	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50720  	c.profileId = profileId
 50721  	c.id = id
 50722  	return c
 50723  }
 50724  
 50725  // Fields allows partial responses to be retrieved. See
 50726  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50727  // for more information.
 50728  func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
 50729  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50730  	return c
 50731  }
 50732  
 50733  // IfNoneMatch sets the optional parameter which makes the operation
 50734  // fail if the object's ETag matches the given value. This is useful for
 50735  // getting updates only after the object has changed since the last
 50736  // request. Use googleapi.IsNotModified to check whether the response
 50737  // error from Do is the result of In-None-Match.
 50738  func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
 50739  	c.ifNoneMatch_ = entityTag
 50740  	return c
 50741  }
 50742  
 50743  // Context sets the context to be used in this call's Do method. Any
 50744  // pending HTTP request will be aborted if the provided context is
 50745  // canceled.
 50746  func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
 50747  	c.ctx_ = ctx
 50748  	return c
 50749  }
 50750  
 50751  // Header returns an http.Header that can be modified by the caller to
 50752  // add HTTP headers to the request.
 50753  func (c *VideoFormatsGetCall) Header() http.Header {
 50754  	if c.header_ == nil {
 50755  		c.header_ = make(http.Header)
 50756  	}
 50757  	return c.header_
 50758  }
 50759  
 50760  func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
 50761  	reqHeaders := make(http.Header)
 50762  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50763  	for k, v := range c.header_ {
 50764  		reqHeaders[k] = v
 50765  	}
 50766  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50767  	if c.ifNoneMatch_ != "" {
 50768  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50769  	}
 50770  	var body io.Reader = nil
 50771  	c.urlParams_.Set("alt", alt)
 50772  	c.urlParams_.Set("prettyPrint", "false")
 50773  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
 50774  	urls += "?" + c.urlParams_.Encode()
 50775  	req, err := http.NewRequest("GET", urls, body)
 50776  	if err != nil {
 50777  		return nil, err
 50778  	}
 50779  	req.Header = reqHeaders
 50780  	googleapi.Expand(req.URL, map[string]string{
 50781  		"profileId": strconv.FormatInt(c.profileId, 10),
 50782  		"id":        strconv.FormatInt(c.id, 10),
 50783  	})
 50784  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50785  }
 50786  
 50787  // Do executes the "dfareporting.videoFormats.get" call.
 50788  // Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
 50789  // status code is an error. Response headers are in either
 50790  // *VideoFormat.ServerResponse.Header or (if a response was returned at
 50791  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50792  // to check whether the returned error was because
 50793  // http.StatusNotModified was returned.
 50794  func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
 50795  	gensupport.SetOptions(c.urlParams_, opts...)
 50796  	res, err := c.doRequest("json")
 50797  	if res != nil && res.StatusCode == http.StatusNotModified {
 50798  		if res.Body != nil {
 50799  			res.Body.Close()
 50800  		}
 50801  		return nil, &googleapi.Error{
 50802  			Code:   res.StatusCode,
 50803  			Header: res.Header,
 50804  		}
 50805  	}
 50806  	if err != nil {
 50807  		return nil, err
 50808  	}
 50809  	defer googleapi.CloseBody(res)
 50810  	if err := googleapi.CheckResponse(res); err != nil {
 50811  		return nil, err
 50812  	}
 50813  	ret := &VideoFormat{
 50814  		ServerResponse: googleapi.ServerResponse{
 50815  			Header:         res.Header,
 50816  			HTTPStatusCode: res.StatusCode,
 50817  		},
 50818  	}
 50819  	target := &ret
 50820  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50821  		return nil, err
 50822  	}
 50823  	return ret, nil
 50824  	// {
 50825  	//   "description": "Gets one video format by ID.",
 50826  	//   "httpMethod": "GET",
 50827  	//   "id": "dfareporting.videoFormats.get",
 50828  	//   "parameterOrder": [
 50829  	//     "profileId",
 50830  	//     "id"
 50831  	//   ],
 50832  	//   "parameters": {
 50833  	//     "id": {
 50834  	//       "description": "Video format ID.",
 50835  	//       "format": "int32",
 50836  	//       "location": "path",
 50837  	//       "required": true,
 50838  	//       "type": "integer"
 50839  	//     },
 50840  	//     "profileId": {
 50841  	//       "description": "User profile ID associated with this request.",
 50842  	//       "format": "int64",
 50843  	//       "location": "path",
 50844  	//       "required": true,
 50845  	//       "type": "string"
 50846  	//     }
 50847  	//   },
 50848  	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
 50849  	//   "response": {
 50850  	//     "$ref": "VideoFormat"
 50851  	//   },
 50852  	//   "scopes": [
 50853  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50854  	//   ]
 50855  	// }
 50856  
 50857  }
 50858  
 50859  // method id "dfareporting.videoFormats.list":
 50860  
 50861  type VideoFormatsListCall struct {
 50862  	s            *Service
 50863  	profileId    int64
 50864  	urlParams_   gensupport.URLParams
 50865  	ifNoneMatch_ string
 50866  	ctx_         context.Context
 50867  	header_      http.Header
 50868  }
 50869  
 50870  // List: Lists available video formats.
 50871  func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
 50872  	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50873  	c.profileId = profileId
 50874  	return c
 50875  }
 50876  
 50877  // Fields allows partial responses to be retrieved. See
 50878  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50879  // for more information.
 50880  func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
 50881  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50882  	return c
 50883  }
 50884  
 50885  // IfNoneMatch sets the optional parameter which makes the operation
 50886  // fail if the object's ETag matches the given value. This is useful for
 50887  // getting updates only after the object has changed since the last
 50888  // request. Use googleapi.IsNotModified to check whether the response
 50889  // error from Do is the result of In-None-Match.
 50890  func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
 50891  	c.ifNoneMatch_ = entityTag
 50892  	return c
 50893  }
 50894  
 50895  // Context sets the context to be used in this call's Do method. Any
 50896  // pending HTTP request will be aborted if the provided context is
 50897  // canceled.
 50898  func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
 50899  	c.ctx_ = ctx
 50900  	return c
 50901  }
 50902  
 50903  // Header returns an http.Header that can be modified by the caller to
 50904  // add HTTP headers to the request.
 50905  func (c *VideoFormatsListCall) Header() http.Header {
 50906  	if c.header_ == nil {
 50907  		c.header_ = make(http.Header)
 50908  	}
 50909  	return c.header_
 50910  }
 50911  
 50912  func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
 50913  	reqHeaders := make(http.Header)
 50914  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50915  	for k, v := range c.header_ {
 50916  		reqHeaders[k] = v
 50917  	}
 50918  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50919  	if c.ifNoneMatch_ != "" {
 50920  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50921  	}
 50922  	var body io.Reader = nil
 50923  	c.urlParams_.Set("alt", alt)
 50924  	c.urlParams_.Set("prettyPrint", "false")
 50925  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
 50926  	urls += "?" + c.urlParams_.Encode()
 50927  	req, err := http.NewRequest("GET", urls, body)
 50928  	if err != nil {
 50929  		return nil, err
 50930  	}
 50931  	req.Header = reqHeaders
 50932  	googleapi.Expand(req.URL, map[string]string{
 50933  		"profileId": strconv.FormatInt(c.profileId, 10),
 50934  	})
 50935  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50936  }
 50937  
 50938  // Do executes the "dfareporting.videoFormats.list" call.
 50939  // Exactly one of *VideoFormatsListResponse or error will be non-nil.
 50940  // Any non-2xx status code is an error. Response headers are in either
 50941  // *VideoFormatsListResponse.ServerResponse.Header or (if a response was
 50942  // returned at all) in error.(*googleapi.Error).Header. Use
 50943  // googleapi.IsNotModified to check whether the returned error was
 50944  // because http.StatusNotModified was returned.
 50945  func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
 50946  	gensupport.SetOptions(c.urlParams_, opts...)
 50947  	res, err := c.doRequest("json")
 50948  	if res != nil && res.StatusCode == http.StatusNotModified {
 50949  		if res.Body != nil {
 50950  			res.Body.Close()
 50951  		}
 50952  		return nil, &googleapi.Error{
 50953  			Code:   res.StatusCode,
 50954  			Header: res.Header,
 50955  		}
 50956  	}
 50957  	if err != nil {
 50958  		return nil, err
 50959  	}
 50960  	defer googleapi.CloseBody(res)
 50961  	if err := googleapi.CheckResponse(res); err != nil {
 50962  		return nil, err
 50963  	}
 50964  	ret := &VideoFormatsListResponse{
 50965  		ServerResponse: googleapi.ServerResponse{
 50966  			Header:         res.Header,
 50967  			HTTPStatusCode: res.StatusCode,
 50968  		},
 50969  	}
 50970  	target := &ret
 50971  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50972  		return nil, err
 50973  	}
 50974  	return ret, nil
 50975  	// {
 50976  	//   "description": "Lists available video formats.",
 50977  	//   "httpMethod": "GET",
 50978  	//   "id": "dfareporting.videoFormats.list",
 50979  	//   "parameterOrder": [
 50980  	//     "profileId"
 50981  	//   ],
 50982  	//   "parameters": {
 50983  	//     "profileId": {
 50984  	//       "description": "User profile ID associated with this request.",
 50985  	//       "format": "int64",
 50986  	//       "location": "path",
 50987  	//       "required": true,
 50988  	//       "type": "string"
 50989  	//     }
 50990  	//   },
 50991  	//   "path": "userprofiles/{profileId}/videoFormats",
 50992  	//   "response": {
 50993  	//     "$ref": "VideoFormatsListResponse"
 50994  	//   },
 50995  	//   "scopes": [
 50996  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50997  	//   ]
 50998  	// }
 50999  
 51000  }
 51001  

View as plain text